From 1520480af852bb448414114a6649eae1583e8f28 Mon Sep 17 00:00:00 2001 From: Jay Date: Wed, 18 Nov 2020 22:27:47 -0500 Subject: [PATCH 001/123] Setting up start command --- packages/cli/bin/scripts.js | 4 + packages/cli/scripts/config/paths.js | 2 +- packages/cli/scripts/start.js | 62 +++++++++++ packages/cli/scripts/wrapper/bootstrap.js | 127 ++++++++++++++++++++++ packages/cli/test/start/lib/index.js | 1 + packages/cli/test/start/package.json | 13 +++ packages/cli/test/start/src/hello.js | 10 ++ packages/cli/test/start/sst.json | 6 + packages/cli/test/start/yarn.lock | 4 + 9 files changed, 228 insertions(+), 1 deletion(-) create mode 100644 packages/cli/scripts/start.js create mode 100644 packages/cli/scripts/wrapper/bootstrap.js create mode 100644 packages/cli/test/start/lib/index.js create mode 100644 packages/cli/test/start/package.json create mode 100644 packages/cli/test/start/src/hello.js create mode 100644 packages/cli/test/start/sst.json create mode 100644 packages/cli/test/start/yarn.lock diff --git a/packages/cli/bin/scripts.js b/packages/cli/bin/scripts.js index 93743a73f2..3a9f24dece 100755 --- a/packages/cli/bin/scripts.js +++ b/packages/cli/bin/scripts.js @@ -37,6 +37,7 @@ const cmd = { s: "sst", cdk: "cdk", test: "test", + start: "start", build: "build", deploy: "deploy", remove: "remove", @@ -44,6 +45,7 @@ const cmd = { }; const internals = { + [cmd.start]: require("../scripts/start"), [cmd.build]: require("../scripts/build"), [cmd.deploy]: require("../scripts/deploy"), [cmd.remove]: require("../scripts/remove"), @@ -136,6 +138,7 @@ const argv = yargs .command(cmd.test, "Run your tests") .command(cmd.cdk, "Access the forked AWS CDK CLI") + .command(cmd.start, "Work on your SST app locally") .example([ [`$0 ${cmd.build}`, "Build using defaults"], @@ -189,6 +192,7 @@ switch (script) { Promise.resolve(internals[script](argv, config, cliInfo)); break; } + case cmd.start: case cmd.addCdk: { const cliInfo = getCliInfo(); diff --git a/packages/cli/scripts/config/paths.js b/packages/cli/scripts/config/paths.js index b0835374db..4a7a591a56 100644 --- a/packages/cli/scripts/config/paths.js +++ b/packages/cli/scripts/config/paths.js @@ -3,8 +3,8 @@ */ "use strict"; -const path = require("path"); const fs = require("fs"); +const path = require("path"); // Make sure any symlinks in the project folder are resolved: // https://github.com/facebook/create-react-app/issues/637 diff --git a/packages/cli/scripts/start.js b/packages/cli/scripts/start.js new file mode 100644 index 0000000000..8a1a6dc7d1 --- /dev/null +++ b/packages/cli/scripts/start.js @@ -0,0 +1,62 @@ +"use strict"; + +const spawn = require("cross-spawn"); + +const paths = require("./config/paths"); + +const handler = "hello.handler"; + +const context = { + awsRequestId: "123", + invokedFunctionArn: "123", + logGroupName: "123", + logStreamName: "123", + functionName: "123", + functionVersion: "123", + memoryLimitInMB: 1024, + // Get calculated timeout + timeoutMs: 3000, + //getRemainingTimeInMillis: () => deadlineMs - Date.now(), + callbackWaitsForEmptyEventLoop: true, + clientContext: {}, + identity: {}, +}; + +const event = { + body: "Hello World", +}; + +// From Lambda /var/runtime/bootstrap +// https://link.medium.com/7ir11kKjwbb +const newSpace = Math.floor(context.memoryLimitInMB / 10); +const semiSpace = Math.floor(newSpace / 2); +const oldSpace = context.memoryLimitInMB - newSpace; + +module.exports = async function () { + const lambda = spawn( + "node", + [ + `--max-old-space-size=${oldSpace}`, + `--max-semi-space-size=${semiSpace}`, + "--max-http-header-size=81920", // HTTP header limit of 8KB + require.resolve("../scripts/wrapper/bootstrap.js"), + JSON.stringify(event), + JSON.stringify(context), + "./src", // Local path to the Lambda functions + handler, + ], + { stdio: ["inherit", "inherit", "inherit", "ipc"], cwd: paths.appPath } + ); + + lambda.on("message", function (response) { + switch (response.type) { + case "success": + console.log(response.data); + break; + case "failure": + console.error(response.data); + break; + default: + } + }); +}; diff --git a/packages/cli/scripts/wrapper/bootstrap.js b/packages/cli/scripts/wrapper/bootstrap.js new file mode 100644 index 0000000000..99a2848386 --- /dev/null +++ b/packages/cli/scripts/wrapper/bootstrap.js @@ -0,0 +1,127 @@ +/** + * Based on https://github.com/lambci/node-custom-lambda/blob/0e3f2133bb2b667fa29aa4adfc30fab22166f6e4/v10.x/bootstrap.js + */ +"use strict"; + +process.on("unhandledRejection", (err) => { + throw err; +}); + +const path = require("path"); + +const CALLBACK_USED = Symbol("CALLBACK_USED"); + +const argv = process.argv.slice(2); + +const EVENT = JSON.parse(argv[0]); +const CONTEXT = JSON.parse(argv[1]); +const TASK_ROOT = argv[2]; +const HANDLER = argv[3]; + +start(); + +async function start() { + let handler; + + try { + handler = getHandler(); + } catch (e) { + invokeError(e); + return process.exit(1); + } + + tryProcessEvents(handler); +} + +async function tryProcessEvents(handler) { + try { + await processEvents(handler); + } catch (e) { + invokeError(e); + return process.exit(1); + } +} + +async function processEvents(handler) { + const timer = getTimer(); + + let result; + + try { + result = await handler(EVENT, CONTEXT); + invokeResponse(result); + } catch (e) { + invokeError(e); + } + + clearTimeout(timer); +} + +function getHandler() { + const appParts = HANDLER.split("."); + + if (appParts.length !== 2) { + throw new Error(`Bad handler ${HANDLER}`); + } + + const [modulePath, handlerName] = appParts; + + const app = require(path.resolve(TASK_ROOT, modulePath)); + + const userHandler = app[handlerName]; + + if (userHandler == null) { + throw new Error( + `Handler '${handlerName}' missing on module '${modulePath}'` + ); + } else if (typeof userHandler !== "function") { + throw new Error( + `Handler '${handlerName}' from '${modulePath}' is not a function` + ); + } + + return (event, context) => + new Promise((resolve, reject) => { + context.succeed = resolve; + context.fail = reject; + context.done = (err, data) => (err ? reject(err) : resolve(data)); + + const callback = (err, data) => { + context[CALLBACK_USED] = true; + context.done(err, data); + }; + + let result; + try { + result = userHandler(event, context, callback); + } catch (e) { + return reject(e); + } + if (result != null && typeof result.then === "function") { + result.then(resolve, reject); + } + }); +} + +function getTimer() { + return setTimeout(function () { + invokeError({ name: "timeout", message: "Lambda timed out", stack: null }); + process.exit(1); + }, CONTEXT.timeoutMs); +} + +function invokeResponse(result) { + process.send({ type: "success", data: result === undefined ? null : result }); +} + +function invokeError(err) { + const { name, message, stack } = err; + process.send({ + type: "failure", + data: { + errorType: name || typeof err, + errorMessage: message || "" + err, + stackTrace: (stack || "").split("\n").slice(1), + }, + }); +} diff --git a/packages/cli/test/start/lib/index.js b/packages/cli/test/start/lib/index.js new file mode 100644 index 0000000000..c857a02040 --- /dev/null +++ b/packages/cli/test/start/lib/index.js @@ -0,0 +1 @@ +export default function main() {} diff --git a/packages/cli/test/start/package.json b/packages/cli/test/start/package.json new file mode 100644 index 0000000000..5fa7326891 --- /dev/null +++ b/packages/cli/test/start/package.json @@ -0,0 +1,13 @@ +{ + "name": "start", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "start": "../../bin/scripts.js start" + }, + "keywords": [], + "author": "", + "dependencies": {}, + "license": "ISC" +} diff --git a/packages/cli/test/start/src/hello.js b/packages/cli/test/start/src/hello.js new file mode 100644 index 0000000000..24436e6bca --- /dev/null +++ b/packages/cli/test/start/src/hello.js @@ -0,0 +1,10 @@ +exports.handler = function (event, context, callback) { + console.log("Calling from inside the function"); + setTimeout(() => { + callback(null, { + statusCode: 200, + headers: { "Content-Type": "text/plain" }, + body: "Hello World with event: " + JSON.stringify(event), + }); + }, 2000); +}; diff --git a/packages/cli/test/start/sst.json b/packages/cli/test/start/sst.json new file mode 100644 index 0000000000..550b59d5db --- /dev/null +++ b/packages/cli/test/start/sst.json @@ -0,0 +1,6 @@ +{ + "type": "@serverless-stack/resources", + "name": "cdknotes", + "stage": "prod", + "region": "us-east-1" +} diff --git a/packages/cli/test/start/yarn.lock b/packages/cli/test/start/yarn.lock new file mode 100644 index 0000000000..fb57ccd13a --- /dev/null +++ b/packages/cli/test/start/yarn.lock @@ -0,0 +1,4 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + From 6ac7709a8a43e4b09adc75f5eb74b38ef2409e0e Mon Sep 17 00:00:00 2001 From: Jay Date: Fri, 20 Nov 2020 20:17:39 -0500 Subject: [PATCH 002/123] Handling wait for event loop and timeouts --- packages/cli/scripts/start.js | 40 ++++++++++++++++++++--- packages/cli/scripts/wrapper/bootstrap.js | 29 ++++------------ packages/cli/test/start/src/hello.js | 3 ++ 3 files changed, 45 insertions(+), 27 deletions(-) diff --git a/packages/cli/scripts/start.js b/packages/cli/scripts/start.js index 8a1a6dc7d1..b72f1154f5 100644 --- a/packages/cli/scripts/start.js +++ b/packages/cli/scripts/start.js @@ -15,7 +15,7 @@ const context = { functionVersion: "123", memoryLimitInMB: 1024, // Get calculated timeout - timeoutMs: 3000, + timeoutInMs: 4000, //getRemainingTimeInMillis: () => deadlineMs - Date.now(), callbackWaitsForEmptyEventLoop: true, clientContext: {}, @@ -32,7 +32,28 @@ const newSpace = Math.floor(context.memoryLimitInMB / 10); const semiSpace = Math.floor(newSpace / 2); const oldSpace = context.memoryLimitInMB - newSpace; +function setTimer(lambda, handleResponse) { + return setTimeout(function () { + handleResponse({ + type: "failure", + data: { + stack: null, + errorType: "timeout", + errorMessage: "Lambda timed out", + }, + }); + + try { + process.kill(lambda.pid, "SIGKILL"); + } catch (e) { + console.log(e); + console.log("Cannot kill timed out Lambda"); + } + }, context.timeoutInMs); +} + module.exports = async function () { + let lambdaResponse; const lambda = spawn( "node", [ @@ -47,16 +68,25 @@ module.exports = async function () { ], { stdio: ["inherit", "inherit", "inherit", "ipc"], cwd: paths.appPath } ); + const timer = setTimer(lambda, handleResponse); - lambda.on("message", function (response) { + function handleResponse(response) { switch (response.type) { case "success": - console.log(response.data); - break; case "failure": - console.error(response.data); + lambdaResponse = response; break; default: } + } + + function returnLambdaResponse() { + console.log("Done", lambdaResponse); + } + + lambda.on("message", handleResponse); + lambda.on("exit", function () { + returnLambdaResponse(); + clearTimeout(timer); }); }; diff --git a/packages/cli/scripts/wrapper/bootstrap.js b/packages/cli/scripts/wrapper/bootstrap.js index 99a2848386..2476da8d4c 100644 --- a/packages/cli/scripts/wrapper/bootstrap.js +++ b/packages/cli/scripts/wrapper/bootstrap.js @@ -30,31 +30,23 @@ async function start() { return process.exit(1); } - tryProcessEvents(handler); + processEvents(handler); } -async function tryProcessEvents(handler) { +async function processEvents(handler) { try { - await processEvents(handler); + const result = await handler(EVENT, CONTEXT); + invokeResponse(result); } catch (e) { invokeError(e); return process.exit(1); } -} -async function processEvents(handler) { - const timer = getTimer(); - - let result; + const callbackUsed = CONTEXT[CALLBACK_USED]; - try { - result = await handler(EVENT, CONTEXT); - invokeResponse(result); - } catch (e) { - invokeError(e); + if (callbackUsed && CONTEXT.callbackWaitsForEmptyEventLoop === false) { + process.exit(0); } - - clearTimeout(timer); } function getHandler() { @@ -103,13 +95,6 @@ function getHandler() { }); } -function getTimer() { - return setTimeout(function () { - invokeError({ name: "timeout", message: "Lambda timed out", stack: null }); - process.exit(1); - }, CONTEXT.timeoutMs); -} - function invokeResponse(result) { process.send({ type: "success", data: result === undefined ? null : result }); } diff --git a/packages/cli/test/start/src/hello.js b/packages/cli/test/start/src/hello.js index 24436e6bca..ed8c2e23f2 100644 --- a/packages/cli/test/start/src/hello.js +++ b/packages/cli/test/start/src/hello.js @@ -1,4 +1,7 @@ +setTimeout(() => console.log("still here"), 3000); + exports.handler = function (event, context, callback) { + context.callbackWaitsForEmptyEventLoop = true; console.log("Calling from inside the function"); setTimeout(() => { callback(null, { From 8f62e97582a8198225c77c9fb0465baa4bb29437 Mon Sep 17 00:00:00 2001 From: Frank Date: Mon, 23 Nov 2020 03:48:00 -0500 Subject: [PATCH 003/123] Implement `sst start` --- .gitignore | 3 + packages/cli/bin/scripts.js | 2 +- packages/cli/package-lock.json | 10843 ++++++++++++++++ packages/cli/package.json | 6 + packages/cli/scripts/debug/bin/index.js | 9 + packages/cli/scripts/debug/cdk.json | 7 + .../cli/scripts/debug/lambda/wsConnect.js | 3 + .../cli/scripts/debug/lambda/wsDefault.js | 77 + .../cli/scripts/debug/lambda/wsDisconnect.js | 3 + packages/cli/scripts/debug/lib/debug-stack.js | 107 + packages/cli/scripts/start.js | 196 +- packages/cli/test/start/lib/index.js | 40 +- packages/cli/test/start/package.json | 12 +- packages/cli/test/start/yarn.lock | 608 + packages/resources/lambda/lambdaStub.js | 86 + packages/resources/lambda/package-lock.json | 13 + packages/resources/lambda/package.json | 15 + packages/resources/package.json | 4 +- packages/resources/src/Function.ts | 49 + packages/resources/src/NodejsFunction.ts | 41 + packages/resources/src/index.ts | 2 + 21 files changed, 12058 insertions(+), 68 deletions(-) create mode 100644 packages/cli/package-lock.json create mode 100644 packages/cli/scripts/debug/bin/index.js create mode 100644 packages/cli/scripts/debug/cdk.json create mode 100644 packages/cli/scripts/debug/lambda/wsConnect.js create mode 100644 packages/cli/scripts/debug/lambda/wsDefault.js create mode 100644 packages/cli/scripts/debug/lambda/wsDisconnect.js create mode 100644 packages/cli/scripts/debug/lib/debug-stack.js create mode 100644 packages/resources/lambda/lambdaStub.js create mode 100644 packages/resources/lambda/package-lock.json create mode 100644 packages/resources/lambda/package.json create mode 100644 packages/resources/src/Function.ts create mode 100644 packages/resources/src/NodejsFunction.ts diff --git a/.gitignore b/.gitignore index ceef839c7f..a635185461 100644 --- a/.gitignore +++ b/.gitignore @@ -103,5 +103,8 @@ dist # TernJS port file .tern-port +# CDK +cdk.out + # Vim .*.sw* diff --git a/packages/cli/bin/scripts.js b/packages/cli/bin/scripts.js index 3a9f24dece..ec9860efb9 100755 --- a/packages/cli/bin/scripts.js +++ b/packages/cli/bin/scripts.js @@ -181,6 +181,7 @@ if (argv.verbose) { } switch (script) { + case cmd.start: case cmd.build: case cmd.deploy: case cmd.remove: { @@ -192,7 +193,6 @@ switch (script) { Promise.resolve(internals[script](argv, config, cliInfo)); break; } - case cmd.start: case cmd.addCdk: { const cliInfo = getCliInfo(); diff --git a/packages/cli/package-lock.json b/packages/cli/package-lock.json new file mode 100644 index 0000000000..732d14bb42 --- /dev/null +++ b/packages/cli/package-lock.json @@ -0,0 +1,10843 @@ +{ + "name": "@serverless-stack/cli", + "version": "0.4.3", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@aws-cdk/assets": { + "version": "1.61.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/assets/-/assets-1.61.0.tgz", + "integrity": "sha512-VJfH8oVAsIa5lo+SmDF5d6r1J9Fb9TrnQINrzr68shhdY/RAkys5cr9SXO4lcpWmGsNXB9z+tEtEz9IT79e2QA==", + "requires": { + "@aws-cdk/core": "1.61.0", + "@aws-cdk/cx-api": "1.61.0", + "constructs": "^3.0.4" + } + }, + "@aws-cdk/aws-apigatewayv2": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-apigatewayv2/-/aws-apigatewayv2-1.73.0.tgz", + "integrity": "sha512-+++K1KADMSFGgvOaj3OwiVcNEYWUR878rqH50EDEf/UxaYky3eD0Sg255sGQWrjbi3bb60lYdzVFDjADHHnEtw==", + "requires": { + "@aws-cdk/aws-certificatemanager": "1.73.0", + "@aws-cdk/aws-cloudwatch": "1.73.0", + "@aws-cdk/aws-ec2": "1.73.0", + "@aws-cdk/aws-iam": "1.73.0", + "@aws-cdk/core": "1.73.0", + "constructs": "^3.2.0" + }, + "dependencies": { + "@aws-cdk/assets": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/assets/-/assets-1.73.0.tgz", + "integrity": "sha512-fAdRAWn/IWbalMZva86Q4BimYrwipSoqPzyC5d6fwxNmJU/QiFLMpILanS1T9a0a+yjqAqk+8pAXn44lZIOlPQ==", + "requires": { + "@aws-cdk/core": "1.73.0", + "@aws-cdk/cx-api": "1.73.0", + "constructs": "^3.2.0" + } + }, + "@aws-cdk/aws-cloudwatch": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.73.0.tgz", + "integrity": "sha512-H6MQVtJfKAJyE6DRHe71ivFu9OjhH32VtsJUZ1xuQ/pyeoQlOQ6fj0FIjz4ObG3qDBq72SBfrbPAQ3q+2g3HfA==", + "requires": { + "@aws-cdk/aws-iam": "1.73.0", + "@aws-cdk/core": "1.73.0", + "constructs": "^3.2.0" + } + }, + "@aws-cdk/aws-ec2": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-ec2/-/aws-ec2-1.73.0.tgz", + "integrity": "sha512-XjGcHaVlaJNorXv8qrRt7k8rPLE8yV1SAJWHY/SIf7NzIg9Y6lFV0eVkBU5RINfuD9GIW8YbgtLGE5ZpfZ5YkA==", + "requires": { + "@aws-cdk/aws-cloudwatch": "1.73.0", + "@aws-cdk/aws-iam": "1.73.0", + "@aws-cdk/aws-kms": "1.73.0", + "@aws-cdk/aws-logs": "1.73.0", + "@aws-cdk/aws-s3": "1.73.0", + "@aws-cdk/aws-s3-assets": "1.73.0", + "@aws-cdk/aws-ssm": "1.73.0", + "@aws-cdk/cloud-assembly-schema": "1.73.0", + "@aws-cdk/core": "1.73.0", + "@aws-cdk/cx-api": "1.73.0", + "@aws-cdk/region-info": "1.73.0", + "constructs": "^3.2.0" + } + }, + "@aws-cdk/aws-events": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-events/-/aws-events-1.73.0.tgz", + "integrity": "sha512-CvOAIAt00xCWKC2U96NAgA8xIkzrNkwalCXk3RIRjz9xEVge5w3lQ7Hy6lSSbhyTfxQV01bppZO2ExaeAKOjOg==", + "requires": { + "@aws-cdk/aws-iam": "1.73.0", + "@aws-cdk/core": "1.73.0", + "constructs": "^3.2.0" + } + }, + "@aws-cdk/aws-iam": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-iam/-/aws-iam-1.73.0.tgz", + "integrity": "sha512-o2pdkEEdwluZegLqlbhfK0zgIbezvKDf5UfwBKloeFSDcGOZAaqF25OPfrTowXkIakHbw2wMswbUlmUgYdmNFg==", + "requires": { + "@aws-cdk/core": "1.73.0", + "@aws-cdk/region-info": "1.73.0", + "constructs": "^3.2.0" + } + }, + "@aws-cdk/aws-kms": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-kms/-/aws-kms-1.73.0.tgz", + "integrity": "sha512-4aQRGBktM1IYqM0Qa/yio1/sjNuokMdLQNrjTVxyX+AZE2/zPqARe+Gm6sFpPJ9Is8oy0YzecP80QZSCnWpCnQ==", + "requires": { + "@aws-cdk/aws-iam": "1.73.0", + "@aws-cdk/core": "1.73.0", + "constructs": "^3.2.0" + } + }, + "@aws-cdk/aws-logs": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-logs/-/aws-logs-1.73.0.tgz", + "integrity": "sha512-pn/JUpz49nmP81rOW66S36HbBF+RCKDWyN+rQ671zr62T9EPJuRLWxbdahcnAN1eqyCsZEs9PpCvTnacj9ue7w==", + "requires": { + "@aws-cdk/aws-cloudwatch": "1.73.0", + "@aws-cdk/aws-iam": "1.73.0", + "@aws-cdk/aws-s3-assets": "1.73.0", + "@aws-cdk/core": "1.73.0", + "constructs": "^3.2.0" + } + }, + "@aws-cdk/aws-s3": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-s3/-/aws-s3-1.73.0.tgz", + "integrity": "sha512-n0PuTBhqFxRfvGHhWk54R2hfS24b5DFkqP2PvTIwRFCBqmSUnRLF8I+GZ4c6RNxfVfDSzQBcGvfuCuNTL1KZLQ==", + "requires": { + "@aws-cdk/aws-events": "1.73.0", + "@aws-cdk/aws-iam": "1.73.0", + "@aws-cdk/aws-kms": "1.73.0", + "@aws-cdk/core": "1.73.0", + "constructs": "^3.2.0" + } + }, + "@aws-cdk/aws-s3-assets": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.73.0.tgz", + "integrity": "sha512-CvxEIBOOj7tYMrMimPSsbtQ4OOurhUIiNIhM38gisTXYgSchKTeDzKJAbalfYOZSNJNEx1wMNL/+oKV/gDtrHQ==", + "requires": { + "@aws-cdk/assets": "1.73.0", + "@aws-cdk/aws-iam": "1.73.0", + "@aws-cdk/aws-kms": "1.73.0", + "@aws-cdk/aws-s3": "1.73.0", + "@aws-cdk/core": "1.73.0", + "@aws-cdk/cx-api": "1.73.0", + "constructs": "^3.2.0" + } + }, + "@aws-cdk/aws-ssm": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-ssm/-/aws-ssm-1.73.0.tgz", + "integrity": "sha512-6fobpaL7hh0My/aypd7DHQ+sLuPcb7Taj8ngjmoh8H0muiAkfj4O0CjN3cd+kCYRr8T4zRh546ypvFfsc9WEHQ==", + "requires": { + "@aws-cdk/aws-iam": "1.73.0", + "@aws-cdk/aws-kms": "1.73.0", + "@aws-cdk/cloud-assembly-schema": "1.73.0", + "@aws-cdk/core": "1.73.0", + "constructs": "^3.2.0" + } + }, + "@aws-cdk/cloud-assembly-schema": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.73.0.tgz", + "integrity": "sha512-3m5nJDLSApAuUMra2WrQF7GHt6xgxqFET91WShtKtj48brZk4MBJ3dLre2LjDVsmMMOVdd6FpjY7tE5C1v9Hyw==", + "requires": { + "jsonschema": "^1.4.0", + "semver": "^7.3.2" + }, + "dependencies": { + "jsonschema": { + "version": "1.4.0", + "bundled": true + }, + "semver": { + "version": "7.3.2", + "bundled": true + } + } + }, + "@aws-cdk/core": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/core/-/core-1.73.0.tgz", + "integrity": "sha512-CTmUXo0hAH78/uvzfmgW4gQKLnusMxULIEUjd0wnfs/6/zoB6n2DP+lmkr/7Vp4aIG9nNNirThdHesidlx79eA==", + "requires": { + "@aws-cdk/cloud-assembly-schema": "1.73.0", + "@aws-cdk/cx-api": "1.73.0", + "@aws-cdk/region-info": "1.73.0", + "@balena/dockerignore": "^1.0.2", + "constructs": "^3.2.0", + "fs-extra": "^9.0.1", + "ignore": "^5.1.8", + "minimatch": "^3.0.4" + }, + "dependencies": { + "@balena/dockerignore": { + "version": "1.0.2", + "bundled": true + }, + "at-least-node": { + "version": "1.0.0", + "bundled": true + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "concat-map": { + "version": "0.0.1", + "bundled": true + }, + "fs-extra": { + "version": "9.0.1", + "bundled": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" + } + }, + "graceful-fs": { + "version": "4.2.4", + "bundled": true + }, + "ignore": { + "version": "5.1.8", + "bundled": true + }, + "jsonfile": { + "version": "6.0.1", + "bundled": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^1.0.0" + } + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "universalify": { + "version": "1.0.0", + "bundled": true + } + } + }, + "@aws-cdk/cx-api": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/cx-api/-/cx-api-1.73.0.tgz", + "integrity": "sha512-HlBpbIGu71xXdfJ1De1/HOMK5LWzKK9J7REho0oncpAO9KDxAbk+1aOFUZJVEgTsJSUUzLMSIUtDIo+ev70HGA==", + "requires": { + "@aws-cdk/cloud-assembly-schema": "1.73.0", + "semver": "^7.3.2" + }, + "dependencies": { + "semver": { + "version": "7.3.2", + "bundled": true + } + } + }, + "@aws-cdk/region-info": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/region-info/-/region-info-1.73.0.tgz", + "integrity": "sha512-jWfx5mY3BaCVeFnbdUxrDTczVTuwShdtu3WkV2vL+W3VnUMzLPKbCPiGY8GutSBlWvoFpubsbVqx8Kw61pRgdQ==" + } + } + }, + "@aws-cdk/aws-applicationautoscaling": { + "version": "1.61.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-applicationautoscaling/-/aws-applicationautoscaling-1.61.0.tgz", + "integrity": "sha512-KP2zJ2hJYZgrl2glfCFpK0l9PJderMNS2MAH7xr0JuiFwAPuJgNEmOkrtVAgrsTGFDBisvXQpqr6L84EQxBfyw==", + "requires": { + "@aws-cdk/aws-autoscaling-common": "1.61.0", + "@aws-cdk/aws-cloudwatch": "1.61.0", + "@aws-cdk/aws-iam": "1.61.0", + "@aws-cdk/core": "1.61.0", + "constructs": "^3.0.4" + } + }, + "@aws-cdk/aws-autoscaling-common": { + "version": "1.61.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-autoscaling-common/-/aws-autoscaling-common-1.61.0.tgz", + "integrity": "sha512-Mc02ZTp6gGGOycYHygyTWfXMajOi5bEAq6d6nJOQdzZSj2oiRmtQeF/Fd4earXFcl+lhSFMyUPEQPvZyvngQWQ==", + "requires": { + "@aws-cdk/aws-iam": "1.61.0", + "@aws-cdk/core": "1.61.0", + "constructs": "^3.0.4" + } + }, + "@aws-cdk/aws-certificatemanager": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-certificatemanager/-/aws-certificatemanager-1.73.0.tgz", + "integrity": "sha512-r5talegg1Z79Fo289JRgm1u6SV16I7nO4AZEmmbceDByDnXiRcnroi0o9fZTVWNUYuIwrpY4ZWR2UTKY71xYTg==", + "requires": { + "@aws-cdk/aws-iam": "1.73.0", + "@aws-cdk/aws-lambda": "1.73.0", + "@aws-cdk/aws-route53": "1.73.0", + "@aws-cdk/core": "1.73.0", + "constructs": "^3.2.0" + }, + "dependencies": { + "@aws-cdk/assets": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/assets/-/assets-1.73.0.tgz", + "integrity": "sha512-fAdRAWn/IWbalMZva86Q4BimYrwipSoqPzyC5d6fwxNmJU/QiFLMpILanS1T9a0a+yjqAqk+8pAXn44lZIOlPQ==", + "requires": { + "@aws-cdk/core": "1.73.0", + "@aws-cdk/cx-api": "1.73.0", + "constructs": "^3.2.0" + } + }, + "@aws-cdk/aws-applicationautoscaling": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-applicationautoscaling/-/aws-applicationautoscaling-1.73.0.tgz", + "integrity": "sha512-ROJPuj+PyrYa7/P6JoTrsFs8WMxKra1yuXZJ3r0iTrnAgCDAVCVpzmiF3Uwqw6rip1o63ZLT3fxxMeJBb2wL7Q==", + "requires": { + "@aws-cdk/aws-autoscaling-common": "1.73.0", + "@aws-cdk/aws-cloudwatch": "1.73.0", + "@aws-cdk/aws-iam": "1.73.0", + "@aws-cdk/core": "1.73.0", + "constructs": "^3.2.0" + } + }, + "@aws-cdk/aws-autoscaling-common": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-autoscaling-common/-/aws-autoscaling-common-1.73.0.tgz", + "integrity": "sha512-AJf9F9X/ktSMLj/NaX0ccPXr7VlDR6CTycpEgJZU4qbXqIW/LhIDkAhH15CNV38WYQnVDkVSQgDNfCtGaeHTqA==", + "requires": { + "@aws-cdk/aws-iam": "1.73.0", + "@aws-cdk/core": "1.73.0", + "constructs": "^3.2.0" + } + }, + "@aws-cdk/aws-cloudwatch": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.73.0.tgz", + "integrity": "sha512-H6MQVtJfKAJyE6DRHe71ivFu9OjhH32VtsJUZ1xuQ/pyeoQlOQ6fj0FIjz4ObG3qDBq72SBfrbPAQ3q+2g3HfA==", + "requires": { + "@aws-cdk/aws-iam": "1.73.0", + "@aws-cdk/core": "1.73.0", + "constructs": "^3.2.0" + } + }, + "@aws-cdk/aws-codeguruprofiler": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-codeguruprofiler/-/aws-codeguruprofiler-1.73.0.tgz", + "integrity": "sha512-WcJjCT+4zd3v4E1nWUagpHKWVIafM4vMe+4DAcBXZbhqXww1yyXUxf1A08uc7zQGko3hvIoHp41maAiT5G6/nw==", + "requires": { + "@aws-cdk/aws-iam": "1.73.0", + "@aws-cdk/core": "1.73.0", + "constructs": "^3.2.0" + } + }, + "@aws-cdk/aws-ec2": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-ec2/-/aws-ec2-1.73.0.tgz", + "integrity": "sha512-XjGcHaVlaJNorXv8qrRt7k8rPLE8yV1SAJWHY/SIf7NzIg9Y6lFV0eVkBU5RINfuD9GIW8YbgtLGE5ZpfZ5YkA==", + "requires": { + "@aws-cdk/aws-cloudwatch": "1.73.0", + "@aws-cdk/aws-iam": "1.73.0", + "@aws-cdk/aws-kms": "1.73.0", + "@aws-cdk/aws-logs": "1.73.0", + "@aws-cdk/aws-s3": "1.73.0", + "@aws-cdk/aws-s3-assets": "1.73.0", + "@aws-cdk/aws-ssm": "1.73.0", + "@aws-cdk/cloud-assembly-schema": "1.73.0", + "@aws-cdk/core": "1.73.0", + "@aws-cdk/cx-api": "1.73.0", + "@aws-cdk/region-info": "1.73.0", + "constructs": "^3.2.0" + } + }, + "@aws-cdk/aws-efs": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-efs/-/aws-efs-1.73.0.tgz", + "integrity": "sha512-sWUU+nhJ78T5tElLy7BqUrlXj4kGv43nrkWE5+jbTaLRFEpJPM6fMuWfzcJGfkqpbppjc/aySyCPbvEcWb7bDQ==", + "requires": { + "@aws-cdk/aws-ec2": "1.73.0", + "@aws-cdk/aws-kms": "1.73.0", + "@aws-cdk/cloud-assembly-schema": "1.73.0", + "@aws-cdk/core": "1.73.0", + "@aws-cdk/cx-api": "1.73.0", + "constructs": "^3.2.0" + } + }, + "@aws-cdk/aws-events": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-events/-/aws-events-1.73.0.tgz", + "integrity": "sha512-CvOAIAt00xCWKC2U96NAgA8xIkzrNkwalCXk3RIRjz9xEVge5w3lQ7Hy6lSSbhyTfxQV01bppZO2ExaeAKOjOg==", + "requires": { + "@aws-cdk/aws-iam": "1.73.0", + "@aws-cdk/core": "1.73.0", + "constructs": "^3.2.0" + } + }, + "@aws-cdk/aws-iam": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-iam/-/aws-iam-1.73.0.tgz", + "integrity": "sha512-o2pdkEEdwluZegLqlbhfK0zgIbezvKDf5UfwBKloeFSDcGOZAaqF25OPfrTowXkIakHbw2wMswbUlmUgYdmNFg==", + "requires": { + "@aws-cdk/core": "1.73.0", + "@aws-cdk/region-info": "1.73.0", + "constructs": "^3.2.0" + } + }, + "@aws-cdk/aws-kms": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-kms/-/aws-kms-1.73.0.tgz", + "integrity": "sha512-4aQRGBktM1IYqM0Qa/yio1/sjNuokMdLQNrjTVxyX+AZE2/zPqARe+Gm6sFpPJ9Is8oy0YzecP80QZSCnWpCnQ==", + "requires": { + "@aws-cdk/aws-iam": "1.73.0", + "@aws-cdk/core": "1.73.0", + "constructs": "^3.2.0" + } + }, + "@aws-cdk/aws-lambda": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-lambda/-/aws-lambda-1.73.0.tgz", + "integrity": "sha512-ffw/hK1DbbSXklry4sDmJ+c+dX3Zl+I9DsYNjf0h2aonEKZo+g7ItAhVzr5s1kDnKatlEJTNOw1Kdpn20vFZHg==", + "requires": { + "@aws-cdk/aws-applicationautoscaling": "1.73.0", + "@aws-cdk/aws-cloudwatch": "1.73.0", + "@aws-cdk/aws-codeguruprofiler": "1.73.0", + "@aws-cdk/aws-ec2": "1.73.0", + "@aws-cdk/aws-efs": "1.73.0", + "@aws-cdk/aws-events": "1.73.0", + "@aws-cdk/aws-iam": "1.73.0", + "@aws-cdk/aws-logs": "1.73.0", + "@aws-cdk/aws-s3": "1.73.0", + "@aws-cdk/aws-s3-assets": "1.73.0", + "@aws-cdk/aws-sqs": "1.73.0", + "@aws-cdk/core": "1.73.0", + "@aws-cdk/cx-api": "1.73.0", + "constructs": "^3.2.0" + } + }, + "@aws-cdk/aws-logs": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-logs/-/aws-logs-1.73.0.tgz", + "integrity": "sha512-pn/JUpz49nmP81rOW66S36HbBF+RCKDWyN+rQ671zr62T9EPJuRLWxbdahcnAN1eqyCsZEs9PpCvTnacj9ue7w==", + "requires": { + "@aws-cdk/aws-cloudwatch": "1.73.0", + "@aws-cdk/aws-iam": "1.73.0", + "@aws-cdk/aws-s3-assets": "1.73.0", + "@aws-cdk/core": "1.73.0", + "constructs": "^3.2.0" + } + }, + "@aws-cdk/aws-s3": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-s3/-/aws-s3-1.73.0.tgz", + "integrity": "sha512-n0PuTBhqFxRfvGHhWk54R2hfS24b5DFkqP2PvTIwRFCBqmSUnRLF8I+GZ4c6RNxfVfDSzQBcGvfuCuNTL1KZLQ==", + "requires": { + "@aws-cdk/aws-events": "1.73.0", + "@aws-cdk/aws-iam": "1.73.0", + "@aws-cdk/aws-kms": "1.73.0", + "@aws-cdk/core": "1.73.0", + "constructs": "^3.2.0" + } + }, + "@aws-cdk/aws-s3-assets": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.73.0.tgz", + "integrity": "sha512-CvxEIBOOj7tYMrMimPSsbtQ4OOurhUIiNIhM38gisTXYgSchKTeDzKJAbalfYOZSNJNEx1wMNL/+oKV/gDtrHQ==", + "requires": { + "@aws-cdk/assets": "1.73.0", + "@aws-cdk/aws-iam": "1.73.0", + "@aws-cdk/aws-kms": "1.73.0", + "@aws-cdk/aws-s3": "1.73.0", + "@aws-cdk/core": "1.73.0", + "@aws-cdk/cx-api": "1.73.0", + "constructs": "^3.2.0" + } + }, + "@aws-cdk/aws-sqs": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-sqs/-/aws-sqs-1.73.0.tgz", + "integrity": "sha512-15stNsRYY165Vvx/io6TnTSMHar10diLa2k2BTiL+PNzl18SfEIOoTy97PCvJp9AK2Ob9dyQwwjsiutTU56IbA==", + "requires": { + "@aws-cdk/aws-cloudwatch": "1.73.0", + "@aws-cdk/aws-iam": "1.73.0", + "@aws-cdk/aws-kms": "1.73.0", + "@aws-cdk/core": "1.73.0", + "constructs": "^3.2.0" + } + }, + "@aws-cdk/aws-ssm": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-ssm/-/aws-ssm-1.73.0.tgz", + "integrity": "sha512-6fobpaL7hh0My/aypd7DHQ+sLuPcb7Taj8ngjmoh8H0muiAkfj4O0CjN3cd+kCYRr8T4zRh546ypvFfsc9WEHQ==", + "requires": { + "@aws-cdk/aws-iam": "1.73.0", + "@aws-cdk/aws-kms": "1.73.0", + "@aws-cdk/cloud-assembly-schema": "1.73.0", + "@aws-cdk/core": "1.73.0", + "constructs": "^3.2.0" + } + }, + "@aws-cdk/cloud-assembly-schema": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.73.0.tgz", + "integrity": "sha512-3m5nJDLSApAuUMra2WrQF7GHt6xgxqFET91WShtKtj48brZk4MBJ3dLre2LjDVsmMMOVdd6FpjY7tE5C1v9Hyw==", + "requires": { + "jsonschema": "^1.4.0", + "semver": "^7.3.2" + }, + "dependencies": { + "jsonschema": { + "version": "1.4.0", + "bundled": true + }, + "semver": { + "version": "7.3.2", + "bundled": true + } + } + }, + "@aws-cdk/core": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/core/-/core-1.73.0.tgz", + "integrity": "sha512-CTmUXo0hAH78/uvzfmgW4gQKLnusMxULIEUjd0wnfs/6/zoB6n2DP+lmkr/7Vp4aIG9nNNirThdHesidlx79eA==", + "requires": { + "@aws-cdk/cloud-assembly-schema": "1.73.0", + "@aws-cdk/cx-api": "1.73.0", + "@aws-cdk/region-info": "1.73.0", + "@balena/dockerignore": "^1.0.2", + "constructs": "^3.2.0", + "fs-extra": "^9.0.1", + "ignore": "^5.1.8", + "minimatch": "^3.0.4" + }, + "dependencies": { + "@balena/dockerignore": { + "version": "1.0.2", + "bundled": true + }, + "at-least-node": { + "version": "1.0.0", + "bundled": true + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "concat-map": { + "version": "0.0.1", + "bundled": true + }, + "fs-extra": { + "version": "9.0.1", + "bundled": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" + } + }, + "graceful-fs": { + "version": "4.2.4", + "bundled": true + }, + "ignore": { + "version": "5.1.8", + "bundled": true + }, + "jsonfile": { + "version": "6.0.1", + "bundled": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^1.0.0" + } + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "universalify": { + "version": "1.0.0", + "bundled": true + } + } + }, + "@aws-cdk/cx-api": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/cx-api/-/cx-api-1.73.0.tgz", + "integrity": "sha512-HlBpbIGu71xXdfJ1De1/HOMK5LWzKK9J7REho0oncpAO9KDxAbk+1aOFUZJVEgTsJSUUzLMSIUtDIo+ev70HGA==", + "requires": { + "@aws-cdk/cloud-assembly-schema": "1.73.0", + "semver": "^7.3.2" + }, + "dependencies": { + "semver": { + "version": "7.3.2", + "bundled": true + } + } + }, + "@aws-cdk/region-info": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/region-info/-/region-info-1.73.0.tgz", + "integrity": "sha512-jWfx5mY3BaCVeFnbdUxrDTczVTuwShdtu3WkV2vL+W3VnUMzLPKbCPiGY8GutSBlWvoFpubsbVqx8Kw61pRgdQ==" + } + } + }, + "@aws-cdk/aws-cloudformation": { + "version": "1.61.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-cloudformation/-/aws-cloudformation-1.61.0.tgz", + "integrity": "sha512-e7mti0sWR6Sf4tav36bu379kkG5E33VMPLZaT8RkhXkIl97c1OaGHVx5G1Oe5DiHka08c+PA6da8ahkrR1wSkQ==", + "requires": { + "@aws-cdk/aws-iam": "1.61.0", + "@aws-cdk/aws-lambda": "1.61.0", + "@aws-cdk/aws-s3": "1.61.0", + "@aws-cdk/aws-sns": "1.61.0", + "@aws-cdk/core": "1.61.0", + "@aws-cdk/cx-api": "1.61.0", + "constructs": "^3.0.4" + } + }, + "@aws-cdk/aws-cloudwatch": { + "version": "1.61.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.61.0.tgz", + "integrity": "sha512-/Lp+8OU82m2+VX0GDeO8RIzyJDEvZQQaSQYflXRAFxFDrHiU6i4kXLbr1j4jebB9r+NSEAZ6XopBNg+JsAXGug==", + "requires": { + "@aws-cdk/aws-iam": "1.61.0", + "@aws-cdk/core": "1.61.0", + "constructs": "^3.0.4" + } + }, + "@aws-cdk/aws-codeguruprofiler": { + "version": "1.61.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-codeguruprofiler/-/aws-codeguruprofiler-1.61.0.tgz", + "integrity": "sha512-eS+evPzEOP2rODucLcNSIlXNozA+/6Pf2H0Igde5UiMmYSX3/ZRXm/EytKNtyF7pnWiWMymmBLwCue2V/FDV0w==", + "requires": { + "@aws-cdk/aws-iam": "1.61.0", + "@aws-cdk/core": "1.61.0" + } + }, + "@aws-cdk/aws-dynamodb": { + "version": "1.61.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-dynamodb/-/aws-dynamodb-1.61.0.tgz", + "integrity": "sha512-Qd87xJNTjCRBQ//H4WA6Lif3VuA9QuyKyterlmTGnmrUsAqubkKtxu/lLvMp0gQb9LzjQ5Hn9238v1s8rDBDlw==", + "requires": { + "@aws-cdk/aws-applicationautoscaling": "1.61.0", + "@aws-cdk/aws-cloudwatch": "1.61.0", + "@aws-cdk/aws-iam": "1.61.0", + "@aws-cdk/aws-kms": "1.61.0", + "@aws-cdk/aws-lambda": "1.61.0", + "@aws-cdk/core": "1.61.0", + "@aws-cdk/custom-resources": "1.61.0", + "constructs": "^3.0.4" + } + }, + "@aws-cdk/aws-ec2": { + "version": "1.61.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-ec2/-/aws-ec2-1.61.0.tgz", + "integrity": "sha512-mW1tij3tuvHfgNlLQst1XkvSOoV/r3iUQFLhJ8QMG8h0KUiHRyY0i+kj3Ern4GxlwNUfM6RY3f12qtSpRpVPxQ==", + "requires": { + "@aws-cdk/aws-cloudwatch": "1.61.0", + "@aws-cdk/aws-iam": "1.61.0", + "@aws-cdk/aws-kms": "1.61.0", + "@aws-cdk/aws-logs": "1.61.0", + "@aws-cdk/aws-s3": "1.61.0", + "@aws-cdk/aws-s3-assets": "1.61.0", + "@aws-cdk/aws-ssm": "1.61.0", + "@aws-cdk/cloud-assembly-schema": "1.61.0", + "@aws-cdk/core": "1.61.0", + "@aws-cdk/cx-api": "1.61.0", + "@aws-cdk/region-info": "1.61.0", + "constructs": "^3.0.4" + } + }, + "@aws-cdk/aws-efs": { + "version": "1.61.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-efs/-/aws-efs-1.61.0.tgz", + "integrity": "sha512-WeF3SF681V43E+u2j78om+y4r1Ay4JPTAns8y6SFcZOLqH+6qlXusGrwQoZcHpD4MTSU60NZKD8O0u1A111osg==", + "requires": { + "@aws-cdk/aws-ec2": "1.61.0", + "@aws-cdk/aws-kms": "1.61.0", + "@aws-cdk/cloud-assembly-schema": "1.61.0", + "@aws-cdk/core": "1.61.0", + "@aws-cdk/cx-api": "1.61.0", + "constructs": "^3.0.4" + } + }, + "@aws-cdk/aws-events": { + "version": "1.61.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-events/-/aws-events-1.61.0.tgz", + "integrity": "sha512-DBEi/XPnWvQJ42dv28JdQSHGUz9N6fqYjR8FSNc2s0oXgDqGQ+8rU1Hxcj6s2Qb7lBQ66pHsvlpUcqZANIoddw==", + "requires": { + "@aws-cdk/aws-iam": "1.61.0", + "@aws-cdk/core": "1.61.0", + "constructs": "^3.0.4" + } + }, + "@aws-cdk/aws-iam": { + "version": "1.61.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-iam/-/aws-iam-1.61.0.tgz", + "integrity": "sha512-CDFrRPkt4JR9iSVn+D18ThU201m2Ck2T5+E9044yJqkUgfbcMXO54ls2DlLbCg1RUrazRrqQ9Bu0IxDHbTwaKg==", + "requires": { + "@aws-cdk/core": "1.61.0", + "@aws-cdk/region-info": "1.61.0", + "constructs": "^3.0.4" + } + }, + "@aws-cdk/aws-kms": { + "version": "1.61.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-kms/-/aws-kms-1.61.0.tgz", + "integrity": "sha512-taSQYpcPM705NN32W2UcgNfezTQbqx5YZDR+jp7A/E4OVdR1jojDJn6LKzsIo71s7DDG/k+77oNXEIJsaIhSRA==", + "requires": { + "@aws-cdk/aws-iam": "1.61.0", + "@aws-cdk/core": "1.61.0", + "constructs": "^3.0.4" + } + }, + "@aws-cdk/aws-lambda": { + "version": "1.61.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-lambda/-/aws-lambda-1.61.0.tgz", + "integrity": "sha512-LhO/f50ovtsd2uUjLdeTEFdnQlbvXvC4VN5BEnX4X2kpdCpUXsnClVb9EQPEAFaDIE6VEpMnQ6rUR27kTerLCg==", + "requires": { + "@aws-cdk/aws-applicationautoscaling": "1.61.0", + "@aws-cdk/aws-cloudwatch": "1.61.0", + "@aws-cdk/aws-codeguruprofiler": "1.61.0", + "@aws-cdk/aws-ec2": "1.61.0", + "@aws-cdk/aws-efs": "1.61.0", + "@aws-cdk/aws-events": "1.61.0", + "@aws-cdk/aws-iam": "1.61.0", + "@aws-cdk/aws-logs": "1.61.0", + "@aws-cdk/aws-s3": "1.61.0", + "@aws-cdk/aws-s3-assets": "1.61.0", + "@aws-cdk/aws-sqs": "1.61.0", + "@aws-cdk/core": "1.61.0", + "@aws-cdk/cx-api": "1.61.0", + "constructs": "^3.0.4" + } + }, + "@aws-cdk/aws-logs": { + "version": "1.61.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-logs/-/aws-logs-1.61.0.tgz", + "integrity": "sha512-swEkiF+VFfsfY2GiCO8o9vzAQVnDUghmCZmg2B1oi4QwG850CBiPzAz88QaZOzqX1YWWXTcGU20yADg6D5nRIw==", + "requires": { + "@aws-cdk/aws-cloudwatch": "1.61.0", + "@aws-cdk/aws-iam": "1.61.0", + "@aws-cdk/aws-s3-assets": "1.61.0", + "@aws-cdk/core": "1.61.0", + "constructs": "^3.0.4" + } + }, + "@aws-cdk/aws-route53": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-route53/-/aws-route53-1.73.0.tgz", + "integrity": "sha512-M3298IkyLELVTlA+2g0EdEV+bYTkC3xzTiHwoqcJeCd8T7IY8E89f73bsweX8k49cu1soPAUvXVJuUfxb6WYEg==", + "requires": { + "@aws-cdk/aws-ec2": "1.73.0", + "@aws-cdk/aws-logs": "1.73.0", + "@aws-cdk/cloud-assembly-schema": "1.73.0", + "@aws-cdk/core": "1.73.0", + "constructs": "^3.2.0" + }, + "dependencies": { + "@aws-cdk/assets": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/assets/-/assets-1.73.0.tgz", + "integrity": "sha512-fAdRAWn/IWbalMZva86Q4BimYrwipSoqPzyC5d6fwxNmJU/QiFLMpILanS1T9a0a+yjqAqk+8pAXn44lZIOlPQ==", + "requires": { + "@aws-cdk/core": "1.73.0", + "@aws-cdk/cx-api": "1.73.0", + "constructs": "^3.2.0" + } + }, + "@aws-cdk/aws-cloudwatch": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.73.0.tgz", + "integrity": "sha512-H6MQVtJfKAJyE6DRHe71ivFu9OjhH32VtsJUZ1xuQ/pyeoQlOQ6fj0FIjz4ObG3qDBq72SBfrbPAQ3q+2g3HfA==", + "requires": { + "@aws-cdk/aws-iam": "1.73.0", + "@aws-cdk/core": "1.73.0", + "constructs": "^3.2.0" + } + }, + "@aws-cdk/aws-ec2": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-ec2/-/aws-ec2-1.73.0.tgz", + "integrity": "sha512-XjGcHaVlaJNorXv8qrRt7k8rPLE8yV1SAJWHY/SIf7NzIg9Y6lFV0eVkBU5RINfuD9GIW8YbgtLGE5ZpfZ5YkA==", + "requires": { + "@aws-cdk/aws-cloudwatch": "1.73.0", + "@aws-cdk/aws-iam": "1.73.0", + "@aws-cdk/aws-kms": "1.73.0", + "@aws-cdk/aws-logs": "1.73.0", + "@aws-cdk/aws-s3": "1.73.0", + "@aws-cdk/aws-s3-assets": "1.73.0", + "@aws-cdk/aws-ssm": "1.73.0", + "@aws-cdk/cloud-assembly-schema": "1.73.0", + "@aws-cdk/core": "1.73.0", + "@aws-cdk/cx-api": "1.73.0", + "@aws-cdk/region-info": "1.73.0", + "constructs": "^3.2.0" + } + }, + "@aws-cdk/aws-events": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-events/-/aws-events-1.73.0.tgz", + "integrity": "sha512-CvOAIAt00xCWKC2U96NAgA8xIkzrNkwalCXk3RIRjz9xEVge5w3lQ7Hy6lSSbhyTfxQV01bppZO2ExaeAKOjOg==", + "requires": { + "@aws-cdk/aws-iam": "1.73.0", + "@aws-cdk/core": "1.73.0", + "constructs": "^3.2.0" + } + }, + "@aws-cdk/aws-iam": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-iam/-/aws-iam-1.73.0.tgz", + "integrity": "sha512-o2pdkEEdwluZegLqlbhfK0zgIbezvKDf5UfwBKloeFSDcGOZAaqF25OPfrTowXkIakHbw2wMswbUlmUgYdmNFg==", + "requires": { + "@aws-cdk/core": "1.73.0", + "@aws-cdk/region-info": "1.73.0", + "constructs": "^3.2.0" + } + }, + "@aws-cdk/aws-kms": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-kms/-/aws-kms-1.73.0.tgz", + "integrity": "sha512-4aQRGBktM1IYqM0Qa/yio1/sjNuokMdLQNrjTVxyX+AZE2/zPqARe+Gm6sFpPJ9Is8oy0YzecP80QZSCnWpCnQ==", + "requires": { + "@aws-cdk/aws-iam": "1.73.0", + "@aws-cdk/core": "1.73.0", + "constructs": "^3.2.0" + } + }, + "@aws-cdk/aws-logs": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-logs/-/aws-logs-1.73.0.tgz", + "integrity": "sha512-pn/JUpz49nmP81rOW66S36HbBF+RCKDWyN+rQ671zr62T9EPJuRLWxbdahcnAN1eqyCsZEs9PpCvTnacj9ue7w==", + "requires": { + "@aws-cdk/aws-cloudwatch": "1.73.0", + "@aws-cdk/aws-iam": "1.73.0", + "@aws-cdk/aws-s3-assets": "1.73.0", + "@aws-cdk/core": "1.73.0", + "constructs": "^3.2.0" + } + }, + "@aws-cdk/aws-s3": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-s3/-/aws-s3-1.73.0.tgz", + "integrity": "sha512-n0PuTBhqFxRfvGHhWk54R2hfS24b5DFkqP2PvTIwRFCBqmSUnRLF8I+GZ4c6RNxfVfDSzQBcGvfuCuNTL1KZLQ==", + "requires": { + "@aws-cdk/aws-events": "1.73.0", + "@aws-cdk/aws-iam": "1.73.0", + "@aws-cdk/aws-kms": "1.73.0", + "@aws-cdk/core": "1.73.0", + "constructs": "^3.2.0" + } + }, + "@aws-cdk/aws-s3-assets": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.73.0.tgz", + "integrity": "sha512-CvxEIBOOj7tYMrMimPSsbtQ4OOurhUIiNIhM38gisTXYgSchKTeDzKJAbalfYOZSNJNEx1wMNL/+oKV/gDtrHQ==", + "requires": { + "@aws-cdk/assets": "1.73.0", + "@aws-cdk/aws-iam": "1.73.0", + "@aws-cdk/aws-kms": "1.73.0", + "@aws-cdk/aws-s3": "1.73.0", + "@aws-cdk/core": "1.73.0", + "@aws-cdk/cx-api": "1.73.0", + "constructs": "^3.2.0" + } + }, + "@aws-cdk/aws-ssm": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-ssm/-/aws-ssm-1.73.0.tgz", + "integrity": "sha512-6fobpaL7hh0My/aypd7DHQ+sLuPcb7Taj8ngjmoh8H0muiAkfj4O0CjN3cd+kCYRr8T4zRh546ypvFfsc9WEHQ==", + "requires": { + "@aws-cdk/aws-iam": "1.73.0", + "@aws-cdk/aws-kms": "1.73.0", + "@aws-cdk/cloud-assembly-schema": "1.73.0", + "@aws-cdk/core": "1.73.0", + "constructs": "^3.2.0" + } + }, + "@aws-cdk/cloud-assembly-schema": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.73.0.tgz", + "integrity": "sha512-3m5nJDLSApAuUMra2WrQF7GHt6xgxqFET91WShtKtj48brZk4MBJ3dLre2LjDVsmMMOVdd6FpjY7tE5C1v9Hyw==", + "requires": { + "jsonschema": "^1.4.0", + "semver": "^7.3.2" + }, + "dependencies": { + "jsonschema": { + "version": "1.4.0", + "bundled": true + }, + "semver": { + "version": "7.3.2", + "bundled": true + } + } + }, + "@aws-cdk/core": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/core/-/core-1.73.0.tgz", + "integrity": "sha512-CTmUXo0hAH78/uvzfmgW4gQKLnusMxULIEUjd0wnfs/6/zoB6n2DP+lmkr/7Vp4aIG9nNNirThdHesidlx79eA==", + "requires": { + "@aws-cdk/cloud-assembly-schema": "1.73.0", + "@aws-cdk/cx-api": "1.73.0", + "@aws-cdk/region-info": "1.73.0", + "@balena/dockerignore": "^1.0.2", + "constructs": "^3.2.0", + "fs-extra": "^9.0.1", + "ignore": "^5.1.8", + "minimatch": "^3.0.4" + }, + "dependencies": { + "@balena/dockerignore": { + "version": "1.0.2", + "bundled": true + }, + "at-least-node": { + "version": "1.0.0", + "bundled": true + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "concat-map": { + "version": "0.0.1", + "bundled": true + }, + "fs-extra": { + "version": "9.0.1", + "bundled": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" + } + }, + "graceful-fs": { + "version": "4.2.4", + "bundled": true + }, + "ignore": { + "version": "5.1.8", + "bundled": true + }, + "jsonfile": { + "version": "6.0.1", + "bundled": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^1.0.0" + } + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "universalify": { + "version": "1.0.0", + "bundled": true + } + } + }, + "@aws-cdk/cx-api": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/cx-api/-/cx-api-1.73.0.tgz", + "integrity": "sha512-HlBpbIGu71xXdfJ1De1/HOMK5LWzKK9J7REho0oncpAO9KDxAbk+1aOFUZJVEgTsJSUUzLMSIUtDIo+ev70HGA==", + "requires": { + "@aws-cdk/cloud-assembly-schema": "1.73.0", + "semver": "^7.3.2" + }, + "dependencies": { + "semver": { + "version": "7.3.2", + "bundled": true + } + } + }, + "@aws-cdk/region-info": { + "version": "1.73.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/region-info/-/region-info-1.73.0.tgz", + "integrity": "sha512-jWfx5mY3BaCVeFnbdUxrDTczVTuwShdtu3WkV2vL+W3VnUMzLPKbCPiGY8GutSBlWvoFpubsbVqx8Kw61pRgdQ==" + } + } + }, + "@aws-cdk/aws-s3": { + "version": "1.61.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-s3/-/aws-s3-1.61.0.tgz", + "integrity": "sha512-tFemzJJtopsiDbcjwpqsSY9xm3wZLWKEg2/9iAAZ4VUEW4feoX7NQyVkYHGH2dfMVufXq/rMZPfbKq7f3cgzAg==", + "requires": { + "@aws-cdk/aws-events": "1.61.0", + "@aws-cdk/aws-iam": "1.61.0", + "@aws-cdk/aws-kms": "1.61.0", + "@aws-cdk/core": "1.61.0", + "constructs": "^3.0.4" + } + }, + "@aws-cdk/aws-s3-assets": { + "version": "1.61.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.61.0.tgz", + "integrity": "sha512-sipvqw0fJcpT3+Hxdzn2UkbBh/tr+jkzplLq2Jk5Jr0E/7+V5t2kmlEQgyG82ug1J2DERMAdlie8AgzGJ5CxhA==", + "requires": { + "@aws-cdk/assets": "1.61.0", + "@aws-cdk/aws-iam": "1.61.0", + "@aws-cdk/aws-kms": "1.61.0", + "@aws-cdk/aws-s3": "1.61.0", + "@aws-cdk/core": "1.61.0", + "@aws-cdk/cx-api": "1.61.0", + "constructs": "^3.0.4" + } + }, + "@aws-cdk/aws-sns": { + "version": "1.61.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-sns/-/aws-sns-1.61.0.tgz", + "integrity": "sha512-jmJmZXidJAJTg4lPnxMm26QR3ovMYb/89NBWnIRwGdVGcZ7nrWUkC0JNPQMbP+EvUFdh/9xdFVP4JvvzZzoy0w==", + "requires": { + "@aws-cdk/aws-cloudwatch": "1.61.0", + "@aws-cdk/aws-events": "1.61.0", + "@aws-cdk/aws-iam": "1.61.0", + "@aws-cdk/aws-kms": "1.61.0", + "@aws-cdk/aws-sqs": "1.61.0", + "@aws-cdk/core": "1.61.0", + "constructs": "^3.0.4" + } + }, + "@aws-cdk/aws-sqs": { + "version": "1.61.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-sqs/-/aws-sqs-1.61.0.tgz", + "integrity": "sha512-gyShf5rmUZCovSHL4PXvAD6TA/xmPESpsi+zx7HU/VXyeGgO6inq/sVzWM0OpCrNUnnoSct5p0yZJytRBnVYaA==", + "requires": { + "@aws-cdk/aws-cloudwatch": "1.61.0", + "@aws-cdk/aws-iam": "1.61.0", + "@aws-cdk/aws-kms": "1.61.0", + "@aws-cdk/core": "1.61.0", + "constructs": "^3.0.4" + } + }, + "@aws-cdk/aws-ssm": { + "version": "1.61.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-ssm/-/aws-ssm-1.61.0.tgz", + "integrity": "sha512-fOr2g7V7pR9bP7CXWLznM3d0/8EW76pjKLe+uGeXpqnrtXaGCvFBjiAms10oZ2584bn2bWIzikGmzzxzpamJbg==", + "requires": { + "@aws-cdk/aws-iam": "1.61.0", + "@aws-cdk/aws-kms": "1.61.0", + "@aws-cdk/cloud-assembly-schema": "1.61.0", + "@aws-cdk/core": "1.61.0", + "constructs": "^3.0.4" + } + }, + "@aws-cdk/cfnspec": { + "version": "1.61.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/cfnspec/-/cfnspec-1.61.0.tgz", + "integrity": "sha512-Ss5N3unY6iVh9SjYAYvTyvhdb7Kaz6dVFeV8K68UGewiFcHpC5tQi3YmlVBw3HCgKoRt20emiHAfmdfeGO/PUQ==", + "requires": { + "md5": "^2.3.0" + } + }, + "@aws-cdk/cloud-assembly-schema": { + "version": "1.61.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.61.0.tgz", + "integrity": "sha512-+D1K159eNxWDGJNiyQcwczddzqFDS08b2VAJrgJFvqhMNbNWWuYxxxEJoh5jH9iULr2a52WXrrQfF72HbB0jUQ==", + "requires": { + "jsonschema": "^1.2.5", + "semver": "^7.2.2" + }, + "dependencies": { + "jsonschema": { + "version": "1.2.6", + "bundled": true + }, + "semver": { + "version": "7.3.2", + "bundled": true + } + } + }, + "@aws-cdk/cloudformation-diff": { + "version": "1.61.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/cloudformation-diff/-/cloudformation-diff-1.61.0.tgz", + "integrity": "sha512-TrrmywhYkXxGNTmDd1k2biJMVtEvb0QcbZ/IGM6biMXIJ+wsjw/n5snvwciQ8/PHZmsUYk67qulGdso1rpy06Q==", + "requires": { + "@aws-cdk/cfnspec": "1.61.0", + "colors": "^1.4.0", + "diff": "^4.0.2", + "fast-deep-equal": "^3.1.3", + "string-width": "^4.2.0", + "table": "^5.4.6" + } + }, + "@aws-cdk/core": { + "version": "1.61.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/core/-/core-1.61.0.tgz", + "integrity": "sha512-g6vOR7zqWfbSzIM2kqUPH0Tdk4tOUFGX1TM5crty1ndkNja84PvAzEjQZr34U2aCGk+EI2pyB/4D7BLiAhAvKw==", + "requires": { + "@aws-cdk/cloud-assembly-schema": "1.61.0", + "@aws-cdk/cx-api": "1.61.0", + "constructs": "^3.0.4", + "fs-extra": "^9.0.1", + "minimatch": "^3.0.4" + }, + "dependencies": { + "at-least-node": { + "version": "1.0.0", + "bundled": true + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "concat-map": { + "version": "0.0.1", + "bundled": true + }, + "fs-extra": { + "version": "9.0.1", + "bundled": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" + } + }, + "graceful-fs": { + "version": "4.2.4", + "bundled": true + }, + "jsonfile": { + "version": "6.0.1", + "bundled": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^1.0.0" + } + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "universalify": { + "version": "1.0.0", + "bundled": true + } + } + }, + "@aws-cdk/custom-resources": { + "version": "1.61.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/custom-resources/-/custom-resources-1.61.0.tgz", + "integrity": "sha512-etnHE7A0+J5w1L/m+KxEbPQ7LgtVYvEUV6naqRp5uIsTBaJ9sCQ+q43Y3Fj+g3NMigm8C2fKg5FmiFE6kiymDQ==", + "requires": { + "@aws-cdk/aws-cloudformation": "1.61.0", + "@aws-cdk/aws-iam": "1.61.0", + "@aws-cdk/aws-lambda": "1.61.0", + "@aws-cdk/aws-logs": "1.61.0", + "@aws-cdk/aws-sns": "1.61.0", + "@aws-cdk/core": "1.61.0", + "constructs": "^3.0.4" + } + }, + "@aws-cdk/cx-api": { + "version": "1.61.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/cx-api/-/cx-api-1.61.0.tgz", + "integrity": "sha512-SOn1aLhp2Zot1Qqev1REbgL2n0Ccl9sfg1nJMWnGxAmjarazJfvW22llYKnJPuFkgHswaBlifBxAA4WgKbUn6g==", + "requires": { + "@aws-cdk/cloud-assembly-schema": "1.61.0", + "semver": "^7.2.2" + }, + "dependencies": { + "semver": { + "version": "7.3.2", + "bundled": true + } + } + }, + "@aws-cdk/region-info": { + "version": "1.61.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/region-info/-/region-info-1.61.0.tgz", + "integrity": "sha512-/10gvecycNJhYM2LIkA0XaoWgUZQ6K5FIIRaf/o4PbgHyR8WTyEPO6lbT0GoKi69TvC+18xzJ4iZ1p3ZdRnUYw==" + }, + "@babel/cli": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.12.7.tgz", + "integrity": "sha512-vE1fidQsaWnQVs4SItkuCdi3+uXqjbhw4cIKp8aawKxOnTnlvxYMzXSeMAqo6alldQRFQYb198YQfW0Sp1jl5Q==", + "requires": { + "@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents", + "chokidar": "^3.4.0", + "commander": "^4.0.1", + "convert-source-map": "^1.1.0", + "fs-readdir-recursive": "^1.1.0", + "glob": "^7.0.0", + "lodash": "^4.17.19", + "make-dir": "^2.1.0", + "slash": "^2.0.0", + "source-map": "^0.5.0" + } + }, + "@babel/code-frame": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/compat-data": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.12.7.tgz", + "integrity": "sha512-YaxPMGs/XIWtYqrdEOZOCPsVWfEoriXopnsz3/i7apYPXQ3698UFhS6dVT1KN5qOsWmVgw/FOrmQgpRaZayGsw==" + }, + "@babel/core": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.7.tgz", + "integrity": "sha512-tRKx9B53kJe8NCGGIxEQb2Bkr0riUIEuN7Sc1fxhs5H8lKlCWUvQCSNMVIB0Meva7hcbCRJ76de15KoLltdoqw==", + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.5", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helpers": "^7.12.5", + "@babel/parser": "^7.12.7", + "@babel/template": "^7.12.7", + "@babel/traverse": "^7.12.7", + "@babel/types": "^7.12.7", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "@babel/eslint-parser": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.12.1.tgz", + "integrity": "sha512-cc7WQHnHQY3++/bghgbDtPx+5bf6xTsokyGzV6Qzh65NLz/unv+mPQuACkQ9GFhIhcTFv6yqwNaEcfX7EkOEsg==", + "requires": { + "eslint-scope": "5.1.0", + "eslint-visitor-keys": "^1.3.0", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "@babel/eslint-plugin": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/eslint-plugin/-/eslint-plugin-7.12.1.tgz", + "integrity": "sha512-rOjrD5yupTYCO4x0kEbQmi/NsaD+VGOD/9Cvso64WMVPY2y6o5Nvw2sqFWdeSEBdR1Dsa07YjplBs067x5YbXg==", + "requires": { + "eslint-rule-composer": "^0.3.0" + } + }, + "@babel/generator": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.5.tgz", + "integrity": "sha512-m16TQQJ8hPt7E+OS/XVQg/7U184MLXtvuGbCdA7na61vha+ImkyyNM/9DDA0unYCVZn3ZOhng+qz48/KBOT96A==", + "requires": { + "@babel/types": "^7.12.5", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz", + "integrity": "sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA==", + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz", + "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==", + "requires": { + "@babel/helper-explode-assignable-expression": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.5.tgz", + "integrity": "sha512-+qH6NrscMolUlzOYngSBMIOQpKUGPPsc61Bu5W10mg84LxZ7cmvnBHzARKbDoFxVvqqAbj6Tg6N7bSrWSPXMyw==", + "requires": { + "@babel/compat-data": "^7.12.5", + "@babel/helper-validator-option": "^7.12.1", + "browserslist": "^4.14.5", + "semver": "^5.5.0" + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz", + "integrity": "sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w==", + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-member-expression-to-functions": "^7.12.1", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.10.4" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.7.tgz", + "integrity": "sha512-idnutvQPdpbduutvi3JVfEgcVIHooQnhvhx0Nk9isOINOIGYkZea1Pk2JlJRiUnMefrlvr0vkByATBY/mB4vjQ==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "regexpu-core": "^4.7.1" + } + }, + "@babel/helper-define-map": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz", + "integrity": "sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==", + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/types": "^7.10.5", + "lodash": "^4.17.19" + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz", + "integrity": "sha512-dmUwH8XmlrUpVqgtZ737tK88v07l840z9j3OEhCLwKTkjlvKpfqXVIZ0wpK3aeOxspwGrf/5AP5qLx4rO3w5rA==", + "requires": { + "@babel/types": "^7.12.1" + } + }, + "@babel/helper-function-name": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", + "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", + "requires": { + "@babel/helper-get-function-arity": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", + "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz", + "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==", + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz", + "integrity": "sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==", + "requires": { + "@babel/types": "^7.12.7" + } + }, + "@babel/helper-module-imports": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz", + "integrity": "sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==", + "requires": { + "@babel/types": "^7.12.5" + } + }, + "@babel/helper-module-transforms": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz", + "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==", + "requires": { + "@babel/helper-module-imports": "^7.12.1", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-simple-access": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/helper-validator-identifier": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.12.1", + "@babel/types": "^7.12.1", + "lodash": "^4.17.19" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.7.tgz", + "integrity": "sha512-I5xc9oSJ2h59OwyUqjv95HRyzxj53DAubUERgQMrpcCEYQyToeHA+NEcUEsVWB4j53RDeskeBJ0SgRAYHDBckw==", + "requires": { + "@babel/types": "^7.12.7" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz", + "integrity": "sha512-9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-wrap-function": "^7.10.4", + "@babel/types": "^7.12.1" + } + }, + "@babel/helper-replace-supers": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.5.tgz", + "integrity": "sha512-5YILoed0ZyIpF4gKcpZitEnXEJ9UoDRki1Ey6xz46rxOzfNMAhVIJMoune1hmPVxh40LRv1+oafz7UsWX+vyWA==", + "requires": { + "@babel/helper-member-expression-to-functions": "^7.12.1", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/traverse": "^7.12.5", + "@babel/types": "^7.12.5" + } + }, + "@babel/helper-simple-access": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz", + "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==", + "requires": { + "@babel/types": "^7.12.1" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz", + "integrity": "sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==", + "requires": { + "@babel/types": "^7.12.1" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", + "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", + "requires": { + "@babel/types": "^7.11.0" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==" + }, + "@babel/helper-validator-option": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.1.tgz", + "integrity": "sha512-YpJabsXlJVWP0USHjnC/AQDTLlZERbON577YUVO/wLpqyj6HAtVYnWaQaN0iUN+1/tWn3c+uKKXjRut5115Y2A==" + }, + "@babel/helper-wrap-function": { + "version": "7.12.3", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.12.3.tgz", + "integrity": "sha512-Cvb8IuJDln3rs6tzjW3Y8UeelAOdnpB8xtQ4sme2MSZ9wOxrbThporC0y/EtE16VAtoyEfLM404Xr1e0OOp+ow==", + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helpers": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.5.tgz", + "integrity": "sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==", + "requires": { + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.12.5", + "@babel/types": "^7.12.5" + } + }, + "@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + } + } + }, + "@babel/parser": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.7.tgz", + "integrity": "sha512-oWR02Ubp4xTLCAqPRiNIuMVgNO5Aif/xpXtabhzW2HWUD47XJsAB4Zd/Rg30+XeQA3juXigV7hlquOTmwqLiwg==" + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.1.tgz", + "integrity": "sha512-d+/o30tJxFxrA1lhzJqiUcEJdI6jKlNregCv5bASeGf2Q4MXmnwH7viDo7nhx1/ohf09oaH8j1GVYG/e3Yqk6A==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-remap-async-to-generator": "^7.12.1", + "@babel/plugin-syntax-async-generators": "^7.8.0" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz", + "integrity": "sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz", + "integrity": "sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-dynamic-import": "^7.8.0" + } + }, + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz", + "integrity": "sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz", + "integrity": "sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.0" + } + }, + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz", + "integrity": "sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz", + "integrity": "sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.7.tgz", + "integrity": "sha512-8c+uy0qmnRTeukiGsjLGy6uVs/TFjJchGXUeBqlG4VWYOdJWkhhVPdQ3uHwbmalfJwv2JsV0qffXP4asRfL2SQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz", + "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-transform-parameters": "^7.12.1" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz", + "integrity": "sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.7.tgz", + "integrity": "sha512-4ovylXZ0PWmwoOvhU2vhnzVNnm88/Sm9nx7V8BPgMvAzn5zDou3/Awy0EjglyubVHasJj+XCEkr/r1X3P5elCA==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", + "@babel/plugin-syntax-optional-chaining": "^7.8.0" + } + }, + "@babel/plugin-proposal-private-methods": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz", + "integrity": "sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz", + "integrity": "sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-async-generators": { + "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==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-bigint": { + "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==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz", + "integrity": "sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-import-meta": { + "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==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-json-strings": { + "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==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "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==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "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==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "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==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "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==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "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==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz", + "integrity": "sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz", + "integrity": "sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz", + "integrity": "sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A==", + "requires": { + "@babel/helper-module-imports": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-remap-async-to-generator": "^7.12.1" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz", + "integrity": "sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.1.tgz", + "integrity": "sha512-zJyAC9sZdE60r1nVQHblcfCj29Dh2Y0DOvlMkcqSo0ckqjiCwNiUezUKw+RjOCwGfpLRwnAeQ2XlLpsnGkvv9w==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz", + "integrity": "sha512-/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-define-map": "^7.10.4", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.10.4", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz", + "integrity": "sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz", + "integrity": "sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz", + "integrity": "sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz", + "integrity": "sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz", + "integrity": "sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug==", + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz", + "integrity": "sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz", + "integrity": "sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw==", + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz", + "integrity": "sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz", + "integrity": "sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz", + "integrity": "sha512-tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ==", + "requires": { + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz", + "integrity": "sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag==", + "requires": { + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-simple-access": "^7.12.1", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz", + "integrity": "sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q==", + "requires": { + "@babel/helper-hoist-variables": "^7.10.4", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-validator-identifier": "^7.10.4", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz", + "integrity": "sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q==", + "requires": { + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz", + "integrity": "sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.12.1" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz", + "integrity": "sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz", + "integrity": "sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.12.1" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz", + "integrity": "sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz", + "integrity": "sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz", + "integrity": "sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng==", + "requires": { + "regenerator-transform": "^0.14.2" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz", + "integrity": "sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz", + "integrity": "sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz", + "integrity": "sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.7.tgz", + "integrity": "sha512-VEiqZL5N/QvDbdjfYQBhruN0HYjSPjC4XkeqW4ny/jNtH9gcbgaqBIXYEZCNnESMAGs0/K/R7oFGMhOyu/eIxg==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz", + "integrity": "sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.1.tgz", + "integrity": "sha512-EPGgpGy+O5Kg5pJFNDKuxt9RdmTgj5sgrus2XVeMp/ZIbOESadgILUbm50SNpghOh3/6yrbsH+NB5+WJTmsA7Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.1.tgz", + "integrity": "sha512-I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz", + "integrity": "sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/preset-env": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.7.tgz", + "integrity": "sha512-OnNdfAr1FUQg7ksb7bmbKoby4qFOHw6DKWWUNB9KqnnCldxhxJlP+21dpyaWFmf2h0rTbOkXJtAGevY3XW1eew==", + "requires": { + "@babel/compat-data": "^7.12.7", + "@babel/helper-compilation-targets": "^7.12.5", + "@babel/helper-module-imports": "^7.12.5", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-validator-option": "^7.12.1", + "@babel/plugin-proposal-async-generator-functions": "^7.12.1", + "@babel/plugin-proposal-class-properties": "^7.12.1", + "@babel/plugin-proposal-dynamic-import": "^7.12.1", + "@babel/plugin-proposal-export-namespace-from": "^7.12.1", + "@babel/plugin-proposal-json-strings": "^7.12.1", + "@babel/plugin-proposal-logical-assignment-operators": "^7.12.1", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", + "@babel/plugin-proposal-numeric-separator": "^7.12.7", + "@babel/plugin-proposal-object-rest-spread": "^7.12.1", + "@babel/plugin-proposal-optional-catch-binding": "^7.12.1", + "@babel/plugin-proposal-optional-chaining": "^7.12.7", + "@babel/plugin-proposal-private-methods": "^7.12.1", + "@babel/plugin-proposal-unicode-property-regex": "^7.12.1", + "@babel/plugin-syntax-async-generators": "^7.8.0", + "@babel/plugin-syntax-class-properties": "^7.12.1", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.0", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.0", + "@babel/plugin-syntax-top-level-await": "^7.12.1", + "@babel/plugin-transform-arrow-functions": "^7.12.1", + "@babel/plugin-transform-async-to-generator": "^7.12.1", + "@babel/plugin-transform-block-scoped-functions": "^7.12.1", + "@babel/plugin-transform-block-scoping": "^7.12.1", + "@babel/plugin-transform-classes": "^7.12.1", + "@babel/plugin-transform-computed-properties": "^7.12.1", + "@babel/plugin-transform-destructuring": "^7.12.1", + "@babel/plugin-transform-dotall-regex": "^7.12.1", + "@babel/plugin-transform-duplicate-keys": "^7.12.1", + "@babel/plugin-transform-exponentiation-operator": "^7.12.1", + "@babel/plugin-transform-for-of": "^7.12.1", + "@babel/plugin-transform-function-name": "^7.12.1", + "@babel/plugin-transform-literals": "^7.12.1", + "@babel/plugin-transform-member-expression-literals": "^7.12.1", + "@babel/plugin-transform-modules-amd": "^7.12.1", + "@babel/plugin-transform-modules-commonjs": "^7.12.1", + "@babel/plugin-transform-modules-systemjs": "^7.12.1", + "@babel/plugin-transform-modules-umd": "^7.12.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.1", + "@babel/plugin-transform-new-target": "^7.12.1", + "@babel/plugin-transform-object-super": "^7.12.1", + "@babel/plugin-transform-parameters": "^7.12.1", + "@babel/plugin-transform-property-literals": "^7.12.1", + "@babel/plugin-transform-regenerator": "^7.12.1", + "@babel/plugin-transform-reserved-words": "^7.12.1", + "@babel/plugin-transform-shorthand-properties": "^7.12.1", + "@babel/plugin-transform-spread": "^7.12.1", + "@babel/plugin-transform-sticky-regex": "^7.12.7", + "@babel/plugin-transform-template-literals": "^7.12.1", + "@babel/plugin-transform-typeof-symbol": "^7.12.1", + "@babel/plugin-transform-unicode-escapes": "^7.12.1", + "@babel/plugin-transform-unicode-regex": "^7.12.1", + "@babel/preset-modules": "^0.1.3", + "@babel/types": "^7.12.7", + "core-js-compat": "^3.7.0", + "semver": "^5.5.0" + } + }, + "@babel/preset-modules": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", + "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/runtime": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.5.tgz", + "integrity": "sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==", + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/template": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", + "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.12.7", + "@babel/types": "^7.12.7" + } + }, + "@babel/traverse": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.7.tgz", + "integrity": "sha512-nMWaqsQEeSvMNypswUDzjqQ+0rR6pqCtoQpsqGJC4/Khm9cISwPTSpai57F6/jDaOoEGz8yE/WxcO3PV6tKSmQ==", + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.5", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/parser": "^7.12.7", + "@babel/types": "^7.12.7", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + }, + "dependencies": { + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "@babel/types": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.7.tgz", + "integrity": "sha512-MNyI92qZq6jrQkXvtIiykvl4WtoRrVV9MPn+ZfsoEENjiWcBQ3ZSHrkxnJWgWtLX3XXqX5hrSQ+X69wkmesXuQ==", + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" + }, + "@cnakazawa/watch": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", + "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", + "requires": { + "exec-sh": "^0.3.2", + "minimist": "^1.2.0" + } + }, + "@eslint/eslintrc": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.1.tgz", + "integrity": "sha512-XRUeBZ5zBWLYgSANMpThFddrZZkEbGHgUdt5UJjZfnlN9BGCiUBrf+nvbRupSjMvqzwnQN0qwCmOxITt1cfywA==", + "requires": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "lodash": "^4.17.19", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "requires": { + "ms": "2.1.2" + } + }, + "globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "requires": { + "type-fest": "^0.8.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "requires": { + "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" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" + } + } + }, + "@istanbuljs/schema": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz", + "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==" + }, + "@jest/console": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-26.6.2.tgz", + "integrity": "sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g==", + "requires": { + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^26.6.2", + "jest-util": "^26.6.2", + "slash": "^3.0.0" + }, + "dependencies": { + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + } + } + }, + "@jest/core": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-26.6.3.tgz", + "integrity": "sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw==", + "requires": { + "@jest/console": "^26.6.2", + "@jest/reporters": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-changed-files": "^26.6.2", + "jest-config": "^26.6.3", + "jest-haste-map": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-resolve-dependencies": "^26.6.3", + "jest-runner": "^26.6.3", + "jest-runtime": "^26.6.3", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "jest-watcher": "^26.6.2", + "micromatch": "^4.0.2", + "p-each-series": "^2.1.0", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "requires": { + "glob": "^7.1.3" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + }, + "to-regex-range": { + "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==", + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "@jest/environment": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-26.6.2.tgz", + "integrity": "sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==", + "requires": { + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2" + } + }, + "@jest/fake-timers": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-26.6.2.tgz", + "integrity": "sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA==", + "requires": { + "@jest/types": "^26.6.2", + "@sinonjs/fake-timers": "^6.0.1", + "@types/node": "*", + "jest-message-util": "^26.6.2", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2" + } + }, + "@jest/globals": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-26.6.2.tgz", + "integrity": "sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA==", + "requires": { + "@jest/environment": "^26.6.2", + "@jest/types": "^26.6.2", + "expect": "^26.6.2" + } + }, + "@jest/reporters": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-26.6.2.tgz", + "integrity": "sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw==", + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.4", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^4.0.3", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.2", + "jest-haste-map": "^26.6.2", + "jest-resolve": "^26.6.2", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "node-notifier": "^8.0.0", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^7.0.0" + }, + "dependencies": { + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "@jest/source-map": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-26.6.2.tgz", + "integrity": "sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA==", + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.4", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "@jest/test-result": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-26.6.2.tgz", + "integrity": "sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ==", + "requires": { + "@jest/console": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/test-sequencer": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz", + "integrity": "sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw==", + "requires": { + "@jest/test-result": "^26.6.2", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^26.6.2", + "jest-runner": "^26.6.3", + "jest-runtime": "^26.6.3" + } + }, + "@jest/transform": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.6.2.tgz", + "integrity": "sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==", + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^26.6.2", + "babel-plugin-istanbul": "^6.0.0", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-util": "^26.6.2", + "micromatch": "^4.0.2", + "pirates": "^4.0.1", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "dependencies": { + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "to-regex-range": { + "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==", + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "@nicolo-ribaudo/chokidar-2": { + "version": "2.1.8-no-fsevents", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.tgz", + "integrity": "sha512-+nb9vWloHNNMFHjGofEam3wopE3m1yuambrrd/fnPc+lFOMB9ROTqQlche9ByFWNkdNqfSgR/kkQtQ8DzEWt2w==", + "optional": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "@serverless-stack/core": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@serverless-stack/core/-/core-0.4.3.tgz", + "integrity": "sha512-R+iUsOKMYFof+nu4O9VhZrNmiJs3ap6sxuKjXfiUwTI6Iy8wCFE5aIb3Wu0EIBmfeVe7vR4PPH9TYjh3kJ4UdA==", + "requires": { + "aws-sdk": "^2.761.0", + "chalk": "^4.1.0", + "sst-cdk": "1.61.0-rc.25" + }, + "dependencies": { + "semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==" + }, + "sst-cdk": { + "version": "1.61.0-rc.25", + "resolved": "https://registry.npmjs.org/sst-cdk/-/sst-cdk-1.61.0-rc.25.tgz", + "integrity": "sha512-Vc9pRpTIV0xUBZHK6Qj3Xrb/LCPiXw2nVJaWZPiSiUc2mi566KsxpmWFvjqrYXKFesRSwUoIVgfEwop12CiLzw==", + "requires": { + "@aws-cdk/cloud-assembly-schema": "1.61.0", + "@aws-cdk/cloudformation-diff": "1.61.0", + "@aws-cdk/cx-api": "1.61.0", + "@aws-cdk/region-info": "1.61.0", + "archiver": "^4.0.2", + "aws-sdk": "^2.739.0", + "camelcase": "^6.0.0", + "cdk-assets": "1.61.0", + "colors": "^1.4.0", + "decamelize": "^4.0.0", + "fs-extra": "^9.0.1", + "glob": "^7.1.6", + "json-diff": "^0.5.4", + "minimatch": ">=3.0", + "promptly": "^3.0.3", + "proxy-agent": "^3.1.1", + "semver": "^7.2.2", + "source-map-support": "^0.5.19", + "table": "^5.4.6", + "uuid": "^8.3.0", + "wrap-ansi": "^7.0.0", + "yaml": "^1.10.0", + "yargs": "^15.4.1" + } + }, + "uuid": { + "version": "8.3.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.1.tgz", + "integrity": "sha512-FOmRr+FmWEIG8uhZv6C2bTgEVXsHk08kE7mPlrBbEe+c3r9pjceVPgupIfNIhc4yx55H69OXANrUaSuu9eInKg==" + } + } + }, + "@serverless-stack/resources": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@serverless-stack/resources/-/resources-0.4.3.tgz", + "integrity": "sha512-cYE2aTHbToj71xZyEbCMH5+5jZEHx2ebL/gA5eEC0JUnlrfCIt6K3buO4nIKvOY01hQD/kS6OLM40x6keV2F3A==", + "requires": { + "@aws-cdk/core": "1.61.0" + } + }, + "@sinonjs/commons": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.1.tgz", + "integrity": "sha512-892K+kWUUi3cl+LlqEWIDrhvLgdL79tECi8JZUyq6IviKy/DNhuzCRlbHUjxK89f4ypPMMaFnFuR9Ie6DoIMsw==", + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz", + "integrity": "sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==", + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, + "@types/babel__core": { + "version": "7.1.12", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.12.tgz", + "integrity": "sha512-wMTHiiTiBAAPebqaPiPDLFA4LYPKr6Ph0Xq/6rq1Ur3v66HXyG+clfR9CNETkD7MQS8ZHvpQOtA53DLws5WAEQ==", + "requires": { + "@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.2", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.2.tgz", + "integrity": "sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ==", + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.0.tgz", + "integrity": "sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A==", + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.15.tgz", + "integrity": "sha512-Pzh9O3sTK8V6I1olsXpCfj2k/ygO2q1X0vhhnDrEQyYLHZesWz+zMZMVcwXLCYf0U36EtmyYaFGPfXlTtDHe3A==", + "requires": { + "@babel/types": "^7.3.0" + } + }, + "@types/eslint-visitor-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", + "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==" + }, + "@types/graceful-fs": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.4.tgz", + "integrity": "sha512-mWA/4zFQhfvOA8zWkXobwJvBD7vzcxgrOQ0J5CH1votGqdq9m7+FwtGaqyCZqC3NyyBkc9z4m+iry4LlqcMWJg==", + "requires": { + "@types/node": "*" + } + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", + "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==" + }, + "@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==", + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", + "integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==", + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "@types/jest": { + "version": "26.0.15", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-26.0.15.tgz", + "integrity": "sha512-s2VMReFXRg9XXxV+CW9e5Nz8fH2K1aEhwgjUqPPbQd7g95T0laAcvLv032EhFHIa5GHsZ8W7iJEQVaJq6k3Gog==", + "requires": { + "jest-diff": "^26.0.0", + "pretty-format": "^26.0.0" + } + }, + "@types/json-schema": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", + "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==" + }, + "@types/node": { + "version": "14.14.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.9.tgz", + "integrity": "sha512-JsoLXFppG62tWTklIoO4knA+oDTYsmqWxHRvd4lpmfQRNhX6osheUOWETP2jMoV/2bEHuMra8Pp3Dmo/stBFcw==" + }, + "@types/normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==" + }, + "@types/prettier": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.1.5.tgz", + "integrity": "sha512-UEyp8LwZ4Dg30kVU2Q3amHHyTn1jEdhCIE59ANed76GaT1Vp76DD3ZWSAxgCrw6wJ0TqeoBpqmfUHiUDPs//HQ==" + }, + "@types/stack-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.0.tgz", + "integrity": "sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw==" + }, + "@types/yargs": { + "version": "15.0.10", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.10.tgz", + "integrity": "sha512-z8PNtlhrj7eJNLmrAivM7rjBESG6JwC5xP3RVk12i/8HVP7Xnx/sEmERnRImyEuUaJfO942X0qMOYsoupaJbZQ==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz", + "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==" + }, + "@typescript-eslint/eslint-plugin": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.10.1.tgz", + "integrity": "sha512-PQg0emRtzZFWq6PxBcdxRH3QIQiyFO3WCVpRL3fgj5oQS3CDs3AeAKfv4DxNhzn8ITdNJGJ4D3Qw8eAJf3lXeQ==", + "requires": { + "@typescript-eslint/experimental-utils": "3.10.1", + "debug": "^4.1.1", + "functional-red-black-tree": "^1.0.1", + "regexpp": "^3.0.0", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + }, + "dependencies": { + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==" + } + } + }, + "@typescript-eslint/experimental-utils": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-3.10.1.tgz", + "integrity": "sha512-DewqIgscDzmAfd5nOGe4zm6Bl7PKtMG2Ad0KG8CUZAHlXfAKTF9Ol5PXhiMh39yRL2ChRH1cuuUGOcVyyrhQIw==", + "requires": { + "@types/json-schema": "^7.0.3", + "@typescript-eslint/types": "3.10.1", + "@typescript-eslint/typescript-estree": "3.10.1", + "eslint-scope": "^5.0.0", + "eslint-utils": "^2.0.0" + } + }, + "@typescript-eslint/parser": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-3.10.1.tgz", + "integrity": "sha512-Ug1RcWcrJP02hmtaXVS3axPPTTPnZjupqhgj+NnZ6BCkwSImWk/283347+x9wN+lqOdK9Eo3vsyiyDHgsmiEJw==", + "requires": { + "@types/eslint-visitor-keys": "^1.0.0", + "@typescript-eslint/experimental-utils": "3.10.1", + "@typescript-eslint/types": "3.10.1", + "@typescript-eslint/typescript-estree": "3.10.1", + "eslint-visitor-keys": "^1.1.0" + } + }, + "@typescript-eslint/types": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-3.10.1.tgz", + "integrity": "sha512-+3+FCUJIahE9q0lDi1WleYzjCwJs5hIsbugIgnbB+dSCYUxl8L6PwmsyOPFZde2hc1DlTo/xnkOgiTLSyAbHiQ==" + }, + "@typescript-eslint/typescript-estree": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-3.10.1.tgz", + "integrity": "sha512-QbcXOuq6WYvnB3XPsZpIwztBoquEYLXh2MtwVU+kO8jgYCiv4G5xrSP/1wg4tkvrEE+esZVquIPX/dxPlePk1w==", + "requires": { + "@typescript-eslint/types": "3.10.1", + "@typescript-eslint/visitor-keys": "3.10.1", + "debug": "^4.1.1", + "glob": "^7.1.6", + "is-glob": "^4.0.1", + "lodash": "^4.17.15", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + }, + "dependencies": { + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==" + } + } + }, + "@typescript-eslint/visitor-keys": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-3.10.1.tgz", + "integrity": "sha512-9JgC82AaQeglebjZMgYR5wgmfUdUc+EitGUUMW8u2nDckaeimzW+VsoLV6FoimPv2id3VQzfjwBxEMVz08ameQ==", + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "abab": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", + "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==" + }, + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" + }, + "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==", + "requires": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "acorn-jsx": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", + "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==" + }, + "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==" + }, + "agent-base": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", + "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "requires": { + "es6-promisify": "^5.0.0" + } + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "requires": { + "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-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==" + }, + "ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "requires": { + "type-fest": "^0.11.0" + }, + "dependencies": { + "type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==" + } + } + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" + }, + "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" + } + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "archiver": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-4.0.2.tgz", + "integrity": "sha512-B9IZjlGwaxF33UN4oPbfBkyA4V1SxNLeIhR1qY8sRXSsbdUkEHrrOvwlYFPx+8uQeCe9M+FG6KgO+imDmQ79CQ==", + "requires": { + "archiver-utils": "^2.1.0", + "async": "^3.2.0", + "buffer-crc32": "^0.2.1", + "glob": "^7.1.6", + "readable-stream": "^3.6.0", + "tar-stream": "^2.1.2", + "zip-stream": "^3.0.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==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "archiver-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz", + "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==", + "requires": { + "glob": "^7.1.4", + "graceful-fs": "^4.2.0", + "lazystream": "^1.0.0", + "lodash.defaults": "^4.2.0", + "lodash.difference": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.union": "^4.6.0", + "normalize-path": "^3.0.0", + "readable-stream": "^2.0.0" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" + }, + "ast-types": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.14.2.tgz", + "integrity": "sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==", + "requires": { + "tslib": "^2.0.1" + } + }, + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==" + }, + "async": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.0.tgz", + "integrity": "sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==" + }, + "async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "optional": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" + }, + "aws-cdk": { + "version": "1.61.0", + "resolved": "https://registry.npmjs.org/aws-cdk/-/aws-cdk-1.61.0.tgz", + "integrity": "sha512-deLtRq3DkiUB/5EN8ZCWLdXY0Uhm+fUvA1WSO8lzEhl71SmD7dyEHqvl7k96WPrIhUkS0nbiz6a+WC0QadIthg==", + "requires": { + "@aws-cdk/cloud-assembly-schema": "1.61.0", + "@aws-cdk/cloudformation-diff": "1.61.0", + "@aws-cdk/cx-api": "1.61.0", + "@aws-cdk/region-info": "1.61.0", + "archiver": "^4.0.2", + "aws-sdk": "^2.739.0", + "camelcase": "^6.0.0", + "cdk-assets": "1.61.0", + "colors": "^1.4.0", + "decamelize": "^4.0.0", + "fs-extra": "^9.0.1", + "glob": "^7.1.6", + "json-diff": "^0.5.4", + "minimatch": ">=3.0", + "promptly": "^3.0.3", + "proxy-agent": "^3.1.1", + "semver": "^7.2.2", + "source-map-support": "^0.5.19", + "table": "^5.4.6", + "uuid": "^8.3.0", + "wrap-ansi": "^7.0.0", + "yaml": "^1.10.0", + "yargs": "^15.4.1" + }, + "dependencies": { + "@aws-cdk/cfnspec": { + "version": "1.61.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/cfnspec/-/cfnspec-1.61.0.tgz", + "integrity": "sha512-Ss5N3unY6iVh9SjYAYvTyvhdb7Kaz6dVFeV8K68UGewiFcHpC5tQi3YmlVBw3HCgKoRt20emiHAfmdfeGO/PUQ==", + "requires": { + "md5": "^2.3.0" + } + }, + "@aws-cdk/cloud-assembly-schema": { + "version": "1.61.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.61.0.tgz", + "integrity": "sha512-+D1K159eNxWDGJNiyQcwczddzqFDS08b2VAJrgJFvqhMNbNWWuYxxxEJoh5jH9iULr2a52WXrrQfF72HbB0jUQ==", + "requires": { + "jsonschema": "^1.2.5", + "semver": "^7.2.2" + } + }, + "@aws-cdk/cloudformation-diff": { + "version": "1.61.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/cloudformation-diff/-/cloudformation-diff-1.61.0.tgz", + "integrity": "sha512-TrrmywhYkXxGNTmDd1k2biJMVtEvb0QcbZ/IGM6biMXIJ+wsjw/n5snvwciQ8/PHZmsUYk67qulGdso1rpy06Q==", + "requires": { + "@aws-cdk/cfnspec": "1.61.0", + "colors": "^1.4.0", + "diff": "^4.0.2", + "fast-deep-equal": "^3.1.3", + "string-width": "^4.2.0", + "table": "^5.4.6" + } + }, + "@aws-cdk/cx-api": { + "version": "1.61.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/cx-api/-/cx-api-1.61.0.tgz", + "integrity": "sha512-SOn1aLhp2Zot1Qqev1REbgL2n0Ccl9sfg1nJMWnGxAmjarazJfvW22llYKnJPuFkgHswaBlifBxAA4WgKbUn6g==", + "requires": { + "@aws-cdk/cloud-assembly-schema": "1.61.0", + "semver": "^7.2.2" + } + }, + "@aws-cdk/region-info": { + "version": "1.61.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/region-info/-/region-info-1.61.0.tgz", + "integrity": "sha512-/10gvecycNJhYM2LIkA0XaoWgUZQ6K5FIIRaf/o4PbgHyR8WTyEPO6lbT0GoKi69TvC+18xzJ4iZ1p3ZdRnUYw==" + }, + "@types/color-name": { + "version": "1.1.1", + "resolved": "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0", + "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==" + }, + "agent-base": { + "version": "4.3.0", + "resolved": "https://registry.yarnpkg.com/agent-base/-/agent-base-4.3.0.tgz#8165f01c436009bccad0b1d122f05ed770efc6ee", + "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "requires": { + "es6-promisify": "^5.0.0" + } + }, + "ajv": { + "version": "6.12.4", + "resolved": "https://registry.yarnpkg.com/ajv/-/ajv-6.12.4.tgz#0614facc4522127fa713445c6bfd3ebd376e2234", + "integrity": "sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ==", + "requires": { + "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-regex": { + "version": "5.0.0", + "resolved": "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" + }, + "ansi-styles": { + "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==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "archiver": { + "version": "4.0.2", + "resolved": "https://registry.yarnpkg.com/archiver/-/archiver-4.0.2.tgz#43c72865eadb4ddaaa2fb74852527b6a450d927c", + "integrity": "sha512-B9IZjlGwaxF33UN4oPbfBkyA4V1SxNLeIhR1qY8sRXSsbdUkEHrrOvwlYFPx+8uQeCe9M+FG6KgO+imDmQ79CQ==", + "requires": { + "archiver-utils": "^2.1.0", + "async": "^3.2.0", + "buffer-crc32": "^0.2.1", + "glob": "^7.1.6", + "readable-stream": "^3.6.0", + "tar-stream": "^2.1.2", + "zip-stream": "^3.0.1" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } + } + } + }, + "archiver-utils": { + "version": "2.1.0", + "resolved": "https://registry.yarnpkg.com/archiver-utils/-/archiver-utils-2.1.0.tgz#e8a460e94b693c3e3da182a098ca6285ba9249e2", + "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==", + "requires": { + "glob": "^7.1.4", + "graceful-fs": "^4.2.0", + "lazystream": "^1.0.0", + "lodash.defaults": "^4.2.0", + "lodash.difference": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.union": "^4.6.0", + "normalize-path": "^3.0.0", + "readable-stream": "^2.0.0" + } + }, + "ast-types": { + "version": "0.14.1", + "resolved": "https://registry.yarnpkg.com/ast-types/-/ast-types-0.14.1.tgz#0b415043770d7a2cbe4b2770271cbd7d2c9f61b9", + "integrity": "sha512-pfSiukbt23P1qMhNnsozLzhMLBs7EEeXqPyvPmnuZM+RMfwfqwDbSVKYflgGuVI7/VehR4oMks0igzdNAg4VeQ==", + "requires": { + "tslib": "^2.0.1" + } + }, + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==" + }, + "async": { + "version": "3.2.0", + "resolved": "https://registry.yarnpkg.com/async/-/async-3.2.0.tgz#b3a2685c5ebb641d3de02d161002c60fc9f85720", + "integrity": "sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==" + }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" + }, + "aws-sdk": { + "version": "2.739.0", + "resolved": "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.739.0.tgz#10b0b29be18c3f0f85ca145cbed8b10793ddc7a7", + "integrity": "sha512-N2XyxY12gs0GJc26O8TmdT30ovEKWsPX787CNW24g0cXTCyc/Teltq0re6yGxfaH0VmN6qONNLr3E59JtJ3neA==", + "requires": { + "buffer": "4.9.2", + "events": "1.1.1", + "ieee754": "1.1.13", + "jmespath": "0.15.0", + "querystring": "0.2.0", + "sax": "1.2.1", + "url": "0.10.3", + "uuid": "3.3.2", + "xml2js": "0.4.19" + }, + "dependencies": { + "buffer": { + "version": "4.9.2", + "resolved": "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "uuid": { + "version": "3.3.2", + "resolved": "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" + } + } + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "base64-js": { + "version": "1.3.1", + "resolved": "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1", + "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" + }, + "bl": { + "version": "4.0.2", + "resolved": "https://registry.yarnpkg.com/bl/-/bl-4.0.2.tgz#52b71e9088515d0606d9dd9cc7aa48dc1f98e73a", + "integrity": "sha512-j4OH8f6Qg2bGuWfRiltT2HYGx0e1QcBTrK9KAHNMwMZdQnDZFk0ZSYIpADjYCB3U12nicC5tVJwSIhwOWjb4RQ==", + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } + } + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "buffer": { + "version": "5.6.0", + "resolved": "https://registry.yarnpkg.com/buffer/-/buffer-5.6.0.tgz#a31749dc7d81d84db08abf937b6b8c4033f62786", + "integrity": "sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + }, + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + }, + "camelcase": { + "version": "6.0.0", + "resolved": "https://registry.yarnpkg.com/camelcase/-/camelcase-6.0.0.tgz#5259f7c30e35e278f1bdc2a4d91230b37cad981e", + "integrity": "sha512-8KMDF1Vz2gzOq54ONPJS65IvTUaB1cHJ2DMM7MbPmLZljDH1qpzzLsWdiN9pHh6qvkRVDTi/07+eNGch/oLU4w==" + }, + "cdk-assets": { + "version": "1.61.0", + "resolved": "https://registry.npmjs.org/cdk-assets/-/cdk-assets-1.61.0.tgz", + "integrity": "sha512-nZJNQq6vktb5j8xl+IYLWbN82E6EVANJQIZvOM1H/SLuYsjyuoAlIxBp6e50XqYRApnLYJ7BpDdAnLWOmfY8MQ==", + "requires": { + "@aws-cdk/cloud-assembly-schema": "1.61.0", + "@aws-cdk/cx-api": "1.61.0", + "archiver": "^4.0.2", + "aws-sdk": "^2.739.0", + "glob": "^7.1.6", + "yargs": "^15.4.1" + } + }, + "charenc": { + "version": "0.0.2", + "resolved": "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667", + "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=" + }, + "cli-color": { + "version": "0.1.7", + "resolved": "https://registry.yarnpkg.com/cli-color/-/cli-color-0.1.7.tgz#adc3200fa471cc211b0da7f566b71e98b9d67347", + "integrity": "sha1-rcMgD6RxzCEbDaf1ZrcemLnWc0c=", + "requires": { + "es5-ext": "0.8.x" + } + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" + }, + "color-convert": { + "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==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "colors": { + "version": "1.4.0", + "resolved": "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" + }, + "compress-commons": { + "version": "3.0.0", + "resolved": "https://registry.yarnpkg.com/compress-commons/-/compress-commons-3.0.0.tgz#833944d84596e537224dd91cf92f5246823d4f1d", + "integrity": "sha512-FyDqr8TKX5/X0qo+aVfaZ+PVmNJHJeckFBlq8jZGSJOgnynhfifoyl24qaqdUdDIBe0EVTHByN6NAkqYvE/2Xg==", + "requires": { + "buffer-crc32": "^0.2.13", + "crc32-stream": "^3.0.1", + "normalize-path": "^3.0.0", + "readable-stream": "^2.3.7" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "crc": { + "version": "3.8.0", + "resolved": "https://registry.yarnpkg.com/crc/-/crc-3.8.0.tgz#ad60269c2c856f8c299e2c4cc0de4556914056c6", + "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==", + "requires": { + "buffer": "^5.1.0" + } + }, + "crc32-stream": { + "version": "3.0.1", + "resolved": "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-3.0.1.tgz#cae6eeed003b0e44d739d279de5ae63b171b4e85", + "integrity": "sha512-mctvpXlbzsvK+6z8kJwSJ5crm7yBwrQMTybJzMw1O4lLGJqjlDCXY2Zw7KheiA6XBEcBmfLx1D88mjRGVJtY9w==", + "requires": { + "crc": "^3.4.4", + "readable-stream": "^3.4.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } + } + } + }, + "crypt": { + "version": "0.0.2", + "resolved": "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b", + "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=" + }, + "data-uri-to-buffer": { + "version": "1.2.0", + "resolved": "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-1.2.0.tgz#77163ea9c20d8641b4707e8f18abdf9a78f34835", + "integrity": "sha512-vKQ9DTQPN1FLYiiEEOQ6IBGFqvjCa5rSK3cWMy/Nespm5d/x3dGFT9UBZnkLxCwua/IXBi2TYnwTEpsOvhC4UQ==" + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + }, + "decamelize": { + "version": "4.0.0", + "resolved": "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==" + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" + }, + "degenerator": { + "version": "1.0.4", + "resolved": "https://registry.yarnpkg.com/degenerator/-/degenerator-1.0.4.tgz#fcf490a37ece266464d9cc431ab98c5819ced095", + "integrity": "sha1-/PSQo37OJmRk2cxDGrmMWBnO0JU=", + "requires": { + "ast-types": "0.x.x", + "escodegen": "1.x.x", + "esprima": "3.x.x" + } + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "diff": { + "version": "4.0.2", + "resolved": "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" + }, + "difflib": { + "version": "0.2.4", + "resolved": "https://registry.yarnpkg.com/difflib/-/difflib-0.2.4.tgz#b5e30361a6db023176d562892db85940a718f47e", + "integrity": "sha1-teMDYabbAjF21WKJLbhZQKcY9H4=", + "requires": { + "heap": ">= 0.2.0" + } + }, + "dreamopt": { + "version": "0.6.0", + "resolved": "https://registry.yarnpkg.com/dreamopt/-/dreamopt-0.6.0.tgz#d813ccdac8d39d8ad526775514a13dda664d6b4b", + "integrity": "sha1-2BPM2sjTnYrVJndVFKE92mZNa0s=", + "requires": { + "wordwrap": ">=0.0.2" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "requires": { + "once": "^1.4.0" + } + }, + "es5-ext": { + "version": "0.8.2", + "resolved": "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.8.2.tgz#aba8d9e1943a895ac96837a62a39b3f55ecd94ab", + "integrity": "sha1-q6jZ4ZQ6iVrJaDemKjmz9V7NlKs=" + }, + "es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" + }, + "es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203", + "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "requires": { + "es6-promise": "^4.0.3" + } + }, + "escodegen": { + "version": "1.14.3", + "resolved": "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "requires": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + } + } + }, + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=" + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + }, + "events": { + "version": "1.1.1", + "resolved": "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924", + "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "fast-deep-equal": { + "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-json-stable-stringify": { + "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": { + "version": "2.0.6", + "resolved": "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, + "fs-extra": { + "version": "9.0.1", + "resolved": "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc", + "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "ftp": { + "version": "0.3.10", + "resolved": "https://registry.yarnpkg.com/ftp/-/ftp-0.3.10.tgz#9197d861ad8142f3e63d5a83bfe4c59f7330885d", + "integrity": "sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0=", + "requires": { + "readable-stream": "1.1.x", + "xregexp": "2.0.0" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "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.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + } + } + }, + "get-caller-file": { + "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-uri": { + "version": "2.0.4", + "resolved": "https://registry.yarnpkg.com/get-uri/-/get-uri-2.0.4.tgz#d4937ab819e218d4cb5ae18e4f5962bef169cc6a", + "integrity": "sha512-v7LT/s8kVjs+Tx0ykk1I+H/rbpzkHvuIq87LmeXptcf5sNWm9uQiwjNAt94SJPA1zOlCntmnOlJvVWKmzsxG8Q==", + "requires": { + "data-uri-to-buffer": "1", + "debug": "2", + "extend": "~3.0.2", + "file-uri-to-path": "1", + "ftp": "~0.3.10", + "readable-stream": "2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "requires": { + "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" + } + }, + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" + }, + "heap": { + "version": "0.2.6", + "resolved": "https://registry.yarnpkg.com/heap/-/heap-0.2.6.tgz#087e1f10b046932fc8594dd9e6d378afc9d1e5ac", + "integrity": "sha1-CH4fELBGky/IWU3Z5tN4r8nR5aw=" + }, + "http-errors": { + "version": "1.7.3", + "resolved": "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06", + "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + } + }, + "http-proxy-agent": { + "version": "2.1.0", + "resolved": "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz#e4821beef5b2142a2026bd73926fe537631c5405", + "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==", + "requires": { + "agent-base": "4", + "debug": "3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "https-proxy-agent": { + "version": "3.0.1", + "resolved": "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-3.0.1.tgz#b8c286433e87602311b01c8ea34413d856a4af81", + "integrity": "sha512-+ML2Rbh6DAuee7d07tYGEKOEi2voWPUGan+ExdPbPW6Z3svq+JCqr0v8WmKPOkz1vOVykPCBSuobe7G8GJUtVg==", + "requires": { + "agent-base": "^4.3.0", + "debug": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ieee754": { + "version": "1.1.13", + "resolved": "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "is-fullwidth-code-point": { + "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==" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "jmespath": { + "version": "0.15.0", + "resolved": "https://registry.yarnpkg.com/jmespath/-/jmespath-0.15.0.tgz#a3f222a9aae9f966f5d27c796510e28091764217", + "integrity": "sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc=" + }, + "json-diff": { + "version": "0.5.4", + "resolved": "https://registry.yarnpkg.com/json-diff/-/json-diff-0.5.4.tgz#7bc8198c441756632aab66c7d9189d365a7a035a", + "integrity": "sha512-q5Xmx9QXNOzOzIlMoYtLrLiu4Jl/Ce2bn0CNcv54PhyH89CI4GWlGVDye8ei2Ijt9R3U+vsWPsXpLUNob8bs8Q==", + "requires": { + "cli-color": "~0.1.6", + "difflib": "~0.2.1", + "dreamopt": "~0.6.0" + } + }, + "json-schema-traverse": { + "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==" + }, + "jsonfile": { + "version": "6.0.1", + "resolved": "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.0.1.tgz#98966cba214378c8c84b82e085907b40bf614179", + "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==", + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^1.0.0" + } + }, + "jsonschema": { + "version": "1.2.6", + "resolved": "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.2.6.tgz#52b0a8e9dc06bbae7295249d03e4b9faee8a0c0b", + "integrity": "sha512-SqhURKZG07JyKKeo/ir24QnS4/BV7a6gQy93bUSe4lUdNp0QNpIz2c9elWJQ9dpc5cQYY6cvCzgRwy0MQCLyqA==" + }, + "lazystream": { + "version": "1.0.0", + "resolved": "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4", + "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", + "requires": { + "readable-stream": "^2.0.5" + } + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" + }, + "lodash.defaults": { + "version": "4.2.0", + "resolved": "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c", + "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" + }, + "lodash.difference": { + "version": "4.5.0", + "resolved": "https://registry.yarnpkg.com/lodash.difference/-/lodash.difference-4.5.0.tgz#9ccb4e505d486b91651345772885a2df27fd017c", + "integrity": "sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw=" + }, + "lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f", + "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=" + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb", + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" + }, + "lodash.union": { + "version": "4.6.0", + "resolved": "https://registry.yarnpkg.com/lodash.union/-/lodash.union-4.6.0.tgz#48bb5088409f16f1821666641c44dd1aaae3cd88", + "integrity": "sha1-SLtQiECfFvGCFmZkHETdGqrjzYg=" + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "requires": { + "yallist": "^3.0.2" + } + }, + "md5": { + "version": "2.3.0", + "resolved": "https://registry.yarnpkg.com/md5/-/md5-2.3.0.tgz#c3da9a6aae3a30b46b7b0c349b87b110dc3bda4f", + "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", + "requires": { + "charenc": "0.0.2", + "crypt": "0.0.2", + "is-buffer": "~1.1.6" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" + }, + "netmask": { + "version": "1.0.6", + "resolved": "https://registry.yarnpkg.com/netmask/-/netmask-1.0.6.tgz#20297e89d86f6f6400f250d9f4f6b4c1945fcd35", + "integrity": "sha1-ICl+idhvb2QA8lDZ9Pa0wZRfzTU=" + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "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" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "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==", + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + }, + "pac-proxy-agent": { + "version": "3.0.1", + "resolved": "https://registry.yarnpkg.com/pac-proxy-agent/-/pac-proxy-agent-3.0.1.tgz#115b1e58f92576cac2eba718593ca7b0e37de2ad", + "integrity": "sha512-44DUg21G/liUZ48dJpUSjZnFfZro/0K5JTyFYLBcmh9+T6Ooi4/i4efwUiEy0+4oQusCBqWdhv16XohIj1GqnQ==", + "requires": { + "agent-base": "^4.2.0", + "debug": "^4.1.1", + "get-uri": "^2.0.0", + "http-proxy-agent": "^2.1.0", + "https-proxy-agent": "^3.0.0", + "pac-resolver": "^3.0.0", + "raw-body": "^2.2.0", + "socks-proxy-agent": "^4.0.1" + } + }, + "pac-resolver": { + "version": "3.0.0", + "resolved": "https://registry.yarnpkg.com/pac-resolver/-/pac-resolver-3.0.0.tgz#6aea30787db0a891704deb7800a722a7615a6f26", + "integrity": "sha512-tcc38bsjuE3XZ5+4vP96OfhOugrX+JcnpUbhfuc4LuXBLQhoTthOstZeoQJBDnQUDYzYmdImKsbz0xSl1/9qeA==", + "requires": { + "co": "^4.6.0", + "degenerator": "^1.0.4", + "ip": "^1.1.5", + "netmask": "^1.0.6", + "thunkify": "^2.1.2" + } + }, + "path-exists": { + "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": { + "version": "1.0.1", + "resolved": "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" + }, + "process-nextick-args": { + "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==" + }, + "promptly": { + "version": "3.0.3", + "resolved": "https://registry.yarnpkg.com/promptly/-/promptly-3.0.3.tgz#e178f722e73d82c60d019462044bccfdd9872f42", + "integrity": "sha512-EWnzOsxVKUjqKeE6SStH1/cO4+DE44QolaoJ4ojGd9z6pcNkpgfJKr1ncwxrOFHSTIzoudo7jG8y0re30/LO1g==", + "requires": { + "pify": "^3.0.0", + "read": "^1.0.4" + } + }, + "proxy-agent": { + "version": "3.1.1", + "resolved": "https://registry.yarnpkg.com/proxy-agent/-/proxy-agent-3.1.1.tgz#7e04e06bf36afa624a1540be247b47c970bd3014", + "integrity": "sha512-WudaR0eTsDx33O3EJE16PjBRZWcX8GqCEeERw1W3hZJgH/F2a46g7jty6UGty6NeJ4CKQy8ds2CJPMiyeqaTvw==", + "requires": { + "agent-base": "^4.2.0", + "debug": "4", + "http-proxy-agent": "^2.1.0", + "https-proxy-agent": "^3.0.0", + "lru-cache": "^5.1.1", + "pac-proxy-agent": "^3.0.1", + "proxy-from-env": "^1.0.0", + "socks-proxy-agent": "^4.0.1" + } + }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + }, + "raw-body": { + "version": "2.4.1", + "resolved": "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.1.tgz#30ac82f98bb5ae8c152e67149dac8d55153b168c", + "integrity": "sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==", + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.3", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "read": { + "version": "1.0.7", + "resolved": "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4", + "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=", + "requires": { + "mute-stream": "~0.0.4" + } + }, + "readable-stream": { + "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==", + "requires": { + "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" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + }, + "safe-buffer": { + "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": { + "version": "2.1.2", + "resolved": "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "sax": { + "version": "1.2.1", + "resolved": "https://registry.yarnpkg.com/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a", + "integrity": "sha1-e45lYZCyKOgaZq6nSEgNgozS03o=" + }, + "semver": { + "version": "7.3.2", + "resolved": "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==" + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + }, + "slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + } + } + }, + "smart-buffer": { + "version": "4.1.0", + "resolved": "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.1.0.tgz#91605c25d91652f4661ea69ccf45f1b331ca21ba", + "integrity": "sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==" + }, + "socks": { + "version": "2.3.3", + "resolved": "https://registry.yarnpkg.com/socks/-/socks-2.3.3.tgz#01129f0a5d534d2b897712ed8aceab7ee65d78e3", + "integrity": "sha512-o5t52PCNtVdiOvzMry7wU4aOqYWL0PeCXRWBEiJow4/i/wr+wpsJQ9awEu1EonLIqsfGd5qSgDdxEOvCdmBEpA==", + "requires": { + "ip": "1.1.5", + "smart-buffer": "^4.1.0" + } + }, + "socks-proxy-agent": { + "version": "4.0.2", + "resolved": "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-4.0.2.tgz#3c8991f3145b2799e70e11bd5fbc8b1963116386", + "integrity": "sha512-NT6syHhI9LmuEMSK6Kd2V7gNv5KFZoLE7V5udWmn0de+3Mkj3UMA/AJPLyeNUVmElCurSHtUdM3ETpR3z770Wg==", + "requires": { + "agent-base": "~4.2.1", + "socks": "~2.3.2" + }, + "dependencies": { + "agent-base": { + "version": "4.2.1", + "resolved": "https://registry.yarnpkg.com/agent-base/-/agent-base-4.2.1.tgz#d89e5999f797875674c07d87f260fc41e83e8ca9", + "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==", + "requires": { + "es6-promisify": "^5.0.0" + } + } + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "string_decoder": { + "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==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "table": { + "version": "5.4.6", + "resolved": "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "requires": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961", + "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.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "tar-stream": { + "version": "2.1.3", + "resolved": "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.1.3.tgz#1e2022559221b7866161660f118255e20fa79e41", + "integrity": "sha512-Z9yri56Dih8IaK8gncVPx4Wqt86NDmQTSh49XLZgjWpGZL9GK9HKParS2scqHCC4w6X9Gh2jwaU45V47XTKwVA==", + "requires": { + "bl": "^4.0.1", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } + } + } + }, + "thunkify": { + "version": "2.1.2", + "resolved": "https://registry.yarnpkg.com/thunkify/-/thunkify-2.1.2.tgz#faa0e9d230c51acc95ca13a361ac05ca7e04553d", + "integrity": "sha1-+qDp0jDFGsyVyhOjYawFyn4EVT0=" + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + }, + "tslib": { + "version": "2.0.1", + "resolved": "https://registry.yarnpkg.com/tslib/-/tslib-2.0.1.tgz#410eb0d113e5b6356490eec749603725b021b43e", + "integrity": "sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==" + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "universalify": { + "version": "1.0.0", + "resolved": "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d", + "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==" + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "requires": { + "punycode": "^2.1.0" + }, + "dependencies": { + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + } + } + }, + "url": { + "version": "0.10.3", + "resolved": "https://registry.yarnpkg.com/url/-/url-0.10.3.tgz#021e4d9c7705f21bbf37d03ceb58767402774c64", + "integrity": "sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=", + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "uuid": { + "version": "8.3.0", + "resolved": "https://registry.yarnpkg.com/uuid/-/uuid-8.3.0.tgz#ab738085ca22dc9a8c92725e459b1d507df5d6ea", + "integrity": "sha512-fX6Z5o4m6XsXBdli9g7DtWgAx+osMsRRZFKma1mIUsLCz6vRvv+pz5VNbyu9UEDzpMWulZfvpgb/cmDXVulYFQ==" + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, + "word-wrap": { + "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==" + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=" + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "xml2js": { + "version": "0.4.19", + "resolved": "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.19.tgz#686c20f213209e94abf0d1bcf1efaa291c7827a7", + "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==", + "requires": { + "sax": ">=0.6.0", + "xmlbuilder": "~9.0.1" + }, + "dependencies": { + "sax": { + "version": "1.2.4", + "resolved": "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + } + } + }, + "xmlbuilder": { + "version": "9.0.7", + "resolved": "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d", + "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=" + }, + "xregexp": { + "version": "2.0.0", + "resolved": "https://registry.yarnpkg.com/xregexp/-/xregexp-2.0.0.tgz#52a63e56ca0b84a7f3a5f3d61872f126ad7a5943", + "integrity": "sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM=" + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "yaml": { + "version": "1.10.0", + "resolved": "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e", + "integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==" + }, + "yargs": { + "version": "15.4.1", + "resolved": "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.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": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "dependencies": { + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + } + } + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + } + } + }, + "zip-stream": { + "version": "3.0.1", + "resolved": "https://registry.yarnpkg.com/zip-stream/-/zip-stream-3.0.1.tgz#cb8db9d324a76c09f9b76b31a12a48638b0b9708", + "integrity": "sha512-r+JdDipt93ttDjsOVPU5zaq5bAyY+3H19bDrThkvuVxC0xMQzU1PJcS6D+KrP3u96gH9XLomcHPb+2skoDjulQ==", + "requires": { + "archiver-utils": "^2.1.0", + "compress-commons": "^3.0.0", + "readable-stream": "^3.6.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } + } + } + } + } + }, + "aws-sdk": { + "version": "2.797.0", + "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.797.0.tgz", + "integrity": "sha512-fFc/2Xr7NkSXlZ9+2rCOFovA9NO1OnIyEaJFVwMM9gaqzucwRAfNNT0Pa1Kua5dhWrcf/mX0Z4mCDnTBf0/5mA==", + "requires": { + "buffer": "4.9.2", + "events": "1.1.1", + "ieee754": "1.1.13", + "jmespath": "0.15.0", + "querystring": "0.2.0", + "sax": "1.2.1", + "url": "0.10.3", + "uuid": "3.3.2", + "xml2js": "0.4.19" + } + }, + "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=" + }, + "aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" + }, + "babel-jest": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-26.6.3.tgz", + "integrity": "sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==", + "requires": { + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/babel__core": "^7.1.7", + "babel-plugin-istanbul": "^6.0.0", + "babel-preset-jest": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "slash": "^3.0.0" + }, + "dependencies": { + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + } + } + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "requires": { + "object.assign": "^4.1.0" + } + }, + "babel-plugin-istanbul": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz", + "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^4.0.0", + "test-exclude": "^6.0.0" + } + }, + "babel-plugin-jest-hoist": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz", + "integrity": "sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==", + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-preset-current-node-syntax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.0.tgz", + "integrity": "sha512-mGkvkpocWJes1CmMKtgGUwCeeq0pOhALyymozzDWYomHTbDLwueDYG6p4TK1YOeYHCzBzYPsWkgTto10JubI1Q==", + "requires": { + "@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": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz", + "integrity": "sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==", + "requires": { + "babel-plugin-jest-hoist": "^26.6.2", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "optional": true + }, + "bl": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.0.3.tgz", + "integrity": "sha512-fs4G6/Hu4/EE+F75J8DuN/0IpQqNjAdC7aEQv7Qt8MHGUH7Ckv2MwTEEeN9QehD0pfIDkMI1bkHYkKy7xHyKIg==", + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + }, + "dependencies": { + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "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==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "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==" + }, + "browserslist": { + "version": "4.14.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.14.7.tgz", + "integrity": "sha512-BSVRLCeG3Xt/j/1cCGj1019Wbty0H+Yvu2AOuZSuoaUWn3RatbL33Cxk+Q4jRMRAbOm0p7SLravLjpnT6s0vzQ==", + "requires": { + "caniuse-lite": "^1.0.30001157", + "colorette": "^1.2.1", + "electron-to-chromium": "^1.3.591", + "escalade": "^3.1.1", + "node-releases": "^1.1.66" + } + }, + "bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "requires": { + "fast-json-stable-stringify": "2.x" + } + }, + "bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "requires": { + "node-int64": "^0.4.0" + } + }, + "buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + }, + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "call-bind": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz", + "integrity": "sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.0" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + }, + "camelcase": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", + "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==" + }, + "caniuse-lite": { + "version": "1.0.30001159", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001159.tgz", + "integrity": "sha512-w9Ph56jOsS8RL20K9cLND3u/+5WASWdhC/PPrf+V3/HsM3uHOavWOR1Xzakbv4Puo/srmPHudkmCRWM7Aq+/UA==" + }, + "capture-exit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", + "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", + "requires": { + "rsvp": "^4.8.4" + } + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + }, + "cdk-assets": { + "version": "1.61.0", + "resolved": "https://registry.npmjs.org/cdk-assets/-/cdk-assets-1.61.0.tgz", + "integrity": "sha512-nZJNQq6vktb5j8xl+IYLWbN82E6EVANJQIZvOM1H/SLuYsjyuoAlIxBp6e50XqYRApnLYJ7BpDdAnLWOmfY8MQ==", + "requires": { + "@aws-cdk/cloud-assembly-schema": "1.61.0", + "@aws-cdk/cx-api": "1.61.0", + "archiver": "^4.0.2", + "aws-sdk": "^2.739.0", + "glob": "^7.1.6", + "yargs": "^15.4.1" + }, + "dependencies": { + "@aws-cdk/cloud-assembly-schema": { + "version": "1.61.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.61.0.tgz", + "integrity": "sha512-+D1K159eNxWDGJNiyQcwczddzqFDS08b2VAJrgJFvqhMNbNWWuYxxxEJoh5jH9iULr2a52WXrrQfF72HbB0jUQ==", + "requires": { + "jsonschema": "^1.2.5", + "semver": "^7.2.2" + } + }, + "@aws-cdk/cx-api": { + "version": "1.61.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/cx-api/-/cx-api-1.61.0.tgz", + "integrity": "sha512-SOn1aLhp2Zot1Qqev1REbgL2n0Ccl9sfg1nJMWnGxAmjarazJfvW22llYKnJPuFkgHswaBlifBxAA4WgKbUn6g==", + "requires": { + "@aws-cdk/cloud-assembly-schema": "1.61.0", + "semver": "^7.2.2" + } + }, + "@types/color-name": { + "version": "1.1.1", + "resolved": "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0", + "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==" + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "archiver": { + "version": "4.0.2", + "resolved": "https://registry.yarnpkg.com/archiver/-/archiver-4.0.2.tgz#43c72865eadb4ddaaa2fb74852527b6a450d927c", + "integrity": "sha512-B9IZjlGwaxF33UN4oPbfBkyA4V1SxNLeIhR1qY8sRXSsbdUkEHrrOvwlYFPx+8uQeCe9M+FG6KgO+imDmQ79CQ==", + "requires": { + "archiver-utils": "^2.1.0", + "async": "^3.2.0", + "buffer-crc32": "^0.2.1", + "glob": "^7.1.6", + "readable-stream": "^3.6.0", + "tar-stream": "^2.1.2", + "zip-stream": "^3.0.1" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } + } + } + }, + "archiver-utils": { + "version": "2.1.0", + "resolved": "https://registry.yarnpkg.com/archiver-utils/-/archiver-utils-2.1.0.tgz#e8a460e94b693c3e3da182a098ca6285ba9249e2", + "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==", + "requires": { + "glob": "^7.1.4", + "graceful-fs": "^4.2.0", + "lazystream": "^1.0.0", + "lodash.defaults": "^4.2.0", + "lodash.difference": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.union": "^4.6.0", + "normalize-path": "^3.0.0", + "readable-stream": "^2.0.0" + } + }, + "async": { + "version": "3.2.0", + "resolved": "https://registry.yarnpkg.com/async/-/async-3.2.0.tgz#b3a2685c5ebb641d3de02d161002c60fc9f85720", + "integrity": "sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==" + }, + "aws-sdk": { + "version": "2.739.0", + "resolved": "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.739.0.tgz#10b0b29be18c3f0f85ca145cbed8b10793ddc7a7", + "integrity": "sha512-N2XyxY12gs0GJc26O8TmdT30ovEKWsPX787CNW24g0cXTCyc/Teltq0re6yGxfaH0VmN6qONNLr3E59JtJ3neA==", + "requires": { + "buffer": "4.9.2", + "events": "1.1.1", + "ieee754": "1.1.13", + "jmespath": "0.15.0", + "querystring": "0.2.0", + "sax": "1.2.1", + "url": "0.10.3", + "uuid": "3.3.2", + "xml2js": "0.4.19" + }, + "dependencies": { + "buffer": { + "version": "4.9.2", + "resolved": "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + } + } + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "base64-js": { + "version": "1.3.1", + "resolved": "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1", + "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" + }, + "bl": { + "version": "4.0.2", + "resolved": "https://registry.yarnpkg.com/bl/-/bl-4.0.2.tgz#52b71e9088515d0606d9dd9cc7aa48dc1f98e73a", + "integrity": "sha512-j4OH8f6Qg2bGuWfRiltT2HYGx0e1QcBTrK9KAHNMwMZdQnDZFk0ZSYIpADjYCB3U12nicC5tVJwSIhwOWjb4RQ==", + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } + } + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "buffer": { + "version": "5.6.0", + "resolved": "https://registry.yarnpkg.com/buffer/-/buffer-5.6.0.tgz#a31749dc7d81d84db08abf937b6b8c4033f62786", + "integrity": "sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "color-convert": { + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "compress-commons": { + "version": "3.0.0", + "resolved": "https://registry.yarnpkg.com/compress-commons/-/compress-commons-3.0.0.tgz#833944d84596e537224dd91cf92f5246823d4f1d", + "integrity": "sha512-FyDqr8TKX5/X0qo+aVfaZ+PVmNJHJeckFBlq8jZGSJOgnynhfifoyl24qaqdUdDIBe0EVTHByN6NAkqYvE/2Xg==", + "requires": { + "buffer-crc32": "^0.2.13", + "crc32-stream": "^3.0.1", + "normalize-path": "^3.0.0", + "readable-stream": "^2.3.7" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "crc": { + "version": "3.8.0", + "resolved": "https://registry.yarnpkg.com/crc/-/crc-3.8.0.tgz#ad60269c2c856f8c299e2c4cc0de4556914056c6", + "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==", + "requires": { + "buffer": "^5.1.0" + } + }, + "crc32-stream": { + "version": "3.0.1", + "resolved": "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-3.0.1.tgz#cae6eeed003b0e44d739d279de5ae63b171b4e85", + "integrity": "sha512-mctvpXlbzsvK+6z8kJwSJ5crm7yBwrQMTybJzMw1O4lLGJqjlDCXY2Zw7KheiA6XBEcBmfLx1D88mjRGVJtY9w==", + "requires": { + "crc": "^3.4.4", + "readable-stream": "^3.4.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } + } + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "requires": { + "once": "^1.4.0" + } + }, + "events": { + "version": "1.1.1", + "resolved": "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924", + "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "get-caller-file": { + "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==" + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "requires": { + "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" + } + }, + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" + }, + "ieee754": { + "version": "1.1.13", + "resolved": "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "is-fullwidth-code-point": { + "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==" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "jmespath": { + "version": "0.15.0", + "resolved": "https://registry.yarnpkg.com/jmespath/-/jmespath-0.15.0.tgz#a3f222a9aae9f966f5d27c796510e28091764217", + "integrity": "sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc=" + }, + "jsonschema": { + "version": "1.2.6", + "resolved": "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.2.6.tgz#52b0a8e9dc06bbae7295249d03e4b9faee8a0c0b", + "integrity": "sha512-SqhURKZG07JyKKeo/ir24QnS4/BV7a6gQy93bUSe4lUdNp0QNpIz2c9elWJQ9dpc5cQYY6cvCzgRwy0MQCLyqA==" + }, + "lazystream": { + "version": "1.0.0", + "resolved": "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4", + "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", + "requires": { + "readable-stream": "^2.0.5" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash.defaults": { + "version": "4.2.0", + "resolved": "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c", + "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" + }, + "lodash.difference": { + "version": "4.5.0", + "resolved": "https://registry.yarnpkg.com/lodash.difference/-/lodash.difference-4.5.0.tgz#9ccb4e505d486b91651345772885a2df27fd017c", + "integrity": "sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw=" + }, + "lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f", + "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=" + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb", + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" + }, + "lodash.union": { + "version": "4.6.0", + "resolved": "https://registry.yarnpkg.com/lodash.union/-/lodash.union-4.6.0.tgz#48bb5088409f16f1821666641c44dd1aaae3cd88", + "integrity": "sha1-SLtQiECfFvGCFmZkHETdGqrjzYg=" + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "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==", + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + }, + "path-exists": { + "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": { + "version": "1.0.1", + "resolved": "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "process-nextick-args": { + "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==" + }, + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + }, + "readable-stream": { + "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==", + "requires": { + "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" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "sax": { + "version": "1.2.1", + "resolved": "https://registry.yarnpkg.com/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a", + "integrity": "sha1-e45lYZCyKOgaZq6nSEgNgozS03o=" + }, + "semver": { + "version": "7.3.2", + "resolved": "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==" + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "string_decoder": { + "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==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "tar-stream": { + "version": "2.1.3", + "resolved": "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.1.3.tgz#1e2022559221b7866161660f118255e20fa79e41", + "integrity": "sha512-Z9yri56Dih8IaK8gncVPx4Wqt86NDmQTSh49XLZgjWpGZL9GK9HKParS2scqHCC4w6X9Gh2jwaU45V47XTKwVA==", + "requires": { + "bl": "^4.0.1", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } + } + } + }, + "url": { + "version": "0.10.3", + "resolved": "https://registry.yarnpkg.com/url/-/url-0.10.3.tgz#021e4d9c7705f21bbf37d03ceb58767402774c64", + "integrity": "sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=", + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "uuid": { + "version": "3.3.2", + "resolved": "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "xml2js": { + "version": "0.4.19", + "resolved": "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.19.tgz#686c20f213209e94abf0d1bcf1efaa291c7827a7", + "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==", + "requires": { + "sax": ">=0.6.0", + "xmlbuilder": "~9.0.1" + }, + "dependencies": { + "sax": { + "version": "1.2.4", + "resolved": "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + } + } + }, + "xmlbuilder": { + "version": "9.0.7", + "resolved": "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d", + "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=" + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" + }, + "yargs": { + "version": "15.4.1", + "resolved": "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.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": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + } + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "zip-stream": { + "version": "3.0.1", + "resolved": "https://registry.yarnpkg.com/zip-stream/-/zip-stream-3.0.1.tgz#cb8db9d324a76c09f9b76b31a12a48638b0b9708", + "integrity": "sha512-r+JdDipt93ttDjsOVPU5zaq5bAyY+3H19bDrThkvuVxC0xMQzU1PJcS6D+KrP3u96gH9XLomcHPb+2skoDjulQ==", + "requires": { + "archiver-utils": "^2.1.0", + "compress-commons": "^3.0.0", + "readable-stream": "^3.6.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } + } + } + } + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==" + }, + "charenc": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=" + }, + "chokidar": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", + "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==", + "optional": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" + }, + "dependencies": { + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "optional": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "binary-extensions": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", + "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", + "optional": true + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "optional": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "optional": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "optional": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "optional": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "optional": true + }, + "readdirp": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "optional": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "to-regex-range": { + "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==", + "optional": true, + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + }, + "cjs-module-lexer": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz", + "integrity": "sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw==" + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "cli-color": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/cli-color/-/cli-color-0.1.7.tgz", + "integrity": "sha1-rcMgD6RxzCEbDaf1ZrcemLnWc0c=", + "requires": { + "es5-ext": "0.8.x" + } + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" + }, + "collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==" + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.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": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "colorette": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", + "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==" + }, + "colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==" + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" + }, + "compress-commons": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-3.0.0.tgz", + "integrity": "sha512-FyDqr8TKX5/X0qo+aVfaZ+PVmNJHJeckFBlq8jZGSJOgnynhfifoyl24qaqdUdDIBe0EVTHByN6NAkqYvE/2Xg==", + "requires": { + "buffer-crc32": "^0.2.13", + "crc32-stream": "^3.0.1", + "normalize-path": "^3.0.0", + "readable-stream": "^2.3.7" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "constructs": { + "version": "3.2.37", + "resolved": "https://registry.npmjs.org/constructs/-/constructs-3.2.37.tgz", + "integrity": "sha512-Z2dVwVaaw8cDIOeWT5smfgC4BLhkXK7JAfUUDtoB5WhUIIUZpRX+Pd5ZE6UrEuXSQkaJHUT6MVGxgBFZR3DpxQ==" + }, + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" + }, + "core-js": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.7.0.tgz", + "integrity": "sha512-NwS7fI5M5B85EwpWuIwJN4i/fbisQUwLwiSNUWeXlkAZ0sbBjLEvLvFLf1uzAUV66PcEPt4xCGCmOZSxVf3xzA==" + }, + "core-js-compat": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.7.0.tgz", + "integrity": "sha512-V8yBI3+ZLDVomoWICO6kq/CD28Y4r1M7CWeO4AGpMdMfseu8bkSubBmUPySMGKRTS+su4XQ07zUkAsiu9FCWTg==", + "requires": { + "browserslist": "^4.14.6", + "semver": "7.0.0" + }, + "dependencies": { + "semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==" + } + } + }, + "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=" + }, + "crc": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/crc/-/crc-3.8.0.tgz", + "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==", + "requires": { + "buffer": "^5.1.0" + }, + "dependencies": { + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + } + } + }, + "crc32-stream": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-3.0.1.tgz", + "integrity": "sha512-mctvpXlbzsvK+6z8kJwSJ5crm7yBwrQMTybJzMw1O4lLGJqjlDCXY2Zw7KheiA6XBEcBmfLx1D88mjRGVJtY9w==", + "requires": { + "crc": "^3.4.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==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "crypt": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=" + }, + "cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" + }, + "cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "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==" + } + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "data-uri-to-buffer": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-1.2.0.tgz", + "integrity": "sha512-vKQ9DTQPN1FLYiiEEOQ6IBGFqvjCa5rSK3cWMy/Nespm5d/x3dGFT9UBZnkLxCwua/IXBi2TYnwTEpsOvhC4UQ==" + }, + "data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "requires": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==" + }, + "decimal.js": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.2.1.tgz", + "integrity": "sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw==" + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" + }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "requires": { + "object-keys": "^1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "degenerator": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-1.0.4.tgz", + "integrity": "sha1-/PSQo37OJmRk2cxDGrmMWBnO0JU=", + "requires": { + "ast-types": "0.x.x", + "escodegen": "1.x.x", + "esprima": "3.x.x" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==" + }, + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" + }, + "diff-sequences": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", + "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==" + }, + "difflib": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/difflib/-/difflib-0.2.4.tgz", + "integrity": "sha1-teMDYabbAjF21WKJLbhZQKcY9H4=", + "requires": { + "heap": ">= 0.2.0" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "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==", + "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==" + } + } + }, + "dreamopt": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/dreamopt/-/dreamopt-0.6.0.tgz", + "integrity": "sha1-2BPM2sjTnYrVJndVFKE92mZNa0s=", + "requires": { + "wordwrap": ">=0.0.2" + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "electron-to-chromium": { + "version": "1.3.603", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.603.tgz", + "integrity": "sha512-J8OHxOeJkoSLgBXfV9BHgKccgfLMHh+CoeRo6wJsi6m0k3otaxS/5vrHpMNSEYY4MISwewqanPOuhAtuE8riQQ==" + }, + "emittery": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.7.2.tgz", + "integrity": "sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==" + }, + "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==" + }, + "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" + } + }, + "enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "requires": { + "ansi-colors": "^4.1.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es5-ext": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.8.2.tgz", + "integrity": "sha1-q6jZ4ZQ6iVrJaDemKjmz9V7NlKs=" + }, + "es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" + }, + "es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "requires": { + "es6-promise": "^4.0.3" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + }, + "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=" + }, + "escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "requires": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "optional": true + } + } + }, + "eslint": { + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.14.0.tgz", + "integrity": "sha512-5YubdnPXrlrYAFCKybPuHIAH++PINe1pmKNc5wQRB9HSbqIK1ywAnntE3Wwua4giKu0bjligf1gLF6qxMGOYRA==", + "requires": { + "@babel/code-frame": "^7.0.0", + "@eslint/eslintrc": "^0.2.1", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.0", + "esquery": "^1.2.0", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash": "^4.17.19", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "requires": { + "ms": "2.1.2" + } + }, + "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==", + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-visitor-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", + "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==" + }, + "glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "requires": { + "is-glob": "^4.0.1" + } + }, + "globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "requires": { + "type-fest": "^0.8.1" + } + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "requires": { + "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" + } + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" + }, + "semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==" + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "requires": { + "prelude-ls": "^1.2.1" + } + } + } + }, + "eslint-rule-composer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz", + "integrity": "sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==" + }, + "eslint-scope": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.0.tgz", + "integrity": "sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w==", + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" + }, + "espree": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.0.tgz", + "integrity": "sha512-dksIWsvKCixn1yrEXO8UosNSxaDoSYpq9reEjZSbHLpT5hpaCAKTLBwq0RHtLrIr+c0ByiYzWT8KTMRzoRCNlw==", + "requires": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.3.0" + } + }, + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=" + }, + "esquery": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", + "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" + } + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + }, + "events": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", + "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" + }, + "exec-sh": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.4.tgz", + "integrity": "sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==" + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=" + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "expect": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz", + "integrity": "sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==", + "requires": { + "@jest/types": "^26.6.2", + "ansi-styles": "^4.0.0", + "jest-get-type": "^26.3.0", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-regex-util": "^26.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + }, + "fast-deep-equal": { + "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-json-stable-stringify": { + "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": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + }, + "fb-watchman": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", + "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "requires": { + "bser": "2.1.1" + } + }, + "file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "requires": { + "flat-cache": "^2.0.1" + } + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "requires": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + } + }, + "flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==" + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "requires": { + "map-cache": "^0.2.2" + } + }, + "fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, + "fs-extra": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", + "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" + } + }, + "fs-readdir-recursive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", + "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==" + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "optional": true + }, + "ftp": { + "version": "0.3.10", + "resolved": "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz", + "integrity": "sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0=", + "requires": { + "readable-stream": "1.1.x", + "xregexp": "2.0.0" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "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=" + } + } + }, + "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=" + }, + "gensync": { + "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": { + "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-intrinsic": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.1.tgz", + "integrity": "sha512-ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==" + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + }, + "get-uri": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-2.0.4.tgz", + "integrity": "sha512-v7LT/s8kVjs+Tx0ykk1I+H/rbpzkHvuIq87LmeXptcf5sNWm9uQiwjNAt94SJPA1zOlCntmnOlJvVWKmzsxG8Q==", + "requires": { + "data-uri-to-buffer": "1", + "debug": "2", + "extend": "~3.0.2", + "file-uri-to-path": "1", + "ftp": "~0.3.10", + "readable-stream": "2" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "requires": { + "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" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "optional": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "optional": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + }, + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" + }, + "growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", + "optional": true + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + }, + "har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "requires": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "heap": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/heap/-/heap-0.2.6.tgz", + "integrity": "sha1-CH4fELBGky/IWU3Z5tN4r8nR5aw=" + }, + "hosted-git-info": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==" + }, + "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==", + "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==" + }, + "http-errors": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", + "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + } + }, + "http-proxy-agent": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz", + "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==", + "requires": { + "agent-base": "4", + "debug": "3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + } + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-proxy-agent": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-3.0.1.tgz", + "integrity": "sha512-+ML2Rbh6DAuee7d07tYGEKOEi2voWPUGan+ExdPbPW6Z3svq+JCqr0v8WmKPOkz1vOVykPCBSuobe7G8GJUtVg==", + "requires": { + "agent-base": "^4.3.0", + "debug": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==" + }, + "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" + } + }, + "ieee754": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" + }, + "import-fresh": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.2.tgz", + "integrity": "sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw==", + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "import-local": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", + "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" + }, + "ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=" + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "optional": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "requires": { + "ci-info": "^2.0.0" + } + }, + "is-core-module": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.1.0.tgz", + "integrity": "sha512-YcV7BgVMRFRua2FqQzKtTDMz8iCuLEyGKjr70q8Zm1yy2qKcurbFEd79PAdHV77oL3NrAaOVQIbMmiHQCHB7ZA==", + "requires": { + "has": "^1.0.3" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } + } + }, + "is-docker": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz", + "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==", + "optional": true + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + }, + "is-extglob": { + "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": { + "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-generator-fn": { + "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": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "requires": { + "isobject": "^3.0.1" + } + }, + "is-potential-custom-element-name": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz", + "integrity": "sha1-DFLlS8yjkbssSUsh6GJtczbG45c=" + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "optional": true, + "requires": { + "is-docker": "^2.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "isstream": { + "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": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", + "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==" + }, + "istanbul-lib-instrument": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", + "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "requires": { + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "make-dir": { + "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==", + "requires": { + "semver": "^6.0.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", + "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "dependencies": { + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "istanbul-reports": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", + "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "jest": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest/-/jest-26.6.3.tgz", + "integrity": "sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q==", + "requires": { + "@jest/core": "^26.6.3", + "import-local": "^3.0.2", + "jest-cli": "^26.6.3" + }, + "dependencies": { + "jest-cli": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.6.3.tgz", + "integrity": "sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==", + "requires": { + "@jest/core": "^26.6.3", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "import-local": "^3.0.2", + "is-ci": "^2.0.0", + "jest-config": "^26.6.3", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "prompts": "^2.0.1", + "yargs": "^15.4.1" + } + } + } + }, + "jest-changed-files": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-26.6.2.tgz", + "integrity": "sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ==", + "requires": { + "@jest/types": "^26.6.2", + "execa": "^4.0.0", + "throat": "^5.0.0" + }, + "dependencies": { + "execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "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==", + "requires": { + "pump": "^3.0.0" + } + }, + "is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==" + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "requires": { + "path-key": "^3.0.0" + } + } + } + }, + "jest-config": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.6.3.tgz", + "integrity": "sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==", + "requires": { + "@babel/core": "^7.1.0", + "@jest/test-sequencer": "^26.6.3", + "@jest/types": "^26.6.2", + "babel-jest": "^26.6.3", + "chalk": "^4.0.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.4", + "jest-environment-jsdom": "^26.6.2", + "jest-environment-node": "^26.6.2", + "jest-get-type": "^26.3.0", + "jest-jasmine2": "^26.6.3", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "micromatch": "^4.0.2", + "pretty-format": "^26.6.2" + }, + "dependencies": { + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "to-regex-range": { + "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==", + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "jest-diff": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz", + "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==", + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + } + }, + "jest-docblock": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-26.0.0.tgz", + "integrity": "sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==", + "requires": { + "detect-newline": "^3.0.0" + } + }, + "jest-each": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-26.6.2.tgz", + "integrity": "sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A==", + "requires": { + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "jest-get-type": "^26.3.0", + "jest-util": "^26.6.2", + "pretty-format": "^26.6.2" + } + }, + "jest-environment-jsdom": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz", + "integrity": "sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q==", + "requires": { + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2", + "jsdom": "^16.4.0" + } + }, + "jest-environment-node": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-26.6.2.tgz", + "integrity": "sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag==", + "requires": { + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2" + } + }, + "jest-get-type": { + "version": "26.3.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", + "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==" + }, + "jest-haste-map": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.6.2.tgz", + "integrity": "sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==", + "requires": { + "@jest/types": "^26.6.2", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.1.2", + "graceful-fs": "^4.2.4", + "jest-regex-util": "^26.0.0", + "jest-serializer": "^26.6.2", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7" + }, + "dependencies": { + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "to-regex-range": { + "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==", + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "jest-jasmine2": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz", + "integrity": "sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg==", + "requires": { + "@babel/traverse": "^7.1.0", + "@jest/environment": "^26.6.2", + "@jest/source-map": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^26.6.2", + "is-generator-fn": "^2.0.0", + "jest-each": "^26.6.2", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-runtime": "^26.6.3", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "pretty-format": "^26.6.2", + "throat": "^5.0.0" + } + }, + "jest-leak-detector": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz", + "integrity": "sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg==", + "requires": { + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + } + }, + "jest-matcher-utils": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz", + "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==", + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + } + }, + "jest-message-util": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz", + "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==", + "requires": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^26.6.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "pretty-format": "^26.6.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.2" + }, + "dependencies": { + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + }, + "to-regex-range": { + "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==", + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "jest-mock": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-26.6.2.tgz", + "integrity": "sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==", + "requires": { + "@jest/types": "^26.6.2", + "@types/node": "*" + } + }, + "jest-pnp-resolver": { + "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": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz", + "integrity": "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==" + }, + "jest-resolve": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", + "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", + "requires": { + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^26.6.2", + "read-pkg-up": "^7.0.1", + "resolve": "^1.18.1", + "slash": "^3.0.0" + }, + "dependencies": { + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + } + } + }, + "jest-resolve-dependencies": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz", + "integrity": "sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg==", + "requires": { + "@jest/types": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-snapshot": "^26.6.2" + } + }, + "jest-runner": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-26.6.3.tgz", + "integrity": "sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ==", + "requires": { + "@jest/console": "^26.6.2", + "@jest/environment": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.7.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-config": "^26.6.3", + "jest-docblock": "^26.0.0", + "jest-haste-map": "^26.6.2", + "jest-leak-detector": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-resolve": "^26.6.2", + "jest-runtime": "^26.6.3", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "source-map-support": "^0.5.6", + "throat": "^5.0.0" + } + }, + "jest-runtime": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.6.3.tgz", + "integrity": "sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw==", + "requires": { + "@jest/console": "^26.6.2", + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/globals": "^26.6.2", + "@jest/source-map": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0", + "cjs-module-lexer": "^0.6.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.4", + "jest-config": "^26.6.3", + "jest-haste-map": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-mock": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "slash": "^3.0.0", + "strip-bom": "^4.0.0", + "yargs": "^15.4.1" + }, + "dependencies": { + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + } + } + }, + "jest-serializer": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.6.2.tgz", + "integrity": "sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==", + "requires": { + "@types/node": "*", + "graceful-fs": "^4.2.4" + } + }, + "jest-snapshot": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-26.6.2.tgz", + "integrity": "sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og==", + "requires": { + "@babel/types": "^7.0.0", + "@jest/types": "^26.6.2", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.0.0", + "chalk": "^4.0.0", + "expect": "^26.6.2", + "graceful-fs": "^4.2.4", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "jest-haste-map": "^26.6.2", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-resolve": "^26.6.2", + "natural-compare": "^1.4.0", + "pretty-format": "^26.6.2", + "semver": "^7.3.2" + }, + "dependencies": { + "semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==" + } + } + }, + "jest-util": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", + "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", + "requires": { + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "micromatch": "^4.0.2" + }, + "dependencies": { + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "to-regex-range": { + "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==", + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "jest-validate": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-26.6.2.tgz", + "integrity": "sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==", + "requires": { + "@jest/types": "^26.6.2", + "camelcase": "^6.0.0", + "chalk": "^4.0.0", + "jest-get-type": "^26.3.0", + "leven": "^3.1.0", + "pretty-format": "^26.6.2" + } + }, + "jest-watcher": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-26.6.2.tgz", + "integrity": "sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ==", + "requires": { + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^26.6.2", + "string-length": "^4.0.1" + } + }, + "jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jmespath": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.15.0.tgz", + "integrity": "sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc=" + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "js-yaml": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", + "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "dependencies": { + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + } + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + }, + "jsdom": { + "version": "16.4.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.4.0.tgz", + "integrity": "sha512-lYMm3wYdgPhrl7pDcRmvzPhhrGVBeVhPIqeHjzeiHN3DFmD1RBpbExbi8vU7BJdH8VAZYovR8DMt0PNNDM7k8w==", + "requires": { + "abab": "^2.0.3", + "acorn": "^7.1.1", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.2.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.0", + "domexception": "^2.0.1", + "escodegen": "^1.14.1", + "html-encoding-sniffer": "^2.0.1", + "is-potential-custom-element-name": "^1.0.0", + "nwsapi": "^2.2.0", + "parse5": "5.1.1", + "request": "^2.88.2", + "request-promise-native": "^1.0.8", + "saxes": "^5.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^3.0.1", + "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.0.0", + "ws": "^7.2.3", + "xml-name-validator": "^3.0.0" + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + }, + "json-diff": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/json-diff/-/json-diff-0.5.4.tgz", + "integrity": "sha512-q5Xmx9QXNOzOzIlMoYtLrLiu4Jl/Ce2bn0CNcv54PhyH89CI4GWlGVDye8ei2Ijt9R3U+vsWPsXpLUNob8bs8Q==", + "requires": { + "cli-color": "~0.1.6", + "difflib": "~0.2.1", + "dreamopt": "~0.6.0" + } + }, + "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", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + }, + "json-schema-traverse": { + "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-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=" + }, + "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=" + }, + "json5": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "requires": { + "minimist": "^1.2.5" + } + }, + "jsonfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz", + "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==", + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^1.0.0" + } + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" + }, + "lazystream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", + "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", + "requires": { + "readable-stream": "^2.0.5" + } + }, + "leven": { + "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": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" + }, + "lodash.defaults": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", + "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" + }, + "lodash.difference": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", + "integrity": "sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw=" + }, + "lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=" + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" + }, + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=" + }, + "lodash.union": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", + "integrity": "sha1-SLtQiECfFvGCFmZkHETdGqrjzYg=" + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "requires": { + "yallist": "^3.0.2" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "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.11", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", + "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", + "requires": { + "tmpl": "1.0.x" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "requires": { + "object-visit": "^1.0.0" + } + }, + "md5": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", + "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", + "requires": { + "charenc": "0.0.2", + "crypt": "0.0.2", + "is-buffer": "~1.1.6" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "mime-db": { + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", + "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" + }, + "mime-types": { + "version": "2.1.27", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", + "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "requires": { + "mime-db": "1.44.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "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==" + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "requires": { + "minimist": "^1.2.5" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" + }, + "netmask": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/netmask/-/netmask-1.0.6.tgz", + "integrity": "sha1-ICl+idhvb2QA8lDZ9Pa0wZRfzTU=" + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=" + }, + "node-modules-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", + "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=" + }, + "node-notifier": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-8.0.0.tgz", + "integrity": "sha512-46z7DUmcjoYdaWyXouuFNNfUo6eFa94t23c53c+lG/9Cvauk4a98rAUp9672X5dxGdQmLpPzTxzu8f/OeEPaFA==", + "optional": true, + "requires": { + "growly": "^1.3.0", + "is-wsl": "^2.2.0", + "semver": "^7.3.2", + "shellwords": "^0.1.1", + "uuid": "^8.3.0", + "which": "^2.0.2" + }, + "dependencies": { + "semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "optional": true + }, + "uuid": { + "version": "8.3.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.1.tgz", + "integrity": "sha512-FOmRr+FmWEIG8uhZv6C2bTgEVXsHk08kE7mPlrBbEe+c3r9pjceVPgupIfNIhc4yx55H69OXANrUaSuu9eInKg==", + "optional": true + } + } + }, + "node-releases": { + "version": "1.1.67", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.67.tgz", + "integrity": "sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg==" + }, + "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" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "requires": { + "path-key": "^2.0.0" + }, + "dependencies": { + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + } + } + }, + "nwsapi": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", + "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==" + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "requires": { + "isobject": "^3.0.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "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" + } + }, + "p-each-series": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", + "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==" + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + }, + "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": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "requires": { + "p-limit": "^2.2.0" + } + }, + "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==" + }, + "pac-proxy-agent": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-3.0.1.tgz", + "integrity": "sha512-44DUg21G/liUZ48dJpUSjZnFfZro/0K5JTyFYLBcmh9+T6Ooi4/i4efwUiEy0+4oQusCBqWdhv16XohIj1GqnQ==", + "requires": { + "agent-base": "^4.2.0", + "debug": "^4.1.1", + "get-uri": "^2.0.0", + "http-proxy-agent": "^2.1.0", + "https-proxy-agent": "^3.0.0", + "pac-resolver": "^3.0.0", + "raw-body": "^2.2.0", + "socks-proxy-agent": "^4.0.1" + }, + "dependencies": { + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "pac-resolver": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-3.0.0.tgz", + "integrity": "sha512-tcc38bsjuE3XZ5+4vP96OfhOugrX+JcnpUbhfuc4LuXBLQhoTthOstZeoQJBDnQUDYzYmdImKsbz0xSl1/9qeA==", + "requires": { + "co": "^4.6.0", + "degenerator": "^1.0.4", + "ip": "^1.1.5", + "netmask": "^1.0.6", + "thunkify": "^2.1.2" + } + }, + "parent-module": { + "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==", + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-json": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz", + "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==", + "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" + } + }, + "parse5": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", + "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==" + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "optional": true + }, + "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==" + }, + "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=" + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==" + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + }, + "pirates": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", + "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", + "requires": { + "node-modules-regexp": "^1.0.0" + } + }, + "pkg-dir": { + "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==", + "requires": { + "find-up": "^4.0.0" + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" + }, + "pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "requires": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + } + } + }, + "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==" + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" + }, + "promptly": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/promptly/-/promptly-3.2.0.tgz", + "integrity": "sha512-WnR9obtgW+rG4oUV3hSnNGl1pHm3V1H/qD9iJBumGSmVsSC5HpZOLuu8qdMb6yCItGfT7dcRszejr/5P3i9Pug==", + "requires": { + "read": "^1.0.4" + } + }, + "prompts": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.0.tgz", + "integrity": "sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ==", + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + } + }, + "proxy-agent": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-3.1.1.tgz", + "integrity": "sha512-WudaR0eTsDx33O3EJE16PjBRZWcX8GqCEeERw1W3hZJgH/F2a46g7jty6UGty6NeJ4CKQy8ds2CJPMiyeqaTvw==", + "requires": { + "agent-base": "^4.2.0", + "debug": "4", + "http-proxy-agent": "^2.1.0", + "https-proxy-agent": "^3.0.0", + "lru-cache": "^5.1.1", + "pac-proxy-agent": "^3.0.1", + "proxy-from-env": "^1.0.0", + "socks-proxy-agent": "^4.0.1" + }, + "dependencies": { + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "psl": { + "version": "1.8.0", + "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": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + }, + "raw-body": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.1.tgz", + "integrity": "sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==", + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.3", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "react-is": { + "version": "17.0.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.1.tgz", + "integrity": "sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA==" + }, + "read": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", + "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=", + "requires": { + "mute-stream": "~0.0.4" + } + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==" + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "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" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "optional": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + }, + "regenerate-unicode-properties": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", + "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", + "requires": { + "regenerate": "^1.4.0" + } + }, + "regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" + }, + "regenerator-transform": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", + "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regexpp": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", + "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==" + }, + "regexpu-core": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", + "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", + "requires": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.2.0", + "regjsgen": "^0.5.1", + "regjsparser": "^0.6.4", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.2.0" + } + }, + "regjsgen": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", + "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==" + }, + "regjsparser": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", + "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" + } + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + }, + "replace-in-file": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/replace-in-file/-/replace-in-file-6.1.0.tgz", + "integrity": "sha512-URzjyF3nucvejuY13HFd7O+Q6tFJRLKGHLYVvSh+LiZj3gFXzSYGnIkQflnJJulCAI2/RTZaZkpOtdVdW0EhQA==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "glob": "^7.1.6", + "yargs": "^15.3.1" + } + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "requires": { + "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" + }, + "dependencies": { + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, + "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" + } + } + } + }, + "request-promise-core": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", + "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", + "requires": { + "lodash": "^4.17.19" + } + }, + "request-promise-native": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", + "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", + "requires": { + "request-promise-core": "1.1.4", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + }, + "dependencies": { + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, + "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" + } + } + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + }, + "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.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "requires": { + "is-core-module": "^2.1.0", + "path-parse": "^1.0.6" + } + }, + "resolve-cwd": { + "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==", + "requires": { + "resolve-from": "^5.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" + } + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" + }, + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "requires": { + "glob": "^7.1.3" + } + }, + "rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==" + }, + "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==" + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "sane": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", + "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", + "requires": { + "@cnakazawa/watch": "^1.0.3", + "anymatch": "^2.0.0", + "capture-exit": "^2.0.0", + "exec-sh": "^0.3.2", + "execa": "^1.0.0", + "fb-watchman": "^2.0.0", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5" + } + }, + "sax": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", + "integrity": "sha1-e45lYZCyKOgaZq6nSEgNgozS03o=" + }, + "saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "requires": { + "xmlchars": "^2.2.0" + } + }, + "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=" + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + }, + "shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "optional": true + }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" + }, + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==" + }, + "slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + }, + "dependencies": { + "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": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + } + } + }, + "smart-buffer": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.1.0.tgz", + "integrity": "sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==" + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "socks": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.3.3.tgz", + "integrity": "sha512-o5t52PCNtVdiOvzMry7wU4aOqYWL0PeCXRWBEiJow4/i/wr+wpsJQ9awEu1EonLIqsfGd5qSgDdxEOvCdmBEpA==", + "requires": { + "ip": "1.1.5", + "smart-buffer": "^4.1.0" + } + }, + "socks-proxy-agent": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-4.0.2.tgz", + "integrity": "sha512-NT6syHhI9LmuEMSK6Kd2V7gNv5KFZoLE7V5udWmn0de+3Mkj3UMA/AJPLyeNUVmElCurSHtUdM3ETpR3z770Wg==", + "requires": { + "agent-base": "~4.2.1", + "socks": "~2.3.2" + }, + "dependencies": { + "agent-base": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz", + "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==", + "requires": { + "es6-promisify": "^5.0.0" + } + } + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" + }, + "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.6", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz", + "integrity": "sha512-+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw==" + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "requires": { + "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": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw==", + "requires": { + "escape-string-regexp": "^2.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" + } + } + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + }, + "stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=" + }, + "string-length": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.1.tgz", + "integrity": "sha512-PKyXUd0LK0ePjSOnWn34V2uD6acUWev9uy0Ft05k0E8xRW+SKcA0F7eMr7h5xlzfn+4O3N+55rduYyet3Jk+jw==", + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + } + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "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==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" + }, + "strip-json-comments": { + "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==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "supports-hyperlinks": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz", + "integrity": "sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA==", + "requires": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.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==" + }, + "table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "requires": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, + "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": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "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" + } + } + } + }, + "tar-stream": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.1.4.tgz", + "integrity": "sha512-o3pS2zlG4gxr67GmFYBLlq+dM8gyRGUOvsrHclSkvtVtQbjV0s/+ZE8OpICbaj8clrX3tjeHngYGP7rweaBnuw==", + "requires": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.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==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "requires": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + } + }, + "test-exclude": { + "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==", + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" + }, + "throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==" + }, + "thunkify": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/thunkify/-/thunkify-2.1.2.tgz", + "integrity": "sha1-+qDp0jDFGsyVyhOjYawFyn4EVT0=" + }, + "tmpl": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", + "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=" + }, + "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=" + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + }, + "tough-cookie": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", + "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", + "requires": { + "ip-regex": "^2.1.0", + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "dependencies": { + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + } + } + }, + "tr46": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.0.2.tgz", + "integrity": "sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg==", + "requires": { + "punycode": "^2.1.1" + }, + "dependencies": { + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + } + } + }, + "ts-jest": { + "version": "26.4.4", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-26.4.4.tgz", + "integrity": "sha512-3lFWKbLxJm34QxyVNNCgXX1u4o/RV0myvA2y2Bxm46iGIjKlaY0own9gIckbjZJPn+WaJEnfPPJ20HHGpoq4yg==", + "requires": { + "@types/jest": "26.x", + "bs-logger": "0.x", + "buffer-from": "1.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^26.1.0", + "json5": "2.x", + "lodash.memoize": "4.x", + "make-error": "1.x", + "mkdirp": "1.x", + "semver": "7.x", + "yargs-parser": "20.x" + }, + "dependencies": { + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" + }, + "semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==" + }, + "yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==" + } + } + }, + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + }, + "tsutils": { + "version": "3.17.1", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz", + "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==", + "requires": { + "tslib": "^1.8.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "type-detect": { + "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": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" + }, + "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==", + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "typescript": { + "version": "3.9.7", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.7.tgz", + "integrity": "sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw==" + }, + "unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==" + }, + "unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "requires": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", + "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==" + }, + "unicode-property-aliases-ecmascript": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", + "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==" + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "universalify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", + "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==" + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" + } + } + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "optional": true + }, + "uri-js": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", + "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", + "requires": { + "punycode": "^2.1.0" + }, + "dependencies": { + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + } + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + }, + "url": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", + "integrity": "sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=", + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" + }, + "v8-compile-cache": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz", + "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==" + }, + "v8-to-istanbul": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-7.0.0.tgz", + "integrity": "sha512-fLL2rFuQpMtm9r8hrAV2apXX/WqHJ6+IC4/eQVdMDGBUgH/YMV4Gv3duk3kjmyg6uiQWBAA9nJwue4iJUOkHeA==", + "requires": { + "@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==" + } + } + }, + "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" + } + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "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==", + "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==", + "requires": { + "xml-name-validator": "^3.0.0" + } + }, + "walker": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", + "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "requires": { + "makeerror": "1.0.x" + } + }, + "webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==" + }, + "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==", + "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==" + }, + "whatwg-url": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.4.0.tgz", + "integrity": "sha512-vwTUFf6V4zhcPkWp/4CQPr1TW9Ml6SF4lVyaIMBdJw5i6qUUJ1QWM4Z6YYVkfka0OUIzVo/0aNtGVGk256IKWw==", + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^2.0.2", + "webidl-conversions": "^6.1.0" + } + }, + "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" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, + "word-wrap": { + "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==" + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=" + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "requires": { + "mkdirp": "^0.5.1" + } + }, + "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==", + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "ws": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.0.tgz", + "integrity": "sha512-kyFwXuV/5ymf+IXhS6f0+eAFvydbaBW3zjpT6hUdAh/hbVjTIB5EHBGi0bPoCLSK2wcuz3BrEkB9LrYv1Nm4NQ==" + }, + "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==" + }, + "xml2js": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", + "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==", + "requires": { + "sax": ">=0.6.0", + "xmlbuilder": "~9.0.1" + } + }, + "xmlbuilder": { + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", + "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=" + }, + "xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + }, + "xregexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz", + "integrity": "sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM=" + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "yaml": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz", + "integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==" + }, + "yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.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": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "dependencies": { + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + } + } + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + } + } + }, + "zip-stream": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-3.0.1.tgz", + "integrity": "sha512-r+JdDipt93ttDjsOVPU5zaq5bAyY+3H19bDrThkvuVxC0xMQzU1PJcS6D+KrP3u96gH9XLomcHPb+2skoDjulQ==", + "requires": { + "archiver-utils": "^2.1.0", + "compress-commons": "^3.0.0", + "readable-stream": "^3.6.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==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + } + } +} diff --git a/packages/cli/package.json b/packages/cli/package.json index 92271ae66a..b327ef76a2 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -35,6 +35,11 @@ }, "homepage": "https://serverless-stack.com", "dependencies": { + "@aws-cdk/aws-apigatewayv2": "1.73.0", + "@aws-cdk/aws-dynamodb": "1.61.0", + "@aws-cdk/aws-iam": "1.61.0", + "@aws-cdk/aws-lambda": "1.61.0", + "@aws-cdk/core": "1.61.0", "@babel/cli": "^7.10.5", "@babel/core": "^7.10.5", "@babel/eslint-parser": "^7.11.3", @@ -57,6 +62,7 @@ "source-map-support": "^0.5.19", "ts-jest": "^26.1.4", "typescript": "^3.9.7", + "ws": "^7.4.0", "yargs": "^15.4.1" }, "devDependencies": { diff --git a/packages/cli/scripts/debug/bin/index.js b/packages/cli/scripts/debug/bin/index.js new file mode 100644 index 0000000000..fcf67cc84f --- /dev/null +++ b/packages/cli/scripts/debug/bin/index.js @@ -0,0 +1,9 @@ +#!/usr/bin/env node +const cdk = require("@aws-cdk/core"); +const { DebugStack } = require("../lib/debug-stack"); + +const app = new cdk.App(); +const stage = "local"; +const name = "debug-stack"; +const region = "us-east-1"; +new DebugStack(app, `${stage}-${name}`, { stage, name, region }); diff --git a/packages/cli/scripts/debug/cdk.json b/packages/cli/scripts/debug/cdk.json new file mode 100644 index 0000000000..bc80d4e7a6 --- /dev/null +++ b/packages/cli/scripts/debug/cdk.json @@ -0,0 +1,7 @@ +{ + "app": "node bin/index.js", + "context": { + "@aws-cdk/core:enableStackNameDuplicates": "true", + "aws-cdk:enableDiffNoFail": "true" + } +} diff --git a/packages/cli/scripts/debug/lambda/wsConnect.js b/packages/cli/scripts/debug/lambda/wsConnect.js new file mode 100644 index 0000000000..9eb2299cb3 --- /dev/null +++ b/packages/cli/scripts/debug/lambda/wsConnect.js @@ -0,0 +1,3 @@ +exports.main = async function () { + return { statusCode: 200, body: "Connected." }; +}; diff --git a/packages/cli/scripts/debug/lambda/wsDefault.js b/packages/cli/scripts/debug/lambda/wsDefault.js new file mode 100644 index 0000000000..91b34a6eae --- /dev/null +++ b/packages/cli/scripts/debug/lambda/wsDefault.js @@ -0,0 +1,77 @@ +const AWS = require("aws-sdk"); +AWS.config.logger = console; +const ddb = new AWS.DynamoDB.DocumentClient({ region: process.env.AWS_REGION }); + +// TODO +// - handle re-use websocket connection +// - handle client/channel's connectionId not connected +// - handle connection closed +// - get stub connection id needs to be strong consistent read +exports.main = async function (event) { + console.log(event); + const eventData = JSON.parse(event.body); + console.log(eventData); + + if (eventData.action === "registerClient") { + // register client + await ddb + .put({ + TableName: process.env.TABLE_NAME, + Item: { + channel: "client", + connectionId: event.requestContext.connectionId, + }, + }) + .promise(); + } else if (eventData.action === "newRequest") { + // send request to client + const ret = await ddb + .get({ + TableName: process.env.TABLE_NAME, + Key: { channel: "client" }, + }) + .promise(); + const connectionId = ret.Item.connectionId; + await postToConnection( + JSON.stringify({ + ...eventData, + stubConnectionId: event.requestContext.connectionId, + }), + connectionId + ); + } else if (eventData.action === "newResponse") { + await postToConnection(event.body, eventData.stubConnectionId); + } + + async function postToConnection(data, connectionId) { + // Post to connections + const apigwManagementApi = new AWS.ApiGatewayManagementApi({ + apiVersion: "2018-11-29", + endpoint: + event.requestContext.domainName + "/" + event.requestContext.stage, + }); + + try { + await apigwManagementApi + .postToConnection({ + ConnectionId: connectionId, + Data: data, + }) + .promise(); + } catch (e) { + if (e.statusCode === 410) { + console.log(`Found stale connection, deleting ${connectionId}`); + await ddb + .delete({ + TableName: process.env.TABLE_NAME, + Key: { connectionId }, + }) + .promise(); + } else { + throw e; + } + } + } + + return { statusCode: 200, body: "Data sent." }; +}; diff --git a/packages/cli/scripts/debug/lambda/wsDisconnect.js b/packages/cli/scripts/debug/lambda/wsDisconnect.js new file mode 100644 index 0000000000..8c44bc1707 --- /dev/null +++ b/packages/cli/scripts/debug/lambda/wsDisconnect.js @@ -0,0 +1,3 @@ +exports.main = async function () { + return { statusCode: 200, body: "Disconnected." }; +}; diff --git a/packages/cli/scripts/debug/lib/debug-stack.js b/packages/cli/scripts/debug/lib/debug-stack.js new file mode 100644 index 0000000000..72e0fdee85 --- /dev/null +++ b/packages/cli/scripts/debug/lib/debug-stack.js @@ -0,0 +1,107 @@ +const fs = require("fs"); +const cdk = require("@aws-cdk/core"); +const apig = require("@aws-cdk/aws-apigatewayv2"); +const lambda = require("@aws-cdk/aws-lambda"); +const iam = require("@aws-cdk/aws-iam"); +const dynamodb = require("@aws-cdk/aws-dynamodb"); + +class DebugStack extends cdk.Stack { + constructor(scope, id, props) { + super(scope, id, props); + + const { stage, name, region } = props; + + const _this = this; + + // Create connection table + const table = new dynamodb.Table(this, "Table", { + partitionKey: { name: "channel", type: dynamodb.AttributeType.STRING }, + billingMode: dynamodb.BillingMode.PAY_PER_REQUEST, + removalPolicy: cdk.RemovalPolicy.DESTROY, + }); + + // Create API + const api = new apig.CfnApi(this, "Api", { + name: `${stage}-${name}-api`, + protocolType: "WEBSOCKET", + routeSelectionExpression: "$request.body.action", + }); + const deployment = new apig.CfnDeployment(this, "ApiDeployment", { + apiId: api.ref, + }); + new apig.CfnStage(this, "ApiStage", { + apiId: api.ref, + autoDeploy: true, + deploymentId: deployment.ref, + stageName: stage, + }); + + addApiRoute({ + id: "Connect", + routeKey: "$connect", + codePath: "lambda/wsConnect.js", + }); + addApiRoute({ + id: "Disconnect", + routeKey: "$disconnect", + codePath: "lambda/wsDisconnect.js", + }); + addApiRoute({ + id: "Default", + routeKey: "$default", + codePath: "lambda/wsDefault.js", + }); + + new cdk.CfnOutput(this, "Endpoint", { + value: `${api.attrApiEndpoint}/${stage}`, + }); + + function addApiRoute({ id, routeKey, codePath }) { + // Create execution policy + const policyStatement = new iam.PolicyStatement(); + policyStatement.addAllResources(); + policyStatement.addActions( + "apigateway:*", + "dynamodb:*", + "execute-api:ManageConnections" + ); + + // Create Lambda + const lambdaFunc = new lambda.Function(_this, id, { + code: new lambda.InlineCode( + fs.readFileSync(codePath, { encoding: "utf-8" }) + ), + handler: "index.main", + timeout: cdk.Duration.seconds(10), + runtime: lambda.Runtime.NODEJS_12_X, + memorySize: 256, + environment: { + TABLE_NAME: table.tableName, + }, + initialPolicy: [policyStatement], + }); + lambdaFunc.addPermission(`${id}Permission`, { + principal: new iam.ServicePrincipal("apigateway.amazonaws.com"), + }); + + // Create API integrations + const integration = new apig.CfnIntegration(_this, `${id}Integration`, { + apiId: api.ref, + integrationType: "AWS_PROXY", + integrationUri: `arn:aws:apigateway:${region}:lambda:path/2015-03-31/functions/${lambdaFunc.functionArn}/invocations`, + //credentialsArn: role.roleArn, + }); + + // Create API routes + const route = new apig.CfnRoute(_this, `${id}Route`, { + apiId: api.ref, + routeKey, + authorizationType: "NONE", + target: `integrations/${integration.ref}`, + }); + deployment.node.addDependency(route); + } + } +} + +module.exports = { DebugStack }; diff --git a/packages/cli/scripts/start.js b/packages/cli/scripts/start.js index b72f1154f5..1c324887c4 100644 --- a/packages/cli/scripts/start.js +++ b/packages/cli/scripts/start.js @@ -1,38 +1,14 @@ "use strict"; const spawn = require("cross-spawn"); +const WebSocket = require("ws"); +const AWS = require("aws-sdk"); const paths = require("./config/paths"); +const deploy = require("./deploy"); +const { execSync } = require("child_process"); -const handler = "hello.handler"; - -const context = { - awsRequestId: "123", - invokedFunctionArn: "123", - logGroupName: "123", - logStreamName: "123", - functionName: "123", - functionVersion: "123", - memoryLimitInMB: 1024, - // Get calculated timeout - timeoutInMs: 4000, - //getRemainingTimeInMillis: () => deadlineMs - Date.now(), - callbackWaitsForEmptyEventLoop: true, - clientContext: {}, - identity: {}, -}; - -const event = { - body: "Hello World", -}; - -// From Lambda /var/runtime/bootstrap -// https://link.medium.com/7ir11kKjwbb -const newSpace = Math.floor(context.memoryLimitInMB / 10); -const semiSpace = Math.floor(newSpace / 2); -const oldSpace = context.memoryLimitInMB - newSpace; - -function setTimer(lambda, handleResponse) { +function setTimer(lambda, handleResponse, timeoutInMs) { return setTimeout(function () { handleResponse({ type: "failure", @@ -49,44 +25,138 @@ function setTimer(lambda, handleResponse) { console.log(e); console.log("Cannot kill timed out Lambda"); } - }, context.timeoutInMs); + }, timeoutInMs); } -module.exports = async function () { - let lambdaResponse; - const lambda = spawn( - "node", - [ - `--max-old-space-size=${oldSpace}`, - `--max-semi-space-size=${semiSpace}`, - "--max-http-header-size=81920", // HTTP header limit of 8KB - require.resolve("../scripts/wrapper/bootstrap.js"), - JSON.stringify(event), - JSON.stringify(context), - "./src", // Local path to the Lambda functions - handler, - ], - { stdio: ["inherit", "inherit", "inherit", "ipc"], cwd: paths.appPath } - ); - const timer = setTimer(lambda, handleResponse); - - function handleResponse(response) { - switch (response.type) { - case "success": - case "failure": - lambdaResponse = response; - break; - default: +function startClient(debugEndpoint) { + console.log("Starting up sst debugger..."); + + const ws = new WebSocket(debugEndpoint); + + ws.on("open", () => { + ws.send( + JSON.stringify({ + action: "registerClient", + }) + ); + console.log("Debug session started. Listening for requests..."); + }); + + ws.on("close", (code, reason) => { + console.log("Debug session closed.", { code, reason }); + }); + + ws.on("error", (e) => { + console.log("Debug session error.", e); + }); + + ws.on("message", (data) => { + console.debug(data); + const { + action, + stubConnectionId, + debugRequestId, + debugRequestExpireAt, + debugRequestTimeoutInMs, + debugSrcPath, + debugSrcHandler, + event, + context, + } = JSON.parse(data); + console.log("INFO", debugRequestId, "REQUEST", JSON.stringify(event)); + if (action !== "newRequest" || debugRequestExpireAt < Date.now()) { + console.log("INFO", debugRequestId, "DISCARDED"); + return; } - } + //delete require.cache[require.resolve('./lambda/handler')]; + //const handler = require('./lambda/handler'); + //const response = handler.main(); + //const srcEntry = props && props.entry + // || path.basename(__filename).split('.').splice(-1, 0,'id').join('.'); + //const srcHandler = props && props.handler || 'handler'; - function returnLambdaResponse() { - console.log("Done", lambdaResponse); - } + // From Lambda /var/runtime/bootstrap + // https://link.medium.com/7ir11kKjwbb + const newSpace = Math.floor(context.memoryLimitInMB / 10); + const semiSpace = Math.floor(newSpace / 2); + const oldSpace = context.memoryLimitInMB - newSpace; - lambda.on("message", handleResponse); - lambda.on("exit", function () { - returnLambdaResponse(); - clearTimeout(timer); + let lambdaResponse; + const lambda = spawn( + "node", + [ + `--max-old-space-size=${oldSpace}`, + `--max-semi-space-size=${semiSpace}`, + "--max-http-header-size=81920", // HTTP header limit of 8KB + require.resolve("../scripts/wrapper/bootstrap.js"), + JSON.stringify(event), + JSON.stringify(context), + //"./src", // Local path to the Lambda functions + //"hello.handler", + debugSrcPath, + debugSrcHandler, + ], + { stdio: ["inherit", "inherit", "inherit", "ipc"], cwd: paths.appPath } + ); + const timer = setTimer(lambda, handleResponse, debugRequestTimeoutInMs); + + function handleResponse(response) { + switch (response.type) { + case "success": + case "failure": + lambdaResponse = response; + break; + default: + } + } + + function returnLambdaResponse() { + console.log( + "INFO", + debugRequestId, + "RESPONSE", + JSON.stringify(lambdaResponse) + ); + ws.send( + JSON.stringify({ + action: "newResponse", + debugRequestId, + stubConnectionId, + response: lambdaResponse.data, + }) + ); + } + + lambda.on("message", handleResponse); + lambda.on("exit", function () { + returnLambdaResponse(); + clearTimeout(timer); + }); }); +} + +module.exports = async function (argv, config, cliInfo) { + const region = "us-east-1"; + const stage = "local"; + const stack = `${stage}-debug-stack`; + + // Deploy debug stack + execSync("npx cdk deploy --require-approval never", { + stdio: ["inherit", "inherit", "inherit"], + cwd: `${paths.ownPath}/scripts/debug`, + }); + + // Get websocket endpoint + const cf = new AWS.CloudFormation({ region }); + const cfRet = await cf.describeStacks({ StackName: stack }).promise(); + const debugEndpoint = cfRet.Stacks[0].Outputs.find( + (output) => output.OutputKey === "Endpoint" + ).OutputValue; + process.env.SST_DEBUG_ENDPOINT = debugEndpoint; + + // Deploy app + await deploy(argv, config, cliInfo); + + // Start client + startClient(debugEndpoint); }; diff --git a/packages/cli/test/start/lib/index.js b/packages/cli/test/start/lib/index.js index c857a02040..f306a4400e 100644 --- a/packages/cli/test/start/lib/index.js +++ b/packages/cli/test/start/lib/index.js @@ -1 +1,39 @@ -export default function main() {} +import * as sst from "@serverless-stack/resources"; +import * as cdk from "@aws-cdk/core"; +import * as lambda from "@aws-cdk/aws-lambda"; +import * as apig from "@aws-cdk/aws-apigatewayv2"; +import * as apigIntegrations from "@aws-cdk/aws-apigatewayv2-integrations"; + +class MySampleStack extends sst.Stack { + constructor(scope, id, props) { + super(scope, id, props); + + const { stage, name } = this.node.root; + + const func = new sst.Function(this, "MyLambda", { + code: lambda.Code.fromAsset("src"), + handler: "hello.handler", + timeout: cdk.Duration.seconds(6), + runtime: lambda.Runtime.NODEJS_12_X, + memorySize: 1024, + }); + + const api = new apig.HttpApi(this, "Api"); + api.addRoutes({ + integration: new apigIntegrations.LambdaProxyIntegration({ + handler: func, + }), + methods: [apig.HttpMethod.GET], + path: "/", + }); + + new cdk.CfnOutput(this, "ApiEndpoint", { + exportName: `${stage}-${name}-ApiEndpoint`, + value: api.apiEndpoint, + }); + } +} + +export default function main(app) { + new MySampleStack(app, "sample"); +} diff --git a/packages/cli/test/start/package.json b/packages/cli/test/start/package.json index 5fa7326891..6924a5a616 100644 --- a/packages/cli/test/start/package.json +++ b/packages/cli/test/start/package.json @@ -4,10 +4,18 @@ "description": "", "main": "index.js", "scripts": { - "start": "../../bin/scripts.js start" + "start": "../../bin/scripts.js start", + "build": "../../bin/scripts.js build", + "cdk": "../../bin/scripts.js cdk" }, "keywords": [], "author": "", - "dependencies": {}, + "dependencies": { + "@aws-cdk/aws-apigatewayv2": "1.73.0", + "@aws-cdk/aws-apigatewayv2-integrations": "1.73.0", + "@aws-cdk/aws-lambda": "1.61.0", + "@aws-cdk/core": "1.61.0", + "@serverless-stack/resources": "../../../resources" + }, "license": "ISC" } diff --git a/packages/cli/test/start/yarn.lock b/packages/cli/test/start/yarn.lock index fb57ccd13a..21982f0d16 100644 --- a/packages/cli/test/start/yarn.lock +++ b/packages/cli/test/start/yarn.lock @@ -2,3 +2,611 @@ # yarn lockfile v1 +"@aws-cdk/assets@1.61.0": + version "1.61.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/assets/-/assets-1.61.0.tgz#9702ba8ef5b3c45ec47e0530006d63dc0685a5ff" + integrity sha512-VJfH8oVAsIa5lo+SmDF5d6r1J9Fb9TrnQINrzr68shhdY/RAkys5cr9SXO4lcpWmGsNXB9z+tEtEz9IT79e2QA== + dependencies: + "@aws-cdk/core" "1.61.0" + "@aws-cdk/cx-api" "1.61.0" + constructs "^3.0.4" + +"@aws-cdk/assets@1.73.0": + version "1.73.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/assets/-/assets-1.73.0.tgz#dcca310ac82f2e2370cb7307b227dd59e319606e" + integrity sha512-fAdRAWn/IWbalMZva86Q4BimYrwipSoqPzyC5d6fwxNmJU/QiFLMpILanS1T9a0a+yjqAqk+8pAXn44lZIOlPQ== + dependencies: + "@aws-cdk/core" "1.73.0" + "@aws-cdk/cx-api" "1.73.0" + constructs "^3.2.0" + +"@aws-cdk/aws-apigatewayv2-integrations@1.73.0": + version "1.73.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-apigatewayv2-integrations/-/aws-apigatewayv2-integrations-1.73.0.tgz#6b225f21231f3892368f9be2c327f2edbab7e8f9" + integrity sha512-yQdJI/8CrBvw4s8H/9rsw6XAJXhQMScf95lsj52uwNmHi/Xz1PYVVlisbEa5Fg8CUCFWO0lRG81QLNZpgfLzow== + dependencies: + "@aws-cdk/aws-apigatewayv2" "1.73.0" + "@aws-cdk/aws-ec2" "1.73.0" + "@aws-cdk/aws-elasticloadbalancingv2" "1.73.0" + "@aws-cdk/aws-iam" "1.73.0" + "@aws-cdk/aws-lambda" "1.73.0" + "@aws-cdk/aws-servicediscovery" "1.73.0" + "@aws-cdk/core" "1.73.0" + constructs "^3.2.0" + +"@aws-cdk/aws-apigatewayv2@1.73.0": + version "1.73.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-apigatewayv2/-/aws-apigatewayv2-1.73.0.tgz#c305288d049d9a1905642a60eedeabcfb8737df2" + integrity sha512-+++K1KADMSFGgvOaj3OwiVcNEYWUR878rqH50EDEf/UxaYky3eD0Sg255sGQWrjbi3bb60lYdzVFDjADHHnEtw== + dependencies: + "@aws-cdk/aws-certificatemanager" "1.73.0" + "@aws-cdk/aws-cloudwatch" "1.73.0" + "@aws-cdk/aws-ec2" "1.73.0" + "@aws-cdk/aws-iam" "1.73.0" + "@aws-cdk/core" "1.73.0" + constructs "^3.2.0" + +"@aws-cdk/aws-applicationautoscaling@1.61.0": + version "1.61.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-applicationautoscaling/-/aws-applicationautoscaling-1.61.0.tgz#8129984ba0185bbb525fd8ef6328c5c84e51e4e5" + integrity sha512-KP2zJ2hJYZgrl2glfCFpK0l9PJderMNS2MAH7xr0JuiFwAPuJgNEmOkrtVAgrsTGFDBisvXQpqr6L84EQxBfyw== + dependencies: + "@aws-cdk/aws-autoscaling-common" "1.61.0" + "@aws-cdk/aws-cloudwatch" "1.61.0" + "@aws-cdk/aws-iam" "1.61.0" + "@aws-cdk/core" "1.61.0" + constructs "^3.0.4" + +"@aws-cdk/aws-applicationautoscaling@1.73.0": + version "1.73.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-applicationautoscaling/-/aws-applicationautoscaling-1.73.0.tgz#2de1f609d25bd9a69c458ec06ae59820f75865f4" + integrity sha512-ROJPuj+PyrYa7/P6JoTrsFs8WMxKra1yuXZJ3r0iTrnAgCDAVCVpzmiF3Uwqw6rip1o63ZLT3fxxMeJBb2wL7Q== + dependencies: + "@aws-cdk/aws-autoscaling-common" "1.73.0" + "@aws-cdk/aws-cloudwatch" "1.73.0" + "@aws-cdk/aws-iam" "1.73.0" + "@aws-cdk/core" "1.73.0" + constructs "^3.2.0" + +"@aws-cdk/aws-autoscaling-common@1.61.0": + version "1.61.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-common/-/aws-autoscaling-common-1.61.0.tgz#9e7f6a8669b36001b846d90fa8cb65d8b4edb27b" + integrity sha512-Mc02ZTp6gGGOycYHygyTWfXMajOi5bEAq6d6nJOQdzZSj2oiRmtQeF/Fd4earXFcl+lhSFMyUPEQPvZyvngQWQ== + dependencies: + "@aws-cdk/aws-iam" "1.61.0" + "@aws-cdk/core" "1.61.0" + constructs "^3.0.4" + +"@aws-cdk/aws-autoscaling-common@1.73.0": + version "1.73.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-common/-/aws-autoscaling-common-1.73.0.tgz#087cc95ed07cdc2e13acb770db40029e786c4c33" + integrity sha512-AJf9F9X/ktSMLj/NaX0ccPXr7VlDR6CTycpEgJZU4qbXqIW/LhIDkAhH15CNV38WYQnVDkVSQgDNfCtGaeHTqA== + dependencies: + "@aws-cdk/aws-iam" "1.73.0" + "@aws-cdk/core" "1.73.0" + constructs "^3.2.0" + +"@aws-cdk/aws-certificatemanager@1.73.0": + version "1.73.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-certificatemanager/-/aws-certificatemanager-1.73.0.tgz#c21eb5c015985d65473429e6d1fc4184da1ac1bc" + integrity sha512-r5talegg1Z79Fo289JRgm1u6SV16I7nO4AZEmmbceDByDnXiRcnroi0o9fZTVWNUYuIwrpY4ZWR2UTKY71xYTg== + dependencies: + "@aws-cdk/aws-iam" "1.73.0" + "@aws-cdk/aws-lambda" "1.73.0" + "@aws-cdk/aws-route53" "1.73.0" + "@aws-cdk/core" "1.73.0" + constructs "^3.2.0" + +"@aws-cdk/aws-cloudwatch@1.61.0": + version "1.61.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.61.0.tgz#3c0171ca76d086da424c1b4148a53c4d68dd885a" + integrity sha512-/Lp+8OU82m2+VX0GDeO8RIzyJDEvZQQaSQYflXRAFxFDrHiU6i4kXLbr1j4jebB9r+NSEAZ6XopBNg+JsAXGug== + dependencies: + "@aws-cdk/aws-iam" "1.61.0" + "@aws-cdk/core" "1.61.0" + constructs "^3.0.4" + +"@aws-cdk/aws-cloudwatch@1.73.0": + version "1.73.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.73.0.tgz#322638c3ab86bb9a9df24ab73de532fd4c9b98ed" + integrity sha512-H6MQVtJfKAJyE6DRHe71ivFu9OjhH32VtsJUZ1xuQ/pyeoQlOQ6fj0FIjz4ObG3qDBq72SBfrbPAQ3q+2g3HfA== + dependencies: + "@aws-cdk/aws-iam" "1.73.0" + "@aws-cdk/core" "1.73.0" + constructs "^3.2.0" + +"@aws-cdk/aws-codeguruprofiler@1.61.0": + version "1.61.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codeguruprofiler/-/aws-codeguruprofiler-1.61.0.tgz#1ace4c61a4a7b916f4dbe28070b5b914949e6f06" + integrity sha512-eS+evPzEOP2rODucLcNSIlXNozA+/6Pf2H0Igde5UiMmYSX3/ZRXm/EytKNtyF7pnWiWMymmBLwCue2V/FDV0w== + dependencies: + "@aws-cdk/aws-iam" "1.61.0" + "@aws-cdk/core" "1.61.0" + +"@aws-cdk/aws-codeguruprofiler@1.73.0": + version "1.73.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codeguruprofiler/-/aws-codeguruprofiler-1.73.0.tgz#9dd6c9ff00aee0f05f6b9602521a44893aef5ecd" + integrity sha512-WcJjCT+4zd3v4E1nWUagpHKWVIafM4vMe+4DAcBXZbhqXww1yyXUxf1A08uc7zQGko3hvIoHp41maAiT5G6/nw== + dependencies: + "@aws-cdk/aws-iam" "1.73.0" + "@aws-cdk/core" "1.73.0" + constructs "^3.2.0" + +"@aws-cdk/aws-ec2@1.61.0": + version "1.61.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ec2/-/aws-ec2-1.61.0.tgz#d39b1f5356c57089b963bbe4644adc02fd12a4bf" + integrity sha512-mW1tij3tuvHfgNlLQst1XkvSOoV/r3iUQFLhJ8QMG8h0KUiHRyY0i+kj3Ern4GxlwNUfM6RY3f12qtSpRpVPxQ== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.61.0" + "@aws-cdk/aws-iam" "1.61.0" + "@aws-cdk/aws-kms" "1.61.0" + "@aws-cdk/aws-logs" "1.61.0" + "@aws-cdk/aws-s3" "1.61.0" + "@aws-cdk/aws-s3-assets" "1.61.0" + "@aws-cdk/aws-ssm" "1.61.0" + "@aws-cdk/cloud-assembly-schema" "1.61.0" + "@aws-cdk/core" "1.61.0" + "@aws-cdk/cx-api" "1.61.0" + "@aws-cdk/region-info" "1.61.0" + constructs "^3.0.4" + +"@aws-cdk/aws-ec2@1.73.0": + version "1.73.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ec2/-/aws-ec2-1.73.0.tgz#8c1fd13ff399d4acb7ab7a18e431bf72b0f8dea2" + integrity sha512-XjGcHaVlaJNorXv8qrRt7k8rPLE8yV1SAJWHY/SIf7NzIg9Y6lFV0eVkBU5RINfuD9GIW8YbgtLGE5ZpfZ5YkA== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.73.0" + "@aws-cdk/aws-iam" "1.73.0" + "@aws-cdk/aws-kms" "1.73.0" + "@aws-cdk/aws-logs" "1.73.0" + "@aws-cdk/aws-s3" "1.73.0" + "@aws-cdk/aws-s3-assets" "1.73.0" + "@aws-cdk/aws-ssm" "1.73.0" + "@aws-cdk/cloud-assembly-schema" "1.73.0" + "@aws-cdk/core" "1.73.0" + "@aws-cdk/cx-api" "1.73.0" + "@aws-cdk/region-info" "1.73.0" + constructs "^3.2.0" + +"@aws-cdk/aws-efs@1.61.0": + version "1.61.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-efs/-/aws-efs-1.61.0.tgz#c4d66d0d928c01c8018c1c8bc75a1c5097d649ce" + integrity sha512-WeF3SF681V43E+u2j78om+y4r1Ay4JPTAns8y6SFcZOLqH+6qlXusGrwQoZcHpD4MTSU60NZKD8O0u1A111osg== + dependencies: + "@aws-cdk/aws-ec2" "1.61.0" + "@aws-cdk/aws-kms" "1.61.0" + "@aws-cdk/cloud-assembly-schema" "1.61.0" + "@aws-cdk/core" "1.61.0" + "@aws-cdk/cx-api" "1.61.0" + constructs "^3.0.4" + +"@aws-cdk/aws-efs@1.73.0": + version "1.73.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-efs/-/aws-efs-1.73.0.tgz#48d87d8f2135f6d138a81fa8ff4f26715c672913" + integrity sha512-sWUU+nhJ78T5tElLy7BqUrlXj4kGv43nrkWE5+jbTaLRFEpJPM6fMuWfzcJGfkqpbppjc/aySyCPbvEcWb7bDQ== + dependencies: + "@aws-cdk/aws-ec2" "1.73.0" + "@aws-cdk/aws-kms" "1.73.0" + "@aws-cdk/cloud-assembly-schema" "1.73.0" + "@aws-cdk/core" "1.73.0" + "@aws-cdk/cx-api" "1.73.0" + constructs "^3.2.0" + +"@aws-cdk/aws-elasticloadbalancingv2@1.73.0": + version "1.73.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-elasticloadbalancingv2/-/aws-elasticloadbalancingv2-1.73.0.tgz#b2159f142b14f90b6cf059402d40159ea326bad5" + integrity sha512-NqsPFxyCm6RSeaXQigQJh3CSUeKiAhOB4B1cyU4t/lHVG2EUd4ObDmOYLRREfXEax+nqDg+ZhLzDR03I+sXhIg== + dependencies: + "@aws-cdk/aws-certificatemanager" "1.73.0" + "@aws-cdk/aws-cloudwatch" "1.73.0" + "@aws-cdk/aws-ec2" "1.73.0" + "@aws-cdk/aws-iam" "1.73.0" + "@aws-cdk/aws-lambda" "1.73.0" + "@aws-cdk/aws-s3" "1.73.0" + "@aws-cdk/cloud-assembly-schema" "1.73.0" + "@aws-cdk/core" "1.73.0" + "@aws-cdk/cx-api" "1.73.0" + "@aws-cdk/region-info" "1.73.0" + constructs "^3.2.0" + +"@aws-cdk/aws-events@1.61.0": + version "1.61.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events/-/aws-events-1.61.0.tgz#718fd427ee09a11e30c96b66c88bc9b6169f5dff" + integrity sha512-DBEi/XPnWvQJ42dv28JdQSHGUz9N6fqYjR8FSNc2s0oXgDqGQ+8rU1Hxcj6s2Qb7lBQ66pHsvlpUcqZANIoddw== + dependencies: + "@aws-cdk/aws-iam" "1.61.0" + "@aws-cdk/core" "1.61.0" + constructs "^3.0.4" + +"@aws-cdk/aws-events@1.73.0": + version "1.73.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events/-/aws-events-1.73.0.tgz#178a5e2ff0f11f20d79a722785b05491f16c95bc" + integrity sha512-CvOAIAt00xCWKC2U96NAgA8xIkzrNkwalCXk3RIRjz9xEVge5w3lQ7Hy6lSSbhyTfxQV01bppZO2ExaeAKOjOg== + dependencies: + "@aws-cdk/aws-iam" "1.73.0" + "@aws-cdk/core" "1.73.0" + constructs "^3.2.0" + +"@aws-cdk/aws-iam@1.61.0": + version "1.61.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-iam/-/aws-iam-1.61.0.tgz#df38b5a3a33dd28f89d57884190fe429b2507bb9" + integrity sha512-CDFrRPkt4JR9iSVn+D18ThU201m2Ck2T5+E9044yJqkUgfbcMXO54ls2DlLbCg1RUrazRrqQ9Bu0IxDHbTwaKg== + dependencies: + "@aws-cdk/core" "1.61.0" + "@aws-cdk/region-info" "1.61.0" + constructs "^3.0.4" + +"@aws-cdk/aws-iam@1.73.0": + version "1.73.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-iam/-/aws-iam-1.73.0.tgz#a53f3bbaa99b67b56e38fe167a5c867fe339c01f" + integrity sha512-o2pdkEEdwluZegLqlbhfK0zgIbezvKDf5UfwBKloeFSDcGOZAaqF25OPfrTowXkIakHbw2wMswbUlmUgYdmNFg== + dependencies: + "@aws-cdk/core" "1.73.0" + "@aws-cdk/region-info" "1.73.0" + constructs "^3.2.0" + +"@aws-cdk/aws-kms@1.61.0": + version "1.61.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kms/-/aws-kms-1.61.0.tgz#a6b8429893e31be15b151ef7357e0560920d5527" + integrity sha512-taSQYpcPM705NN32W2UcgNfezTQbqx5YZDR+jp7A/E4OVdR1jojDJn6LKzsIo71s7DDG/k+77oNXEIJsaIhSRA== + dependencies: + "@aws-cdk/aws-iam" "1.61.0" + "@aws-cdk/core" "1.61.0" + constructs "^3.0.4" + +"@aws-cdk/aws-kms@1.73.0": + version "1.73.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kms/-/aws-kms-1.73.0.tgz#76127abeaebaea93adf00aef85ff294494218c0e" + integrity sha512-4aQRGBktM1IYqM0Qa/yio1/sjNuokMdLQNrjTVxyX+AZE2/zPqARe+Gm6sFpPJ9Is8oy0YzecP80QZSCnWpCnQ== + dependencies: + "@aws-cdk/aws-iam" "1.73.0" + "@aws-cdk/core" "1.73.0" + constructs "^3.2.0" + +"@aws-cdk/aws-lambda-nodejs@1.61.0": + version "1.61.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda-nodejs/-/aws-lambda-nodejs-1.61.0.tgz#1c1b34fdf34ab585ea1ff5c0687e0d69a6a0d310" + integrity sha512-a6fiCqk4IjNjVGG8K+AjQviavno1SQwHcdf5JBYhXez7aJ8f2oTZHf5HC2UPTk3Ohu6HsIHds8KXbz4uqLp2Sw== + dependencies: + "@aws-cdk/aws-lambda" "1.61.0" + "@aws-cdk/core" "1.61.0" + constructs "^3.0.4" + +"@aws-cdk/aws-lambda@1.61.0": + version "1.61.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda/-/aws-lambda-1.61.0.tgz#65b2fb456f6c2d0566401bd3d265f5bae47d6346" + integrity sha512-LhO/f50ovtsd2uUjLdeTEFdnQlbvXvC4VN5BEnX4X2kpdCpUXsnClVb9EQPEAFaDIE6VEpMnQ6rUR27kTerLCg== + dependencies: + "@aws-cdk/aws-applicationautoscaling" "1.61.0" + "@aws-cdk/aws-cloudwatch" "1.61.0" + "@aws-cdk/aws-codeguruprofiler" "1.61.0" + "@aws-cdk/aws-ec2" "1.61.0" + "@aws-cdk/aws-efs" "1.61.0" + "@aws-cdk/aws-events" "1.61.0" + "@aws-cdk/aws-iam" "1.61.0" + "@aws-cdk/aws-logs" "1.61.0" + "@aws-cdk/aws-s3" "1.61.0" + "@aws-cdk/aws-s3-assets" "1.61.0" + "@aws-cdk/aws-sqs" "1.61.0" + "@aws-cdk/core" "1.61.0" + "@aws-cdk/cx-api" "1.61.0" + constructs "^3.0.4" + +"@aws-cdk/aws-lambda@1.73.0": + version "1.73.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda/-/aws-lambda-1.73.0.tgz#2561d19ff9435ec0ef94d5050b92e914bf3c6aec" + integrity sha512-ffw/hK1DbbSXklry4sDmJ+c+dX3Zl+I9DsYNjf0h2aonEKZo+g7ItAhVzr5s1kDnKatlEJTNOw1Kdpn20vFZHg== + dependencies: + "@aws-cdk/aws-applicationautoscaling" "1.73.0" + "@aws-cdk/aws-cloudwatch" "1.73.0" + "@aws-cdk/aws-codeguruprofiler" "1.73.0" + "@aws-cdk/aws-ec2" "1.73.0" + "@aws-cdk/aws-efs" "1.73.0" + "@aws-cdk/aws-events" "1.73.0" + "@aws-cdk/aws-iam" "1.73.0" + "@aws-cdk/aws-logs" "1.73.0" + "@aws-cdk/aws-s3" "1.73.0" + "@aws-cdk/aws-s3-assets" "1.73.0" + "@aws-cdk/aws-sqs" "1.73.0" + "@aws-cdk/core" "1.73.0" + "@aws-cdk/cx-api" "1.73.0" + constructs "^3.2.0" + +"@aws-cdk/aws-logs@1.61.0": + version "1.61.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-logs/-/aws-logs-1.61.0.tgz#430bb5fc87ec606416ffb0869f04754185092a21" + integrity sha512-swEkiF+VFfsfY2GiCO8o9vzAQVnDUghmCZmg2B1oi4QwG850CBiPzAz88QaZOzqX1YWWXTcGU20yADg6D5nRIw== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.61.0" + "@aws-cdk/aws-iam" "1.61.0" + "@aws-cdk/aws-s3-assets" "1.61.0" + "@aws-cdk/core" "1.61.0" + constructs "^3.0.4" + +"@aws-cdk/aws-logs@1.73.0": + version "1.73.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-logs/-/aws-logs-1.73.0.tgz#dbb01b6dfe144ab74bf37cce55cc39239bb2390a" + integrity sha512-pn/JUpz49nmP81rOW66S36HbBF+RCKDWyN+rQ671zr62T9EPJuRLWxbdahcnAN1eqyCsZEs9PpCvTnacj9ue7w== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.73.0" + "@aws-cdk/aws-iam" "1.73.0" + "@aws-cdk/aws-s3-assets" "1.73.0" + "@aws-cdk/core" "1.73.0" + constructs "^3.2.0" + +"@aws-cdk/aws-route53@1.73.0": + version "1.73.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-route53/-/aws-route53-1.73.0.tgz#c804c9ee74ec0f607b940774994a80afa96b2f5a" + integrity sha512-M3298IkyLELVTlA+2g0EdEV+bYTkC3xzTiHwoqcJeCd8T7IY8E89f73bsweX8k49cu1soPAUvXVJuUfxb6WYEg== + dependencies: + "@aws-cdk/aws-ec2" "1.73.0" + "@aws-cdk/aws-logs" "1.73.0" + "@aws-cdk/cloud-assembly-schema" "1.73.0" + "@aws-cdk/core" "1.73.0" + constructs "^3.2.0" + +"@aws-cdk/aws-s3-assets@1.61.0": + version "1.61.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.61.0.tgz#8512ac0e16818bc78eff010d15d6cc99a7d8fccf" + integrity sha512-sipvqw0fJcpT3+Hxdzn2UkbBh/tr+jkzplLq2Jk5Jr0E/7+V5t2kmlEQgyG82ug1J2DERMAdlie8AgzGJ5CxhA== + dependencies: + "@aws-cdk/assets" "1.61.0" + "@aws-cdk/aws-iam" "1.61.0" + "@aws-cdk/aws-kms" "1.61.0" + "@aws-cdk/aws-s3" "1.61.0" + "@aws-cdk/core" "1.61.0" + "@aws-cdk/cx-api" "1.61.0" + constructs "^3.0.4" + +"@aws-cdk/aws-s3-assets@1.73.0": + version "1.73.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.73.0.tgz#fdfae26ef5356368809e0d93f908650c6abb10b5" + integrity sha512-CvxEIBOOj7tYMrMimPSsbtQ4OOurhUIiNIhM38gisTXYgSchKTeDzKJAbalfYOZSNJNEx1wMNL/+oKV/gDtrHQ== + dependencies: + "@aws-cdk/assets" "1.73.0" + "@aws-cdk/aws-iam" "1.73.0" + "@aws-cdk/aws-kms" "1.73.0" + "@aws-cdk/aws-s3" "1.73.0" + "@aws-cdk/core" "1.73.0" + "@aws-cdk/cx-api" "1.73.0" + constructs "^3.2.0" + +"@aws-cdk/aws-s3@1.61.0": + version "1.61.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3/-/aws-s3-1.61.0.tgz#a16d697a26d02b6d25636a0606016fbc187eae86" + integrity sha512-tFemzJJtopsiDbcjwpqsSY9xm3wZLWKEg2/9iAAZ4VUEW4feoX7NQyVkYHGH2dfMVufXq/rMZPfbKq7f3cgzAg== + dependencies: + "@aws-cdk/aws-events" "1.61.0" + "@aws-cdk/aws-iam" "1.61.0" + "@aws-cdk/aws-kms" "1.61.0" + "@aws-cdk/core" "1.61.0" + constructs "^3.0.4" + +"@aws-cdk/aws-s3@1.73.0": + version "1.73.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3/-/aws-s3-1.73.0.tgz#bb31d0eb2b2f204420c388015f26998fc702d67c" + integrity sha512-n0PuTBhqFxRfvGHhWk54R2hfS24b5DFkqP2PvTIwRFCBqmSUnRLF8I+GZ4c6RNxfVfDSzQBcGvfuCuNTL1KZLQ== + dependencies: + "@aws-cdk/aws-events" "1.73.0" + "@aws-cdk/aws-iam" "1.73.0" + "@aws-cdk/aws-kms" "1.73.0" + "@aws-cdk/core" "1.73.0" + constructs "^3.2.0" + +"@aws-cdk/aws-servicediscovery@1.73.0": + version "1.73.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-servicediscovery/-/aws-servicediscovery-1.73.0.tgz#3faec4889f6e89b4b4390bdce359b1661becaef6" + integrity sha512-3IV6+b6QUgQtOAqj1la6dagWufq6FcDIiDkhKLrzr3ppuT2wlkUsq+rjjQ6+4HHVoDEIy15E9/Dhxqm+nINCxQ== + dependencies: + "@aws-cdk/aws-ec2" "1.73.0" + "@aws-cdk/aws-elasticloadbalancingv2" "1.73.0" + "@aws-cdk/aws-route53" "1.73.0" + "@aws-cdk/core" "1.73.0" + constructs "^3.2.0" + +"@aws-cdk/aws-sqs@1.61.0": + version "1.61.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sqs/-/aws-sqs-1.61.0.tgz#b2d1d7a5d27d36d1580a3cb500daf417037da492" + integrity sha512-gyShf5rmUZCovSHL4PXvAD6TA/xmPESpsi+zx7HU/VXyeGgO6inq/sVzWM0OpCrNUnnoSct5p0yZJytRBnVYaA== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.61.0" + "@aws-cdk/aws-iam" "1.61.0" + "@aws-cdk/aws-kms" "1.61.0" + "@aws-cdk/core" "1.61.0" + constructs "^3.0.4" + +"@aws-cdk/aws-sqs@1.73.0": + version "1.73.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sqs/-/aws-sqs-1.73.0.tgz#a6108c57d6d22f91c9b11ecc0bb8072bc3d4cef1" + integrity sha512-15stNsRYY165Vvx/io6TnTSMHar10diLa2k2BTiL+PNzl18SfEIOoTy97PCvJp9AK2Ob9dyQwwjsiutTU56IbA== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.73.0" + "@aws-cdk/aws-iam" "1.73.0" + "@aws-cdk/aws-kms" "1.73.0" + "@aws-cdk/core" "1.73.0" + constructs "^3.2.0" + +"@aws-cdk/aws-ssm@1.61.0": + version "1.61.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ssm/-/aws-ssm-1.61.0.tgz#229308cfce757f8b3f75d12bf276ce4f8042076f" + integrity sha512-fOr2g7V7pR9bP7CXWLznM3d0/8EW76pjKLe+uGeXpqnrtXaGCvFBjiAms10oZ2584bn2bWIzikGmzzxzpamJbg== + dependencies: + "@aws-cdk/aws-iam" "1.61.0" + "@aws-cdk/aws-kms" "1.61.0" + "@aws-cdk/cloud-assembly-schema" "1.61.0" + "@aws-cdk/core" "1.61.0" + constructs "^3.0.4" + +"@aws-cdk/aws-ssm@1.73.0": + version "1.73.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ssm/-/aws-ssm-1.73.0.tgz#29e5e0126f00b6bd91b58a6757ede3c579d9b9ea" + integrity sha512-6fobpaL7hh0My/aypd7DHQ+sLuPcb7Taj8ngjmoh8H0muiAkfj4O0CjN3cd+kCYRr8T4zRh546ypvFfsc9WEHQ== + dependencies: + "@aws-cdk/aws-iam" "1.73.0" + "@aws-cdk/aws-kms" "1.73.0" + "@aws-cdk/cloud-assembly-schema" "1.73.0" + "@aws-cdk/core" "1.73.0" + constructs "^3.2.0" + +"@aws-cdk/cloud-assembly-schema@1.61.0": + version "1.61.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.61.0.tgz#d4d7f75cba3c52bb0b5406085dc77eefc6393aa9" + integrity sha512-+D1K159eNxWDGJNiyQcwczddzqFDS08b2VAJrgJFvqhMNbNWWuYxxxEJoh5jH9iULr2a52WXrrQfF72HbB0jUQ== + dependencies: + jsonschema "^1.2.5" + semver "^7.2.2" + +"@aws-cdk/cloud-assembly-schema@1.73.0": + version "1.73.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.73.0.tgz#75e27dddda8f65708a5f649760e92031c296416f" + integrity sha512-3m5nJDLSApAuUMra2WrQF7GHt6xgxqFET91WShtKtj48brZk4MBJ3dLre2LjDVsmMMOVdd6FpjY7tE5C1v9Hyw== + dependencies: + jsonschema "^1.4.0" + semver "^7.3.2" + +"@aws-cdk/core@1.61.0": + version "1.61.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.61.0.tgz#817689a087cb97741fd5e4b407ee603610f30fb3" + integrity sha512-g6vOR7zqWfbSzIM2kqUPH0Tdk4tOUFGX1TM5crty1ndkNja84PvAzEjQZr34U2aCGk+EI2pyB/4D7BLiAhAvKw== + dependencies: + "@aws-cdk/cloud-assembly-schema" "1.61.0" + "@aws-cdk/cx-api" "1.61.0" + constructs "^3.0.4" + fs-extra "^9.0.1" + minimatch "^3.0.4" + +"@aws-cdk/core@1.73.0": + version "1.73.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.73.0.tgz#15ef8230da5bb9d92b5e1c5f3cff0ade01a2b093" + integrity sha512-CTmUXo0hAH78/uvzfmgW4gQKLnusMxULIEUjd0wnfs/6/zoB6n2DP+lmkr/7Vp4aIG9nNNirThdHesidlx79eA== + dependencies: + "@aws-cdk/cloud-assembly-schema" "1.73.0" + "@aws-cdk/cx-api" "1.73.0" + "@aws-cdk/region-info" "1.73.0" + "@balena/dockerignore" "^1.0.2" + constructs "^3.2.0" + fs-extra "^9.0.1" + ignore "^5.1.8" + minimatch "^3.0.4" + +"@aws-cdk/cx-api@1.61.0": + version "1.61.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.61.0.tgz#23f0e0cff978277626d42091907b71a6c4d98580" + integrity sha512-SOn1aLhp2Zot1Qqev1REbgL2n0Ccl9sfg1nJMWnGxAmjarazJfvW22llYKnJPuFkgHswaBlifBxAA4WgKbUn6g== + dependencies: + "@aws-cdk/cloud-assembly-schema" "1.61.0" + semver "^7.2.2" + +"@aws-cdk/cx-api@1.73.0": + version "1.73.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.73.0.tgz#328562689a55fba184324ec2b83b3c72b88a1a3f" + integrity sha512-HlBpbIGu71xXdfJ1De1/HOMK5LWzKK9J7REho0oncpAO9KDxAbk+1aOFUZJVEgTsJSUUzLMSIUtDIo+ev70HGA== + dependencies: + "@aws-cdk/cloud-assembly-schema" "1.73.0" + semver "^7.3.2" + +"@aws-cdk/region-info@1.61.0": + version "1.61.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/region-info/-/region-info-1.61.0.tgz#663e44206a92da544183c3a405cd73490fdc3103" + integrity sha512-/10gvecycNJhYM2LIkA0XaoWgUZQ6K5FIIRaf/o4PbgHyR8WTyEPO6lbT0GoKi69TvC+18xzJ4iZ1p3ZdRnUYw== + +"@aws-cdk/region-info@1.73.0": + version "1.73.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/region-info/-/region-info-1.73.0.tgz#9f4444c57fa1d366205409a0a9e6b09f27b428cb" + integrity sha512-jWfx5mY3BaCVeFnbdUxrDTczVTuwShdtu3WkV2vL+W3VnUMzLPKbCPiGY8GutSBlWvoFpubsbVqx8Kw61pRgdQ== + +"@balena/dockerignore@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@balena/dockerignore/-/dockerignore-1.0.2.tgz#9ffe4726915251e8eb69f44ef3547e0da2c03e0d" + integrity sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q== + +"@serverless-stack/resources@../../../resources": + version "0.4.3" + dependencies: + "@aws-cdk/aws-lambda" "1.61.0" + "@aws-cdk/aws-lambda-nodejs" "1.61.0" + "@aws-cdk/core" "1.61.0" + +at-least-node@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== + +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + +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" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +constructs@^3.0.4, constructs@^3.2.0: + version "3.2.37" + resolved "https://registry.yarnpkg.com/constructs/-/constructs-3.2.37.tgz#ebced4a0fbfa81be8db730cbe7a82d18410bebcb" + integrity sha512-Z2dVwVaaw8cDIOeWT5smfgC4BLhkXK7JAfUUDtoB5WhUIIUZpRX+Pd5ZE6UrEuXSQkaJHUT6MVGxgBFZR3DpxQ== + +fs-extra@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc" + integrity sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^1.0.0" + +graceful-fs@^4.1.6, graceful-fs@^4.2.0: + version "4.2.4" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" + integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== + +ignore@^5.1.8: + version "5.1.8" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" + integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== + +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + dependencies: + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + +jsonschema@^1.2.5, jsonschema@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.4.0.tgz#1afa34c4bc22190d8e42271ec17ac8b3404f87b2" + integrity sha512-/YgW6pRMr6M7C+4o8kS+B/2myEpHCrxO4PEWnqJNBFMjn7EWXqlQ4tGwL6xTHeRplwuZmcAncdvfOad1nT2yMw== + +minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +semver@^7.2.2, semver@^7.3.2: + version "7.3.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" + integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== + +universalify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d" + integrity sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug== + +universalify@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" + integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== diff --git a/packages/resources/lambda/lambdaStub.js b/packages/resources/lambda/lambdaStub.js new file mode 100644 index 0000000000..e4882457b4 --- /dev/null +++ b/packages/resources/lambda/lambdaStub.js @@ -0,0 +1,86 @@ +const WebSocket = require("ws"); +let ws; +let wsCallbackRef = {}; + +// TODO +// - handle stub is idle for 10min and connection closes, need to check if closed event is received + +exports.main = function (event, context, callback) { + context.callbackWaitsForEmptyEventLoop = false; + + const { + functionName, + memoryLimitInMB, + awsRequestId, + callbackWaitsForEmptyEventLoop, + } = context; + const debugRequestExpireAt = + Date.now() + context.getRemainingTimeInMillis() + 1000; + const debugRequestId = `${awsRequestId}-${debugRequestExpireAt}`; + + // Set debugRequestId in ref b/c debugRequestId will be used in callback, need to do the + // useRef trick to let the callback access its current value. + wsCallbackRef.debugRequestId = debugRequestId; + wsCallbackRef.callback = callback; + + if (!ws) { + connectAndSendMessage(); + } else { + sendMessage(); + } + + function connectAndSendMessage() { + ws = new WebSocket(process.env.SST_DEBUG_ENDPOINT); + + ws.on("open", () => { + console.log("opened"); + sendMessage(); + }); + + ws.on("close", () => { + console.log("closed"); + }); + + ws.on("message", (data) => { + receiveMessage(data); + }); + + ws.on("error", () => { + console.log("error"); + }); + } + + function sendMessage() { + ws.send( + JSON.stringify({ + action: "newRequest", + debugRequestId, + debugRequestExpireAt, + debugRequestTimeoutInMs: context.getRemainingTimeInMillis(), + debugSrcPath: process.env.SST_DEBUG_SRC_PATH, + debugSrcHandler: process.env.SST_DEBUG_SRC_HANDLER, + event, + context: { + functionName, + memoryLimitInMB, + awsRequestId, + callbackWaitsForEmptyEventLoop, + }, + }) + ); + console.log("request sent"); + } + + function receiveMessage(data) { + console.log("response received", { data }); + const { action, debugRequestId, response } = JSON.parse(data); + if ( + action !== "newResponse" || + debugRequestId !== wsCallbackRef.debugRequestId + ) { + console.log("discard response"); + return; + } + wsCallbackRef.callback(null, response); + } +}; diff --git a/packages/resources/lambda/package-lock.json b/packages/resources/lambda/package-lock.json new file mode 100644 index 0000000000..a4157c7a6c --- /dev/null +++ b/packages/resources/lambda/package-lock.json @@ -0,0 +1,13 @@ +{ + "name": "lambda", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "ws": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.0.tgz", + "integrity": "sha512-kyFwXuV/5ymf+IXhS6f0+eAFvydbaBW3zjpT6hUdAh/hbVjTIB5EHBGi0bPoCLSK2wcuz3BrEkB9LrYv1Nm4NQ==" + } + } +} diff --git a/packages/resources/lambda/package.json b/packages/resources/lambda/package.json new file mode 100644 index 0000000000..d9dfe9df61 --- /dev/null +++ b/packages/resources/lambda/package.json @@ -0,0 +1,15 @@ +{ + "name": "lambda", + "version": "1.0.0", + "description": "", + "main": "lambdaStub.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": "", + "license": "ISC", + "dependencies": { + "ws": "^7.4.0" + } +} diff --git a/packages/resources/package.json b/packages/resources/package.json index 7c2c7a37f5..c13034c4f9 100644 --- a/packages/resources/package.json +++ b/packages/resources/package.json @@ -25,7 +25,9 @@ "access": "public" }, "dependencies": { - "@aws-cdk/core": "1.61.0" + "@aws-cdk/core": "1.61.0", + "@aws-cdk/aws-lambda": "1.61.0", + "@aws-cdk/aws-lambda-nodejs": "1.61.0" }, "devDependencies": { "@types/node": "^14.0.27", diff --git a/packages/resources/src/Function.ts b/packages/resources/src/Function.ts new file mode 100644 index 0000000000..1725d6c1b5 --- /dev/null +++ b/packages/resources/src/Function.ts @@ -0,0 +1,49 @@ +import path from "path"; +import * as cdk from "@aws-cdk/core"; +import * as lambda from "@aws-cdk/aws-lambda"; +import { App } from "./App"; + +export type FunctionProps = lambda.FunctionProps; + +export class Function extends lambda.Function { + constructor(scope: cdk.Construct, id: string, props: FunctionProps) { + const root = scope.node.root as App; + + // Validate NodeJS runtime + if ( + ![ + lambda.Runtime.NODEJS, + lambda.Runtime.NODEJS_10_X, + lambda.Runtime.NODEJS_12_X, + lambda.Runtime.NODEJS_4_3, + lambda.Runtime.NODEJS_6_10, + lambda.Runtime.NODEJS_8_10, + ].includes(props.runtime) + ) { + throw new Error( + `sst.Function does not support ${props.runtime}. Nnly NodeJS runtimes are currently supported.` + ); + } + + // Validate a plain file is specified + if (!(props.code instanceof lambda.AssetCode)) { + throw new Error(`sst.Function only supports AssetCode type for code.`); + } + + if (root.stage === "local") { + super(scope, id, { + ...props, + code: lambda.Code.fromAsset(path.resolve(__dirname, "../lambda")), + handler: "lambdaStub.main", + environment: { + SST_DEBUG_ENDPOINT: process.env.SST_DEBUG_ENDPOINT || "", + SST_DEBUG_SRC_PATH: props.code.path, + SST_DEBUG_SRC_HANDLER: props.handler, + }, + }); + // func.node.defaultChild.cfnOptions.metadata = { 'sst:lambda:src': 'src/hello.handler' }; + } else { + super(scope, id, props); + } + } +} diff --git a/packages/resources/src/NodejsFunction.ts b/packages/resources/src/NodejsFunction.ts new file mode 100644 index 0000000000..473a12c59a --- /dev/null +++ b/packages/resources/src/NodejsFunction.ts @@ -0,0 +1,41 @@ +import path from "path"; +import * as cdk from "@aws-cdk/core"; +import * as lambda from "@aws-cdk/aws-lambda-nodejs"; +import { App } from "./App"; + +export type NodejsFunctionProps = lambda.NodejsFunctionProps; + +export class NodejsFunction extends lambda.NodejsFunction { + constructor(scope: cdk.Construct, id: string, props?: NodejsFunctionProps) { + const root = scope.node.root as App; + + if (root.stage === "local") { + let srcPath, srcHandler; + if (props && props.entry) { + const entryParts = props.entry.split("/"); + srcPath = entryParts.slice(0, -1).join("/"); + srcHandler = `${entryParts.pop()}/${props.handler || "handler"}`; + } else { + srcPath = __dirname; + srcHandler = path + .basename(__filename) + .split(".") + .splice(0, -1) + .concat([id, (props && props.handler) || "handler"]) + .join("."); + } + super(scope, id, { + ...props, + entry: path.resolve(__dirname, "../lambda/lambdaStub.js"), + handler: "main", + environment: { + SST_DEBUG_ENDPOINT: process.env.SST_DEBUG_ENDPOINT || "", + SST_DEBUG_SRC_PATH: srcPath, + SST_DEBUG_SRC_HANDLER: srcHandler, + }, + }); + } else { + super(scope, id, props); + } + } +} diff --git a/packages/resources/src/index.ts b/packages/resources/src/index.ts index 809cc2f44d..53295be425 100644 --- a/packages/resources/src/index.ts +++ b/packages/resources/src/index.ts @@ -1,2 +1,4 @@ export * from "./App"; export * from "./Stack"; +export * from "./Function"; +export * from "./NodejsFunction"; From 20279bb329132b79662a10b693578a611dc83ac8 Mon Sep 17 00:00:00 2001 From: Jay Date: Mon, 23 Nov 2020 19:08:14 -0500 Subject: [PATCH 004/123] Setting configs for start script --- packages/cli/bin/scripts.js | 2 +- packages/cli/scripts/config/cdkHelpers.js | 26 +- packages/cli/scripts/debug/bin/index.js | 3 + packages/cli/scripts/deploy.js | 2 +- packages/cli/scripts/start.js | 26 +- packages/cli/scripts/wrapper/run.js | 25 +- packages/cli/test/start/src/hello.js | 16 +- packages/resources/lambda/package-lock.json | 1138 +++++++++++++++++++ packages/resources/src/App.ts | 22 + packages/resources/src/Function.ts | 6 +- packages/resources/src/NodejsFunction.ts | 4 +- yarn.lock | 517 +++++++++ 12 files changed, 1746 insertions(+), 41 deletions(-) diff --git a/packages/cli/bin/scripts.js b/packages/cli/bin/scripts.js index ec9860efb9..3a9f24dece 100755 --- a/packages/cli/bin/scripts.js +++ b/packages/cli/bin/scripts.js @@ -181,7 +181,6 @@ if (argv.verbose) { } switch (script) { - case cmd.start: case cmd.build: case cmd.deploy: case cmd.remove: { @@ -193,6 +192,7 @@ switch (script) { Promise.resolve(internals[script](argv, config, cliInfo)); break; } + case cmd.start: case cmd.addCdk: { const cliInfo = getCliInfo(); diff --git a/packages/cli/scripts/config/cdkHelpers.js b/packages/cli/scripts/config/cdkHelpers.js index 256430aa23..0feec640ca 100644 --- a/packages/cli/scripts/config/cdkHelpers.js +++ b/packages/cli/scripts/config/cdkHelpers.js @@ -245,25 +245,34 @@ function applyConfig(argv) { ); } - const type = config.type.trim(); - - logger.log(chalk.grey(`Preparing ${type}`)); - config.name = config.name || DEFAULT_NAME; config.stage = argv.stage || config.stage || DEFAULT_STAGE; config.region = argv.region || config.region || DEFAULT_REGION; + return config; +} + +function writeConfig(config) { + const type = config.type.trim(); + + logger.log(chalk.grey(`Preparing ${type}`)); + fs.writeFileSync( path.join(paths.appBuildPath, "sst-merged.json"), JSON.stringify(config) ); - - return config; } -function prepareCdk(argv, cliInfo) { +function prepareCdk(argv, cliInfo, config) { + let appliedConfig = config; + createBuildPath(); - const appliedConfig = applyConfig(argv); + + if (!config) { + appliedConfig = applyConfig(argv); + } + + writeConfig(appliedConfig); copyConfigFiles(); copyWrapperFiles(); @@ -321,6 +330,7 @@ async function parallelDestroy(options, stackStates) { module.exports = { synth, prepareCdk, + applyConfig, parallelDeploy, parallelDestroy, }; diff --git a/packages/cli/scripts/debug/bin/index.js b/packages/cli/scripts/debug/bin/index.js index fcf67cc84f..6064a1de6d 100644 --- a/packages/cli/scripts/debug/bin/index.js +++ b/packages/cli/scripts/debug/bin/index.js @@ -1,9 +1,12 @@ #!/usr/bin/env node + const cdk = require("@aws-cdk/core"); const { DebugStack } = require("../lib/debug-stack"); const app = new cdk.App(); + const stage = "local"; const name = "debug-stack"; const region = "us-east-1"; + new DebugStack(app, `${stage}-${name}`, { stage, name, region }); diff --git a/packages/cli/scripts/deploy.js b/packages/cli/scripts/deploy.js index 221badb7e1..4fb27c8a4d 100644 --- a/packages/cli/scripts/deploy.js +++ b/packages/cli/scripts/deploy.js @@ -73,9 +73,9 @@ function getEventCount(stackStates) { function formatStackStatus(status) { return { + failed: "failed", succeeded: "deployed", unchanged: "no changes", - failed: "failed", skipped: "not deployed", }[status]; } diff --git a/packages/cli/scripts/start.js b/packages/cli/scripts/start.js index 1c324887c4..1bd052c49a 100644 --- a/packages/cli/scripts/start.js +++ b/packages/cli/scripts/start.js @@ -1,12 +1,13 @@ "use strict"; -const spawn = require("cross-spawn"); -const WebSocket = require("ws"); const AWS = require("aws-sdk"); +const WebSocket = require("ws"); +const spawn = require("cross-spawn"); +const { execSync } = require("child_process"); -const paths = require("./config/paths"); const deploy = require("./deploy"); -const { execSync } = require("child_process"); +const paths = require("./config/paths"); +const { prepareCdk, applyConfig } = require("./config/cdkHelpers"); function setTimer(lambda, handleResponse, timeoutInMs) { return setTimeout(function () { @@ -135,7 +136,16 @@ function startClient(debugEndpoint) { }); } -module.exports = async function (argv, config, cliInfo) { +module.exports = async function (argv, cliInfo) { + const config = applyConfig(argv); + // + // console.log(argv, config, cliInfo); + // + // const stage = config.stage; + // const region = config.region; + // + // return; + const region = "us-east-1"; const stage = "local"; const stack = `${stage}-debug-stack`; @@ -152,7 +162,11 @@ module.exports = async function (argv, config, cliInfo) { const debugEndpoint = cfRet.Stacks[0].Outputs.find( (output) => output.OutputKey === "Endpoint" ).OutputValue; - process.env.SST_DEBUG_ENDPOINT = debugEndpoint; + //process.env.SST_DEBUG_ENDPOINT = debugEndpoint; + + config.debugEndpoint = debugEndpoint; + + prepareCdk(argv, cliInfo, config); // Deploy app await deploy(argv, config, cliInfo); diff --git a/packages/cli/scripts/wrapper/run.js b/packages/cli/scripts/wrapper/run.js index 919e16a241..957d2fc0f2 100644 --- a/packages/cli/scripts/wrapper/run.js +++ b/packages/cli/scripts/wrapper/run.js @@ -15,18 +15,6 @@ const sst = require("@serverless-stack/resources"); const config = require("./sst-merged.json"); -function handlerNotFound(importFailed) { - const extCopy = fs.existsSync(path.join(__dirname, "../", "tsconfig.json")) - ? "ts" - : "js"; - console.error( - importFailed - ? `\nCannot find app handler. Make sure to add a "lib/index.${extCopy}" file.\n` - : `\nCannot find app handler. Make sure "lib/index.${extCopy}" has a default export.\n` - ); - process.exit(1); -} - // Check first and throw an error if (!fs.existsSync(path.join(__dirname, "index.js"))) { handlerNotFound(true); @@ -43,5 +31,18 @@ handler.default( name: config.name, stage: config.stage, region: config.region, + debugEndpoint: config.debugEndpoint, }) ); + +function handlerNotFound(importFailed) { + const extCopy = fs.existsSync(path.join(__dirname, "../", "tsconfig.json")) + ? "ts" + : "js"; + console.error( + importFailed + ? `\nCannot find app handler. Make sure to add a "lib/index.${extCopy}" file.\n` + : `\nCannot find app handler. Make sure "lib/index.${extCopy}" has a default export.\n` + ); + process.exit(1); +} diff --git a/packages/cli/test/start/src/hello.js b/packages/cli/test/start/src/hello.js index ed8c2e23f2..432a997591 100644 --- a/packages/cli/test/start/src/hello.js +++ b/packages/cli/test/start/src/hello.js @@ -1,13 +1,13 @@ setTimeout(() => console.log("still here"), 3000); exports.handler = function (event, context, callback) { - context.callbackWaitsForEmptyEventLoop = true; + context.callbackWaitsForEmptyEventLoop = false; console.log("Calling from inside the function"); - setTimeout(() => { - callback(null, { - statusCode: 200, - headers: { "Content-Type": "text/plain" }, - body: "Hello World with event: " + JSON.stringify(event), - }); - }, 2000); + //setTimeout(() => { + callback(null, { + statusCode: 200, + headers: { "Content-Type": "text/plain" }, + body: "New World with event: " + JSON.stringify(event), + }); + //}, 2000); }; diff --git a/packages/resources/lambda/package-lock.json b/packages/resources/lambda/package-lock.json index a4157c7a6c..23dd524b0e 100644 --- a/packages/resources/lambda/package-lock.json +++ b/packages/resources/lambda/package-lock.json @@ -4,6 +4,1144 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@types/eslint": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.5.tgz", + "integrity": "sha512-Dc6ar9x16BdaR3NSxSF7T4IjL9gxxViJq8RmFd+2UAyA+K6ck2W+gUwfgpG/y9TPyUuBL35109bbULpEynvltA==", + "dev": true, + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.0.tgz", + "integrity": "sha512-O/ql2+rrCUe2W2rs7wMR+GqPRcgB6UiqN5RhrR5xruFlY7l9YLMn0ZkDzjoHLeiFkR8MCQZVudUuuvQ2BLC9Qw==", + "dev": true, + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "0.0.45", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.45.tgz", + "integrity": "sha512-jnqIUKDUqJbDIUxm0Uj7bnlMnRm1T/eZ9N+AVMqhPgzrba2GhGG5o/jCTwmdPK709nEZsGoMzXEDUjcXHa3W0g==", + "dev": true + }, + "@types/json-schema": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", + "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==", + "dev": true + }, + "@types/node": { + "version": "14.14.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.9.tgz", + "integrity": "sha512-JsoLXFppG62tWTklIoO4knA+oDTYsmqWxHRvd4lpmfQRNhX6osheUOWETP2jMoV/2bEHuMra8Pp3Dmo/stBFcw==", + "dev": true + }, + "@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "dev": true, + "requires": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", + "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", + "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", + "dev": true + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", + "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", + "dev": true, + "requires": { + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "@webassemblyjs/helper-fsm": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", + "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", + "dev": true + }, + "@webassemblyjs/helper-module-context": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", + "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", + "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", + "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", + "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", + "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", + "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/helper-wasm-section": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-opt": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", + "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", + "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", + "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "@webassemblyjs/wast-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", + "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/floating-point-hex-parser": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-code-frame": "1.9.0", + "@webassemblyjs/helper-fsm": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "@webpack-cli/info": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.1.0.tgz", + "integrity": "sha512-uNWSdaYHc+f3LdIZNwhdhkjjLDDl3jP2+XBqAq9H8DjrJUvlOKdP8TNruy1yEaDfgpAIgbSAN7pye4FEHg9tYQ==", + "dev": true, + "requires": { + "envinfo": "^7.7.3" + } + }, + "@webpack-cli/serve": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.1.0.tgz", + "integrity": "sha512-7RfnMXCpJ/NThrhq4gYQYILB18xWyoQcBey81oIyVbmgbc6m5ZHHyFK+DyH7pLHJf0p14MxL4mTsoPAgBSTpIg==", + "dev": true + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "acorn": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.0.4.tgz", + "integrity": "sha512-XNP0PqF1XD19ZlLKvB7cMmnZswW4C/03pRHgirB30uSJTaS3A3V1/P4sS3HPvFmjoriPCJQs+JDSbm4bL1TxGQ==", + "dev": true + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true + }, + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "array-back": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.1.tgz", + "integrity": "sha512-Z/JnaVEXv+A9xabHzN43FiiiWEE7gPCRXMrVmRm00tWbjZRul1iHm7ECzlyNq1p4a4ATXz+G9FJ3GqGOkOV3fg==", + "dev": true + }, + "browserslist": { + "version": "4.14.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.14.7.tgz", + "integrity": "sha512-BSVRLCeG3Xt/j/1cCGj1019Wbty0H+Yvu2AOuZSuoaUWn3RatbL33Cxk+Q4jRMRAbOm0p7SLravLjpnT6s0vzQ==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001157", + "colorette": "^1.2.1", + "electron-to-chromium": "^1.3.591", + "escalade": "^3.1.1", + "node-releases": "^1.1.66" + } + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001159", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001159.tgz", + "integrity": "sha512-w9Ph56jOsS8RL20K9cLND3u/+5WASWdhC/PPrf+V3/HsM3uHOavWOR1Xzakbv4Puo/srmPHudkmCRWM7Aq+/UA==", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "chrome-trace-event": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", + "dev": true, + "requires": { + "tslib": "^1.9.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==", + "dev": true, + "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": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "colorette": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", + "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==", + "dev": true + }, + "command-line-usage": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-6.1.1.tgz", + "integrity": "sha512-F59pEuAR9o1SF/bD0dQBDluhpT4jJQNWUHEuVBqpDmCUo6gPjCi+m9fCWnWZVR/oG6cMTUms4h+3NPl74wGXvA==", + "dev": true, + "requires": { + "array-back": "^4.0.1", + "chalk": "^2.4.2", + "table-layout": "^1.0.1", + "typical": "^5.2.0" + } + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "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==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.604", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.604.tgz", + "integrity": "sha512-Mk5ODhvz+ZaQpVFXbu51wGW94P3CnkJIDkEQGxXMl6Ix6R0PG4IFWz83WbqFEZjN1UksoTsmmzKY5SmUrEvNJQ==", + "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==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "enhanced-resolve": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.3.2.tgz", + "integrity": "sha512-G28GCrglCAH6+EqMN2D+Q2wCUS1O1vVQJBn8ME2I/Api41YBe4vLWWRBOUbwDH7vwzSZdljxwTRVqnf+sm6XqQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.0.0" + } + }, + "enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "requires": { + "ansi-colors": "^4.1.1" + } + }, + "envinfo": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.7.3.tgz", + "integrity": "sha512-46+j5QxbPWza0PB1i15nZx0xQ4I/EfQxg9J8Had3b408SV63nEtor2e+oiY63amTo9KTuh2a3XLObNwduxYwwA==", + "dev": true + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "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=", + "dev": true + }, + "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" + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "events": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", + "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==", + "dev": true + }, + "execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "fast-deep-equal": { + "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==", + "dev": true + }, + "fast-json-stable-stringify": { + "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==", + "dev": true + }, + "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" + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "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 + }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true + }, + "import-local": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", + "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", + "dev": true, + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + } + }, + "interpret": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", + "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", + "dev": true + }, + "is-core-module": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.1.0.tgz", + "integrity": "sha512-YcV7BgVMRFRua2FqQzKtTDMz8iCuLEyGKjr70q8Zm1yy2qKcurbFEd79PAdHV77oL3NrAaOVQIbMmiHQCHB7ZA==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + } + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-schema-traverse": { + "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==", + "dev": true + }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true + }, + "loader-runner": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.1.0.tgz", + "integrity": "sha512-oR4lB4WvwFoC70ocraKhn5nkKSs23t57h9udUgw8o0iH8hMXeEoRuUgfcvgUwAJ1ZpRqBvcou4N2SMvM1DwMrA==", + "dev": true + }, + "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" + } + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "mime-db": { + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", + "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", + "dev": true + }, + "mime-types": { + "version": "2.1.27", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", + "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "dev": true, + "requires": { + "mime-db": "1.44.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node-releases": { + "version": "1.1.67", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.67.tgz", + "integrity": "sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg==", + "dev": true + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.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" + } + }, + "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 + }, + "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 + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "pkg-dir": { + "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==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "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", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "rechoir": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.0.tgz", + "integrity": "sha512-ADsDEH2bvbjltXEP+hTIAmeFekTFK0V2BTxMkok6qILyAJEXV0AFfoWcAq4yfll5VdIMd/RVXq0lR+wQi5ZU3Q==", + "dev": true, + "requires": { + "resolve": "^1.9.0" + } + }, + "reduce-flatten": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-2.0.0.tgz", + "integrity": "sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==", + "dev": true + }, + "resolve": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "dev": true, + "requires": { + "is-core-module": "^2.1.0", + "path-parse": "^1.0.6" + } + }, + "resolve-cwd": { + "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==", + "dev": true, + "requires": { + "resolve-from": "^5.0.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + }, + "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==", + "dev": true + }, + "schema-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "serialize-javascript": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", + "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true + }, + "supports-color": { + "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" + } + }, + "table-layout": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-1.0.1.tgz", + "integrity": "sha512-dEquqYNJiGwY7iPfZ3wbXDI944iqanTSchrACLL2nOB+1r+h1Nzu2eH+DuPPvWvm5Ry7iAPeFlgEtP5bIp5U7Q==", + "dev": true, + "requires": { + "array-back": "^4.0.1", + "deep-extend": "~0.6.0", + "typical": "^5.2.0", + "wordwrapjs": "^4.0.0" + } + }, + "tapable": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.1.1.tgz", + "integrity": "sha512-Wib1S8m2wdpLbmQz0RBEVosIyvb/ykfKXf3ZIDqvWoMg/zTNm6G/tDSuUM61J1kNCDXWJrLHGSFeMhAG+gAGpQ==", + "dev": true + }, + "terser": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.5.0.tgz", + "integrity": "sha512-eopt1Gf7/AQyPhpygdKePTzaet31TvQxXvrf7xYUvD/d8qkCJm4SKPDzu+GHK5ZaYTn8rvttfqaZc3swK21e5g==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.19" + }, + "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 + } + } + }, + "terser-webpack-plugin": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.0.3.tgz", + "integrity": "sha512-zFdGk8Lh9ZJGPxxPE6jwysOlATWB8GMW8HcfGULWA/nPal+3VdATflQvSBSLQJRCmYZnfFJl6vkRTiwJGNgPiQ==", + "dev": true, + "requires": { + "jest-worker": "^26.6.1", + "p-limit": "^3.0.2", + "schema-utils": "^3.0.0", + "serialize-javascript": "^5.0.1", + "source-map": "^0.6.1", + "terser": "^5.3.8" + }, + "dependencies": { + "p-limit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.0.2.tgz", + "integrity": "sha512-iwqZSOoWIW+Ew4kAGUlN16J4M7OB3ysMLSZtnhmqx7njIHFPlxWBX8xo3lVTyFVq6mI/lL9qt2IsN1sHwaxJkg==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + } + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "typical": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", + "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", + "dev": true + }, + "uri-js": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", + "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "v8-compile-cache": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz", + "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==", + "dev": true + }, + "watchpack": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.0.1.tgz", + "integrity": "sha512-vO8AKGX22ZRo6PiOFM9dC0re8IcKh8Kd/aH2zeqUc6w4/jBGlTy2P7fTC6ekT0NjVeGjgU2dGC5rNstKkeLEQg==", + "dev": true, + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, + "webpack": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.6.0.tgz", + "integrity": "sha512-SIeFuBhuheKElRbd84O35UhKc0nxlgSwtzm2ksZ0BVhRJqxVJxEguT/pYhfiR0le/pxTa1VsCp7EOYyTsa6XOA==", + "dev": true, + "requires": { + "@types/eslint-scope": "^3.7.0", + "@types/estree": "^0.0.45", + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^8.0.4", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.3.1", + "eslint-scope": "^5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.4", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^4.1.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "pkg-dir": "^4.2.0", + "schema-utils": "^3.0.0", + "tapable": "^2.0.0", + "terser-webpack-plugin": "^5.0.3", + "watchpack": "^2.0.0", + "webpack-sources": "^2.1.1" + } + }, + "webpack-cli": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.2.0.tgz", + "integrity": "sha512-EIl3k88vaF4fSxWSgtAQR+VwicfLMTZ9amQtqS4o+TDPW9HGaEpbFBbAZ4A3ZOT5SOnMxNOzROsSTPiE8tBJPA==", + "dev": true, + "requires": { + "@webpack-cli/info": "^1.1.0", + "@webpack-cli/serve": "^1.1.0", + "colorette": "^1.2.1", + "command-line-usage": "^6.1.0", + "commander": "^6.2.0", + "enquirer": "^2.3.6", + "execa": "^4.1.0", + "import-local": "^3.0.2", + "interpret": "^2.2.0", + "leven": "^3.1.0", + "rechoir": "^0.7.0", + "v8-compile-cache": "^2.2.0", + "webpack-merge": "^4.2.2" + }, + "dependencies": { + "commander": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.0.tgz", + "integrity": "sha512-zP4jEKbe8SHzKJYQmq8Y9gYjtO/POJLgIdKgV7B9qNmABVFVc+ctqSX6iXh4mCpJfRBOabiZ2YKPg8ciDw6C+Q==", + "dev": true + } + } + }, + "webpack-merge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz", + "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==", + "dev": true, + "requires": { + "lodash": "^4.17.15" + } + }, + "webpack-sources": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.2.0.tgz", + "integrity": "sha512-bQsA24JLwcnWGArOKUxYKhX3Mz/nK1Xf6hxullKERyktjNMC4x8koOeaDNTA2fEJ09BdWLbM/iTW0ithREUP0w==", + "dev": true, + "requires": { + "source-list-map": "^2.0.1", + "source-map": "^0.6.1" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "wordwrapjs": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-4.0.0.tgz", + "integrity": "sha512-Svqw723a3R34KvsMgpjFBYCgNOSdcW3mQFK4wIfhGQhtaFVOJmdYoXgi63ne3dTlWgatVcUc7t4HtQ/+bUVIzQ==", + "dev": true, + "requires": { + "reduce-flatten": "^2.0.0", + "typical": "^5.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, "ws": { "version": "7.4.0", "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.0.tgz", diff --git a/packages/resources/src/App.ts b/packages/resources/src/App.ts index 0304e2a1ac..cd25735422 100644 --- a/packages/resources/src/App.ts +++ b/packages/resources/src/App.ts @@ -25,11 +25,23 @@ export interface DeployProps { * @default - Defaults to us-east-1 */ readonly region?: string; + + /** + * The local WebSockets debug enpoint used by `sst start`. + * + * @default - Defaults to undefined + */ + readonly debugEndpoint?: string; } export type AppProps = cdk.AppProps; export class App extends cdk.App { + /** + * Is the app being deployed locally + */ + public readonly LOCAL: boolean = false; + /** * The app name */ @@ -45,12 +57,22 @@ export class App extends cdk.App { */ public readonly region: string; + /** + * The local WebSockets debug endpoint + */ + public readonly debugEndpoint?: string; + constructor(deployProps: DeployProps = {}, props: AppProps = {}) { super(props); this.stage = deployProps.stage || "dev"; this.name = deployProps.name || "my-app"; this.region = deployProps.region || "us-east-1"; + + if (deployProps.debugEndpoint) { + this.LOCAL = true; + this.debugEndpoint = deployProps.debugEndpoint; + } } logicalPrefixedName(logicalName: string): string { diff --git a/packages/resources/src/Function.ts b/packages/resources/src/Function.ts index 1725d6c1b5..4f874c1617 100644 --- a/packages/resources/src/Function.ts +++ b/packages/resources/src/Function.ts @@ -21,7 +21,7 @@ export class Function extends lambda.Function { ].includes(props.runtime) ) { throw new Error( - `sst.Function does not support ${props.runtime}. Nnly NodeJS runtimes are currently supported.` + `sst.Function does not support ${props.runtime}. Only NodeJS runtimes are currently supported.` ); } @@ -30,15 +30,15 @@ export class Function extends lambda.Function { throw new Error(`sst.Function only supports AssetCode type for code.`); } - if (root.stage === "local") { + if (root.LOCAL) { super(scope, id, { ...props, code: lambda.Code.fromAsset(path.resolve(__dirname, "../lambda")), handler: "lambdaStub.main", environment: { - SST_DEBUG_ENDPOINT: process.env.SST_DEBUG_ENDPOINT || "", SST_DEBUG_SRC_PATH: props.code.path, SST_DEBUG_SRC_HANDLER: props.handler, + SST_DEBUG_ENDPOINT: root.debugEndpoint || "", }, }); // func.node.defaultChild.cfnOptions.metadata = { 'sst:lambda:src': 'src/hello.handler' }; diff --git a/packages/resources/src/NodejsFunction.ts b/packages/resources/src/NodejsFunction.ts index 473a12c59a..5bc0303164 100644 --- a/packages/resources/src/NodejsFunction.ts +++ b/packages/resources/src/NodejsFunction.ts @@ -9,7 +9,7 @@ export class NodejsFunction extends lambda.NodejsFunction { constructor(scope: cdk.Construct, id: string, props?: NodejsFunctionProps) { const root = scope.node.root as App; - if (root.stage === "local") { + if (root.LOCAL) { let srcPath, srcHandler; if (props && props.entry) { const entryParts = props.entry.split("/"); @@ -29,9 +29,9 @@ export class NodejsFunction extends lambda.NodejsFunction { entry: path.resolve(__dirname, "../lambda/lambdaStub.js"), handler: "main", environment: { - SST_DEBUG_ENDPOINT: process.env.SST_DEBUG_ENDPOINT || "", SST_DEBUG_SRC_PATH: srcPath, SST_DEBUG_SRC_HANDLER: srcHandler, + SST_DEBUG_ENDPOINT: root.debugEndpoint || "", }, }); } else { diff --git a/yarn.lock b/yarn.lock index 90131f9195..b16da093d3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,6 +2,450 @@ # yarn lockfile v1 +"@aws-cdk/assets@1.61.0": + version "1.61.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/assets/-/assets-1.61.0.tgz#9702ba8ef5b3c45ec47e0530006d63dc0685a5ff" + integrity sha512-VJfH8oVAsIa5lo+SmDF5d6r1J9Fb9TrnQINrzr68shhdY/RAkys5cr9SXO4lcpWmGsNXB9z+tEtEz9IT79e2QA== + dependencies: + "@aws-cdk/core" "1.61.0" + "@aws-cdk/cx-api" "1.61.0" + constructs "^3.0.4" + +"@aws-cdk/assets@1.73.0": + version "1.73.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/assets/-/assets-1.73.0.tgz#dcca310ac82f2e2370cb7307b227dd59e319606e" + integrity sha512-fAdRAWn/IWbalMZva86Q4BimYrwipSoqPzyC5d6fwxNmJU/QiFLMpILanS1T9a0a+yjqAqk+8pAXn44lZIOlPQ== + dependencies: + "@aws-cdk/core" "1.73.0" + "@aws-cdk/cx-api" "1.73.0" + constructs "^3.2.0" + +"@aws-cdk/aws-apigatewayv2@1.73.0": + version "1.73.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-apigatewayv2/-/aws-apigatewayv2-1.73.0.tgz#c305288d049d9a1905642a60eedeabcfb8737df2" + integrity sha512-+++K1KADMSFGgvOaj3OwiVcNEYWUR878rqH50EDEf/UxaYky3eD0Sg255sGQWrjbi3bb60lYdzVFDjADHHnEtw== + dependencies: + "@aws-cdk/aws-certificatemanager" "1.73.0" + "@aws-cdk/aws-cloudwatch" "1.73.0" + "@aws-cdk/aws-ec2" "1.73.0" + "@aws-cdk/aws-iam" "1.73.0" + "@aws-cdk/core" "1.73.0" + constructs "^3.2.0" + +"@aws-cdk/aws-applicationautoscaling@1.61.0": + version "1.61.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-applicationautoscaling/-/aws-applicationautoscaling-1.61.0.tgz#8129984ba0185bbb525fd8ef6328c5c84e51e4e5" + integrity sha512-KP2zJ2hJYZgrl2glfCFpK0l9PJderMNS2MAH7xr0JuiFwAPuJgNEmOkrtVAgrsTGFDBisvXQpqr6L84EQxBfyw== + dependencies: + "@aws-cdk/aws-autoscaling-common" "1.61.0" + "@aws-cdk/aws-cloudwatch" "1.61.0" + "@aws-cdk/aws-iam" "1.61.0" + "@aws-cdk/core" "1.61.0" + constructs "^3.0.4" + +"@aws-cdk/aws-applicationautoscaling@1.73.0": + version "1.73.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-applicationautoscaling/-/aws-applicationautoscaling-1.73.0.tgz#2de1f609d25bd9a69c458ec06ae59820f75865f4" + integrity sha512-ROJPuj+PyrYa7/P6JoTrsFs8WMxKra1yuXZJ3r0iTrnAgCDAVCVpzmiF3Uwqw6rip1o63ZLT3fxxMeJBb2wL7Q== + dependencies: + "@aws-cdk/aws-autoscaling-common" "1.73.0" + "@aws-cdk/aws-cloudwatch" "1.73.0" + "@aws-cdk/aws-iam" "1.73.0" + "@aws-cdk/core" "1.73.0" + constructs "^3.2.0" + +"@aws-cdk/aws-autoscaling-common@1.61.0": + version "1.61.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-common/-/aws-autoscaling-common-1.61.0.tgz#9e7f6a8669b36001b846d90fa8cb65d8b4edb27b" + integrity sha512-Mc02ZTp6gGGOycYHygyTWfXMajOi5bEAq6d6nJOQdzZSj2oiRmtQeF/Fd4earXFcl+lhSFMyUPEQPvZyvngQWQ== + dependencies: + "@aws-cdk/aws-iam" "1.61.0" + "@aws-cdk/core" "1.61.0" + constructs "^3.0.4" + +"@aws-cdk/aws-autoscaling-common@1.73.0": + version "1.73.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-common/-/aws-autoscaling-common-1.73.0.tgz#087cc95ed07cdc2e13acb770db40029e786c4c33" + integrity sha512-AJf9F9X/ktSMLj/NaX0ccPXr7VlDR6CTycpEgJZU4qbXqIW/LhIDkAhH15CNV38WYQnVDkVSQgDNfCtGaeHTqA== + dependencies: + "@aws-cdk/aws-iam" "1.73.0" + "@aws-cdk/core" "1.73.0" + constructs "^3.2.0" + +"@aws-cdk/aws-certificatemanager@1.73.0": + version "1.73.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-certificatemanager/-/aws-certificatemanager-1.73.0.tgz#c21eb5c015985d65473429e6d1fc4184da1ac1bc" + integrity sha512-r5talegg1Z79Fo289JRgm1u6SV16I7nO4AZEmmbceDByDnXiRcnroi0o9fZTVWNUYuIwrpY4ZWR2UTKY71xYTg== + dependencies: + "@aws-cdk/aws-iam" "1.73.0" + "@aws-cdk/aws-lambda" "1.73.0" + "@aws-cdk/aws-route53" "1.73.0" + "@aws-cdk/core" "1.73.0" + constructs "^3.2.0" + +"@aws-cdk/aws-cloudformation@1.61.0": + version "1.61.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudformation/-/aws-cloudformation-1.61.0.tgz#6810e5327aa53b6d73cb337af340db152284aad7" + integrity sha512-e7mti0sWR6Sf4tav36bu379kkG5E33VMPLZaT8RkhXkIl97c1OaGHVx5G1Oe5DiHka08c+PA6da8ahkrR1wSkQ== + dependencies: + "@aws-cdk/aws-iam" "1.61.0" + "@aws-cdk/aws-lambda" "1.61.0" + "@aws-cdk/aws-s3" "1.61.0" + "@aws-cdk/aws-sns" "1.61.0" + "@aws-cdk/core" "1.61.0" + "@aws-cdk/cx-api" "1.61.0" + constructs "^3.0.4" + +"@aws-cdk/aws-cloudwatch@1.61.0": + version "1.61.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.61.0.tgz#3c0171ca76d086da424c1b4148a53c4d68dd885a" + integrity sha512-/Lp+8OU82m2+VX0GDeO8RIzyJDEvZQQaSQYflXRAFxFDrHiU6i4kXLbr1j4jebB9r+NSEAZ6XopBNg+JsAXGug== + dependencies: + "@aws-cdk/aws-iam" "1.61.0" + "@aws-cdk/core" "1.61.0" + constructs "^3.0.4" + +"@aws-cdk/aws-cloudwatch@1.73.0": + version "1.73.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.73.0.tgz#322638c3ab86bb9a9df24ab73de532fd4c9b98ed" + integrity sha512-H6MQVtJfKAJyE6DRHe71ivFu9OjhH32VtsJUZ1xuQ/pyeoQlOQ6fj0FIjz4ObG3qDBq72SBfrbPAQ3q+2g3HfA== + dependencies: + "@aws-cdk/aws-iam" "1.73.0" + "@aws-cdk/core" "1.73.0" + constructs "^3.2.0" + +"@aws-cdk/aws-codeguruprofiler@1.61.0": + version "1.61.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codeguruprofiler/-/aws-codeguruprofiler-1.61.0.tgz#1ace4c61a4a7b916f4dbe28070b5b914949e6f06" + integrity sha512-eS+evPzEOP2rODucLcNSIlXNozA+/6Pf2H0Igde5UiMmYSX3/ZRXm/EytKNtyF7pnWiWMymmBLwCue2V/FDV0w== + dependencies: + "@aws-cdk/aws-iam" "1.61.0" + "@aws-cdk/core" "1.61.0" + +"@aws-cdk/aws-codeguruprofiler@1.73.0": + version "1.73.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codeguruprofiler/-/aws-codeguruprofiler-1.73.0.tgz#9dd6c9ff00aee0f05f6b9602521a44893aef5ecd" + integrity sha512-WcJjCT+4zd3v4E1nWUagpHKWVIafM4vMe+4DAcBXZbhqXww1yyXUxf1A08uc7zQGko3hvIoHp41maAiT5G6/nw== + dependencies: + "@aws-cdk/aws-iam" "1.73.0" + "@aws-cdk/core" "1.73.0" + constructs "^3.2.0" + +"@aws-cdk/aws-dynamodb@1.61.0": + version "1.61.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-dynamodb/-/aws-dynamodb-1.61.0.tgz#3d9b1ffd6eb965152a2456de1b08625d3f3ee907" + integrity sha512-Qd87xJNTjCRBQ//H4WA6Lif3VuA9QuyKyterlmTGnmrUsAqubkKtxu/lLvMp0gQb9LzjQ5Hn9238v1s8rDBDlw== + dependencies: + "@aws-cdk/aws-applicationautoscaling" "1.61.0" + "@aws-cdk/aws-cloudwatch" "1.61.0" + "@aws-cdk/aws-iam" "1.61.0" + "@aws-cdk/aws-kms" "1.61.0" + "@aws-cdk/aws-lambda" "1.61.0" + "@aws-cdk/core" "1.61.0" + "@aws-cdk/custom-resources" "1.61.0" + constructs "^3.0.4" + +"@aws-cdk/aws-ec2@1.61.0": + version "1.61.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ec2/-/aws-ec2-1.61.0.tgz#d39b1f5356c57089b963bbe4644adc02fd12a4bf" + integrity sha512-mW1tij3tuvHfgNlLQst1XkvSOoV/r3iUQFLhJ8QMG8h0KUiHRyY0i+kj3Ern4GxlwNUfM6RY3f12qtSpRpVPxQ== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.61.0" + "@aws-cdk/aws-iam" "1.61.0" + "@aws-cdk/aws-kms" "1.61.0" + "@aws-cdk/aws-logs" "1.61.0" + "@aws-cdk/aws-s3" "1.61.0" + "@aws-cdk/aws-s3-assets" "1.61.0" + "@aws-cdk/aws-ssm" "1.61.0" + "@aws-cdk/cloud-assembly-schema" "1.61.0" + "@aws-cdk/core" "1.61.0" + "@aws-cdk/cx-api" "1.61.0" + "@aws-cdk/region-info" "1.61.0" + constructs "^3.0.4" + +"@aws-cdk/aws-ec2@1.73.0": + version "1.73.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ec2/-/aws-ec2-1.73.0.tgz#8c1fd13ff399d4acb7ab7a18e431bf72b0f8dea2" + integrity sha512-XjGcHaVlaJNorXv8qrRt7k8rPLE8yV1SAJWHY/SIf7NzIg9Y6lFV0eVkBU5RINfuD9GIW8YbgtLGE5ZpfZ5YkA== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.73.0" + "@aws-cdk/aws-iam" "1.73.0" + "@aws-cdk/aws-kms" "1.73.0" + "@aws-cdk/aws-logs" "1.73.0" + "@aws-cdk/aws-s3" "1.73.0" + "@aws-cdk/aws-s3-assets" "1.73.0" + "@aws-cdk/aws-ssm" "1.73.0" + "@aws-cdk/cloud-assembly-schema" "1.73.0" + "@aws-cdk/core" "1.73.0" + "@aws-cdk/cx-api" "1.73.0" + "@aws-cdk/region-info" "1.73.0" + constructs "^3.2.0" + +"@aws-cdk/aws-efs@1.61.0": + version "1.61.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-efs/-/aws-efs-1.61.0.tgz#c4d66d0d928c01c8018c1c8bc75a1c5097d649ce" + integrity sha512-WeF3SF681V43E+u2j78om+y4r1Ay4JPTAns8y6SFcZOLqH+6qlXusGrwQoZcHpD4MTSU60NZKD8O0u1A111osg== + dependencies: + "@aws-cdk/aws-ec2" "1.61.0" + "@aws-cdk/aws-kms" "1.61.0" + "@aws-cdk/cloud-assembly-schema" "1.61.0" + "@aws-cdk/core" "1.61.0" + "@aws-cdk/cx-api" "1.61.0" + constructs "^3.0.4" + +"@aws-cdk/aws-efs@1.73.0": + version "1.73.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-efs/-/aws-efs-1.73.0.tgz#48d87d8f2135f6d138a81fa8ff4f26715c672913" + integrity sha512-sWUU+nhJ78T5tElLy7BqUrlXj4kGv43nrkWE5+jbTaLRFEpJPM6fMuWfzcJGfkqpbppjc/aySyCPbvEcWb7bDQ== + dependencies: + "@aws-cdk/aws-ec2" "1.73.0" + "@aws-cdk/aws-kms" "1.73.0" + "@aws-cdk/cloud-assembly-schema" "1.73.0" + "@aws-cdk/core" "1.73.0" + "@aws-cdk/cx-api" "1.73.0" + constructs "^3.2.0" + +"@aws-cdk/aws-events@1.61.0": + version "1.61.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events/-/aws-events-1.61.0.tgz#718fd427ee09a11e30c96b66c88bc9b6169f5dff" + integrity sha512-DBEi/XPnWvQJ42dv28JdQSHGUz9N6fqYjR8FSNc2s0oXgDqGQ+8rU1Hxcj6s2Qb7lBQ66pHsvlpUcqZANIoddw== + dependencies: + "@aws-cdk/aws-iam" "1.61.0" + "@aws-cdk/core" "1.61.0" + constructs "^3.0.4" + +"@aws-cdk/aws-events@1.73.0": + version "1.73.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events/-/aws-events-1.73.0.tgz#178a5e2ff0f11f20d79a722785b05491f16c95bc" + integrity sha512-CvOAIAt00xCWKC2U96NAgA8xIkzrNkwalCXk3RIRjz9xEVge5w3lQ7Hy6lSSbhyTfxQV01bppZO2ExaeAKOjOg== + dependencies: + "@aws-cdk/aws-iam" "1.73.0" + "@aws-cdk/core" "1.73.0" + constructs "^3.2.0" + +"@aws-cdk/aws-iam@1.61.0": + version "1.61.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-iam/-/aws-iam-1.61.0.tgz#df38b5a3a33dd28f89d57884190fe429b2507bb9" + integrity sha512-CDFrRPkt4JR9iSVn+D18ThU201m2Ck2T5+E9044yJqkUgfbcMXO54ls2DlLbCg1RUrazRrqQ9Bu0IxDHbTwaKg== + dependencies: + "@aws-cdk/core" "1.61.0" + "@aws-cdk/region-info" "1.61.0" + constructs "^3.0.4" + +"@aws-cdk/aws-iam@1.73.0": + version "1.73.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-iam/-/aws-iam-1.73.0.tgz#a53f3bbaa99b67b56e38fe167a5c867fe339c01f" + integrity sha512-o2pdkEEdwluZegLqlbhfK0zgIbezvKDf5UfwBKloeFSDcGOZAaqF25OPfrTowXkIakHbw2wMswbUlmUgYdmNFg== + dependencies: + "@aws-cdk/core" "1.73.0" + "@aws-cdk/region-info" "1.73.0" + constructs "^3.2.0" + +"@aws-cdk/aws-kms@1.61.0": + version "1.61.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kms/-/aws-kms-1.61.0.tgz#a6b8429893e31be15b151ef7357e0560920d5527" + integrity sha512-taSQYpcPM705NN32W2UcgNfezTQbqx5YZDR+jp7A/E4OVdR1jojDJn6LKzsIo71s7DDG/k+77oNXEIJsaIhSRA== + dependencies: + "@aws-cdk/aws-iam" "1.61.0" + "@aws-cdk/core" "1.61.0" + constructs "^3.0.4" + +"@aws-cdk/aws-kms@1.73.0": + version "1.73.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kms/-/aws-kms-1.73.0.tgz#76127abeaebaea93adf00aef85ff294494218c0e" + integrity sha512-4aQRGBktM1IYqM0Qa/yio1/sjNuokMdLQNrjTVxyX+AZE2/zPqARe+Gm6sFpPJ9Is8oy0YzecP80QZSCnWpCnQ== + dependencies: + "@aws-cdk/aws-iam" "1.73.0" + "@aws-cdk/core" "1.73.0" + constructs "^3.2.0" + +"@aws-cdk/aws-lambda-nodejs@1.61.0": + version "1.61.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda-nodejs/-/aws-lambda-nodejs-1.61.0.tgz#1c1b34fdf34ab585ea1ff5c0687e0d69a6a0d310" + integrity sha512-a6fiCqk4IjNjVGG8K+AjQviavno1SQwHcdf5JBYhXez7aJ8f2oTZHf5HC2UPTk3Ohu6HsIHds8KXbz4uqLp2Sw== + dependencies: + "@aws-cdk/aws-lambda" "1.61.0" + "@aws-cdk/core" "1.61.0" + constructs "^3.0.4" + +"@aws-cdk/aws-lambda@1.61.0": + version "1.61.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda/-/aws-lambda-1.61.0.tgz#65b2fb456f6c2d0566401bd3d265f5bae47d6346" + integrity sha512-LhO/f50ovtsd2uUjLdeTEFdnQlbvXvC4VN5BEnX4X2kpdCpUXsnClVb9EQPEAFaDIE6VEpMnQ6rUR27kTerLCg== + dependencies: + "@aws-cdk/aws-applicationautoscaling" "1.61.0" + "@aws-cdk/aws-cloudwatch" "1.61.0" + "@aws-cdk/aws-codeguruprofiler" "1.61.0" + "@aws-cdk/aws-ec2" "1.61.0" + "@aws-cdk/aws-efs" "1.61.0" + "@aws-cdk/aws-events" "1.61.0" + "@aws-cdk/aws-iam" "1.61.0" + "@aws-cdk/aws-logs" "1.61.0" + "@aws-cdk/aws-s3" "1.61.0" + "@aws-cdk/aws-s3-assets" "1.61.0" + "@aws-cdk/aws-sqs" "1.61.0" + "@aws-cdk/core" "1.61.0" + "@aws-cdk/cx-api" "1.61.0" + constructs "^3.0.4" + +"@aws-cdk/aws-lambda@1.73.0": + version "1.73.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda/-/aws-lambda-1.73.0.tgz#2561d19ff9435ec0ef94d5050b92e914bf3c6aec" + integrity sha512-ffw/hK1DbbSXklry4sDmJ+c+dX3Zl+I9DsYNjf0h2aonEKZo+g7ItAhVzr5s1kDnKatlEJTNOw1Kdpn20vFZHg== + dependencies: + "@aws-cdk/aws-applicationautoscaling" "1.73.0" + "@aws-cdk/aws-cloudwatch" "1.73.0" + "@aws-cdk/aws-codeguruprofiler" "1.73.0" + "@aws-cdk/aws-ec2" "1.73.0" + "@aws-cdk/aws-efs" "1.73.0" + "@aws-cdk/aws-events" "1.73.0" + "@aws-cdk/aws-iam" "1.73.0" + "@aws-cdk/aws-logs" "1.73.0" + "@aws-cdk/aws-s3" "1.73.0" + "@aws-cdk/aws-s3-assets" "1.73.0" + "@aws-cdk/aws-sqs" "1.73.0" + "@aws-cdk/core" "1.73.0" + "@aws-cdk/cx-api" "1.73.0" + constructs "^3.2.0" + +"@aws-cdk/aws-logs@1.61.0": + version "1.61.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-logs/-/aws-logs-1.61.0.tgz#430bb5fc87ec606416ffb0869f04754185092a21" + integrity sha512-swEkiF+VFfsfY2GiCO8o9vzAQVnDUghmCZmg2B1oi4QwG850CBiPzAz88QaZOzqX1YWWXTcGU20yADg6D5nRIw== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.61.0" + "@aws-cdk/aws-iam" "1.61.0" + "@aws-cdk/aws-s3-assets" "1.61.0" + "@aws-cdk/core" "1.61.0" + constructs "^3.0.4" + +"@aws-cdk/aws-logs@1.73.0": + version "1.73.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-logs/-/aws-logs-1.73.0.tgz#dbb01b6dfe144ab74bf37cce55cc39239bb2390a" + integrity sha512-pn/JUpz49nmP81rOW66S36HbBF+RCKDWyN+rQ671zr62T9EPJuRLWxbdahcnAN1eqyCsZEs9PpCvTnacj9ue7w== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.73.0" + "@aws-cdk/aws-iam" "1.73.0" + "@aws-cdk/aws-s3-assets" "1.73.0" + "@aws-cdk/core" "1.73.0" + constructs "^3.2.0" + +"@aws-cdk/aws-route53@1.73.0": + version "1.73.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-route53/-/aws-route53-1.73.0.tgz#c804c9ee74ec0f607b940774994a80afa96b2f5a" + integrity sha512-M3298IkyLELVTlA+2g0EdEV+bYTkC3xzTiHwoqcJeCd8T7IY8E89f73bsweX8k49cu1soPAUvXVJuUfxb6WYEg== + dependencies: + "@aws-cdk/aws-ec2" "1.73.0" + "@aws-cdk/aws-logs" "1.73.0" + "@aws-cdk/cloud-assembly-schema" "1.73.0" + "@aws-cdk/core" "1.73.0" + constructs "^3.2.0" + +"@aws-cdk/aws-s3-assets@1.61.0": + version "1.61.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.61.0.tgz#8512ac0e16818bc78eff010d15d6cc99a7d8fccf" + integrity sha512-sipvqw0fJcpT3+Hxdzn2UkbBh/tr+jkzplLq2Jk5Jr0E/7+V5t2kmlEQgyG82ug1J2DERMAdlie8AgzGJ5CxhA== + dependencies: + "@aws-cdk/assets" "1.61.0" + "@aws-cdk/aws-iam" "1.61.0" + "@aws-cdk/aws-kms" "1.61.0" + "@aws-cdk/aws-s3" "1.61.0" + "@aws-cdk/core" "1.61.0" + "@aws-cdk/cx-api" "1.61.0" + constructs "^3.0.4" + +"@aws-cdk/aws-s3-assets@1.73.0": + version "1.73.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.73.0.tgz#fdfae26ef5356368809e0d93f908650c6abb10b5" + integrity sha512-CvxEIBOOj7tYMrMimPSsbtQ4OOurhUIiNIhM38gisTXYgSchKTeDzKJAbalfYOZSNJNEx1wMNL/+oKV/gDtrHQ== + dependencies: + "@aws-cdk/assets" "1.73.0" + "@aws-cdk/aws-iam" "1.73.0" + "@aws-cdk/aws-kms" "1.73.0" + "@aws-cdk/aws-s3" "1.73.0" + "@aws-cdk/core" "1.73.0" + "@aws-cdk/cx-api" "1.73.0" + constructs "^3.2.0" + +"@aws-cdk/aws-s3@1.61.0": + version "1.61.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3/-/aws-s3-1.61.0.tgz#a16d697a26d02b6d25636a0606016fbc187eae86" + integrity sha512-tFemzJJtopsiDbcjwpqsSY9xm3wZLWKEg2/9iAAZ4VUEW4feoX7NQyVkYHGH2dfMVufXq/rMZPfbKq7f3cgzAg== + dependencies: + "@aws-cdk/aws-events" "1.61.0" + "@aws-cdk/aws-iam" "1.61.0" + "@aws-cdk/aws-kms" "1.61.0" + "@aws-cdk/core" "1.61.0" + constructs "^3.0.4" + +"@aws-cdk/aws-s3@1.73.0": + version "1.73.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3/-/aws-s3-1.73.0.tgz#bb31d0eb2b2f204420c388015f26998fc702d67c" + integrity sha512-n0PuTBhqFxRfvGHhWk54R2hfS24b5DFkqP2PvTIwRFCBqmSUnRLF8I+GZ4c6RNxfVfDSzQBcGvfuCuNTL1KZLQ== + dependencies: + "@aws-cdk/aws-events" "1.73.0" + "@aws-cdk/aws-iam" "1.73.0" + "@aws-cdk/aws-kms" "1.73.0" + "@aws-cdk/core" "1.73.0" + constructs "^3.2.0" + +"@aws-cdk/aws-sns@1.61.0": + version "1.61.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns/-/aws-sns-1.61.0.tgz#c82f9b224b7ebf3e48cd9433456156e5d3f1df89" + integrity sha512-jmJmZXidJAJTg4lPnxMm26QR3ovMYb/89NBWnIRwGdVGcZ7nrWUkC0JNPQMbP+EvUFdh/9xdFVP4JvvzZzoy0w== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.61.0" + "@aws-cdk/aws-events" "1.61.0" + "@aws-cdk/aws-iam" "1.61.0" + "@aws-cdk/aws-kms" "1.61.0" + "@aws-cdk/aws-sqs" "1.61.0" + "@aws-cdk/core" "1.61.0" + constructs "^3.0.4" + +"@aws-cdk/aws-sqs@1.61.0": + version "1.61.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sqs/-/aws-sqs-1.61.0.tgz#b2d1d7a5d27d36d1580a3cb500daf417037da492" + integrity sha512-gyShf5rmUZCovSHL4PXvAD6TA/xmPESpsi+zx7HU/VXyeGgO6inq/sVzWM0OpCrNUnnoSct5p0yZJytRBnVYaA== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.61.0" + "@aws-cdk/aws-iam" "1.61.0" + "@aws-cdk/aws-kms" "1.61.0" + "@aws-cdk/core" "1.61.0" + constructs "^3.0.4" + +"@aws-cdk/aws-sqs@1.73.0": + version "1.73.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sqs/-/aws-sqs-1.73.0.tgz#a6108c57d6d22f91c9b11ecc0bb8072bc3d4cef1" + integrity sha512-15stNsRYY165Vvx/io6TnTSMHar10diLa2k2BTiL+PNzl18SfEIOoTy97PCvJp9AK2Ob9dyQwwjsiutTU56IbA== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.73.0" + "@aws-cdk/aws-iam" "1.73.0" + "@aws-cdk/aws-kms" "1.73.0" + "@aws-cdk/core" "1.73.0" + constructs "^3.2.0" + +"@aws-cdk/aws-ssm@1.61.0": + version "1.61.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ssm/-/aws-ssm-1.61.0.tgz#229308cfce757f8b3f75d12bf276ce4f8042076f" + integrity sha512-fOr2g7V7pR9bP7CXWLznM3d0/8EW76pjKLe+uGeXpqnrtXaGCvFBjiAms10oZ2584bn2bWIzikGmzzxzpamJbg== + dependencies: + "@aws-cdk/aws-iam" "1.61.0" + "@aws-cdk/aws-kms" "1.61.0" + "@aws-cdk/cloud-assembly-schema" "1.61.0" + "@aws-cdk/core" "1.61.0" + constructs "^3.0.4" + +"@aws-cdk/aws-ssm@1.73.0": + version "1.73.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ssm/-/aws-ssm-1.73.0.tgz#29e5e0126f00b6bd91b58a6757ede3c579d9b9ea" + integrity sha512-6fobpaL7hh0My/aypd7DHQ+sLuPcb7Taj8ngjmoh8H0muiAkfj4O0CjN3cd+kCYRr8T4zRh546ypvFfsc9WEHQ== + dependencies: + "@aws-cdk/aws-iam" "1.73.0" + "@aws-cdk/aws-kms" "1.73.0" + "@aws-cdk/cloud-assembly-schema" "1.73.0" + "@aws-cdk/core" "1.73.0" + constructs "^3.2.0" + "@aws-cdk/cfnspec@1.61.0": version "1.61.0" resolved "https://registry.yarnpkg.com/@aws-cdk/cfnspec/-/cfnspec-1.61.0.tgz#69e998ab83c0a478b76e1c5deb8484171dfd95f9" @@ -17,6 +461,14 @@ jsonschema "^1.2.5" semver "^7.2.2" +"@aws-cdk/cloud-assembly-schema@1.73.0": + version "1.73.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.73.0.tgz#75e27dddda8f65708a5f649760e92031c296416f" + integrity sha512-3m5nJDLSApAuUMra2WrQF7GHt6xgxqFET91WShtKtj48brZk4MBJ3dLre2LjDVsmMMOVdd6FpjY7tE5C1v9Hyw== + dependencies: + jsonschema "^1.4.0" + semver "^7.3.2" + "@aws-cdk/cloudformation-diff@1.61.0": version "1.61.0" resolved "https://registry.yarnpkg.com/@aws-cdk/cloudformation-diff/-/cloudformation-diff-1.61.0.tgz#8acb549fd1dd819aa61dfed47e011b44827045a8" @@ -40,6 +492,33 @@ fs-extra "^9.0.1" minimatch "^3.0.4" +"@aws-cdk/core@1.73.0": + version "1.73.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.73.0.tgz#15ef8230da5bb9d92b5e1c5f3cff0ade01a2b093" + integrity sha512-CTmUXo0hAH78/uvzfmgW4gQKLnusMxULIEUjd0wnfs/6/zoB6n2DP+lmkr/7Vp4aIG9nNNirThdHesidlx79eA== + dependencies: + "@aws-cdk/cloud-assembly-schema" "1.73.0" + "@aws-cdk/cx-api" "1.73.0" + "@aws-cdk/region-info" "1.73.0" + "@balena/dockerignore" "^1.0.2" + constructs "^3.2.0" + fs-extra "^9.0.1" + ignore "^5.1.8" + minimatch "^3.0.4" + +"@aws-cdk/custom-resources@1.61.0": + version "1.61.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/custom-resources/-/custom-resources-1.61.0.tgz#03749f4122e46504fd1b3b3b9a11aa3578f269bf" + integrity sha512-etnHE7A0+J5w1L/m+KxEbPQ7LgtVYvEUV6naqRp5uIsTBaJ9sCQ+q43Y3Fj+g3NMigm8C2fKg5FmiFE6kiymDQ== + dependencies: + "@aws-cdk/aws-cloudformation" "1.61.0" + "@aws-cdk/aws-iam" "1.61.0" + "@aws-cdk/aws-lambda" "1.61.0" + "@aws-cdk/aws-logs" "1.61.0" + "@aws-cdk/aws-sns" "1.61.0" + "@aws-cdk/core" "1.61.0" + constructs "^3.0.4" + "@aws-cdk/cx-api@1.61.0": version "1.61.0" resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.61.0.tgz#23f0e0cff978277626d42091907b71a6c4d98580" @@ -48,11 +527,24 @@ "@aws-cdk/cloud-assembly-schema" "1.61.0" semver "^7.2.2" +"@aws-cdk/cx-api@1.73.0": + version "1.73.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.73.0.tgz#328562689a55fba184324ec2b83b3c72b88a1a3f" + integrity sha512-HlBpbIGu71xXdfJ1De1/HOMK5LWzKK9J7REho0oncpAO9KDxAbk+1aOFUZJVEgTsJSUUzLMSIUtDIo+ev70HGA== + dependencies: + "@aws-cdk/cloud-assembly-schema" "1.73.0" + semver "^7.3.2" + "@aws-cdk/region-info@1.61.0": version "1.61.0" resolved "https://registry.yarnpkg.com/@aws-cdk/region-info/-/region-info-1.61.0.tgz#663e44206a92da544183c3a405cd73490fdc3103" integrity sha512-/10gvecycNJhYM2LIkA0XaoWgUZQ6K5FIIRaf/o4PbgHyR8WTyEPO6lbT0GoKi69TvC+18xzJ4iZ1p3ZdRnUYw== +"@aws-cdk/region-info@1.73.0": + version "1.73.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/region-info/-/region-info-1.73.0.tgz#9f4444c57fa1d366205409a0a9e6b09f27b428cb" + integrity sha512-jWfx5mY3BaCVeFnbdUxrDTczVTuwShdtu3WkV2vL+W3VnUMzLPKbCPiGY8GutSBlWvoFpubsbVqx8Kw61pRgdQ== + "@babel/cli@^7.10.5": version "7.10.5" resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.10.5.tgz#57df2987c8cf89d0fc7d4b157ec59d7619f1b77a" @@ -927,6 +1419,11 @@ lodash "^4.17.19" to-fast-properties "^2.0.0" +"@balena/dockerignore@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@balena/dockerignore/-/dockerignore-1.0.2.tgz#9ffe4726915251e8eb69f44ef3547e0da2c03e0d" + integrity sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q== + "@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" @@ -3319,6 +3816,11 @@ constructs@^3.0.4: resolved "https://registry.yarnpkg.com/constructs/-/constructs-3.0.4.tgz#eb1ed5b80f6600b8d50de83971357ae0fe8e29a2" integrity sha512-CDvg7gMjphE3DFX4pzkF6j73NREbR8npPFW8Mx/CLRnMR035+Y1o1HrXIsNSss/dq3ZUnNTU9jKyd3fL9EOlfw== +constructs@^3.2.0: + version "3.2.38" + resolved "https://registry.yarnpkg.com/constructs/-/constructs-3.2.38.tgz#40168c33ddf56948ece101775223e5c0f2cb3388" + integrity sha512-SNGmqvT9yFtkrIX+FjIg7GaFvzhffis46kYvknr3vVjuCXSSAtivPS28mxAOdv23Faq6FBU0+cX/XdZa2g/glw== + conventional-changelog-angular@^5.0.3: version "5.0.11" resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.11.tgz#99a3ca16e4a5305e0c2c2fae3ef74fd7631fc3fb" @@ -4882,6 +5384,11 @@ ignore@^4.0.3, ignore@^4.0.6: resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== +ignore@^5.1.8: + version "5.1.8" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" + integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== + import-fresh@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" @@ -5856,6 +6363,11 @@ jsonschema@^1.2.5: resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.2.6.tgz#52b0a8e9dc06bbae7295249d03e4b9faee8a0c0b" integrity sha512-SqhURKZG07JyKKeo/ir24QnS4/BV7a6gQy93bUSe4lUdNp0QNpIz2c9elWJQ9dpc5cQYY6cvCzgRwy0MQCLyqA== +jsonschema@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.4.0.tgz#1afa34c4bc22190d8e42271ec17ac8b3404f87b2" + integrity sha512-/YgW6pRMr6M7C+4o8kS+B/2myEpHCrxO4PEWnqJNBFMjn7EWXqlQ4tGwL6xTHeRplwuZmcAncdvfOad1nT2yMw== + jsprim@^1.2.2: version "1.4.1" resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" @@ -9206,6 +9718,11 @@ ws@^7.2.3: resolved "https://registry.yarnpkg.com/ws/-/ws-7.3.1.tgz#d0547bf67f7ce4f12a72dfe31262c68d7dc551c8" integrity sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA== +ws@^7.4.0: + version "7.4.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.0.tgz#a5dd76a24197940d4a8bb9e0e152bb4503764da7" + integrity sha512-kyFwXuV/5ymf+IXhS6f0+eAFvydbaBW3zjpT6hUdAh/hbVjTIB5EHBGi0bPoCLSK2wcuz3BrEkB9LrYv1Nm4NQ== + xml-name-validator@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" From cc1e8abfe61b9230633bc9d26af4c6c6830335e3 Mon Sep 17 00:00:00 2001 From: Jay Date: Mon, 23 Nov 2020 21:58:38 -0500 Subject: [PATCH 005/123] Adding stub lambda to build script --- packages/resources/lambda/package-lock.json | 1151 ----------------- packages/resources/lambda/package.json | 15 - .../lambda/{lambdaStub.js => stub/index.js} | 0 packages/resources/lambda/stub/package.json | 14 + packages/resources/lambda/stub/yarn.lock | 8 + packages/resources/package.json | 2 +- packages/resources/src/App.ts | 4 +- packages/resources/src/Function.ts | 7 +- packages/resources/src/NodejsFunction.ts | 5 +- 9 files changed, 32 insertions(+), 1174 deletions(-) delete mode 100644 packages/resources/lambda/package-lock.json delete mode 100644 packages/resources/lambda/package.json rename packages/resources/lambda/{lambdaStub.js => stub/index.js} (100%) create mode 100644 packages/resources/lambda/stub/package.json create mode 100644 packages/resources/lambda/stub/yarn.lock diff --git a/packages/resources/lambda/package-lock.json b/packages/resources/lambda/package-lock.json deleted file mode 100644 index 23dd524b0e..0000000000 --- a/packages/resources/lambda/package-lock.json +++ /dev/null @@ -1,1151 +0,0 @@ -{ - "name": "lambda", - "version": "1.0.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@types/eslint": { - "version": "7.2.5", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.5.tgz", - "integrity": "sha512-Dc6ar9x16BdaR3NSxSF7T4IjL9gxxViJq8RmFd+2UAyA+K6ck2W+gUwfgpG/y9TPyUuBL35109bbULpEynvltA==", - "dev": true, - "requires": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "@types/eslint-scope": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.0.tgz", - "integrity": "sha512-O/ql2+rrCUe2W2rs7wMR+GqPRcgB6UiqN5RhrR5xruFlY7l9YLMn0ZkDzjoHLeiFkR8MCQZVudUuuvQ2BLC9Qw==", - "dev": true, - "requires": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "@types/estree": { - "version": "0.0.45", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.45.tgz", - "integrity": "sha512-jnqIUKDUqJbDIUxm0Uj7bnlMnRm1T/eZ9N+AVMqhPgzrba2GhGG5o/jCTwmdPK709nEZsGoMzXEDUjcXHa3W0g==", - "dev": true - }, - "@types/json-schema": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", - "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==", - "dev": true - }, - "@types/node": { - "version": "14.14.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.9.tgz", - "integrity": "sha512-JsoLXFppG62tWTklIoO4knA+oDTYsmqWxHRvd4lpmfQRNhX6osheUOWETP2jMoV/2bEHuMra8Pp3Dmo/stBFcw==", - "dev": true - }, - "@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", - "dev": true, - "requires": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", - "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", - "dev": true - }, - "@webassemblyjs/helper-api-error": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", - "dev": true - }, - "@webassemblyjs/helper-buffer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", - "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", - "dev": true - }, - "@webassemblyjs/helper-code-frame": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", - "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", - "dev": true, - "requires": { - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "@webassemblyjs/helper-fsm": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", - "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", - "dev": true - }, - "@webassemblyjs/helper-module-context": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", - "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", - "dev": true - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", - "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", - "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", - "dev": true, - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", - "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", - "dev": true, - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", - "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", - "dev": true - }, - "@webassemblyjs/wasm-edit": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", - "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/helper-wasm-section": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-opt": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", - "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", - "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", - "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "@webassemblyjs/wast-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", - "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/floating-point-hex-parser": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-code-frame": "1.9.0", - "@webassemblyjs/helper-fsm": "1.9.0", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", - "@xtuc/long": "4.2.2" - } - }, - "@webpack-cli/info": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.1.0.tgz", - "integrity": "sha512-uNWSdaYHc+f3LdIZNwhdhkjjLDDl3jP2+XBqAq9H8DjrJUvlOKdP8TNruy1yEaDfgpAIgbSAN7pye4FEHg9tYQ==", - "dev": true, - "requires": { - "envinfo": "^7.7.3" - } - }, - "@webpack-cli/serve": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.1.0.tgz", - "integrity": "sha512-7RfnMXCpJ/NThrhq4gYQYILB18xWyoQcBey81oIyVbmgbc6m5ZHHyFK+DyH7pLHJf0p14MxL4mTsoPAgBSTpIg==", - "dev": true - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true - }, - "acorn": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.0.4.tgz", - "integrity": "sha512-XNP0PqF1XD19ZlLKvB7cMmnZswW4C/03pRHgirB30uSJTaS3A3V1/P4sS3HPvFmjoriPCJQs+JDSbm4bL1TxGQ==", - "dev": true - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true - }, - "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "array-back": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.1.tgz", - "integrity": "sha512-Z/JnaVEXv+A9xabHzN43FiiiWEE7gPCRXMrVmRm00tWbjZRul1iHm7ECzlyNq1p4a4ATXz+G9FJ3GqGOkOV3fg==", - "dev": true - }, - "browserslist": { - "version": "4.14.7", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.14.7.tgz", - "integrity": "sha512-BSVRLCeG3Xt/j/1cCGj1019Wbty0H+Yvu2AOuZSuoaUWn3RatbL33Cxk+Q4jRMRAbOm0p7SLravLjpnT6s0vzQ==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001157", - "colorette": "^1.2.1", - "electron-to-chromium": "^1.3.591", - "escalade": "^3.1.1", - "node-releases": "^1.1.66" - } - }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true - }, - "caniuse-lite": { - "version": "1.0.30001159", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001159.tgz", - "integrity": "sha512-w9Ph56jOsS8RL20K9cLND3u/+5WASWdhC/PPrf+V3/HsM3uHOavWOR1Xzakbv4Puo/srmPHudkmCRWM7Aq+/UA==", - "dev": true - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "dependencies": { - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "chrome-trace-event": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", - "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", - "dev": true, - "requires": { - "tslib": "^1.9.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==", - "dev": true, - "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": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "colorette": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", - "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==", - "dev": true - }, - "command-line-usage": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-6.1.1.tgz", - "integrity": "sha512-F59pEuAR9o1SF/bD0dQBDluhpT4jJQNWUHEuVBqpDmCUo6gPjCi+m9fCWnWZVR/oG6cMTUms4h+3NPl74wGXvA==", - "dev": true, - "requires": { - "array-back": "^4.0.1", - "chalk": "^2.4.2", - "table-layout": "^1.0.1", - "typical": "^5.2.0" - } - }, - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "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==", - "dev": true - }, - "electron-to-chromium": { - "version": "1.3.604", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.604.tgz", - "integrity": "sha512-Mk5ODhvz+ZaQpVFXbu51wGW94P3CnkJIDkEQGxXMl6Ix6R0PG4IFWz83WbqFEZjN1UksoTsmmzKY5SmUrEvNJQ==", - "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==", - "dev": true, - "requires": { - "once": "^1.4.0" - } - }, - "enhanced-resolve": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.3.2.tgz", - "integrity": "sha512-G28GCrglCAH6+EqMN2D+Q2wCUS1O1vVQJBn8ME2I/Api41YBe4vLWWRBOUbwDH7vwzSZdljxwTRVqnf+sm6XqQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.4", - "tapable": "^2.0.0" - } - }, - "enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "dev": true, - "requires": { - "ansi-colors": "^4.1.1" - } - }, - "envinfo": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.7.3.tgz", - "integrity": "sha512-46+j5QxbPWza0PB1i15nZx0xQ4I/EfQxg9J8Had3b408SV63nEtor2e+oiY63amTo9KTuh2a3XLObNwduxYwwA==", - "dev": true - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "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=", - "dev": true - }, - "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" - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true - } - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - }, - "events": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", - "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==", - "dev": true - }, - "execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - } - }, - "fast-deep-equal": { - "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==", - "dev": true - }, - "fast-json-stable-stringify": { - "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==", - "dev": true - }, - "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" - } - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true - }, - "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", - "dev": true - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "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 - }, - "human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", - "dev": true - }, - "import-local": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", - "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", - "dev": true, - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - } - }, - "interpret": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", - "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", - "dev": true - }, - "is-core-module": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.1.0.tgz", - "integrity": "sha512-YcV7BgVMRFRua2FqQzKtTDMz8iCuLEyGKjr70q8Zm1yy2qKcurbFEd79PAdHV77oL3NrAaOVQIbMmiHQCHB7ZA==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "jest-worker": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", - "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", - "dev": true, - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - } - }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, - "json-schema-traverse": { - "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==", - "dev": true - }, - "leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true - }, - "loader-runner": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.1.0.tgz", - "integrity": "sha512-oR4lB4WvwFoC70ocraKhn5nkKSs23t57h9udUgw8o0iH8hMXeEoRuUgfcvgUwAJ1ZpRqBvcou4N2SMvM1DwMrA==", - "dev": true - }, - "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" - } - }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "dev": true - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "mime-db": { - "version": "1.44.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", - "dev": true - }, - "mime-types": { - "version": "2.1.27", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", - "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", - "dev": true, - "requires": { - "mime-db": "1.44.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true - }, - "node-releases": { - "version": "1.1.67", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.67.tgz", - "integrity": "sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg==", - "dev": true - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "requires": { - "path-key": "^3.0.0" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "requires": { - "mimic-fn": "^2.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" - } - }, - "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 - }, - "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 - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", - "dev": true - }, - "pkg-dir": { - "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==", - "dev": true, - "requires": { - "find-up": "^4.0.0" - } - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "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", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "rechoir": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.0.tgz", - "integrity": "sha512-ADsDEH2bvbjltXEP+hTIAmeFekTFK0V2BTxMkok6qILyAJEXV0AFfoWcAq4yfll5VdIMd/RVXq0lR+wQi5ZU3Q==", - "dev": true, - "requires": { - "resolve": "^1.9.0" - } - }, - "reduce-flatten": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-2.0.0.tgz", - "integrity": "sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==", - "dev": true - }, - "resolve": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", - "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", - "dev": true, - "requires": { - "is-core-module": "^2.1.0", - "path-parse": "^1.0.6" - } - }, - "resolve-cwd": { - "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==", - "dev": true, - "requires": { - "resolve-from": "^5.0.0" - } - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - }, - "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==", - "dev": true - }, - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "serialize-javascript": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", - "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", - "dev": true - }, - "source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true - }, - "supports-color": { - "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" - } - }, - "table-layout": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-1.0.1.tgz", - "integrity": "sha512-dEquqYNJiGwY7iPfZ3wbXDI944iqanTSchrACLL2nOB+1r+h1Nzu2eH+DuPPvWvm5Ry7iAPeFlgEtP5bIp5U7Q==", - "dev": true, - "requires": { - "array-back": "^4.0.1", - "deep-extend": "~0.6.0", - "typical": "^5.2.0", - "wordwrapjs": "^4.0.0" - } - }, - "tapable": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.1.1.tgz", - "integrity": "sha512-Wib1S8m2wdpLbmQz0RBEVosIyvb/ykfKXf3ZIDqvWoMg/zTNm6G/tDSuUM61J1kNCDXWJrLHGSFeMhAG+gAGpQ==", - "dev": true - }, - "terser": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.5.0.tgz", - "integrity": "sha512-eopt1Gf7/AQyPhpygdKePTzaet31TvQxXvrf7xYUvD/d8qkCJm4SKPDzu+GHK5ZaYTn8rvttfqaZc3swK21e5g==", - "dev": true, - "requires": { - "commander": "^2.20.0", - "source-map": "~0.7.2", - "source-map-support": "~0.5.19" - }, - "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 - } - } - }, - "terser-webpack-plugin": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.0.3.tgz", - "integrity": "sha512-zFdGk8Lh9ZJGPxxPE6jwysOlATWB8GMW8HcfGULWA/nPal+3VdATflQvSBSLQJRCmYZnfFJl6vkRTiwJGNgPiQ==", - "dev": true, - "requires": { - "jest-worker": "^26.6.1", - "p-limit": "^3.0.2", - "schema-utils": "^3.0.0", - "serialize-javascript": "^5.0.1", - "source-map": "^0.6.1", - "terser": "^5.3.8" - }, - "dependencies": { - "p-limit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.0.2.tgz", - "integrity": "sha512-iwqZSOoWIW+Ew4kAGUlN16J4M7OB3ysMLSZtnhmqx7njIHFPlxWBX8xo3lVTyFVq6mI/lL9qt2IsN1sHwaxJkg==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - } - } - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "typical": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", - "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", - "dev": true - }, - "uri-js": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", - "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "v8-compile-cache": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz", - "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==", - "dev": true - }, - "watchpack": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.0.1.tgz", - "integrity": "sha512-vO8AKGX22ZRo6PiOFM9dC0re8IcKh8Kd/aH2zeqUc6w4/jBGlTy2P7fTC6ekT0NjVeGjgU2dGC5rNstKkeLEQg==", - "dev": true, - "requires": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - } - }, - "webpack": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.6.0.tgz", - "integrity": "sha512-SIeFuBhuheKElRbd84O35UhKc0nxlgSwtzm2ksZ0BVhRJqxVJxEguT/pYhfiR0le/pxTa1VsCp7EOYyTsa6XOA==", - "dev": true, - "requires": { - "@types/eslint-scope": "^3.7.0", - "@types/estree": "^0.0.45", - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/wasm-edit": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "acorn": "^8.0.4", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.3.1", - "eslint-scope": "^5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.4", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^4.1.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "pkg-dir": "^4.2.0", - "schema-utils": "^3.0.0", - "tapable": "^2.0.0", - "terser-webpack-plugin": "^5.0.3", - "watchpack": "^2.0.0", - "webpack-sources": "^2.1.1" - } - }, - "webpack-cli": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.2.0.tgz", - "integrity": "sha512-EIl3k88vaF4fSxWSgtAQR+VwicfLMTZ9amQtqS4o+TDPW9HGaEpbFBbAZ4A3ZOT5SOnMxNOzROsSTPiE8tBJPA==", - "dev": true, - "requires": { - "@webpack-cli/info": "^1.1.0", - "@webpack-cli/serve": "^1.1.0", - "colorette": "^1.2.1", - "command-line-usage": "^6.1.0", - "commander": "^6.2.0", - "enquirer": "^2.3.6", - "execa": "^4.1.0", - "import-local": "^3.0.2", - "interpret": "^2.2.0", - "leven": "^3.1.0", - "rechoir": "^0.7.0", - "v8-compile-cache": "^2.2.0", - "webpack-merge": "^4.2.2" - }, - "dependencies": { - "commander": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.0.tgz", - "integrity": "sha512-zP4jEKbe8SHzKJYQmq8Y9gYjtO/POJLgIdKgV7B9qNmABVFVc+ctqSX6iXh4mCpJfRBOabiZ2YKPg8ciDw6C+Q==", - "dev": true - } - } - }, - "webpack-merge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz", - "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==", - "dev": true, - "requires": { - "lodash": "^4.17.15" - } - }, - "webpack-sources": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.2.0.tgz", - "integrity": "sha512-bQsA24JLwcnWGArOKUxYKhX3Mz/nK1Xf6hxullKERyktjNMC4x8koOeaDNTA2fEJ09BdWLbM/iTW0ithREUP0w==", - "dev": true, - "requires": { - "source-list-map": "^2.0.1", - "source-map": "^0.6.1" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "wordwrapjs": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-4.0.0.tgz", - "integrity": "sha512-Svqw723a3R34KvsMgpjFBYCgNOSdcW3mQFK4wIfhGQhtaFVOJmdYoXgi63ne3dTlWgatVcUc7t4HtQ/+bUVIzQ==", - "dev": true, - "requires": { - "reduce-flatten": "^2.0.0", - "typical": "^5.0.0" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "ws": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.0.tgz", - "integrity": "sha512-kyFwXuV/5ymf+IXhS6f0+eAFvydbaBW3zjpT6hUdAh/hbVjTIB5EHBGi0bPoCLSK2wcuz3BrEkB9LrYv1Nm4NQ==" - } - } -} diff --git a/packages/resources/lambda/package.json b/packages/resources/lambda/package.json deleted file mode 100644 index d9dfe9df61..0000000000 --- a/packages/resources/lambda/package.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "name": "lambda", - "version": "1.0.0", - "description": "", - "main": "lambdaStub.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": "", - "license": "ISC", - "dependencies": { - "ws": "^7.4.0" - } -} diff --git a/packages/resources/lambda/lambdaStub.js b/packages/resources/lambda/stub/index.js similarity index 100% rename from packages/resources/lambda/lambdaStub.js rename to packages/resources/lambda/stub/index.js diff --git a/packages/resources/lambda/stub/package.json b/packages/resources/lambda/stub/package.json new file mode 100644 index 0000000000..f12680ecda --- /dev/null +++ b/packages/resources/lambda/stub/package.json @@ -0,0 +1,14 @@ +{ + "name": "stub", + "version": "1.0.0", + "description": "Lambda function that's deployed while developing locally", + "main": "index.js", + "author": { + "name": "Anomaly Innovations", + "url": "https://anoma.ly" + }, + "license": "MIT", + "dependencies": { + "ws": "^7.4.0" + } +} diff --git a/packages/resources/lambda/stub/yarn.lock b/packages/resources/lambda/stub/yarn.lock new file mode 100644 index 0000000000..3a0796466e --- /dev/null +++ b/packages/resources/lambda/stub/yarn.lock @@ -0,0 +1,8 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +ws@^7.4.0: + version "7.4.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.0.tgz#a5dd76a24197940d4a8bb9e0e152bb4503764da7" + integrity sha512-kyFwXuV/5ymf+IXhS6f0+eAFvydbaBW3zjpT6hUdAh/hbVjTIB5EHBGi0bPoCLSK2wcuz3BrEkB9LrYv1Nm4NQ== diff --git a/packages/resources/package.json b/packages/resources/package.json index c13034c4f9..2833d3732e 100644 --- a/packages/resources/package.json +++ b/packages/resources/package.json @@ -7,7 +7,7 @@ "types": "dist/index.d.ts", "scripts": { "watch": "tsc --watch --rootDir src --outDir dist", - "build": "tsc --rootDir src --outDir dist", + "build": "tsc --rootDir src --outDir dist && cd lambda/stub && yarn", "clean": "rm -rf dist", "prepare": "node scripts/aws-cdk-version-check.js && npm run build" }, diff --git a/packages/resources/src/App.ts b/packages/resources/src/App.ts index cd25735422..4249399dd6 100644 --- a/packages/resources/src/App.ts +++ b/packages/resources/src/App.ts @@ -40,7 +40,7 @@ export class App extends cdk.App { /** * Is the app being deployed locally */ - public readonly LOCAL: boolean = false; + public readonly local: boolean = false; /** * The app name @@ -70,7 +70,7 @@ export class App extends cdk.App { this.region = deployProps.region || "us-east-1"; if (deployProps.debugEndpoint) { - this.LOCAL = true; + this.local = true; this.debugEndpoint = deployProps.debugEndpoint; } } diff --git a/packages/resources/src/Function.ts b/packages/resources/src/Function.ts index 4f874c1617..e35cc8a6ef 100644 --- a/packages/resources/src/Function.ts +++ b/packages/resources/src/Function.ts @@ -1,6 +1,7 @@ import path from "path"; import * as cdk from "@aws-cdk/core"; import * as lambda from "@aws-cdk/aws-lambda"; + import { App } from "./App"; export type FunctionProps = lambda.FunctionProps; @@ -30,11 +31,11 @@ export class Function extends lambda.Function { throw new Error(`sst.Function only supports AssetCode type for code.`); } - if (root.LOCAL) { + if (root.local) { super(scope, id, { ...props, - code: lambda.Code.fromAsset(path.resolve(__dirname, "../lambda")), - handler: "lambdaStub.main", + code: lambda.Code.fromAsset(path.resolve(__dirname, "../lambda/stub")), + handler: "index.main", environment: { SST_DEBUG_SRC_PATH: props.code.path, SST_DEBUG_SRC_HANDLER: props.handler, diff --git a/packages/resources/src/NodejsFunction.ts b/packages/resources/src/NodejsFunction.ts index 5bc0303164..833d7818e7 100644 --- a/packages/resources/src/NodejsFunction.ts +++ b/packages/resources/src/NodejsFunction.ts @@ -1,6 +1,7 @@ import path from "path"; import * as cdk from "@aws-cdk/core"; import * as lambda from "@aws-cdk/aws-lambda-nodejs"; + import { App } from "./App"; export type NodejsFunctionProps = lambda.NodejsFunctionProps; @@ -9,7 +10,7 @@ export class NodejsFunction extends lambda.NodejsFunction { constructor(scope: cdk.Construct, id: string, props?: NodejsFunctionProps) { const root = scope.node.root as App; - if (root.LOCAL) { + if (root.local) { let srcPath, srcHandler; if (props && props.entry) { const entryParts = props.entry.split("/"); @@ -26,7 +27,7 @@ export class NodejsFunction extends lambda.NodejsFunction { } super(scope, id, { ...props, - entry: path.resolve(__dirname, "../lambda/lambdaStub.js"), + entry: path.resolve(__dirname, "../lambda/stub/index.js"), handler: "main", environment: { SST_DEBUG_SRC_PATH: srcPath, From f29a40a6bc33d5c99e1589a08057acc3fde1819d Mon Sep 17 00:00:00 2001 From: Frank Date: Mon, 23 Nov 2020 22:00:34 -0500 Subject: [PATCH 006/123] Update sst-cdk version to 1.74.0 --- packages/cli/package-lock.json | 10843 ---------------- packages/cli/package.json | 12 +- packages/cli/test/base-ts/package.json | 6 +- packages/cli/test/base/package.json | 6 +- packages/cli/test/config/package.json | 2 +- packages/cli/test/context/package.json | 2 +- packages/cli/test/jest-ts/package.json | 12 +- packages/cli/test/jest/package.json | 6 +- .../cli/test/stack-no-prefix/package.json | 2 +- packages/cli/test/start/package.json | 8 +- packages/core/package.json | 2 +- packages/resources/package.json | 6 +- yarn.lock | 1251 +- 13 files changed, 612 insertions(+), 11546 deletions(-) delete mode 100644 packages/cli/package-lock.json diff --git a/packages/cli/package-lock.json b/packages/cli/package-lock.json deleted file mode 100644 index 732d14bb42..0000000000 --- a/packages/cli/package-lock.json +++ /dev/null @@ -1,10843 +0,0 @@ -{ - "name": "@serverless-stack/cli", - "version": "0.4.3", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@aws-cdk/assets": { - "version": "1.61.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/assets/-/assets-1.61.0.tgz", - "integrity": "sha512-VJfH8oVAsIa5lo+SmDF5d6r1J9Fb9TrnQINrzr68shhdY/RAkys5cr9SXO4lcpWmGsNXB9z+tEtEz9IT79e2QA==", - "requires": { - "@aws-cdk/core": "1.61.0", - "@aws-cdk/cx-api": "1.61.0", - "constructs": "^3.0.4" - } - }, - "@aws-cdk/aws-apigatewayv2": { - "version": "1.73.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-apigatewayv2/-/aws-apigatewayv2-1.73.0.tgz", - "integrity": "sha512-+++K1KADMSFGgvOaj3OwiVcNEYWUR878rqH50EDEf/UxaYky3eD0Sg255sGQWrjbi3bb60lYdzVFDjADHHnEtw==", - "requires": { - "@aws-cdk/aws-certificatemanager": "1.73.0", - "@aws-cdk/aws-cloudwatch": "1.73.0", - "@aws-cdk/aws-ec2": "1.73.0", - "@aws-cdk/aws-iam": "1.73.0", - "@aws-cdk/core": "1.73.0", - "constructs": "^3.2.0" - }, - "dependencies": { - "@aws-cdk/assets": { - "version": "1.73.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/assets/-/assets-1.73.0.tgz", - "integrity": "sha512-fAdRAWn/IWbalMZva86Q4BimYrwipSoqPzyC5d6fwxNmJU/QiFLMpILanS1T9a0a+yjqAqk+8pAXn44lZIOlPQ==", - "requires": { - "@aws-cdk/core": "1.73.0", - "@aws-cdk/cx-api": "1.73.0", - "constructs": "^3.2.0" - } - }, - "@aws-cdk/aws-cloudwatch": { - "version": "1.73.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.73.0.tgz", - "integrity": "sha512-H6MQVtJfKAJyE6DRHe71ivFu9OjhH32VtsJUZ1xuQ/pyeoQlOQ6fj0FIjz4ObG3qDBq72SBfrbPAQ3q+2g3HfA==", - "requires": { - "@aws-cdk/aws-iam": "1.73.0", - "@aws-cdk/core": "1.73.0", - "constructs": "^3.2.0" - } - }, - "@aws-cdk/aws-ec2": { - "version": "1.73.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-ec2/-/aws-ec2-1.73.0.tgz", - "integrity": "sha512-XjGcHaVlaJNorXv8qrRt7k8rPLE8yV1SAJWHY/SIf7NzIg9Y6lFV0eVkBU5RINfuD9GIW8YbgtLGE5ZpfZ5YkA==", - "requires": { - "@aws-cdk/aws-cloudwatch": "1.73.0", - "@aws-cdk/aws-iam": "1.73.0", - "@aws-cdk/aws-kms": "1.73.0", - "@aws-cdk/aws-logs": "1.73.0", - "@aws-cdk/aws-s3": "1.73.0", - "@aws-cdk/aws-s3-assets": "1.73.0", - "@aws-cdk/aws-ssm": "1.73.0", - "@aws-cdk/cloud-assembly-schema": "1.73.0", - "@aws-cdk/core": "1.73.0", - "@aws-cdk/cx-api": "1.73.0", - "@aws-cdk/region-info": "1.73.0", - "constructs": "^3.2.0" - } - }, - "@aws-cdk/aws-events": { - "version": "1.73.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-events/-/aws-events-1.73.0.tgz", - "integrity": "sha512-CvOAIAt00xCWKC2U96NAgA8xIkzrNkwalCXk3RIRjz9xEVge5w3lQ7Hy6lSSbhyTfxQV01bppZO2ExaeAKOjOg==", - "requires": { - "@aws-cdk/aws-iam": "1.73.0", - "@aws-cdk/core": "1.73.0", - "constructs": "^3.2.0" - } - }, - "@aws-cdk/aws-iam": { - "version": "1.73.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-iam/-/aws-iam-1.73.0.tgz", - "integrity": "sha512-o2pdkEEdwluZegLqlbhfK0zgIbezvKDf5UfwBKloeFSDcGOZAaqF25OPfrTowXkIakHbw2wMswbUlmUgYdmNFg==", - "requires": { - "@aws-cdk/core": "1.73.0", - "@aws-cdk/region-info": "1.73.0", - "constructs": "^3.2.0" - } - }, - "@aws-cdk/aws-kms": { - "version": "1.73.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-kms/-/aws-kms-1.73.0.tgz", - "integrity": "sha512-4aQRGBktM1IYqM0Qa/yio1/sjNuokMdLQNrjTVxyX+AZE2/zPqARe+Gm6sFpPJ9Is8oy0YzecP80QZSCnWpCnQ==", - "requires": { - "@aws-cdk/aws-iam": "1.73.0", - "@aws-cdk/core": "1.73.0", - "constructs": "^3.2.0" - } - }, - "@aws-cdk/aws-logs": { - "version": "1.73.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-logs/-/aws-logs-1.73.0.tgz", - "integrity": "sha512-pn/JUpz49nmP81rOW66S36HbBF+RCKDWyN+rQ671zr62T9EPJuRLWxbdahcnAN1eqyCsZEs9PpCvTnacj9ue7w==", - "requires": { - "@aws-cdk/aws-cloudwatch": "1.73.0", - "@aws-cdk/aws-iam": "1.73.0", - "@aws-cdk/aws-s3-assets": "1.73.0", - "@aws-cdk/core": "1.73.0", - "constructs": "^3.2.0" - } - }, - "@aws-cdk/aws-s3": { - "version": "1.73.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-s3/-/aws-s3-1.73.0.tgz", - "integrity": "sha512-n0PuTBhqFxRfvGHhWk54R2hfS24b5DFkqP2PvTIwRFCBqmSUnRLF8I+GZ4c6RNxfVfDSzQBcGvfuCuNTL1KZLQ==", - "requires": { - "@aws-cdk/aws-events": "1.73.0", - "@aws-cdk/aws-iam": "1.73.0", - "@aws-cdk/aws-kms": "1.73.0", - "@aws-cdk/core": "1.73.0", - "constructs": "^3.2.0" - } - }, - "@aws-cdk/aws-s3-assets": { - "version": "1.73.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.73.0.tgz", - "integrity": "sha512-CvxEIBOOj7tYMrMimPSsbtQ4OOurhUIiNIhM38gisTXYgSchKTeDzKJAbalfYOZSNJNEx1wMNL/+oKV/gDtrHQ==", - "requires": { - "@aws-cdk/assets": "1.73.0", - "@aws-cdk/aws-iam": "1.73.0", - "@aws-cdk/aws-kms": "1.73.0", - "@aws-cdk/aws-s3": "1.73.0", - "@aws-cdk/core": "1.73.0", - "@aws-cdk/cx-api": "1.73.0", - "constructs": "^3.2.0" - } - }, - "@aws-cdk/aws-ssm": { - "version": "1.73.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-ssm/-/aws-ssm-1.73.0.tgz", - "integrity": "sha512-6fobpaL7hh0My/aypd7DHQ+sLuPcb7Taj8ngjmoh8H0muiAkfj4O0CjN3cd+kCYRr8T4zRh546ypvFfsc9WEHQ==", - "requires": { - "@aws-cdk/aws-iam": "1.73.0", - "@aws-cdk/aws-kms": "1.73.0", - "@aws-cdk/cloud-assembly-schema": "1.73.0", - "@aws-cdk/core": "1.73.0", - "constructs": "^3.2.0" - } - }, - "@aws-cdk/cloud-assembly-schema": { - "version": "1.73.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.73.0.tgz", - "integrity": "sha512-3m5nJDLSApAuUMra2WrQF7GHt6xgxqFET91WShtKtj48brZk4MBJ3dLre2LjDVsmMMOVdd6FpjY7tE5C1v9Hyw==", - "requires": { - "jsonschema": "^1.4.0", - "semver": "^7.3.2" - }, - "dependencies": { - "jsonschema": { - "version": "1.4.0", - "bundled": true - }, - "semver": { - "version": "7.3.2", - "bundled": true - } - } - }, - "@aws-cdk/core": { - "version": "1.73.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/core/-/core-1.73.0.tgz", - "integrity": "sha512-CTmUXo0hAH78/uvzfmgW4gQKLnusMxULIEUjd0wnfs/6/zoB6n2DP+lmkr/7Vp4aIG9nNNirThdHesidlx79eA==", - "requires": { - "@aws-cdk/cloud-assembly-schema": "1.73.0", - "@aws-cdk/cx-api": "1.73.0", - "@aws-cdk/region-info": "1.73.0", - "@balena/dockerignore": "^1.0.2", - "constructs": "^3.2.0", - "fs-extra": "^9.0.1", - "ignore": "^5.1.8", - "minimatch": "^3.0.4" - }, - "dependencies": { - "@balena/dockerignore": { - "version": "1.0.2", - "bundled": true - }, - "at-least-node": { - "version": "1.0.0", - "bundled": true - }, - "balanced-match": { - "version": "1.0.0", - "bundled": true - }, - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "concat-map": { - "version": "0.0.1", - "bundled": true - }, - "fs-extra": { - "version": "9.0.1", - "bundled": true, - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^1.0.0" - } - }, - "graceful-fs": { - "version": "4.2.4", - "bundled": true - }, - "ignore": { - "version": "5.1.8", - "bundled": true - }, - "jsonfile": { - "version": "6.0.1", - "bundled": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^1.0.0" - } - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "universalify": { - "version": "1.0.0", - "bundled": true - } - } - }, - "@aws-cdk/cx-api": { - "version": "1.73.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/cx-api/-/cx-api-1.73.0.tgz", - "integrity": "sha512-HlBpbIGu71xXdfJ1De1/HOMK5LWzKK9J7REho0oncpAO9KDxAbk+1aOFUZJVEgTsJSUUzLMSIUtDIo+ev70HGA==", - "requires": { - "@aws-cdk/cloud-assembly-schema": "1.73.0", - "semver": "^7.3.2" - }, - "dependencies": { - "semver": { - "version": "7.3.2", - "bundled": true - } - } - }, - "@aws-cdk/region-info": { - "version": "1.73.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/region-info/-/region-info-1.73.0.tgz", - "integrity": "sha512-jWfx5mY3BaCVeFnbdUxrDTczVTuwShdtu3WkV2vL+W3VnUMzLPKbCPiGY8GutSBlWvoFpubsbVqx8Kw61pRgdQ==" - } - } - }, - "@aws-cdk/aws-applicationautoscaling": { - "version": "1.61.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-applicationautoscaling/-/aws-applicationautoscaling-1.61.0.tgz", - "integrity": "sha512-KP2zJ2hJYZgrl2glfCFpK0l9PJderMNS2MAH7xr0JuiFwAPuJgNEmOkrtVAgrsTGFDBisvXQpqr6L84EQxBfyw==", - "requires": { - "@aws-cdk/aws-autoscaling-common": "1.61.0", - "@aws-cdk/aws-cloudwatch": "1.61.0", - "@aws-cdk/aws-iam": "1.61.0", - "@aws-cdk/core": "1.61.0", - "constructs": "^3.0.4" - } - }, - "@aws-cdk/aws-autoscaling-common": { - "version": "1.61.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-autoscaling-common/-/aws-autoscaling-common-1.61.0.tgz", - "integrity": "sha512-Mc02ZTp6gGGOycYHygyTWfXMajOi5bEAq6d6nJOQdzZSj2oiRmtQeF/Fd4earXFcl+lhSFMyUPEQPvZyvngQWQ==", - "requires": { - "@aws-cdk/aws-iam": "1.61.0", - "@aws-cdk/core": "1.61.0", - "constructs": "^3.0.4" - } - }, - "@aws-cdk/aws-certificatemanager": { - "version": "1.73.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-certificatemanager/-/aws-certificatemanager-1.73.0.tgz", - "integrity": "sha512-r5talegg1Z79Fo289JRgm1u6SV16I7nO4AZEmmbceDByDnXiRcnroi0o9fZTVWNUYuIwrpY4ZWR2UTKY71xYTg==", - "requires": { - "@aws-cdk/aws-iam": "1.73.0", - "@aws-cdk/aws-lambda": "1.73.0", - "@aws-cdk/aws-route53": "1.73.0", - "@aws-cdk/core": "1.73.0", - "constructs": "^3.2.0" - }, - "dependencies": { - "@aws-cdk/assets": { - "version": "1.73.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/assets/-/assets-1.73.0.tgz", - "integrity": "sha512-fAdRAWn/IWbalMZva86Q4BimYrwipSoqPzyC5d6fwxNmJU/QiFLMpILanS1T9a0a+yjqAqk+8pAXn44lZIOlPQ==", - "requires": { - "@aws-cdk/core": "1.73.0", - "@aws-cdk/cx-api": "1.73.0", - "constructs": "^3.2.0" - } - }, - "@aws-cdk/aws-applicationautoscaling": { - "version": "1.73.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-applicationautoscaling/-/aws-applicationautoscaling-1.73.0.tgz", - "integrity": "sha512-ROJPuj+PyrYa7/P6JoTrsFs8WMxKra1yuXZJ3r0iTrnAgCDAVCVpzmiF3Uwqw6rip1o63ZLT3fxxMeJBb2wL7Q==", - "requires": { - "@aws-cdk/aws-autoscaling-common": "1.73.0", - "@aws-cdk/aws-cloudwatch": "1.73.0", - "@aws-cdk/aws-iam": "1.73.0", - "@aws-cdk/core": "1.73.0", - "constructs": "^3.2.0" - } - }, - "@aws-cdk/aws-autoscaling-common": { - "version": "1.73.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-autoscaling-common/-/aws-autoscaling-common-1.73.0.tgz", - "integrity": "sha512-AJf9F9X/ktSMLj/NaX0ccPXr7VlDR6CTycpEgJZU4qbXqIW/LhIDkAhH15CNV38WYQnVDkVSQgDNfCtGaeHTqA==", - "requires": { - "@aws-cdk/aws-iam": "1.73.0", - "@aws-cdk/core": "1.73.0", - "constructs": "^3.2.0" - } - }, - "@aws-cdk/aws-cloudwatch": { - "version": "1.73.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.73.0.tgz", - "integrity": "sha512-H6MQVtJfKAJyE6DRHe71ivFu9OjhH32VtsJUZ1xuQ/pyeoQlOQ6fj0FIjz4ObG3qDBq72SBfrbPAQ3q+2g3HfA==", - "requires": { - "@aws-cdk/aws-iam": "1.73.0", - "@aws-cdk/core": "1.73.0", - "constructs": "^3.2.0" - } - }, - "@aws-cdk/aws-codeguruprofiler": { - "version": "1.73.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-codeguruprofiler/-/aws-codeguruprofiler-1.73.0.tgz", - "integrity": "sha512-WcJjCT+4zd3v4E1nWUagpHKWVIafM4vMe+4DAcBXZbhqXww1yyXUxf1A08uc7zQGko3hvIoHp41maAiT5G6/nw==", - "requires": { - "@aws-cdk/aws-iam": "1.73.0", - "@aws-cdk/core": "1.73.0", - "constructs": "^3.2.0" - } - }, - "@aws-cdk/aws-ec2": { - "version": "1.73.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-ec2/-/aws-ec2-1.73.0.tgz", - "integrity": "sha512-XjGcHaVlaJNorXv8qrRt7k8rPLE8yV1SAJWHY/SIf7NzIg9Y6lFV0eVkBU5RINfuD9GIW8YbgtLGE5ZpfZ5YkA==", - "requires": { - "@aws-cdk/aws-cloudwatch": "1.73.0", - "@aws-cdk/aws-iam": "1.73.0", - "@aws-cdk/aws-kms": "1.73.0", - "@aws-cdk/aws-logs": "1.73.0", - "@aws-cdk/aws-s3": "1.73.0", - "@aws-cdk/aws-s3-assets": "1.73.0", - "@aws-cdk/aws-ssm": "1.73.0", - "@aws-cdk/cloud-assembly-schema": "1.73.0", - "@aws-cdk/core": "1.73.0", - "@aws-cdk/cx-api": "1.73.0", - "@aws-cdk/region-info": "1.73.0", - "constructs": "^3.2.0" - } - }, - "@aws-cdk/aws-efs": { - "version": "1.73.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-efs/-/aws-efs-1.73.0.tgz", - "integrity": "sha512-sWUU+nhJ78T5tElLy7BqUrlXj4kGv43nrkWE5+jbTaLRFEpJPM6fMuWfzcJGfkqpbppjc/aySyCPbvEcWb7bDQ==", - "requires": { - "@aws-cdk/aws-ec2": "1.73.0", - "@aws-cdk/aws-kms": "1.73.0", - "@aws-cdk/cloud-assembly-schema": "1.73.0", - "@aws-cdk/core": "1.73.0", - "@aws-cdk/cx-api": "1.73.0", - "constructs": "^3.2.0" - } - }, - "@aws-cdk/aws-events": { - "version": "1.73.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-events/-/aws-events-1.73.0.tgz", - "integrity": "sha512-CvOAIAt00xCWKC2U96NAgA8xIkzrNkwalCXk3RIRjz9xEVge5w3lQ7Hy6lSSbhyTfxQV01bppZO2ExaeAKOjOg==", - "requires": { - "@aws-cdk/aws-iam": "1.73.0", - "@aws-cdk/core": "1.73.0", - "constructs": "^3.2.0" - } - }, - "@aws-cdk/aws-iam": { - "version": "1.73.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-iam/-/aws-iam-1.73.0.tgz", - "integrity": "sha512-o2pdkEEdwluZegLqlbhfK0zgIbezvKDf5UfwBKloeFSDcGOZAaqF25OPfrTowXkIakHbw2wMswbUlmUgYdmNFg==", - "requires": { - "@aws-cdk/core": "1.73.0", - "@aws-cdk/region-info": "1.73.0", - "constructs": "^3.2.0" - } - }, - "@aws-cdk/aws-kms": { - "version": "1.73.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-kms/-/aws-kms-1.73.0.tgz", - "integrity": "sha512-4aQRGBktM1IYqM0Qa/yio1/sjNuokMdLQNrjTVxyX+AZE2/zPqARe+Gm6sFpPJ9Is8oy0YzecP80QZSCnWpCnQ==", - "requires": { - "@aws-cdk/aws-iam": "1.73.0", - "@aws-cdk/core": "1.73.0", - "constructs": "^3.2.0" - } - }, - "@aws-cdk/aws-lambda": { - "version": "1.73.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-lambda/-/aws-lambda-1.73.0.tgz", - "integrity": "sha512-ffw/hK1DbbSXklry4sDmJ+c+dX3Zl+I9DsYNjf0h2aonEKZo+g7ItAhVzr5s1kDnKatlEJTNOw1Kdpn20vFZHg==", - "requires": { - "@aws-cdk/aws-applicationautoscaling": "1.73.0", - "@aws-cdk/aws-cloudwatch": "1.73.0", - "@aws-cdk/aws-codeguruprofiler": "1.73.0", - "@aws-cdk/aws-ec2": "1.73.0", - "@aws-cdk/aws-efs": "1.73.0", - "@aws-cdk/aws-events": "1.73.0", - "@aws-cdk/aws-iam": "1.73.0", - "@aws-cdk/aws-logs": "1.73.0", - "@aws-cdk/aws-s3": "1.73.0", - "@aws-cdk/aws-s3-assets": "1.73.0", - "@aws-cdk/aws-sqs": "1.73.0", - "@aws-cdk/core": "1.73.0", - "@aws-cdk/cx-api": "1.73.0", - "constructs": "^3.2.0" - } - }, - "@aws-cdk/aws-logs": { - "version": "1.73.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-logs/-/aws-logs-1.73.0.tgz", - "integrity": "sha512-pn/JUpz49nmP81rOW66S36HbBF+RCKDWyN+rQ671zr62T9EPJuRLWxbdahcnAN1eqyCsZEs9PpCvTnacj9ue7w==", - "requires": { - "@aws-cdk/aws-cloudwatch": "1.73.0", - "@aws-cdk/aws-iam": "1.73.0", - "@aws-cdk/aws-s3-assets": "1.73.0", - "@aws-cdk/core": "1.73.0", - "constructs": "^3.2.0" - } - }, - "@aws-cdk/aws-s3": { - "version": "1.73.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-s3/-/aws-s3-1.73.0.tgz", - "integrity": "sha512-n0PuTBhqFxRfvGHhWk54R2hfS24b5DFkqP2PvTIwRFCBqmSUnRLF8I+GZ4c6RNxfVfDSzQBcGvfuCuNTL1KZLQ==", - "requires": { - "@aws-cdk/aws-events": "1.73.0", - "@aws-cdk/aws-iam": "1.73.0", - "@aws-cdk/aws-kms": "1.73.0", - "@aws-cdk/core": "1.73.0", - "constructs": "^3.2.0" - } - }, - "@aws-cdk/aws-s3-assets": { - "version": "1.73.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.73.0.tgz", - "integrity": "sha512-CvxEIBOOj7tYMrMimPSsbtQ4OOurhUIiNIhM38gisTXYgSchKTeDzKJAbalfYOZSNJNEx1wMNL/+oKV/gDtrHQ==", - "requires": { - "@aws-cdk/assets": "1.73.0", - "@aws-cdk/aws-iam": "1.73.0", - "@aws-cdk/aws-kms": "1.73.0", - "@aws-cdk/aws-s3": "1.73.0", - "@aws-cdk/core": "1.73.0", - "@aws-cdk/cx-api": "1.73.0", - "constructs": "^3.2.0" - } - }, - "@aws-cdk/aws-sqs": { - "version": "1.73.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-sqs/-/aws-sqs-1.73.0.tgz", - "integrity": "sha512-15stNsRYY165Vvx/io6TnTSMHar10diLa2k2BTiL+PNzl18SfEIOoTy97PCvJp9AK2Ob9dyQwwjsiutTU56IbA==", - "requires": { - "@aws-cdk/aws-cloudwatch": "1.73.0", - "@aws-cdk/aws-iam": "1.73.0", - "@aws-cdk/aws-kms": "1.73.0", - "@aws-cdk/core": "1.73.0", - "constructs": "^3.2.0" - } - }, - "@aws-cdk/aws-ssm": { - "version": "1.73.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-ssm/-/aws-ssm-1.73.0.tgz", - "integrity": "sha512-6fobpaL7hh0My/aypd7DHQ+sLuPcb7Taj8ngjmoh8H0muiAkfj4O0CjN3cd+kCYRr8T4zRh546ypvFfsc9WEHQ==", - "requires": { - "@aws-cdk/aws-iam": "1.73.0", - "@aws-cdk/aws-kms": "1.73.0", - "@aws-cdk/cloud-assembly-schema": "1.73.0", - "@aws-cdk/core": "1.73.0", - "constructs": "^3.2.0" - } - }, - "@aws-cdk/cloud-assembly-schema": { - "version": "1.73.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.73.0.tgz", - "integrity": "sha512-3m5nJDLSApAuUMra2WrQF7GHt6xgxqFET91WShtKtj48brZk4MBJ3dLre2LjDVsmMMOVdd6FpjY7tE5C1v9Hyw==", - "requires": { - "jsonschema": "^1.4.0", - "semver": "^7.3.2" - }, - "dependencies": { - "jsonschema": { - "version": "1.4.0", - "bundled": true - }, - "semver": { - "version": "7.3.2", - "bundled": true - } - } - }, - "@aws-cdk/core": { - "version": "1.73.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/core/-/core-1.73.0.tgz", - "integrity": "sha512-CTmUXo0hAH78/uvzfmgW4gQKLnusMxULIEUjd0wnfs/6/zoB6n2DP+lmkr/7Vp4aIG9nNNirThdHesidlx79eA==", - "requires": { - "@aws-cdk/cloud-assembly-schema": "1.73.0", - "@aws-cdk/cx-api": "1.73.0", - "@aws-cdk/region-info": "1.73.0", - "@balena/dockerignore": "^1.0.2", - "constructs": "^3.2.0", - "fs-extra": "^9.0.1", - "ignore": "^5.1.8", - "minimatch": "^3.0.4" - }, - "dependencies": { - "@balena/dockerignore": { - "version": "1.0.2", - "bundled": true - }, - "at-least-node": { - "version": "1.0.0", - "bundled": true - }, - "balanced-match": { - "version": "1.0.0", - "bundled": true - }, - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "concat-map": { - "version": "0.0.1", - "bundled": true - }, - "fs-extra": { - "version": "9.0.1", - "bundled": true, - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^1.0.0" - } - }, - "graceful-fs": { - "version": "4.2.4", - "bundled": true - }, - "ignore": { - "version": "5.1.8", - "bundled": true - }, - "jsonfile": { - "version": "6.0.1", - "bundled": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^1.0.0" - } - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "universalify": { - "version": "1.0.0", - "bundled": true - } - } - }, - "@aws-cdk/cx-api": { - "version": "1.73.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/cx-api/-/cx-api-1.73.0.tgz", - "integrity": "sha512-HlBpbIGu71xXdfJ1De1/HOMK5LWzKK9J7REho0oncpAO9KDxAbk+1aOFUZJVEgTsJSUUzLMSIUtDIo+ev70HGA==", - "requires": { - "@aws-cdk/cloud-assembly-schema": "1.73.0", - "semver": "^7.3.2" - }, - "dependencies": { - "semver": { - "version": "7.3.2", - "bundled": true - } - } - }, - "@aws-cdk/region-info": { - "version": "1.73.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/region-info/-/region-info-1.73.0.tgz", - "integrity": "sha512-jWfx5mY3BaCVeFnbdUxrDTczVTuwShdtu3WkV2vL+W3VnUMzLPKbCPiGY8GutSBlWvoFpubsbVqx8Kw61pRgdQ==" - } - } - }, - "@aws-cdk/aws-cloudformation": { - "version": "1.61.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-cloudformation/-/aws-cloudformation-1.61.0.tgz", - "integrity": "sha512-e7mti0sWR6Sf4tav36bu379kkG5E33VMPLZaT8RkhXkIl97c1OaGHVx5G1Oe5DiHka08c+PA6da8ahkrR1wSkQ==", - "requires": { - "@aws-cdk/aws-iam": "1.61.0", - "@aws-cdk/aws-lambda": "1.61.0", - "@aws-cdk/aws-s3": "1.61.0", - "@aws-cdk/aws-sns": "1.61.0", - "@aws-cdk/core": "1.61.0", - "@aws-cdk/cx-api": "1.61.0", - "constructs": "^3.0.4" - } - }, - "@aws-cdk/aws-cloudwatch": { - "version": "1.61.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.61.0.tgz", - "integrity": "sha512-/Lp+8OU82m2+VX0GDeO8RIzyJDEvZQQaSQYflXRAFxFDrHiU6i4kXLbr1j4jebB9r+NSEAZ6XopBNg+JsAXGug==", - "requires": { - "@aws-cdk/aws-iam": "1.61.0", - "@aws-cdk/core": "1.61.0", - "constructs": "^3.0.4" - } - }, - "@aws-cdk/aws-codeguruprofiler": { - "version": "1.61.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-codeguruprofiler/-/aws-codeguruprofiler-1.61.0.tgz", - "integrity": "sha512-eS+evPzEOP2rODucLcNSIlXNozA+/6Pf2H0Igde5UiMmYSX3/ZRXm/EytKNtyF7pnWiWMymmBLwCue2V/FDV0w==", - "requires": { - "@aws-cdk/aws-iam": "1.61.0", - "@aws-cdk/core": "1.61.0" - } - }, - "@aws-cdk/aws-dynamodb": { - "version": "1.61.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-dynamodb/-/aws-dynamodb-1.61.0.tgz", - "integrity": "sha512-Qd87xJNTjCRBQ//H4WA6Lif3VuA9QuyKyterlmTGnmrUsAqubkKtxu/lLvMp0gQb9LzjQ5Hn9238v1s8rDBDlw==", - "requires": { - "@aws-cdk/aws-applicationautoscaling": "1.61.0", - "@aws-cdk/aws-cloudwatch": "1.61.0", - "@aws-cdk/aws-iam": "1.61.0", - "@aws-cdk/aws-kms": "1.61.0", - "@aws-cdk/aws-lambda": "1.61.0", - "@aws-cdk/core": "1.61.0", - "@aws-cdk/custom-resources": "1.61.0", - "constructs": "^3.0.4" - } - }, - "@aws-cdk/aws-ec2": { - "version": "1.61.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-ec2/-/aws-ec2-1.61.0.tgz", - "integrity": "sha512-mW1tij3tuvHfgNlLQst1XkvSOoV/r3iUQFLhJ8QMG8h0KUiHRyY0i+kj3Ern4GxlwNUfM6RY3f12qtSpRpVPxQ==", - "requires": { - "@aws-cdk/aws-cloudwatch": "1.61.0", - "@aws-cdk/aws-iam": "1.61.0", - "@aws-cdk/aws-kms": "1.61.0", - "@aws-cdk/aws-logs": "1.61.0", - "@aws-cdk/aws-s3": "1.61.0", - "@aws-cdk/aws-s3-assets": "1.61.0", - "@aws-cdk/aws-ssm": "1.61.0", - "@aws-cdk/cloud-assembly-schema": "1.61.0", - "@aws-cdk/core": "1.61.0", - "@aws-cdk/cx-api": "1.61.0", - "@aws-cdk/region-info": "1.61.0", - "constructs": "^3.0.4" - } - }, - "@aws-cdk/aws-efs": { - "version": "1.61.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-efs/-/aws-efs-1.61.0.tgz", - "integrity": "sha512-WeF3SF681V43E+u2j78om+y4r1Ay4JPTAns8y6SFcZOLqH+6qlXusGrwQoZcHpD4MTSU60NZKD8O0u1A111osg==", - "requires": { - "@aws-cdk/aws-ec2": "1.61.0", - "@aws-cdk/aws-kms": "1.61.0", - "@aws-cdk/cloud-assembly-schema": "1.61.0", - "@aws-cdk/core": "1.61.0", - "@aws-cdk/cx-api": "1.61.0", - "constructs": "^3.0.4" - } - }, - "@aws-cdk/aws-events": { - "version": "1.61.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-events/-/aws-events-1.61.0.tgz", - "integrity": "sha512-DBEi/XPnWvQJ42dv28JdQSHGUz9N6fqYjR8FSNc2s0oXgDqGQ+8rU1Hxcj6s2Qb7lBQ66pHsvlpUcqZANIoddw==", - "requires": { - "@aws-cdk/aws-iam": "1.61.0", - "@aws-cdk/core": "1.61.0", - "constructs": "^3.0.4" - } - }, - "@aws-cdk/aws-iam": { - "version": "1.61.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-iam/-/aws-iam-1.61.0.tgz", - "integrity": "sha512-CDFrRPkt4JR9iSVn+D18ThU201m2Ck2T5+E9044yJqkUgfbcMXO54ls2DlLbCg1RUrazRrqQ9Bu0IxDHbTwaKg==", - "requires": { - "@aws-cdk/core": "1.61.0", - "@aws-cdk/region-info": "1.61.0", - "constructs": "^3.0.4" - } - }, - "@aws-cdk/aws-kms": { - "version": "1.61.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-kms/-/aws-kms-1.61.0.tgz", - "integrity": "sha512-taSQYpcPM705NN32W2UcgNfezTQbqx5YZDR+jp7A/E4OVdR1jojDJn6LKzsIo71s7DDG/k+77oNXEIJsaIhSRA==", - "requires": { - "@aws-cdk/aws-iam": "1.61.0", - "@aws-cdk/core": "1.61.0", - "constructs": "^3.0.4" - } - }, - "@aws-cdk/aws-lambda": { - "version": "1.61.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-lambda/-/aws-lambda-1.61.0.tgz", - "integrity": "sha512-LhO/f50ovtsd2uUjLdeTEFdnQlbvXvC4VN5BEnX4X2kpdCpUXsnClVb9EQPEAFaDIE6VEpMnQ6rUR27kTerLCg==", - "requires": { - "@aws-cdk/aws-applicationautoscaling": "1.61.0", - "@aws-cdk/aws-cloudwatch": "1.61.0", - "@aws-cdk/aws-codeguruprofiler": "1.61.0", - "@aws-cdk/aws-ec2": "1.61.0", - "@aws-cdk/aws-efs": "1.61.0", - "@aws-cdk/aws-events": "1.61.0", - "@aws-cdk/aws-iam": "1.61.0", - "@aws-cdk/aws-logs": "1.61.0", - "@aws-cdk/aws-s3": "1.61.0", - "@aws-cdk/aws-s3-assets": "1.61.0", - "@aws-cdk/aws-sqs": "1.61.0", - "@aws-cdk/core": "1.61.0", - "@aws-cdk/cx-api": "1.61.0", - "constructs": "^3.0.4" - } - }, - "@aws-cdk/aws-logs": { - "version": "1.61.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-logs/-/aws-logs-1.61.0.tgz", - "integrity": "sha512-swEkiF+VFfsfY2GiCO8o9vzAQVnDUghmCZmg2B1oi4QwG850CBiPzAz88QaZOzqX1YWWXTcGU20yADg6D5nRIw==", - "requires": { - "@aws-cdk/aws-cloudwatch": "1.61.0", - "@aws-cdk/aws-iam": "1.61.0", - "@aws-cdk/aws-s3-assets": "1.61.0", - "@aws-cdk/core": "1.61.0", - "constructs": "^3.0.4" - } - }, - "@aws-cdk/aws-route53": { - "version": "1.73.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-route53/-/aws-route53-1.73.0.tgz", - "integrity": "sha512-M3298IkyLELVTlA+2g0EdEV+bYTkC3xzTiHwoqcJeCd8T7IY8E89f73bsweX8k49cu1soPAUvXVJuUfxb6WYEg==", - "requires": { - "@aws-cdk/aws-ec2": "1.73.0", - "@aws-cdk/aws-logs": "1.73.0", - "@aws-cdk/cloud-assembly-schema": "1.73.0", - "@aws-cdk/core": "1.73.0", - "constructs": "^3.2.0" - }, - "dependencies": { - "@aws-cdk/assets": { - "version": "1.73.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/assets/-/assets-1.73.0.tgz", - "integrity": "sha512-fAdRAWn/IWbalMZva86Q4BimYrwipSoqPzyC5d6fwxNmJU/QiFLMpILanS1T9a0a+yjqAqk+8pAXn44lZIOlPQ==", - "requires": { - "@aws-cdk/core": "1.73.0", - "@aws-cdk/cx-api": "1.73.0", - "constructs": "^3.2.0" - } - }, - "@aws-cdk/aws-cloudwatch": { - "version": "1.73.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.73.0.tgz", - "integrity": "sha512-H6MQVtJfKAJyE6DRHe71ivFu9OjhH32VtsJUZ1xuQ/pyeoQlOQ6fj0FIjz4ObG3qDBq72SBfrbPAQ3q+2g3HfA==", - "requires": { - "@aws-cdk/aws-iam": "1.73.0", - "@aws-cdk/core": "1.73.0", - "constructs": "^3.2.0" - } - }, - "@aws-cdk/aws-ec2": { - "version": "1.73.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-ec2/-/aws-ec2-1.73.0.tgz", - "integrity": "sha512-XjGcHaVlaJNorXv8qrRt7k8rPLE8yV1SAJWHY/SIf7NzIg9Y6lFV0eVkBU5RINfuD9GIW8YbgtLGE5ZpfZ5YkA==", - "requires": { - "@aws-cdk/aws-cloudwatch": "1.73.0", - "@aws-cdk/aws-iam": "1.73.0", - "@aws-cdk/aws-kms": "1.73.0", - "@aws-cdk/aws-logs": "1.73.0", - "@aws-cdk/aws-s3": "1.73.0", - "@aws-cdk/aws-s3-assets": "1.73.0", - "@aws-cdk/aws-ssm": "1.73.0", - "@aws-cdk/cloud-assembly-schema": "1.73.0", - "@aws-cdk/core": "1.73.0", - "@aws-cdk/cx-api": "1.73.0", - "@aws-cdk/region-info": "1.73.0", - "constructs": "^3.2.0" - } - }, - "@aws-cdk/aws-events": { - "version": "1.73.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-events/-/aws-events-1.73.0.tgz", - "integrity": "sha512-CvOAIAt00xCWKC2U96NAgA8xIkzrNkwalCXk3RIRjz9xEVge5w3lQ7Hy6lSSbhyTfxQV01bppZO2ExaeAKOjOg==", - "requires": { - "@aws-cdk/aws-iam": "1.73.0", - "@aws-cdk/core": "1.73.0", - "constructs": "^3.2.0" - } - }, - "@aws-cdk/aws-iam": { - "version": "1.73.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-iam/-/aws-iam-1.73.0.tgz", - "integrity": "sha512-o2pdkEEdwluZegLqlbhfK0zgIbezvKDf5UfwBKloeFSDcGOZAaqF25OPfrTowXkIakHbw2wMswbUlmUgYdmNFg==", - "requires": { - "@aws-cdk/core": "1.73.0", - "@aws-cdk/region-info": "1.73.0", - "constructs": "^3.2.0" - } - }, - "@aws-cdk/aws-kms": { - "version": "1.73.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-kms/-/aws-kms-1.73.0.tgz", - "integrity": "sha512-4aQRGBktM1IYqM0Qa/yio1/sjNuokMdLQNrjTVxyX+AZE2/zPqARe+Gm6sFpPJ9Is8oy0YzecP80QZSCnWpCnQ==", - "requires": { - "@aws-cdk/aws-iam": "1.73.0", - "@aws-cdk/core": "1.73.0", - "constructs": "^3.2.0" - } - }, - "@aws-cdk/aws-logs": { - "version": "1.73.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-logs/-/aws-logs-1.73.0.tgz", - "integrity": "sha512-pn/JUpz49nmP81rOW66S36HbBF+RCKDWyN+rQ671zr62T9EPJuRLWxbdahcnAN1eqyCsZEs9PpCvTnacj9ue7w==", - "requires": { - "@aws-cdk/aws-cloudwatch": "1.73.0", - "@aws-cdk/aws-iam": "1.73.0", - "@aws-cdk/aws-s3-assets": "1.73.0", - "@aws-cdk/core": "1.73.0", - "constructs": "^3.2.0" - } - }, - "@aws-cdk/aws-s3": { - "version": "1.73.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-s3/-/aws-s3-1.73.0.tgz", - "integrity": "sha512-n0PuTBhqFxRfvGHhWk54R2hfS24b5DFkqP2PvTIwRFCBqmSUnRLF8I+GZ4c6RNxfVfDSzQBcGvfuCuNTL1KZLQ==", - "requires": { - "@aws-cdk/aws-events": "1.73.0", - "@aws-cdk/aws-iam": "1.73.0", - "@aws-cdk/aws-kms": "1.73.0", - "@aws-cdk/core": "1.73.0", - "constructs": "^3.2.0" - } - }, - "@aws-cdk/aws-s3-assets": { - "version": "1.73.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.73.0.tgz", - "integrity": "sha512-CvxEIBOOj7tYMrMimPSsbtQ4OOurhUIiNIhM38gisTXYgSchKTeDzKJAbalfYOZSNJNEx1wMNL/+oKV/gDtrHQ==", - "requires": { - "@aws-cdk/assets": "1.73.0", - "@aws-cdk/aws-iam": "1.73.0", - "@aws-cdk/aws-kms": "1.73.0", - "@aws-cdk/aws-s3": "1.73.0", - "@aws-cdk/core": "1.73.0", - "@aws-cdk/cx-api": "1.73.0", - "constructs": "^3.2.0" - } - }, - "@aws-cdk/aws-ssm": { - "version": "1.73.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-ssm/-/aws-ssm-1.73.0.tgz", - "integrity": "sha512-6fobpaL7hh0My/aypd7DHQ+sLuPcb7Taj8ngjmoh8H0muiAkfj4O0CjN3cd+kCYRr8T4zRh546ypvFfsc9WEHQ==", - "requires": { - "@aws-cdk/aws-iam": "1.73.0", - "@aws-cdk/aws-kms": "1.73.0", - "@aws-cdk/cloud-assembly-schema": "1.73.0", - "@aws-cdk/core": "1.73.0", - "constructs": "^3.2.0" - } - }, - "@aws-cdk/cloud-assembly-schema": { - "version": "1.73.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.73.0.tgz", - "integrity": "sha512-3m5nJDLSApAuUMra2WrQF7GHt6xgxqFET91WShtKtj48brZk4MBJ3dLre2LjDVsmMMOVdd6FpjY7tE5C1v9Hyw==", - "requires": { - "jsonschema": "^1.4.0", - "semver": "^7.3.2" - }, - "dependencies": { - "jsonschema": { - "version": "1.4.0", - "bundled": true - }, - "semver": { - "version": "7.3.2", - "bundled": true - } - } - }, - "@aws-cdk/core": { - "version": "1.73.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/core/-/core-1.73.0.tgz", - "integrity": "sha512-CTmUXo0hAH78/uvzfmgW4gQKLnusMxULIEUjd0wnfs/6/zoB6n2DP+lmkr/7Vp4aIG9nNNirThdHesidlx79eA==", - "requires": { - "@aws-cdk/cloud-assembly-schema": "1.73.0", - "@aws-cdk/cx-api": "1.73.0", - "@aws-cdk/region-info": "1.73.0", - "@balena/dockerignore": "^1.0.2", - "constructs": "^3.2.0", - "fs-extra": "^9.0.1", - "ignore": "^5.1.8", - "minimatch": "^3.0.4" - }, - "dependencies": { - "@balena/dockerignore": { - "version": "1.0.2", - "bundled": true - }, - "at-least-node": { - "version": "1.0.0", - "bundled": true - }, - "balanced-match": { - "version": "1.0.0", - "bundled": true - }, - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "concat-map": { - "version": "0.0.1", - "bundled": true - }, - "fs-extra": { - "version": "9.0.1", - "bundled": true, - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^1.0.0" - } - }, - "graceful-fs": { - "version": "4.2.4", - "bundled": true - }, - "ignore": { - "version": "5.1.8", - "bundled": true - }, - "jsonfile": { - "version": "6.0.1", - "bundled": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^1.0.0" - } - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "universalify": { - "version": "1.0.0", - "bundled": true - } - } - }, - "@aws-cdk/cx-api": { - "version": "1.73.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/cx-api/-/cx-api-1.73.0.tgz", - "integrity": "sha512-HlBpbIGu71xXdfJ1De1/HOMK5LWzKK9J7REho0oncpAO9KDxAbk+1aOFUZJVEgTsJSUUzLMSIUtDIo+ev70HGA==", - "requires": { - "@aws-cdk/cloud-assembly-schema": "1.73.0", - "semver": "^7.3.2" - }, - "dependencies": { - "semver": { - "version": "7.3.2", - "bundled": true - } - } - }, - "@aws-cdk/region-info": { - "version": "1.73.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/region-info/-/region-info-1.73.0.tgz", - "integrity": "sha512-jWfx5mY3BaCVeFnbdUxrDTczVTuwShdtu3WkV2vL+W3VnUMzLPKbCPiGY8GutSBlWvoFpubsbVqx8Kw61pRgdQ==" - } - } - }, - "@aws-cdk/aws-s3": { - "version": "1.61.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-s3/-/aws-s3-1.61.0.tgz", - "integrity": "sha512-tFemzJJtopsiDbcjwpqsSY9xm3wZLWKEg2/9iAAZ4VUEW4feoX7NQyVkYHGH2dfMVufXq/rMZPfbKq7f3cgzAg==", - "requires": { - "@aws-cdk/aws-events": "1.61.0", - "@aws-cdk/aws-iam": "1.61.0", - "@aws-cdk/aws-kms": "1.61.0", - "@aws-cdk/core": "1.61.0", - "constructs": "^3.0.4" - } - }, - "@aws-cdk/aws-s3-assets": { - "version": "1.61.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.61.0.tgz", - "integrity": "sha512-sipvqw0fJcpT3+Hxdzn2UkbBh/tr+jkzplLq2Jk5Jr0E/7+V5t2kmlEQgyG82ug1J2DERMAdlie8AgzGJ5CxhA==", - "requires": { - "@aws-cdk/assets": "1.61.0", - "@aws-cdk/aws-iam": "1.61.0", - "@aws-cdk/aws-kms": "1.61.0", - "@aws-cdk/aws-s3": "1.61.0", - "@aws-cdk/core": "1.61.0", - "@aws-cdk/cx-api": "1.61.0", - "constructs": "^3.0.4" - } - }, - "@aws-cdk/aws-sns": { - "version": "1.61.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-sns/-/aws-sns-1.61.0.tgz", - "integrity": "sha512-jmJmZXidJAJTg4lPnxMm26QR3ovMYb/89NBWnIRwGdVGcZ7nrWUkC0JNPQMbP+EvUFdh/9xdFVP4JvvzZzoy0w==", - "requires": { - "@aws-cdk/aws-cloudwatch": "1.61.0", - "@aws-cdk/aws-events": "1.61.0", - "@aws-cdk/aws-iam": "1.61.0", - "@aws-cdk/aws-kms": "1.61.0", - "@aws-cdk/aws-sqs": "1.61.0", - "@aws-cdk/core": "1.61.0", - "constructs": "^3.0.4" - } - }, - "@aws-cdk/aws-sqs": { - "version": "1.61.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-sqs/-/aws-sqs-1.61.0.tgz", - "integrity": "sha512-gyShf5rmUZCovSHL4PXvAD6TA/xmPESpsi+zx7HU/VXyeGgO6inq/sVzWM0OpCrNUnnoSct5p0yZJytRBnVYaA==", - "requires": { - "@aws-cdk/aws-cloudwatch": "1.61.0", - "@aws-cdk/aws-iam": "1.61.0", - "@aws-cdk/aws-kms": "1.61.0", - "@aws-cdk/core": "1.61.0", - "constructs": "^3.0.4" - } - }, - "@aws-cdk/aws-ssm": { - "version": "1.61.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-ssm/-/aws-ssm-1.61.0.tgz", - "integrity": "sha512-fOr2g7V7pR9bP7CXWLznM3d0/8EW76pjKLe+uGeXpqnrtXaGCvFBjiAms10oZ2584bn2bWIzikGmzzxzpamJbg==", - "requires": { - "@aws-cdk/aws-iam": "1.61.0", - "@aws-cdk/aws-kms": "1.61.0", - "@aws-cdk/cloud-assembly-schema": "1.61.0", - "@aws-cdk/core": "1.61.0", - "constructs": "^3.0.4" - } - }, - "@aws-cdk/cfnspec": { - "version": "1.61.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/cfnspec/-/cfnspec-1.61.0.tgz", - "integrity": "sha512-Ss5N3unY6iVh9SjYAYvTyvhdb7Kaz6dVFeV8K68UGewiFcHpC5tQi3YmlVBw3HCgKoRt20emiHAfmdfeGO/PUQ==", - "requires": { - "md5": "^2.3.0" - } - }, - "@aws-cdk/cloud-assembly-schema": { - "version": "1.61.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.61.0.tgz", - "integrity": "sha512-+D1K159eNxWDGJNiyQcwczddzqFDS08b2VAJrgJFvqhMNbNWWuYxxxEJoh5jH9iULr2a52WXrrQfF72HbB0jUQ==", - "requires": { - "jsonschema": "^1.2.5", - "semver": "^7.2.2" - }, - "dependencies": { - "jsonschema": { - "version": "1.2.6", - "bundled": true - }, - "semver": { - "version": "7.3.2", - "bundled": true - } - } - }, - "@aws-cdk/cloudformation-diff": { - "version": "1.61.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/cloudformation-diff/-/cloudformation-diff-1.61.0.tgz", - "integrity": "sha512-TrrmywhYkXxGNTmDd1k2biJMVtEvb0QcbZ/IGM6biMXIJ+wsjw/n5snvwciQ8/PHZmsUYk67qulGdso1rpy06Q==", - "requires": { - "@aws-cdk/cfnspec": "1.61.0", - "colors": "^1.4.0", - "diff": "^4.0.2", - "fast-deep-equal": "^3.1.3", - "string-width": "^4.2.0", - "table": "^5.4.6" - } - }, - "@aws-cdk/core": { - "version": "1.61.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/core/-/core-1.61.0.tgz", - "integrity": "sha512-g6vOR7zqWfbSzIM2kqUPH0Tdk4tOUFGX1TM5crty1ndkNja84PvAzEjQZr34U2aCGk+EI2pyB/4D7BLiAhAvKw==", - "requires": { - "@aws-cdk/cloud-assembly-schema": "1.61.0", - "@aws-cdk/cx-api": "1.61.0", - "constructs": "^3.0.4", - "fs-extra": "^9.0.1", - "minimatch": "^3.0.4" - }, - "dependencies": { - "at-least-node": { - "version": "1.0.0", - "bundled": true - }, - "balanced-match": { - "version": "1.0.0", - "bundled": true - }, - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "concat-map": { - "version": "0.0.1", - "bundled": true - }, - "fs-extra": { - "version": "9.0.1", - "bundled": true, - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^1.0.0" - } - }, - "graceful-fs": { - "version": "4.2.4", - "bundled": true - }, - "jsonfile": { - "version": "6.0.1", - "bundled": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^1.0.0" - } - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "universalify": { - "version": "1.0.0", - "bundled": true - } - } - }, - "@aws-cdk/custom-resources": { - "version": "1.61.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/custom-resources/-/custom-resources-1.61.0.tgz", - "integrity": "sha512-etnHE7A0+J5w1L/m+KxEbPQ7LgtVYvEUV6naqRp5uIsTBaJ9sCQ+q43Y3Fj+g3NMigm8C2fKg5FmiFE6kiymDQ==", - "requires": { - "@aws-cdk/aws-cloudformation": "1.61.0", - "@aws-cdk/aws-iam": "1.61.0", - "@aws-cdk/aws-lambda": "1.61.0", - "@aws-cdk/aws-logs": "1.61.0", - "@aws-cdk/aws-sns": "1.61.0", - "@aws-cdk/core": "1.61.0", - "constructs": "^3.0.4" - } - }, - "@aws-cdk/cx-api": { - "version": "1.61.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/cx-api/-/cx-api-1.61.0.tgz", - "integrity": "sha512-SOn1aLhp2Zot1Qqev1REbgL2n0Ccl9sfg1nJMWnGxAmjarazJfvW22llYKnJPuFkgHswaBlifBxAA4WgKbUn6g==", - "requires": { - "@aws-cdk/cloud-assembly-schema": "1.61.0", - "semver": "^7.2.2" - }, - "dependencies": { - "semver": { - "version": "7.3.2", - "bundled": true - } - } - }, - "@aws-cdk/region-info": { - "version": "1.61.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/region-info/-/region-info-1.61.0.tgz", - "integrity": "sha512-/10gvecycNJhYM2LIkA0XaoWgUZQ6K5FIIRaf/o4PbgHyR8WTyEPO6lbT0GoKi69TvC+18xzJ4iZ1p3ZdRnUYw==" - }, - "@babel/cli": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.12.7.tgz", - "integrity": "sha512-vE1fidQsaWnQVs4SItkuCdi3+uXqjbhw4cIKp8aawKxOnTnlvxYMzXSeMAqo6alldQRFQYb198YQfW0Sp1jl5Q==", - "requires": { - "@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents", - "chokidar": "^3.4.0", - "commander": "^4.0.1", - "convert-source-map": "^1.1.0", - "fs-readdir-recursive": "^1.1.0", - "glob": "^7.0.0", - "lodash": "^4.17.19", - "make-dir": "^2.1.0", - "slash": "^2.0.0", - "source-map": "^0.5.0" - } - }, - "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/compat-data": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.12.7.tgz", - "integrity": "sha512-YaxPMGs/XIWtYqrdEOZOCPsVWfEoriXopnsz3/i7apYPXQ3698UFhS6dVT1KN5qOsWmVgw/FOrmQgpRaZayGsw==" - }, - "@babel/core": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.7.tgz", - "integrity": "sha512-tRKx9B53kJe8NCGGIxEQb2Bkr0riUIEuN7Sc1fxhs5H8lKlCWUvQCSNMVIB0Meva7hcbCRJ76de15KoLltdoqw==", - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.5", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helpers": "^7.12.5", - "@babel/parser": "^7.12.7", - "@babel/template": "^7.12.7", - "@babel/traverse": "^7.12.7", - "@babel/types": "^7.12.7", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", - "json5": "^2.1.2", - "lodash": "^4.17.19", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - }, - "dependencies": { - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "@babel/eslint-parser": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.12.1.tgz", - "integrity": "sha512-cc7WQHnHQY3++/bghgbDtPx+5bf6xTsokyGzV6Qzh65NLz/unv+mPQuACkQ9GFhIhcTFv6yqwNaEcfX7EkOEsg==", - "requires": { - "eslint-scope": "5.1.0", - "eslint-visitor-keys": "^1.3.0", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "@babel/eslint-plugin": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/eslint-plugin/-/eslint-plugin-7.12.1.tgz", - "integrity": "sha512-rOjrD5yupTYCO4x0kEbQmi/NsaD+VGOD/9Cvso64WMVPY2y6o5Nvw2sqFWdeSEBdR1Dsa07YjplBs067x5YbXg==", - "requires": { - "eslint-rule-composer": "^0.3.0" - } - }, - "@babel/generator": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.5.tgz", - "integrity": "sha512-m16TQQJ8hPt7E+OS/XVQg/7U184MLXtvuGbCdA7na61vha+ImkyyNM/9DDA0unYCVZn3ZOhng+qz48/KBOT96A==", - "requires": { - "@babel/types": "^7.12.5", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz", - "integrity": "sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA==", - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz", - "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==", - "requires": { - "@babel/helper-explode-assignable-expression": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.5.tgz", - "integrity": "sha512-+qH6NrscMolUlzOYngSBMIOQpKUGPPsc61Bu5W10mg84LxZ7cmvnBHzARKbDoFxVvqqAbj6Tg6N7bSrWSPXMyw==", - "requires": { - "@babel/compat-data": "^7.12.5", - "@babel/helper-validator-option": "^7.12.1", - "browserslist": "^4.14.5", - "semver": "^5.5.0" - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz", - "integrity": "sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w==", - "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-member-expression-to-functions": "^7.12.1", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.10.4" - } - }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.7.tgz", - "integrity": "sha512-idnutvQPdpbduutvi3JVfEgcVIHooQnhvhx0Nk9isOINOIGYkZea1Pk2JlJRiUnMefrlvr0vkByATBY/mB4vjQ==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "regexpu-core": "^4.7.1" - } - }, - "@babel/helper-define-map": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz", - "integrity": "sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==", - "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/types": "^7.10.5", - "lodash": "^4.17.19" - } - }, - "@babel/helper-explode-assignable-expression": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz", - "integrity": "sha512-dmUwH8XmlrUpVqgtZ737tK88v07l840z9j3OEhCLwKTkjlvKpfqXVIZ0wpK3aeOxspwGrf/5AP5qLx4rO3w5rA==", - "requires": { - "@babel/types": "^7.12.1" - } - }, - "@babel/helper-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", - "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", - "requires": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", - "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz", - "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==", - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz", - "integrity": "sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==", - "requires": { - "@babel/types": "^7.12.7" - } - }, - "@babel/helper-module-imports": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz", - "integrity": "sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==", - "requires": { - "@babel/types": "^7.12.5" - } - }, - "@babel/helper-module-transforms": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz", - "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==", - "requires": { - "@babel/helper-module-imports": "^7.12.1", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-simple-access": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/helper-validator-identifier": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.1", - "@babel/types": "^7.12.1", - "lodash": "^4.17.19" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.7.tgz", - "integrity": "sha512-I5xc9oSJ2h59OwyUqjv95HRyzxj53DAubUERgQMrpcCEYQyToeHA+NEcUEsVWB4j53RDeskeBJ0SgRAYHDBckw==", - "requires": { - "@babel/types": "^7.12.7" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz", - "integrity": "sha512-9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-wrap-function": "^7.10.4", - "@babel/types": "^7.12.1" - } - }, - "@babel/helper-replace-supers": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.5.tgz", - "integrity": "sha512-5YILoed0ZyIpF4gKcpZitEnXEJ9UoDRki1Ey6xz46rxOzfNMAhVIJMoune1hmPVxh40LRv1+oafz7UsWX+vyWA==", - "requires": { - "@babel/helper-member-expression-to-functions": "^7.12.1", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/traverse": "^7.12.5", - "@babel/types": "^7.12.5" - } - }, - "@babel/helper-simple-access": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz", - "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==", - "requires": { - "@babel/types": "^7.12.1" - } - }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz", - "integrity": "sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==", - "requires": { - "@babel/types": "^7.12.1" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", - "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", - "requires": { - "@babel/types": "^7.11.0" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==" - }, - "@babel/helper-validator-option": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.1.tgz", - "integrity": "sha512-YpJabsXlJVWP0USHjnC/AQDTLlZERbON577YUVO/wLpqyj6HAtVYnWaQaN0iUN+1/tWn3c+uKKXjRut5115Y2A==" - }, - "@babel/helper-wrap-function": { - "version": "7.12.3", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.12.3.tgz", - "integrity": "sha512-Cvb8IuJDln3rs6tzjW3Y8UeelAOdnpB8xtQ4sme2MSZ9wOxrbThporC0y/EtE16VAtoyEfLM404Xr1e0OOp+ow==", - "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helpers": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.5.tgz", - "integrity": "sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==", - "requires": { - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.5", - "@babel/types": "^7.12.5" - } - }, - "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - } - } - }, - "@babel/parser": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.7.tgz", - "integrity": "sha512-oWR02Ubp4xTLCAqPRiNIuMVgNO5Aif/xpXtabhzW2HWUD47XJsAB4Zd/Rg30+XeQA3juXigV7hlquOTmwqLiwg==" - }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.1.tgz", - "integrity": "sha512-d+/o30tJxFxrA1lhzJqiUcEJdI6jKlNregCv5bASeGf2Q4MXmnwH7viDo7nhx1/ohf09oaH8j1GVYG/e3Yqk6A==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-remap-async-to-generator": "^7.12.1", - "@babel/plugin-syntax-async-generators": "^7.8.0" - } - }, - "@babel/plugin-proposal-class-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz", - "integrity": "sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz", - "integrity": "sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-dynamic-import": "^7.8.0" - } - }, - "@babel/plugin-proposal-export-namespace-from": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz", - "integrity": "sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - } - }, - "@babel/plugin-proposal-json-strings": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz", - "integrity": "sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.0" - } - }, - "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz", - "integrity": "sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - } - }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz", - "integrity": "sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" - } - }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.7.tgz", - "integrity": "sha512-8c+uy0qmnRTeukiGsjLGy6uVs/TFjJchGXUeBqlG4VWYOdJWkhhVPdQ3uHwbmalfJwv2JsV0qffXP4asRfL2SQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz", - "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-transform-parameters": "^7.12.1" - } - }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz", - "integrity": "sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" - } - }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.7.tgz", - "integrity": "sha512-4ovylXZ0PWmwoOvhU2vhnzVNnm88/Sm9nx7V8BPgMvAzn5zDou3/Awy0EjglyubVHasJj+XCEkr/r1X3P5elCA==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", - "@babel/plugin-syntax-optional-chaining": "^7.8.0" - } - }, - "@babel/plugin-proposal-private-methods": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz", - "integrity": "sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz", - "integrity": "sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-async-generators": { - "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==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-bigint": { - "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==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz", - "integrity": "sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-syntax-import-meta": { - "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==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-json-strings": { - "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==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@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", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "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==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-numeric-separator": { - "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==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "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==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "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==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-chaining": { - "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==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz", - "integrity": "sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz", - "integrity": "sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz", - "integrity": "sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A==", - "requires": { - "@babel/helper-module-imports": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-remap-async-to-generator": "^7.12.1" - } - }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz", - "integrity": "sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.1.tgz", - "integrity": "sha512-zJyAC9sZdE60r1nVQHblcfCj29Dh2Y0DOvlMkcqSo0ckqjiCwNiUezUKw+RjOCwGfpLRwnAeQ2XlLpsnGkvv9w==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz", - "integrity": "sha512-/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-define-map": "^7.10.4", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.10.4", - "globals": "^11.1.0" - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz", - "integrity": "sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz", - "integrity": "sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz", - "integrity": "sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz", - "integrity": "sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz", - "integrity": "sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug==", - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz", - "integrity": "sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz", - "integrity": "sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw==", - "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz", - "integrity": "sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz", - "integrity": "sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz", - "integrity": "sha512-tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ==", - "requires": { - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz", - "integrity": "sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag==", - "requires": { - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-simple-access": "^7.12.1", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz", - "integrity": "sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q==", - "requires": { - "@babel/helper-hoist-variables": "^7.10.4", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-validator-identifier": "^7.10.4", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz", - "integrity": "sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q==", - "requires": { - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz", - "integrity": "sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz", - "integrity": "sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz", - "integrity": "sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz", - "integrity": "sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-property-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz", - "integrity": "sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz", - "integrity": "sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng==", - "requires": { - "regenerator-transform": "^0.14.2" - } - }, - "@babel/plugin-transform-reserved-words": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz", - "integrity": "sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz", - "integrity": "sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz", - "integrity": "sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.7.tgz", - "integrity": "sha512-VEiqZL5N/QvDbdjfYQBhruN0HYjSPjC4XkeqW4ny/jNtH9gcbgaqBIXYEZCNnESMAGs0/K/R7oFGMhOyu/eIxg==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz", - "integrity": "sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.1.tgz", - "integrity": "sha512-EPGgpGy+O5Kg5pJFNDKuxt9RdmTgj5sgrus2XVeMp/ZIbOESadgILUbm50SNpghOh3/6yrbsH+NB5+WJTmsA7Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.1.tgz", - "integrity": "sha512-I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz", - "integrity": "sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/preset-env": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.7.tgz", - "integrity": "sha512-OnNdfAr1FUQg7ksb7bmbKoby4qFOHw6DKWWUNB9KqnnCldxhxJlP+21dpyaWFmf2h0rTbOkXJtAGevY3XW1eew==", - "requires": { - "@babel/compat-data": "^7.12.7", - "@babel/helper-compilation-targets": "^7.12.5", - "@babel/helper-module-imports": "^7.12.5", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-validator-option": "^7.12.1", - "@babel/plugin-proposal-async-generator-functions": "^7.12.1", - "@babel/plugin-proposal-class-properties": "^7.12.1", - "@babel/plugin-proposal-dynamic-import": "^7.12.1", - "@babel/plugin-proposal-export-namespace-from": "^7.12.1", - "@babel/plugin-proposal-json-strings": "^7.12.1", - "@babel/plugin-proposal-logical-assignment-operators": "^7.12.1", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", - "@babel/plugin-proposal-numeric-separator": "^7.12.7", - "@babel/plugin-proposal-object-rest-spread": "^7.12.1", - "@babel/plugin-proposal-optional-catch-binding": "^7.12.1", - "@babel/plugin-proposal-optional-chaining": "^7.12.7", - "@babel/plugin-proposal-private-methods": "^7.12.1", - "@babel/plugin-proposal-unicode-property-regex": "^7.12.1", - "@babel/plugin-syntax-async-generators": "^7.8.0", - "@babel/plugin-syntax-class-properties": "^7.12.1", - "@babel/plugin-syntax-dynamic-import": "^7.8.0", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.0", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.0", - "@babel/plugin-syntax-top-level-await": "^7.12.1", - "@babel/plugin-transform-arrow-functions": "^7.12.1", - "@babel/plugin-transform-async-to-generator": "^7.12.1", - "@babel/plugin-transform-block-scoped-functions": "^7.12.1", - "@babel/plugin-transform-block-scoping": "^7.12.1", - "@babel/plugin-transform-classes": "^7.12.1", - "@babel/plugin-transform-computed-properties": "^7.12.1", - "@babel/plugin-transform-destructuring": "^7.12.1", - "@babel/plugin-transform-dotall-regex": "^7.12.1", - "@babel/plugin-transform-duplicate-keys": "^7.12.1", - "@babel/plugin-transform-exponentiation-operator": "^7.12.1", - "@babel/plugin-transform-for-of": "^7.12.1", - "@babel/plugin-transform-function-name": "^7.12.1", - "@babel/plugin-transform-literals": "^7.12.1", - "@babel/plugin-transform-member-expression-literals": "^7.12.1", - "@babel/plugin-transform-modules-amd": "^7.12.1", - "@babel/plugin-transform-modules-commonjs": "^7.12.1", - "@babel/plugin-transform-modules-systemjs": "^7.12.1", - "@babel/plugin-transform-modules-umd": "^7.12.1", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.1", - "@babel/plugin-transform-new-target": "^7.12.1", - "@babel/plugin-transform-object-super": "^7.12.1", - "@babel/plugin-transform-parameters": "^7.12.1", - "@babel/plugin-transform-property-literals": "^7.12.1", - "@babel/plugin-transform-regenerator": "^7.12.1", - "@babel/plugin-transform-reserved-words": "^7.12.1", - "@babel/plugin-transform-shorthand-properties": "^7.12.1", - "@babel/plugin-transform-spread": "^7.12.1", - "@babel/plugin-transform-sticky-regex": "^7.12.7", - "@babel/plugin-transform-template-literals": "^7.12.1", - "@babel/plugin-transform-typeof-symbol": "^7.12.1", - "@babel/plugin-transform-unicode-escapes": "^7.12.1", - "@babel/plugin-transform-unicode-regex": "^7.12.1", - "@babel/preset-modules": "^0.1.3", - "@babel/types": "^7.12.7", - "core-js-compat": "^3.7.0", - "semver": "^5.5.0" - } - }, - "@babel/preset-modules": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", - "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - } - }, - "@babel/runtime": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.5.tgz", - "integrity": "sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==", - "requires": { - "regenerator-runtime": "^0.13.4" - } - }, - "@babel/template": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", - "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.12.7", - "@babel/types": "^7.12.7" - } - }, - "@babel/traverse": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.7.tgz", - "integrity": "sha512-nMWaqsQEeSvMNypswUDzjqQ+0rR6pqCtoQpsqGJC4/Khm9cISwPTSpai57F6/jDaOoEGz8yE/WxcO3PV6tKSmQ==", - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.5", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/parser": "^7.12.7", - "@babel/types": "^7.12.7", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" - }, - "dependencies": { - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "@babel/types": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.7.tgz", - "integrity": "sha512-MNyI92qZq6jrQkXvtIiykvl4WtoRrVV9MPn+ZfsoEENjiWcBQ3ZSHrkxnJWgWtLX3XXqX5hrSQ+X69wkmesXuQ==", - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" - }, - "@cnakazawa/watch": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", - "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", - "requires": { - "exec-sh": "^0.3.2", - "minimist": "^1.2.0" - } - }, - "@eslint/eslintrc": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.1.tgz", - "integrity": "sha512-XRUeBZ5zBWLYgSANMpThFddrZZkEbGHgUdt5UJjZfnlN9BGCiUBrf+nvbRupSjMvqzwnQN0qwCmOxITt1cfywA==", - "requires": { - "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "lodash": "^4.17.19", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "requires": { - "ms": "2.1.2" - } - }, - "globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", - "requires": { - "type-fest": "^0.8.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "requires": { - "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" - }, - "dependencies": { - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" - } - } - }, - "@istanbuljs/schema": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz", - "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==" - }, - "@jest/console": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-26.6.2.tgz", - "integrity": "sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g==", - "requires": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^26.6.2", - "jest-util": "^26.6.2", - "slash": "^3.0.0" - }, - "dependencies": { - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - } - } - }, - "@jest/core": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-26.6.3.tgz", - "integrity": "sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw==", - "requires": { - "@jest/console": "^26.6.2", - "@jest/reporters": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-changed-files": "^26.6.2", - "jest-config": "^26.6.3", - "jest-haste-map": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-resolve": "^26.6.2", - "jest-resolve-dependencies": "^26.6.3", - "jest-runner": "^26.6.3", - "jest-runtime": "^26.6.3", - "jest-snapshot": "^26.6.2", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "jest-watcher": "^26.6.2", - "micromatch": "^4.0.2", - "p-each-series": "^2.1.0", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - } - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "requires": { - "glob": "^7.1.3" - } - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - }, - "to-regex-range": { - "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==", - "requires": { - "is-number": "^7.0.0" - } - } - } - }, - "@jest/environment": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-26.6.2.tgz", - "integrity": "sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==", - "requires": { - "@jest/fake-timers": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "jest-mock": "^26.6.2" - } - }, - "@jest/fake-timers": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-26.6.2.tgz", - "integrity": "sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA==", - "requires": { - "@jest/types": "^26.6.2", - "@sinonjs/fake-timers": "^6.0.1", - "@types/node": "*", - "jest-message-util": "^26.6.2", - "jest-mock": "^26.6.2", - "jest-util": "^26.6.2" - } - }, - "@jest/globals": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-26.6.2.tgz", - "integrity": "sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA==", - "requires": { - "@jest/environment": "^26.6.2", - "@jest/types": "^26.6.2", - "expect": "^26.6.2" - } - }, - "@jest/reporters": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-26.6.2.tgz", - "integrity": "sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw==", - "requires": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.2", - "graceful-fs": "^4.2.4", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^4.0.3", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", - "jest-haste-map": "^26.6.2", - "jest-resolve": "^26.6.2", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", - "node-notifier": "^8.0.0", - "slash": "^3.0.0", - "source-map": "^0.6.0", - "string-length": "^4.0.1", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^7.0.0" - }, - "dependencies": { - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "@jest/source-map": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-26.6.2.tgz", - "integrity": "sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA==", - "requires": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.4", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "@jest/test-result": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-26.6.2.tgz", - "integrity": "sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ==", - "requires": { - "@jest/console": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - } - }, - "@jest/test-sequencer": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz", - "integrity": "sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw==", - "requires": { - "@jest/test-result": "^26.6.2", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^26.6.2", - "jest-runner": "^26.6.3", - "jest-runtime": "^26.6.3" - } - }, - "@jest/transform": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.6.2.tgz", - "integrity": "sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==", - "requires": { - "@babel/core": "^7.1.0", - "@jest/types": "^26.6.2", - "babel-plugin-istanbul": "^6.0.0", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-util": "^26.6.2", - "micromatch": "^4.0.2", - "pirates": "^4.0.1", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - }, - "dependencies": { - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - } - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "to-regex-range": { - "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==", - "requires": { - "is-number": "^7.0.0" - } - } - } - }, - "@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - } - }, - "@nicolo-ribaudo/chokidar-2": { - "version": "2.1.8-no-fsevents", - "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.tgz", - "integrity": "sha512-+nb9vWloHNNMFHjGofEam3wopE3m1yuambrrd/fnPc+lFOMB9ROTqQlche9ByFWNkdNqfSgR/kkQtQ8DzEWt2w==", - "optional": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } - }, - "@serverless-stack/core": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@serverless-stack/core/-/core-0.4.3.tgz", - "integrity": "sha512-R+iUsOKMYFof+nu4O9VhZrNmiJs3ap6sxuKjXfiUwTI6Iy8wCFE5aIb3Wu0EIBmfeVe7vR4PPH9TYjh3kJ4UdA==", - "requires": { - "aws-sdk": "^2.761.0", - "chalk": "^4.1.0", - "sst-cdk": "1.61.0-rc.25" - }, - "dependencies": { - "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==" - }, - "sst-cdk": { - "version": "1.61.0-rc.25", - "resolved": "https://registry.npmjs.org/sst-cdk/-/sst-cdk-1.61.0-rc.25.tgz", - "integrity": "sha512-Vc9pRpTIV0xUBZHK6Qj3Xrb/LCPiXw2nVJaWZPiSiUc2mi566KsxpmWFvjqrYXKFesRSwUoIVgfEwop12CiLzw==", - "requires": { - "@aws-cdk/cloud-assembly-schema": "1.61.0", - "@aws-cdk/cloudformation-diff": "1.61.0", - "@aws-cdk/cx-api": "1.61.0", - "@aws-cdk/region-info": "1.61.0", - "archiver": "^4.0.2", - "aws-sdk": "^2.739.0", - "camelcase": "^6.0.0", - "cdk-assets": "1.61.0", - "colors": "^1.4.0", - "decamelize": "^4.0.0", - "fs-extra": "^9.0.1", - "glob": "^7.1.6", - "json-diff": "^0.5.4", - "minimatch": ">=3.0", - "promptly": "^3.0.3", - "proxy-agent": "^3.1.1", - "semver": "^7.2.2", - "source-map-support": "^0.5.19", - "table": "^5.4.6", - "uuid": "^8.3.0", - "wrap-ansi": "^7.0.0", - "yaml": "^1.10.0", - "yargs": "^15.4.1" - } - }, - "uuid": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.1.tgz", - "integrity": "sha512-FOmRr+FmWEIG8uhZv6C2bTgEVXsHk08kE7mPlrBbEe+c3r9pjceVPgupIfNIhc4yx55H69OXANrUaSuu9eInKg==" - } - } - }, - "@serverless-stack/resources": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@serverless-stack/resources/-/resources-0.4.3.tgz", - "integrity": "sha512-cYE2aTHbToj71xZyEbCMH5+5jZEHx2ebL/gA5eEC0JUnlrfCIt6K3buO4nIKvOY01hQD/kS6OLM40x6keV2F3A==", - "requires": { - "@aws-cdk/core": "1.61.0" - } - }, - "@sinonjs/commons": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.1.tgz", - "integrity": "sha512-892K+kWUUi3cl+LlqEWIDrhvLgdL79tECi8JZUyq6IviKy/DNhuzCRlbHUjxK89f4ypPMMaFnFuR9Ie6DoIMsw==", - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz", - "integrity": "sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==", - "requires": { - "@sinonjs/commons": "^1.7.0" - } - }, - "@types/babel__core": { - "version": "7.1.12", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.12.tgz", - "integrity": "sha512-wMTHiiTiBAAPebqaPiPDLFA4LYPKr6Ph0Xq/6rq1Ur3v66HXyG+clfR9CNETkD7MQS8ZHvpQOtA53DLws5WAEQ==", - "requires": { - "@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.2", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.2.tgz", - "integrity": "sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ==", - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@types/babel__template": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.0.tgz", - "integrity": "sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A==", - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@types/babel__traverse": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.15.tgz", - "integrity": "sha512-Pzh9O3sTK8V6I1olsXpCfj2k/ygO2q1X0vhhnDrEQyYLHZesWz+zMZMVcwXLCYf0U36EtmyYaFGPfXlTtDHe3A==", - "requires": { - "@babel/types": "^7.3.0" - } - }, - "@types/eslint-visitor-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", - "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==" - }, - "@types/graceful-fs": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.4.tgz", - "integrity": "sha512-mWA/4zFQhfvOA8zWkXobwJvBD7vzcxgrOQ0J5CH1votGqdq9m7+FwtGaqyCZqC3NyyBkc9z4m+iry4LlqcMWJg==", - "requires": { - "@types/node": "*" - } - }, - "@types/istanbul-lib-coverage": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", - "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==" - }, - "@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==", - "requires": { - "@types/istanbul-lib-coverage": "*" - } - }, - "@types/istanbul-reports": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz", - "integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==", - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/jest": { - "version": "26.0.15", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-26.0.15.tgz", - "integrity": "sha512-s2VMReFXRg9XXxV+CW9e5Nz8fH2K1aEhwgjUqPPbQd7g95T0laAcvLv032EhFHIa5GHsZ8W7iJEQVaJq6k3Gog==", - "requires": { - "jest-diff": "^26.0.0", - "pretty-format": "^26.0.0" - } - }, - "@types/json-schema": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", - "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==" - }, - "@types/node": { - "version": "14.14.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.9.tgz", - "integrity": "sha512-JsoLXFppG62tWTklIoO4knA+oDTYsmqWxHRvd4lpmfQRNhX6osheUOWETP2jMoV/2bEHuMra8Pp3Dmo/stBFcw==" - }, - "@types/normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==" - }, - "@types/prettier": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.1.5.tgz", - "integrity": "sha512-UEyp8LwZ4Dg30kVU2Q3amHHyTn1jEdhCIE59ANed76GaT1Vp76DD3ZWSAxgCrw6wJ0TqeoBpqmfUHiUDPs//HQ==" - }, - "@types/stack-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.0.tgz", - "integrity": "sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw==" - }, - "@types/yargs": { - "version": "15.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.10.tgz", - "integrity": "sha512-z8PNtlhrj7eJNLmrAivM7rjBESG6JwC5xP3RVk12i/8HVP7Xnx/sEmERnRImyEuUaJfO942X0qMOYsoupaJbZQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "@types/yargs-parser": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz", - "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==" - }, - "@typescript-eslint/eslint-plugin": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.10.1.tgz", - "integrity": "sha512-PQg0emRtzZFWq6PxBcdxRH3QIQiyFO3WCVpRL3fgj5oQS3CDs3AeAKfv4DxNhzn8ITdNJGJ4D3Qw8eAJf3lXeQ==", - "requires": { - "@typescript-eslint/experimental-utils": "3.10.1", - "debug": "^4.1.1", - "functional-red-black-tree": "^1.0.1", - "regexpp": "^3.0.0", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - }, - "dependencies": { - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==" - } - } - }, - "@typescript-eslint/experimental-utils": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-3.10.1.tgz", - "integrity": "sha512-DewqIgscDzmAfd5nOGe4zm6Bl7PKtMG2Ad0KG8CUZAHlXfAKTF9Ol5PXhiMh39yRL2ChRH1cuuUGOcVyyrhQIw==", - "requires": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/types": "3.10.1", - "@typescript-eslint/typescript-estree": "3.10.1", - "eslint-scope": "^5.0.0", - "eslint-utils": "^2.0.0" - } - }, - "@typescript-eslint/parser": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-3.10.1.tgz", - "integrity": "sha512-Ug1RcWcrJP02hmtaXVS3axPPTTPnZjupqhgj+NnZ6BCkwSImWk/283347+x9wN+lqOdK9Eo3vsyiyDHgsmiEJw==", - "requires": { - "@types/eslint-visitor-keys": "^1.0.0", - "@typescript-eslint/experimental-utils": "3.10.1", - "@typescript-eslint/types": "3.10.1", - "@typescript-eslint/typescript-estree": "3.10.1", - "eslint-visitor-keys": "^1.1.0" - } - }, - "@typescript-eslint/types": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-3.10.1.tgz", - "integrity": "sha512-+3+FCUJIahE9q0lDi1WleYzjCwJs5hIsbugIgnbB+dSCYUxl8L6PwmsyOPFZde2hc1DlTo/xnkOgiTLSyAbHiQ==" - }, - "@typescript-eslint/typescript-estree": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-3.10.1.tgz", - "integrity": "sha512-QbcXOuq6WYvnB3XPsZpIwztBoquEYLXh2MtwVU+kO8jgYCiv4G5xrSP/1wg4tkvrEE+esZVquIPX/dxPlePk1w==", - "requires": { - "@typescript-eslint/types": "3.10.1", - "@typescript-eslint/visitor-keys": "3.10.1", - "debug": "^4.1.1", - "glob": "^7.1.6", - "is-glob": "^4.0.1", - "lodash": "^4.17.15", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - }, - "dependencies": { - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==" - } - } - }, - "@typescript-eslint/visitor-keys": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-3.10.1.tgz", - "integrity": "sha512-9JgC82AaQeglebjZMgYR5wgmfUdUc+EitGUUMW8u2nDckaeimzW+VsoLV6FoimPv2id3VQzfjwBxEMVz08ameQ==", - "requires": { - "eslint-visitor-keys": "^1.1.0" - } - }, - "abab": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", - "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==" - }, - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" - }, - "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==", - "requires": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" - } - }, - "acorn-jsx": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", - "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==" - }, - "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==" - }, - "agent-base": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", - "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", - "requires": { - "es6-promisify": "^5.0.0" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "requires": { - "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-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==" - }, - "ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", - "requires": { - "type-fest": "^0.11.0" - }, - "dependencies": { - "type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==" - } - } - }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" - }, - "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" - } - }, - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "archiver": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-4.0.2.tgz", - "integrity": "sha512-B9IZjlGwaxF33UN4oPbfBkyA4V1SxNLeIhR1qY8sRXSsbdUkEHrrOvwlYFPx+8uQeCe9M+FG6KgO+imDmQ79CQ==", - "requires": { - "archiver-utils": "^2.1.0", - "async": "^3.2.0", - "buffer-crc32": "^0.2.1", - "glob": "^7.1.6", - "readable-stream": "^3.6.0", - "tar-stream": "^2.1.2", - "zip-stream": "^3.0.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==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "archiver-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz", - "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==", - "requires": { - "glob": "^7.1.4", - "graceful-fs": "^4.2.0", - "lazystream": "^1.0.0", - "lodash.defaults": "^4.2.0", - "lodash.difference": "^4.5.0", - "lodash.flatten": "^4.4.0", - "lodash.isplainobject": "^4.0.6", - "lodash.union": "^4.6.0", - "normalize-path": "^3.0.0", - "readable-stream": "^2.0.0" - } - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" - }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" - }, - "ast-types": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.14.2.tgz", - "integrity": "sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==", - "requires": { - "tslib": "^2.0.1" - } - }, - "astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==" - }, - "async": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.0.tgz", - "integrity": "sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==" - }, - "async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", - "optional": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" - }, - "at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" - }, - "aws-cdk": { - "version": "1.61.0", - "resolved": "https://registry.npmjs.org/aws-cdk/-/aws-cdk-1.61.0.tgz", - "integrity": "sha512-deLtRq3DkiUB/5EN8ZCWLdXY0Uhm+fUvA1WSO8lzEhl71SmD7dyEHqvl7k96WPrIhUkS0nbiz6a+WC0QadIthg==", - "requires": { - "@aws-cdk/cloud-assembly-schema": "1.61.0", - "@aws-cdk/cloudformation-diff": "1.61.0", - "@aws-cdk/cx-api": "1.61.0", - "@aws-cdk/region-info": "1.61.0", - "archiver": "^4.0.2", - "aws-sdk": "^2.739.0", - "camelcase": "^6.0.0", - "cdk-assets": "1.61.0", - "colors": "^1.4.0", - "decamelize": "^4.0.0", - "fs-extra": "^9.0.1", - "glob": "^7.1.6", - "json-diff": "^0.5.4", - "minimatch": ">=3.0", - "promptly": "^3.0.3", - "proxy-agent": "^3.1.1", - "semver": "^7.2.2", - "source-map-support": "^0.5.19", - "table": "^5.4.6", - "uuid": "^8.3.0", - "wrap-ansi": "^7.0.0", - "yaml": "^1.10.0", - "yargs": "^15.4.1" - }, - "dependencies": { - "@aws-cdk/cfnspec": { - "version": "1.61.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/cfnspec/-/cfnspec-1.61.0.tgz", - "integrity": "sha512-Ss5N3unY6iVh9SjYAYvTyvhdb7Kaz6dVFeV8K68UGewiFcHpC5tQi3YmlVBw3HCgKoRt20emiHAfmdfeGO/PUQ==", - "requires": { - "md5": "^2.3.0" - } - }, - "@aws-cdk/cloud-assembly-schema": { - "version": "1.61.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.61.0.tgz", - "integrity": "sha512-+D1K159eNxWDGJNiyQcwczddzqFDS08b2VAJrgJFvqhMNbNWWuYxxxEJoh5jH9iULr2a52WXrrQfF72HbB0jUQ==", - "requires": { - "jsonschema": "^1.2.5", - "semver": "^7.2.2" - } - }, - "@aws-cdk/cloudformation-diff": { - "version": "1.61.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/cloudformation-diff/-/cloudformation-diff-1.61.0.tgz", - "integrity": "sha512-TrrmywhYkXxGNTmDd1k2biJMVtEvb0QcbZ/IGM6biMXIJ+wsjw/n5snvwciQ8/PHZmsUYk67qulGdso1rpy06Q==", - "requires": { - "@aws-cdk/cfnspec": "1.61.0", - "colors": "^1.4.0", - "diff": "^4.0.2", - "fast-deep-equal": "^3.1.3", - "string-width": "^4.2.0", - "table": "^5.4.6" - } - }, - "@aws-cdk/cx-api": { - "version": "1.61.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/cx-api/-/cx-api-1.61.0.tgz", - "integrity": "sha512-SOn1aLhp2Zot1Qqev1REbgL2n0Ccl9sfg1nJMWnGxAmjarazJfvW22llYKnJPuFkgHswaBlifBxAA4WgKbUn6g==", - "requires": { - "@aws-cdk/cloud-assembly-schema": "1.61.0", - "semver": "^7.2.2" - } - }, - "@aws-cdk/region-info": { - "version": "1.61.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/region-info/-/region-info-1.61.0.tgz", - "integrity": "sha512-/10gvecycNJhYM2LIkA0XaoWgUZQ6K5FIIRaf/o4PbgHyR8WTyEPO6lbT0GoKi69TvC+18xzJ4iZ1p3ZdRnUYw==" - }, - "@types/color-name": { - "version": "1.1.1", - "resolved": "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0", - "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==" - }, - "agent-base": { - "version": "4.3.0", - "resolved": "https://registry.yarnpkg.com/agent-base/-/agent-base-4.3.0.tgz#8165f01c436009bccad0b1d122f05ed770efc6ee", - "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", - "requires": { - "es6-promisify": "^5.0.0" - } - }, - "ajv": { - "version": "6.12.4", - "resolved": "https://registry.yarnpkg.com/ajv/-/ajv-6.12.4.tgz#0614facc4522127fa713445c6bfd3ebd376e2234", - "integrity": "sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ==", - "requires": { - "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-regex": { - "version": "5.0.0", - "resolved": "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" - }, - "ansi-styles": { - "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==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "archiver": { - "version": "4.0.2", - "resolved": "https://registry.yarnpkg.com/archiver/-/archiver-4.0.2.tgz#43c72865eadb4ddaaa2fb74852527b6a450d927c", - "integrity": "sha512-B9IZjlGwaxF33UN4oPbfBkyA4V1SxNLeIhR1qY8sRXSsbdUkEHrrOvwlYFPx+8uQeCe9M+FG6KgO+imDmQ79CQ==", - "requires": { - "archiver-utils": "^2.1.0", - "async": "^3.2.0", - "buffer-crc32": "^0.2.1", - "glob": "^7.1.6", - "readable-stream": "^3.6.0", - "tar-stream": "^2.1.2", - "zip-stream": "^3.0.1" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "requires": { - "safe-buffer": "~5.2.0" - } - } - } - }, - "archiver-utils": { - "version": "2.1.0", - "resolved": "https://registry.yarnpkg.com/archiver-utils/-/archiver-utils-2.1.0.tgz#e8a460e94b693c3e3da182a098ca6285ba9249e2", - "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==", - "requires": { - "glob": "^7.1.4", - "graceful-fs": "^4.2.0", - "lazystream": "^1.0.0", - "lodash.defaults": "^4.2.0", - "lodash.difference": "^4.5.0", - "lodash.flatten": "^4.4.0", - "lodash.isplainobject": "^4.0.6", - "lodash.union": "^4.6.0", - "normalize-path": "^3.0.0", - "readable-stream": "^2.0.0" - } - }, - "ast-types": { - "version": "0.14.1", - "resolved": "https://registry.yarnpkg.com/ast-types/-/ast-types-0.14.1.tgz#0b415043770d7a2cbe4b2770271cbd7d2c9f61b9", - "integrity": "sha512-pfSiukbt23P1qMhNnsozLzhMLBs7EEeXqPyvPmnuZM+RMfwfqwDbSVKYflgGuVI7/VehR4oMks0igzdNAg4VeQ==", - "requires": { - "tslib": "^2.0.1" - } - }, - "astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==" - }, - "async": { - "version": "3.2.0", - "resolved": "https://registry.yarnpkg.com/async/-/async-3.2.0.tgz#b3a2685c5ebb641d3de02d161002c60fc9f85720", - "integrity": "sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==" - }, - "at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" - }, - "aws-sdk": { - "version": "2.739.0", - "resolved": "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.739.0.tgz#10b0b29be18c3f0f85ca145cbed8b10793ddc7a7", - "integrity": "sha512-N2XyxY12gs0GJc26O8TmdT30ovEKWsPX787CNW24g0cXTCyc/Teltq0re6yGxfaH0VmN6qONNLr3E59JtJ3neA==", - "requires": { - "buffer": "4.9.2", - "events": "1.1.1", - "ieee754": "1.1.13", - "jmespath": "0.15.0", - "querystring": "0.2.0", - "sax": "1.2.1", - "url": "0.10.3", - "uuid": "3.3.2", - "xml2js": "0.4.19" - }, - "dependencies": { - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "uuid": { - "version": "3.3.2", - "resolved": "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" - } - } - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "base64-js": { - "version": "1.3.1", - "resolved": "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1", - "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" - }, - "bl": { - "version": "4.0.2", - "resolved": "https://registry.yarnpkg.com/bl/-/bl-4.0.2.tgz#52b71e9088515d0606d9dd9cc7aa48dc1f98e73a", - "integrity": "sha512-j4OH8f6Qg2bGuWfRiltT2HYGx0e1QcBTrK9KAHNMwMZdQnDZFk0ZSYIpADjYCB3U12nicC5tVJwSIhwOWjb4RQ==", - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "requires": { - "safe-buffer": "~5.2.0" - } - } - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "buffer": { - "version": "5.6.0", - "resolved": "https://registry.yarnpkg.com/buffer/-/buffer-5.6.0.tgz#a31749dc7d81d84db08abf937b6b8c4033f62786", - "integrity": "sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==", - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4" - } - }, - "buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" - }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" - }, - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" - }, - "camelcase": { - "version": "6.0.0", - "resolved": "https://registry.yarnpkg.com/camelcase/-/camelcase-6.0.0.tgz#5259f7c30e35e278f1bdc2a4d91230b37cad981e", - "integrity": "sha512-8KMDF1Vz2gzOq54ONPJS65IvTUaB1cHJ2DMM7MbPmLZljDH1qpzzLsWdiN9pHh6qvkRVDTi/07+eNGch/oLU4w==" - }, - "cdk-assets": { - "version": "1.61.0", - "resolved": "https://registry.npmjs.org/cdk-assets/-/cdk-assets-1.61.0.tgz", - "integrity": "sha512-nZJNQq6vktb5j8xl+IYLWbN82E6EVANJQIZvOM1H/SLuYsjyuoAlIxBp6e50XqYRApnLYJ7BpDdAnLWOmfY8MQ==", - "requires": { - "@aws-cdk/cloud-assembly-schema": "1.61.0", - "@aws-cdk/cx-api": "1.61.0", - "archiver": "^4.0.2", - "aws-sdk": "^2.739.0", - "glob": "^7.1.6", - "yargs": "^15.4.1" - } - }, - "charenc": { - "version": "0.0.2", - "resolved": "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667", - "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=" - }, - "cli-color": { - "version": "0.1.7", - "resolved": "https://registry.yarnpkg.com/cli-color/-/cli-color-0.1.7.tgz#adc3200fa471cc211b0da7f566b71e98b9d67347", - "integrity": "sha1-rcMgD6RxzCEbDaf1ZrcemLnWc0c=", - "requires": { - "es5-ext": "0.8.x" - } - }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "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==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - } - } - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" - }, - "color-convert": { - "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==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "colors": { - "version": "1.4.0", - "resolved": "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" - }, - "compress-commons": { - "version": "3.0.0", - "resolved": "https://registry.yarnpkg.com/compress-commons/-/compress-commons-3.0.0.tgz#833944d84596e537224dd91cf92f5246823d4f1d", - "integrity": "sha512-FyDqr8TKX5/X0qo+aVfaZ+PVmNJHJeckFBlq8jZGSJOgnynhfifoyl24qaqdUdDIBe0EVTHByN6NAkqYvE/2Xg==", - "requires": { - "buffer-crc32": "^0.2.13", - "crc32-stream": "^3.0.1", - "normalize-path": "^3.0.0", - "readable-stream": "^2.3.7" - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "crc": { - "version": "3.8.0", - "resolved": "https://registry.yarnpkg.com/crc/-/crc-3.8.0.tgz#ad60269c2c856f8c299e2c4cc0de4556914056c6", - "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==", - "requires": { - "buffer": "^5.1.0" - } - }, - "crc32-stream": { - "version": "3.0.1", - "resolved": "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-3.0.1.tgz#cae6eeed003b0e44d739d279de5ae63b171b4e85", - "integrity": "sha512-mctvpXlbzsvK+6z8kJwSJ5crm7yBwrQMTybJzMw1O4lLGJqjlDCXY2Zw7KheiA6XBEcBmfLx1D88mjRGVJtY9w==", - "requires": { - "crc": "^3.4.4", - "readable-stream": "^3.4.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "requires": { - "safe-buffer": "~5.2.0" - } - } - } - }, - "crypt": { - "version": "0.0.2", - "resolved": "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b", - "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=" - }, - "data-uri-to-buffer": { - "version": "1.2.0", - "resolved": "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-1.2.0.tgz#77163ea9c20d8641b4707e8f18abdf9a78f34835", - "integrity": "sha512-vKQ9DTQPN1FLYiiEEOQ6IBGFqvjCa5rSK3cWMy/Nespm5d/x3dGFT9UBZnkLxCwua/IXBi2TYnwTEpsOvhC4UQ==" - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, - "decamelize": { - "version": "4.0.0", - "resolved": "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==" - }, - "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" - }, - "degenerator": { - "version": "1.0.4", - "resolved": "https://registry.yarnpkg.com/degenerator/-/degenerator-1.0.4.tgz#fcf490a37ece266464d9cc431ab98c5819ced095", - "integrity": "sha1-/PSQo37OJmRk2cxDGrmMWBnO0JU=", - "requires": { - "ast-types": "0.x.x", - "escodegen": "1.x.x", - "esprima": "3.x.x" - } - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" - }, - "diff": { - "version": "4.0.2", - "resolved": "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" - }, - "difflib": { - "version": "0.2.4", - "resolved": "https://registry.yarnpkg.com/difflib/-/difflib-0.2.4.tgz#b5e30361a6db023176d562892db85940a718f47e", - "integrity": "sha1-teMDYabbAjF21WKJLbhZQKcY9H4=", - "requires": { - "heap": ">= 0.2.0" - } - }, - "dreamopt": { - "version": "0.6.0", - "resolved": "https://registry.yarnpkg.com/dreamopt/-/dreamopt-0.6.0.tgz#d813ccdac8d39d8ad526775514a13dda664d6b4b", - "integrity": "sha1-2BPM2sjTnYrVJndVFKE92mZNa0s=", - "requires": { - "wordwrap": ">=0.0.2" - } - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "requires": { - "once": "^1.4.0" - } - }, - "es5-ext": { - "version": "0.8.2", - "resolved": "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.8.2.tgz#aba8d9e1943a895ac96837a62a39b3f55ecd94ab", - "integrity": "sha1-q6jZ4ZQ6iVrJaDemKjmz9V7NlKs=" - }, - "es6-promise": { - "version": "4.2.8", - "resolved": "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a", - "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" - }, - "es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203", - "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", - "requires": { - "es6-promise": "^4.0.3" - } - }, - "escodegen": { - "version": "1.14.3", - "resolved": "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503", - "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", - "requires": { - "esprima": "^4.0.1", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - }, - "dependencies": { - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - } - } - }, - "esprima": { - "version": "3.1.3", - "resolved": "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633", - "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=" - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" - }, - "events": { - "version": "1.1.1", - "resolved": "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924", - "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "fast-deep-equal": { - "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-json-stable-stringify": { - "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": { - "version": "2.0.6", - "resolved": "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" - }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, - "fs-extra": { - "version": "9.0.1", - "resolved": "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc", - "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^1.0.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "ftp": { - "version": "0.3.10", - "resolved": "https://registry.yarnpkg.com/ftp/-/ftp-0.3.10.tgz#9197d861ad8142f3e63d5a83bfe4c59f7330885d", - "integrity": "sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0=", - "requires": { - "readable-stream": "1.1.x", - "xregexp": "2.0.0" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "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.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - } - } - }, - "get-caller-file": { - "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-uri": { - "version": "2.0.4", - "resolved": "https://registry.yarnpkg.com/get-uri/-/get-uri-2.0.4.tgz#d4937ab819e218d4cb5ae18e4f5962bef169cc6a", - "integrity": "sha512-v7LT/s8kVjs+Tx0ykk1I+H/rbpzkHvuIq87LmeXptcf5sNWm9uQiwjNAt94SJPA1zOlCntmnOlJvVWKmzsxG8Q==", - "requires": { - "data-uri-to-buffer": "1", - "debug": "2", - "extend": "~3.0.2", - "file-uri-to-path": "1", - "ftp": "~0.3.10", - "readable-stream": "2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "requires": { - "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" - } - }, - "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" - }, - "heap": { - "version": "0.2.6", - "resolved": "https://registry.yarnpkg.com/heap/-/heap-0.2.6.tgz#087e1f10b046932fc8594dd9e6d378afc9d1e5ac", - "integrity": "sha1-CH4fELBGky/IWU3Z5tN4r8nR5aw=" - }, - "http-errors": { - "version": "1.7.3", - "resolved": "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06", - "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.4", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - } - }, - "http-proxy-agent": { - "version": "2.1.0", - "resolved": "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz#e4821beef5b2142a2026bd73926fe537631c5405", - "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==", - "requires": { - "agent-base": "4", - "debug": "3.1.0" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "https-proxy-agent": { - "version": "3.0.1", - "resolved": "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-3.0.1.tgz#b8c286433e87602311b01c8ea34413d856a4af81", - "integrity": "sha512-+ML2Rbh6DAuee7d07tYGEKOEi2voWPUGan+ExdPbPW6Z3svq+JCqr0v8WmKPOkz1vOVykPCBSuobe7G8GJUtVg==", - "requires": { - "agent-base": "^4.3.0", - "debug": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ip": { - "version": "1.1.5", - "resolved": "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "is-fullwidth-code-point": { - "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==" - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "jmespath": { - "version": "0.15.0", - "resolved": "https://registry.yarnpkg.com/jmespath/-/jmespath-0.15.0.tgz#a3f222a9aae9f966f5d27c796510e28091764217", - "integrity": "sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc=" - }, - "json-diff": { - "version": "0.5.4", - "resolved": "https://registry.yarnpkg.com/json-diff/-/json-diff-0.5.4.tgz#7bc8198c441756632aab66c7d9189d365a7a035a", - "integrity": "sha512-q5Xmx9QXNOzOzIlMoYtLrLiu4Jl/Ce2bn0CNcv54PhyH89CI4GWlGVDye8ei2Ijt9R3U+vsWPsXpLUNob8bs8Q==", - "requires": { - "cli-color": "~0.1.6", - "difflib": "~0.2.1", - "dreamopt": "~0.6.0" - } - }, - "json-schema-traverse": { - "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==" - }, - "jsonfile": { - "version": "6.0.1", - "resolved": "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.0.1.tgz#98966cba214378c8c84b82e085907b40bf614179", - "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==", - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^1.0.0" - } - }, - "jsonschema": { - "version": "1.2.6", - "resolved": "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.2.6.tgz#52b0a8e9dc06bbae7295249d03e4b9faee8a0c0b", - "integrity": "sha512-SqhURKZG07JyKKeo/ir24QnS4/BV7a6gQy93bUSe4lUdNp0QNpIz2c9elWJQ9dpc5cQYY6cvCzgRwy0MQCLyqA==" - }, - "lazystream": { - "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4", - "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", - "requires": { - "readable-stream": "^2.0.5" - } - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" - }, - "lodash.defaults": { - "version": "4.2.0", - "resolved": "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c", - "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" - }, - "lodash.difference": { - "version": "4.5.0", - "resolved": "https://registry.yarnpkg.com/lodash.difference/-/lodash.difference-4.5.0.tgz#9ccb4e505d486b91651345772885a2df27fd017c", - "integrity": "sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw=" - }, - "lodash.flatten": { - "version": "4.4.0", - "resolved": "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f", - "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=" - }, - "lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb", - "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" - }, - "lodash.union": { - "version": "4.6.0", - "resolved": "https://registry.yarnpkg.com/lodash.union/-/lodash.union-4.6.0.tgz#48bb5088409f16f1821666641c44dd1aaae3cd88", - "integrity": "sha1-SLtQiECfFvGCFmZkHETdGqrjzYg=" - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "requires": { - "yallist": "^3.0.2" - } - }, - "md5": { - "version": "2.3.0", - "resolved": "https://registry.yarnpkg.com/md5/-/md5-2.3.0.tgz#c3da9a6aae3a30b46b7b0c349b87b110dc3bda4f", - "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", - "requires": { - "charenc": "0.0.2", - "crypt": "0.0.2", - "is-buffer": "~1.1.6" - } - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" - }, - "netmask": { - "version": "1.0.6", - "resolved": "https://registry.yarnpkg.com/netmask/-/netmask-1.0.6.tgz#20297e89d86f6f6400f250d9f4f6b4c1945fcd35", - "integrity": "sha1-ICl+idhvb2QA8lDZ9Pa0wZRfzTU=" - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" - } - }, - "optionator": { - "version": "0.8.3", - "resolved": "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "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" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "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==", - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" - }, - "pac-proxy-agent": { - "version": "3.0.1", - "resolved": "https://registry.yarnpkg.com/pac-proxy-agent/-/pac-proxy-agent-3.0.1.tgz#115b1e58f92576cac2eba718593ca7b0e37de2ad", - "integrity": "sha512-44DUg21G/liUZ48dJpUSjZnFfZro/0K5JTyFYLBcmh9+T6Ooi4/i4efwUiEy0+4oQusCBqWdhv16XohIj1GqnQ==", - "requires": { - "agent-base": "^4.2.0", - "debug": "^4.1.1", - "get-uri": "^2.0.0", - "http-proxy-agent": "^2.1.0", - "https-proxy-agent": "^3.0.0", - "pac-resolver": "^3.0.0", - "raw-body": "^2.2.0", - "socks-proxy-agent": "^4.0.1" - } - }, - "pac-resolver": { - "version": "3.0.0", - "resolved": "https://registry.yarnpkg.com/pac-resolver/-/pac-resolver-3.0.0.tgz#6aea30787db0a891704deb7800a722a7615a6f26", - "integrity": "sha512-tcc38bsjuE3XZ5+4vP96OfhOugrX+JcnpUbhfuc4LuXBLQhoTthOstZeoQJBDnQUDYzYmdImKsbz0xSl1/9qeA==", - "requires": { - "co": "^4.6.0", - "degenerator": "^1.0.4", - "ip": "^1.1.5", - "netmask": "^1.0.6", - "thunkify": "^2.1.2" - } - }, - "path-exists": { - "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": { - "version": "1.0.1", - "resolved": "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" - }, - "process-nextick-args": { - "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==" - }, - "promptly": { - "version": "3.0.3", - "resolved": "https://registry.yarnpkg.com/promptly/-/promptly-3.0.3.tgz#e178f722e73d82c60d019462044bccfdd9872f42", - "integrity": "sha512-EWnzOsxVKUjqKeE6SStH1/cO4+DE44QolaoJ4ojGd9z6pcNkpgfJKr1ncwxrOFHSTIzoudo7jG8y0re30/LO1g==", - "requires": { - "pify": "^3.0.0", - "read": "^1.0.4" - } - }, - "proxy-agent": { - "version": "3.1.1", - "resolved": "https://registry.yarnpkg.com/proxy-agent/-/proxy-agent-3.1.1.tgz#7e04e06bf36afa624a1540be247b47c970bd3014", - "integrity": "sha512-WudaR0eTsDx33O3EJE16PjBRZWcX8GqCEeERw1W3hZJgH/F2a46g7jty6UGty6NeJ4CKQy8ds2CJPMiyeqaTvw==", - "requires": { - "agent-base": "^4.2.0", - "debug": "4", - "http-proxy-agent": "^2.1.0", - "https-proxy-agent": "^3.0.0", - "lru-cache": "^5.1.1", - "pac-proxy-agent": "^3.0.1", - "proxy-from-env": "^1.0.0", - "socks-proxy-agent": "^4.0.1" - } - }, - "proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - }, - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" - }, - "raw-body": { - "version": "2.4.1", - "resolved": "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.1.tgz#30ac82f98bb5ae8c152e67149dac8d55153b168c", - "integrity": "sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==", - "requires": { - "bytes": "3.1.0", - "http-errors": "1.7.3", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - } - }, - "read": { - "version": "1.0.7", - "resolved": "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4", - "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=", - "requires": { - "mute-stream": "~0.0.4" - } - }, - "readable-stream": { - "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==", - "requires": { - "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" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" - }, - "safe-buffer": { - "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": { - "version": "2.1.2", - "resolved": "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "sax": { - "version": "1.2.1", - "resolved": "https://registry.yarnpkg.com/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a", - "integrity": "sha1-e45lYZCyKOgaZq6nSEgNgozS03o=" - }, - "semver": { - "version": "7.3.2", - "resolved": "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==" - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - }, - "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" - }, - "slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", - "requires": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" - } - } - }, - "smart-buffer": { - "version": "4.1.0", - "resolved": "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.1.0.tgz#91605c25d91652f4661ea69ccf45f1b331ca21ba", - "integrity": "sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==" - }, - "socks": { - "version": "2.3.3", - "resolved": "https://registry.yarnpkg.com/socks/-/socks-2.3.3.tgz#01129f0a5d534d2b897712ed8aceab7ee65d78e3", - "integrity": "sha512-o5t52PCNtVdiOvzMry7wU4aOqYWL0PeCXRWBEiJow4/i/wr+wpsJQ9awEu1EonLIqsfGd5qSgDdxEOvCdmBEpA==", - "requires": { - "ip": "1.1.5", - "smart-buffer": "^4.1.0" - } - }, - "socks-proxy-agent": { - "version": "4.0.2", - "resolved": "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-4.0.2.tgz#3c8991f3145b2799e70e11bd5fbc8b1963116386", - "integrity": "sha512-NT6syHhI9LmuEMSK6Kd2V7gNv5KFZoLE7V5udWmn0de+3Mkj3UMA/AJPLyeNUVmElCurSHtUdM3ETpR3z770Wg==", - "requires": { - "agent-base": "~4.2.1", - "socks": "~2.3.2" - }, - "dependencies": { - "agent-base": { - "version": "4.2.1", - "resolved": "https://registry.yarnpkg.com/agent-base/-/agent-base-4.2.1.tgz#d89e5999f797875674c07d87f260fc41e83e8ca9", - "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==", - "requires": { - "es6-promisify": "^5.0.0" - } - } - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "string_decoder": { - "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==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "table": { - "version": "5.4.6", - "resolved": "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e", - "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", - "requires": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961", - "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.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "tar-stream": { - "version": "2.1.3", - "resolved": "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.1.3.tgz#1e2022559221b7866161660f118255e20fa79e41", - "integrity": "sha512-Z9yri56Dih8IaK8gncVPx4Wqt86NDmQTSh49XLZgjWpGZL9GK9HKParS2scqHCC4w6X9Gh2jwaU45V47XTKwVA==", - "requires": { - "bl": "^4.0.1", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "requires": { - "safe-buffer": "~5.2.0" - } - } - } - }, - "thunkify": { - "version": "2.1.2", - "resolved": "https://registry.yarnpkg.com/thunkify/-/thunkify-2.1.2.tgz#faa0e9d230c51acc95ca13a361ac05ca7e04553d", - "integrity": "sha1-+qDp0jDFGsyVyhOjYawFyn4EVT0=" - }, - "toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" - }, - "tslib": { - "version": "2.0.1", - "resolved": "https://registry.yarnpkg.com/tslib/-/tslib-2.0.1.tgz#410eb0d113e5b6356490eec749603725b021b43e", - "integrity": "sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==" - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "requires": { - "prelude-ls": "~1.1.2" - } - }, - "universalify": { - "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d", - "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==" - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" - }, - "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "requires": { - "punycode": "^2.1.0" - }, - "dependencies": { - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - } - } - }, - "url": { - "version": "0.10.3", - "resolved": "https://registry.yarnpkg.com/url/-/url-0.10.3.tgz#021e4d9c7705f21bbf37d03ceb58767402774c64", - "integrity": "sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=", - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "uuid": { - "version": "8.3.0", - "resolved": "https://registry.yarnpkg.com/uuid/-/uuid-8.3.0.tgz#ab738085ca22dc9a8c92725e459b1d507df5d6ea", - "integrity": "sha512-fX6Z5o4m6XsXBdli9g7DtWgAx+osMsRRZFKma1mIUsLCz6vRvv+pz5VNbyu9UEDzpMWulZfvpgb/cmDXVulYFQ==" - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" - }, - "word-wrap": { - "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==" - }, - "wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=" - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "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==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "xml2js": { - "version": "0.4.19", - "resolved": "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.19.tgz#686c20f213209e94abf0d1bcf1efaa291c7827a7", - "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==", - "requires": { - "sax": ">=0.6.0", - "xmlbuilder": "~9.0.1" - }, - "dependencies": { - "sax": { - "version": "1.2.4", - "resolved": "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - } - } - }, - "xmlbuilder": { - "version": "9.0.7", - "resolved": "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d", - "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=" - }, - "xregexp": { - "version": "2.0.0", - "resolved": "https://registry.yarnpkg.com/xregexp/-/xregexp-2.0.0.tgz#52a63e56ca0b84a7f3a5f3d61872f126ad7a5943", - "integrity": "sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM=" - }, - "y18n": { - "version": "4.0.0", - "resolved": "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - }, - "yaml": { - "version": "1.10.0", - "resolved": "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e", - "integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==" - }, - "yargs": { - "version": "15.4.1", - "resolved": "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.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": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - }, - "dependencies": { - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" - } - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "dependencies": { - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" - } - } - }, - "zip-stream": { - "version": "3.0.1", - "resolved": "https://registry.yarnpkg.com/zip-stream/-/zip-stream-3.0.1.tgz#cb8db9d324a76c09f9b76b31a12a48638b0b9708", - "integrity": "sha512-r+JdDipt93ttDjsOVPU5zaq5bAyY+3H19bDrThkvuVxC0xMQzU1PJcS6D+KrP3u96gH9XLomcHPb+2skoDjulQ==", - "requires": { - "archiver-utils": "^2.1.0", - "compress-commons": "^3.0.0", - "readable-stream": "^3.6.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "requires": { - "safe-buffer": "~5.2.0" - } - } - } - } - } - }, - "aws-sdk": { - "version": "2.797.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.797.0.tgz", - "integrity": "sha512-fFc/2Xr7NkSXlZ9+2rCOFovA9NO1OnIyEaJFVwMM9gaqzucwRAfNNT0Pa1Kua5dhWrcf/mX0Z4mCDnTBf0/5mA==", - "requires": { - "buffer": "4.9.2", - "events": "1.1.1", - "ieee754": "1.1.13", - "jmespath": "0.15.0", - "querystring": "0.2.0", - "sax": "1.2.1", - "url": "0.10.3", - "uuid": "3.3.2", - "xml2js": "0.4.19" - } - }, - "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=" - }, - "aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" - }, - "babel-jest": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-26.6.3.tgz", - "integrity": "sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==", - "requires": { - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/babel__core": "^7.1.7", - "babel-plugin-istanbul": "^6.0.0", - "babel-preset-jest": "^26.6.2", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "slash": "^3.0.0" - }, - "dependencies": { - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - } - } - }, - "babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "requires": { - "object.assign": "^4.1.0" - } - }, - "babel-plugin-istanbul": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz", - "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^4.0.0", - "test-exclude": "^6.0.0" - } - }, - "babel-plugin-jest-hoist": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz", - "integrity": "sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==", - "requires": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.0.0", - "@types/babel__traverse": "^7.0.6" - } - }, - "babel-preset-current-node-syntax": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.0.tgz", - "integrity": "sha512-mGkvkpocWJes1CmMKtgGUwCeeq0pOhALyymozzDWYomHTbDLwueDYG6p4TK1YOeYHCzBzYPsWkgTto10JubI1Q==", - "requires": { - "@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": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz", - "integrity": "sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==", - "requires": { - "babel-plugin-jest-hoist": "^26.6.2", - "babel-preset-current-node-syntax": "^1.0.0" - } - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "requires": { - "tweetnacl": "^0.14.3" - } - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "optional": true - }, - "bl": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.0.3.tgz", - "integrity": "sha512-fs4G6/Hu4/EE+F75J8DuN/0IpQqNjAdC7aEQv7Qt8MHGUH7Ckv2MwTEEeN9QehD0pfIDkMI1bkHYkKy7xHyKIg==", - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - }, - "dependencies": { - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "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==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "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==" - }, - "browserslist": { - "version": "4.14.7", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.14.7.tgz", - "integrity": "sha512-BSVRLCeG3Xt/j/1cCGj1019Wbty0H+Yvu2AOuZSuoaUWn3RatbL33Cxk+Q4jRMRAbOm0p7SLravLjpnT6s0vzQ==", - "requires": { - "caniuse-lite": "^1.0.30001157", - "colorette": "^1.2.1", - "electron-to-chromium": "^1.3.591", - "escalade": "^3.1.1", - "node-releases": "^1.1.66" - } - }, - "bs-logger": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", - "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", - "requires": { - "fast-json-stable-stringify": "2.x" - } - }, - "bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "requires": { - "node-int64": "^0.4.0" - } - }, - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" - }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" - }, - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, - "call-bind": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz", - "integrity": "sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.0" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" - }, - "camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==" - }, - "caniuse-lite": { - "version": "1.0.30001159", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001159.tgz", - "integrity": "sha512-w9Ph56jOsS8RL20K9cLND3u/+5WASWdhC/PPrf+V3/HsM3uHOavWOR1Xzakbv4Puo/srmPHudkmCRWM7Aq+/UA==" - }, - "capture-exit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", - "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", - "requires": { - "rsvp": "^4.8.4" - } - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" - }, - "cdk-assets": { - "version": "1.61.0", - "resolved": "https://registry.npmjs.org/cdk-assets/-/cdk-assets-1.61.0.tgz", - "integrity": "sha512-nZJNQq6vktb5j8xl+IYLWbN82E6EVANJQIZvOM1H/SLuYsjyuoAlIxBp6e50XqYRApnLYJ7BpDdAnLWOmfY8MQ==", - "requires": { - "@aws-cdk/cloud-assembly-schema": "1.61.0", - "@aws-cdk/cx-api": "1.61.0", - "archiver": "^4.0.2", - "aws-sdk": "^2.739.0", - "glob": "^7.1.6", - "yargs": "^15.4.1" - }, - "dependencies": { - "@aws-cdk/cloud-assembly-schema": { - "version": "1.61.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.61.0.tgz", - "integrity": "sha512-+D1K159eNxWDGJNiyQcwczddzqFDS08b2VAJrgJFvqhMNbNWWuYxxxEJoh5jH9iULr2a52WXrrQfF72HbB0jUQ==", - "requires": { - "jsonschema": "^1.2.5", - "semver": "^7.2.2" - } - }, - "@aws-cdk/cx-api": { - "version": "1.61.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/cx-api/-/cx-api-1.61.0.tgz", - "integrity": "sha512-SOn1aLhp2Zot1Qqev1REbgL2n0Ccl9sfg1nJMWnGxAmjarazJfvW22llYKnJPuFkgHswaBlifBxAA4WgKbUn6g==", - "requires": { - "@aws-cdk/cloud-assembly-schema": "1.61.0", - "semver": "^7.2.2" - } - }, - "@types/color-name": { - "version": "1.1.1", - "resolved": "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0", - "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==" - }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "archiver": { - "version": "4.0.2", - "resolved": "https://registry.yarnpkg.com/archiver/-/archiver-4.0.2.tgz#43c72865eadb4ddaaa2fb74852527b6a450d927c", - "integrity": "sha512-B9IZjlGwaxF33UN4oPbfBkyA4V1SxNLeIhR1qY8sRXSsbdUkEHrrOvwlYFPx+8uQeCe9M+FG6KgO+imDmQ79CQ==", - "requires": { - "archiver-utils": "^2.1.0", - "async": "^3.2.0", - "buffer-crc32": "^0.2.1", - "glob": "^7.1.6", - "readable-stream": "^3.6.0", - "tar-stream": "^2.1.2", - "zip-stream": "^3.0.1" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "requires": { - "safe-buffer": "~5.2.0" - } - } - } - }, - "archiver-utils": { - "version": "2.1.0", - "resolved": "https://registry.yarnpkg.com/archiver-utils/-/archiver-utils-2.1.0.tgz#e8a460e94b693c3e3da182a098ca6285ba9249e2", - "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==", - "requires": { - "glob": "^7.1.4", - "graceful-fs": "^4.2.0", - "lazystream": "^1.0.0", - "lodash.defaults": "^4.2.0", - "lodash.difference": "^4.5.0", - "lodash.flatten": "^4.4.0", - "lodash.isplainobject": "^4.0.6", - "lodash.union": "^4.6.0", - "normalize-path": "^3.0.0", - "readable-stream": "^2.0.0" - } - }, - "async": { - "version": "3.2.0", - "resolved": "https://registry.yarnpkg.com/async/-/async-3.2.0.tgz#b3a2685c5ebb641d3de02d161002c60fc9f85720", - "integrity": "sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==" - }, - "aws-sdk": { - "version": "2.739.0", - "resolved": "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.739.0.tgz#10b0b29be18c3f0f85ca145cbed8b10793ddc7a7", - "integrity": "sha512-N2XyxY12gs0GJc26O8TmdT30ovEKWsPX787CNW24g0cXTCyc/Teltq0re6yGxfaH0VmN6qONNLr3E59JtJ3neA==", - "requires": { - "buffer": "4.9.2", - "events": "1.1.1", - "ieee754": "1.1.13", - "jmespath": "0.15.0", - "querystring": "0.2.0", - "sax": "1.2.1", - "url": "0.10.3", - "uuid": "3.3.2", - "xml2js": "0.4.19" - }, - "dependencies": { - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - } - } - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "base64-js": { - "version": "1.3.1", - "resolved": "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1", - "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" - }, - "bl": { - "version": "4.0.2", - "resolved": "https://registry.yarnpkg.com/bl/-/bl-4.0.2.tgz#52b71e9088515d0606d9dd9cc7aa48dc1f98e73a", - "integrity": "sha512-j4OH8f6Qg2bGuWfRiltT2HYGx0e1QcBTrK9KAHNMwMZdQnDZFk0ZSYIpADjYCB3U12nicC5tVJwSIhwOWjb4RQ==", - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "requires": { - "safe-buffer": "~5.2.0" - } - } - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "buffer": { - "version": "5.6.0", - "resolved": "https://registry.yarnpkg.com/buffer/-/buffer-5.6.0.tgz#a31749dc7d81d84db08abf937b6b8c4033f62786", - "integrity": "sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==", - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4" - } - }, - "buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "color-convert": { - "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==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "compress-commons": { - "version": "3.0.0", - "resolved": "https://registry.yarnpkg.com/compress-commons/-/compress-commons-3.0.0.tgz#833944d84596e537224dd91cf92f5246823d4f1d", - "integrity": "sha512-FyDqr8TKX5/X0qo+aVfaZ+PVmNJHJeckFBlq8jZGSJOgnynhfifoyl24qaqdUdDIBe0EVTHByN6NAkqYvE/2Xg==", - "requires": { - "buffer-crc32": "^0.2.13", - "crc32-stream": "^3.0.1", - "normalize-path": "^3.0.0", - "readable-stream": "^2.3.7" - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "crc": { - "version": "3.8.0", - "resolved": "https://registry.yarnpkg.com/crc/-/crc-3.8.0.tgz#ad60269c2c856f8c299e2c4cc0de4556914056c6", - "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==", - "requires": { - "buffer": "^5.1.0" - } - }, - "crc32-stream": { - "version": "3.0.1", - "resolved": "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-3.0.1.tgz#cae6eeed003b0e44d739d279de5ae63b171b4e85", - "integrity": "sha512-mctvpXlbzsvK+6z8kJwSJ5crm7yBwrQMTybJzMw1O4lLGJqjlDCXY2Zw7KheiA6XBEcBmfLx1D88mjRGVJtY9w==", - "requires": { - "crc": "^3.4.4", - "readable-stream": "^3.4.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "requires": { - "safe-buffer": "~5.2.0" - } - } - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "requires": { - "once": "^1.4.0" - } - }, - "events": { - "version": "1.1.1", - "resolved": "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924", - "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "get-caller-file": { - "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==" - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "requires": { - "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" - } - }, - "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" - }, - "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "is-fullwidth-code-point": { - "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==" - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "jmespath": { - "version": "0.15.0", - "resolved": "https://registry.yarnpkg.com/jmespath/-/jmespath-0.15.0.tgz#a3f222a9aae9f966f5d27c796510e28091764217", - "integrity": "sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc=" - }, - "jsonschema": { - "version": "1.2.6", - "resolved": "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.2.6.tgz#52b0a8e9dc06bbae7295249d03e4b9faee8a0c0b", - "integrity": "sha512-SqhURKZG07JyKKeo/ir24QnS4/BV7a6gQy93bUSe4lUdNp0QNpIz2c9elWJQ9dpc5cQYY6cvCzgRwy0MQCLyqA==" - }, - "lazystream": { - "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4", - "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", - "requires": { - "readable-stream": "^2.0.5" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "lodash.defaults": { - "version": "4.2.0", - "resolved": "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c", - "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" - }, - "lodash.difference": { - "version": "4.5.0", - "resolved": "https://registry.yarnpkg.com/lodash.difference/-/lodash.difference-4.5.0.tgz#9ccb4e505d486b91651345772885a2df27fd017c", - "integrity": "sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw=" - }, - "lodash.flatten": { - "version": "4.4.0", - "resolved": "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f", - "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=" - }, - "lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb", - "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" - }, - "lodash.union": { - "version": "4.6.0", - "resolved": "https://registry.yarnpkg.com/lodash.union/-/lodash.union-4.6.0.tgz#48bb5088409f16f1821666641c44dd1aaae3cd88", - "integrity": "sha1-SLtQiECfFvGCFmZkHETdGqrjzYg=" - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "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==", - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" - }, - "path-exists": { - "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": { - "version": "1.0.1", - "resolved": "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "process-nextick-args": { - "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==" - }, - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" - }, - "readable-stream": { - "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==", - "requires": { - "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" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "sax": { - "version": "1.2.1", - "resolved": "https://registry.yarnpkg.com/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a", - "integrity": "sha1-e45lYZCyKOgaZq6nSEgNgozS03o=" - }, - "semver": { - "version": "7.3.2", - "resolved": "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==" - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "string_decoder": { - "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==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "tar-stream": { - "version": "2.1.3", - "resolved": "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.1.3.tgz#1e2022559221b7866161660f118255e20fa79e41", - "integrity": "sha512-Z9yri56Dih8IaK8gncVPx4Wqt86NDmQTSh49XLZgjWpGZL9GK9HKParS2scqHCC4w6X9Gh2jwaU45V47XTKwVA==", - "requires": { - "bl": "^4.0.1", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "requires": { - "safe-buffer": "~5.2.0" - } - } - } - }, - "url": { - "version": "0.10.3", - "resolved": "https://registry.yarnpkg.com/url/-/url-0.10.3.tgz#021e4d9c7705f21bbf37d03ceb58767402774c64", - "integrity": "sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=", - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "uuid": { - "version": "3.3.2", - "resolved": "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "xml2js": { - "version": "0.4.19", - "resolved": "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.19.tgz#686c20f213209e94abf0d1bcf1efaa291c7827a7", - "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==", - "requires": { - "sax": ">=0.6.0", - "xmlbuilder": "~9.0.1" - }, - "dependencies": { - "sax": { - "version": "1.2.4", - "resolved": "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - } - } - }, - "xmlbuilder": { - "version": "9.0.7", - "resolved": "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d", - "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=" - }, - "y18n": { - "version": "4.0.0", - "resolved": "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" - }, - "yargs": { - "version": "15.4.1", - "resolved": "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.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": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, - "zip-stream": { - "version": "3.0.1", - "resolved": "https://registry.yarnpkg.com/zip-stream/-/zip-stream-3.0.1.tgz#cb8db9d324a76c09f9b76b31a12a48638b0b9708", - "integrity": "sha512-r+JdDipt93ttDjsOVPU5zaq5bAyY+3H19bDrThkvuVxC0xMQzU1PJcS6D+KrP3u96gH9XLomcHPb+2skoDjulQ==", - "requires": { - "archiver-utils": "^2.1.0", - "compress-commons": "^3.0.0", - "readable-stream": "^3.6.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "requires": { - "safe-buffer": "~5.2.0" - } - } - } - } - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==" - }, - "charenc": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", - "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=" - }, - "chokidar": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", - "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==", - "optional": true, - "requires": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.1.2", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.5.0" - }, - "dependencies": { - "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", - "optional": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "binary-extensions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", - "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", - "optional": true - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "optional": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "optional": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", - "optional": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "optional": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "optional": true - }, - "readdirp": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", - "optional": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "to-regex-range": { - "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==", - "optional": true, - "requires": { - "is-number": "^7.0.0" - } - } - } - }, - "ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" - }, - "cjs-module-lexer": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz", - "integrity": "sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw==" - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "cli-color": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/cli-color/-/cli-color-0.1.7.tgz", - "integrity": "sha1-rcMgD6RxzCEbDaf1ZrcemLnWc0c=", - "requires": { - "es5-ext": "0.8.x" - } - }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - } - } - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" - }, - "collect-v8-coverage": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", - "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==" - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.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": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "colorette": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", - "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==" - }, - "colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==" - }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" - }, - "compress-commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-3.0.0.tgz", - "integrity": "sha512-FyDqr8TKX5/X0qo+aVfaZ+PVmNJHJeckFBlq8jZGSJOgnynhfifoyl24qaqdUdDIBe0EVTHByN6NAkqYvE/2Xg==", - "requires": { - "buffer-crc32": "^0.2.13", - "crc32-stream": "^3.0.1", - "normalize-path": "^3.0.0", - "readable-stream": "^2.3.7" - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "constructs": { - "version": "3.2.37", - "resolved": "https://registry.npmjs.org/constructs/-/constructs-3.2.37.tgz", - "integrity": "sha512-Z2dVwVaaw8cDIOeWT5smfgC4BLhkXK7JAfUUDtoB5WhUIIUZpRX+Pd5ZE6UrEuXSQkaJHUT6MVGxgBFZR3DpxQ==" - }, - "convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" - }, - "core-js": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.7.0.tgz", - "integrity": "sha512-NwS7fI5M5B85EwpWuIwJN4i/fbisQUwLwiSNUWeXlkAZ0sbBjLEvLvFLf1uzAUV66PcEPt4xCGCmOZSxVf3xzA==" - }, - "core-js-compat": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.7.0.tgz", - "integrity": "sha512-V8yBI3+ZLDVomoWICO6kq/CD28Y4r1M7CWeO4AGpMdMfseu8bkSubBmUPySMGKRTS+su4XQ07zUkAsiu9FCWTg==", - "requires": { - "browserslist": "^4.14.6", - "semver": "7.0.0" - }, - "dependencies": { - "semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==" - } - } - }, - "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=" - }, - "crc": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/crc/-/crc-3.8.0.tgz", - "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==", - "requires": { - "buffer": "^5.1.0" - }, - "dependencies": { - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - } - } - }, - "crc32-stream": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-3.0.1.tgz", - "integrity": "sha512-mctvpXlbzsvK+6z8kJwSJ5crm7yBwrQMTybJzMw1O4lLGJqjlDCXY2Zw7KheiA6XBEcBmfLx1D88mjRGVJtY9w==", - "requires": { - "crc": "^3.4.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==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "crypt": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", - "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=" - }, - "cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" - }, - "cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", - "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==" - } - } - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "requires": { - "assert-plus": "^1.0.0" - } - }, - "data-uri-to-buffer": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-1.2.0.tgz", - "integrity": "sha512-vKQ9DTQPN1FLYiiEEOQ6IBGFqvjCa5rSK3cWMy/Nespm5d/x3dGFT9UBZnkLxCwua/IXBi2TYnwTEpsOvhC4UQ==" - }, - "data-urls": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", - "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", - "requires": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" - } - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "decamelize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==" - }, - "decimal.js": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.2.1.tgz", - "integrity": "sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw==" - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" - }, - "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" - }, - "deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" - }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "requires": { - "object-keys": "^1.0.12" - } - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "degenerator": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-1.0.4.tgz", - "integrity": "sha1-/PSQo37OJmRk2cxDGrmMWBnO0JU=", - "requires": { - "ast-types": "0.x.x", - "escodegen": "1.x.x", - "esprima": "3.x.x" - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" - }, - "detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==" - }, - "diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" - }, - "diff-sequences": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", - "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==" - }, - "difflib": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/difflib/-/difflib-0.2.4.tgz", - "integrity": "sha1-teMDYabbAjF21WKJLbhZQKcY9H4=", - "requires": { - "heap": ">= 0.2.0" - } - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "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==", - "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==" - } - } - }, - "dreamopt": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/dreamopt/-/dreamopt-0.6.0.tgz", - "integrity": "sha1-2BPM2sjTnYrVJndVFKE92mZNa0s=", - "requires": { - "wordwrap": ">=0.0.2" - } - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "electron-to-chromium": { - "version": "1.3.603", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.603.tgz", - "integrity": "sha512-J8OHxOeJkoSLgBXfV9BHgKccgfLMHh+CoeRo6wJsi6m0k3otaxS/5vrHpMNSEYY4MISwewqanPOuhAtuE8riQQ==" - }, - "emittery": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.7.2.tgz", - "integrity": "sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==" - }, - "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==" - }, - "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" - } - }, - "enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "requires": { - "ansi-colors": "^4.1.1" - } - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es5-ext": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.8.2.tgz", - "integrity": "sha1-q6jZ4ZQ6iVrJaDemKjmz9V7NlKs=" - }, - "es6-promise": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", - "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" - }, - "es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", - "requires": { - "es6-promise": "^4.0.3" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - }, - "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=" - }, - "escodegen": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", - "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", - "requires": { - "esprima": "^4.0.1", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - }, - "dependencies": { - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "optional": true - } - } - }, - "eslint": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.14.0.tgz", - "integrity": "sha512-5YubdnPXrlrYAFCKybPuHIAH++PINe1pmKNc5wQRB9HSbqIK1ywAnntE3Wwua4giKu0bjligf1gLF6qxMGOYRA==", - "requires": { - "@babel/code-frame": "^7.0.0", - "@eslint/eslintrc": "^0.2.1", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "enquirer": "^2.3.5", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.0", - "esquery": "^1.2.0", - "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash": "^4.17.19", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^5.2.3", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "dependencies": { - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "requires": { - "ms": "2.1.2" - } - }, - "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==", - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "eslint-visitor-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", - "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==" - }, - "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", - "requires": { - "is-glob": "^4.0.1" - } - }, - "globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", - "requires": { - "type-fest": "^0.8.1" - } - }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "requires": { - "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" - } - }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" - }, - "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==" - }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "requires": { - "prelude-ls": "^1.2.1" - } - } - } - }, - "eslint-rule-composer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz", - "integrity": "sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==" - }, - "eslint-scope": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.0.tgz", - "integrity": "sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w==", - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "requires": { - "eslint-visitor-keys": "^1.1.0" - } - }, - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" - }, - "espree": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.0.tgz", - "integrity": "sha512-dksIWsvKCixn1yrEXO8UosNSxaDoSYpq9reEjZSbHLpT5hpaCAKTLBwq0RHtLrIr+c0ByiYzWT8KTMRzoRCNlw==", - "requires": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.2.0", - "eslint-visitor-keys": "^1.3.0" - } - }, - "esprima": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", - "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=" - }, - "esquery": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", - "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", - "requires": { - "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" - } - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" - } - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" - }, - "events": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" - }, - "exec-sh": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.4.tgz", - "integrity": "sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==" - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "dependencies": { - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=" - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "expect": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.2.tgz", - "integrity": "sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==", - "requires": { - "@jest/types": "^26.6.2", - "ansi-styles": "^4.0.0", - "jest-get-type": "^26.3.0", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-regex-util": "^26.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - } - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" - }, - "fast-deep-equal": { - "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-json-stable-stringify": { - "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": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" - }, - "fb-watchman": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", - "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", - "requires": { - "bser": "2.1.1" - } - }, - "file-entry-cache": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", - "requires": { - "flat-cache": "^2.0.1" - } - }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "flat-cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", - "requires": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" - } - }, - "flatted": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==" - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "requires": { - "map-cache": "^0.2.2" - } - }, - "fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, - "fs-extra": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", - "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^1.0.0" - } - }, - "fs-readdir-recursive": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", - "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==" - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "optional": true - }, - "ftp": { - "version": "0.3.10", - "resolved": "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz", - "integrity": "sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0=", - "requires": { - "readable-stream": "1.1.x", - "xregexp": "2.0.0" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "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=" - } - } - }, - "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=" - }, - "gensync": { - "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": { - "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-intrinsic": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.1.tgz", - "integrity": "sha512-ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - } - }, - "get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==" - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "requires": { - "pump": "^3.0.0" - } - }, - "get-uri": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-2.0.4.tgz", - "integrity": "sha512-v7LT/s8kVjs+Tx0ykk1I+H/rbpzkHvuIq87LmeXptcf5sNWm9uQiwjNAt94SJPA1zOlCntmnOlJvVWKmzsxG8Q==", - "requires": { - "data-uri-to-buffer": "1", - "debug": "2", - "extend": "~3.0.2", - "file-uri-to-path": "1", - "ftp": "~0.3.10", - "readable-stream": "2" - } - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "requires": { - "assert-plus": "^1.0.0" - } - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "requires": { - "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" - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "optional": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "optional": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" - }, - "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" - }, - "growly": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", - "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", - "optional": true - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" - }, - "har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "requires": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, - "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "heap": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/heap/-/heap-0.2.6.tgz", - "integrity": "sha1-CH4fELBGky/IWU3Z5tN4r8nR5aw=" - }, - "hosted-git-info": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", - "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==" - }, - "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==", - "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==" - }, - "http-errors": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", - "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.4", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - } - }, - "http-proxy-agent": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz", - "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==", - "requires": { - "agent-base": "4", - "debug": "3.1.0" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - } - } - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "https-proxy-agent": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-3.0.1.tgz", - "integrity": "sha512-+ML2Rbh6DAuee7d07tYGEKOEi2voWPUGan+ExdPbPW6Z3svq+JCqr0v8WmKPOkz1vOVykPCBSuobe7G8GJUtVg==", - "requires": { - "agent-base": "^4.3.0", - "debug": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==" - }, - "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" - } - }, - "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" - }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" - }, - "import-fresh": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.2.tgz", - "integrity": "sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw==", - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "import-local": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", - "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" - }, - "ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=" - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "optional": true, - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "requires": { - "ci-info": "^2.0.0" - } - }, - "is-core-module": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.1.0.tgz", - "integrity": "sha512-YcV7BgVMRFRua2FqQzKtTDMz8iCuLEyGKjr70q8Zm1yy2qKcurbFEd79PAdHV77oL3NrAaOVQIbMmiHQCHB7ZA==", - "requires": { - "has": "^1.0.3" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" - } - } - }, - "is-docker": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz", - "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==", - "optional": true - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" - }, - "is-extglob": { - "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": { - "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-generator-fn": { - "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": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "requires": { - "isobject": "^3.0.1" - } - }, - "is-potential-custom-element-name": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz", - "integrity": "sha1-DFLlS8yjkbssSUsh6GJtczbG45c=" - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" - }, - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "optional": true, - "requires": { - "is-docker": "^2.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" - }, - "isstream": { - "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": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", - "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==" - }, - "istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", - "requires": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "make-dir": { - "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==", - "requires": { - "semver": "^6.0.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "istanbul-lib-source-maps": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", - "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "dependencies": { - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "istanbul-reports": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", - "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - } - }, - "jest": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest/-/jest-26.6.3.tgz", - "integrity": "sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q==", - "requires": { - "@jest/core": "^26.6.3", - "import-local": "^3.0.2", - "jest-cli": "^26.6.3" - }, - "dependencies": { - "jest-cli": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.6.3.tgz", - "integrity": "sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==", - "requires": { - "@jest/core": "^26.6.3", - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "import-local": "^3.0.2", - "is-ci": "^2.0.0", - "jest-config": "^26.6.3", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "prompts": "^2.0.1", - "yargs": "^15.4.1" - } - } - } - }, - "jest-changed-files": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-26.6.2.tgz", - "integrity": "sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ==", - "requires": { - "@jest/types": "^26.6.2", - "execa": "^4.0.0", - "throat": "^5.0.0" - }, - "dependencies": { - "execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", - "requires": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - } - }, - "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==", - "requires": { - "pump": "^3.0.0" - } - }, - "is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==" - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "requires": { - "path-key": "^3.0.0" - } - } - } - }, - "jest-config": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.6.3.tgz", - "integrity": "sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==", - "requires": { - "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^26.6.3", - "@jest/types": "^26.6.2", - "babel-jest": "^26.6.3", - "chalk": "^4.0.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.4", - "jest-environment-jsdom": "^26.6.2", - "jest-environment-node": "^26.6.2", - "jest-get-type": "^26.3.0", - "jest-jasmine2": "^26.6.3", - "jest-regex-util": "^26.0.0", - "jest-resolve": "^26.6.2", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "micromatch": "^4.0.2", - "pretty-format": "^26.6.2" - }, - "dependencies": { - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - } - }, - "to-regex-range": { - "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==", - "requires": { - "is-number": "^7.0.0" - } - } - } - }, - "jest-diff": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz", - "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==", - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" - } - }, - "jest-docblock": { - "version": "26.0.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-26.0.0.tgz", - "integrity": "sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==", - "requires": { - "detect-newline": "^3.0.0" - } - }, - "jest-each": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-26.6.2.tgz", - "integrity": "sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A==", - "requires": { - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "jest-get-type": "^26.3.0", - "jest-util": "^26.6.2", - "pretty-format": "^26.6.2" - } - }, - "jest-environment-jsdom": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz", - "integrity": "sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q==", - "requires": { - "@jest/environment": "^26.6.2", - "@jest/fake-timers": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "jest-mock": "^26.6.2", - "jest-util": "^26.6.2", - "jsdom": "^16.4.0" - } - }, - "jest-environment-node": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-26.6.2.tgz", - "integrity": "sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag==", - "requires": { - "@jest/environment": "^26.6.2", - "@jest/fake-timers": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "jest-mock": "^26.6.2", - "jest-util": "^26.6.2" - } - }, - "jest-get-type": { - "version": "26.3.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", - "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==" - }, - "jest-haste-map": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.6.2.tgz", - "integrity": "sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==", - "requires": { - "@jest/types": "^26.6.2", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.1.2", - "graceful-fs": "^4.2.4", - "jest-regex-util": "^26.0.0", - "jest-serializer": "^26.6.2", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", - "micromatch": "^4.0.2", - "sane": "^4.0.3", - "walker": "^1.0.7" - }, - "dependencies": { - "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - } - }, - "to-regex-range": { - "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==", - "requires": { - "is-number": "^7.0.0" - } - } - } - }, - "jest-jasmine2": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz", - "integrity": "sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg==", - "requires": { - "@babel/traverse": "^7.1.0", - "@jest/environment": "^26.6.2", - "@jest/source-map": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "expect": "^26.6.2", - "is-generator-fn": "^2.0.0", - "jest-each": "^26.6.2", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-runtime": "^26.6.3", - "jest-snapshot": "^26.6.2", - "jest-util": "^26.6.2", - "pretty-format": "^26.6.2", - "throat": "^5.0.0" - } - }, - "jest-leak-detector": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz", - "integrity": "sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg==", - "requires": { - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" - } - }, - "jest-matcher-utils": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz", - "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==", - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" - } - }, - "jest-message-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.6.2.tgz", - "integrity": "sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==", - "requires": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^26.6.2", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "pretty-format": "^26.6.2", - "slash": "^3.0.0", - "stack-utils": "^2.0.2" - }, - "dependencies": { - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - } - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - }, - "to-regex-range": { - "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==", - "requires": { - "is-number": "^7.0.0" - } - } - } - }, - "jest-mock": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-26.6.2.tgz", - "integrity": "sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==", - "requires": { - "@jest/types": "^26.6.2", - "@types/node": "*" - } - }, - "jest-pnp-resolver": { - "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": { - "version": "26.0.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz", - "integrity": "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==" - }, - "jest-resolve": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", - "integrity": "sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==", - "requires": { - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^26.6.2", - "read-pkg-up": "^7.0.1", - "resolve": "^1.18.1", - "slash": "^3.0.0" - }, - "dependencies": { - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - } - } - }, - "jest-resolve-dependencies": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz", - "integrity": "sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg==", - "requires": { - "@jest/types": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-snapshot": "^26.6.2" - } - }, - "jest-runner": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-26.6.3.tgz", - "integrity": "sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ==", - "requires": { - "@jest/console": "^26.6.2", - "@jest/environment": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.7.1", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-config": "^26.6.3", - "jest-docblock": "^26.0.0", - "jest-haste-map": "^26.6.2", - "jest-leak-detector": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-resolve": "^26.6.2", - "jest-runtime": "^26.6.3", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", - "source-map-support": "^0.5.6", - "throat": "^5.0.0" - } - }, - "jest-runtime": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.6.3.tgz", - "integrity": "sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw==", - "requires": { - "@jest/console": "^26.6.2", - "@jest/environment": "^26.6.2", - "@jest/fake-timers": "^26.6.2", - "@jest/globals": "^26.6.2", - "@jest/source-map": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0", - "cjs-module-lexer": "^0.6.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.4", - "jest-config": "^26.6.3", - "jest-haste-map": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-mock": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-resolve": "^26.6.2", - "jest-snapshot": "^26.6.2", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "slash": "^3.0.0", - "strip-bom": "^4.0.0", - "yargs": "^15.4.1" - }, - "dependencies": { - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - } - } - }, - "jest-serializer": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.6.2.tgz", - "integrity": "sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==", - "requires": { - "@types/node": "*", - "graceful-fs": "^4.2.4" - } - }, - "jest-snapshot": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-26.6.2.tgz", - "integrity": "sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og==", - "requires": { - "@babel/types": "^7.0.0", - "@jest/types": "^26.6.2", - "@types/babel__traverse": "^7.0.4", - "@types/prettier": "^2.0.0", - "chalk": "^4.0.0", - "expect": "^26.6.2", - "graceful-fs": "^4.2.4", - "jest-diff": "^26.6.2", - "jest-get-type": "^26.3.0", - "jest-haste-map": "^26.6.2", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-resolve": "^26.6.2", - "natural-compare": "^1.4.0", - "pretty-format": "^26.6.2", - "semver": "^7.3.2" - }, - "dependencies": { - "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==" - } - } - }, - "jest-util": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", - "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", - "requires": { - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "micromatch": "^4.0.2" - }, - "dependencies": { - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - } - }, - "to-regex-range": { - "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==", - "requires": { - "is-number": "^7.0.0" - } - } - } - }, - "jest-validate": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-26.6.2.tgz", - "integrity": "sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==", - "requires": { - "@jest/types": "^26.6.2", - "camelcase": "^6.0.0", - "chalk": "^4.0.0", - "jest-get-type": "^26.3.0", - "leven": "^3.1.0", - "pretty-format": "^26.6.2" - } - }, - "jest-watcher": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-26.6.2.tgz", - "integrity": "sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ==", - "requires": { - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "jest-util": "^26.6.2", - "string-length": "^4.0.1" - } - }, - "jest-worker": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", - "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jmespath": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.15.0.tgz", - "integrity": "sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc=" - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "js-yaml": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", - "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "dependencies": { - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - } - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" - }, - "jsdom": { - "version": "16.4.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.4.0.tgz", - "integrity": "sha512-lYMm3wYdgPhrl7pDcRmvzPhhrGVBeVhPIqeHjzeiHN3DFmD1RBpbExbi8vU7BJdH8VAZYovR8DMt0PNNDM7k8w==", - "requires": { - "abab": "^2.0.3", - "acorn": "^7.1.1", - "acorn-globals": "^6.0.0", - "cssom": "^0.4.4", - "cssstyle": "^2.2.0", - "data-urls": "^2.0.0", - "decimal.js": "^10.2.0", - "domexception": "^2.0.1", - "escodegen": "^1.14.1", - "html-encoding-sniffer": "^2.0.1", - "is-potential-custom-element-name": "^1.0.0", - "nwsapi": "^2.2.0", - "parse5": "5.1.1", - "request": "^2.88.2", - "request-promise-native": "^1.0.8", - "saxes": "^5.0.0", - "symbol-tree": "^3.2.4", - "tough-cookie": "^3.0.1", - "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.0.0", - "ws": "^7.2.3", - "xml-name-validator": "^3.0.0" - } - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" - }, - "json-diff": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/json-diff/-/json-diff-0.5.4.tgz", - "integrity": "sha512-q5Xmx9QXNOzOzIlMoYtLrLiu4Jl/Ce2bn0CNcv54PhyH89CI4GWlGVDye8ei2Ijt9R3U+vsWPsXpLUNob8bs8Q==", - "requires": { - "cli-color": "~0.1.6", - "difflib": "~0.2.1", - "dreamopt": "~0.6.0" - } - }, - "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", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" - }, - "json-schema-traverse": { - "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-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=" - }, - "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=" - }, - "json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", - "requires": { - "minimist": "^1.2.5" - } - }, - "jsonfile": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz", - "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==", - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^1.0.0" - } - }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - }, - "kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" - }, - "lazystream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", - "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", - "requires": { - "readable-stream": "^2.0.5" - } - }, - "leven": { - "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": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "lines-and-columns": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" - }, - "lodash.defaults": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" - }, - "lodash.difference": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", - "integrity": "sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw=" - }, - "lodash.flatten": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=" - }, - "lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" - }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" - }, - "lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=" - }, - "lodash.union": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", - "integrity": "sha1-SLtQiECfFvGCFmZkHETdGqrjzYg=" - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "requires": { - "yallist": "^3.0.2" - } - }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "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.11", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", - "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", - "requires": { - "tmpl": "1.0.x" - } - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "requires": { - "object-visit": "^1.0.0" - } - }, - "md5": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", - "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", - "requires": { - "charenc": "0.0.2", - "crypt": "0.0.2", - "is-buffer": "~1.1.6" - } - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "mime-db": { - "version": "1.44.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" - }, - "mime-types": { - "version": "2.1.27", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", - "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", - "requires": { - "mime-db": "1.44.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "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==" - }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "requires": { - "minimist": "^1.2.5" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" - }, - "netmask": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/netmask/-/netmask-1.0.6.tgz", - "integrity": "sha1-ICl+idhvb2QA8lDZ9Pa0wZRfzTU=" - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" - }, - "node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=" - }, - "node-modules-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", - "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=" - }, - "node-notifier": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-8.0.0.tgz", - "integrity": "sha512-46z7DUmcjoYdaWyXouuFNNfUo6eFa94t23c53c+lG/9Cvauk4a98rAUp9672X5dxGdQmLpPzTxzu8f/OeEPaFA==", - "optional": true, - "requires": { - "growly": "^1.3.0", - "is-wsl": "^2.2.0", - "semver": "^7.3.2", - "shellwords": "^0.1.1", - "uuid": "^8.3.0", - "which": "^2.0.2" - }, - "dependencies": { - "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", - "optional": true - }, - "uuid": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.1.tgz", - "integrity": "sha512-FOmRr+FmWEIG8uhZv6C2bTgEVXsHk08kE7mPlrBbEe+c3r9pjceVPgupIfNIhc4yx55H69OXANrUaSuu9eInKg==", - "optional": true - } - } - }, - "node-releases": { - "version": "1.1.67", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.67.tgz", - "integrity": "sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg==" - }, - "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" - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "requires": { - "path-key": "^2.0.0" - }, - "dependencies": { - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" - } - } - }, - "nwsapi": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", - "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==" - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "requires": { - "isobject": "^3.0.0" - } - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "requires": { - "isobject": "^3.0.1" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "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" - } - }, - "p-each-series": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", - "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==" - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" - }, - "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": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "requires": { - "p-limit": "^2.2.0" - } - }, - "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==" - }, - "pac-proxy-agent": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-3.0.1.tgz", - "integrity": "sha512-44DUg21G/liUZ48dJpUSjZnFfZro/0K5JTyFYLBcmh9+T6Ooi4/i4efwUiEy0+4oQusCBqWdhv16XohIj1GqnQ==", - "requires": { - "agent-base": "^4.2.0", - "debug": "^4.1.1", - "get-uri": "^2.0.0", - "http-proxy-agent": "^2.1.0", - "https-proxy-agent": "^3.0.0", - "pac-resolver": "^3.0.0", - "raw-body": "^2.2.0", - "socks-proxy-agent": "^4.0.1" - }, - "dependencies": { - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "pac-resolver": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-3.0.0.tgz", - "integrity": "sha512-tcc38bsjuE3XZ5+4vP96OfhOugrX+JcnpUbhfuc4LuXBLQhoTthOstZeoQJBDnQUDYzYmdImKsbz0xSl1/9qeA==", - "requires": { - "co": "^4.6.0", - "degenerator": "^1.0.4", - "ip": "^1.1.5", - "netmask": "^1.0.6", - "thunkify": "^2.1.2" - } - }, - "parent-module": { - "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==", - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-json": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz", - "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==", - "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" - } - }, - "parse5": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", - "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==" - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "optional": true - }, - "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==" - }, - "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=" - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - }, - "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" - }, - "picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==" - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" - }, - "pirates": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", - "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", - "requires": { - "node-modules-regexp": "^1.0.0" - } - }, - "pkg-dir": { - "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==", - "requires": { - "find-up": "^4.0.0" - } - }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" - }, - "pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", - "requires": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - } - } - }, - "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==" - }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" - }, - "promptly": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/promptly/-/promptly-3.2.0.tgz", - "integrity": "sha512-WnR9obtgW+rG4oUV3hSnNGl1pHm3V1H/qD9iJBumGSmVsSC5HpZOLuu8qdMb6yCItGfT7dcRszejr/5P3i9Pug==", - "requires": { - "read": "^1.0.4" - } - }, - "prompts": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.0.tgz", - "integrity": "sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ==", - "requires": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - } - }, - "proxy-agent": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-3.1.1.tgz", - "integrity": "sha512-WudaR0eTsDx33O3EJE16PjBRZWcX8GqCEeERw1W3hZJgH/F2a46g7jty6UGty6NeJ4CKQy8ds2CJPMiyeqaTvw==", - "requires": { - "agent-base": "^4.2.0", - "debug": "4", - "http-proxy-agent": "^2.1.0", - "https-proxy-agent": "^3.0.0", - "lru-cache": "^5.1.1", - "pac-proxy-agent": "^3.0.1", - "proxy-from-env": "^1.0.0", - "socks-proxy-agent": "^4.0.1" - }, - "dependencies": { - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - }, - "psl": { - "version": "1.8.0", - "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": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" - }, - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" - }, - "raw-body": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.1.tgz", - "integrity": "sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==", - "requires": { - "bytes": "3.1.0", - "http-errors": "1.7.3", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - } - }, - "react-is": { - "version": "17.0.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.1.tgz", - "integrity": "sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA==" - }, - "read": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", - "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=", - "requires": { - "mute-stream": "~0.0.4" - } - }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "dependencies": { - "type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==" - } - } - }, - "read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "requires": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - } - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "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" - } - }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "optional": true, - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - }, - "regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" - }, - "regenerate-unicode-properties": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", - "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", - "requires": { - "regenerate": "^1.4.0" - } - }, - "regenerator-runtime": { - "version": "0.13.7", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", - "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" - }, - "regenerator-transform": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", - "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", - "requires": { - "@babel/runtime": "^7.8.4" - } - }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } - }, - "regexpp": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", - "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==" - }, - "regexpu-core": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", - "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", - "requires": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.2.0", - "regjsgen": "^0.5.1", - "regjsparser": "^0.6.4", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.2.0" - } - }, - "regjsgen": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", - "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==" - }, - "regjsparser": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", - "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", - "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" - } - } - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" - }, - "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" - }, - "replace-in-file": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/replace-in-file/-/replace-in-file-6.1.0.tgz", - "integrity": "sha512-URzjyF3nucvejuY13HFd7O+Q6tFJRLKGHLYVvSh+LiZj3gFXzSYGnIkQflnJJulCAI2/RTZaZkpOtdVdW0EhQA==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "glob": "^7.1.6", - "yargs": "^15.3.1" - } - }, - "request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "requires": { - "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" - }, - "dependencies": { - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - }, - "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" - } - } - } - }, - "request-promise-core": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", - "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", - "requires": { - "lodash": "^4.17.19" - } - }, - "request-promise-native": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", - "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", - "requires": { - "request-promise-core": "1.1.4", - "stealthy-require": "^1.1.1", - "tough-cookie": "^2.3.3" - }, - "dependencies": { - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - }, - "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" - } - } - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" - }, - "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.19.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", - "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", - "requires": { - "is-core-module": "^2.1.0", - "path-parse": "^1.0.6" - } - }, - "resolve-cwd": { - "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==", - "requires": { - "resolve-from": "^5.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" - } - } - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" - }, - "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "requires": { - "glob": "^7.1.3" - } - }, - "rsvp": { - "version": "4.8.5", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", - "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==" - }, - "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==" - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "requires": { - "ret": "~0.1.10" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "sane": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", - "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", - "requires": { - "@cnakazawa/watch": "^1.0.3", - "anymatch": "^2.0.0", - "capture-exit": "^2.0.0", - "exec-sh": "^0.3.2", - "execa": "^1.0.0", - "fb-watchman": "^2.0.0", - "micromatch": "^3.1.4", - "minimist": "^1.1.1", - "walker": "~1.0.5" - } - }, - "sax": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", - "integrity": "sha1-e45lYZCyKOgaZq6nSEgNgozS03o=" - }, - "saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", - "requires": { - "xmlchars": "^2.2.0" - } - }, - "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=" - }, - "set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - }, - "shellwords": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", - "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", - "optional": true - }, - "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" - }, - "sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" - }, - "slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==" - }, - "slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", - "requires": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" - }, - "dependencies": { - "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": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" - } - } - }, - "smart-buffer": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.1.0.tgz", - "integrity": "sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==" - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "requires": { - "kind-of": "^3.2.0" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "socks": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.3.3.tgz", - "integrity": "sha512-o5t52PCNtVdiOvzMry7wU4aOqYWL0PeCXRWBEiJow4/i/wr+wpsJQ9awEu1EonLIqsfGd5qSgDdxEOvCdmBEpA==", - "requires": { - "ip": "1.1.5", - "smart-buffer": "^4.1.0" - } - }, - "socks-proxy-agent": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-4.0.2.tgz", - "integrity": "sha512-NT6syHhI9LmuEMSK6Kd2V7gNv5KFZoLE7V5udWmn0de+3Mkj3UMA/AJPLyeNUVmElCurSHtUdM3ETpR3z770Wg==", - "requires": { - "agent-base": "~4.2.1", - "socks": "~2.3.2" - }, - "dependencies": { - "agent-base": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz", - "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==", - "requires": { - "es6-promisify": "^5.0.0" - } - } - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" - }, - "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.6", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz", - "integrity": "sha512-+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw==" - }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "requires": { - "extend-shallow": "^3.0.0" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" - }, - "sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "requires": { - "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": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.3.tgz", - "integrity": "sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw==", - "requires": { - "escape-string-regexp": "^2.0.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" - } - } - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" - }, - "stealthy-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", - "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=" - }, - "string-length": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.1.tgz", - "integrity": "sha512-PKyXUd0LK0ePjSOnWn34V2uD6acUWev9uy0Ft05k0E8xRW+SKcA0F7eMr7h5xlzfn+4O3N+55rduYyet3Jk+jw==", - "requires": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - } - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "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==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" - }, - "strip-json-comments": { - "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==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - }, - "supports-hyperlinks": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz", - "integrity": "sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA==", - "requires": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.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==" - }, - "table": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", - "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", - "requires": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" - }, - "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": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" - }, - "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" - } - } - } - }, - "tar-stream": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.1.4.tgz", - "integrity": "sha512-o3pS2zlG4gxr67GmFYBLlq+dM8gyRGUOvsrHclSkvtVtQbjV0s/+ZE8OpICbaj8clrX3tjeHngYGP7rweaBnuw==", - "requires": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.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==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "terminal-link": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", - "requires": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - } - }, - "test-exclude": { - "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==", - "requires": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - } - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" - }, - "throat": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", - "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==" - }, - "thunkify": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/thunkify/-/thunkify-2.1.2.tgz", - "integrity": "sha1-+qDp0jDFGsyVyhOjYawFyn4EVT0=" - }, - "tmpl": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", - "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=" - }, - "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=" - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - }, - "toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" - }, - "tough-cookie": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", - "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", - "requires": { - "ip-regex": "^2.1.0", - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "dependencies": { - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - } - } - }, - "tr46": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.0.2.tgz", - "integrity": "sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg==", - "requires": { - "punycode": "^2.1.1" - }, - "dependencies": { - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - } - } - }, - "ts-jest": { - "version": "26.4.4", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-26.4.4.tgz", - "integrity": "sha512-3lFWKbLxJm34QxyVNNCgXX1u4o/RV0myvA2y2Bxm46iGIjKlaY0own9gIckbjZJPn+WaJEnfPPJ20HHGpoq4yg==", - "requires": { - "@types/jest": "26.x", - "bs-logger": "0.x", - "buffer-from": "1.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^26.1.0", - "json5": "2.x", - "lodash.memoize": "4.x", - "make-error": "1.x", - "mkdirp": "1.x", - "semver": "7.x", - "yargs-parser": "20.x" - }, - "dependencies": { - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - }, - "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==" - }, - "yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==" - } - } - }, - "tslib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", - "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" - }, - "tsutils": { - "version": "3.17.1", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz", - "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==", - "requires": { - "tslib": "^1.8.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "requires": { - "prelude-ls": "~1.1.2" - } - }, - "type-detect": { - "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": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" - }, - "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==", - "requires": { - "is-typedarray": "^1.0.0" - } - }, - "typescript": { - "version": "3.9.7", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.7.tgz", - "integrity": "sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw==" - }, - "unicode-canonical-property-names-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", - "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==" - }, - "unicode-match-property-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", - "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", - "requires": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" - } - }, - "unicode-match-property-value-ecmascript": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", - "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==" - }, - "unicode-property-aliases-ecmascript": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", - "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==" - }, - "union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - } - }, - "universalify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", - "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==" - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" - }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" - } - } - }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "optional": true - }, - "uri-js": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", - "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", - "requires": { - "punycode": "^2.1.0" - }, - "dependencies": { - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - } - } - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" - }, - "url": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", - "integrity": "sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=", - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" - }, - "v8-compile-cache": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz", - "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==" - }, - "v8-to-istanbul": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-7.0.0.tgz", - "integrity": "sha512-fLL2rFuQpMtm9r8hrAV2apXX/WqHJ6+IC4/eQVdMDGBUgH/YMV4Gv3duk3kjmyg6uiQWBAA9nJwue4iJUOkHeA==", - "requires": { - "@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==" - } - } - }, - "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" - } - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "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==", - "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==", - "requires": { - "xml-name-validator": "^3.0.0" - } - }, - "walker": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", - "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", - "requires": { - "makeerror": "1.0.x" - } - }, - "webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==" - }, - "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==", - "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==" - }, - "whatwg-url": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.4.0.tgz", - "integrity": "sha512-vwTUFf6V4zhcPkWp/4CQPr1TW9Ml6SF4lVyaIMBdJw5i6qUUJ1QWM4Z6YYVkfka0OUIzVo/0aNtGVGk256IKWw==", - "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^2.0.2", - "webidl-conversions": "^6.1.0" - } - }, - "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" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" - }, - "word-wrap": { - "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==" - }, - "wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=" - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "write": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", - "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", - "requires": { - "mkdirp": "^0.5.1" - } - }, - "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==", - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "ws": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.0.tgz", - "integrity": "sha512-kyFwXuV/5ymf+IXhS6f0+eAFvydbaBW3zjpT6hUdAh/hbVjTIB5EHBGi0bPoCLSK2wcuz3BrEkB9LrYv1Nm4NQ==" - }, - "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==" - }, - "xml2js": { - "version": "0.4.19", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", - "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==", - "requires": { - "sax": ">=0.6.0", - "xmlbuilder": "~9.0.1" - } - }, - "xmlbuilder": { - "version": "9.0.7", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", - "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=" - }, - "xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" - }, - "xregexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz", - "integrity": "sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM=" - }, - "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - }, - "yaml": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz", - "integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==" - }, - "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.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": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - }, - "dependencies": { - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" - } - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "dependencies": { - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" - } - } - }, - "zip-stream": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-3.0.1.tgz", - "integrity": "sha512-r+JdDipt93ttDjsOVPU5zaq5bAyY+3H19bDrThkvuVxC0xMQzU1PJcS6D+KrP3u96gH9XLomcHPb+2skoDjulQ==", - "requires": { - "archiver-utils": "^2.1.0", - "compress-commons": "^3.0.0", - "readable-stream": "^3.6.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==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - } - } -} diff --git a/packages/cli/package.json b/packages/cli/package.json index b327ef76a2..51e5de1a2e 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -35,11 +35,11 @@ }, "homepage": "https://serverless-stack.com", "dependencies": { - "@aws-cdk/aws-apigatewayv2": "1.73.0", - "@aws-cdk/aws-dynamodb": "1.61.0", - "@aws-cdk/aws-iam": "1.61.0", - "@aws-cdk/aws-lambda": "1.61.0", - "@aws-cdk/core": "1.61.0", + "@aws-cdk/aws-apigatewayv2": "1.74.0", + "@aws-cdk/aws-dynamodb": "1.74.0", + "@aws-cdk/aws-iam": "1.74.0", + "@aws-cdk/aws-lambda": "1.74.0", + "@aws-cdk/core": "1.74.0", "@babel/cli": "^7.10.5", "@babel/core": "^7.10.5", "@babel/eslint-parser": "^7.11.3", @@ -52,7 +52,7 @@ "@types/node": "^14.0.27", "@typescript-eslint/eslint-plugin": "^3.9.1", "@typescript-eslint/parser": "^3.9.1", - "aws-cdk": "1.61.0", + "aws-cdk": "1.74.0", "chalk": "^4.1.0", "core-js": "^3.6.5", "cross-spawn": "^7.0.3", diff --git a/packages/cli/test/base-ts/package.json b/packages/cli/test/base-ts/package.json index 519628d1ba..ec313590d0 100644 --- a/packages/cli/test/base-ts/package.json +++ b/packages/cli/test/base-ts/package.json @@ -9,12 +9,12 @@ "keywords": [], "author": "", "dependencies": { - "@aws-cdk/aws-s3": "1.61.0", - "@aws-cdk/core": "1.61.0", + "@aws-cdk/aws-s3": "1.74.0", + "@aws-cdk/core": "1.74.0", "@serverless-stack/resources": "../../../resources" }, "license": "ISC", "devDependencies": { - "@aws-cdk/assert": "1.61.0" + "@aws-cdk/assert": "1.74.0" } } diff --git a/packages/cli/test/base/package.json b/packages/cli/test/base/package.json index b22cc68627..3499465f79 100644 --- a/packages/cli/test/base/package.json +++ b/packages/cli/test/base/package.json @@ -13,9 +13,9 @@ "keywords": [], "author": "", "dependencies": { - "@aws-cdk/aws-cognito": "1.61.0", - "@aws-cdk/aws-dynamodb": "1.61.0", - "@aws-cdk/core": "1.61.0", + "@aws-cdk/aws-cognito": "1.74.0", + "@aws-cdk/aws-dynamodb": "1.74.0", + "@aws-cdk/core": "1.74.0", "@serverless-stack/resources": "../../../resources" }, "license": "ISC" diff --git a/packages/cli/test/config/package.json b/packages/cli/test/config/package.json index 42af884e7f..b945257815 100644 --- a/packages/cli/test/config/package.json +++ b/packages/cli/test/config/package.json @@ -12,7 +12,7 @@ "author": "", "dependencies": { "@serverless-stack/resources": "../../../resources", - "@aws-cdk/aws-dynamodb": "1.61.0" + "@aws-cdk/aws-dynamodb": "1.74.0" }, "license": "ISC" } diff --git a/packages/cli/test/context/package.json b/packages/cli/test/context/package.json index ccab7f2b9f..e14beb5728 100644 --- a/packages/cli/test/context/package.json +++ b/packages/cli/test/context/package.json @@ -10,7 +10,7 @@ "author": "", "dependencies": { "@serverless-stack/resources": "../../../resources", - "@aws-cdk/aws-dynamodb": "1.61.0" + "@aws-cdk/aws-dynamodb": "1.74.0" }, "license": "ISC" } diff --git a/packages/cli/test/jest-ts/package.json b/packages/cli/test/jest-ts/package.json index 1a8e6d624c..765f96db0a 100644 --- a/packages/cli/test/jest-ts/package.json +++ b/packages/cli/test/jest-ts/package.json @@ -17,14 +17,14 @@ "dependencies": { "@serverless-stack/cli": "../../../cli", "@serverless-stack/resources": "../../../resources", - "@aws-cdk/aws-dynamodb": "1.61.0", - "@aws-cdk/aws-sns": "1.61.0", - "@aws-cdk/aws-sns-subscriptions": "1.61.0", - "@aws-cdk/aws-sqs": "1.61.0", - "@aws-cdk/core": "1.61.0" + "@aws-cdk/aws-dynamodb": "1.74.0", + "@aws-cdk/aws-sns": "1.74.0", + "@aws-cdk/aws-sns-subscriptions": "1.74.0", + "@aws-cdk/aws-sqs": "1.74.0", + "@aws-cdk/core": "1.74.0" }, "license": "ISC", "devDependencies": { - "@aws-cdk/assert": "1.61.0" + "@aws-cdk/assert": "1.74.0" } } diff --git a/packages/cli/test/jest/package.json b/packages/cli/test/jest/package.json index 93351e19a8..0866d8057f 100644 --- a/packages/cli/test/jest/package.json +++ b/packages/cli/test/jest/package.json @@ -15,11 +15,11 @@ "author": "", "dependencies": { "@serverless-stack/resources": "../../../resources", - "@aws-cdk/aws-dynamodb": "1.61.0", - "@aws-cdk/core": "1.61.0" + "@aws-cdk/aws-dynamodb": "1.74.0", + "@aws-cdk/core": "1.74.0" }, "license": "ISC", "devDependencies": { - "@aws-cdk/assert": "1.61.0" + "@aws-cdk/assert": "1.74.0" } } diff --git a/packages/cli/test/stack-no-prefix/package.json b/packages/cli/test/stack-no-prefix/package.json index be56b87a0a..80d9dfa1f4 100644 --- a/packages/cli/test/stack-no-prefix/package.json +++ b/packages/cli/test/stack-no-prefix/package.json @@ -10,7 +10,7 @@ "author": "", "dependencies": { "@serverless-stack/resources": "../../../resources", - "@aws-cdk/core": "1.61.0" + "@aws-cdk/core": "1.74.0" }, "license": "ISC" } diff --git a/packages/cli/test/start/package.json b/packages/cli/test/start/package.json index 6924a5a616..0a8bb693c6 100644 --- a/packages/cli/test/start/package.json +++ b/packages/cli/test/start/package.json @@ -11,10 +11,10 @@ "keywords": [], "author": "", "dependencies": { - "@aws-cdk/aws-apigatewayv2": "1.73.0", - "@aws-cdk/aws-apigatewayv2-integrations": "1.73.0", - "@aws-cdk/aws-lambda": "1.61.0", - "@aws-cdk/core": "1.61.0", + "@aws-cdk/aws-apigatewayv2": "1.74.0", + "@aws-cdk/aws-apigatewayv2-integrations": "1.74.0", + "@aws-cdk/aws-lambda": "1.74.0", + "@aws-cdk/core": "1.74.0", "@serverless-stack/resources": "../../../resources" }, "license": "ISC" diff --git a/packages/core/package.json b/packages/core/package.json index a91040f75a..b383af5cc2 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -20,6 +20,6 @@ "dependencies": { "aws-sdk": "^2.761.0", "chalk": "^4.1.0", - "sst-cdk": "1.61.0-rc.25" + "sst-cdk": "1.74.0-rc.1" } } diff --git a/packages/resources/package.json b/packages/resources/package.json index c13034c4f9..0ec99e8e8a 100644 --- a/packages/resources/package.json +++ b/packages/resources/package.json @@ -25,9 +25,9 @@ "access": "public" }, "dependencies": { - "@aws-cdk/core": "1.61.0", - "@aws-cdk/aws-lambda": "1.61.0", - "@aws-cdk/aws-lambda-nodejs": "1.61.0" + "@aws-cdk/core": "1.74.0", + "@aws-cdk/aws-lambda": "1.74.0", + "@aws-cdk/aws-lambda-nodejs": "1.74.0" }, "devDependencies": { "@types/node": "^14.0.27", diff --git a/yarn.lock b/yarn.lock index b16da093d3..69df9729b8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,548 +2,344 @@ # yarn lockfile v1 -"@aws-cdk/assets@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/assets/-/assets-1.61.0.tgz#9702ba8ef5b3c45ec47e0530006d63dc0685a5ff" - integrity sha512-VJfH8oVAsIa5lo+SmDF5d6r1J9Fb9TrnQINrzr68shhdY/RAkys5cr9SXO4lcpWmGsNXB9z+tEtEz9IT79e2QA== - dependencies: - "@aws-cdk/core" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/assets@1.73.0": - version "1.73.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/assets/-/assets-1.73.0.tgz#dcca310ac82f2e2370cb7307b227dd59e319606e" - integrity sha512-fAdRAWn/IWbalMZva86Q4BimYrwipSoqPzyC5d6fwxNmJU/QiFLMpILanS1T9a0a+yjqAqk+8pAXn44lZIOlPQ== - dependencies: - "@aws-cdk/core" "1.73.0" - "@aws-cdk/cx-api" "1.73.0" - constructs "^3.2.0" - -"@aws-cdk/aws-apigatewayv2@1.73.0": - version "1.73.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-apigatewayv2/-/aws-apigatewayv2-1.73.0.tgz#c305288d049d9a1905642a60eedeabcfb8737df2" - integrity sha512-+++K1KADMSFGgvOaj3OwiVcNEYWUR878rqH50EDEf/UxaYky3eD0Sg255sGQWrjbi3bb60lYdzVFDjADHHnEtw== +"@aws-cdk/assets@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/assets/-/assets-1.74.0.tgz#8aea948a32afcf7c60449346a087c4b5aecff251" + integrity sha512-ZXmiJ9Qf0odTJWQPEvN+41wI1MAOK0PS5E/CTTOc9qSZufHKxpF0UPNu+8G/cMUnmKoonih8eglUCR8mmVzGrQ== dependencies: - "@aws-cdk/aws-certificatemanager" "1.73.0" - "@aws-cdk/aws-cloudwatch" "1.73.0" - "@aws-cdk/aws-ec2" "1.73.0" - "@aws-cdk/aws-iam" "1.73.0" - "@aws-cdk/core" "1.73.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" constructs "^3.2.0" -"@aws-cdk/aws-applicationautoscaling@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-applicationautoscaling/-/aws-applicationautoscaling-1.61.0.tgz#8129984ba0185bbb525fd8ef6328c5c84e51e4e5" - integrity sha512-KP2zJ2hJYZgrl2glfCFpK0l9PJderMNS2MAH7xr0JuiFwAPuJgNEmOkrtVAgrsTGFDBisvXQpqr6L84EQxBfyw== - dependencies: - "@aws-cdk/aws-autoscaling-common" "1.61.0" - "@aws-cdk/aws-cloudwatch" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-applicationautoscaling@1.73.0": - version "1.73.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-applicationautoscaling/-/aws-applicationautoscaling-1.73.0.tgz#2de1f609d25bd9a69c458ec06ae59820f75865f4" - integrity sha512-ROJPuj+PyrYa7/P6JoTrsFs8WMxKra1yuXZJ3r0iTrnAgCDAVCVpzmiF3Uwqw6rip1o63ZLT3fxxMeJBb2wL7Q== - dependencies: - "@aws-cdk/aws-autoscaling-common" "1.73.0" - "@aws-cdk/aws-cloudwatch" "1.73.0" - "@aws-cdk/aws-iam" "1.73.0" - "@aws-cdk/core" "1.73.0" +"@aws-cdk/aws-apigatewayv2@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-apigatewayv2/-/aws-apigatewayv2-1.74.0.tgz#c65c94e25b70fcee53a3e15e211f74819eff4d77" + integrity sha512-Z8GRXYZX6MHZeyKQpiiCUvtxIKh6y9UGRM9f6+xfjMa75WwjoM8cFm9h41720LwKcUXYj0TlKiqEyeL12UIAYA== + dependencies: + "@aws-cdk/aws-certificatemanager" "1.74.0" + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-ec2" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" constructs "^3.2.0" -"@aws-cdk/aws-autoscaling-common@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-common/-/aws-autoscaling-common-1.61.0.tgz#9e7f6a8669b36001b846d90fa8cb65d8b4edb27b" - integrity sha512-Mc02ZTp6gGGOycYHygyTWfXMajOi5bEAq6d6nJOQdzZSj2oiRmtQeF/Fd4earXFcl+lhSFMyUPEQPvZyvngQWQ== +"@aws-cdk/aws-applicationautoscaling@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-applicationautoscaling/-/aws-applicationautoscaling-1.74.0.tgz#ad5e946e68bd4094c3236e983d36f67d66135dfc" + integrity sha512-QqEm+jN2zQyficWAQWIIJTN+HwonBx5lS+Ccgx8vR+lXAPW9BORtsuEd0jKzMs2LVF+eiRQcwgD1WqH99HFPXw== dependencies: - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" + "@aws-cdk/aws-autoscaling-common" "1.74.0" + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" -"@aws-cdk/aws-autoscaling-common@1.73.0": - version "1.73.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-common/-/aws-autoscaling-common-1.73.0.tgz#087cc95ed07cdc2e13acb770db40029e786c4c33" - integrity sha512-AJf9F9X/ktSMLj/NaX0ccPXr7VlDR6CTycpEgJZU4qbXqIW/LhIDkAhH15CNV38WYQnVDkVSQgDNfCtGaeHTqA== +"@aws-cdk/aws-autoscaling-common@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-common/-/aws-autoscaling-common-1.74.0.tgz#f6bcbb987830f299b6e2ef454944afdde9a8a82e" + integrity sha512-UHqhMxGjGe00XaZfb7+OtAbY48vU2PdjYxIiRlFqrvJ7w6ws2dW7trKRHfpmbIF6M8h3Jtys1y69UuijaIHTlg== dependencies: - "@aws-cdk/aws-iam" "1.73.0" - "@aws-cdk/core" "1.73.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" constructs "^3.2.0" -"@aws-cdk/aws-certificatemanager@1.73.0": - version "1.73.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-certificatemanager/-/aws-certificatemanager-1.73.0.tgz#c21eb5c015985d65473429e6d1fc4184da1ac1bc" - integrity sha512-r5talegg1Z79Fo289JRgm1u6SV16I7nO4AZEmmbceDByDnXiRcnroi0o9fZTVWNUYuIwrpY4ZWR2UTKY71xYTg== +"@aws-cdk/aws-certificatemanager@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-certificatemanager/-/aws-certificatemanager-1.74.0.tgz#35b07c4b396a3db96da5d431e549460d1edc2251" + integrity sha512-Ve1SYM6qpUysHLD5bzHiE4kXBeo7VAEQlUti0cjkkjkuPh+dKHti/TqYhA0tkfUIMjZylnvkogBzMYdIUBTNxg== dependencies: - "@aws-cdk/aws-iam" "1.73.0" - "@aws-cdk/aws-lambda" "1.73.0" - "@aws-cdk/aws-route53" "1.73.0" - "@aws-cdk/core" "1.73.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-lambda" "1.74.0" + "@aws-cdk/aws-route53" "1.74.0" + "@aws-cdk/core" "1.74.0" constructs "^3.2.0" -"@aws-cdk/aws-cloudformation@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudformation/-/aws-cloudformation-1.61.0.tgz#6810e5327aa53b6d73cb337af340db152284aad7" - integrity sha512-e7mti0sWR6Sf4tav36bu379kkG5E33VMPLZaT8RkhXkIl97c1OaGHVx5G1Oe5DiHka08c+PA6da8ahkrR1wSkQ== - dependencies: - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-lambda" "1.61.0" - "@aws-cdk/aws-s3" "1.61.0" - "@aws-cdk/aws-sns" "1.61.0" - "@aws-cdk/core" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-cloudwatch@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.61.0.tgz#3c0171ca76d086da424c1b4148a53c4d68dd885a" - integrity sha512-/Lp+8OU82m2+VX0GDeO8RIzyJDEvZQQaSQYflXRAFxFDrHiU6i4kXLbr1j4jebB9r+NSEAZ6XopBNg+JsAXGug== - dependencies: - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-cloudwatch@1.73.0": - version "1.73.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.73.0.tgz#322638c3ab86bb9a9df24ab73de532fd4c9b98ed" - integrity sha512-H6MQVtJfKAJyE6DRHe71ivFu9OjhH32VtsJUZ1xuQ/pyeoQlOQ6fj0FIjz4ObG3qDBq72SBfrbPAQ3q+2g3HfA== - dependencies: - "@aws-cdk/aws-iam" "1.73.0" - "@aws-cdk/core" "1.73.0" +"@aws-cdk/aws-cloudformation@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudformation/-/aws-cloudformation-1.74.0.tgz#04fffb02403fb52ee05ec43172b845a29a903a9e" + integrity sha512-VOyuMhoxA9vk3zSUfzqSg1YjYYgc+qyB0bpaOJIW/iinXYXhA64z5YQnTxdwd/exlFgA59chOanA7aRrNM2YIg== + dependencies: + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-lambda" "1.74.0" + "@aws-cdk/aws-s3" "1.74.0" + "@aws-cdk/aws-sns" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" constructs "^3.2.0" -"@aws-cdk/aws-codeguruprofiler@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codeguruprofiler/-/aws-codeguruprofiler-1.61.0.tgz#1ace4c61a4a7b916f4dbe28070b5b914949e6f06" - integrity sha512-eS+evPzEOP2rODucLcNSIlXNozA+/6Pf2H0Igde5UiMmYSX3/ZRXm/EytKNtyF7pnWiWMymmBLwCue2V/FDV0w== +"@aws-cdk/aws-cloudwatch@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.74.0.tgz#94a29d2998a5c08412084b346d404b3a8b90f8a8" + integrity sha512-FqkU9JNM63JzdKVwmI07UJ2upDLrqByEs6kXMNOv0RxfvLIe73DNfBp8T+WxJ23G38sCLfeTsPIIG5K2XzOQGg== dependencies: - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/core" "1.61.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" -"@aws-cdk/aws-codeguruprofiler@1.73.0": - version "1.73.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codeguruprofiler/-/aws-codeguruprofiler-1.73.0.tgz#9dd6c9ff00aee0f05f6b9602521a44893aef5ecd" - integrity sha512-WcJjCT+4zd3v4E1nWUagpHKWVIafM4vMe+4DAcBXZbhqXww1yyXUxf1A08uc7zQGko3hvIoHp41maAiT5G6/nw== +"@aws-cdk/aws-codeguruprofiler@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codeguruprofiler/-/aws-codeguruprofiler-1.74.0.tgz#d749688e9edb252ce6fc68efa4f9977f7ba02cb6" + integrity sha512-CF4NqFSPeFnqbVG23+BozGNVha2Pk7vXaLGCPZPlHmx2jwaxZHCdxK+VvtOtV3fVPr6CI97SsTq9TwiFciv+zg== dependencies: - "@aws-cdk/aws-iam" "1.73.0" - "@aws-cdk/core" "1.73.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" constructs "^3.2.0" -"@aws-cdk/aws-dynamodb@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-dynamodb/-/aws-dynamodb-1.61.0.tgz#3d9b1ffd6eb965152a2456de1b08625d3f3ee907" - integrity sha512-Qd87xJNTjCRBQ//H4WA6Lif3VuA9QuyKyterlmTGnmrUsAqubkKtxu/lLvMp0gQb9LzjQ5Hn9238v1s8rDBDlw== - dependencies: - "@aws-cdk/aws-applicationautoscaling" "1.61.0" - "@aws-cdk/aws-cloudwatch" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/aws-lambda" "1.61.0" - "@aws-cdk/core" "1.61.0" - "@aws-cdk/custom-resources" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-ec2@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ec2/-/aws-ec2-1.61.0.tgz#d39b1f5356c57089b963bbe4644adc02fd12a4bf" - integrity sha512-mW1tij3tuvHfgNlLQst1XkvSOoV/r3iUQFLhJ8QMG8h0KUiHRyY0i+kj3Ern4GxlwNUfM6RY3f12qtSpRpVPxQ== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/aws-logs" "1.61.0" - "@aws-cdk/aws-s3" "1.61.0" - "@aws-cdk/aws-s3-assets" "1.61.0" - "@aws-cdk/aws-ssm" "1.61.0" - "@aws-cdk/cloud-assembly-schema" "1.61.0" - "@aws-cdk/core" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - "@aws-cdk/region-info" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-ec2@1.73.0": - version "1.73.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ec2/-/aws-ec2-1.73.0.tgz#8c1fd13ff399d4acb7ab7a18e431bf72b0f8dea2" - integrity sha512-XjGcHaVlaJNorXv8qrRt7k8rPLE8yV1SAJWHY/SIf7NzIg9Y6lFV0eVkBU5RINfuD9GIW8YbgtLGE5ZpfZ5YkA== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.73.0" - "@aws-cdk/aws-iam" "1.73.0" - "@aws-cdk/aws-kms" "1.73.0" - "@aws-cdk/aws-logs" "1.73.0" - "@aws-cdk/aws-s3" "1.73.0" - "@aws-cdk/aws-s3-assets" "1.73.0" - "@aws-cdk/aws-ssm" "1.73.0" - "@aws-cdk/cloud-assembly-schema" "1.73.0" - "@aws-cdk/core" "1.73.0" - "@aws-cdk/cx-api" "1.73.0" - "@aws-cdk/region-info" "1.73.0" +"@aws-cdk/aws-dynamodb@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-dynamodb/-/aws-dynamodb-1.74.0.tgz#7e0ef530e9c3d7301a9db616ddf6d650f7acb76f" + integrity sha512-YU38dFYLMyMe5u2GLy8sFCFTVxwDgWZ67HzFg41kSj8WpAsVQEE5Zxh1nf0+8Ai1J4MNeLeMCaXtuliHipoQSw== + dependencies: + "@aws-cdk/aws-applicationautoscaling" "1.74.0" + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/aws-lambda" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/custom-resources" "1.74.0" constructs "^3.2.0" -"@aws-cdk/aws-efs@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-efs/-/aws-efs-1.61.0.tgz#c4d66d0d928c01c8018c1c8bc75a1c5097d649ce" - integrity sha512-WeF3SF681V43E+u2j78om+y4r1Ay4JPTAns8y6SFcZOLqH+6qlXusGrwQoZcHpD4MTSU60NZKD8O0u1A111osg== - dependencies: - "@aws-cdk/aws-ec2" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/cloud-assembly-schema" "1.61.0" - "@aws-cdk/core" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-efs@1.73.0": - version "1.73.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-efs/-/aws-efs-1.73.0.tgz#48d87d8f2135f6d138a81fa8ff4f26715c672913" - integrity sha512-sWUU+nhJ78T5tElLy7BqUrlXj4kGv43nrkWE5+jbTaLRFEpJPM6fMuWfzcJGfkqpbppjc/aySyCPbvEcWb7bDQ== - dependencies: - "@aws-cdk/aws-ec2" "1.73.0" - "@aws-cdk/aws-kms" "1.73.0" - "@aws-cdk/cloud-assembly-schema" "1.73.0" - "@aws-cdk/core" "1.73.0" - "@aws-cdk/cx-api" "1.73.0" +"@aws-cdk/aws-ec2@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ec2/-/aws-ec2-1.74.0.tgz#eae31df9045ca9374daf6b1562674e31d8053aff" + integrity sha512-TcJtdSFur8Pkhfz39nhPZH2LBiugBhSrDkAUfeEVVwDEa4kvNys7xkcwvvBouFhM6YhitjZ53j9d7d4CEBc73g== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/aws-logs" "1.74.0" + "@aws-cdk/aws-s3" "1.74.0" + "@aws-cdk/aws-s3-assets" "1.74.0" + "@aws-cdk/aws-ssm" "1.74.0" + "@aws-cdk/cloud-assembly-schema" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + "@aws-cdk/region-info" "1.74.0" constructs "^3.2.0" -"@aws-cdk/aws-events@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events/-/aws-events-1.61.0.tgz#718fd427ee09a11e30c96b66c88bc9b6169f5dff" - integrity sha512-DBEi/XPnWvQJ42dv28JdQSHGUz9N6fqYjR8FSNc2s0oXgDqGQ+8rU1Hxcj6s2Qb7lBQ66pHsvlpUcqZANIoddw== +"@aws-cdk/aws-efs@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-efs/-/aws-efs-1.74.0.tgz#367b89f14ccd090f98227dbc975076571b31faac" + integrity sha512-ghzwm/e8qQlOM/PKgfscbVFny9qhQNrXZltxckhHdTEX3Wtx9RXpveWzEOGBoHBJHSv49gkvAwtvzTbxCss4QA== dependencies: - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-events@1.73.0": - version "1.73.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events/-/aws-events-1.73.0.tgz#178a5e2ff0f11f20d79a722785b05491f16c95bc" - integrity sha512-CvOAIAt00xCWKC2U96NAgA8xIkzrNkwalCXk3RIRjz9xEVge5w3lQ7Hy6lSSbhyTfxQV01bppZO2ExaeAKOjOg== - dependencies: - "@aws-cdk/aws-iam" "1.73.0" - "@aws-cdk/core" "1.73.0" + "@aws-cdk/aws-ec2" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/cloud-assembly-schema" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" constructs "^3.2.0" -"@aws-cdk/aws-iam@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-iam/-/aws-iam-1.61.0.tgz#df38b5a3a33dd28f89d57884190fe429b2507bb9" - integrity sha512-CDFrRPkt4JR9iSVn+D18ThU201m2Ck2T5+E9044yJqkUgfbcMXO54ls2DlLbCg1RUrazRrqQ9Bu0IxDHbTwaKg== +"@aws-cdk/aws-events@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events/-/aws-events-1.74.0.tgz#2ed5a4cdd737ce4c8950506df496d0b43ac6aa12" + integrity sha512-dmVswvSBd2jZzgPJCQell+u9bRYNg63p1e57bXmql6Rm1UJDPTbvESPXsdwwFW2WpJyXwHOOM+qe98r5CbcTUw== dependencies: - "@aws-cdk/core" "1.61.0" - "@aws-cdk/region-info" "1.61.0" - constructs "^3.0.4" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" -"@aws-cdk/aws-iam@1.73.0": - version "1.73.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-iam/-/aws-iam-1.73.0.tgz#a53f3bbaa99b67b56e38fe167a5c867fe339c01f" - integrity sha512-o2pdkEEdwluZegLqlbhfK0zgIbezvKDf5UfwBKloeFSDcGOZAaqF25OPfrTowXkIakHbw2wMswbUlmUgYdmNFg== +"@aws-cdk/aws-iam@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-iam/-/aws-iam-1.74.0.tgz#c255c9676fb6048ab27c00d111ed5e7d8b46877c" + integrity sha512-5Eq4e4/be2HMFZXc1sCeNjqgTyjlWgvIjbLh0Q4c01V05r7MbPdmfZRurbeEA6NohGf+zYFQrCzPnTaqvFPFHA== dependencies: - "@aws-cdk/core" "1.73.0" - "@aws-cdk/region-info" "1.73.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/region-info" "1.74.0" constructs "^3.2.0" -"@aws-cdk/aws-kms@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kms/-/aws-kms-1.61.0.tgz#a6b8429893e31be15b151ef7357e0560920d5527" - integrity sha512-taSQYpcPM705NN32W2UcgNfezTQbqx5YZDR+jp7A/E4OVdR1jojDJn6LKzsIo71s7DDG/k+77oNXEIJsaIhSRA== +"@aws-cdk/aws-kms@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kms/-/aws-kms-1.74.0.tgz#73531f7b5d2542eb5e3f7bb54604944921e34995" + integrity sha512-4cTNqzNkml3RV6uobSwq7ZtPBjwNovOxv75vzGNNRw1GO6hxqDzoPRIsgfwNvVii8tv27eR0xTK0t6WlKqoVzg== dependencies: - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" -"@aws-cdk/aws-kms@1.73.0": - version "1.73.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kms/-/aws-kms-1.73.0.tgz#76127abeaebaea93adf00aef85ff294494218c0e" - integrity sha512-4aQRGBktM1IYqM0Qa/yio1/sjNuokMdLQNrjTVxyX+AZE2/zPqARe+Gm6sFpPJ9Is8oy0YzecP80QZSCnWpCnQ== +"@aws-cdk/aws-lambda-nodejs@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda-nodejs/-/aws-lambda-nodejs-1.74.0.tgz#aa818270e4dcd74be51d402cdb114da311b3c966" + integrity sha512-1mc8I+Yz43El8O8SjsfkABsI31tcpO5e3fAz7/40DKuFgM9jkL6vyiL55MLIckAqmE2N9mRYU0xF4RC7uRZdmQ== dependencies: - "@aws-cdk/aws-iam" "1.73.0" - "@aws-cdk/core" "1.73.0" + "@aws-cdk/aws-lambda" "1.74.0" + "@aws-cdk/core" "1.74.0" constructs "^3.2.0" -"@aws-cdk/aws-lambda-nodejs@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda-nodejs/-/aws-lambda-nodejs-1.61.0.tgz#1c1b34fdf34ab585ea1ff5c0687e0d69a6a0d310" - integrity sha512-a6fiCqk4IjNjVGG8K+AjQviavno1SQwHcdf5JBYhXez7aJ8f2oTZHf5HC2UPTk3Ohu6HsIHds8KXbz4uqLp2Sw== - dependencies: - "@aws-cdk/aws-lambda" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-lambda@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda/-/aws-lambda-1.61.0.tgz#65b2fb456f6c2d0566401bd3d265f5bae47d6346" - integrity sha512-LhO/f50ovtsd2uUjLdeTEFdnQlbvXvC4VN5BEnX4X2kpdCpUXsnClVb9EQPEAFaDIE6VEpMnQ6rUR27kTerLCg== - dependencies: - "@aws-cdk/aws-applicationautoscaling" "1.61.0" - "@aws-cdk/aws-cloudwatch" "1.61.0" - "@aws-cdk/aws-codeguruprofiler" "1.61.0" - "@aws-cdk/aws-ec2" "1.61.0" - "@aws-cdk/aws-efs" "1.61.0" - "@aws-cdk/aws-events" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-logs" "1.61.0" - "@aws-cdk/aws-s3" "1.61.0" - "@aws-cdk/aws-s3-assets" "1.61.0" - "@aws-cdk/aws-sqs" "1.61.0" - "@aws-cdk/core" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-lambda@1.73.0": - version "1.73.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda/-/aws-lambda-1.73.0.tgz#2561d19ff9435ec0ef94d5050b92e914bf3c6aec" - integrity sha512-ffw/hK1DbbSXklry4sDmJ+c+dX3Zl+I9DsYNjf0h2aonEKZo+g7ItAhVzr5s1kDnKatlEJTNOw1Kdpn20vFZHg== - dependencies: - "@aws-cdk/aws-applicationautoscaling" "1.73.0" - "@aws-cdk/aws-cloudwatch" "1.73.0" - "@aws-cdk/aws-codeguruprofiler" "1.73.0" - "@aws-cdk/aws-ec2" "1.73.0" - "@aws-cdk/aws-efs" "1.73.0" - "@aws-cdk/aws-events" "1.73.0" - "@aws-cdk/aws-iam" "1.73.0" - "@aws-cdk/aws-logs" "1.73.0" - "@aws-cdk/aws-s3" "1.73.0" - "@aws-cdk/aws-s3-assets" "1.73.0" - "@aws-cdk/aws-sqs" "1.73.0" - "@aws-cdk/core" "1.73.0" - "@aws-cdk/cx-api" "1.73.0" +"@aws-cdk/aws-lambda@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda/-/aws-lambda-1.74.0.tgz#52175fbc9e679ca5c0f4d15e0666c99fc4a953d0" + integrity sha512-Ju3/mhnli33xnO2qvJUs11djva12SHnmJPGtbx4Nz33z577/pCwLZYWa7noP8eUzAyBglfNlPG8JWH+fNHPbew== + dependencies: + "@aws-cdk/aws-applicationautoscaling" "1.74.0" + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-codeguruprofiler" "1.74.0" + "@aws-cdk/aws-ec2" "1.74.0" + "@aws-cdk/aws-efs" "1.74.0" + "@aws-cdk/aws-events" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-logs" "1.74.0" + "@aws-cdk/aws-s3" "1.74.0" + "@aws-cdk/aws-s3-assets" "1.74.0" + "@aws-cdk/aws-sqs" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" constructs "^3.2.0" -"@aws-cdk/aws-logs@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-logs/-/aws-logs-1.61.0.tgz#430bb5fc87ec606416ffb0869f04754185092a21" - integrity sha512-swEkiF+VFfsfY2GiCO8o9vzAQVnDUghmCZmg2B1oi4QwG850CBiPzAz88QaZOzqX1YWWXTcGU20yADg6D5nRIw== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-s3-assets" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-logs@1.73.0": - version "1.73.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-logs/-/aws-logs-1.73.0.tgz#dbb01b6dfe144ab74bf37cce55cc39239bb2390a" - integrity sha512-pn/JUpz49nmP81rOW66S36HbBF+RCKDWyN+rQ671zr62T9EPJuRLWxbdahcnAN1eqyCsZEs9PpCvTnacj9ue7w== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.73.0" - "@aws-cdk/aws-iam" "1.73.0" - "@aws-cdk/aws-s3-assets" "1.73.0" - "@aws-cdk/core" "1.73.0" +"@aws-cdk/aws-logs@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-logs/-/aws-logs-1.74.0.tgz#cd40afe70ffeb5250ecea1db0ee0a2f68fb2084a" + integrity sha512-wMpjXdJBN3S0gYO3pMjjKxSTlIs0ZUH64k6BnOxDvnltWbBJomD0/qLKMVHShOddm9MMNdD8AaYpCqZsrplZHA== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/aws-s3-assets" "1.74.0" + "@aws-cdk/core" "1.74.0" constructs "^3.2.0" -"@aws-cdk/aws-route53@1.73.0": - version "1.73.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-route53/-/aws-route53-1.73.0.tgz#c804c9ee74ec0f607b940774994a80afa96b2f5a" - integrity sha512-M3298IkyLELVTlA+2g0EdEV+bYTkC3xzTiHwoqcJeCd8T7IY8E89f73bsweX8k49cu1soPAUvXVJuUfxb6WYEg== +"@aws-cdk/aws-route53@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-route53/-/aws-route53-1.74.0.tgz#f9b3c770cf613227bba31c4a7499c8f19966f3e4" + integrity sha512-TYnAByXLc6B/uAG03bYLV0kPi1TU8G95kW6wNhfiqvPCSwfizbsg5rztbUoydJpBocbOs9qbtCM7v6gbDsB2bQ== dependencies: - "@aws-cdk/aws-ec2" "1.73.0" - "@aws-cdk/aws-logs" "1.73.0" - "@aws-cdk/cloud-assembly-schema" "1.73.0" - "@aws-cdk/core" "1.73.0" + "@aws-cdk/aws-ec2" "1.74.0" + "@aws-cdk/aws-logs" "1.74.0" + "@aws-cdk/cloud-assembly-schema" "1.74.0" + "@aws-cdk/core" "1.74.0" constructs "^3.2.0" -"@aws-cdk/aws-s3-assets@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.61.0.tgz#8512ac0e16818bc78eff010d15d6cc99a7d8fccf" - integrity sha512-sipvqw0fJcpT3+Hxdzn2UkbBh/tr+jkzplLq2Jk5Jr0E/7+V5t2kmlEQgyG82ug1J2DERMAdlie8AgzGJ5CxhA== - dependencies: - "@aws-cdk/assets" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/aws-s3" "1.61.0" - "@aws-cdk/core" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-s3-assets@1.73.0": - version "1.73.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.73.0.tgz#fdfae26ef5356368809e0d93f908650c6abb10b5" - integrity sha512-CvxEIBOOj7tYMrMimPSsbtQ4OOurhUIiNIhM38gisTXYgSchKTeDzKJAbalfYOZSNJNEx1wMNL/+oKV/gDtrHQ== - dependencies: - "@aws-cdk/assets" "1.73.0" - "@aws-cdk/aws-iam" "1.73.0" - "@aws-cdk/aws-kms" "1.73.0" - "@aws-cdk/aws-s3" "1.73.0" - "@aws-cdk/core" "1.73.0" - "@aws-cdk/cx-api" "1.73.0" +"@aws-cdk/aws-s3-assets@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.74.0.tgz#7f1988f3931e95d88a8c1357f98c47f7f9b73dee" + integrity sha512-uewjgTOr5q60UbPKHo3qgYApXxFKUIgP6eUZi7v8mhfnZUDw9H9B4rRJ7rHRZ4gYj9ZtiWq1o3hpvWnoHsR+zg== + dependencies: + "@aws-cdk/assets" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/aws-s3" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" constructs "^3.2.0" -"@aws-cdk/aws-s3@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3/-/aws-s3-1.61.0.tgz#a16d697a26d02b6d25636a0606016fbc187eae86" - integrity sha512-tFemzJJtopsiDbcjwpqsSY9xm3wZLWKEg2/9iAAZ4VUEW4feoX7NQyVkYHGH2dfMVufXq/rMZPfbKq7f3cgzAg== - dependencies: - "@aws-cdk/aws-events" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-s3@1.73.0": - version "1.73.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3/-/aws-s3-1.73.0.tgz#bb31d0eb2b2f204420c388015f26998fc702d67c" - integrity sha512-n0PuTBhqFxRfvGHhWk54R2hfS24b5DFkqP2PvTIwRFCBqmSUnRLF8I+GZ4c6RNxfVfDSzQBcGvfuCuNTL1KZLQ== - dependencies: - "@aws-cdk/aws-events" "1.73.0" - "@aws-cdk/aws-iam" "1.73.0" - "@aws-cdk/aws-kms" "1.73.0" - "@aws-cdk/core" "1.73.0" +"@aws-cdk/aws-s3@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3/-/aws-s3-1.74.0.tgz#5b53839c3af0f67bfb1e96061f6a1ea5be445fe9" + integrity sha512-xbRbI90hUvmVwGHHMr4dPWv0TXBxr/HeeaLzqLDHv36+TKA0wMR7ttRm3pbT3Kf/YjqSty788rom6lVqaAu81Q== + dependencies: + "@aws-cdk/aws-events" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/core" "1.74.0" constructs "^3.2.0" -"@aws-cdk/aws-sns@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns/-/aws-sns-1.61.0.tgz#c82f9b224b7ebf3e48cd9433456156e5d3f1df89" - integrity sha512-jmJmZXidJAJTg4lPnxMm26QR3ovMYb/89NBWnIRwGdVGcZ7nrWUkC0JNPQMbP+EvUFdh/9xdFVP4JvvzZzoy0w== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.61.0" - "@aws-cdk/aws-events" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/aws-sqs" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-sqs@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sqs/-/aws-sqs-1.61.0.tgz#b2d1d7a5d27d36d1580a3cb500daf417037da492" - integrity sha512-gyShf5rmUZCovSHL4PXvAD6TA/xmPESpsi+zx7HU/VXyeGgO6inq/sVzWM0OpCrNUnnoSct5p0yZJytRBnVYaA== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-sqs@1.73.0": - version "1.73.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sqs/-/aws-sqs-1.73.0.tgz#a6108c57d6d22f91c9b11ecc0bb8072bc3d4cef1" - integrity sha512-15stNsRYY165Vvx/io6TnTSMHar10diLa2k2BTiL+PNzl18SfEIOoTy97PCvJp9AK2Ob9dyQwwjsiutTU56IbA== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.73.0" - "@aws-cdk/aws-iam" "1.73.0" - "@aws-cdk/aws-kms" "1.73.0" - "@aws-cdk/core" "1.73.0" +"@aws-cdk/aws-sns@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns/-/aws-sns-1.74.0.tgz#c9289b34cb2512010a0b6813f684c93398502bdd" + integrity sha512-O0HDGvl1WjCTU53auNJKCW5/6vpbVYlj0RwLgGaOOlTeKnfuq53kGvL/t3QdZQlJWxSvkbN61O+rZB7GacXV0g== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-events" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/aws-sqs" "1.74.0" + "@aws-cdk/core" "1.74.0" constructs "^3.2.0" -"@aws-cdk/aws-ssm@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ssm/-/aws-ssm-1.61.0.tgz#229308cfce757f8b3f75d12bf276ce4f8042076f" - integrity sha512-fOr2g7V7pR9bP7CXWLznM3d0/8EW76pjKLe+uGeXpqnrtXaGCvFBjiAms10oZ2584bn2bWIzikGmzzxzpamJbg== - dependencies: - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/cloud-assembly-schema" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-ssm@1.73.0": - version "1.73.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ssm/-/aws-ssm-1.73.0.tgz#29e5e0126f00b6bd91b58a6757ede3c579d9b9ea" - integrity sha512-6fobpaL7hh0My/aypd7DHQ+sLuPcb7Taj8ngjmoh8H0muiAkfj4O0CjN3cd+kCYRr8T4zRh546ypvFfsc9WEHQ== - dependencies: - "@aws-cdk/aws-iam" "1.73.0" - "@aws-cdk/aws-kms" "1.73.0" - "@aws-cdk/cloud-assembly-schema" "1.73.0" - "@aws-cdk/core" "1.73.0" +"@aws-cdk/aws-sqs@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sqs/-/aws-sqs-1.74.0.tgz#998da5838d4310805432f0cf55fcc7c8f34657e2" + integrity sha512-qlj7ZapoL9oneLu4wh7DfQDypCo6QFlyGzd3nlmn+C9UbCscBkpSJnmYSGi2m0TVCKbd3tP1EpfdU36LTahYBg== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/core" "1.74.0" constructs "^3.2.0" -"@aws-cdk/cfnspec@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cfnspec/-/cfnspec-1.61.0.tgz#69e998ab83c0a478b76e1c5deb8484171dfd95f9" - integrity sha512-Ss5N3unY6iVh9SjYAYvTyvhdb7Kaz6dVFeV8K68UGewiFcHpC5tQi3YmlVBw3HCgKoRt20emiHAfmdfeGO/PUQ== +"@aws-cdk/aws-ssm@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ssm/-/aws-ssm-1.74.0.tgz#426dd65c0b933618d5c196cb38386c1035b0fdc4" + integrity sha512-uok/D4ooEVXst0HZYQkcPIM5xlHAVjGjF44Gt68hbdZknBhMbfZP2EWqSZHhSW9HdVoNFTNkIxcI2AemCnt2Qg== dependencies: - md5 "^2.3.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/cloud-assembly-schema" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" -"@aws-cdk/cloud-assembly-schema@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.61.0.tgz#d4d7f75cba3c52bb0b5406085dc77eefc6393aa9" - integrity sha512-+D1K159eNxWDGJNiyQcwczddzqFDS08b2VAJrgJFvqhMNbNWWuYxxxEJoh5jH9iULr2a52WXrrQfF72HbB0jUQ== +"@aws-cdk/cfnspec@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/cfnspec/-/cfnspec-1.74.0.tgz#03577e266721fe87287f9fc710a95d7b7e5886cd" + integrity sha512-9rdFgRUoV3lbAD6lnU+hGdkit8ILmUq+XCXzRdc9xWHUXIKxMmFK9frXTT+wGmjgdz/GpPyfSbFjzyqk4QE5+w== dependencies: - jsonschema "^1.2.5" - semver "^7.2.2" + md5 "^2.3.0" -"@aws-cdk/cloud-assembly-schema@1.73.0": - version "1.73.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.73.0.tgz#75e27dddda8f65708a5f649760e92031c296416f" - integrity sha512-3m5nJDLSApAuUMra2WrQF7GHt6xgxqFET91WShtKtj48brZk4MBJ3dLre2LjDVsmMMOVdd6FpjY7tE5C1v9Hyw== +"@aws-cdk/cloud-assembly-schema@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.74.0.tgz#f1bbd8411ec320dd9e14ef2dce626a05019c42bc" + integrity sha512-TOfruzx7zIirRpfL9r5tGcOPdfXQatD3/kgXq4I1px12oH3jmuiEcNxGdvEYgVMPaZGMrx0rtqyT2sGDWBycKw== dependencies: jsonschema "^1.4.0" semver "^7.3.2" -"@aws-cdk/cloudformation-diff@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cloudformation-diff/-/cloudformation-diff-1.61.0.tgz#8acb549fd1dd819aa61dfed47e011b44827045a8" - integrity sha512-TrrmywhYkXxGNTmDd1k2biJMVtEvb0QcbZ/IGM6biMXIJ+wsjw/n5snvwciQ8/PHZmsUYk67qulGdso1rpy06Q== +"@aws-cdk/cloudformation-diff@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/cloudformation-diff/-/cloudformation-diff-1.74.0.tgz#d86199db530f9df641cff7f3996939c47645d59f" + integrity sha512-aYAg85fkpX39euUo5HjsGtqOpyD5fAz1+jZ/F/5erA8Y/+rB4ifCVJH0cLYHVdYwo8oc3poB6jW4tVMxNYxbrg== dependencies: - "@aws-cdk/cfnspec" "1.61.0" + "@aws-cdk/cfnspec" "1.74.0" colors "^1.4.0" - diff "^4.0.2" + diff "^5.0.0" fast-deep-equal "^3.1.3" string-width "^4.2.0" - table "^5.4.6" - -"@aws-cdk/core@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.61.0.tgz#817689a087cb97741fd5e4b407ee603610f30fb3" - integrity sha512-g6vOR7zqWfbSzIM2kqUPH0Tdk4tOUFGX1TM5crty1ndkNja84PvAzEjQZr34U2aCGk+EI2pyB/4D7BLiAhAvKw== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" - fs-extra "^9.0.1" - minimatch "^3.0.4" + table "^6.0.3" -"@aws-cdk/core@1.73.0": - version "1.73.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.73.0.tgz#15ef8230da5bb9d92b5e1c5f3cff0ade01a2b093" - integrity sha512-CTmUXo0hAH78/uvzfmgW4gQKLnusMxULIEUjd0wnfs/6/zoB6n2DP+lmkr/7Vp4aIG9nNNirThdHesidlx79eA== +"@aws-cdk/core@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.74.0.tgz#132d31c0ab9d39394827431ccd804cf10de34273" + integrity sha512-1iKRIRKyMQ8ZmPvkAAjSIGl4Fh7tLIE7D23ht25ayNGp0XVG1Hd858x2GmDzI/J1ZK6xsuTsEDGbi5/saR69ng== dependencies: - "@aws-cdk/cloud-assembly-schema" "1.73.0" - "@aws-cdk/cx-api" "1.73.0" - "@aws-cdk/region-info" "1.73.0" + "@aws-cdk/cloud-assembly-schema" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + "@aws-cdk/region-info" "1.74.0" "@balena/dockerignore" "^1.0.2" constructs "^3.2.0" fs-extra "^9.0.1" ignore "^5.1.8" minimatch "^3.0.4" -"@aws-cdk/custom-resources@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/custom-resources/-/custom-resources-1.61.0.tgz#03749f4122e46504fd1b3b3b9a11aa3578f269bf" - integrity sha512-etnHE7A0+J5w1L/m+KxEbPQ7LgtVYvEUV6naqRp5uIsTBaJ9sCQ+q43Y3Fj+g3NMigm8C2fKg5FmiFE6kiymDQ== - dependencies: - "@aws-cdk/aws-cloudformation" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-lambda" "1.61.0" - "@aws-cdk/aws-logs" "1.61.0" - "@aws-cdk/aws-sns" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/cx-api@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.61.0.tgz#23f0e0cff978277626d42091907b71a6c4d98580" - integrity sha512-SOn1aLhp2Zot1Qqev1REbgL2n0Ccl9sfg1nJMWnGxAmjarazJfvW22llYKnJPuFkgHswaBlifBxAA4WgKbUn6g== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.61.0" - semver "^7.2.2" - -"@aws-cdk/cx-api@1.73.0": - version "1.73.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.73.0.tgz#328562689a55fba184324ec2b83b3c72b88a1a3f" - integrity sha512-HlBpbIGu71xXdfJ1De1/HOMK5LWzKK9J7REho0oncpAO9KDxAbk+1aOFUZJVEgTsJSUUzLMSIUtDIo+ev70HGA== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.73.0" +"@aws-cdk/custom-resources@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/custom-resources/-/custom-resources-1.74.0.tgz#19329e8a9b9bc0ca66e00c791b008c416a67265f" + integrity sha512-KDXgyRCeCMIj42nQcd2RXc4GYQpd7SWtx2iw0G4Wvs/wG4i3nR1qdlvEJvAlNgsYeqM4pp3mIp3PgdX341HsCg== + dependencies: + "@aws-cdk/aws-cloudformation" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-lambda" "1.74.0" + "@aws-cdk/aws-logs" "1.74.0" + "@aws-cdk/aws-sns" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/cx-api@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.74.0.tgz#922c11389d723eadef2bc12666ced4980fe9e4cc" + integrity sha512-Xhq9col3syHmxC3Zl1igrWwvOzwJzwTKwpLLL8ENF8u2n8x4eneAN+OLrRlB/rhAQ+KUL6B8toUsd4pcJMkSOQ== + dependencies: + "@aws-cdk/cloud-assembly-schema" "1.74.0" semver "^7.3.2" -"@aws-cdk/region-info@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/region-info/-/region-info-1.61.0.tgz#663e44206a92da544183c3a405cd73490fdc3103" - integrity sha512-/10gvecycNJhYM2LIkA0XaoWgUZQ6K5FIIRaf/o4PbgHyR8WTyEPO6lbT0GoKi69TvC+18xzJ4iZ1p3ZdRnUYw== +"@aws-cdk/region-info@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/region-info/-/region-info-1.74.0.tgz#e53eabe2d8980c360e63ea956615253551005182" + integrity sha512-xF0etW01PyUNxL9F4xiA2y/pEG9e+0EJpOL7O9gVZ0IxOkIW+J0MljR6O8nx4yCx6j2/dXTs6INZ/zVn0DsydA== -"@aws-cdk/region-info@1.73.0": - version "1.73.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/region-info/-/region-info-1.73.0.tgz#9f4444c57fa1d366205409a0a9e6b09f27b428cb" - integrity sha512-jWfx5mY3BaCVeFnbdUxrDTczVTuwShdtu3WkV2vL+W3VnUMzLPKbCPiGY8GutSBlWvoFpubsbVqx8Kw61pRgdQ== +"@aws-cdk/yaml-cfn@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/yaml-cfn/-/yaml-cfn-1.74.0.tgz#ea66da39391acf4d2f385845bb1c3466779bb90c" + integrity sha512-fJyS9apCC6lk3MHramd8Kjz4UwGWqM5gDRBci68Vs/nfXcpXY2ekHGjUMUfcel7VPobNKWszxWAMxXttAHa1zg== + dependencies: + yaml "1.10.0" "@babel/cli@^7.10.5": version "7.10.5" @@ -2529,6 +2325,11 @@ dependencies: "@sinonjs/commons" "^1.7.0" +"@tootallnate/once@1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" + integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== + "@types/babel__core@^7.0.0", "@types/babel__core@^7.1.7": version "7.1.9" resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.9.tgz#77e59d438522a6fb898fa43dc3455c6e72f3963d" @@ -2784,13 +2585,20 @@ acorn@^7.1.1, acorn@^7.3.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.0.tgz#e1ad486e6c54501634c6c397c5c121daa383607c" integrity sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w== -agent-base@4, agent-base@^4.2.0, agent-base@^4.3.0: +agent-base@4, agent-base@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.3.0.tgz#8165f01c436009bccad0b1d122f05ed770efc6ee" integrity sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg== dependencies: es6-promisify "^5.0.0" +agent-base@6, agent-base@^6.0.0: + version "6.0.2" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" + agent-base@~4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.2.1.tgz#d89e5999f797875674c07d87f260fc41e83e8ca9" @@ -2823,6 +2631,16 @@ ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3: json-schema-traverse "^0.4.1" uri-js "^4.2.2" +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-colors@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" @@ -2922,18 +2740,18 @@ archiver-utils@^2.1.0: normalize-path "^3.0.0" readable-stream "^2.0.0" -archiver@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/archiver/-/archiver-4.0.2.tgz#43c72865eadb4ddaaa2fb74852527b6a450d927c" - integrity sha512-B9IZjlGwaxF33UN4oPbfBkyA4V1SxNLeIhR1qY8sRXSsbdUkEHrrOvwlYFPx+8uQeCe9M+FG6KgO+imDmQ79CQ== +archiver@^5.0.2: + version "5.1.0" + resolved "https://registry.yarnpkg.com/archiver/-/archiver-5.1.0.tgz#05b0f6f7836f3e6356a0532763d2bb91017a7e37" + integrity sha512-iKuQUP1nuKzBC2PFlGet5twENzCfyODmvkxwDV0cEFXavwcLrIW5ssTuHi9dyTPvpWr6Faweo2eQaQiLIwyXTA== dependencies: archiver-utils "^2.1.0" async "^3.2.0" buffer-crc32 "^0.2.1" - glob "^7.1.6" readable-stream "^3.6.0" - tar-stream "^2.1.2" - zip-stream "^3.0.1" + readdir-glob "^1.0.0" + tar-stream "^2.1.4" + zip-stream "^4.0.4" are-we-there-yet@~1.1.2: version "1.1.5" @@ -3024,10 +2842,12 @@ assign-symbols@^1.0.0: resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= -ast-types@0.x.x: - version "0.13.3" - resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.13.3.tgz#50da3f28d17bdbc7969a3a2d83a0e4a72ae755a7" - integrity sha512-XTZ7xGML849LkQP86sWdQzfhwbt3YwIO6MqbX9mUNYY98VKaaVZP7YNNm70IpwecbkkxmfC5IYAzOQ/2p29zRA== +ast-types@^0.13.2: + version "0.13.4" + resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.13.4.tgz#ee0d77b343263965ecc3fb62da16e7222b2b6782" + integrity sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w== + dependencies: + tslib "^2.0.1" astral-regex@^1.0.0: version "1.0.0" @@ -3069,39 +2889,39 @@ atob@^2.1.2: resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== -aws-cdk@1.61.0: - version "1.61.0" - resolved "https://registry.yarnpkg.com/aws-cdk/-/aws-cdk-1.61.0.tgz#b1e1a55c64dff5825b3961b56c2b5fcb7ac472e9" - integrity sha512-deLtRq3DkiUB/5EN8ZCWLdXY0Uhm+fUvA1WSO8lzEhl71SmD7dyEHqvl7k96WPrIhUkS0nbiz6a+WC0QadIthg== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.61.0" - "@aws-cdk/cloudformation-diff" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - "@aws-cdk/region-info" "1.61.0" - archiver "^4.0.2" - aws-sdk "^2.739.0" - camelcase "^6.0.0" - cdk-assets "1.61.0" +aws-cdk@1.74.0: + version "1.74.0" + resolved "https://registry.yarnpkg.com/aws-cdk/-/aws-cdk-1.74.0.tgz#d049631ea578a8b75244b13a3028134ebb56add2" + integrity sha512-D4LKNlmvLHv+CWI/35Esaoij4v5VSqKyc+Gvnjhj1K3I4lG/AAxEy1CmRBhN/w1LJt70U9jnBpIsb6hGUlrV8A== + dependencies: + "@aws-cdk/cloud-assembly-schema" "1.74.0" + "@aws-cdk/cloudformation-diff" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + "@aws-cdk/region-info" "1.74.0" + "@aws-cdk/yaml-cfn" "1.74.0" + archiver "^5.0.2" + aws-sdk "^2.792.0" + camelcase "^6.2.0" + cdk-assets "1.74.0" colors "^1.4.0" decamelize "^4.0.0" fs-extra "^9.0.1" glob "^7.1.6" json-diff "^0.5.4" minimatch ">=3.0" - promptly "^3.0.3" - proxy-agent "^3.1.1" - semver "^7.2.2" + promptly "^3.2.0" + proxy-agent "^4.0.0" + semver "^7.3.2" source-map-support "^0.5.19" - table "^5.4.6" - uuid "^8.3.0" + table "^6.0.3" + uuid "^8.3.1" wrap-ansi "^7.0.0" - yaml "^1.10.0" - yargs "^15.4.1" + yargs "^16.1.1" -aws-sdk@^2.739.0: - version "2.743.0" - resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.743.0.tgz#c72a471c80cf88d78d854c780de861fb8475ae34" - integrity sha512-xujZGeA5gnbPBIlq6w/b+WYDKLXYiPWeVHvR0LKcvLLAr8IgzYYInmLx+7CU6ynXuBwVQtqGl2lZ2JSZbnMydg== +aws-sdk@^2.761.0: + version "2.761.0" + resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.761.0.tgz#a677e3755fe84550de780e9be61190e8898cc032" + integrity sha512-mSzdiqlnruFlJYrQVWPMyPQ8ynJe9P5QVD+edv8HFlYDQNOwpPCjlqI9kE1VE3cVcxkh0j2Q2kfLQa/pAY2w7Q== dependencies: buffer "4.9.2" events "1.1.1" @@ -3113,10 +2933,10 @@ aws-sdk@^2.739.0: uuid "3.3.2" xml2js "0.4.19" -aws-sdk@^2.761.0: - version "2.761.0" - resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.761.0.tgz#a677e3755fe84550de780e9be61190e8898cc032" - integrity sha512-mSzdiqlnruFlJYrQVWPMyPQ8ynJe9P5QVD+edv8HFlYDQNOwpPCjlqI9kE1VE3cVcxkh0j2Q2kfLQa/pAY2w7Q== +aws-sdk@^2.792.0: + version "2.798.0" + resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.798.0.tgz#fd108e0569d7210816003fc8cc0c995b39854ad6" + integrity sha512-7BMCH90yFpMmCF5uxZiiKMMzIAFibZz8b6CLGw/92FgMd86ZedpNqDyaikcGv1yOVtOlNCCnXN6OglC8/vwm4Q== dependencies: buffer "4.9.2" events "1.1.1" @@ -3252,10 +3072,10 @@ bindings@^1.5.0: dependencies: file-uri-to-path "1.0.0" -bl@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/bl/-/bl-4.0.2.tgz#52b71e9088515d0606d9dd9cc7aa48dc1f98e73a" - integrity sha512-j4OH8f6Qg2bGuWfRiltT2HYGx0e1QcBTrK9KAHNMwMZdQnDZFk0ZSYIpADjYCB3U12nicC5tVJwSIhwOWjb4RQ== +bl@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/bl/-/bl-4.0.3.tgz#12d6287adc29080e22a705e5764b2a9522cdc489" + integrity sha512-fs4G6/Hu4/EE+F75J8DuN/0IpQqNjAdC7aEQv7Qt8MHGUH7Ckv2MwTEEeN9QehD0pfIDkMI1bkHYkKy7xHyKIg== dependencies: buffer "^5.5.0" inherits "^2.0.4" @@ -3350,7 +3170,7 @@ buffer@4.9.2: ieee754 "^1.1.4" isarray "^1.0.0" -buffer@^5.1.0, buffer@^5.5.0: +buffer@^5.5.0: version "5.6.0" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.6.0.tgz#a31749dc7d81d84db08abf937b6b8c4033f62786" integrity sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw== @@ -3489,6 +3309,11 @@ camelcase@^6.0.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.0.0.tgz#5259f7c30e35e278f1bdc2a4d91230b37cad981e" integrity sha512-8KMDF1Vz2gzOq54ONPJS65IvTUaB1cHJ2DMM7MbPmLZljDH1qpzzLsWdiN9pHh6qvkRVDTi/07+eNGch/oLU4w== +camelcase@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" + integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== + caniuse-lite@^1.0.30001111: version "1.0.30001116" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001116.tgz#f3a3dea347f9294a3bdc4292309039cc84117fb8" @@ -3506,17 +3331,17 @@ caseless@~0.12.0: resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= -cdk-assets@1.61.0: - version "1.61.0" - resolved "https://registry.yarnpkg.com/cdk-assets/-/cdk-assets-1.61.0.tgz#677d85bb23ae7aa104a1b0d5892e3cfd36580a08" - integrity sha512-nZJNQq6vktb5j8xl+IYLWbN82E6EVANJQIZvOM1H/SLuYsjyuoAlIxBp6e50XqYRApnLYJ7BpDdAnLWOmfY8MQ== +cdk-assets@1.74.0: + version "1.74.0" + resolved "https://registry.yarnpkg.com/cdk-assets/-/cdk-assets-1.74.0.tgz#d70d5d5351181d91d9ee91791a858c2eb5d5e723" + integrity sha512-YF3nE1zAJU4dlWVnY30a4ALNzHhSTMMoAMv4bYkwXTLqzu+QB2v3MQdPpCLdGTGUYDaeRZy/Z/4R4MqM+/KPAA== dependencies: - "@aws-cdk/cloud-assembly-schema" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - archiver "^4.0.2" - aws-sdk "^2.739.0" + "@aws-cdk/cloud-assembly-schema" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + archiver "^5.0.2" + aws-sdk "^2.792.0" glob "^7.1.6" - yargs "^15.4.1" + yargs "^16.1.1" chalk@^2.0.0, chalk@^2.3.1, chalk@^2.4.2: version "2.4.2" @@ -3654,6 +3479,15 @@ cliui@^6.0.0: strip-ansi "^6.0.0" wrap-ansi "^6.2.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" + clone-deep@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" @@ -3763,15 +3597,15 @@ component-emitter@^1.2.1: resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== -compress-commons@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/compress-commons/-/compress-commons-3.0.0.tgz#833944d84596e537224dd91cf92f5246823d4f1d" - integrity sha512-FyDqr8TKX5/X0qo+aVfaZ+PVmNJHJeckFBlq8jZGSJOgnynhfifoyl24qaqdUdDIBe0EVTHByN6NAkqYvE/2Xg== +compress-commons@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/compress-commons/-/compress-commons-4.0.2.tgz#d6896be386e52f37610cef9e6fa5defc58c31bd7" + integrity sha512-qhd32a9xgzmpfoga1VQEiLEwdKZ6Plnpx5UCgIsf89FSolyJ7WnifY4Gtjgv5WR6hWAyRaHxC5MiEhU/38U70A== dependencies: buffer-crc32 "^0.2.13" - crc32-stream "^3.0.1" + crc32-stream "^4.0.1" normalize-path "^3.0.0" - readable-stream "^2.3.7" + readable-stream "^3.6.0" concat-map@0.0.1: version "0.0.1" @@ -3811,11 +3645,6 @@ console-control-strings@^1.0.0, console-control-strings@~1.1.0: resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= -constructs@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/constructs/-/constructs-3.0.4.tgz#eb1ed5b80f6600b8d50de83971357ae0fe8e29a2" - integrity sha512-CDvg7gMjphE3DFX4pzkF6j73NREbR8npPFW8Mx/CLRnMR035+Y1o1HrXIsNSss/dq3ZUnNTU9jKyd3fL9EOlfw== - constructs@^3.2.0: version "3.2.38" resolved "https://registry.yarnpkg.com/constructs/-/constructs-3.2.38.tgz#40168c33ddf56948ece101775223e5c0f2cb3388" @@ -3967,20 +3796,21 @@ cosmiconfig@^6.0.0: path-type "^4.0.0" yaml "^1.7.2" -crc32-stream@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-3.0.1.tgz#cae6eeed003b0e44d739d279de5ae63b171b4e85" - integrity sha512-mctvpXlbzsvK+6z8kJwSJ5crm7yBwrQMTybJzMw1O4lLGJqjlDCXY2Zw7KheiA6XBEcBmfLx1D88mjRGVJtY9w== +crc-32@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.0.tgz#cb2db6e29b88508e32d9dd0ec1693e7b41a18208" + integrity sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA== dependencies: - crc "^3.4.4" - readable-stream "^3.4.0" + exit-on-epipe "~1.0.1" + printj "~1.1.0" -crc@^3.4.4: - version "3.8.0" - resolved "https://registry.yarnpkg.com/crc/-/crc-3.8.0.tgz#ad60269c2c856f8c299e2c4cc0de4556914056c6" - integrity sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ== +crc32-stream@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-4.0.1.tgz#0f047d74041737f8a55e86837a1b826bd8ab0067" + integrity sha512-FN5V+weeO/8JaXsamelVYO1PHyeCsuL3HcG4cqsj0ceARcocxalaShCsohZMSAF+db7UYFwBy1rARK/0oFItUw== dependencies: - buffer "^5.1.0" + crc-32 "^1.2.0" + readable-stream "^3.4.0" cross-spawn@^6.0.0: version "6.0.5" @@ -4050,10 +3880,10 @@ dashdash@^1.12.0: dependencies: assert-plus "^1.0.0" -data-uri-to-buffer@1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-1.2.0.tgz#77163ea9c20d8641b4707e8f18abdf9a78f34835" - integrity sha512-vKQ9DTQPN1FLYiiEEOQ6IBGFqvjCa5rSK3cWMy/Nespm5d/x3dGFT9UBZnkLxCwua/IXBi2TYnwTEpsOvhC4UQ== +data-uri-to-buffer@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz#594b8973938c5bc2c33046535785341abc4f3636" + integrity sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og== data-urls@^2.0.0: version "2.0.0" @@ -4069,13 +3899,6 @@ dateformat@^3.0.0: resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== -debug@2, debug@^2.2.0, debug@^2.3.3: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - debug@3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" @@ -4090,6 +3913,13 @@ debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: dependencies: ms "^2.1.1" +debug@^2.2.0, debug@^2.3.3: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + debug@^3.1.0: version "3.2.6" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" @@ -4181,14 +4011,14 @@ define-property@^2.0.2: is-descriptor "^1.0.2" isobject "^3.0.1" -degenerator@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/degenerator/-/degenerator-1.0.4.tgz#fcf490a37ece266464d9cc431ab98c5819ced095" - integrity sha1-/PSQo37OJmRk2cxDGrmMWBnO0JU= +degenerator@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/degenerator/-/degenerator-2.2.0.tgz#49e98c11fa0293c5b26edfbb52f15729afcdb254" + integrity sha512-aiQcQowF01RxFI4ZLFMpzyotbQonhNpBao6dkI8JPk5a+hmSjR5ErHp2CQySmQe8os3VBqLCIh87nDBgZXvsmg== dependencies: - ast-types "0.x.x" - escodegen "1.x.x" - esprima "3.x.x" + ast-types "^0.13.2" + escodegen "^1.8.1" + esprima "^4.0.0" delayed-stream@~1.0.0: version "1.0.0" @@ -4238,10 +4068,10 @@ diff-sequences@^26.3.0: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.3.0.tgz#62a59b1b29ab7fd27cef2a33ae52abe73042d0a2" integrity sha512-5j5vdRcw3CNctePNYN0Wy2e/JbWT6cAYnXv5OuqPhDpyCGc0uLu2TK0zOCJWNB9kOIfYMSpIulRaDgIi4HJ6Ig== -diff@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== +diff@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" + integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== difflib@~0.2.1: version "0.2.4" @@ -4426,6 +4256,11 @@ escalade@^3.0.2: resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.0.2.tgz#6a580d70edb87880f22b4c91d0d56078df6962c4" integrity sha512-gPYAU37hYCUhW5euPeR+Y74F7BL+IBsV93j5cvGriSaD1aG6MGsqsV1yamRdrWrb2j3aiZvb0X+UBOWpx3JWtQ== +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" @@ -4436,7 +4271,7 @@ escape-string-regexp@^2.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== -escodegen@1.x.x, escodegen@^1.14.1: +escodegen@^1.14.1, escodegen@^1.8.1: version "1.14.3" resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== @@ -4524,11 +4359,6 @@ espree@^7.2.0: acorn-jsx "^5.2.0" eslint-visitor-keys "^1.3.0" -esprima@3.x.x: - version "3.1.3" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" - integrity sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM= - esprima@^4.0.0, esprima@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" @@ -4606,6 +4436,11 @@ execa@^4.0.0, execa@^4.0.1: signal-exit "^3.0.2" strip-final-newline "^2.0.0" +exit-on-epipe@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz#0bdd92e87d5285d267daa8171d0eb06159689692" + integrity sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw== + exit@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" @@ -4749,11 +4584,16 @@ file-entry-cache@^5.0.1: dependencies: flat-cache "^2.0.1" -file-uri-to-path@1, file-uri-to-path@1.0.0: +file-uri-to-path@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== +file-uri-to-path@2: + version "2.0.0" + resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-2.0.0.tgz#7b415aeba227d575851e0a5b0c640d7656403fba" + integrity sha512-hjPFI8oE/2iQPVe4gbrJ73Pp+Xfub2+WI2LlXDbsaJBwT5wuMh35WNWVYYTpnz895shtwfyutMFLFywpQAFdLg== + fill-range@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" @@ -4928,7 +4768,7 @@ fsevents@^2.1.2: resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== -ftp@~0.3.10: +ftp@^0.3.10: version "0.3.10" resolved "https://registry.yarnpkg.com/ftp/-/ftp-0.3.10.tgz#9197d861ad8142f3e63d5a83bfe4c59f7330885d" integrity sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0= @@ -4970,7 +4810,7 @@ gensync@^1.0.0-beta.1: resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg== -get-caller-file@^2.0.1: +get-caller-file@^2.0.1, 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== @@ -5020,17 +4860,17 @@ get-stream@^5.0.0: dependencies: pump "^3.0.0" -get-uri@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/get-uri/-/get-uri-2.0.4.tgz#d4937ab819e218d4cb5ae18e4f5962bef169cc6a" - integrity sha512-v7LT/s8kVjs+Tx0ykk1I+H/rbpzkHvuIq87LmeXptcf5sNWm9uQiwjNAt94SJPA1zOlCntmnOlJvVWKmzsxG8Q== +get-uri@3: + version "3.0.2" + resolved "https://registry.yarnpkg.com/get-uri/-/get-uri-3.0.2.tgz#f0ef1356faabc70e1f9404fa3b66b2ba9bfc725c" + integrity sha512-+5s0SJbGoyiJTZZ2JTpFPLMPSch72KEqGOTvQsBqg0RBWvwhWUSYZFAtz3TPW0GXJuLBJPts1E241iHg+VRfhg== dependencies: - data-uri-to-buffer "1" - debug "2" - extend "~3.0.2" - file-uri-to-path "1" - ftp "~0.3.10" - readable-stream "2" + "@tootallnate/once" "1" + data-uri-to-buffer "3" + debug "4" + file-uri-to-path "2" + fs-extra "^8.1.0" + ftp "^0.3.10" get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" @@ -5295,6 +5135,15 @@ http-proxy-agent@^2.1.0: agent-base "4" debug "3.1.0" +http-proxy-agent@^4.0.0, http-proxy-agent@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" + integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== + dependencies: + "@tootallnate/once" "1" + agent-base "6" + debug "4" + http-signature@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" @@ -5304,6 +5153,14 @@ http-signature@~1.2.0: jsprim "^1.2.2" sshpk "^1.7.0" +https-proxy-agent@5, https-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" + integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== + dependencies: + agent-base "6" + debug "4" + https-proxy-agent@^2.2.3: version "2.2.4" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz#4ee7a737abd92678a293d9b34a1af4d0d08c787b" @@ -5312,14 +5169,6 @@ https-proxy-agent@^2.2.3: agent-base "^4.3.0" debug "^3.1.0" -https-proxy-agent@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-3.0.1.tgz#b8c286433e87602311b01c8ea34413d856a4af81" - integrity sha512-+ML2Rbh6DAuee7d07tYGEKOEi2voWPUGan+ExdPbPW6Z3svq+JCqr0v8WmKPOkz1vOVykPCBSuobe7G8GJUtVg== - dependencies: - agent-base "^4.3.0" - debug "^3.1.0" - human-signals@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" @@ -6358,11 +6207,6 @@ jsonparse@^1.2.0: resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" integrity sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA= -jsonschema@^1.2.5: - version "1.2.6" - resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.2.6.tgz#52b0a8e9dc06bbae7295249d03e4b9faee8a0c0b" - integrity sha512-SqhURKZG07JyKKeo/ir24QnS4/BV7a6gQy93bUSe4lUdNp0QNpIz2c9elWJQ9dpc5cQYY6cvCzgRwy0MQCLyqA== - jsonschema@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.4.0.tgz#1afa34c4bc22190d8e42271ec17ac8b3404f87b2" @@ -6641,7 +6485,7 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.2.1: +lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.2.1: version "4.17.20" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== @@ -7495,30 +7339,29 @@ p-waterfall@^1.0.0: dependencies: p-reduce "^1.0.0" -pac-proxy-agent@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/pac-proxy-agent/-/pac-proxy-agent-3.0.1.tgz#115b1e58f92576cac2eba718593ca7b0e37de2ad" - integrity sha512-44DUg21G/liUZ48dJpUSjZnFfZro/0K5JTyFYLBcmh9+T6Ooi4/i4efwUiEy0+4oQusCBqWdhv16XohIj1GqnQ== +pac-proxy-agent@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/pac-proxy-agent/-/pac-proxy-agent-4.1.0.tgz#66883eeabadc915fc5e95457324cb0f0ac78defb" + integrity sha512-ejNgYm2HTXSIYX9eFlkvqFp8hyJ374uDf0Zq5YUAifiSh1D6fo+iBivQZirGvVv8dCYUsLhmLBRhlAYvBKI5+Q== dependencies: - agent-base "^4.2.0" - debug "^4.1.1" - get-uri "^2.0.0" - http-proxy-agent "^2.1.0" - https-proxy-agent "^3.0.0" - pac-resolver "^3.0.0" + "@tootallnate/once" "1" + agent-base "6" + debug "4" + get-uri "3" + http-proxy-agent "^4.0.1" + https-proxy-agent "5" + pac-resolver "^4.1.0" raw-body "^2.2.0" - socks-proxy-agent "^4.0.1" + socks-proxy-agent "5" -pac-resolver@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pac-resolver/-/pac-resolver-3.0.0.tgz#6aea30787db0a891704deb7800a722a7615a6f26" - integrity sha512-tcc38bsjuE3XZ5+4vP96OfhOugrX+JcnpUbhfuc4LuXBLQhoTthOstZeoQJBDnQUDYzYmdImKsbz0xSl1/9qeA== +pac-resolver@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/pac-resolver/-/pac-resolver-4.1.0.tgz#4b12e7d096b255a3b84e53f6831f32e9c7e5fe95" + integrity sha512-d6lf2IrZJJ7ooVHr7BfwSjRO1yKSJMaiiWYSHcrxSIUtZrCa4KKGwcztdkZ/E9LFleJfjoi1yl+XLR7AX24nbQ== dependencies: - co "^4.6.0" - degenerator "^1.0.4" + degenerator "^2.2.0" ip "^1.1.5" netmask "^1.0.6" - thunkify "^2.1.2" parallel-transform@^1.1.0: version "1.2.0" @@ -7762,6 +7605,11 @@ pretty-format@^26.4.0: ansi-styles "^4.0.0" react-is "^16.12.0" +printj@~1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/printj/-/printj-1.1.2.tgz#d90deb2975a8b9f600fb3a1c94e3f4c53c78a222" + integrity sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ== + 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" @@ -7785,12 +7633,11 @@ promise-retry@^1.1.1: err-code "^1.0.0" retry "^0.10.0" -promptly@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/promptly/-/promptly-3.0.3.tgz#e178f722e73d82c60d019462044bccfdd9872f42" - integrity sha512-EWnzOsxVKUjqKeE6SStH1/cO4+DE44QolaoJ4ojGd9z6pcNkpgfJKr1ncwxrOFHSTIzoudo7jG8y0re30/LO1g== +promptly@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/promptly/-/promptly-3.2.0.tgz#a5517fbbf59bd31c1751d4e1d9bef1714f42b9d8" + integrity sha512-WnR9obtgW+rG4oUV3hSnNGl1pHm3V1H/qD9iJBumGSmVsSC5HpZOLuu8qdMb6yCItGfT7dcRszejr/5P3i9Pug== dependencies: - pify "^3.0.0" read "^1.0.4" prompts@^2.0.1: @@ -7825,19 +7672,19 @@ protoduck@^5.0.1: dependencies: genfun "^5.0.0" -proxy-agent@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/proxy-agent/-/proxy-agent-3.1.1.tgz#7e04e06bf36afa624a1540be247b47c970bd3014" - integrity sha512-WudaR0eTsDx33O3EJE16PjBRZWcX8GqCEeERw1W3hZJgH/F2a46g7jty6UGty6NeJ4CKQy8ds2CJPMiyeqaTvw== +proxy-agent@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/proxy-agent/-/proxy-agent-4.0.0.tgz#a92976af3fbc7d846f2e850e2ac5ac6ca3fb74c7" + integrity sha512-8P0Y2SkwvKjiGU1IkEfYuTteioMIDFxPL4/j49zzt5Mz3pG1KO+mIrDG1qH0PQUHTTczjwGcYl+EzfXiFj5vUQ== dependencies: - agent-base "^4.2.0" + agent-base "^6.0.0" debug "4" - http-proxy-agent "^2.1.0" - https-proxy-agent "^3.0.0" + http-proxy-agent "^4.0.0" + https-proxy-agent "^5.0.0" lru-cache "^5.1.1" - pac-proxy-agent "^3.0.1" + pac-proxy-agent "^4.1.0" proxy-from-env "^1.0.0" - socks-proxy-agent "^4.0.1" + socks-proxy-agent "^5.0.0" proxy-from-env@^1.0.0: version "1.1.0" @@ -8012,7 +7859,7 @@ read@1, read@^1.0.4, read@~1.0.1: dependencies: mute-stream "~0.0.4" -"readable-stream@1 || 2", readable-stream@2, readable-stream@^2.0.0, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.6, readable-stream@^2.3.7, readable-stream@~2.3.6: +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.6, readable-stream@~2.3.6: 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== @@ -8044,6 +7891,13 @@ readable-stream@1.1.x: string_decoder "^1.1.1" util-deprecate "^1.0.1" +readdir-glob@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/readdir-glob/-/readdir-glob-1.1.1.tgz#f0e10bb7bf7bfa7e0add8baffdc54c3f7dbee6c4" + integrity sha512-91/k1EzZwDx6HbERR+zucygRFfiPl2zkIYZtv3Jjr6Mn7SkKcVct8aVO+sSRiGMc6fLf72du3d92/uY63YPdEA== + dependencies: + minimatch "^3.0.4" + readdir-scoped-modules@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz#8d45407b4f870a0dcaebc0e28670d18e74514309" @@ -8417,7 +8271,7 @@ semver@7.0.0: resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== -semver@7.x, semver@^7.2.1, semver@^7.2.2, semver@^7.3.2: +semver@7.x, semver@^7.2.1, semver@^7.3.2: version "7.3.2" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== @@ -8570,7 +8424,16 @@ snapdragon@^0.8.1: source-map-resolve "^0.5.0" use "^3.1.0" -socks-proxy-agent@^4.0.0, socks-proxy-agent@^4.0.1: +socks-proxy-agent@5, socks-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-5.0.0.tgz#7c0f364e7b1cf4a7a437e71253bed72e9004be60" + integrity sha512-lEpa1zsWCChxiynk+lCycKuC502RxDWLKJZoIhnxrWNjLSDGYRFflHA1/228VkRcnv9TIb8w98derGbpKxJRgA== + dependencies: + agent-base "6" + debug "4" + socks "^2.3.3" + +socks-proxy-agent@^4.0.0: version "4.0.2" resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-4.0.2.tgz#3c8991f3145b2799e70e11bd5fbc8b1963116386" integrity sha512-NT6syHhI9LmuEMSK6Kd2V7gNv5KFZoLE7V5udWmn0de+3Mkj3UMA/AJPLyeNUVmElCurSHtUdM3ETpR3z770Wg== @@ -8578,6 +8441,14 @@ socks-proxy-agent@^4.0.0, socks-proxy-agent@^4.0.1: agent-base "~4.2.1" socks "~2.3.2" +socks@^2.3.3: + version "2.5.0" + resolved "https://registry.yarnpkg.com/socks/-/socks-2.5.0.tgz#3a7c286db114f67864a4bd8b4207a91d1db3d6db" + integrity sha512-00OqQHp5SCbwm9ecOMJj9aQtMSjwi1uVuGQoxnpKCS50VKZcOZ8z11CTKypmR8sEy7nZimy/qXY7rYJYbRlXmA== + dependencies: + ip "^1.1.5" + smart-buffer "^4.1.0" + socks@~2.3.2: version "2.3.3" resolved "https://registry.yarnpkg.com/socks/-/socks-2.3.3.tgz#01129f0a5d534d2b897712ed8aceab7ee65d78e3" @@ -8706,34 +8577,34 @@ ssri@^6.0.0, ssri@^6.0.1: dependencies: figgy-pudding "^3.5.1" -sst-cdk@1.61.0-rc.25: - version "1.61.0-rc.25" - resolved "https://registry.yarnpkg.com/sst-cdk/-/sst-cdk-1.61.0-rc.25.tgz#f9066a46ebec56f32165890eba99eaf558cf61d8" - integrity sha512-Vc9pRpTIV0xUBZHK6Qj3Xrb/LCPiXw2nVJaWZPiSiUc2mi566KsxpmWFvjqrYXKFesRSwUoIVgfEwop12CiLzw== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.61.0" - "@aws-cdk/cloudformation-diff" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - "@aws-cdk/region-info" "1.61.0" - archiver "^4.0.2" - aws-sdk "^2.739.0" - camelcase "^6.0.0" - cdk-assets "1.61.0" +sst-cdk@1.74.0-rc.1: + version "1.74.0-rc.1" + resolved "https://registry.yarnpkg.com/sst-cdk/-/sst-cdk-1.74.0-rc.1.tgz#3ce6f1bb32da7ae2a79c4fe40ed99e4937eefb65" + integrity sha512-ZHHlzqJv7rFS2gyiN5YyLitJ3pRg2BEjmZDpmkmr3GRTyaZnrs6Z//ntiipSRE/5B3Jd89xHkCQViusVp/ZhRw== + dependencies: + "@aws-cdk/cloud-assembly-schema" "1.74.0" + "@aws-cdk/cloudformation-diff" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + "@aws-cdk/region-info" "1.74.0" + "@aws-cdk/yaml-cfn" "1.74.0" + archiver "^5.0.2" + aws-sdk "^2.792.0" + camelcase "^6.2.0" + cdk-assets "1.74.0" colors "^1.4.0" decamelize "^4.0.0" fs-extra "^9.0.1" glob "^7.1.6" json-diff "^0.5.4" minimatch ">=3.0" - promptly "^3.0.3" - proxy-agent "^3.1.1" - semver "^7.2.2" + promptly "^3.2.0" + proxy-agent "^4.0.0" + semver "^7.3.2" source-map-support "^0.5.19" - table "^5.4.6" - uuid "^8.3.0" + table "^6.0.3" + uuid "^8.3.1" wrap-ansi "^7.0.0" - yaml "^1.10.0" - yargs "^15.4.1" + yargs "^16.1.1" stack-utils@^2.0.2: version "2.0.2" @@ -8980,7 +8851,7 @@ symbol-tree@^3.2.4: resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== -table@^5.2.3, table@^5.4.6: +table@^5.2.3: version "5.4.6" resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug== @@ -8990,12 +8861,22 @@ table@^5.2.3, table@^5.4.6: slice-ansi "^2.1.0" string-width "^3.0.0" -tar-stream@^2.1.2: - version "2.1.3" - resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.1.3.tgz#1e2022559221b7866161660f118255e20fa79e41" - integrity sha512-Z9yri56Dih8IaK8gncVPx4Wqt86NDmQTSh49XLZgjWpGZL9GK9HKParS2scqHCC4w6X9Gh2jwaU45V47XTKwVA== +table@^6.0.3: + version "6.0.4" + resolved "https://registry.yarnpkg.com/table/-/table-6.0.4.tgz#c523dd182177e926c723eb20e1b341238188aa0d" + integrity sha512-sBT4xRLdALd+NFBvwOz8bw4b15htyythha+q+DVZqy2RS08PPC8O2sZFgJYEY7bJvbCFKccs+WIZ/cd+xxTWCw== + dependencies: + ajv "^6.12.4" + lodash "^4.17.20" + slice-ansi "^4.0.0" + string-width "^4.2.0" + +tar-stream@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.1.4.tgz#c4fb1a11eb0da29b893a5b25476397ba2d053bfa" + integrity sha512-o3pS2zlG4gxr67GmFYBLlq+dM8gyRGUOvsrHclSkvtVtQbjV0s/+ZE8OpICbaj8clrX3tjeHngYGP7rweaBnuw== dependencies: - bl "^4.0.1" + bl "^4.0.3" end-of-stream "^1.4.1" fs-constants "^1.0.0" inherits "^2.0.3" @@ -9098,11 +8979,6 @@ through@2, "through@>=2.2.7 <3", through@^2.3.4, through@^2.3.6, through@^2.3.8: resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= -thunkify@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/thunkify/-/thunkify-2.1.2.tgz#faa0e9d230c51acc95ca13a361ac05ca7e04553d" - integrity sha1-+qDp0jDFGsyVyhOjYawFyn4EVT0= - tmp@^0.0.33: version "0.0.33" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" @@ -9230,6 +9106,11 @@ tslib@^1.8.1, tslib@^1.9.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q== +tslib@^2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.3.tgz#8e0741ac45fc0c226e58a17bfc3e64b9bc6ca61c" + integrity sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ== + tsutils@^3.17.1: version "3.17.1" resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759" @@ -9459,11 +9340,16 @@ uuid@^3.0.1, uuid@^3.3.2: resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== -uuid@^8.2.0, uuid@^8.3.0: +uuid@^8.2.0: version "8.3.0" resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.0.tgz#ab738085ca22dc9a8c92725e459b1d507df5d6ea" integrity sha512-fX6Z5o4m6XsXBdli9g7DtWgAx+osMsRRZFKma1mIUsLCz6vRvv+pz5VNbyu9UEDzpMWulZfvpgb/cmDXVulYFQ== +uuid@^8.3.1: + version "8.3.1" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.1.tgz#2ba2e6ca000da60fce5a196954ab241131e05a31" + integrity sha512-FOmRr+FmWEIG8uhZv6C2bTgEVXsHk08kE7mPlrBbEe+c3r9pjceVPgupIfNIhc4yx55H69OXANrUaSuu9eInKg== + v8-compile-cache@^2.0.3: version "2.1.1" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz#54bc3cdd43317bca91e35dcaf305b1a7237de745" @@ -9761,12 +9647,17 @@ y18n@^4.0.0: resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== +y18n@^5.0.5: + version "5.0.5" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.5.tgz#8769ec08d03b1ea2df2500acef561743bbb9ab18" + integrity sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg== + yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3: version "3.1.1" resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== -yaml@^1.10.0, yaml@^1.7.2: +yaml@1.10.0, yaml@^1.7.2: version "1.10.0" resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg== @@ -9787,6 +9678,11 @@ yargs-parser@^15.0.1: camelcase "^5.0.0" decamelize "^1.2.0" +yargs-parser@^20.2.2: + version "20.2.4" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" + integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== + yargs@^14.2.2: version "14.2.3" resolved "https://registry.yarnpkg.com/yargs/-/yargs-14.2.3.tgz#1a1c3edced1afb2a2fea33604bc6d1d8d688a414" @@ -9821,11 +9717,24 @@ yargs@^15.3.1, yargs@^15.4.1: y18n "^4.0.0" yargs-parser "^18.1.2" -zip-stream@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/zip-stream/-/zip-stream-3.0.1.tgz#cb8db9d324a76c09f9b76b31a12a48638b0b9708" - integrity sha512-r+JdDipt93ttDjsOVPU5zaq5bAyY+3H19bDrThkvuVxC0xMQzU1PJcS6D+KrP3u96gH9XLomcHPb+2skoDjulQ== +yargs@^16.1.1: + version "16.1.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.1.1.tgz#5a4a095bd1ca806b0a50d0c03611d38034d219a1" + integrity sha512-hAD1RcFP/wfgfxgMVswPE+z3tlPFtxG8/yWUrG2i17sTWGCGqWnxKcLTF4cUKDUK8fzokwsmO9H0TDkRbMHy8w== + 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" + +zip-stream@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/zip-stream/-/zip-stream-4.0.4.tgz#3a8f100b73afaa7d1ae9338d910b321dec77ff3a" + integrity sha512-a65wQ3h5gcQ/nQGWV1mSZCEzCML6EK/vyVPcrPNynySP1j3VBbQKh3nhC8CbORb+jfl2vXvh56Ul5odP1bAHqw== dependencies: archiver-utils "^2.1.0" - compress-commons "^3.0.0" + compress-commons "^4.0.2" readable-stream "^3.6.0" From 3afbd34236aaa573cd197919edf1b1cbd3ed43dc Mon Sep 17 00:00:00 2001 From: Frank Date: Tue, 24 Nov 2020 21:23:14 -0500 Subject: [PATCH 007/123] Implement `sst start` --- packages/cli/scripts/config/cdkHelpers.js | 13 + packages/cli/scripts/debug/bin/index.js | 10 +- .../cli/scripts/debug/lambda/wsDefault.js | 140 ++-- packages/cli/scripts/debug/lib/debug-stack.js | 21 +- packages/cli/scripts/start.js | 337 ++++++--- packages/cli/scripts/wrapper/bootstrap.js | 8 +- .../cli/scripts/wrapper/serializeError.js | 67 ++ packages/cli/test/start/lib/index.js | 26 +- packages/cli/test/start/package.json | 2 + packages/cli/test/start/src/hello.js | 32 +- packages/cli/test/start/src/sns.js | 4 + packages/cli/test/start/yarn.lock | 704 +++++++----------- packages/core/index.js | 10 +- packages/core/package.json | 2 +- packages/resources/lambda/stub/index.js | 169 ++++- packages/resources/src/Function.ts | 1 + packages/resources/src/NodejsFunction.ts | 1 + yarn.lock | 8 +- 18 files changed, 888 insertions(+), 667 deletions(-) create mode 100644 packages/cli/scripts/wrapper/serializeError.js create mode 100644 packages/cli/test/start/src/sns.js diff --git a/packages/cli/scripts/config/cdkHelpers.js b/packages/cli/scripts/config/cdkHelpers.js index 0feec640ca..05ffc4005f 100644 --- a/packages/cli/scripts/config/cdkHelpers.js +++ b/packages/cli/scripts/config/cdkHelpers.js @@ -303,6 +303,18 @@ async function synth(options) { return results; } +async function deploy(options) { + let results; + + try { + results = await sstCore.deploy(options); + } catch (e) { + handleCdkErrors(e); + } + + return results; +} + async function parallelDeploy(options, stackStates) { let results; @@ -329,6 +341,7 @@ async function parallelDestroy(options, stackStates) { module.exports = { synth, + deploy, prepareCdk, applyConfig, parallelDeploy, diff --git a/packages/cli/scripts/debug/bin/index.js b/packages/cli/scripts/debug/bin/index.js index 6064a1de6d..31b23248e5 100644 --- a/packages/cli/scripts/debug/bin/index.js +++ b/packages/cli/scripts/debug/bin/index.js @@ -3,10 +3,10 @@ const cdk = require("@aws-cdk/core"); const { DebugStack } = require("../lib/debug-stack"); -const app = new cdk.App(); +const stage = process.env.SST_DEBUG_STAGE; +const region = process.env.SST_DEBUG_REGION; +const stackName = process.env.SST_DEBUG_STACK; -const stage = "local"; -const name = "debug-stack"; -const region = "us-east-1"; +const app = new cdk.App(); -new DebugStack(app, `${stage}-${name}`, { stage, name, region }); +new DebugStack(app, stackName, { stage, stackName, region }); diff --git a/packages/cli/scripts/debug/lambda/wsDefault.js b/packages/cli/scripts/debug/lambda/wsDefault.js index 91b34a6eae..3438bd99b8 100644 --- a/packages/cli/scripts/debug/lambda/wsDefault.js +++ b/packages/cli/scripts/debug/lambda/wsDefault.js @@ -2,75 +2,119 @@ const AWS = require("aws-sdk"); AWS.config.logger = console; const ddb = new AWS.DynamoDB.DocumentClient({ region: process.env.AWS_REGION }); -// TODO -// - handle re-use websocket connection -// - handle client/channel's connectionId not connected -// - handle connection closed -// - get stub connection id needs to be strong consistent read exports.main = async function (event) { console.log(event); const eventData = JSON.parse(event.body); - console.log(eventData); - if (eventData.action === "registerClient") { + if (eventData.action === "connectClient") { // register client - await ddb - .put({ - TableName: process.env.TABLE_NAME, - Item: { - channel: "client", - connectionId: event.requestContext.connectionId, - }, - }) - .promise(); + const clientConnectionId = event.requestContext.connectionId; + const oldConnectionId = await setClientConnectionId(clientConnectionId); + await postToConnection( + JSON.stringify({ + action: "clientConnected", + clientConnectionId, + }), + clientConnectionId + ); + + // notify old client is replaced by the newer client + if (oldConnectionId) { + try { + await postToConnection( + JSON.stringify({ action: "clientDisconnectedDueToNewClient" }), + oldConnectionId + ); + } catch (e) { + console.log(e); + } + } } else if (eventData.action === "newRequest") { // send request to client + const stubConnectionId = event.requestContext.connectionId; + const clientConnectionId = await getClientConnectionId(); + if (clientConnectionId) { + try { + await postToConnection( + JSON.stringify({ ...eventData, stubConnectionId }), + clientConnectionId + ); + } catch (e) { + // handle failed to send + console.log(e); + const action = + e.statusCode === 410 + ? "failedToSendRequestDueToClientNotConnected" + : "failedToSendRequestDueToUnknown"; + await postToConnection(JSON.stringify({ action }), stubConnectionId); + } + } else { + // handle client connection not exist + await postToConnection( + JSON.stringify({ + action: "failedToSendRequestDueToClientNotConnected", + }), + stubConnectionId + ); + } + } else if (eventData.action === "newResponse") { + try { + await postToConnection(event.body, eventData.stubConnectionId); + } catch (e) { + const clientConnectionId = event.requestContext.connectionId; + const action = + e.statusCode === 410 + ? "failedToSendResponseDueToStubDisconnected" + : "failedToSendResponseDueToUnknown"; + await postToConnection( + JSON.stringify({ + action, + debugRequestId: eventData.debugRequestId, + }), + clientConnectionId + ); + } + } + + async function getClientConnectionId() { const ret = await ddb .get({ TableName: process.env.TABLE_NAME, - Key: { channel: "client" }, + Key: { pk: "client" }, + ConsistentRead: true, }) .promise(); - const connectionId = ret.Item.connectionId; - await postToConnection( - JSON.stringify({ - ...eventData, - stubConnectionId: event.requestContext.connectionId, - }), - connectionId - ); - } else if (eventData.action === "newResponse") { - await postToConnection(event.body, eventData.stubConnectionId); + return ret.Item && ret.Item.connectionId; + } + + async function setClientConnectionId(connectionId) { + const ret = await ddb + .update({ + TableName: process.env.TABLE_NAME, + Key: { pk: "client" }, + UpdateExpression: "SET connectionId = :connectionId", + ExpressionAttributeValues: { + ":connectionId": connectionId, + }, + ReturnValues: "UPDATED_OLD", + }) + .promise(); + return ret.Attributes && ret.Attributes.connectionId; } async function postToConnection(data, connectionId) { - // Post to connections const apigwManagementApi = new AWS.ApiGatewayManagementApi({ apiVersion: "2018-11-29", endpoint: event.requestContext.domainName + "/" + event.requestContext.stage, }); - try { - await apigwManagementApi - .postToConnection({ - ConnectionId: connectionId, - Data: data, - }) - .promise(); - } catch (e) { - if (e.statusCode === 410) { - console.log(`Found stale connection, deleting ${connectionId}`); - await ddb - .delete({ - TableName: process.env.TABLE_NAME, - Key: { connectionId }, - }) - .promise(); - } else { - throw e; - } - } + await apigwManagementApi + .postToConnection({ + ConnectionId: connectionId, + Data: data, + }) + .promise(); } return { statusCode: 200, body: "Data sent." }; diff --git a/packages/cli/scripts/debug/lib/debug-stack.js b/packages/cli/scripts/debug/lib/debug-stack.js index 72e0fdee85..2cc70367aa 100644 --- a/packages/cli/scripts/debug/lib/debug-stack.js +++ b/packages/cli/scripts/debug/lib/debug-stack.js @@ -1,4 +1,3 @@ -const fs = require("fs"); const cdk = require("@aws-cdk/core"); const apig = require("@aws-cdk/aws-apigatewayv2"); const lambda = require("@aws-cdk/aws-lambda"); @@ -9,20 +8,20 @@ class DebugStack extends cdk.Stack { constructor(scope, id, props) { super(scope, id, props); - const { stage, name, region } = props; + const { stage, region, stackName } = props; const _this = this; // Create connection table const table = new dynamodb.Table(this, "Table", { - partitionKey: { name: "channel", type: dynamodb.AttributeType.STRING }, + partitionKey: { name: "pk", type: dynamodb.AttributeType.STRING }, billingMode: dynamodb.BillingMode.PAY_PER_REQUEST, removalPolicy: cdk.RemovalPolicy.DESTROY, }); // Create API const api = new apig.CfnApi(this, "Api", { - name: `${stage}-${name}-api`, + name: `${stackName}-api`, protocolType: "WEBSOCKET", routeSelectionExpression: "$request.body.action", }); @@ -39,24 +38,24 @@ class DebugStack extends cdk.Stack { addApiRoute({ id: "Connect", routeKey: "$connect", - codePath: "lambda/wsConnect.js", + handler: "wsConnect.main", }); addApiRoute({ id: "Disconnect", routeKey: "$disconnect", - codePath: "lambda/wsDisconnect.js", + handler: "wsDisconnect.main", }); addApiRoute({ id: "Default", routeKey: "$default", - codePath: "lambda/wsDefault.js", + handler: "wsDefault.main", }); new cdk.CfnOutput(this, "Endpoint", { value: `${api.attrApiEndpoint}/${stage}`, }); - function addApiRoute({ id, routeKey, codePath }) { + function addApiRoute({ id, routeKey, handler }) { // Create execution policy const policyStatement = new iam.PolicyStatement(); policyStatement.addAllResources(); @@ -68,10 +67,8 @@ class DebugStack extends cdk.Stack { // Create Lambda const lambdaFunc = new lambda.Function(_this, id, { - code: new lambda.InlineCode( - fs.readFileSync(codePath, { encoding: "utf-8" }) - ), - handler: "index.main", + code: lambda.Code.fromAsset("lambda"), + handler, timeout: cdk.Duration.seconds(10), runtime: lambda.Runtime.NODEJS_12_X, memorySize: 256, diff --git a/packages/cli/scripts/start.js b/packages/cli/scripts/start.js index 1bd052c49a..a0c6024b87 100644 --- a/packages/cli/scripts/start.js +++ b/packages/cli/scripts/start.js @@ -1,176 +1,265 @@ "use strict"; -const AWS = require("aws-sdk"); const WebSocket = require("ws"); const spawn = require("cross-spawn"); -const { execSync } = require("child_process"); +const chalk = require("chalk"); -const deploy = require("./deploy"); +const sstDeploy = require("./deploy"); const paths = require("./config/paths"); -const { prepareCdk, applyConfig } = require("./config/cdkHelpers"); +const { + prepareCdk, + applyConfig, + deploy: cdkDeploy, +} = require("./config/cdkHelpers"); +const logger = require("./util/logger"); + +const WEBSOCKET_CLOSE_CODE = { + NEW_CLIENT_CONNECTED: 4901, +}; + +let ws; function setTimer(lambda, handleResponse, timeoutInMs) { return setTimeout(function () { - handleResponse({ - type: "failure", - data: { - stack: null, - errorType: "timeout", - errorMessage: "Lambda timed out", - }, - }); + handleResponse({ type: "timeout" }); try { process.kill(lambda.pid, "SIGKILL"); } catch (e) { - console.log(e); - console.log("Cannot kill timed out Lambda"); + logger.log(e); + logger.log("Cannot kill timed out Lambda"); } }, timeoutInMs); } function startClient(debugEndpoint) { - console.log("Starting up sst debugger..."); - - const ws = new WebSocket(debugEndpoint); + ws = new WebSocket(debugEndpoint); ws.on("open", () => { - ws.send( - JSON.stringify({ - action: "registerClient", - }) - ); - console.log("Debug session started. Listening for requests..."); + ws.send(JSON.stringify({ action: "connectClient" })); + logger.debug("websocket opened"); }); ws.on("close", (code, reason) => { - console.log("Debug session closed.", { code, reason }); + logger.debug("websocket closed"); + logger.log("Debug session closed.", { code, reason }); + + // Case: disconnected due to new client connected => do not reconnect + // Case: disconnected due to 10min idle or 2hr websocket connection limit => reconnect + if (code !== WEBSOCKET_CLOSE_CODE.NEW_CLIENT_CONNECTED) { + logger.log("Debug session reconnecting..."); + startClient(debugEndpoint); + } }); ws.on("error", (e) => { - console.log("Debug session error.", e); + logger.debug(`websocket error: ${e}`); + logger.log(`Debug session error: ${e}`); }); - ws.on("message", (data) => { - console.debug(data); - const { - action, - stubConnectionId, - debugRequestId, - debugRequestExpireAt, - debugRequestTimeoutInMs, + ws.on("message", onMessage); +} + +function onMessage(message) { + logger.debug(`message received: ${message}`); + + const data = JSON.parse(message); + + // Handle actions + if (data.action === "clientConnected") { + logger.log("Debug session started. Listening for requests..."); + logger.debug(`client connection id: ${data.clientConnectionId}`); + return; + } + if (data.action === "clientDisconnectedDueToNewClient") { + logger.log( + "A new debug session has been started. This session will be closed..." + ); + ws.close(WEBSOCKET_CLOSE_CODE.NEW_CLIENT_CONNECTED); + return; + } + if (data.action === "failedToSendResponseDueToStubDisconnected") { + logger.log( + chalk.grey( + `${debugRequestId} ${chalk.red( + "ERROR" + )} Failed to send response because the Lambda function is not disconnected.` + ) + ); + return; + } + if (data.action === "failedToSendResponseDueToUnknown") { + logger.log( + chalk.grey( + `${debugRequestId} ${chalk.red( + "ERROR" + )} Failed to send response to the Lambda function.` + ) + ); + return; + } + if (data.action !== "newRequest") { + return; + } + + const { + stubConnectionId, + event, + context, + env, + debugRequestId, + debugRequestExpireAt, + debugRequestTimeoutInMs, + debugSrcPath, + debugSrcHandler, + } = data; + + logger.log( + chalk.grey(`${debugRequestId} REQUEST ${JSON.stringify(event, null, 4)}`) + ); + + // Validate request did not expire + if (debugRequestExpireAt < Date.now()) { + logger.log(chalk.grey(`${debugRequestId} DISCARDED ${debugRequestId}`)); + return; + } + + // From Lambda /var/runtime/bootstrap + // https://link.medium.com/7ir11kKjwbb + const newSpace = Math.floor(context.memoryLimitInMB / 10); + const semiSpace = Math.floor(newSpace / 2); + const oldSpace = context.memoryLimitInMB - newSpace; + + let lambdaResponse; + const lambda = spawn( + "node", + [ + `--max-old-space-size=${oldSpace}`, + `--max-semi-space-size=${semiSpace}`, + "--max-http-header-size=81920", // HTTP header limit of 8KB + require.resolve("../scripts/wrapper/bootstrap.js"), + JSON.stringify(event), + JSON.stringify(context), + //"./src", // Local path to the Lambda functions + //"hello.handler", debugSrcPath, debugSrcHandler, - event, - context, - } = JSON.parse(data); - console.log("INFO", debugRequestId, "REQUEST", JSON.stringify(event)); - if (action !== "newRequest" || debugRequestExpireAt < Date.now()) { - console.log("INFO", debugRequestId, "DISCARDED"); - return; + ], + { + stdio: ["inherit", "inherit", "inherit", "ipc"], + cwd: paths.appPath, + env: { ...process.env, ...env }, } - //delete require.cache[require.resolve('./lambda/handler')]; - //const handler = require('./lambda/handler'); - //const response = handler.main(); - //const srcEntry = props && props.entry - // || path.basename(__filename).split('.').splice(-1, 0,'id').join('.'); - //const srcHandler = props && props.handler || 'handler'; - - // From Lambda /var/runtime/bootstrap - // https://link.medium.com/7ir11kKjwbb - const newSpace = Math.floor(context.memoryLimitInMB / 10); - const semiSpace = Math.floor(newSpace / 2); - const oldSpace = context.memoryLimitInMB - newSpace; - - let lambdaResponse; - const lambda = spawn( - "node", - [ - `--max-old-space-size=${oldSpace}`, - `--max-semi-space-size=${semiSpace}`, - "--max-http-header-size=81920", // HTTP header limit of 8KB - require.resolve("../scripts/wrapper/bootstrap.js"), - JSON.stringify(event), - JSON.stringify(context), - //"./src", // Local path to the Lambda functions - //"hello.handler", - debugSrcPath, - debugSrcHandler, - ], - { stdio: ["inherit", "inherit", "inherit", "ipc"], cwd: paths.appPath } - ); - const timer = setTimer(lambda, handleResponse, debugRequestTimeoutInMs); - - function handleResponse(response) { - switch (response.type) { - case "success": - case "failure": - lambdaResponse = response; - break; - default: - } + ); + const timer = setTimer(lambda, handleResponse, debugRequestTimeoutInMs); + + function handleResponse(response) { + console.log(response); + switch (response.type) { + case "success": + case "failure": + case "timeout": + lambdaResponse = response; + break; + default: } + } - function returnLambdaResponse() { - console.log( - "INFO", - debugRequestId, - "RESPONSE", - JSON.stringify(lambdaResponse) + function returnLambdaResponse() { + // Handle timeout: do not send a response, let stub timeout + if (lambdaResponse.type === "timeout") { + logger.log( + chalk.grey(`${debugRequestId} ${chalk.red("ERROR")} Lambda timed out.`) ); - ws.send( - JSON.stringify({ - action: "newResponse", - debugRequestId, - stubConnectionId, - response: lambdaResponse.data, - }) + return; + } + + // handle success/failure + if (lambdaResponse.type === "success") { + logger.log( + chalk.grey( + `${debugRequestId} RESPONSE ${JSON.stringify( + lambdaResponse.data, + null, + 4 + )}` + ) ); + } else if (lambdaResponse.type === "failure") { + logger.log(chalk.grey(`${debugRequestId} ${chalk.red("ERROR")}`)); + console.log(lambdaResponse.error); } + ws.send( + JSON.stringify({ + action: "newResponse", + debugRequestId, + stubConnectionId, + responseData: lambdaResponse.data, + responseError: lambdaResponse.error, + }) + ); + } - lambda.on("message", handleResponse); - lambda.on("exit", function () { - returnLambdaResponse(); - clearTimeout(timer); - }); + lambda.on("message", handleResponse); + lambda.on("exit", function () { + returnLambdaResponse(); + clearTimeout(timer); }); } module.exports = async function (argv, cliInfo) { const config = applyConfig(argv); - // - // console.log(argv, config, cliInfo); - // - // const stage = config.stage; - // const region = config.region; - // - // return; - - const region = "us-east-1"; - const stage = "local"; - const stack = `${stage}-debug-stack`; + const stackName = `${config.stage}-debug-stack`; // Deploy debug stack - execSync("npx cdk deploy --require-approval never", { - stdio: ["inherit", "inherit", "inherit"], - cwd: `${paths.ownPath}/scripts/debug`, + logger.log(""); + logger.log("======================="); + logger.log(" Deploying debug stack"); + logger.log("======================="); + logger.log(""); + const debugAppEnvs = [ + `SST_DEBUG_STACK=${stackName}`, + `SST_DEBUG_STAGE=${config.stage}`, + `SST_DEBUG_REGION=${config.region}`, + ]; + // Note: When deploying the debug stack, the current working directory is user's app. + // Setting the current working directory to debug stack cdk app directory to allow + // Lambda Function construct be able to reference code with relative path. + process.chdir(`${paths.ownPath}/scripts/debug`); + const debugStackRet = await cdkDeploy({ + ...cliInfo.cdkOptions, + app: `${debugAppEnvs.join(" ")} node bin/index.js`, + output: "cdk.out", }); // Get websocket endpoint - const cf = new AWS.CloudFormation({ region }); - const cfRet = await cf.describeStacks({ StackName: stack }).promise(); - const debugEndpoint = cfRet.Stacks[0].Outputs.find( - (output) => output.OutputKey === "Endpoint" - ).OutputValue; - //process.env.SST_DEBUG_ENDPOINT = debugEndpoint; - - config.debugEndpoint = debugEndpoint; - - prepareCdk(argv, cliInfo, config); + if ( + !debugStackRet || + !debugStackRet.outputs || + !debugStackRet.outputs.Endpoint + ) { + throw new Error( + `Failed to get the endpoint from the deployed debug stack ${stackName}` + ); + } + config.debugEndpoint = debugStackRet.outputs.Endpoint; // Deploy app - await deploy(argv, config, cliInfo); + logger.log(""); + logger.log("==============="); + logger.log(" Deploying app"); + logger.log("==============="); + logger.log(""); + // Note: Restore working directory + process.chdir(paths.appPath); + prepareCdk(argv, cliInfo, config); + await sstDeploy(argv, config, cliInfo); // Start client - startClient(debugEndpoint); + logger.log(""); + logger.log("==================="); + logger.log(" Starting debugger"); + logger.log("==================="); + logger.log(""); + startClient(config.debugEndpoint); }; diff --git a/packages/cli/scripts/wrapper/bootstrap.js b/packages/cli/scripts/wrapper/bootstrap.js index 2476da8d4c..37f6bed482 100644 --- a/packages/cli/scripts/wrapper/bootstrap.js +++ b/packages/cli/scripts/wrapper/bootstrap.js @@ -8,6 +8,7 @@ process.on("unhandledRejection", (err) => { }); const path = require("path"); +const { serializeError } = require("./serializeError"); const CALLBACK_USED = Symbol("CALLBACK_USED"); @@ -100,13 +101,8 @@ function invokeResponse(result) { } function invokeError(err) { - const { name, message, stack } = err; process.send({ type: "failure", - data: { - errorType: name || typeof err, - errorMessage: message || "" + err, - stackTrace: (stack || "").split("\n").slice(1), - }, + error: serializeError(err), }); } diff --git a/packages/cli/scripts/wrapper/serializeError.js b/packages/cli/scripts/wrapper/serializeError.js new file mode 100644 index 0000000000..ee59bb93f9 --- /dev/null +++ b/packages/cli/scripts/wrapper/serializeError.js @@ -0,0 +1,67 @@ +// Serialize error +// https://github.com/sindresorhus/serialize-error/blob/master/index.js +const commonProperties = [ + { property: "name", enumerable: false }, + { property: "message", enumerable: false }, + { property: "stack", enumerable: false }, + { property: "code", enumerable: true }, +]; + +const destroyCircular = ({ from, seen, to_, forceEnumerable }) => { + const to = to_ || (Array.isArray(from) ? [] : {}); + + seen.push(from); + + for (const [key, value] of Object.entries(from)) { + if (typeof value === "function") { + continue; + } + + if (!value || typeof value !== "object") { + to[key] = value; + continue; + } + + if (!seen.includes(from[key])) { + to[key] = destroyCircular({ + from: from[key], + seen: seen.slice(), + forceEnumerable, + }); + continue; + } + + to[key] = "[Circular]"; + } + + for (const { property, enumerable } of commonProperties) { + if (typeof from[property] === "string") { + Object.defineProperty(to, property, { + value: from[property], + enumerable: forceEnumerable ? true : enumerable, + configurable: true, + writable: true, + }); + } + } + + return to; +}; + +const serializeError = (value) => { + if (typeof value === "object" && value !== null) { + return destroyCircular({ from: value, seen: [], forceEnumerable: true }); + } + + // People sometimes throw things besides Error objects… + if (typeof value === "function") { + // `JSON.stringify()` discards functions. We do too, unless a function is thrown directly. + return `[Function: ${value.name || "anonymous"}]`; + } + + return value; +}; + +module.exports = { + serializeError, +}; diff --git a/packages/cli/test/start/lib/index.js b/packages/cli/test/start/lib/index.js index f306a4400e..722a71c965 100644 --- a/packages/cli/test/start/lib/index.js +++ b/packages/cli/test/start/lib/index.js @@ -1,6 +1,8 @@ import * as sst from "@serverless-stack/resources"; import * as cdk from "@aws-cdk/core"; import * as lambda from "@aws-cdk/aws-lambda"; +import * as sns from "@aws-cdk/aws-sns"; +import * as subscriptions from "@aws-cdk/aws-sns-subscriptions"; import * as apig from "@aws-cdk/aws-apigatewayv2"; import * as apigIntegrations from "@aws-cdk/aws-apigatewayv2-integrations"; @@ -10,18 +12,34 @@ class MySampleStack extends sst.Stack { const { stage, name } = this.node.root; - const func = new sst.Function(this, "MyLambda", { + const topic = new sns.Topic(this, "MyTopic", { + displayName: "Customer subscription topic", + }); + const snsFunc = new sst.Function(this, "MySnsLambda", { code: lambda.Code.fromAsset("src"), - handler: "hello.handler", - timeout: cdk.Duration.seconds(6), + handler: "sns.handler", + timeout: cdk.Duration.seconds(600), runtime: lambda.Runtime.NODEJS_12_X, memorySize: 1024, }); + topic.addSubscription(new subscriptions.LambdaSubscription(snsFunc)); + const apiFunc = new sst.Function(this, "MyApiLambda", { + code: lambda.Code.fromAsset("src"), + handler: "hello.handler", + timeout: cdk.Duration.seconds(600), + runtime: lambda.Runtime.NODEJS_12_X, + memorySize: 1024, + environment: { + DRINK: "COFFEE", + TOPIC_ARN: topic.topicArn, + }, + }); + topic.grantPublish(apiFunc); const api = new apig.HttpApi(this, "Api"); api.addRoutes({ integration: new apigIntegrations.LambdaProxyIntegration({ - handler: func, + handler: apiFunc, }), methods: [apig.HttpMethod.GET], path: "/", diff --git a/packages/cli/test/start/package.json b/packages/cli/test/start/package.json index 0a8bb693c6..1c5e2700c1 100644 --- a/packages/cli/test/start/package.json +++ b/packages/cli/test/start/package.json @@ -14,6 +14,8 @@ "@aws-cdk/aws-apigatewayv2": "1.74.0", "@aws-cdk/aws-apigatewayv2-integrations": "1.74.0", "@aws-cdk/aws-lambda": "1.74.0", + "@aws-cdk/aws-sns": "1.74.0", + "@aws-cdk/aws-sns-subscriptions": "1.74.0", "@aws-cdk/core": "1.74.0", "@serverless-stack/resources": "../../../resources" }, diff --git a/packages/cli/test/start/src/hello.js b/packages/cli/test/start/src/hello.js index 432a997591..9b9f6fa96f 100644 --- a/packages/cli/test/start/src/hello.js +++ b/packages/cli/test/start/src/hello.js @@ -1,13 +1,27 @@ setTimeout(() => console.log("still here"), 3000); -exports.handler = function (event, context, callback) { +const AWS = require("aws-sdk"); +AWS.config.logger = console; +const sns = new AWS.SNS(); + +exports.handler = async function (event, context, callback) { context.callbackWaitsForEmptyEventLoop = false; - console.log("Calling from inside the function"); - //setTimeout(() => { - callback(null, { - statusCode: 200, - headers: { "Content-Type": "text/plain" }, - body: "New World with event: " + JSON.stringify(event), - }); - //}, 2000); + + console.log("Calling from inside the api function"); + + await sns + .publish({ + TopicArn: process.env.TOPIC_ARN, + Message: JSON.stringify({ abc: 123 }), + MessageStructure: "string", + }) + .promise(); + + setTimeout(() => { + callback(null, { + statusCode: 200, + headers: { "Content-Type": "text/plain" }, + body: "New World with event: " + JSON.stringify(event), + }); + }, 2000); }; diff --git a/packages/cli/test/start/src/sns.js b/packages/cli/test/start/src/sns.js new file mode 100644 index 0000000000..ac3be2a757 --- /dev/null +++ b/packages/cli/test/start/src/sns.js @@ -0,0 +1,4 @@ +exports.handler = function (event, context, callback) { + console.log("Calling from inside the sns function"); + callback(null, { status: "real" }); +}; diff --git a/packages/cli/test/start/yarn.lock b/packages/cli/test/start/yarn.lock index 21982f0d16..52a0569747 100644 --- a/packages/cli/test/start/yarn.lock +++ b/packages/cli/test/start/yarn.lock @@ -2,518 +2,332 @@ # yarn lockfile v1 -"@aws-cdk/assets@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/assets/-/assets-1.61.0.tgz#9702ba8ef5b3c45ec47e0530006d63dc0685a5ff" - integrity sha512-VJfH8oVAsIa5lo+SmDF5d6r1J9Fb9TrnQINrzr68shhdY/RAkys5cr9SXO4lcpWmGsNXB9z+tEtEz9IT79e2QA== - dependencies: - "@aws-cdk/core" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/assets@1.73.0": - version "1.73.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/assets/-/assets-1.73.0.tgz#dcca310ac82f2e2370cb7307b227dd59e319606e" - integrity sha512-fAdRAWn/IWbalMZva86Q4BimYrwipSoqPzyC5d6fwxNmJU/QiFLMpILanS1T9a0a+yjqAqk+8pAXn44lZIOlPQ== - dependencies: - "@aws-cdk/core" "1.73.0" - "@aws-cdk/cx-api" "1.73.0" - constructs "^3.2.0" - -"@aws-cdk/aws-apigatewayv2-integrations@1.73.0": - version "1.73.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-apigatewayv2-integrations/-/aws-apigatewayv2-integrations-1.73.0.tgz#6b225f21231f3892368f9be2c327f2edbab7e8f9" - integrity sha512-yQdJI/8CrBvw4s8H/9rsw6XAJXhQMScf95lsj52uwNmHi/Xz1PYVVlisbEa5Fg8CUCFWO0lRG81QLNZpgfLzow== - dependencies: - "@aws-cdk/aws-apigatewayv2" "1.73.0" - "@aws-cdk/aws-ec2" "1.73.0" - "@aws-cdk/aws-elasticloadbalancingv2" "1.73.0" - "@aws-cdk/aws-iam" "1.73.0" - "@aws-cdk/aws-lambda" "1.73.0" - "@aws-cdk/aws-servicediscovery" "1.73.0" - "@aws-cdk/core" "1.73.0" - constructs "^3.2.0" - -"@aws-cdk/aws-apigatewayv2@1.73.0": - version "1.73.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-apigatewayv2/-/aws-apigatewayv2-1.73.0.tgz#c305288d049d9a1905642a60eedeabcfb8737df2" - integrity sha512-+++K1KADMSFGgvOaj3OwiVcNEYWUR878rqH50EDEf/UxaYky3eD0Sg255sGQWrjbi3bb60lYdzVFDjADHHnEtw== +"@aws-cdk/assets@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/assets/-/assets-1.74.0.tgz#8aea948a32afcf7c60449346a087c4b5aecff251" + integrity sha512-ZXmiJ9Qf0odTJWQPEvN+41wI1MAOK0PS5E/CTTOc9qSZufHKxpF0UPNu+8G/cMUnmKoonih8eglUCR8mmVzGrQ== dependencies: - "@aws-cdk/aws-certificatemanager" "1.73.0" - "@aws-cdk/aws-cloudwatch" "1.73.0" - "@aws-cdk/aws-ec2" "1.73.0" - "@aws-cdk/aws-iam" "1.73.0" - "@aws-cdk/core" "1.73.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" constructs "^3.2.0" -"@aws-cdk/aws-applicationautoscaling@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-applicationautoscaling/-/aws-applicationautoscaling-1.61.0.tgz#8129984ba0185bbb525fd8ef6328c5c84e51e4e5" - integrity sha512-KP2zJ2hJYZgrl2glfCFpK0l9PJderMNS2MAH7xr0JuiFwAPuJgNEmOkrtVAgrsTGFDBisvXQpqr6L84EQxBfyw== - dependencies: - "@aws-cdk/aws-autoscaling-common" "1.61.0" - "@aws-cdk/aws-cloudwatch" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-applicationautoscaling@1.73.0": - version "1.73.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-applicationautoscaling/-/aws-applicationautoscaling-1.73.0.tgz#2de1f609d25bd9a69c458ec06ae59820f75865f4" - integrity sha512-ROJPuj+PyrYa7/P6JoTrsFs8WMxKra1yuXZJ3r0iTrnAgCDAVCVpzmiF3Uwqw6rip1o63ZLT3fxxMeJBb2wL7Q== - dependencies: - "@aws-cdk/aws-autoscaling-common" "1.73.0" - "@aws-cdk/aws-cloudwatch" "1.73.0" - "@aws-cdk/aws-iam" "1.73.0" - "@aws-cdk/core" "1.73.0" +"@aws-cdk/aws-apigatewayv2-integrations@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-apigatewayv2-integrations/-/aws-apigatewayv2-integrations-1.74.0.tgz#a242aaa74e0f294da9b3beefd46a28fb53de5355" + integrity sha512-DkhmqK5VrYPOdCu75fzUCFX1ZXS+JcMq28MSW6chre23aDWDpLmFR3yoJ5+AxqgqxCmM2O5kqyIkjh5YaKC1Xg== + dependencies: + "@aws-cdk/aws-apigatewayv2" "1.74.0" + "@aws-cdk/aws-ec2" "1.74.0" + "@aws-cdk/aws-elasticloadbalancingv2" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-lambda" "1.74.0" + "@aws-cdk/aws-servicediscovery" "1.74.0" + "@aws-cdk/core" "1.74.0" constructs "^3.2.0" -"@aws-cdk/aws-autoscaling-common@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-common/-/aws-autoscaling-common-1.61.0.tgz#9e7f6a8669b36001b846d90fa8cb65d8b4edb27b" - integrity sha512-Mc02ZTp6gGGOycYHygyTWfXMajOi5bEAq6d6nJOQdzZSj2oiRmtQeF/Fd4earXFcl+lhSFMyUPEQPvZyvngQWQ== +"@aws-cdk/aws-apigatewayv2@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-apigatewayv2/-/aws-apigatewayv2-1.74.0.tgz#c65c94e25b70fcee53a3e15e211f74819eff4d77" + integrity sha512-Z8GRXYZX6MHZeyKQpiiCUvtxIKh6y9UGRM9f6+xfjMa75WwjoM8cFm9h41720LwKcUXYj0TlKiqEyeL12UIAYA== dependencies: - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-autoscaling-common@1.73.0": - version "1.73.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-common/-/aws-autoscaling-common-1.73.0.tgz#087cc95ed07cdc2e13acb770db40029e786c4c33" - integrity sha512-AJf9F9X/ktSMLj/NaX0ccPXr7VlDR6CTycpEgJZU4qbXqIW/LhIDkAhH15CNV38WYQnVDkVSQgDNfCtGaeHTqA== - dependencies: - "@aws-cdk/aws-iam" "1.73.0" - "@aws-cdk/core" "1.73.0" + "@aws-cdk/aws-certificatemanager" "1.74.0" + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-ec2" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" constructs "^3.2.0" -"@aws-cdk/aws-certificatemanager@1.73.0": - version "1.73.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-certificatemanager/-/aws-certificatemanager-1.73.0.tgz#c21eb5c015985d65473429e6d1fc4184da1ac1bc" - integrity sha512-r5talegg1Z79Fo289JRgm1u6SV16I7nO4AZEmmbceDByDnXiRcnroi0o9fZTVWNUYuIwrpY4ZWR2UTKY71xYTg== +"@aws-cdk/aws-applicationautoscaling@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-applicationautoscaling/-/aws-applicationautoscaling-1.74.0.tgz#ad5e946e68bd4094c3236e983d36f67d66135dfc" + integrity sha512-QqEm+jN2zQyficWAQWIIJTN+HwonBx5lS+Ccgx8vR+lXAPW9BORtsuEd0jKzMs2LVF+eiRQcwgD1WqH99HFPXw== dependencies: - "@aws-cdk/aws-iam" "1.73.0" - "@aws-cdk/aws-lambda" "1.73.0" - "@aws-cdk/aws-route53" "1.73.0" - "@aws-cdk/core" "1.73.0" + "@aws-cdk/aws-autoscaling-common" "1.74.0" + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" constructs "^3.2.0" -"@aws-cdk/aws-cloudwatch@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.61.0.tgz#3c0171ca76d086da424c1b4148a53c4d68dd885a" - integrity sha512-/Lp+8OU82m2+VX0GDeO8RIzyJDEvZQQaSQYflXRAFxFDrHiU6i4kXLbr1j4jebB9r+NSEAZ6XopBNg+JsAXGug== +"@aws-cdk/aws-autoscaling-common@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-common/-/aws-autoscaling-common-1.74.0.tgz#f6bcbb987830f299b6e2ef454944afdde9a8a82e" + integrity sha512-UHqhMxGjGe00XaZfb7+OtAbY48vU2PdjYxIiRlFqrvJ7w6ws2dW7trKRHfpmbIF6M8h3Jtys1y69UuijaIHTlg== dependencies: - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" -"@aws-cdk/aws-cloudwatch@1.73.0": - version "1.73.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.73.0.tgz#322638c3ab86bb9a9df24ab73de532fd4c9b98ed" - integrity sha512-H6MQVtJfKAJyE6DRHe71ivFu9OjhH32VtsJUZ1xuQ/pyeoQlOQ6fj0FIjz4ObG3qDBq72SBfrbPAQ3q+2g3HfA== +"@aws-cdk/aws-certificatemanager@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-certificatemanager/-/aws-certificatemanager-1.74.0.tgz#35b07c4b396a3db96da5d431e549460d1edc2251" + integrity sha512-Ve1SYM6qpUysHLD5bzHiE4kXBeo7VAEQlUti0cjkkjkuPh+dKHti/TqYhA0tkfUIMjZylnvkogBzMYdIUBTNxg== dependencies: - "@aws-cdk/aws-iam" "1.73.0" - "@aws-cdk/core" "1.73.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-lambda" "1.74.0" + "@aws-cdk/aws-route53" "1.74.0" + "@aws-cdk/core" "1.74.0" constructs "^3.2.0" -"@aws-cdk/aws-codeguruprofiler@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codeguruprofiler/-/aws-codeguruprofiler-1.61.0.tgz#1ace4c61a4a7b916f4dbe28070b5b914949e6f06" - integrity sha512-eS+evPzEOP2rODucLcNSIlXNozA+/6Pf2H0Igde5UiMmYSX3/ZRXm/EytKNtyF7pnWiWMymmBLwCue2V/FDV0w== +"@aws-cdk/aws-cloudwatch@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.74.0.tgz#94a29d2998a5c08412084b346d404b3a8b90f8a8" + integrity sha512-FqkU9JNM63JzdKVwmI07UJ2upDLrqByEs6kXMNOv0RxfvLIe73DNfBp8T+WxJ23G38sCLfeTsPIIG5K2XzOQGg== dependencies: - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/core" "1.61.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" -"@aws-cdk/aws-codeguruprofiler@1.73.0": - version "1.73.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codeguruprofiler/-/aws-codeguruprofiler-1.73.0.tgz#9dd6c9ff00aee0f05f6b9602521a44893aef5ecd" - integrity sha512-WcJjCT+4zd3v4E1nWUagpHKWVIafM4vMe+4DAcBXZbhqXww1yyXUxf1A08uc7zQGko3hvIoHp41maAiT5G6/nw== +"@aws-cdk/aws-codeguruprofiler@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codeguruprofiler/-/aws-codeguruprofiler-1.74.0.tgz#d749688e9edb252ce6fc68efa4f9977f7ba02cb6" + integrity sha512-CF4NqFSPeFnqbVG23+BozGNVha2Pk7vXaLGCPZPlHmx2jwaxZHCdxK+VvtOtV3fVPr6CI97SsTq9TwiFciv+zg== dependencies: - "@aws-cdk/aws-iam" "1.73.0" - "@aws-cdk/core" "1.73.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" constructs "^3.2.0" -"@aws-cdk/aws-ec2@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ec2/-/aws-ec2-1.61.0.tgz#d39b1f5356c57089b963bbe4644adc02fd12a4bf" - integrity sha512-mW1tij3tuvHfgNlLQst1XkvSOoV/r3iUQFLhJ8QMG8h0KUiHRyY0i+kj3Ern4GxlwNUfM6RY3f12qtSpRpVPxQ== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/aws-logs" "1.61.0" - "@aws-cdk/aws-s3" "1.61.0" - "@aws-cdk/aws-s3-assets" "1.61.0" - "@aws-cdk/aws-ssm" "1.61.0" - "@aws-cdk/cloud-assembly-schema" "1.61.0" - "@aws-cdk/core" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - "@aws-cdk/region-info" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-ec2@1.73.0": - version "1.73.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ec2/-/aws-ec2-1.73.0.tgz#8c1fd13ff399d4acb7ab7a18e431bf72b0f8dea2" - integrity sha512-XjGcHaVlaJNorXv8qrRt7k8rPLE8yV1SAJWHY/SIf7NzIg9Y6lFV0eVkBU5RINfuD9GIW8YbgtLGE5ZpfZ5YkA== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.73.0" - "@aws-cdk/aws-iam" "1.73.0" - "@aws-cdk/aws-kms" "1.73.0" - "@aws-cdk/aws-logs" "1.73.0" - "@aws-cdk/aws-s3" "1.73.0" - "@aws-cdk/aws-s3-assets" "1.73.0" - "@aws-cdk/aws-ssm" "1.73.0" - "@aws-cdk/cloud-assembly-schema" "1.73.0" - "@aws-cdk/core" "1.73.0" - "@aws-cdk/cx-api" "1.73.0" - "@aws-cdk/region-info" "1.73.0" +"@aws-cdk/aws-ec2@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ec2/-/aws-ec2-1.74.0.tgz#eae31df9045ca9374daf6b1562674e31d8053aff" + integrity sha512-TcJtdSFur8Pkhfz39nhPZH2LBiugBhSrDkAUfeEVVwDEa4kvNys7xkcwvvBouFhM6YhitjZ53j9d7d4CEBc73g== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/aws-logs" "1.74.0" + "@aws-cdk/aws-s3" "1.74.0" + "@aws-cdk/aws-s3-assets" "1.74.0" + "@aws-cdk/aws-ssm" "1.74.0" + "@aws-cdk/cloud-assembly-schema" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + "@aws-cdk/region-info" "1.74.0" constructs "^3.2.0" -"@aws-cdk/aws-efs@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-efs/-/aws-efs-1.61.0.tgz#c4d66d0d928c01c8018c1c8bc75a1c5097d649ce" - integrity sha512-WeF3SF681V43E+u2j78om+y4r1Ay4JPTAns8y6SFcZOLqH+6qlXusGrwQoZcHpD4MTSU60NZKD8O0u1A111osg== - dependencies: - "@aws-cdk/aws-ec2" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/cloud-assembly-schema" "1.61.0" - "@aws-cdk/core" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-efs@1.73.0": - version "1.73.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-efs/-/aws-efs-1.73.0.tgz#48d87d8f2135f6d138a81fa8ff4f26715c672913" - integrity sha512-sWUU+nhJ78T5tElLy7BqUrlXj4kGv43nrkWE5+jbTaLRFEpJPM6fMuWfzcJGfkqpbppjc/aySyCPbvEcWb7bDQ== - dependencies: - "@aws-cdk/aws-ec2" "1.73.0" - "@aws-cdk/aws-kms" "1.73.0" - "@aws-cdk/cloud-assembly-schema" "1.73.0" - "@aws-cdk/core" "1.73.0" - "@aws-cdk/cx-api" "1.73.0" +"@aws-cdk/aws-efs@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-efs/-/aws-efs-1.74.0.tgz#367b89f14ccd090f98227dbc975076571b31faac" + integrity sha512-ghzwm/e8qQlOM/PKgfscbVFny9qhQNrXZltxckhHdTEX3Wtx9RXpveWzEOGBoHBJHSv49gkvAwtvzTbxCss4QA== + dependencies: + "@aws-cdk/aws-ec2" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/cloud-assembly-schema" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" constructs "^3.2.0" -"@aws-cdk/aws-elasticloadbalancingv2@1.73.0": - version "1.73.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-elasticloadbalancingv2/-/aws-elasticloadbalancingv2-1.73.0.tgz#b2159f142b14f90b6cf059402d40159ea326bad5" - integrity sha512-NqsPFxyCm6RSeaXQigQJh3CSUeKiAhOB4B1cyU4t/lHVG2EUd4ObDmOYLRREfXEax+nqDg+ZhLzDR03I+sXhIg== - dependencies: - "@aws-cdk/aws-certificatemanager" "1.73.0" - "@aws-cdk/aws-cloudwatch" "1.73.0" - "@aws-cdk/aws-ec2" "1.73.0" - "@aws-cdk/aws-iam" "1.73.0" - "@aws-cdk/aws-lambda" "1.73.0" - "@aws-cdk/aws-s3" "1.73.0" - "@aws-cdk/cloud-assembly-schema" "1.73.0" - "@aws-cdk/core" "1.73.0" - "@aws-cdk/cx-api" "1.73.0" - "@aws-cdk/region-info" "1.73.0" +"@aws-cdk/aws-elasticloadbalancingv2@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-elasticloadbalancingv2/-/aws-elasticloadbalancingv2-1.74.0.tgz#794ee49baac329e43884748ecda3e66348fd5088" + integrity sha512-+Zx6/7CqZcsubSwxFC6rTq+uyzzQjIOGOh8RN/q93EZ9+snSJM/mRdZ/1DyNIjfSFbwyYQ1usE9rbYi1XWDPVA== + dependencies: + "@aws-cdk/aws-certificatemanager" "1.74.0" + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-ec2" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-lambda" "1.74.0" + "@aws-cdk/aws-s3" "1.74.0" + "@aws-cdk/cloud-assembly-schema" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + "@aws-cdk/region-info" "1.74.0" constructs "^3.2.0" -"@aws-cdk/aws-events@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events/-/aws-events-1.61.0.tgz#718fd427ee09a11e30c96b66c88bc9b6169f5dff" - integrity sha512-DBEi/XPnWvQJ42dv28JdQSHGUz9N6fqYjR8FSNc2s0oXgDqGQ+8rU1Hxcj6s2Qb7lBQ66pHsvlpUcqZANIoddw== +"@aws-cdk/aws-events@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events/-/aws-events-1.74.0.tgz#2ed5a4cdd737ce4c8950506df496d0b43ac6aa12" + integrity sha512-dmVswvSBd2jZzgPJCQell+u9bRYNg63p1e57bXmql6Rm1UJDPTbvESPXsdwwFW2WpJyXwHOOM+qe98r5CbcTUw== dependencies: - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" -"@aws-cdk/aws-events@1.73.0": - version "1.73.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events/-/aws-events-1.73.0.tgz#178a5e2ff0f11f20d79a722785b05491f16c95bc" - integrity sha512-CvOAIAt00xCWKC2U96NAgA8xIkzrNkwalCXk3RIRjz9xEVge5w3lQ7Hy6lSSbhyTfxQV01bppZO2ExaeAKOjOg== +"@aws-cdk/aws-iam@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-iam/-/aws-iam-1.74.0.tgz#c255c9676fb6048ab27c00d111ed5e7d8b46877c" + integrity sha512-5Eq4e4/be2HMFZXc1sCeNjqgTyjlWgvIjbLh0Q4c01V05r7MbPdmfZRurbeEA6NohGf+zYFQrCzPnTaqvFPFHA== dependencies: - "@aws-cdk/aws-iam" "1.73.0" - "@aws-cdk/core" "1.73.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/region-info" "1.74.0" constructs "^3.2.0" -"@aws-cdk/aws-iam@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-iam/-/aws-iam-1.61.0.tgz#df38b5a3a33dd28f89d57884190fe429b2507bb9" - integrity sha512-CDFrRPkt4JR9iSVn+D18ThU201m2Ck2T5+E9044yJqkUgfbcMXO54ls2DlLbCg1RUrazRrqQ9Bu0IxDHbTwaKg== +"@aws-cdk/aws-kms@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kms/-/aws-kms-1.74.0.tgz#73531f7b5d2542eb5e3f7bb54604944921e34995" + integrity sha512-4cTNqzNkml3RV6uobSwq7ZtPBjwNovOxv75vzGNNRw1GO6hxqDzoPRIsgfwNvVii8tv27eR0xTK0t6WlKqoVzg== dependencies: - "@aws-cdk/core" "1.61.0" - "@aws-cdk/region-info" "1.61.0" - constructs "^3.0.4" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" -"@aws-cdk/aws-iam@1.73.0": - version "1.73.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-iam/-/aws-iam-1.73.0.tgz#a53f3bbaa99b67b56e38fe167a5c867fe339c01f" - integrity sha512-o2pdkEEdwluZegLqlbhfK0zgIbezvKDf5UfwBKloeFSDcGOZAaqF25OPfrTowXkIakHbw2wMswbUlmUgYdmNFg== +"@aws-cdk/aws-lambda-nodejs@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda-nodejs/-/aws-lambda-nodejs-1.74.0.tgz#aa818270e4dcd74be51d402cdb114da311b3c966" + integrity sha512-1mc8I+Yz43El8O8SjsfkABsI31tcpO5e3fAz7/40DKuFgM9jkL6vyiL55MLIckAqmE2N9mRYU0xF4RC7uRZdmQ== dependencies: - "@aws-cdk/core" "1.73.0" - "@aws-cdk/region-info" "1.73.0" + "@aws-cdk/aws-lambda" "1.74.0" + "@aws-cdk/core" "1.74.0" constructs "^3.2.0" -"@aws-cdk/aws-kms@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kms/-/aws-kms-1.61.0.tgz#a6b8429893e31be15b151ef7357e0560920d5527" - integrity sha512-taSQYpcPM705NN32W2UcgNfezTQbqx5YZDR+jp7A/E4OVdR1jojDJn6LKzsIo71s7DDG/k+77oNXEIJsaIhSRA== - dependencies: - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" +"@aws-cdk/aws-lambda@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda/-/aws-lambda-1.74.0.tgz#52175fbc9e679ca5c0f4d15e0666c99fc4a953d0" + integrity sha512-Ju3/mhnli33xnO2qvJUs11djva12SHnmJPGtbx4Nz33z577/pCwLZYWa7noP8eUzAyBglfNlPG8JWH+fNHPbew== + dependencies: + "@aws-cdk/aws-applicationautoscaling" "1.74.0" + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-codeguruprofiler" "1.74.0" + "@aws-cdk/aws-ec2" "1.74.0" + "@aws-cdk/aws-efs" "1.74.0" + "@aws-cdk/aws-events" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-logs" "1.74.0" + "@aws-cdk/aws-s3" "1.74.0" + "@aws-cdk/aws-s3-assets" "1.74.0" + "@aws-cdk/aws-sqs" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + constructs "^3.2.0" -"@aws-cdk/aws-kms@1.73.0": - version "1.73.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kms/-/aws-kms-1.73.0.tgz#76127abeaebaea93adf00aef85ff294494218c0e" - integrity sha512-4aQRGBktM1IYqM0Qa/yio1/sjNuokMdLQNrjTVxyX+AZE2/zPqARe+Gm6sFpPJ9Is8oy0YzecP80QZSCnWpCnQ== +"@aws-cdk/aws-logs@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-logs/-/aws-logs-1.74.0.tgz#cd40afe70ffeb5250ecea1db0ee0a2f68fb2084a" + integrity sha512-wMpjXdJBN3S0gYO3pMjjKxSTlIs0ZUH64k6BnOxDvnltWbBJomD0/qLKMVHShOddm9MMNdD8AaYpCqZsrplZHA== dependencies: - "@aws-cdk/aws-iam" "1.73.0" - "@aws-cdk/core" "1.73.0" + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/aws-s3-assets" "1.74.0" + "@aws-cdk/core" "1.74.0" constructs "^3.2.0" -"@aws-cdk/aws-lambda-nodejs@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda-nodejs/-/aws-lambda-nodejs-1.61.0.tgz#1c1b34fdf34ab585ea1ff5c0687e0d69a6a0d310" - integrity sha512-a6fiCqk4IjNjVGG8K+AjQviavno1SQwHcdf5JBYhXez7aJ8f2oTZHf5HC2UPTk3Ohu6HsIHds8KXbz4uqLp2Sw== - dependencies: - "@aws-cdk/aws-lambda" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-lambda@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda/-/aws-lambda-1.61.0.tgz#65b2fb456f6c2d0566401bd3d265f5bae47d6346" - integrity sha512-LhO/f50ovtsd2uUjLdeTEFdnQlbvXvC4VN5BEnX4X2kpdCpUXsnClVb9EQPEAFaDIE6VEpMnQ6rUR27kTerLCg== - dependencies: - "@aws-cdk/aws-applicationautoscaling" "1.61.0" - "@aws-cdk/aws-cloudwatch" "1.61.0" - "@aws-cdk/aws-codeguruprofiler" "1.61.0" - "@aws-cdk/aws-ec2" "1.61.0" - "@aws-cdk/aws-efs" "1.61.0" - "@aws-cdk/aws-events" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-logs" "1.61.0" - "@aws-cdk/aws-s3" "1.61.0" - "@aws-cdk/aws-s3-assets" "1.61.0" - "@aws-cdk/aws-sqs" "1.61.0" - "@aws-cdk/core" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-lambda@1.73.0": - version "1.73.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda/-/aws-lambda-1.73.0.tgz#2561d19ff9435ec0ef94d5050b92e914bf3c6aec" - integrity sha512-ffw/hK1DbbSXklry4sDmJ+c+dX3Zl+I9DsYNjf0h2aonEKZo+g7ItAhVzr5s1kDnKatlEJTNOw1Kdpn20vFZHg== - dependencies: - "@aws-cdk/aws-applicationautoscaling" "1.73.0" - "@aws-cdk/aws-cloudwatch" "1.73.0" - "@aws-cdk/aws-codeguruprofiler" "1.73.0" - "@aws-cdk/aws-ec2" "1.73.0" - "@aws-cdk/aws-efs" "1.73.0" - "@aws-cdk/aws-events" "1.73.0" - "@aws-cdk/aws-iam" "1.73.0" - "@aws-cdk/aws-logs" "1.73.0" - "@aws-cdk/aws-s3" "1.73.0" - "@aws-cdk/aws-s3-assets" "1.73.0" - "@aws-cdk/aws-sqs" "1.73.0" - "@aws-cdk/core" "1.73.0" - "@aws-cdk/cx-api" "1.73.0" +"@aws-cdk/aws-route53@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-route53/-/aws-route53-1.74.0.tgz#f9b3c770cf613227bba31c4a7499c8f19966f3e4" + integrity sha512-TYnAByXLc6B/uAG03bYLV0kPi1TU8G95kW6wNhfiqvPCSwfizbsg5rztbUoydJpBocbOs9qbtCM7v6gbDsB2bQ== + dependencies: + "@aws-cdk/aws-ec2" "1.74.0" + "@aws-cdk/aws-logs" "1.74.0" + "@aws-cdk/cloud-assembly-schema" "1.74.0" + "@aws-cdk/core" "1.74.0" constructs "^3.2.0" -"@aws-cdk/aws-logs@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-logs/-/aws-logs-1.61.0.tgz#430bb5fc87ec606416ffb0869f04754185092a21" - integrity sha512-swEkiF+VFfsfY2GiCO8o9vzAQVnDUghmCZmg2B1oi4QwG850CBiPzAz88QaZOzqX1YWWXTcGU20yADg6D5nRIw== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-s3-assets" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-logs@1.73.0": - version "1.73.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-logs/-/aws-logs-1.73.0.tgz#dbb01b6dfe144ab74bf37cce55cc39239bb2390a" - integrity sha512-pn/JUpz49nmP81rOW66S36HbBF+RCKDWyN+rQ671zr62T9EPJuRLWxbdahcnAN1eqyCsZEs9PpCvTnacj9ue7w== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.73.0" - "@aws-cdk/aws-iam" "1.73.0" - "@aws-cdk/aws-s3-assets" "1.73.0" - "@aws-cdk/core" "1.73.0" +"@aws-cdk/aws-s3-assets@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.74.0.tgz#7f1988f3931e95d88a8c1357f98c47f7f9b73dee" + integrity sha512-uewjgTOr5q60UbPKHo3qgYApXxFKUIgP6eUZi7v8mhfnZUDw9H9B4rRJ7rHRZ4gYj9ZtiWq1o3hpvWnoHsR+zg== + dependencies: + "@aws-cdk/assets" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/aws-s3" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" constructs "^3.2.0" -"@aws-cdk/aws-route53@1.73.0": - version "1.73.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-route53/-/aws-route53-1.73.0.tgz#c804c9ee74ec0f607b940774994a80afa96b2f5a" - integrity sha512-M3298IkyLELVTlA+2g0EdEV+bYTkC3xzTiHwoqcJeCd8T7IY8E89f73bsweX8k49cu1soPAUvXVJuUfxb6WYEg== +"@aws-cdk/aws-s3@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3/-/aws-s3-1.74.0.tgz#5b53839c3af0f67bfb1e96061f6a1ea5be445fe9" + integrity sha512-xbRbI90hUvmVwGHHMr4dPWv0TXBxr/HeeaLzqLDHv36+TKA0wMR7ttRm3pbT3Kf/YjqSty788rom6lVqaAu81Q== dependencies: - "@aws-cdk/aws-ec2" "1.73.0" - "@aws-cdk/aws-logs" "1.73.0" - "@aws-cdk/cloud-assembly-schema" "1.73.0" - "@aws-cdk/core" "1.73.0" - constructs "^3.2.0" - -"@aws-cdk/aws-s3-assets@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.61.0.tgz#8512ac0e16818bc78eff010d15d6cc99a7d8fccf" - integrity sha512-sipvqw0fJcpT3+Hxdzn2UkbBh/tr+jkzplLq2Jk5Jr0E/7+V5t2kmlEQgyG82ug1J2DERMAdlie8AgzGJ5CxhA== - dependencies: - "@aws-cdk/assets" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/aws-s3" "1.61.0" - "@aws-cdk/core" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-s3-assets@1.73.0": - version "1.73.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.73.0.tgz#fdfae26ef5356368809e0d93f908650c6abb10b5" - integrity sha512-CvxEIBOOj7tYMrMimPSsbtQ4OOurhUIiNIhM38gisTXYgSchKTeDzKJAbalfYOZSNJNEx1wMNL/+oKV/gDtrHQ== - dependencies: - "@aws-cdk/assets" "1.73.0" - "@aws-cdk/aws-iam" "1.73.0" - "@aws-cdk/aws-kms" "1.73.0" - "@aws-cdk/aws-s3" "1.73.0" - "@aws-cdk/core" "1.73.0" - "@aws-cdk/cx-api" "1.73.0" + "@aws-cdk/aws-events" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/core" "1.74.0" constructs "^3.2.0" -"@aws-cdk/aws-s3@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3/-/aws-s3-1.61.0.tgz#a16d697a26d02b6d25636a0606016fbc187eae86" - integrity sha512-tFemzJJtopsiDbcjwpqsSY9xm3wZLWKEg2/9iAAZ4VUEW4feoX7NQyVkYHGH2dfMVufXq/rMZPfbKq7f3cgzAg== - dependencies: - "@aws-cdk/aws-events" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-s3@1.73.0": - version "1.73.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3/-/aws-s3-1.73.0.tgz#bb31d0eb2b2f204420c388015f26998fc702d67c" - integrity sha512-n0PuTBhqFxRfvGHhWk54R2hfS24b5DFkqP2PvTIwRFCBqmSUnRLF8I+GZ4c6RNxfVfDSzQBcGvfuCuNTL1KZLQ== - dependencies: - "@aws-cdk/aws-events" "1.73.0" - "@aws-cdk/aws-iam" "1.73.0" - "@aws-cdk/aws-kms" "1.73.0" - "@aws-cdk/core" "1.73.0" +"@aws-cdk/aws-servicediscovery@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-servicediscovery/-/aws-servicediscovery-1.74.0.tgz#6e1145a4b85371431e8f6b21ce6ca7c9d855680c" + integrity sha512-5pABov1sNs0bgOb4UZKT+5H+OR3+0/8oxefFCiGxcGG4Kxsq4d4XJbmwx1oDUjCJclxlzOTuuCyay5NnoZ+6fg== + dependencies: + "@aws-cdk/aws-ec2" "1.74.0" + "@aws-cdk/aws-elasticloadbalancingv2" "1.74.0" + "@aws-cdk/aws-route53" "1.74.0" + "@aws-cdk/core" "1.74.0" constructs "^3.2.0" -"@aws-cdk/aws-servicediscovery@1.73.0": - version "1.73.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-servicediscovery/-/aws-servicediscovery-1.73.0.tgz#3faec4889f6e89b4b4390bdce359b1661becaef6" - integrity sha512-3IV6+b6QUgQtOAqj1la6dagWufq6FcDIiDkhKLrzr3ppuT2wlkUsq+rjjQ6+4HHVoDEIy15E9/Dhxqm+nINCxQ== +"@aws-cdk/aws-sns-subscriptions@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns-subscriptions/-/aws-sns-subscriptions-1.74.0.tgz#6cdad4a409359122e8a410543e33da59d21b54cc" + integrity sha512-MOuArbCx1nxL5B40RMQzHNnU0SZWkaQfRDTURTQbX4e0OHyq5DnQrtXTu/XyI/MYPBU+ZnC/FXP+hynCatn+nw== dependencies: - "@aws-cdk/aws-ec2" "1.73.0" - "@aws-cdk/aws-elasticloadbalancingv2" "1.73.0" - "@aws-cdk/aws-route53" "1.73.0" - "@aws-cdk/core" "1.73.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-lambda" "1.74.0" + "@aws-cdk/aws-sns" "1.74.0" + "@aws-cdk/aws-sqs" "1.74.0" + "@aws-cdk/core" "1.74.0" constructs "^3.2.0" -"@aws-cdk/aws-sqs@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sqs/-/aws-sqs-1.61.0.tgz#b2d1d7a5d27d36d1580a3cb500daf417037da492" - integrity sha512-gyShf5rmUZCovSHL4PXvAD6TA/xmPESpsi+zx7HU/VXyeGgO6inq/sVzWM0OpCrNUnnoSct5p0yZJytRBnVYaA== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-sqs@1.73.0": - version "1.73.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sqs/-/aws-sqs-1.73.0.tgz#a6108c57d6d22f91c9b11ecc0bb8072bc3d4cef1" - integrity sha512-15stNsRYY165Vvx/io6TnTSMHar10diLa2k2BTiL+PNzl18SfEIOoTy97PCvJp9AK2Ob9dyQwwjsiutTU56IbA== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.73.0" - "@aws-cdk/aws-iam" "1.73.0" - "@aws-cdk/aws-kms" "1.73.0" - "@aws-cdk/core" "1.73.0" +"@aws-cdk/aws-sns@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns/-/aws-sns-1.74.0.tgz#c9289b34cb2512010a0b6813f684c93398502bdd" + integrity sha512-O0HDGvl1WjCTU53auNJKCW5/6vpbVYlj0RwLgGaOOlTeKnfuq53kGvL/t3QdZQlJWxSvkbN61O+rZB7GacXV0g== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-events" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/aws-sqs" "1.74.0" + "@aws-cdk/core" "1.74.0" constructs "^3.2.0" -"@aws-cdk/aws-ssm@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ssm/-/aws-ssm-1.61.0.tgz#229308cfce757f8b3f75d12bf276ce4f8042076f" - integrity sha512-fOr2g7V7pR9bP7CXWLznM3d0/8EW76pjKLe+uGeXpqnrtXaGCvFBjiAms10oZ2584bn2bWIzikGmzzxzpamJbg== - dependencies: - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/cloud-assembly-schema" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-ssm@1.73.0": - version "1.73.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ssm/-/aws-ssm-1.73.0.tgz#29e5e0126f00b6bd91b58a6757ede3c579d9b9ea" - integrity sha512-6fobpaL7hh0My/aypd7DHQ+sLuPcb7Taj8ngjmoh8H0muiAkfj4O0CjN3cd+kCYRr8T4zRh546ypvFfsc9WEHQ== - dependencies: - "@aws-cdk/aws-iam" "1.73.0" - "@aws-cdk/aws-kms" "1.73.0" - "@aws-cdk/cloud-assembly-schema" "1.73.0" - "@aws-cdk/core" "1.73.0" +"@aws-cdk/aws-sqs@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sqs/-/aws-sqs-1.74.0.tgz#998da5838d4310805432f0cf55fcc7c8f34657e2" + integrity sha512-qlj7ZapoL9oneLu4wh7DfQDypCo6QFlyGzd3nlmn+C9UbCscBkpSJnmYSGi2m0TVCKbd3tP1EpfdU36LTahYBg== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/core" "1.74.0" constructs "^3.2.0" -"@aws-cdk/cloud-assembly-schema@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.61.0.tgz#d4d7f75cba3c52bb0b5406085dc77eefc6393aa9" - integrity sha512-+D1K159eNxWDGJNiyQcwczddzqFDS08b2VAJrgJFvqhMNbNWWuYxxxEJoh5jH9iULr2a52WXrrQfF72HbB0jUQ== +"@aws-cdk/aws-ssm@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ssm/-/aws-ssm-1.74.0.tgz#426dd65c0b933618d5c196cb38386c1035b0fdc4" + integrity sha512-uok/D4ooEVXst0HZYQkcPIM5xlHAVjGjF44Gt68hbdZknBhMbfZP2EWqSZHhSW9HdVoNFTNkIxcI2AemCnt2Qg== dependencies: - jsonschema "^1.2.5" - semver "^7.2.2" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/cloud-assembly-schema" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" -"@aws-cdk/cloud-assembly-schema@1.73.0": - version "1.73.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.73.0.tgz#75e27dddda8f65708a5f649760e92031c296416f" - integrity sha512-3m5nJDLSApAuUMra2WrQF7GHt6xgxqFET91WShtKtj48brZk4MBJ3dLre2LjDVsmMMOVdd6FpjY7tE5C1v9Hyw== +"@aws-cdk/cloud-assembly-schema@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.74.0.tgz#f1bbd8411ec320dd9e14ef2dce626a05019c42bc" + integrity sha512-TOfruzx7zIirRpfL9r5tGcOPdfXQatD3/kgXq4I1px12oH3jmuiEcNxGdvEYgVMPaZGMrx0rtqyT2sGDWBycKw== dependencies: jsonschema "^1.4.0" semver "^7.3.2" -"@aws-cdk/core@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.61.0.tgz#817689a087cb97741fd5e4b407ee603610f30fb3" - integrity sha512-g6vOR7zqWfbSzIM2kqUPH0Tdk4tOUFGX1TM5crty1ndkNja84PvAzEjQZr34U2aCGk+EI2pyB/4D7BLiAhAvKw== +"@aws-cdk/core@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.74.0.tgz#132d31c0ab9d39394827431ccd804cf10de34273" + integrity sha512-1iKRIRKyMQ8ZmPvkAAjSIGl4Fh7tLIE7D23ht25ayNGp0XVG1Hd858x2GmDzI/J1ZK6xsuTsEDGbi5/saR69ng== dependencies: - "@aws-cdk/cloud-assembly-schema" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" - fs-extra "^9.0.1" - minimatch "^3.0.4" - -"@aws-cdk/core@1.73.0": - version "1.73.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.73.0.tgz#15ef8230da5bb9d92b5e1c5f3cff0ade01a2b093" - integrity sha512-CTmUXo0hAH78/uvzfmgW4gQKLnusMxULIEUjd0wnfs/6/zoB6n2DP+lmkr/7Vp4aIG9nNNirThdHesidlx79eA== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.73.0" - "@aws-cdk/cx-api" "1.73.0" - "@aws-cdk/region-info" "1.73.0" + "@aws-cdk/cloud-assembly-schema" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + "@aws-cdk/region-info" "1.74.0" "@balena/dockerignore" "^1.0.2" constructs "^3.2.0" fs-extra "^9.0.1" ignore "^5.1.8" minimatch "^3.0.4" -"@aws-cdk/cx-api@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.61.0.tgz#23f0e0cff978277626d42091907b71a6c4d98580" - integrity sha512-SOn1aLhp2Zot1Qqev1REbgL2n0Ccl9sfg1nJMWnGxAmjarazJfvW22llYKnJPuFkgHswaBlifBxAA4WgKbUn6g== +"@aws-cdk/cx-api@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.74.0.tgz#922c11389d723eadef2bc12666ced4980fe9e4cc" + integrity sha512-Xhq9col3syHmxC3Zl1igrWwvOzwJzwTKwpLLL8ENF8u2n8x4eneAN+OLrRlB/rhAQ+KUL6B8toUsd4pcJMkSOQ== dependencies: - "@aws-cdk/cloud-assembly-schema" "1.61.0" - semver "^7.2.2" - -"@aws-cdk/cx-api@1.73.0": - version "1.73.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.73.0.tgz#328562689a55fba184324ec2b83b3c72b88a1a3f" - integrity sha512-HlBpbIGu71xXdfJ1De1/HOMK5LWzKK9J7REho0oncpAO9KDxAbk+1aOFUZJVEgTsJSUUzLMSIUtDIo+ev70HGA== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.73.0" + "@aws-cdk/cloud-assembly-schema" "1.74.0" semver "^7.3.2" -"@aws-cdk/region-info@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/region-info/-/region-info-1.61.0.tgz#663e44206a92da544183c3a405cd73490fdc3103" - integrity sha512-/10gvecycNJhYM2LIkA0XaoWgUZQ6K5FIIRaf/o4PbgHyR8WTyEPO6lbT0GoKi69TvC+18xzJ4iZ1p3ZdRnUYw== - -"@aws-cdk/region-info@1.73.0": - version "1.73.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/region-info/-/region-info-1.73.0.tgz#9f4444c57fa1d366205409a0a9e6b09f27b428cb" - integrity sha512-jWfx5mY3BaCVeFnbdUxrDTczVTuwShdtu3WkV2vL+W3VnUMzLPKbCPiGY8GutSBlWvoFpubsbVqx8Kw61pRgdQ== +"@aws-cdk/region-info@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/region-info/-/region-info-1.74.0.tgz#e53eabe2d8980c360e63ea956615253551005182" + integrity sha512-xF0etW01PyUNxL9F4xiA2y/pEG9e+0EJpOL7O9gVZ0IxOkIW+J0MljR6O8nx4yCx6j2/dXTs6INZ/zVn0DsydA== "@balena/dockerignore@^1.0.2": version "1.0.2" @@ -523,9 +337,9 @@ "@serverless-stack/resources@../../../resources": version "0.4.3" dependencies: - "@aws-cdk/aws-lambda" "1.61.0" - "@aws-cdk/aws-lambda-nodejs" "1.61.0" - "@aws-cdk/core" "1.61.0" + "@aws-cdk/aws-lambda" "1.74.0" + "@aws-cdk/aws-lambda-nodejs" "1.74.0" + "@aws-cdk/core" "1.74.0" at-least-node@^1.0.0: version "1.0.0" @@ -550,7 +364,7 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= -constructs@^3.0.4, constructs@^3.2.0: +constructs@^3.2.0: version "3.2.37" resolved "https://registry.yarnpkg.com/constructs/-/constructs-3.2.37.tgz#ebced4a0fbfa81be8db730cbe7a82d18410bebcb" integrity sha512-Z2dVwVaaw8cDIOeWT5smfgC4BLhkXK7JAfUUDtoB5WhUIIUZpRX+Pd5ZE6UrEuXSQkaJHUT6MVGxgBFZR3DpxQ== @@ -584,7 +398,7 @@ jsonfile@^6.0.1: optionalDependencies: graceful-fs "^4.1.6" -jsonschema@^1.2.5, jsonschema@^1.4.0: +jsonschema@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.4.0.tgz#1afa34c4bc22190d8e42271ec17ac8b3404f87b2" integrity sha512-/YgW6pRMr6M7C+4o8kS+B/2myEpHCrxO4PEWnqJNBFMjn7EWXqlQ4tGwL6xTHeRplwuZmcAncdvfOad1nT2yMw== @@ -596,7 +410,7 @@ minimatch@^3.0.4: dependencies: brace-expansion "^1.1.7" -semver@^7.2.2, semver@^7.3.2: +semver@^7.3.2: version "7.3.2" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== diff --git a/packages/core/index.js b/packages/core/index.js index 6043dda14c..f309f71f9c 100644 --- a/packages/core/index.js +++ b/packages/core/index.js @@ -16,6 +16,10 @@ async function synth(cdkOptions) { return await cdk.synth(cdkOptions); } +async function deploy(cdkOptions) { + return await cdk.deploy(cdkOptions); +} + async function parallelDeploy(cdkOptions, stackStates) { const STACK_DEPLOY_STATUS_PENDING = "pending"; const STACK_DEPLOY_STATUS_DEPLOYING = "deploying"; @@ -55,7 +59,10 @@ async function parallelDeploy(cdkOptions, stackStates) { region, outputs, exports, - } = await cdk.deploy({ ...cdkOptions, stackName: stackState.name }); + } = await cdk.deployAsync({ + ...cdkOptions, + stackName: stackState.name, + }); stackState.startedAt = Date.now(); stackState.account = account; stackState.region = region; @@ -793,6 +800,7 @@ async function parallelDestroy(cdkOptions, stackStates) { module.exports = { synth, + deploy, getCdkVersion, parallelDeploy, parallelDestroy, diff --git a/packages/core/package.json b/packages/core/package.json index b383af5cc2..8f820c1842 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -20,6 +20,6 @@ "dependencies": { "aws-sdk": "^2.761.0", "chalk": "^4.1.0", - "sst-cdk": "1.74.0-rc.1" + "sst-cdk": "1.74.0-rc.3" } } diff --git a/packages/resources/lambda/stub/index.js b/packages/resources/lambda/stub/index.js index e4882457b4..1bcda83df7 100644 --- a/packages/resources/lambda/stub/index.js +++ b/packages/resources/lambda/stub/index.js @@ -2,9 +2,6 @@ const WebSocket = require("ws"); let ws; let wsCallbackRef = {}; -// TODO -// - handle stub is idle for 10min and connection closes, need to check if closed event is received - exports.main = function (event, context, callback) { context.callbackWaitsForEmptyEventLoop = false; @@ -23,18 +20,31 @@ exports.main = function (event, context, callback) { wsCallbackRef.debugRequestId = debugRequestId; wsCallbackRef.callback = callback; + // Connection closed cases + // - closed while waiting for response + idle longer than 10min => send keep-alive after 9min + // - closed while waiting for response + 2hr connection limit => ? + // - closed while not waiting + idle longer than 10min => ? + // - closed while not waiting + 2hr connection limit => ? + + // Set timer to send keep-alive message if still waiting for response after 9 minutes + let wsKeepAliveTimer; + if (!ws) { - connectAndSendMessage(); + connect(() => { + sendMessage(); + }); } else { sendMessage(); } - function connectAndSendMessage() { + function connect(connectCallback = undefined) { ws = new WebSocket(process.env.SST_DEBUG_ENDPOINT); ws.on("open", () => { console.log("opened"); - sendMessage(); + if (connectCallback) { + connectCallback(); + } }); ws.on("close", () => { @@ -66,14 +76,31 @@ exports.main = function (event, context, callback) { awsRequestId, callbackWaitsForEmptyEventLoop, }, + env: constructEnvs(), }) ); console.log("request sent"); + + // Start timer + wsKeepAliveTimer = setTimeout(function () { + ws.send(JSON.stringify({ action: "keepalive" })); + console.log("sent keepalive message"); + }, 540000); } function receiveMessage(data) { console.log("response received", { data }); - const { action, debugRequestId, response } = JSON.parse(data); + const { action, debugRequestId, responseData, responseError } = JSON.parse( + data + ); + if (action === "failedToSendRequestDueToClientNotConnected") { + throw new Error("Debug client not connected."); + } + + if (action === "failedToSendRequestDueToUnknown") { + throw new Error("Failed to send request to debug client."); + } + if ( action !== "newResponse" || debugRequestId !== wsCallbackRef.debugRequestId @@ -81,6 +108,132 @@ exports.main = function (event, context, callback) { console.log("discard response"); return; } - wsCallbackRef.callback(null, response); + + // Stop timer + if (wsKeepAliveTimer) { + clearTimeout(wsKeepAliveTimer); + } + + // Handle response error + if (responseError) { + throw deserializeError(responseError); + } + + // Handle response data + wsCallbackRef.callback(null, responseData); + } + + function constructEnvs() { + const envs = {}; + Object.keys(process.env) + .filter( + (key) => + ![ + // Include + // + //'AWS_REGION', + //'AWS_DEFAULT_REGION', + //'AWS_LAMBDA_FUNCTION_NAME', + //'AWS_LAMBDA_FUNCTION_VERSION', + //'AWS_ACCESS_KEY_ID', + //'AWS_SECRET_ACCESS_KEY', + //'AWS_SESSION_TOKEN', + // + // Exclude + // + "SST_DEBUG_ENDPOINT", + "SST_DEBUG_SRC_HANDLER", + "SST_DEBUG_SRC_PATH", + "AWS_LAMBDA_FUNCTION_MEMORY_SIZE", + "AWS_LAMBDA_LOG_GROUP_NAME", + "AWS_LAMBDA_LOG_STREAM_NAME", + "LD_LIBRARY_PATH", + "LAMBDA_TASK_ROOT", + "AWS_LAMBDA_RUNTIME_API", + "AWS_EXECUTION_ENV", + "AWS_XRAY_DAEMON_ADDRESS", + "AWS_LAMBDA_INITIALIZATION_TYPE", + "PATH", + "PWD", + "LAMBDA_RUNTIME_DIR", + "LANG", + "NODE_PATH", + "TZ", + "SHLVL", + "_AWS_XRAY_DAEMON_ADDRESS", + "_AWS_XRAY_DAEMON_PORT", + "AWS_XRAY_CONTEXT_MISSING", + "_HANDLER", + "_X_AMZN_TRACE_ID", + ].includes(key) + ) + .forEach((key) => { + envs[key] = process.env[key]; + }); + return envs; } }; + +// Serialize error +// https://github.com/sindresorhus/serialize-error/blob/master/index.js +const commonProperties = [ + { property: "name", enumerable: false }, + { property: "message", enumerable: false }, + { property: "stack", enumerable: false }, + { property: "code", enumerable: true }, +]; + +const destroyCircular = ({ from, seen, to_, forceEnumerable }) => { + const to = to_ || (Array.isArray(from) ? [] : {}); + + seen.push(from); + + for (const [key, value] of Object.entries(from)) { + if (typeof value === "function") { + continue; + } + + if (!value || typeof value !== "object") { + to[key] = value; + continue; + } + + if (!seen.includes(from[key])) { + to[key] = destroyCircular({ + from: from[key], + seen: seen.slice(), + forceEnumerable, + }); + continue; + } + + to[key] = "[Circular]"; + } + + for (const { property, enumerable } of commonProperties) { + if (typeof from[property] === "string") { + Object.defineProperty(to, property, { + value: from[property], + enumerable: forceEnumerable ? true : enumerable, + configurable: true, + writable: true, + }); + } + } + + return to; +}; + +const deserializeError = (value) => { + if (value instanceof Error) { + return value; + } + + if (typeof value === "object" && value !== null && !Array.isArray(value)) { + const newError = new Error(); + destroyCircular({ from: value, seen: [], to_: newError }); + return newError; + } + + return value; +}; diff --git a/packages/resources/src/Function.ts b/packages/resources/src/Function.ts index e35cc8a6ef..9647296e6b 100644 --- a/packages/resources/src/Function.ts +++ b/packages/resources/src/Function.ts @@ -37,6 +37,7 @@ export class Function extends lambda.Function { code: lambda.Code.fromAsset(path.resolve(__dirname, "../lambda/stub")), handler: "index.main", environment: { + ...(props.environment || {}), SST_DEBUG_SRC_PATH: props.code.path, SST_DEBUG_SRC_HANDLER: props.handler, SST_DEBUG_ENDPOINT: root.debugEndpoint || "", diff --git a/packages/resources/src/NodejsFunction.ts b/packages/resources/src/NodejsFunction.ts index 833d7818e7..34232c3ebb 100644 --- a/packages/resources/src/NodejsFunction.ts +++ b/packages/resources/src/NodejsFunction.ts @@ -30,6 +30,7 @@ export class NodejsFunction extends lambda.NodejsFunction { entry: path.resolve(__dirname, "../lambda/stub/index.js"), handler: "main", environment: { + ...((props && props.environment) || {}), SST_DEBUG_SRC_PATH: srcPath, SST_DEBUG_SRC_HANDLER: srcHandler, SST_DEBUG_ENDPOINT: root.debugEndpoint || "", diff --git a/yarn.lock b/yarn.lock index 69df9729b8..449d91e909 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8577,10 +8577,10 @@ ssri@^6.0.0, ssri@^6.0.1: dependencies: figgy-pudding "^3.5.1" -sst-cdk@1.74.0-rc.1: - version "1.74.0-rc.1" - resolved "https://registry.yarnpkg.com/sst-cdk/-/sst-cdk-1.74.0-rc.1.tgz#3ce6f1bb32da7ae2a79c4fe40ed99e4937eefb65" - integrity sha512-ZHHlzqJv7rFS2gyiN5YyLitJ3pRg2BEjmZDpmkmr3GRTyaZnrs6Z//ntiipSRE/5B3Jd89xHkCQViusVp/ZhRw== +sst-cdk@1.74.0-rc.3: + version "1.74.0-rc.3" + resolved "https://registry.yarnpkg.com/sst-cdk/-/sst-cdk-1.74.0-rc.3.tgz#1abaeb8cf4ff45cf96276dfe81be2366c80d7da5" + integrity sha512-b2b64GrQQIM2BnT6I0JjruwNxGGQNRkhRfF9ZJut7Is2aMyubgA9bm0LIy223LiIadVi+njyiuhrNNnfr84hEA== dependencies: "@aws-cdk/cloud-assembly-schema" "1.74.0" "@aws-cdk/cloudformation-diff" "1.74.0" From 3af77f78e5ba40660e77d5723a465a2e380915fb Mon Sep 17 00:00:00 2001 From: Jay Date: Tue, 24 Nov 2020 23:13:30 -0500 Subject: [PATCH 008/123] Organizing files --- .../cdk-wrapper}/.babelrc.json | 0 .../wrapper => assets/cdk-wrapper}/run.js | 0 .../debug => assets/debug-stack}/bin/index.js | 2 +- .../debug => assets/debug-stack}/cdk.json | 0 .../debug-stack}/lambda/wsConnect.js | 0 .../debug-stack}/lambda/wsDefault.js | 0 .../debug-stack}/lambda/wsDisconnect.js | 0 .../debug-stack/lib/DebugStack.js} | 0 .../lambda-invoke}/bootstrap.js | 0 .../lambda-invoke}/serializeError.js | 0 packages/cli/bin/scripts.js | 6 +- .../config => bin}/sync-cdk-version.js | 2 + packages/cli/{scripts/util => lib}/errors.js | 0 packages/cli/{scripts/util => lib}/logger.js | 0 packages/cli/package.json | 2 +- packages/cli/scripts/add-cdk.js | 2 +- packages/cli/scripts/build.js | 4 +- packages/cli/scripts/cdk.js | 6 +- packages/cli/scripts/config/cdkOptions.js | 6 - packages/cli/scripts/deploy.js | 4 +- packages/cli/scripts/remove.js | 2 +- packages/cli/scripts/start.js | 17 +- packages/cli/scripts/test.js | 4 +- .../{config => util}/.eslintrc.babel.js | 0 .../{config => util}/.eslintrc.typescript.js | 0 .../{config => util}/babelJestTransform.js | 0 .../scripts/{config => util}/cdkHelpers.js | 10 +- packages/cli/scripts/util/cdkOptions.js | 6 + .../{config => util}/createJestConfig.js | 2 +- .../cli/scripts/{config => util}/paths.js | 0 packages/cli/test/base-ts/yarn.lock | 473 +++++++---- packages/cli/test/base/yarn.lock | 638 +++++++-------- packages/cli/test/config/yarn.lock | 520 +++++++------ packages/cli/test/context/yarn.lock | 520 +++++++------ packages/cli/test/jest/yarn.lock | 733 +++++++++--------- packages/cli/test/stack-no-prefix/yarn.lock | 277 ++++++- 36 files changed, 1833 insertions(+), 1403 deletions(-) rename packages/cli/{scripts/config => assets/cdk-wrapper}/.babelrc.json (100%) rename packages/cli/{scripts/wrapper => assets/cdk-wrapper}/run.js (100%) rename packages/cli/{scripts/debug => assets/debug-stack}/bin/index.js (84%) rename packages/cli/{scripts/debug => assets/debug-stack}/cdk.json (100%) rename packages/cli/{scripts/debug => assets/debug-stack}/lambda/wsConnect.js (100%) rename packages/cli/{scripts/debug => assets/debug-stack}/lambda/wsDefault.js (100%) rename packages/cli/{scripts/debug => assets/debug-stack}/lambda/wsDisconnect.js (100%) rename packages/cli/{scripts/debug/lib/debug-stack.js => assets/debug-stack/lib/DebugStack.js} (100%) rename packages/cli/{scripts/wrapper => assets/lambda-invoke}/bootstrap.js (100%) rename packages/cli/{scripts/wrapper => assets/lambda-invoke}/serializeError.js (100%) rename packages/cli/{scripts/config => bin}/sync-cdk-version.js (98%) mode change 100644 => 100755 rename packages/cli/{scripts/util => lib}/errors.js (100%) rename packages/cli/{scripts/util => lib}/logger.js (100%) delete mode 100644 packages/cli/scripts/config/cdkOptions.js rename packages/cli/scripts/{config => util}/.eslintrc.babel.js (100%) rename packages/cli/scripts/{config => util}/.eslintrc.typescript.js (100%) rename packages/cli/scripts/{config => util}/babelJestTransform.js (100%) rename packages/cli/scripts/{config => util}/cdkHelpers.js (96%) create mode 100644 packages/cli/scripts/util/cdkOptions.js rename packages/cli/scripts/{config => util}/createJestConfig.js (97%) rename packages/cli/scripts/{config => util}/paths.js (100%) diff --git a/packages/cli/scripts/config/.babelrc.json b/packages/cli/assets/cdk-wrapper/.babelrc.json similarity index 100% rename from packages/cli/scripts/config/.babelrc.json rename to packages/cli/assets/cdk-wrapper/.babelrc.json diff --git a/packages/cli/scripts/wrapper/run.js b/packages/cli/assets/cdk-wrapper/run.js similarity index 100% rename from packages/cli/scripts/wrapper/run.js rename to packages/cli/assets/cdk-wrapper/run.js diff --git a/packages/cli/scripts/debug/bin/index.js b/packages/cli/assets/debug-stack/bin/index.js similarity index 84% rename from packages/cli/scripts/debug/bin/index.js rename to packages/cli/assets/debug-stack/bin/index.js index 31b23248e5..0458ba0192 100644 --- a/packages/cli/scripts/debug/bin/index.js +++ b/packages/cli/assets/debug-stack/bin/index.js @@ -1,7 +1,7 @@ #!/usr/bin/env node const cdk = require("@aws-cdk/core"); -const { DebugStack } = require("../lib/debug-stack"); +const { DebugStack } = require("../lib/DebugStack"); const stage = process.env.SST_DEBUG_STAGE; const region = process.env.SST_DEBUG_REGION; diff --git a/packages/cli/scripts/debug/cdk.json b/packages/cli/assets/debug-stack/cdk.json similarity index 100% rename from packages/cli/scripts/debug/cdk.json rename to packages/cli/assets/debug-stack/cdk.json diff --git a/packages/cli/scripts/debug/lambda/wsConnect.js b/packages/cli/assets/debug-stack/lambda/wsConnect.js similarity index 100% rename from packages/cli/scripts/debug/lambda/wsConnect.js rename to packages/cli/assets/debug-stack/lambda/wsConnect.js diff --git a/packages/cli/scripts/debug/lambda/wsDefault.js b/packages/cli/assets/debug-stack/lambda/wsDefault.js similarity index 100% rename from packages/cli/scripts/debug/lambda/wsDefault.js rename to packages/cli/assets/debug-stack/lambda/wsDefault.js diff --git a/packages/cli/scripts/debug/lambda/wsDisconnect.js b/packages/cli/assets/debug-stack/lambda/wsDisconnect.js similarity index 100% rename from packages/cli/scripts/debug/lambda/wsDisconnect.js rename to packages/cli/assets/debug-stack/lambda/wsDisconnect.js diff --git a/packages/cli/scripts/debug/lib/debug-stack.js b/packages/cli/assets/debug-stack/lib/DebugStack.js similarity index 100% rename from packages/cli/scripts/debug/lib/debug-stack.js rename to packages/cli/assets/debug-stack/lib/DebugStack.js diff --git a/packages/cli/scripts/wrapper/bootstrap.js b/packages/cli/assets/lambda-invoke/bootstrap.js similarity index 100% rename from packages/cli/scripts/wrapper/bootstrap.js rename to packages/cli/assets/lambda-invoke/bootstrap.js diff --git a/packages/cli/scripts/wrapper/serializeError.js b/packages/cli/assets/lambda-invoke/serializeError.js similarity index 100% rename from packages/cli/scripts/wrapper/serializeError.js rename to packages/cli/assets/lambda-invoke/serializeError.js diff --git a/packages/cli/bin/scripts.js b/packages/cli/bin/scripts.js index 3a9f24dece..7287a6e3aa 100755 --- a/packages/cli/bin/scripts.js +++ b/packages/cli/bin/scripts.js @@ -20,10 +20,10 @@ const chalk = require("chalk"); const spawn = require("cross-spawn"); const packageJson = require("../package.json"); -const paths = require("../scripts/config/paths"); -const cdkOptions = require("../scripts/config/cdkOptions"); +const paths = require("../scripts/util/paths"); +const cdkOptions = require("../scripts/util/cdkOptions"); const { getCdkVersion } = require("@serverless-stack/core"); -const { prepareCdk } = require("../scripts/config/cdkHelpers"); +const { prepareCdk } = require("../scripts/util/cdkHelpers"); const sstVersion = packageJson.version; const cdkVersion = getCdkVersion(); diff --git a/packages/cli/scripts/config/sync-cdk-version.js b/packages/cli/bin/sync-cdk-version.js old mode 100644 new mode 100755 similarity index 98% rename from packages/cli/scripts/config/sync-cdk-version.js rename to packages/cli/bin/sync-cdk-version.js index 009f2ed0b4..378504351c --- a/packages/cli/scripts/config/sync-cdk-version.js +++ b/packages/cli/bin/sync-cdk-version.js @@ -1,3 +1,5 @@ +#!/usr/bin/env node + /** * Gets the forked AWS CDK version from @serverless-stack/core and makes sure: * - The aws-cdk package used for the cdk command is the same version diff --git a/packages/cli/scripts/util/errors.js b/packages/cli/lib/errors.js similarity index 100% rename from packages/cli/scripts/util/errors.js rename to packages/cli/lib/errors.js diff --git a/packages/cli/scripts/util/logger.js b/packages/cli/lib/logger.js similarity index 100% rename from packages/cli/scripts/util/logger.js rename to packages/cli/lib/logger.js diff --git a/packages/cli/package.json b/packages/cli/package.json index 51e5de1a2e..b197654dca 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -3,7 +3,7 @@ "version": "0.4.3", "description": "A CLI to help deploy Serverless Stack apps.", "scripts": { - "prepare": "node scripts/config/sync-cdk-version.js", + "prepare": "./bin/sync-cdk-version.js", "jest-clear-cache": "jest --clearCache", "test": "jest" }, diff --git a/packages/cli/scripts/add-cdk.js b/packages/cli/scripts/add-cdk.js index c0020d5ebd..01c4c06903 100644 --- a/packages/cli/scripts/add-cdk.js +++ b/packages/cli/scripts/add-cdk.js @@ -3,7 +3,7 @@ const chalk = require("chalk"); const spawn = require("cross-spawn"); -const logger = require("./util/logger"); +const logger = require("../lib/logger"); module.exports = async function (argv, cliInfo) { const npm = cliInfo.npm; diff --git a/packages/cli/scripts/build.js b/packages/cli/scripts/build.js index aeca40c707..ccb40a790b 100644 --- a/packages/cli/scripts/build.js +++ b/packages/cli/scripts/build.js @@ -2,8 +2,8 @@ const chalk = require("chalk"); -const logger = require("./util/logger"); -const { synth } = require("./config/cdkHelpers"); +const logger = require("../lib/logger"); +const { synth } = require("./util/cdkHelpers"); function printResults(results, usingYarn) { const stacks = results.stacks; diff --git a/packages/cli/scripts/cdk.js b/packages/cli/scripts/cdk.js index 7c619d8009..fc86ad396a 100644 --- a/packages/cli/scripts/cdk.js +++ b/packages/cli/scripts/cdk.js @@ -12,12 +12,12 @@ let argv = process.argv.slice(3); const path = require("path"); const spawn = require("cross-spawn"); -const paths = require("./config/paths"); -const cdkOptions = require("./config/cdkOptions"); +const paths = require("./util/paths"); +const cdkOptions = require("./util/cdkOptions"); // CDK command spawn.sync( path.join(paths.ownNodeModules, ".bin/cdk"), - [ "--app", cdkOptions.app ].concat(argv), + ["--app", cdkOptions.app].concat(argv), { stdio: "inherit" } ); diff --git a/packages/cli/scripts/config/cdkOptions.js b/packages/cli/scripts/config/cdkOptions.js deleted file mode 100644 index a5e80d0ac6..0000000000 --- a/packages/cli/scripts/config/cdkOptions.js +++ /dev/null @@ -1,6 +0,0 @@ -"use strict"; - -module.exports = { - output: 'build/cdk.out', - app: 'node build/run.js', -}; diff --git a/packages/cli/scripts/deploy.js b/packages/cli/scripts/deploy.js index 4fb27c8a4d..93f393fd1b 100644 --- a/packages/cli/scripts/deploy.js +++ b/packages/cli/scripts/deploy.js @@ -1,9 +1,9 @@ "use strict"; const chalk = require("chalk"); -const { parallelDeploy } = require("./config/cdkHelpers"); +const { parallelDeploy } = require("./util/cdkHelpers"); -const logger = require("./util/logger"); +const logger = require("../lib/logger"); module.exports = async function (argv, config, cliInfo) { logger.log(chalk.grey("Deploying " + (argv.stack ? argv.stack : "stacks"))); diff --git a/packages/cli/scripts/remove.js b/packages/cli/scripts/remove.js index 594e4179d0..c478d2efb1 100644 --- a/packages/cli/scripts/remove.js +++ b/packages/cli/scripts/remove.js @@ -3,7 +3,7 @@ const chalk = require("chalk"); const { parallelDestroy } = require("@serverless-stack/core"); -const logger = require("./util/logger"); +const logger = require("../lib/logger"); module.exports = async function (argv, config, cliInfo) { logger.log(chalk.grey("Removing " + (argv.stack ? argv.stack : "stacks"))); diff --git a/packages/cli/scripts/start.js b/packages/cli/scripts/start.js index a0c6024b87..41ac418939 100644 --- a/packages/cli/scripts/start.js +++ b/packages/cli/scripts/start.js @@ -1,17 +1,18 @@ "use strict"; +const path = require("path"); +const chalk = require("chalk"); const WebSocket = require("ws"); const spawn = require("cross-spawn"); -const chalk = require("chalk"); const sstDeploy = require("./deploy"); -const paths = require("./config/paths"); +const paths = require("./util/paths"); const { prepareCdk, applyConfig, deploy: cdkDeploy, -} = require("./config/cdkHelpers"); -const logger = require("./util/logger"); +} = require("./util/cdkHelpers"); +const logger = require("../lib/logger"); const WEBSOCKET_CLOSE_CODE = { NEW_CLIENT_CONNECTED: 4901, @@ -137,7 +138,7 @@ function onMessage(message) { `--max-old-space-size=${oldSpace}`, `--max-semi-space-size=${semiSpace}`, "--max-http-header-size=81920", // HTTP header limit of 8KB - require.resolve("../scripts/wrapper/bootstrap.js"), + path.join(paths.ownPath, "assets", "lambda-invoke", "bootstrap.js"), JSON.stringify(event), JSON.stringify(context), //"./src", // Local path to the Lambda functions @@ -225,12 +226,14 @@ module.exports = async function (argv, cliInfo) { // Note: When deploying the debug stack, the current working directory is user's app. // Setting the current working directory to debug stack cdk app directory to allow // Lambda Function construct be able to reference code with relative path. - process.chdir(`${paths.ownPath}/scripts/debug`); + process.chdir(path.join(paths.ownPath, "assets", "debug-stack")); const debugStackRet = await cdkDeploy({ ...cliInfo.cdkOptions, app: `${debugAppEnvs.join(" ")} node bin/index.js`, output: "cdk.out", }); + // Note: Restore working directory + process.chdir(paths.appPath); // Get websocket endpoint if ( @@ -250,8 +253,6 @@ module.exports = async function (argv, cliInfo) { logger.log(" Deploying app"); logger.log("==============="); logger.log(""); - // Note: Restore working directory - process.chdir(paths.appPath); prepareCdk(argv, cliInfo, config); await sstDeploy(argv, config, cliInfo); diff --git a/packages/cli/scripts/test.js b/packages/cli/scripts/test.js index 17f19ccea7..8990bb8da0 100644 --- a/packages/cli/scripts/test.js +++ b/packages/cli/scripts/test.js @@ -17,9 +17,9 @@ process.on("unhandledRejection", (err) => { const jest = require("jest"); let argv = process.argv.slice(2); -const createJestConfig = require("./config/createJestConfig"); +const createJestConfig = require("./util/createJestConfig"); const path = require("path"); -const paths = require("./config/paths"); +const paths = require("./util/paths"); argv.push( "--config", JSON.stringify( diff --git a/packages/cli/scripts/config/.eslintrc.babel.js b/packages/cli/scripts/util/.eslintrc.babel.js similarity index 100% rename from packages/cli/scripts/config/.eslintrc.babel.js rename to packages/cli/scripts/util/.eslintrc.babel.js diff --git a/packages/cli/scripts/config/.eslintrc.typescript.js b/packages/cli/scripts/util/.eslintrc.typescript.js similarity index 100% rename from packages/cli/scripts/config/.eslintrc.typescript.js rename to packages/cli/scripts/util/.eslintrc.typescript.js diff --git a/packages/cli/scripts/config/babelJestTransform.js b/packages/cli/scripts/util/babelJestTransform.js similarity index 100% rename from packages/cli/scripts/config/babelJestTransform.js rename to packages/cli/scripts/util/babelJestTransform.js diff --git a/packages/cli/scripts/config/cdkHelpers.js b/packages/cli/scripts/util/cdkHelpers.js similarity index 96% rename from packages/cli/scripts/config/cdkHelpers.js rename to packages/cli/scripts/util/cdkHelpers.js index 05ffc4005f..ef5b7aae44 100644 --- a/packages/cli/scripts/config/cdkHelpers.js +++ b/packages/cli/scripts/util/cdkHelpers.js @@ -7,8 +7,8 @@ const spawn = require("cross-spawn"); const sstCore = require("@serverless-stack/core"); const paths = require("./paths"); -const logger = require("../util/logger"); -const { isSubProcessError } = require("../util/errors"); +const logger = require("../../lib/logger"); +const { isSubProcessError } = require("../../lib/errors"); const isTs = fs.existsSync(path.join(paths.appPath, "tsconfig.json")); @@ -123,7 +123,7 @@ function lint() { [ "--no-error-on-unmatched-pattern", "--config", - path.join(paths.ownPath, "scripts", "config", config), + path.join(paths.ownPath, "scripts", "util", config), "--ext", ".js,.ts", "--fix", @@ -187,14 +187,14 @@ function transpile(cliInfo) { function copyConfigFiles() { fs.copyFileSync( - path.join(paths.ownPath, "scripts", "config", ".babelrc.json"), + path.join(paths.ownPath, "assets", "cdk-wrapper", ".babelrc.json"), path.join(paths.appBuildPath, ".babelrc.json") ); } function copyWrapperFiles() { fs.copyFileSync( - path.join(paths.ownScriptsPath, "wrapper", "run.js"), + path.join(paths.ownPath, "assets", "cdk-wrapper", "run.js"), path.join(paths.appBuildPath, "run.js") ); } diff --git a/packages/cli/scripts/util/cdkOptions.js b/packages/cli/scripts/util/cdkOptions.js new file mode 100644 index 0000000000..2c4f19454c --- /dev/null +++ b/packages/cli/scripts/util/cdkOptions.js @@ -0,0 +1,6 @@ +"use strict"; + +module.exports = { + output: "build/cdk.out", + app: "node build/run.js", +}; diff --git a/packages/cli/scripts/config/createJestConfig.js b/packages/cli/scripts/util/createJestConfig.js similarity index 97% rename from packages/cli/scripts/config/createJestConfig.js rename to packages/cli/scripts/util/createJestConfig.js index 4721173f3c..f0c71e3fc7 100644 --- a/packages/cli/scripts/config/createJestConfig.js +++ b/packages/cli/scripts/util/createJestConfig.js @@ -31,7 +31,7 @@ module.exports = (resolve, rootDir) => { "/**/*.{spec,test}.{js,jsx,ts,tsx}", ], transform: { - "^.+\\.(js|jsx)$": resolve("scripts/config/babelJestTransform.js"), + "^.+\\.(js|jsx)$": resolve("scripts/util/babelJestTransform.js"), }, transformIgnorePatterns: [ "[/\\\\]node_modules[/\\\\].+\\.(js|jsx|ts|tsx)$", diff --git a/packages/cli/scripts/config/paths.js b/packages/cli/scripts/util/paths.js similarity index 100% rename from packages/cli/scripts/config/paths.js rename to packages/cli/scripts/util/paths.js diff --git a/packages/cli/test/base-ts/yarn.lock b/packages/cli/test/base-ts/yarn.lock index 8f3ca49b15..2f257a7d82 100644 --- a/packages/cli/test/base-ts/yarn.lock +++ b/packages/cli/test/base-ts/yarn.lock @@ -2,142 +2,300 @@ # yarn lockfile v1 -"@aws-cdk/assert@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/assert/-/assert-1.61.0.tgz#c1dbbf71fd64beb067a6e6237e03686319acaaa7" - integrity sha512-avvDVpyd8zLMT0HEW1K2ngP5U8CHu+BtPinUkLpLXVJ+Cr5K12plnk84+BOWe1NhM9/bqC4b1KA0c6MzIzgREA== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.61.0" - "@aws-cdk/cloudformation-diff" "1.61.0" - "@aws-cdk/core" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-events@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events/-/aws-events-1.61.0.tgz#718fd427ee09a11e30c96b66c88bc9b6169f5dff" - integrity sha512-DBEi/XPnWvQJ42dv28JdQSHGUz9N6fqYjR8FSNc2s0oXgDqGQ+8rU1Hxcj6s2Qb7lBQ66pHsvlpUcqZANIoddw== - dependencies: - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-iam@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-iam/-/aws-iam-1.61.0.tgz#df38b5a3a33dd28f89d57884190fe429b2507bb9" - integrity sha512-CDFrRPkt4JR9iSVn+D18ThU201m2Ck2T5+E9044yJqkUgfbcMXO54ls2DlLbCg1RUrazRrqQ9Bu0IxDHbTwaKg== - dependencies: - "@aws-cdk/core" "1.61.0" - "@aws-cdk/region-info" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-kms@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kms/-/aws-kms-1.61.0.tgz#a6b8429893e31be15b151ef7357e0560920d5527" - integrity sha512-taSQYpcPM705NN32W2UcgNfezTQbqx5YZDR+jp7A/E4OVdR1jojDJn6LKzsIo71s7DDG/k+77oNXEIJsaIhSRA== - dependencies: - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-s3@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3/-/aws-s3-1.61.0.tgz#a16d697a26d02b6d25636a0606016fbc187eae86" - integrity sha512-tFemzJJtopsiDbcjwpqsSY9xm3wZLWKEg2/9iAAZ4VUEW4feoX7NQyVkYHGH2dfMVufXq/rMZPfbKq7f3cgzAg== - dependencies: - "@aws-cdk/aws-events" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/cfnspec@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cfnspec/-/cfnspec-1.61.0.tgz#69e998ab83c0a478b76e1c5deb8484171dfd95f9" - integrity sha512-Ss5N3unY6iVh9SjYAYvTyvhdb7Kaz6dVFeV8K68UGewiFcHpC5tQi3YmlVBw3HCgKoRt20emiHAfmdfeGO/PUQ== +"@aws-cdk/assert@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/assert/-/assert-1.74.0.tgz#82795a3bb21ede93288a60322804f6f4e2d4959e" + integrity sha512-5M3M4lcSS2dGPgVANhv5GjqC6nNBy9bL1XECAJj3lg7q+6zJ00+0wq4bB0wyvm/mE+S0axkGZ4LVHF5QA2gCfQ== + dependencies: + "@aws-cdk/cloud-assembly-schema" "1.74.0" + "@aws-cdk/cloudformation-diff" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/assets@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/assets/-/assets-1.74.0.tgz#8aea948a32afcf7c60449346a087c4b5aecff251" + integrity sha512-ZXmiJ9Qf0odTJWQPEvN+41wI1MAOK0PS5E/CTTOc9qSZufHKxpF0UPNu+8G/cMUnmKoonih8eglUCR8mmVzGrQ== + dependencies: + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-applicationautoscaling@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-applicationautoscaling/-/aws-applicationautoscaling-1.74.0.tgz#ad5e946e68bd4094c3236e983d36f67d66135dfc" + integrity sha512-QqEm+jN2zQyficWAQWIIJTN+HwonBx5lS+Ccgx8vR+lXAPW9BORtsuEd0jKzMs2LVF+eiRQcwgD1WqH99HFPXw== + dependencies: + "@aws-cdk/aws-autoscaling-common" "1.74.0" + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-autoscaling-common@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-common/-/aws-autoscaling-common-1.74.0.tgz#f6bcbb987830f299b6e2ef454944afdde9a8a82e" + integrity sha512-UHqhMxGjGe00XaZfb7+OtAbY48vU2PdjYxIiRlFqrvJ7w6ws2dW7trKRHfpmbIF6M8h3Jtys1y69UuijaIHTlg== + dependencies: + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-cloudwatch@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.74.0.tgz#94a29d2998a5c08412084b346d404b3a8b90f8a8" + integrity sha512-FqkU9JNM63JzdKVwmI07UJ2upDLrqByEs6kXMNOv0RxfvLIe73DNfBp8T+WxJ23G38sCLfeTsPIIG5K2XzOQGg== + dependencies: + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-codeguruprofiler@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codeguruprofiler/-/aws-codeguruprofiler-1.74.0.tgz#d749688e9edb252ce6fc68efa4f9977f7ba02cb6" + integrity sha512-CF4NqFSPeFnqbVG23+BozGNVha2Pk7vXaLGCPZPlHmx2jwaxZHCdxK+VvtOtV3fVPr6CI97SsTq9TwiFciv+zg== + dependencies: + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-ec2@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ec2/-/aws-ec2-1.74.0.tgz#eae31df9045ca9374daf6b1562674e31d8053aff" + integrity sha512-TcJtdSFur8Pkhfz39nhPZH2LBiugBhSrDkAUfeEVVwDEa4kvNys7xkcwvvBouFhM6YhitjZ53j9d7d4CEBc73g== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/aws-logs" "1.74.0" + "@aws-cdk/aws-s3" "1.74.0" + "@aws-cdk/aws-s3-assets" "1.74.0" + "@aws-cdk/aws-ssm" "1.74.0" + "@aws-cdk/cloud-assembly-schema" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + "@aws-cdk/region-info" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-efs@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-efs/-/aws-efs-1.74.0.tgz#367b89f14ccd090f98227dbc975076571b31faac" + integrity sha512-ghzwm/e8qQlOM/PKgfscbVFny9qhQNrXZltxckhHdTEX3Wtx9RXpveWzEOGBoHBJHSv49gkvAwtvzTbxCss4QA== + dependencies: + "@aws-cdk/aws-ec2" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/cloud-assembly-schema" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-events@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events/-/aws-events-1.74.0.tgz#2ed5a4cdd737ce4c8950506df496d0b43ac6aa12" + integrity sha512-dmVswvSBd2jZzgPJCQell+u9bRYNg63p1e57bXmql6Rm1UJDPTbvESPXsdwwFW2WpJyXwHOOM+qe98r5CbcTUw== + dependencies: + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-iam@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-iam/-/aws-iam-1.74.0.tgz#c255c9676fb6048ab27c00d111ed5e7d8b46877c" + integrity sha512-5Eq4e4/be2HMFZXc1sCeNjqgTyjlWgvIjbLh0Q4c01V05r7MbPdmfZRurbeEA6NohGf+zYFQrCzPnTaqvFPFHA== + dependencies: + "@aws-cdk/core" "1.74.0" + "@aws-cdk/region-info" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-kms@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kms/-/aws-kms-1.74.0.tgz#73531f7b5d2542eb5e3f7bb54604944921e34995" + integrity sha512-4cTNqzNkml3RV6uobSwq7ZtPBjwNovOxv75vzGNNRw1GO6hxqDzoPRIsgfwNvVii8tv27eR0xTK0t6WlKqoVzg== + dependencies: + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-lambda-nodejs@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda-nodejs/-/aws-lambda-nodejs-1.74.0.tgz#aa818270e4dcd74be51d402cdb114da311b3c966" + integrity sha512-1mc8I+Yz43El8O8SjsfkABsI31tcpO5e3fAz7/40DKuFgM9jkL6vyiL55MLIckAqmE2N9mRYU0xF4RC7uRZdmQ== + dependencies: + "@aws-cdk/aws-lambda" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-lambda@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda/-/aws-lambda-1.74.0.tgz#52175fbc9e679ca5c0f4d15e0666c99fc4a953d0" + integrity sha512-Ju3/mhnli33xnO2qvJUs11djva12SHnmJPGtbx4Nz33z577/pCwLZYWa7noP8eUzAyBglfNlPG8JWH+fNHPbew== + dependencies: + "@aws-cdk/aws-applicationautoscaling" "1.74.0" + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-codeguruprofiler" "1.74.0" + "@aws-cdk/aws-ec2" "1.74.0" + "@aws-cdk/aws-efs" "1.74.0" + "@aws-cdk/aws-events" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-logs" "1.74.0" + "@aws-cdk/aws-s3" "1.74.0" + "@aws-cdk/aws-s3-assets" "1.74.0" + "@aws-cdk/aws-sqs" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-logs@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-logs/-/aws-logs-1.74.0.tgz#cd40afe70ffeb5250ecea1db0ee0a2f68fb2084a" + integrity sha512-wMpjXdJBN3S0gYO3pMjjKxSTlIs0ZUH64k6BnOxDvnltWbBJomD0/qLKMVHShOddm9MMNdD8AaYpCqZsrplZHA== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/aws-s3-assets" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-s3-assets@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.74.0.tgz#7f1988f3931e95d88a8c1357f98c47f7f9b73dee" + integrity sha512-uewjgTOr5q60UbPKHo3qgYApXxFKUIgP6eUZi7v8mhfnZUDw9H9B4rRJ7rHRZ4gYj9ZtiWq1o3hpvWnoHsR+zg== + dependencies: + "@aws-cdk/assets" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/aws-s3" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-s3@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3/-/aws-s3-1.74.0.tgz#5b53839c3af0f67bfb1e96061f6a1ea5be445fe9" + integrity sha512-xbRbI90hUvmVwGHHMr4dPWv0TXBxr/HeeaLzqLDHv36+TKA0wMR7ttRm3pbT3Kf/YjqSty788rom6lVqaAu81Q== + dependencies: + "@aws-cdk/aws-events" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-sqs@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sqs/-/aws-sqs-1.74.0.tgz#998da5838d4310805432f0cf55fcc7c8f34657e2" + integrity sha512-qlj7ZapoL9oneLu4wh7DfQDypCo6QFlyGzd3nlmn+C9UbCscBkpSJnmYSGi2m0TVCKbd3tP1EpfdU36LTahYBg== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-ssm@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ssm/-/aws-ssm-1.74.0.tgz#426dd65c0b933618d5c196cb38386c1035b0fdc4" + integrity sha512-uok/D4ooEVXst0HZYQkcPIM5xlHAVjGjF44Gt68hbdZknBhMbfZP2EWqSZHhSW9HdVoNFTNkIxcI2AemCnt2Qg== + dependencies: + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/cloud-assembly-schema" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/cfnspec@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/cfnspec/-/cfnspec-1.74.0.tgz#03577e266721fe87287f9fc710a95d7b7e5886cd" + integrity sha512-9rdFgRUoV3lbAD6lnU+hGdkit8ILmUq+XCXzRdc9xWHUXIKxMmFK9frXTT+wGmjgdz/GpPyfSbFjzyqk4QE5+w== dependencies: md5 "^2.3.0" -"@aws-cdk/cloud-assembly-schema@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.61.0.tgz#d4d7f75cba3c52bb0b5406085dc77eefc6393aa9" - integrity sha512-+D1K159eNxWDGJNiyQcwczddzqFDS08b2VAJrgJFvqhMNbNWWuYxxxEJoh5jH9iULr2a52WXrrQfF72HbB0jUQ== +"@aws-cdk/cloud-assembly-schema@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.74.0.tgz#f1bbd8411ec320dd9e14ef2dce626a05019c42bc" + integrity sha512-TOfruzx7zIirRpfL9r5tGcOPdfXQatD3/kgXq4I1px12oH3jmuiEcNxGdvEYgVMPaZGMrx0rtqyT2sGDWBycKw== dependencies: - jsonschema "^1.2.5" - semver "^7.2.2" + jsonschema "^1.4.0" + semver "^7.3.2" -"@aws-cdk/cloudformation-diff@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cloudformation-diff/-/cloudformation-diff-1.61.0.tgz#8acb549fd1dd819aa61dfed47e011b44827045a8" - integrity sha512-TrrmywhYkXxGNTmDd1k2biJMVtEvb0QcbZ/IGM6biMXIJ+wsjw/n5snvwciQ8/PHZmsUYk67qulGdso1rpy06Q== +"@aws-cdk/cloudformation-diff@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/cloudformation-diff/-/cloudformation-diff-1.74.0.tgz#d86199db530f9df641cff7f3996939c47645d59f" + integrity sha512-aYAg85fkpX39euUo5HjsGtqOpyD5fAz1+jZ/F/5erA8Y/+rB4ifCVJH0cLYHVdYwo8oc3poB6jW4tVMxNYxbrg== dependencies: - "@aws-cdk/cfnspec" "1.61.0" + "@aws-cdk/cfnspec" "1.74.0" colors "^1.4.0" - diff "^4.0.2" + diff "^5.0.0" fast-deep-equal "^3.1.3" string-width "^4.2.0" - table "^5.4.6" + table "^6.0.3" -"@aws-cdk/core@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.61.0.tgz#817689a087cb97741fd5e4b407ee603610f30fb3" - integrity sha512-g6vOR7zqWfbSzIM2kqUPH0Tdk4tOUFGX1TM5crty1ndkNja84PvAzEjQZr34U2aCGk+EI2pyB/4D7BLiAhAvKw== +"@aws-cdk/core@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.74.0.tgz#132d31c0ab9d39394827431ccd804cf10de34273" + integrity sha512-1iKRIRKyMQ8ZmPvkAAjSIGl4Fh7tLIE7D23ht25ayNGp0XVG1Hd858x2GmDzI/J1ZK6xsuTsEDGbi5/saR69ng== dependencies: - "@aws-cdk/cloud-assembly-schema" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" + "@aws-cdk/cloud-assembly-schema" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + "@aws-cdk/region-info" "1.74.0" + "@balena/dockerignore" "^1.0.2" + constructs "^3.2.0" fs-extra "^9.0.1" + ignore "^5.1.8" minimatch "^3.0.4" -"@aws-cdk/cx-api@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.61.0.tgz#23f0e0cff978277626d42091907b71a6c4d98580" - integrity sha512-SOn1aLhp2Zot1Qqev1REbgL2n0Ccl9sfg1nJMWnGxAmjarazJfvW22llYKnJPuFkgHswaBlifBxAA4WgKbUn6g== +"@aws-cdk/cx-api@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.74.0.tgz#922c11389d723eadef2bc12666ced4980fe9e4cc" + integrity sha512-Xhq9col3syHmxC3Zl1igrWwvOzwJzwTKwpLLL8ENF8u2n8x4eneAN+OLrRlB/rhAQ+KUL6B8toUsd4pcJMkSOQ== dependencies: - "@aws-cdk/cloud-assembly-schema" "1.61.0" - semver "^7.2.2" + "@aws-cdk/cloud-assembly-schema" "1.74.0" + semver "^7.3.2" + +"@aws-cdk/region-info@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/region-info/-/region-info-1.74.0.tgz#e53eabe2d8980c360e63ea956615253551005182" + integrity sha512-xF0etW01PyUNxL9F4xiA2y/pEG9e+0EJpOL7O9gVZ0IxOkIW+J0MljR6O8nx4yCx6j2/dXTs6INZ/zVn0DsydA== -"@aws-cdk/region-info@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/region-info/-/region-info-1.61.0.tgz#663e44206a92da544183c3a405cd73490fdc3103" - integrity sha512-/10gvecycNJhYM2LIkA0XaoWgUZQ6K5FIIRaf/o4PbgHyR8WTyEPO6lbT0GoKi69TvC+18xzJ4iZ1p3ZdRnUYw== +"@balena/dockerignore@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@balena/dockerignore/-/dockerignore-1.0.2.tgz#9ffe4726915251e8eb69f44ef3547e0da2c03e0d" + integrity sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q== "@serverless-stack/resources@../../../resources": - version "0.1.3" + version "0.4.3" dependencies: - "@aws-cdk/core" "1.61.0" - -ajv@^6.10.2: - version "6.12.3" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.3.tgz#18c5af38a111ddeb4f2697bd78d68abc1cabd706" - integrity sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA== + "@aws-cdk/aws-lambda" "1.74.0" + "@aws-cdk/aws-lambda-nodejs" "1.74.0" + "@aws-cdk/core" "1.74.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== 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-regex@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" - integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== - ansi-regex@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== -ansi-styles@^3.2.0: - 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== +ansi-styles@^4.0.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 "^1.9.0" + color-convert "^2.0.1" -astral-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" - integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== +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== at-least-node@^1.0.0: version "1.0.0" @@ -162,17 +320,17 @@ charenc@0.0.2: resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667" integrity sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc= -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== +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.3" + 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 sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= +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== colors@^1.4.0: version "1.4.0" @@ -184,25 +342,20 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= -constructs@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/constructs/-/constructs-3.0.4.tgz#eb1ed5b80f6600b8d50de83971357ae0fe8e29a2" - integrity sha512-CDvg7gMjphE3DFX4pzkF6j73NREbR8npPFW8Mx/CLRnMR035+Y1o1HrXIsNSss/dq3ZUnNTU9jKyd3fL9EOlfw== +constructs@^3.2.0: + version "3.2.40" + resolved "https://registry.yarnpkg.com/constructs/-/constructs-3.2.40.tgz#e8c0e1020ad254ff73d9ea6c85cc90c3a33c71f1" + integrity sha512-XtKn+Pzq8EZNe1zasQem6X09dprZ8pXvNxECKQLZC+jU5BdkgDKe0nak4Wp+k7uvDFlyh9NccaGtxqP6w2YS0A== crypt@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b" integrity sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs= -diff@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== - -emoji-regex@^7.0.1: - version "7.0.3" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" - integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== +diff@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" + integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== emoji-regex@^8.0.0: version "8.0.0" @@ -234,16 +387,16 @@ graceful-fs@^4.1.6, graceful-fs@^4.2.0: resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== +ignore@^5.1.8: + version "5.1.8" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" + integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== + is-buffer@~1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= - 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" @@ -263,12 +416,12 @@ jsonfile@^6.0.1: optionalDependencies: graceful-fs "^4.1.6" -jsonschema@^1.2.5: - version "1.2.6" - resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.2.6.tgz#52b0a8e9dc06bbae7295249d03e4b9faee8a0c0b" - integrity sha512-SqhURKZG07JyKKeo/ir24QnS4/BV7a6gQy93bUSe4lUdNp0QNpIz2c9elWJQ9dpc5cQYY6cvCzgRwy0MQCLyqA== +jsonschema@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.4.0.tgz#1afa34c4bc22190d8e42271ec17ac8b3404f87b2" + integrity sha512-/YgW6pRMr6M7C+4o8kS+B/2myEpHCrxO4PEWnqJNBFMjn7EWXqlQ4tGwL6xTHeRplwuZmcAncdvfOad1nT2yMw== -lodash@^4.17.14: +lodash@^4.17.20: version "4.17.20" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== @@ -294,28 +447,19 @@ punycode@^2.1.0: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -semver@^7.2.2: +semver@^7.3.2: version "7.3.2" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== -slice-ansi@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" - integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== - dependencies: - ansi-styles "^3.2.0" - astral-regex "^1.0.0" - is-fullwidth-code-point "^2.0.0" - -string-width@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" - integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== +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: - emoji-regex "^7.0.1" - is-fullwidth-code-point "^2.0.0" - strip-ansi "^5.1.0" + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" string-width@^4.2.0: version "4.2.0" @@ -326,13 +470,6 @@ string-width@^4.2.0: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.0" -strip-ansi@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" - integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== - dependencies: - ansi-regex "^4.1.0" - strip-ansi@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" @@ -340,15 +477,15 @@ strip-ansi@^6.0.0: dependencies: ansi-regex "^5.0.0" -table@^5.4.6: - version "5.4.6" - resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" - integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug== +table@^6.0.3: + version "6.0.4" + resolved "https://registry.yarnpkg.com/table/-/table-6.0.4.tgz#c523dd182177e926c723eb20e1b341238188aa0d" + integrity sha512-sBT4xRLdALd+NFBvwOz8bw4b15htyythha+q+DVZqy2RS08PPC8O2sZFgJYEY7bJvbCFKccs+WIZ/cd+xxTWCw== dependencies: - ajv "^6.10.2" - lodash "^4.17.14" - slice-ansi "^2.1.0" - string-width "^3.0.0" + ajv "^6.12.4" + lodash "^4.17.20" + slice-ansi "^4.0.0" + string-width "^4.2.0" universalify@^1.0.0: version "1.0.0" diff --git a/packages/cli/test/base/yarn.lock b/packages/cli/test/base/yarn.lock index 5fc447868c..826fd43e4a 100644 --- a/packages/cli/test/base/yarn.lock +++ b/packages/cli/test/base/yarn.lock @@ -2,309 +2,331 @@ # yarn lockfile v1 -"@aws-cdk/assets@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/assets/-/assets-1.61.0.tgz#9702ba8ef5b3c45ec47e0530006d63dc0685a5ff" - integrity sha512-VJfH8oVAsIa5lo+SmDF5d6r1J9Fb9TrnQINrzr68shhdY/RAkys5cr9SXO4lcpWmGsNXB9z+tEtEz9IT79e2QA== - dependencies: - "@aws-cdk/core" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-applicationautoscaling@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-applicationautoscaling/-/aws-applicationautoscaling-1.61.0.tgz#8129984ba0185bbb525fd8ef6328c5c84e51e4e5" - integrity sha512-KP2zJ2hJYZgrl2glfCFpK0l9PJderMNS2MAH7xr0JuiFwAPuJgNEmOkrtVAgrsTGFDBisvXQpqr6L84EQxBfyw== - dependencies: - "@aws-cdk/aws-autoscaling-common" "1.61.0" - "@aws-cdk/aws-cloudwatch" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-autoscaling-common@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-common/-/aws-autoscaling-common-1.61.0.tgz#9e7f6a8669b36001b846d90fa8cb65d8b4edb27b" - integrity sha512-Mc02ZTp6gGGOycYHygyTWfXMajOi5bEAq6d6nJOQdzZSj2oiRmtQeF/Fd4earXFcl+lhSFMyUPEQPvZyvngQWQ== - dependencies: - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-certificatemanager@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-certificatemanager/-/aws-certificatemanager-1.61.0.tgz#2362854c86f7b7f8344aec6dda9e84eb7017acc0" - integrity sha512-sTLmDyh8aER9ovvXuK1Q8Jcs1PY1H0W5Rg2ueCZvCNO5NktGsbt5oYZZiDFyIEtuASuArGp0XjkLP+qtPC6J3w== - dependencies: - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-lambda" "1.61.0" - "@aws-cdk/aws-route53" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-cloudformation@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudformation/-/aws-cloudformation-1.61.0.tgz#6810e5327aa53b6d73cb337af340db152284aad7" - integrity sha512-e7mti0sWR6Sf4tav36bu379kkG5E33VMPLZaT8RkhXkIl97c1OaGHVx5G1Oe5DiHka08c+PA6da8ahkrR1wSkQ== - dependencies: - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-lambda" "1.61.0" - "@aws-cdk/aws-s3" "1.61.0" - "@aws-cdk/aws-sns" "1.61.0" - "@aws-cdk/core" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-cloudwatch@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.61.0.tgz#3c0171ca76d086da424c1b4148a53c4d68dd885a" - integrity sha512-/Lp+8OU82m2+VX0GDeO8RIzyJDEvZQQaSQYflXRAFxFDrHiU6i4kXLbr1j4jebB9r+NSEAZ6XopBNg+JsAXGug== - dependencies: - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-codeguruprofiler@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codeguruprofiler/-/aws-codeguruprofiler-1.61.0.tgz#1ace4c61a4a7b916f4dbe28070b5b914949e6f06" - integrity sha512-eS+evPzEOP2rODucLcNSIlXNozA+/6Pf2H0Igde5UiMmYSX3/ZRXm/EytKNtyF7pnWiWMymmBLwCue2V/FDV0w== - dependencies: - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/core" "1.61.0" - -"@aws-cdk/aws-cognito@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cognito/-/aws-cognito-1.61.0.tgz#0fd460e4bfae70d335c02befd4f997de9f9d8ded" - integrity sha512-MiZxDVdStTX1uD6NOpeMoKtL/DMyYONG6Hh8t851bLgxjZDQw8W7ZCWTLBjDIymt7m/seFNF3bWdYD883S17fQ== - dependencies: - "@aws-cdk/aws-certificatemanager" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-lambda" "1.61.0" - "@aws-cdk/core" "1.61.0" - "@aws-cdk/custom-resources" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-dynamodb@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-dynamodb/-/aws-dynamodb-1.61.0.tgz#3d9b1ffd6eb965152a2456de1b08625d3f3ee907" - integrity sha512-Qd87xJNTjCRBQ//H4WA6Lif3VuA9QuyKyterlmTGnmrUsAqubkKtxu/lLvMp0gQb9LzjQ5Hn9238v1s8rDBDlw== - dependencies: - "@aws-cdk/aws-applicationautoscaling" "1.61.0" - "@aws-cdk/aws-cloudwatch" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/aws-lambda" "1.61.0" - "@aws-cdk/core" "1.61.0" - "@aws-cdk/custom-resources" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-ec2@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ec2/-/aws-ec2-1.61.0.tgz#d39b1f5356c57089b963bbe4644adc02fd12a4bf" - integrity sha512-mW1tij3tuvHfgNlLQst1XkvSOoV/r3iUQFLhJ8QMG8h0KUiHRyY0i+kj3Ern4GxlwNUfM6RY3f12qtSpRpVPxQ== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/aws-logs" "1.61.0" - "@aws-cdk/aws-s3" "1.61.0" - "@aws-cdk/aws-s3-assets" "1.61.0" - "@aws-cdk/aws-ssm" "1.61.0" - "@aws-cdk/cloud-assembly-schema" "1.61.0" - "@aws-cdk/core" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - "@aws-cdk/region-info" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-efs@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-efs/-/aws-efs-1.61.0.tgz#c4d66d0d928c01c8018c1c8bc75a1c5097d649ce" - integrity sha512-WeF3SF681V43E+u2j78om+y4r1Ay4JPTAns8y6SFcZOLqH+6qlXusGrwQoZcHpD4MTSU60NZKD8O0u1A111osg== - dependencies: - "@aws-cdk/aws-ec2" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/cloud-assembly-schema" "1.61.0" - "@aws-cdk/core" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-events@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events/-/aws-events-1.61.0.tgz#718fd427ee09a11e30c96b66c88bc9b6169f5dff" - integrity sha512-DBEi/XPnWvQJ42dv28JdQSHGUz9N6fqYjR8FSNc2s0oXgDqGQ+8rU1Hxcj6s2Qb7lBQ66pHsvlpUcqZANIoddw== - dependencies: - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-iam@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-iam/-/aws-iam-1.61.0.tgz#df38b5a3a33dd28f89d57884190fe429b2507bb9" - integrity sha512-CDFrRPkt4JR9iSVn+D18ThU201m2Ck2T5+E9044yJqkUgfbcMXO54ls2DlLbCg1RUrazRrqQ9Bu0IxDHbTwaKg== - dependencies: - "@aws-cdk/core" "1.61.0" - "@aws-cdk/region-info" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-kms@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kms/-/aws-kms-1.61.0.tgz#a6b8429893e31be15b151ef7357e0560920d5527" - integrity sha512-taSQYpcPM705NN32W2UcgNfezTQbqx5YZDR+jp7A/E4OVdR1jojDJn6LKzsIo71s7DDG/k+77oNXEIJsaIhSRA== - dependencies: - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-lambda@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda/-/aws-lambda-1.61.0.tgz#65b2fb456f6c2d0566401bd3d265f5bae47d6346" - integrity sha512-LhO/f50ovtsd2uUjLdeTEFdnQlbvXvC4VN5BEnX4X2kpdCpUXsnClVb9EQPEAFaDIE6VEpMnQ6rUR27kTerLCg== - dependencies: - "@aws-cdk/aws-applicationautoscaling" "1.61.0" - "@aws-cdk/aws-cloudwatch" "1.61.0" - "@aws-cdk/aws-codeguruprofiler" "1.61.0" - "@aws-cdk/aws-ec2" "1.61.0" - "@aws-cdk/aws-efs" "1.61.0" - "@aws-cdk/aws-events" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-logs" "1.61.0" - "@aws-cdk/aws-s3" "1.61.0" - "@aws-cdk/aws-s3-assets" "1.61.0" - "@aws-cdk/aws-sqs" "1.61.0" - "@aws-cdk/core" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-logs@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-logs/-/aws-logs-1.61.0.tgz#430bb5fc87ec606416ffb0869f04754185092a21" - integrity sha512-swEkiF+VFfsfY2GiCO8o9vzAQVnDUghmCZmg2B1oi4QwG850CBiPzAz88QaZOzqX1YWWXTcGU20yADg6D5nRIw== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-s3-assets" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-route53@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-route53/-/aws-route53-1.61.0.tgz#f4b50ba975f687dcbc763b1cb98eaf0c6ac22b36" - integrity sha512-VKfEtqEMXXPBel3/QQMET0jmw7qyAXWOywzSPQ1/8J6th2q9hMzLQOr6fkuf1rTdVMNjLXhHqXq/W+JinfCUqw== - dependencies: - "@aws-cdk/aws-ec2" "1.61.0" - "@aws-cdk/aws-logs" "1.61.0" - "@aws-cdk/cloud-assembly-schema" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-s3-assets@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.61.0.tgz#8512ac0e16818bc78eff010d15d6cc99a7d8fccf" - integrity sha512-sipvqw0fJcpT3+Hxdzn2UkbBh/tr+jkzplLq2Jk5Jr0E/7+V5t2kmlEQgyG82ug1J2DERMAdlie8AgzGJ5CxhA== - dependencies: - "@aws-cdk/assets" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/aws-s3" "1.61.0" - "@aws-cdk/core" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-s3@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3/-/aws-s3-1.61.0.tgz#a16d697a26d02b6d25636a0606016fbc187eae86" - integrity sha512-tFemzJJtopsiDbcjwpqsSY9xm3wZLWKEg2/9iAAZ4VUEW4feoX7NQyVkYHGH2dfMVufXq/rMZPfbKq7f3cgzAg== - dependencies: - "@aws-cdk/aws-events" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-sns@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns/-/aws-sns-1.61.0.tgz#c82f9b224b7ebf3e48cd9433456156e5d3f1df89" - integrity sha512-jmJmZXidJAJTg4lPnxMm26QR3ovMYb/89NBWnIRwGdVGcZ7nrWUkC0JNPQMbP+EvUFdh/9xdFVP4JvvzZzoy0w== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.61.0" - "@aws-cdk/aws-events" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/aws-sqs" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-sqs@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sqs/-/aws-sqs-1.61.0.tgz#b2d1d7a5d27d36d1580a3cb500daf417037da492" - integrity sha512-gyShf5rmUZCovSHL4PXvAD6TA/xmPESpsi+zx7HU/VXyeGgO6inq/sVzWM0OpCrNUnnoSct5p0yZJytRBnVYaA== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-ssm@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ssm/-/aws-ssm-1.61.0.tgz#229308cfce757f8b3f75d12bf276ce4f8042076f" - integrity sha512-fOr2g7V7pR9bP7CXWLznM3d0/8EW76pjKLe+uGeXpqnrtXaGCvFBjiAms10oZ2584bn2bWIzikGmzzxzpamJbg== - dependencies: - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/cloud-assembly-schema" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/cloud-assembly-schema@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.61.0.tgz#d4d7f75cba3c52bb0b5406085dc77eefc6393aa9" - integrity sha512-+D1K159eNxWDGJNiyQcwczddzqFDS08b2VAJrgJFvqhMNbNWWuYxxxEJoh5jH9iULr2a52WXrrQfF72HbB0jUQ== - dependencies: - jsonschema "^1.2.5" - semver "^7.2.2" - -"@aws-cdk/core@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.61.0.tgz#817689a087cb97741fd5e4b407ee603610f30fb3" - integrity sha512-g6vOR7zqWfbSzIM2kqUPH0Tdk4tOUFGX1TM5crty1ndkNja84PvAzEjQZr34U2aCGk+EI2pyB/4D7BLiAhAvKw== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" +"@aws-cdk/assets@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/assets/-/assets-1.74.0.tgz#8aea948a32afcf7c60449346a087c4b5aecff251" + integrity sha512-ZXmiJ9Qf0odTJWQPEvN+41wI1MAOK0PS5E/CTTOc9qSZufHKxpF0UPNu+8G/cMUnmKoonih8eglUCR8mmVzGrQ== + dependencies: + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-applicationautoscaling@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-applicationautoscaling/-/aws-applicationautoscaling-1.74.0.tgz#ad5e946e68bd4094c3236e983d36f67d66135dfc" + integrity sha512-QqEm+jN2zQyficWAQWIIJTN+HwonBx5lS+Ccgx8vR+lXAPW9BORtsuEd0jKzMs2LVF+eiRQcwgD1WqH99HFPXw== + dependencies: + "@aws-cdk/aws-autoscaling-common" "1.74.0" + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-autoscaling-common@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-common/-/aws-autoscaling-common-1.74.0.tgz#f6bcbb987830f299b6e2ef454944afdde9a8a82e" + integrity sha512-UHqhMxGjGe00XaZfb7+OtAbY48vU2PdjYxIiRlFqrvJ7w6ws2dW7trKRHfpmbIF6M8h3Jtys1y69UuijaIHTlg== + dependencies: + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-certificatemanager@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-certificatemanager/-/aws-certificatemanager-1.74.0.tgz#35b07c4b396a3db96da5d431e549460d1edc2251" + integrity sha512-Ve1SYM6qpUysHLD5bzHiE4kXBeo7VAEQlUti0cjkkjkuPh+dKHti/TqYhA0tkfUIMjZylnvkogBzMYdIUBTNxg== + dependencies: + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-lambda" "1.74.0" + "@aws-cdk/aws-route53" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-cloudformation@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudformation/-/aws-cloudformation-1.74.0.tgz#04fffb02403fb52ee05ec43172b845a29a903a9e" + integrity sha512-VOyuMhoxA9vk3zSUfzqSg1YjYYgc+qyB0bpaOJIW/iinXYXhA64z5YQnTxdwd/exlFgA59chOanA7aRrNM2YIg== + dependencies: + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-lambda" "1.74.0" + "@aws-cdk/aws-s3" "1.74.0" + "@aws-cdk/aws-sns" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-cloudwatch@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.74.0.tgz#94a29d2998a5c08412084b346d404b3a8b90f8a8" + integrity sha512-FqkU9JNM63JzdKVwmI07UJ2upDLrqByEs6kXMNOv0RxfvLIe73DNfBp8T+WxJ23G38sCLfeTsPIIG5K2XzOQGg== + dependencies: + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-codeguruprofiler@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codeguruprofiler/-/aws-codeguruprofiler-1.74.0.tgz#d749688e9edb252ce6fc68efa4f9977f7ba02cb6" + integrity sha512-CF4NqFSPeFnqbVG23+BozGNVha2Pk7vXaLGCPZPlHmx2jwaxZHCdxK+VvtOtV3fVPr6CI97SsTq9TwiFciv+zg== + dependencies: + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-cognito@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cognito/-/aws-cognito-1.74.0.tgz#740f51269cbe00b46ae6327814dd8c0dbb470912" + integrity sha512-t8XZbWQd8gMgn6FfYlPBmb3HDBVFHZI3tEODgc4mu/qRZAn2GH+pka4l1kdsgfzsBekvBLsOQosp7xJ6XaABsA== + dependencies: + "@aws-cdk/aws-certificatemanager" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-lambda" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/custom-resources" "1.74.0" + constructs "^3.2.0" + punycode "^2.1.1" + +"@aws-cdk/aws-dynamodb@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-dynamodb/-/aws-dynamodb-1.74.0.tgz#7e0ef530e9c3d7301a9db616ddf6d650f7acb76f" + integrity sha512-YU38dFYLMyMe5u2GLy8sFCFTVxwDgWZ67HzFg41kSj8WpAsVQEE5Zxh1nf0+8Ai1J4MNeLeMCaXtuliHipoQSw== + dependencies: + "@aws-cdk/aws-applicationautoscaling" "1.74.0" + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/aws-lambda" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/custom-resources" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-ec2@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ec2/-/aws-ec2-1.74.0.tgz#eae31df9045ca9374daf6b1562674e31d8053aff" + integrity sha512-TcJtdSFur8Pkhfz39nhPZH2LBiugBhSrDkAUfeEVVwDEa4kvNys7xkcwvvBouFhM6YhitjZ53j9d7d4CEBc73g== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/aws-logs" "1.74.0" + "@aws-cdk/aws-s3" "1.74.0" + "@aws-cdk/aws-s3-assets" "1.74.0" + "@aws-cdk/aws-ssm" "1.74.0" + "@aws-cdk/cloud-assembly-schema" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + "@aws-cdk/region-info" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-efs@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-efs/-/aws-efs-1.74.0.tgz#367b89f14ccd090f98227dbc975076571b31faac" + integrity sha512-ghzwm/e8qQlOM/PKgfscbVFny9qhQNrXZltxckhHdTEX3Wtx9RXpveWzEOGBoHBJHSv49gkvAwtvzTbxCss4QA== + dependencies: + "@aws-cdk/aws-ec2" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/cloud-assembly-schema" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-events@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events/-/aws-events-1.74.0.tgz#2ed5a4cdd737ce4c8950506df496d0b43ac6aa12" + integrity sha512-dmVswvSBd2jZzgPJCQell+u9bRYNg63p1e57bXmql6Rm1UJDPTbvESPXsdwwFW2WpJyXwHOOM+qe98r5CbcTUw== + dependencies: + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-iam@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-iam/-/aws-iam-1.74.0.tgz#c255c9676fb6048ab27c00d111ed5e7d8b46877c" + integrity sha512-5Eq4e4/be2HMFZXc1sCeNjqgTyjlWgvIjbLh0Q4c01V05r7MbPdmfZRurbeEA6NohGf+zYFQrCzPnTaqvFPFHA== + dependencies: + "@aws-cdk/core" "1.74.0" + "@aws-cdk/region-info" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-kms@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kms/-/aws-kms-1.74.0.tgz#73531f7b5d2542eb5e3f7bb54604944921e34995" + integrity sha512-4cTNqzNkml3RV6uobSwq7ZtPBjwNovOxv75vzGNNRw1GO6hxqDzoPRIsgfwNvVii8tv27eR0xTK0t6WlKqoVzg== + dependencies: + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-lambda-nodejs@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda-nodejs/-/aws-lambda-nodejs-1.74.0.tgz#aa818270e4dcd74be51d402cdb114da311b3c966" + integrity sha512-1mc8I+Yz43El8O8SjsfkABsI31tcpO5e3fAz7/40DKuFgM9jkL6vyiL55MLIckAqmE2N9mRYU0xF4RC7uRZdmQ== + dependencies: + "@aws-cdk/aws-lambda" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-lambda@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda/-/aws-lambda-1.74.0.tgz#52175fbc9e679ca5c0f4d15e0666c99fc4a953d0" + integrity sha512-Ju3/mhnli33xnO2qvJUs11djva12SHnmJPGtbx4Nz33z577/pCwLZYWa7noP8eUzAyBglfNlPG8JWH+fNHPbew== + dependencies: + "@aws-cdk/aws-applicationautoscaling" "1.74.0" + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-codeguruprofiler" "1.74.0" + "@aws-cdk/aws-ec2" "1.74.0" + "@aws-cdk/aws-efs" "1.74.0" + "@aws-cdk/aws-events" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-logs" "1.74.0" + "@aws-cdk/aws-s3" "1.74.0" + "@aws-cdk/aws-s3-assets" "1.74.0" + "@aws-cdk/aws-sqs" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-logs@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-logs/-/aws-logs-1.74.0.tgz#cd40afe70ffeb5250ecea1db0ee0a2f68fb2084a" + integrity sha512-wMpjXdJBN3S0gYO3pMjjKxSTlIs0ZUH64k6BnOxDvnltWbBJomD0/qLKMVHShOddm9MMNdD8AaYpCqZsrplZHA== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/aws-s3-assets" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-route53@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-route53/-/aws-route53-1.74.0.tgz#f9b3c770cf613227bba31c4a7499c8f19966f3e4" + integrity sha512-TYnAByXLc6B/uAG03bYLV0kPi1TU8G95kW6wNhfiqvPCSwfizbsg5rztbUoydJpBocbOs9qbtCM7v6gbDsB2bQ== + dependencies: + "@aws-cdk/aws-ec2" "1.74.0" + "@aws-cdk/aws-logs" "1.74.0" + "@aws-cdk/cloud-assembly-schema" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-s3-assets@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.74.0.tgz#7f1988f3931e95d88a8c1357f98c47f7f9b73dee" + integrity sha512-uewjgTOr5q60UbPKHo3qgYApXxFKUIgP6eUZi7v8mhfnZUDw9H9B4rRJ7rHRZ4gYj9ZtiWq1o3hpvWnoHsR+zg== + dependencies: + "@aws-cdk/assets" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/aws-s3" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-s3@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3/-/aws-s3-1.74.0.tgz#5b53839c3af0f67bfb1e96061f6a1ea5be445fe9" + integrity sha512-xbRbI90hUvmVwGHHMr4dPWv0TXBxr/HeeaLzqLDHv36+TKA0wMR7ttRm3pbT3Kf/YjqSty788rom6lVqaAu81Q== + dependencies: + "@aws-cdk/aws-events" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-sns@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns/-/aws-sns-1.74.0.tgz#c9289b34cb2512010a0b6813f684c93398502bdd" + integrity sha512-O0HDGvl1WjCTU53auNJKCW5/6vpbVYlj0RwLgGaOOlTeKnfuq53kGvL/t3QdZQlJWxSvkbN61O+rZB7GacXV0g== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-events" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/aws-sqs" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-sqs@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sqs/-/aws-sqs-1.74.0.tgz#998da5838d4310805432f0cf55fcc7c8f34657e2" + integrity sha512-qlj7ZapoL9oneLu4wh7DfQDypCo6QFlyGzd3nlmn+C9UbCscBkpSJnmYSGi2m0TVCKbd3tP1EpfdU36LTahYBg== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-ssm@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ssm/-/aws-ssm-1.74.0.tgz#426dd65c0b933618d5c196cb38386c1035b0fdc4" + integrity sha512-uok/D4ooEVXst0HZYQkcPIM5xlHAVjGjF44Gt68hbdZknBhMbfZP2EWqSZHhSW9HdVoNFTNkIxcI2AemCnt2Qg== + dependencies: + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/cloud-assembly-schema" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/cloud-assembly-schema@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.74.0.tgz#f1bbd8411ec320dd9e14ef2dce626a05019c42bc" + integrity sha512-TOfruzx7zIirRpfL9r5tGcOPdfXQatD3/kgXq4I1px12oH3jmuiEcNxGdvEYgVMPaZGMrx0rtqyT2sGDWBycKw== + dependencies: + jsonschema "^1.4.0" + semver "^7.3.2" + +"@aws-cdk/core@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.74.0.tgz#132d31c0ab9d39394827431ccd804cf10de34273" + integrity sha512-1iKRIRKyMQ8ZmPvkAAjSIGl4Fh7tLIE7D23ht25ayNGp0XVG1Hd858x2GmDzI/J1ZK6xsuTsEDGbi5/saR69ng== + dependencies: + "@aws-cdk/cloud-assembly-schema" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + "@aws-cdk/region-info" "1.74.0" + "@balena/dockerignore" "^1.0.2" + constructs "^3.2.0" fs-extra "^9.0.1" + ignore "^5.1.8" minimatch "^3.0.4" -"@aws-cdk/custom-resources@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/custom-resources/-/custom-resources-1.61.0.tgz#03749f4122e46504fd1b3b3b9a11aa3578f269bf" - integrity sha512-etnHE7A0+J5w1L/m+KxEbPQ7LgtVYvEUV6naqRp5uIsTBaJ9sCQ+q43Y3Fj+g3NMigm8C2fKg5FmiFE6kiymDQ== +"@aws-cdk/custom-resources@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/custom-resources/-/custom-resources-1.74.0.tgz#19329e8a9b9bc0ca66e00c791b008c416a67265f" + integrity sha512-KDXgyRCeCMIj42nQcd2RXc4GYQpd7SWtx2iw0G4Wvs/wG4i3nR1qdlvEJvAlNgsYeqM4pp3mIp3PgdX341HsCg== dependencies: - "@aws-cdk/aws-cloudformation" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-lambda" "1.61.0" - "@aws-cdk/aws-logs" "1.61.0" - "@aws-cdk/aws-sns" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/cx-api@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.61.0.tgz#23f0e0cff978277626d42091907b71a6c4d98580" - integrity sha512-SOn1aLhp2Zot1Qqev1REbgL2n0Ccl9sfg1nJMWnGxAmjarazJfvW22llYKnJPuFkgHswaBlifBxAA4WgKbUn6g== + "@aws-cdk/aws-cloudformation" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-lambda" "1.74.0" + "@aws-cdk/aws-logs" "1.74.0" + "@aws-cdk/aws-sns" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/cx-api@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.74.0.tgz#922c11389d723eadef2bc12666ced4980fe9e4cc" + integrity sha512-Xhq9col3syHmxC3Zl1igrWwvOzwJzwTKwpLLL8ENF8u2n8x4eneAN+OLrRlB/rhAQ+KUL6B8toUsd4pcJMkSOQ== dependencies: - "@aws-cdk/cloud-assembly-schema" "1.61.0" - semver "^7.2.2" + "@aws-cdk/cloud-assembly-schema" "1.74.0" + semver "^7.3.2" + +"@aws-cdk/region-info@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/region-info/-/region-info-1.74.0.tgz#e53eabe2d8980c360e63ea956615253551005182" + integrity sha512-xF0etW01PyUNxL9F4xiA2y/pEG9e+0EJpOL7O9gVZ0IxOkIW+J0MljR6O8nx4yCx6j2/dXTs6INZ/zVn0DsydA== -"@aws-cdk/region-info@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/region-info/-/region-info-1.61.0.tgz#663e44206a92da544183c3a405cd73490fdc3103" - integrity sha512-/10gvecycNJhYM2LIkA0XaoWgUZQ6K5FIIRaf/o4PbgHyR8WTyEPO6lbT0GoKi69TvC+18xzJ4iZ1p3ZdRnUYw== +"@balena/dockerignore@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@balena/dockerignore/-/dockerignore-1.0.2.tgz#9ffe4726915251e8eb69f44ef3547e0da2c03e0d" + integrity sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q== "@serverless-stack/resources@../../../resources": - version "0.1.10" + version "0.4.3" dependencies: - "@aws-cdk/core" "1.61.0" + "@aws-cdk/aws-lambda" "1.74.0" + "@aws-cdk/aws-lambda-nodejs" "1.74.0" + "@aws-cdk/core" "1.74.0" at-least-node@^1.0.0: version "1.0.0" @@ -329,10 +351,10 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= -constructs@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/constructs/-/constructs-3.0.4.tgz#eb1ed5b80f6600b8d50de83971357ae0fe8e29a2" - integrity sha512-CDvg7gMjphE3DFX4pzkF6j73NREbR8npPFW8Mx/CLRnMR035+Y1o1HrXIsNSss/dq3ZUnNTU9jKyd3fL9EOlfw== +constructs@^3.2.0: + version "3.2.40" + resolved "https://registry.yarnpkg.com/constructs/-/constructs-3.2.40.tgz#e8c0e1020ad254ff73d9ea6c85cc90c3a33c71f1" + integrity sha512-XtKn+Pzq8EZNe1zasQem6X09dprZ8pXvNxECKQLZC+jU5BdkgDKe0nak4Wp+k7uvDFlyh9NccaGtxqP6w2YS0A== fs-extra@^9.0.1: version "9.0.1" @@ -349,6 +371,11 @@ graceful-fs@^4.1.6, graceful-fs@^4.2.0: resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== +ignore@^5.1.8: + version "5.1.8" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" + integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== + jsonfile@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.0.1.tgz#98966cba214378c8c84b82e085907b40bf614179" @@ -358,10 +385,10 @@ jsonfile@^6.0.1: optionalDependencies: graceful-fs "^4.1.6" -jsonschema@^1.2.5: - version "1.2.6" - resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.2.6.tgz#52b0a8e9dc06bbae7295249d03e4b9faee8a0c0b" - integrity sha512-SqhURKZG07JyKKeo/ir24QnS4/BV7a6gQy93bUSe4lUdNp0QNpIz2c9elWJQ9dpc5cQYY6cvCzgRwy0MQCLyqA== +jsonschema@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.4.0.tgz#1afa34c4bc22190d8e42271ec17ac8b3404f87b2" + integrity sha512-/YgW6pRMr6M7C+4o8kS+B/2myEpHCrxO4PEWnqJNBFMjn7EWXqlQ4tGwL6xTHeRplwuZmcAncdvfOad1nT2yMw== minimatch@^3.0.4: version "3.0.4" @@ -370,7 +397,12 @@ minimatch@^3.0.4: dependencies: brace-expansion "^1.1.7" -semver@^7.2.2: +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== + +semver@^7.3.2: version "7.3.2" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== diff --git a/packages/cli/test/config/yarn.lock b/packages/cli/test/config/yarn.lock index bd5fb40701..a6b35a0548 100644 --- a/packages/cli/test/config/yarn.lock +++ b/packages/cli/test/config/yarn.lock @@ -2,275 +2,296 @@ # yarn lockfile v1 -"@aws-cdk/assets@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/assets/-/assets-1.61.0.tgz#9702ba8ef5b3c45ec47e0530006d63dc0685a5ff" - integrity sha512-VJfH8oVAsIa5lo+SmDF5d6r1J9Fb9TrnQINrzr68shhdY/RAkys5cr9SXO4lcpWmGsNXB9z+tEtEz9IT79e2QA== +"@aws-cdk/assets@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/assets/-/assets-1.74.0.tgz#8aea948a32afcf7c60449346a087c4b5aecff251" + integrity sha512-ZXmiJ9Qf0odTJWQPEvN+41wI1MAOK0PS5E/CTTOc9qSZufHKxpF0UPNu+8G/cMUnmKoonih8eglUCR8mmVzGrQ== dependencies: - "@aws-cdk/core" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-applicationautoscaling@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-applicationautoscaling/-/aws-applicationautoscaling-1.61.0.tgz#8129984ba0185bbb525fd8ef6328c5c84e51e4e5" - integrity sha512-KP2zJ2hJYZgrl2glfCFpK0l9PJderMNS2MAH7xr0JuiFwAPuJgNEmOkrtVAgrsTGFDBisvXQpqr6L84EQxBfyw== + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-applicationautoscaling@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-applicationautoscaling/-/aws-applicationautoscaling-1.74.0.tgz#ad5e946e68bd4094c3236e983d36f67d66135dfc" + integrity sha512-QqEm+jN2zQyficWAQWIIJTN+HwonBx5lS+Ccgx8vR+lXAPW9BORtsuEd0jKzMs2LVF+eiRQcwgD1WqH99HFPXw== dependencies: - "@aws-cdk/aws-autoscaling-common" "1.61.0" - "@aws-cdk/aws-cloudwatch" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-autoscaling-common@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-common/-/aws-autoscaling-common-1.61.0.tgz#9e7f6a8669b36001b846d90fa8cb65d8b4edb27b" - integrity sha512-Mc02ZTp6gGGOycYHygyTWfXMajOi5bEAq6d6nJOQdzZSj2oiRmtQeF/Fd4earXFcl+lhSFMyUPEQPvZyvngQWQ== + "@aws-cdk/aws-autoscaling-common" "1.74.0" + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-autoscaling-common@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-common/-/aws-autoscaling-common-1.74.0.tgz#f6bcbb987830f299b6e2ef454944afdde9a8a82e" + integrity sha512-UHqhMxGjGe00XaZfb7+OtAbY48vU2PdjYxIiRlFqrvJ7w6ws2dW7trKRHfpmbIF6M8h3Jtys1y69UuijaIHTlg== dependencies: - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-cloudformation@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudformation/-/aws-cloudformation-1.61.0.tgz#6810e5327aa53b6d73cb337af340db152284aad7" - integrity sha512-e7mti0sWR6Sf4tav36bu379kkG5E33VMPLZaT8RkhXkIl97c1OaGHVx5G1Oe5DiHka08c+PA6da8ahkrR1wSkQ== + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-cloudformation@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudformation/-/aws-cloudformation-1.74.0.tgz#04fffb02403fb52ee05ec43172b845a29a903a9e" + integrity sha512-VOyuMhoxA9vk3zSUfzqSg1YjYYgc+qyB0bpaOJIW/iinXYXhA64z5YQnTxdwd/exlFgA59chOanA7aRrNM2YIg== dependencies: - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-lambda" "1.61.0" - "@aws-cdk/aws-s3" "1.61.0" - "@aws-cdk/aws-sns" "1.61.0" - "@aws-cdk/core" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-cloudwatch@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.61.0.tgz#3c0171ca76d086da424c1b4148a53c4d68dd885a" - integrity sha512-/Lp+8OU82m2+VX0GDeO8RIzyJDEvZQQaSQYflXRAFxFDrHiU6i4kXLbr1j4jebB9r+NSEAZ6XopBNg+JsAXGug== + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-lambda" "1.74.0" + "@aws-cdk/aws-s3" "1.74.0" + "@aws-cdk/aws-sns" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-cloudwatch@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.74.0.tgz#94a29d2998a5c08412084b346d404b3a8b90f8a8" + integrity sha512-FqkU9JNM63JzdKVwmI07UJ2upDLrqByEs6kXMNOv0RxfvLIe73DNfBp8T+WxJ23G38sCLfeTsPIIG5K2XzOQGg== dependencies: - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-codeguruprofiler@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codeguruprofiler/-/aws-codeguruprofiler-1.61.0.tgz#1ace4c61a4a7b916f4dbe28070b5b914949e6f06" - integrity sha512-eS+evPzEOP2rODucLcNSIlXNozA+/6Pf2H0Igde5UiMmYSX3/ZRXm/EytKNtyF7pnWiWMymmBLwCue2V/FDV0w== + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-codeguruprofiler@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codeguruprofiler/-/aws-codeguruprofiler-1.74.0.tgz#d749688e9edb252ce6fc68efa4f9977f7ba02cb6" + integrity sha512-CF4NqFSPeFnqbVG23+BozGNVha2Pk7vXaLGCPZPlHmx2jwaxZHCdxK+VvtOtV3fVPr6CI97SsTq9TwiFciv+zg== dependencies: - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/core" "1.61.0" - -"@aws-cdk/aws-dynamodb@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-dynamodb/-/aws-dynamodb-1.61.0.tgz#3d9b1ffd6eb965152a2456de1b08625d3f3ee907" - integrity sha512-Qd87xJNTjCRBQ//H4WA6Lif3VuA9QuyKyterlmTGnmrUsAqubkKtxu/lLvMp0gQb9LzjQ5Hn9238v1s8rDBDlw== + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-dynamodb@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-dynamodb/-/aws-dynamodb-1.74.0.tgz#7e0ef530e9c3d7301a9db616ddf6d650f7acb76f" + integrity sha512-YU38dFYLMyMe5u2GLy8sFCFTVxwDgWZ67HzFg41kSj8WpAsVQEE5Zxh1nf0+8Ai1J4MNeLeMCaXtuliHipoQSw== + dependencies: + "@aws-cdk/aws-applicationautoscaling" "1.74.0" + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/aws-lambda" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/custom-resources" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-ec2@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ec2/-/aws-ec2-1.74.0.tgz#eae31df9045ca9374daf6b1562674e31d8053aff" + integrity sha512-TcJtdSFur8Pkhfz39nhPZH2LBiugBhSrDkAUfeEVVwDEa4kvNys7xkcwvvBouFhM6YhitjZ53j9d7d4CEBc73g== dependencies: - "@aws-cdk/aws-applicationautoscaling" "1.61.0" - "@aws-cdk/aws-cloudwatch" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/aws-lambda" "1.61.0" - "@aws-cdk/core" "1.61.0" - "@aws-cdk/custom-resources" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-ec2@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ec2/-/aws-ec2-1.61.0.tgz#d39b1f5356c57089b963bbe4644adc02fd12a4bf" - integrity sha512-mW1tij3tuvHfgNlLQst1XkvSOoV/r3iUQFLhJ8QMG8h0KUiHRyY0i+kj3Ern4GxlwNUfM6RY3f12qtSpRpVPxQ== + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/aws-logs" "1.74.0" + "@aws-cdk/aws-s3" "1.74.0" + "@aws-cdk/aws-s3-assets" "1.74.0" + "@aws-cdk/aws-ssm" "1.74.0" + "@aws-cdk/cloud-assembly-schema" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + "@aws-cdk/region-info" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-efs@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-efs/-/aws-efs-1.74.0.tgz#367b89f14ccd090f98227dbc975076571b31faac" + integrity sha512-ghzwm/e8qQlOM/PKgfscbVFny9qhQNrXZltxckhHdTEX3Wtx9RXpveWzEOGBoHBJHSv49gkvAwtvzTbxCss4QA== dependencies: - "@aws-cdk/aws-cloudwatch" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/aws-logs" "1.61.0" - "@aws-cdk/aws-s3" "1.61.0" - "@aws-cdk/aws-s3-assets" "1.61.0" - "@aws-cdk/aws-ssm" "1.61.0" - "@aws-cdk/cloud-assembly-schema" "1.61.0" - "@aws-cdk/core" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - "@aws-cdk/region-info" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-efs@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-efs/-/aws-efs-1.61.0.tgz#c4d66d0d928c01c8018c1c8bc75a1c5097d649ce" - integrity sha512-WeF3SF681V43E+u2j78om+y4r1Ay4JPTAns8y6SFcZOLqH+6qlXusGrwQoZcHpD4MTSU60NZKD8O0u1A111osg== + "@aws-cdk/aws-ec2" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/cloud-assembly-schema" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-events@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events/-/aws-events-1.74.0.tgz#2ed5a4cdd737ce4c8950506df496d0b43ac6aa12" + integrity sha512-dmVswvSBd2jZzgPJCQell+u9bRYNg63p1e57bXmql6Rm1UJDPTbvESPXsdwwFW2WpJyXwHOOM+qe98r5CbcTUw== dependencies: - "@aws-cdk/aws-ec2" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/cloud-assembly-schema" "1.61.0" - "@aws-cdk/core" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-events@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events/-/aws-events-1.61.0.tgz#718fd427ee09a11e30c96b66c88bc9b6169f5dff" - integrity sha512-DBEi/XPnWvQJ42dv28JdQSHGUz9N6fqYjR8FSNc2s0oXgDqGQ+8rU1Hxcj6s2Qb7lBQ66pHsvlpUcqZANIoddw== + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-iam@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-iam/-/aws-iam-1.74.0.tgz#c255c9676fb6048ab27c00d111ed5e7d8b46877c" + integrity sha512-5Eq4e4/be2HMFZXc1sCeNjqgTyjlWgvIjbLh0Q4c01V05r7MbPdmfZRurbeEA6NohGf+zYFQrCzPnTaqvFPFHA== dependencies: - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-iam@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-iam/-/aws-iam-1.61.0.tgz#df38b5a3a33dd28f89d57884190fe429b2507bb9" - integrity sha512-CDFrRPkt4JR9iSVn+D18ThU201m2Ck2T5+E9044yJqkUgfbcMXO54ls2DlLbCg1RUrazRrqQ9Bu0IxDHbTwaKg== + "@aws-cdk/core" "1.74.0" + "@aws-cdk/region-info" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-kms@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kms/-/aws-kms-1.74.0.tgz#73531f7b5d2542eb5e3f7bb54604944921e34995" + integrity sha512-4cTNqzNkml3RV6uobSwq7ZtPBjwNovOxv75vzGNNRw1GO6hxqDzoPRIsgfwNvVii8tv27eR0xTK0t6WlKqoVzg== dependencies: - "@aws-cdk/core" "1.61.0" - "@aws-cdk/region-info" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-kms@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kms/-/aws-kms-1.61.0.tgz#a6b8429893e31be15b151ef7357e0560920d5527" - integrity sha512-taSQYpcPM705NN32W2UcgNfezTQbqx5YZDR+jp7A/E4OVdR1jojDJn6LKzsIo71s7DDG/k+77oNXEIJsaIhSRA== + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-lambda-nodejs@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda-nodejs/-/aws-lambda-nodejs-1.74.0.tgz#aa818270e4dcd74be51d402cdb114da311b3c966" + integrity sha512-1mc8I+Yz43El8O8SjsfkABsI31tcpO5e3fAz7/40DKuFgM9jkL6vyiL55MLIckAqmE2N9mRYU0xF4RC7uRZdmQ== dependencies: - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-lambda@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda/-/aws-lambda-1.61.0.tgz#65b2fb456f6c2d0566401bd3d265f5bae47d6346" - integrity sha512-LhO/f50ovtsd2uUjLdeTEFdnQlbvXvC4VN5BEnX4X2kpdCpUXsnClVb9EQPEAFaDIE6VEpMnQ6rUR27kTerLCg== + "@aws-cdk/aws-lambda" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-lambda@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda/-/aws-lambda-1.74.0.tgz#52175fbc9e679ca5c0f4d15e0666c99fc4a953d0" + integrity sha512-Ju3/mhnli33xnO2qvJUs11djva12SHnmJPGtbx4Nz33z577/pCwLZYWa7noP8eUzAyBglfNlPG8JWH+fNHPbew== dependencies: - "@aws-cdk/aws-applicationautoscaling" "1.61.0" - "@aws-cdk/aws-cloudwatch" "1.61.0" - "@aws-cdk/aws-codeguruprofiler" "1.61.0" - "@aws-cdk/aws-ec2" "1.61.0" - "@aws-cdk/aws-efs" "1.61.0" - "@aws-cdk/aws-events" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-logs" "1.61.0" - "@aws-cdk/aws-s3" "1.61.0" - "@aws-cdk/aws-s3-assets" "1.61.0" - "@aws-cdk/aws-sqs" "1.61.0" - "@aws-cdk/core" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-logs@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-logs/-/aws-logs-1.61.0.tgz#430bb5fc87ec606416ffb0869f04754185092a21" - integrity sha512-swEkiF+VFfsfY2GiCO8o9vzAQVnDUghmCZmg2B1oi4QwG850CBiPzAz88QaZOzqX1YWWXTcGU20yADg6D5nRIw== + "@aws-cdk/aws-applicationautoscaling" "1.74.0" + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-codeguruprofiler" "1.74.0" + "@aws-cdk/aws-ec2" "1.74.0" + "@aws-cdk/aws-efs" "1.74.0" + "@aws-cdk/aws-events" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-logs" "1.74.0" + "@aws-cdk/aws-s3" "1.74.0" + "@aws-cdk/aws-s3-assets" "1.74.0" + "@aws-cdk/aws-sqs" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-logs@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-logs/-/aws-logs-1.74.0.tgz#cd40afe70ffeb5250ecea1db0ee0a2f68fb2084a" + integrity sha512-wMpjXdJBN3S0gYO3pMjjKxSTlIs0ZUH64k6BnOxDvnltWbBJomD0/qLKMVHShOddm9MMNdD8AaYpCqZsrplZHA== dependencies: - "@aws-cdk/aws-cloudwatch" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-s3-assets" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-s3-assets@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.61.0.tgz#8512ac0e16818bc78eff010d15d6cc99a7d8fccf" - integrity sha512-sipvqw0fJcpT3+Hxdzn2UkbBh/tr+jkzplLq2Jk5Jr0E/7+V5t2kmlEQgyG82ug1J2DERMAdlie8AgzGJ5CxhA== + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/aws-s3-assets" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-s3-assets@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.74.0.tgz#7f1988f3931e95d88a8c1357f98c47f7f9b73dee" + integrity sha512-uewjgTOr5q60UbPKHo3qgYApXxFKUIgP6eUZi7v8mhfnZUDw9H9B4rRJ7rHRZ4gYj9ZtiWq1o3hpvWnoHsR+zg== dependencies: - "@aws-cdk/assets" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/aws-s3" "1.61.0" - "@aws-cdk/core" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-s3@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3/-/aws-s3-1.61.0.tgz#a16d697a26d02b6d25636a0606016fbc187eae86" - integrity sha512-tFemzJJtopsiDbcjwpqsSY9xm3wZLWKEg2/9iAAZ4VUEW4feoX7NQyVkYHGH2dfMVufXq/rMZPfbKq7f3cgzAg== + "@aws-cdk/assets" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/aws-s3" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-s3@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3/-/aws-s3-1.74.0.tgz#5b53839c3af0f67bfb1e96061f6a1ea5be445fe9" + integrity sha512-xbRbI90hUvmVwGHHMr4dPWv0TXBxr/HeeaLzqLDHv36+TKA0wMR7ttRm3pbT3Kf/YjqSty788rom6lVqaAu81Q== dependencies: - "@aws-cdk/aws-events" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-sns@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns/-/aws-sns-1.61.0.tgz#c82f9b224b7ebf3e48cd9433456156e5d3f1df89" - integrity sha512-jmJmZXidJAJTg4lPnxMm26QR3ovMYb/89NBWnIRwGdVGcZ7nrWUkC0JNPQMbP+EvUFdh/9xdFVP4JvvzZzoy0w== + "@aws-cdk/aws-events" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-sns@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns/-/aws-sns-1.74.0.tgz#c9289b34cb2512010a0b6813f684c93398502bdd" + integrity sha512-O0HDGvl1WjCTU53auNJKCW5/6vpbVYlj0RwLgGaOOlTeKnfuq53kGvL/t3QdZQlJWxSvkbN61O+rZB7GacXV0g== dependencies: - "@aws-cdk/aws-cloudwatch" "1.61.0" - "@aws-cdk/aws-events" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/aws-sqs" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-sqs@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sqs/-/aws-sqs-1.61.0.tgz#b2d1d7a5d27d36d1580a3cb500daf417037da492" - integrity sha512-gyShf5rmUZCovSHL4PXvAD6TA/xmPESpsi+zx7HU/VXyeGgO6inq/sVzWM0OpCrNUnnoSct5p0yZJytRBnVYaA== + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-events" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/aws-sqs" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-sqs@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sqs/-/aws-sqs-1.74.0.tgz#998da5838d4310805432f0cf55fcc7c8f34657e2" + integrity sha512-qlj7ZapoL9oneLu4wh7DfQDypCo6QFlyGzd3nlmn+C9UbCscBkpSJnmYSGi2m0TVCKbd3tP1EpfdU36LTahYBg== dependencies: - "@aws-cdk/aws-cloudwatch" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-ssm@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ssm/-/aws-ssm-1.61.0.tgz#229308cfce757f8b3f75d12bf276ce4f8042076f" - integrity sha512-fOr2g7V7pR9bP7CXWLznM3d0/8EW76pjKLe+uGeXpqnrtXaGCvFBjiAms10oZ2584bn2bWIzikGmzzxzpamJbg== + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-ssm@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ssm/-/aws-ssm-1.74.0.tgz#426dd65c0b933618d5c196cb38386c1035b0fdc4" + integrity sha512-uok/D4ooEVXst0HZYQkcPIM5xlHAVjGjF44Gt68hbdZknBhMbfZP2EWqSZHhSW9HdVoNFTNkIxcI2AemCnt2Qg== dependencies: - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/cloud-assembly-schema" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/cloud-assembly-schema@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.61.0.tgz#d4d7f75cba3c52bb0b5406085dc77eefc6393aa9" - integrity sha512-+D1K159eNxWDGJNiyQcwczddzqFDS08b2VAJrgJFvqhMNbNWWuYxxxEJoh5jH9iULr2a52WXrrQfF72HbB0jUQ== + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/cloud-assembly-schema" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/cloud-assembly-schema@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.74.0.tgz#f1bbd8411ec320dd9e14ef2dce626a05019c42bc" + integrity sha512-TOfruzx7zIirRpfL9r5tGcOPdfXQatD3/kgXq4I1px12oH3jmuiEcNxGdvEYgVMPaZGMrx0rtqyT2sGDWBycKw== dependencies: - jsonschema "^1.2.5" - semver "^7.2.2" + jsonschema "^1.4.0" + semver "^7.3.2" -"@aws-cdk/core@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.61.0.tgz#817689a087cb97741fd5e4b407ee603610f30fb3" - integrity sha512-g6vOR7zqWfbSzIM2kqUPH0Tdk4tOUFGX1TM5crty1ndkNja84PvAzEjQZr34U2aCGk+EI2pyB/4D7BLiAhAvKw== +"@aws-cdk/core@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.74.0.tgz#132d31c0ab9d39394827431ccd804cf10de34273" + integrity sha512-1iKRIRKyMQ8ZmPvkAAjSIGl4Fh7tLIE7D23ht25ayNGp0XVG1Hd858x2GmDzI/J1ZK6xsuTsEDGbi5/saR69ng== dependencies: - "@aws-cdk/cloud-assembly-schema" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" + "@aws-cdk/cloud-assembly-schema" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + "@aws-cdk/region-info" "1.74.0" + "@balena/dockerignore" "^1.0.2" + constructs "^3.2.0" fs-extra "^9.0.1" + ignore "^5.1.8" minimatch "^3.0.4" -"@aws-cdk/custom-resources@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/custom-resources/-/custom-resources-1.61.0.tgz#03749f4122e46504fd1b3b3b9a11aa3578f269bf" - integrity sha512-etnHE7A0+J5w1L/m+KxEbPQ7LgtVYvEUV6naqRp5uIsTBaJ9sCQ+q43Y3Fj+g3NMigm8C2fKg5FmiFE6kiymDQ== +"@aws-cdk/custom-resources@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/custom-resources/-/custom-resources-1.74.0.tgz#19329e8a9b9bc0ca66e00c791b008c416a67265f" + integrity sha512-KDXgyRCeCMIj42nQcd2RXc4GYQpd7SWtx2iw0G4Wvs/wG4i3nR1qdlvEJvAlNgsYeqM4pp3mIp3PgdX341HsCg== dependencies: - "@aws-cdk/aws-cloudformation" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-lambda" "1.61.0" - "@aws-cdk/aws-logs" "1.61.0" - "@aws-cdk/aws-sns" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/cx-api@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.61.0.tgz#23f0e0cff978277626d42091907b71a6c4d98580" - integrity sha512-SOn1aLhp2Zot1Qqev1REbgL2n0Ccl9sfg1nJMWnGxAmjarazJfvW22llYKnJPuFkgHswaBlifBxAA4WgKbUn6g== + "@aws-cdk/aws-cloudformation" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-lambda" "1.74.0" + "@aws-cdk/aws-logs" "1.74.0" + "@aws-cdk/aws-sns" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/cx-api@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.74.0.tgz#922c11389d723eadef2bc12666ced4980fe9e4cc" + integrity sha512-Xhq9col3syHmxC3Zl1igrWwvOzwJzwTKwpLLL8ENF8u2n8x4eneAN+OLrRlB/rhAQ+KUL6B8toUsd4pcJMkSOQ== dependencies: - "@aws-cdk/cloud-assembly-schema" "1.61.0" - semver "^7.2.2" + "@aws-cdk/cloud-assembly-schema" "1.74.0" + semver "^7.3.2" + +"@aws-cdk/region-info@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/region-info/-/region-info-1.74.0.tgz#e53eabe2d8980c360e63ea956615253551005182" + integrity sha512-xF0etW01PyUNxL9F4xiA2y/pEG9e+0EJpOL7O9gVZ0IxOkIW+J0MljR6O8nx4yCx6j2/dXTs6INZ/zVn0DsydA== -"@aws-cdk/region-info@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/region-info/-/region-info-1.61.0.tgz#663e44206a92da544183c3a405cd73490fdc3103" - integrity sha512-/10gvecycNJhYM2LIkA0XaoWgUZQ6K5FIIRaf/o4PbgHyR8WTyEPO6lbT0GoKi69TvC+18xzJ4iZ1p3ZdRnUYw== +"@balena/dockerignore@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@balena/dockerignore/-/dockerignore-1.0.2.tgz#9ffe4726915251e8eb69f44ef3547e0da2c03e0d" + integrity sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q== "@serverless-stack/resources@../../../resources": - version "0.1.3" + version "0.4.3" dependencies: - "@aws-cdk/core" "1.61.0" + "@aws-cdk/aws-lambda" "1.74.0" + "@aws-cdk/aws-lambda-nodejs" "1.74.0" + "@aws-cdk/core" "1.74.0" at-least-node@^1.0.0: version "1.0.0" @@ -295,10 +316,10 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= -constructs@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/constructs/-/constructs-3.0.4.tgz#eb1ed5b80f6600b8d50de83971357ae0fe8e29a2" - integrity sha512-CDvg7gMjphE3DFX4pzkF6j73NREbR8npPFW8Mx/CLRnMR035+Y1o1HrXIsNSss/dq3ZUnNTU9jKyd3fL9EOlfw== +constructs@^3.2.0: + version "3.2.40" + resolved "https://registry.yarnpkg.com/constructs/-/constructs-3.2.40.tgz#e8c0e1020ad254ff73d9ea6c85cc90c3a33c71f1" + integrity sha512-XtKn+Pzq8EZNe1zasQem6X09dprZ8pXvNxECKQLZC+jU5BdkgDKe0nak4Wp+k7uvDFlyh9NccaGtxqP6w2YS0A== fs-extra@^9.0.1: version "9.0.1" @@ -315,6 +336,11 @@ graceful-fs@^4.1.6, graceful-fs@^4.2.0: resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== +ignore@^5.1.8: + version "5.1.8" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" + integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== + jsonfile@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.0.1.tgz#98966cba214378c8c84b82e085907b40bf614179" @@ -324,10 +350,10 @@ jsonfile@^6.0.1: optionalDependencies: graceful-fs "^4.1.6" -jsonschema@^1.2.5: - version "1.2.6" - resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.2.6.tgz#52b0a8e9dc06bbae7295249d03e4b9faee8a0c0b" - integrity sha512-SqhURKZG07JyKKeo/ir24QnS4/BV7a6gQy93bUSe4lUdNp0QNpIz2c9elWJQ9dpc5cQYY6cvCzgRwy0MQCLyqA== +jsonschema@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.4.0.tgz#1afa34c4bc22190d8e42271ec17ac8b3404f87b2" + integrity sha512-/YgW6pRMr6M7C+4o8kS+B/2myEpHCrxO4PEWnqJNBFMjn7EWXqlQ4tGwL6xTHeRplwuZmcAncdvfOad1nT2yMw== minimatch@^3.0.4: version "3.0.4" @@ -336,7 +362,7 @@ minimatch@^3.0.4: dependencies: brace-expansion "^1.1.7" -semver@^7.2.2: +semver@^7.3.2: version "7.3.2" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== diff --git a/packages/cli/test/context/yarn.lock b/packages/cli/test/context/yarn.lock index bd5fb40701..a6b35a0548 100644 --- a/packages/cli/test/context/yarn.lock +++ b/packages/cli/test/context/yarn.lock @@ -2,275 +2,296 @@ # yarn lockfile v1 -"@aws-cdk/assets@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/assets/-/assets-1.61.0.tgz#9702ba8ef5b3c45ec47e0530006d63dc0685a5ff" - integrity sha512-VJfH8oVAsIa5lo+SmDF5d6r1J9Fb9TrnQINrzr68shhdY/RAkys5cr9SXO4lcpWmGsNXB9z+tEtEz9IT79e2QA== +"@aws-cdk/assets@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/assets/-/assets-1.74.0.tgz#8aea948a32afcf7c60449346a087c4b5aecff251" + integrity sha512-ZXmiJ9Qf0odTJWQPEvN+41wI1MAOK0PS5E/CTTOc9qSZufHKxpF0UPNu+8G/cMUnmKoonih8eglUCR8mmVzGrQ== dependencies: - "@aws-cdk/core" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-applicationautoscaling@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-applicationautoscaling/-/aws-applicationautoscaling-1.61.0.tgz#8129984ba0185bbb525fd8ef6328c5c84e51e4e5" - integrity sha512-KP2zJ2hJYZgrl2glfCFpK0l9PJderMNS2MAH7xr0JuiFwAPuJgNEmOkrtVAgrsTGFDBisvXQpqr6L84EQxBfyw== + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-applicationautoscaling@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-applicationautoscaling/-/aws-applicationautoscaling-1.74.0.tgz#ad5e946e68bd4094c3236e983d36f67d66135dfc" + integrity sha512-QqEm+jN2zQyficWAQWIIJTN+HwonBx5lS+Ccgx8vR+lXAPW9BORtsuEd0jKzMs2LVF+eiRQcwgD1WqH99HFPXw== dependencies: - "@aws-cdk/aws-autoscaling-common" "1.61.0" - "@aws-cdk/aws-cloudwatch" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-autoscaling-common@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-common/-/aws-autoscaling-common-1.61.0.tgz#9e7f6a8669b36001b846d90fa8cb65d8b4edb27b" - integrity sha512-Mc02ZTp6gGGOycYHygyTWfXMajOi5bEAq6d6nJOQdzZSj2oiRmtQeF/Fd4earXFcl+lhSFMyUPEQPvZyvngQWQ== + "@aws-cdk/aws-autoscaling-common" "1.74.0" + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-autoscaling-common@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-common/-/aws-autoscaling-common-1.74.0.tgz#f6bcbb987830f299b6e2ef454944afdde9a8a82e" + integrity sha512-UHqhMxGjGe00XaZfb7+OtAbY48vU2PdjYxIiRlFqrvJ7w6ws2dW7trKRHfpmbIF6M8h3Jtys1y69UuijaIHTlg== dependencies: - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-cloudformation@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudformation/-/aws-cloudformation-1.61.0.tgz#6810e5327aa53b6d73cb337af340db152284aad7" - integrity sha512-e7mti0sWR6Sf4tav36bu379kkG5E33VMPLZaT8RkhXkIl97c1OaGHVx5G1Oe5DiHka08c+PA6da8ahkrR1wSkQ== + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-cloudformation@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudformation/-/aws-cloudformation-1.74.0.tgz#04fffb02403fb52ee05ec43172b845a29a903a9e" + integrity sha512-VOyuMhoxA9vk3zSUfzqSg1YjYYgc+qyB0bpaOJIW/iinXYXhA64z5YQnTxdwd/exlFgA59chOanA7aRrNM2YIg== dependencies: - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-lambda" "1.61.0" - "@aws-cdk/aws-s3" "1.61.0" - "@aws-cdk/aws-sns" "1.61.0" - "@aws-cdk/core" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-cloudwatch@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.61.0.tgz#3c0171ca76d086da424c1b4148a53c4d68dd885a" - integrity sha512-/Lp+8OU82m2+VX0GDeO8RIzyJDEvZQQaSQYflXRAFxFDrHiU6i4kXLbr1j4jebB9r+NSEAZ6XopBNg+JsAXGug== + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-lambda" "1.74.0" + "@aws-cdk/aws-s3" "1.74.0" + "@aws-cdk/aws-sns" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-cloudwatch@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.74.0.tgz#94a29d2998a5c08412084b346d404b3a8b90f8a8" + integrity sha512-FqkU9JNM63JzdKVwmI07UJ2upDLrqByEs6kXMNOv0RxfvLIe73DNfBp8T+WxJ23G38sCLfeTsPIIG5K2XzOQGg== dependencies: - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-codeguruprofiler@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codeguruprofiler/-/aws-codeguruprofiler-1.61.0.tgz#1ace4c61a4a7b916f4dbe28070b5b914949e6f06" - integrity sha512-eS+evPzEOP2rODucLcNSIlXNozA+/6Pf2H0Igde5UiMmYSX3/ZRXm/EytKNtyF7pnWiWMymmBLwCue2V/FDV0w== + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-codeguruprofiler@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codeguruprofiler/-/aws-codeguruprofiler-1.74.0.tgz#d749688e9edb252ce6fc68efa4f9977f7ba02cb6" + integrity sha512-CF4NqFSPeFnqbVG23+BozGNVha2Pk7vXaLGCPZPlHmx2jwaxZHCdxK+VvtOtV3fVPr6CI97SsTq9TwiFciv+zg== dependencies: - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/core" "1.61.0" - -"@aws-cdk/aws-dynamodb@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-dynamodb/-/aws-dynamodb-1.61.0.tgz#3d9b1ffd6eb965152a2456de1b08625d3f3ee907" - integrity sha512-Qd87xJNTjCRBQ//H4WA6Lif3VuA9QuyKyterlmTGnmrUsAqubkKtxu/lLvMp0gQb9LzjQ5Hn9238v1s8rDBDlw== + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-dynamodb@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-dynamodb/-/aws-dynamodb-1.74.0.tgz#7e0ef530e9c3d7301a9db616ddf6d650f7acb76f" + integrity sha512-YU38dFYLMyMe5u2GLy8sFCFTVxwDgWZ67HzFg41kSj8WpAsVQEE5Zxh1nf0+8Ai1J4MNeLeMCaXtuliHipoQSw== + dependencies: + "@aws-cdk/aws-applicationautoscaling" "1.74.0" + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/aws-lambda" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/custom-resources" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-ec2@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ec2/-/aws-ec2-1.74.0.tgz#eae31df9045ca9374daf6b1562674e31d8053aff" + integrity sha512-TcJtdSFur8Pkhfz39nhPZH2LBiugBhSrDkAUfeEVVwDEa4kvNys7xkcwvvBouFhM6YhitjZ53j9d7d4CEBc73g== dependencies: - "@aws-cdk/aws-applicationautoscaling" "1.61.0" - "@aws-cdk/aws-cloudwatch" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/aws-lambda" "1.61.0" - "@aws-cdk/core" "1.61.0" - "@aws-cdk/custom-resources" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-ec2@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ec2/-/aws-ec2-1.61.0.tgz#d39b1f5356c57089b963bbe4644adc02fd12a4bf" - integrity sha512-mW1tij3tuvHfgNlLQst1XkvSOoV/r3iUQFLhJ8QMG8h0KUiHRyY0i+kj3Ern4GxlwNUfM6RY3f12qtSpRpVPxQ== + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/aws-logs" "1.74.0" + "@aws-cdk/aws-s3" "1.74.0" + "@aws-cdk/aws-s3-assets" "1.74.0" + "@aws-cdk/aws-ssm" "1.74.0" + "@aws-cdk/cloud-assembly-schema" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + "@aws-cdk/region-info" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-efs@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-efs/-/aws-efs-1.74.0.tgz#367b89f14ccd090f98227dbc975076571b31faac" + integrity sha512-ghzwm/e8qQlOM/PKgfscbVFny9qhQNrXZltxckhHdTEX3Wtx9RXpveWzEOGBoHBJHSv49gkvAwtvzTbxCss4QA== dependencies: - "@aws-cdk/aws-cloudwatch" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/aws-logs" "1.61.0" - "@aws-cdk/aws-s3" "1.61.0" - "@aws-cdk/aws-s3-assets" "1.61.0" - "@aws-cdk/aws-ssm" "1.61.0" - "@aws-cdk/cloud-assembly-schema" "1.61.0" - "@aws-cdk/core" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - "@aws-cdk/region-info" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-efs@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-efs/-/aws-efs-1.61.0.tgz#c4d66d0d928c01c8018c1c8bc75a1c5097d649ce" - integrity sha512-WeF3SF681V43E+u2j78om+y4r1Ay4JPTAns8y6SFcZOLqH+6qlXusGrwQoZcHpD4MTSU60NZKD8O0u1A111osg== + "@aws-cdk/aws-ec2" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/cloud-assembly-schema" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-events@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events/-/aws-events-1.74.0.tgz#2ed5a4cdd737ce4c8950506df496d0b43ac6aa12" + integrity sha512-dmVswvSBd2jZzgPJCQell+u9bRYNg63p1e57bXmql6Rm1UJDPTbvESPXsdwwFW2WpJyXwHOOM+qe98r5CbcTUw== dependencies: - "@aws-cdk/aws-ec2" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/cloud-assembly-schema" "1.61.0" - "@aws-cdk/core" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-events@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events/-/aws-events-1.61.0.tgz#718fd427ee09a11e30c96b66c88bc9b6169f5dff" - integrity sha512-DBEi/XPnWvQJ42dv28JdQSHGUz9N6fqYjR8FSNc2s0oXgDqGQ+8rU1Hxcj6s2Qb7lBQ66pHsvlpUcqZANIoddw== + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-iam@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-iam/-/aws-iam-1.74.0.tgz#c255c9676fb6048ab27c00d111ed5e7d8b46877c" + integrity sha512-5Eq4e4/be2HMFZXc1sCeNjqgTyjlWgvIjbLh0Q4c01V05r7MbPdmfZRurbeEA6NohGf+zYFQrCzPnTaqvFPFHA== dependencies: - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-iam@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-iam/-/aws-iam-1.61.0.tgz#df38b5a3a33dd28f89d57884190fe429b2507bb9" - integrity sha512-CDFrRPkt4JR9iSVn+D18ThU201m2Ck2T5+E9044yJqkUgfbcMXO54ls2DlLbCg1RUrazRrqQ9Bu0IxDHbTwaKg== + "@aws-cdk/core" "1.74.0" + "@aws-cdk/region-info" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-kms@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kms/-/aws-kms-1.74.0.tgz#73531f7b5d2542eb5e3f7bb54604944921e34995" + integrity sha512-4cTNqzNkml3RV6uobSwq7ZtPBjwNovOxv75vzGNNRw1GO6hxqDzoPRIsgfwNvVii8tv27eR0xTK0t6WlKqoVzg== dependencies: - "@aws-cdk/core" "1.61.0" - "@aws-cdk/region-info" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-kms@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kms/-/aws-kms-1.61.0.tgz#a6b8429893e31be15b151ef7357e0560920d5527" - integrity sha512-taSQYpcPM705NN32W2UcgNfezTQbqx5YZDR+jp7A/E4OVdR1jojDJn6LKzsIo71s7DDG/k+77oNXEIJsaIhSRA== + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-lambda-nodejs@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda-nodejs/-/aws-lambda-nodejs-1.74.0.tgz#aa818270e4dcd74be51d402cdb114da311b3c966" + integrity sha512-1mc8I+Yz43El8O8SjsfkABsI31tcpO5e3fAz7/40DKuFgM9jkL6vyiL55MLIckAqmE2N9mRYU0xF4RC7uRZdmQ== dependencies: - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-lambda@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda/-/aws-lambda-1.61.0.tgz#65b2fb456f6c2d0566401bd3d265f5bae47d6346" - integrity sha512-LhO/f50ovtsd2uUjLdeTEFdnQlbvXvC4VN5BEnX4X2kpdCpUXsnClVb9EQPEAFaDIE6VEpMnQ6rUR27kTerLCg== + "@aws-cdk/aws-lambda" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-lambda@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda/-/aws-lambda-1.74.0.tgz#52175fbc9e679ca5c0f4d15e0666c99fc4a953d0" + integrity sha512-Ju3/mhnli33xnO2qvJUs11djva12SHnmJPGtbx4Nz33z577/pCwLZYWa7noP8eUzAyBglfNlPG8JWH+fNHPbew== dependencies: - "@aws-cdk/aws-applicationautoscaling" "1.61.0" - "@aws-cdk/aws-cloudwatch" "1.61.0" - "@aws-cdk/aws-codeguruprofiler" "1.61.0" - "@aws-cdk/aws-ec2" "1.61.0" - "@aws-cdk/aws-efs" "1.61.0" - "@aws-cdk/aws-events" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-logs" "1.61.0" - "@aws-cdk/aws-s3" "1.61.0" - "@aws-cdk/aws-s3-assets" "1.61.0" - "@aws-cdk/aws-sqs" "1.61.0" - "@aws-cdk/core" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-logs@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-logs/-/aws-logs-1.61.0.tgz#430bb5fc87ec606416ffb0869f04754185092a21" - integrity sha512-swEkiF+VFfsfY2GiCO8o9vzAQVnDUghmCZmg2B1oi4QwG850CBiPzAz88QaZOzqX1YWWXTcGU20yADg6D5nRIw== + "@aws-cdk/aws-applicationautoscaling" "1.74.0" + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-codeguruprofiler" "1.74.0" + "@aws-cdk/aws-ec2" "1.74.0" + "@aws-cdk/aws-efs" "1.74.0" + "@aws-cdk/aws-events" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-logs" "1.74.0" + "@aws-cdk/aws-s3" "1.74.0" + "@aws-cdk/aws-s3-assets" "1.74.0" + "@aws-cdk/aws-sqs" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-logs@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-logs/-/aws-logs-1.74.0.tgz#cd40afe70ffeb5250ecea1db0ee0a2f68fb2084a" + integrity sha512-wMpjXdJBN3S0gYO3pMjjKxSTlIs0ZUH64k6BnOxDvnltWbBJomD0/qLKMVHShOddm9MMNdD8AaYpCqZsrplZHA== dependencies: - "@aws-cdk/aws-cloudwatch" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-s3-assets" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-s3-assets@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.61.0.tgz#8512ac0e16818bc78eff010d15d6cc99a7d8fccf" - integrity sha512-sipvqw0fJcpT3+Hxdzn2UkbBh/tr+jkzplLq2Jk5Jr0E/7+V5t2kmlEQgyG82ug1J2DERMAdlie8AgzGJ5CxhA== + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/aws-s3-assets" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-s3-assets@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.74.0.tgz#7f1988f3931e95d88a8c1357f98c47f7f9b73dee" + integrity sha512-uewjgTOr5q60UbPKHo3qgYApXxFKUIgP6eUZi7v8mhfnZUDw9H9B4rRJ7rHRZ4gYj9ZtiWq1o3hpvWnoHsR+zg== dependencies: - "@aws-cdk/assets" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/aws-s3" "1.61.0" - "@aws-cdk/core" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-s3@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3/-/aws-s3-1.61.0.tgz#a16d697a26d02b6d25636a0606016fbc187eae86" - integrity sha512-tFemzJJtopsiDbcjwpqsSY9xm3wZLWKEg2/9iAAZ4VUEW4feoX7NQyVkYHGH2dfMVufXq/rMZPfbKq7f3cgzAg== + "@aws-cdk/assets" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/aws-s3" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-s3@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3/-/aws-s3-1.74.0.tgz#5b53839c3af0f67bfb1e96061f6a1ea5be445fe9" + integrity sha512-xbRbI90hUvmVwGHHMr4dPWv0TXBxr/HeeaLzqLDHv36+TKA0wMR7ttRm3pbT3Kf/YjqSty788rom6lVqaAu81Q== dependencies: - "@aws-cdk/aws-events" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-sns@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns/-/aws-sns-1.61.0.tgz#c82f9b224b7ebf3e48cd9433456156e5d3f1df89" - integrity sha512-jmJmZXidJAJTg4lPnxMm26QR3ovMYb/89NBWnIRwGdVGcZ7nrWUkC0JNPQMbP+EvUFdh/9xdFVP4JvvzZzoy0w== + "@aws-cdk/aws-events" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-sns@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns/-/aws-sns-1.74.0.tgz#c9289b34cb2512010a0b6813f684c93398502bdd" + integrity sha512-O0HDGvl1WjCTU53auNJKCW5/6vpbVYlj0RwLgGaOOlTeKnfuq53kGvL/t3QdZQlJWxSvkbN61O+rZB7GacXV0g== dependencies: - "@aws-cdk/aws-cloudwatch" "1.61.0" - "@aws-cdk/aws-events" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/aws-sqs" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-sqs@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sqs/-/aws-sqs-1.61.0.tgz#b2d1d7a5d27d36d1580a3cb500daf417037da492" - integrity sha512-gyShf5rmUZCovSHL4PXvAD6TA/xmPESpsi+zx7HU/VXyeGgO6inq/sVzWM0OpCrNUnnoSct5p0yZJytRBnVYaA== + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-events" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/aws-sqs" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-sqs@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sqs/-/aws-sqs-1.74.0.tgz#998da5838d4310805432f0cf55fcc7c8f34657e2" + integrity sha512-qlj7ZapoL9oneLu4wh7DfQDypCo6QFlyGzd3nlmn+C9UbCscBkpSJnmYSGi2m0TVCKbd3tP1EpfdU36LTahYBg== dependencies: - "@aws-cdk/aws-cloudwatch" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-ssm@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ssm/-/aws-ssm-1.61.0.tgz#229308cfce757f8b3f75d12bf276ce4f8042076f" - integrity sha512-fOr2g7V7pR9bP7CXWLznM3d0/8EW76pjKLe+uGeXpqnrtXaGCvFBjiAms10oZ2584bn2bWIzikGmzzxzpamJbg== + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-ssm@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ssm/-/aws-ssm-1.74.0.tgz#426dd65c0b933618d5c196cb38386c1035b0fdc4" + integrity sha512-uok/D4ooEVXst0HZYQkcPIM5xlHAVjGjF44Gt68hbdZknBhMbfZP2EWqSZHhSW9HdVoNFTNkIxcI2AemCnt2Qg== dependencies: - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/cloud-assembly-schema" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/cloud-assembly-schema@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.61.0.tgz#d4d7f75cba3c52bb0b5406085dc77eefc6393aa9" - integrity sha512-+D1K159eNxWDGJNiyQcwczddzqFDS08b2VAJrgJFvqhMNbNWWuYxxxEJoh5jH9iULr2a52WXrrQfF72HbB0jUQ== + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/cloud-assembly-schema" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/cloud-assembly-schema@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.74.0.tgz#f1bbd8411ec320dd9e14ef2dce626a05019c42bc" + integrity sha512-TOfruzx7zIirRpfL9r5tGcOPdfXQatD3/kgXq4I1px12oH3jmuiEcNxGdvEYgVMPaZGMrx0rtqyT2sGDWBycKw== dependencies: - jsonschema "^1.2.5" - semver "^7.2.2" + jsonschema "^1.4.0" + semver "^7.3.2" -"@aws-cdk/core@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.61.0.tgz#817689a087cb97741fd5e4b407ee603610f30fb3" - integrity sha512-g6vOR7zqWfbSzIM2kqUPH0Tdk4tOUFGX1TM5crty1ndkNja84PvAzEjQZr34U2aCGk+EI2pyB/4D7BLiAhAvKw== +"@aws-cdk/core@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.74.0.tgz#132d31c0ab9d39394827431ccd804cf10de34273" + integrity sha512-1iKRIRKyMQ8ZmPvkAAjSIGl4Fh7tLIE7D23ht25ayNGp0XVG1Hd858x2GmDzI/J1ZK6xsuTsEDGbi5/saR69ng== dependencies: - "@aws-cdk/cloud-assembly-schema" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" + "@aws-cdk/cloud-assembly-schema" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + "@aws-cdk/region-info" "1.74.0" + "@balena/dockerignore" "^1.0.2" + constructs "^3.2.0" fs-extra "^9.0.1" + ignore "^5.1.8" minimatch "^3.0.4" -"@aws-cdk/custom-resources@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/custom-resources/-/custom-resources-1.61.0.tgz#03749f4122e46504fd1b3b3b9a11aa3578f269bf" - integrity sha512-etnHE7A0+J5w1L/m+KxEbPQ7LgtVYvEUV6naqRp5uIsTBaJ9sCQ+q43Y3Fj+g3NMigm8C2fKg5FmiFE6kiymDQ== +"@aws-cdk/custom-resources@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/custom-resources/-/custom-resources-1.74.0.tgz#19329e8a9b9bc0ca66e00c791b008c416a67265f" + integrity sha512-KDXgyRCeCMIj42nQcd2RXc4GYQpd7SWtx2iw0G4Wvs/wG4i3nR1qdlvEJvAlNgsYeqM4pp3mIp3PgdX341HsCg== dependencies: - "@aws-cdk/aws-cloudformation" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-lambda" "1.61.0" - "@aws-cdk/aws-logs" "1.61.0" - "@aws-cdk/aws-sns" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/cx-api@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.61.0.tgz#23f0e0cff978277626d42091907b71a6c4d98580" - integrity sha512-SOn1aLhp2Zot1Qqev1REbgL2n0Ccl9sfg1nJMWnGxAmjarazJfvW22llYKnJPuFkgHswaBlifBxAA4WgKbUn6g== + "@aws-cdk/aws-cloudformation" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-lambda" "1.74.0" + "@aws-cdk/aws-logs" "1.74.0" + "@aws-cdk/aws-sns" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/cx-api@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.74.0.tgz#922c11389d723eadef2bc12666ced4980fe9e4cc" + integrity sha512-Xhq9col3syHmxC3Zl1igrWwvOzwJzwTKwpLLL8ENF8u2n8x4eneAN+OLrRlB/rhAQ+KUL6B8toUsd4pcJMkSOQ== dependencies: - "@aws-cdk/cloud-assembly-schema" "1.61.0" - semver "^7.2.2" + "@aws-cdk/cloud-assembly-schema" "1.74.0" + semver "^7.3.2" + +"@aws-cdk/region-info@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/region-info/-/region-info-1.74.0.tgz#e53eabe2d8980c360e63ea956615253551005182" + integrity sha512-xF0etW01PyUNxL9F4xiA2y/pEG9e+0EJpOL7O9gVZ0IxOkIW+J0MljR6O8nx4yCx6j2/dXTs6INZ/zVn0DsydA== -"@aws-cdk/region-info@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/region-info/-/region-info-1.61.0.tgz#663e44206a92da544183c3a405cd73490fdc3103" - integrity sha512-/10gvecycNJhYM2LIkA0XaoWgUZQ6K5FIIRaf/o4PbgHyR8WTyEPO6lbT0GoKi69TvC+18xzJ4iZ1p3ZdRnUYw== +"@balena/dockerignore@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@balena/dockerignore/-/dockerignore-1.0.2.tgz#9ffe4726915251e8eb69f44ef3547e0da2c03e0d" + integrity sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q== "@serverless-stack/resources@../../../resources": - version "0.1.3" + version "0.4.3" dependencies: - "@aws-cdk/core" "1.61.0" + "@aws-cdk/aws-lambda" "1.74.0" + "@aws-cdk/aws-lambda-nodejs" "1.74.0" + "@aws-cdk/core" "1.74.0" at-least-node@^1.0.0: version "1.0.0" @@ -295,10 +316,10 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= -constructs@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/constructs/-/constructs-3.0.4.tgz#eb1ed5b80f6600b8d50de83971357ae0fe8e29a2" - integrity sha512-CDvg7gMjphE3DFX4pzkF6j73NREbR8npPFW8Mx/CLRnMR035+Y1o1HrXIsNSss/dq3ZUnNTU9jKyd3fL9EOlfw== +constructs@^3.2.0: + version "3.2.40" + resolved "https://registry.yarnpkg.com/constructs/-/constructs-3.2.40.tgz#e8c0e1020ad254ff73d9ea6c85cc90c3a33c71f1" + integrity sha512-XtKn+Pzq8EZNe1zasQem6X09dprZ8pXvNxECKQLZC+jU5BdkgDKe0nak4Wp+k7uvDFlyh9NccaGtxqP6w2YS0A== fs-extra@^9.0.1: version "9.0.1" @@ -315,6 +336,11 @@ graceful-fs@^4.1.6, graceful-fs@^4.2.0: resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== +ignore@^5.1.8: + version "5.1.8" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" + integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== + jsonfile@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.0.1.tgz#98966cba214378c8c84b82e085907b40bf614179" @@ -324,10 +350,10 @@ jsonfile@^6.0.1: optionalDependencies: graceful-fs "^4.1.6" -jsonschema@^1.2.5: - version "1.2.6" - resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.2.6.tgz#52b0a8e9dc06bbae7295249d03e4b9faee8a0c0b" - integrity sha512-SqhURKZG07JyKKeo/ir24QnS4/BV7a6gQy93bUSe4lUdNp0QNpIz2c9elWJQ9dpc5cQYY6cvCzgRwy0MQCLyqA== +jsonschema@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.4.0.tgz#1afa34c4bc22190d8e42271ec17ac8b3404f87b2" + integrity sha512-/YgW6pRMr6M7C+4o8kS+B/2myEpHCrxO4PEWnqJNBFMjn7EWXqlQ4tGwL6xTHeRplwuZmcAncdvfOad1nT2yMw== minimatch@^3.0.4: version "3.0.4" @@ -336,7 +362,7 @@ minimatch@^3.0.4: dependencies: brace-expansion "^1.1.7" -semver@^7.2.2: +semver@^7.3.2: version "7.3.2" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== diff --git a/packages/cli/test/jest/yarn.lock b/packages/cli/test/jest/yarn.lock index df51708c58..8208baf489 100644 --- a/packages/cli/test/jest/yarn.lock +++ b/packages/cli/test/jest/yarn.lock @@ -2,337 +2,353 @@ # yarn lockfile v1 -"@aws-cdk/assert@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/assert/-/assert-1.61.0.tgz#c1dbbf71fd64beb067a6e6237e03686319acaaa7" - integrity sha512-avvDVpyd8zLMT0HEW1K2ngP5U8CHu+BtPinUkLpLXVJ+Cr5K12plnk84+BOWe1NhM9/bqC4b1KA0c6MzIzgREA== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.61.0" - "@aws-cdk/cloudformation-diff" "1.61.0" - "@aws-cdk/core" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/assets@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/assets/-/assets-1.61.0.tgz#9702ba8ef5b3c45ec47e0530006d63dc0685a5ff" - integrity sha512-VJfH8oVAsIa5lo+SmDF5d6r1J9Fb9TrnQINrzr68shhdY/RAkys5cr9SXO4lcpWmGsNXB9z+tEtEz9IT79e2QA== - dependencies: - "@aws-cdk/core" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-applicationautoscaling@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-applicationautoscaling/-/aws-applicationautoscaling-1.61.0.tgz#8129984ba0185bbb525fd8ef6328c5c84e51e4e5" - integrity sha512-KP2zJ2hJYZgrl2glfCFpK0l9PJderMNS2MAH7xr0JuiFwAPuJgNEmOkrtVAgrsTGFDBisvXQpqr6L84EQxBfyw== - dependencies: - "@aws-cdk/aws-autoscaling-common" "1.61.0" - "@aws-cdk/aws-cloudwatch" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-autoscaling-common@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-common/-/aws-autoscaling-common-1.61.0.tgz#9e7f6a8669b36001b846d90fa8cb65d8b4edb27b" - integrity sha512-Mc02ZTp6gGGOycYHygyTWfXMajOi5bEAq6d6nJOQdzZSj2oiRmtQeF/Fd4earXFcl+lhSFMyUPEQPvZyvngQWQ== - dependencies: - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-cloudformation@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudformation/-/aws-cloudformation-1.61.0.tgz#6810e5327aa53b6d73cb337af340db152284aad7" - integrity sha512-e7mti0sWR6Sf4tav36bu379kkG5E33VMPLZaT8RkhXkIl97c1OaGHVx5G1Oe5DiHka08c+PA6da8ahkrR1wSkQ== - dependencies: - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-lambda" "1.61.0" - "@aws-cdk/aws-s3" "1.61.0" - "@aws-cdk/aws-sns" "1.61.0" - "@aws-cdk/core" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-cloudwatch@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.61.0.tgz#3c0171ca76d086da424c1b4148a53c4d68dd885a" - integrity sha512-/Lp+8OU82m2+VX0GDeO8RIzyJDEvZQQaSQYflXRAFxFDrHiU6i4kXLbr1j4jebB9r+NSEAZ6XopBNg+JsAXGug== - dependencies: - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-codeguruprofiler@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codeguruprofiler/-/aws-codeguruprofiler-1.61.0.tgz#1ace4c61a4a7b916f4dbe28070b5b914949e6f06" - integrity sha512-eS+evPzEOP2rODucLcNSIlXNozA+/6Pf2H0Igde5UiMmYSX3/ZRXm/EytKNtyF7pnWiWMymmBLwCue2V/FDV0w== - dependencies: - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/core" "1.61.0" - -"@aws-cdk/aws-dynamodb@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-dynamodb/-/aws-dynamodb-1.61.0.tgz#3d9b1ffd6eb965152a2456de1b08625d3f3ee907" - integrity sha512-Qd87xJNTjCRBQ//H4WA6Lif3VuA9QuyKyterlmTGnmrUsAqubkKtxu/lLvMp0gQb9LzjQ5Hn9238v1s8rDBDlw== - dependencies: - "@aws-cdk/aws-applicationautoscaling" "1.61.0" - "@aws-cdk/aws-cloudwatch" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/aws-lambda" "1.61.0" - "@aws-cdk/core" "1.61.0" - "@aws-cdk/custom-resources" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-ec2@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ec2/-/aws-ec2-1.61.0.tgz#d39b1f5356c57089b963bbe4644adc02fd12a4bf" - integrity sha512-mW1tij3tuvHfgNlLQst1XkvSOoV/r3iUQFLhJ8QMG8h0KUiHRyY0i+kj3Ern4GxlwNUfM6RY3f12qtSpRpVPxQ== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/aws-logs" "1.61.0" - "@aws-cdk/aws-s3" "1.61.0" - "@aws-cdk/aws-s3-assets" "1.61.0" - "@aws-cdk/aws-ssm" "1.61.0" - "@aws-cdk/cloud-assembly-schema" "1.61.0" - "@aws-cdk/core" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - "@aws-cdk/region-info" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-efs@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-efs/-/aws-efs-1.61.0.tgz#c4d66d0d928c01c8018c1c8bc75a1c5097d649ce" - integrity sha512-WeF3SF681V43E+u2j78om+y4r1Ay4JPTAns8y6SFcZOLqH+6qlXusGrwQoZcHpD4MTSU60NZKD8O0u1A111osg== - dependencies: - "@aws-cdk/aws-ec2" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/cloud-assembly-schema" "1.61.0" - "@aws-cdk/core" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-events@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events/-/aws-events-1.61.0.tgz#718fd427ee09a11e30c96b66c88bc9b6169f5dff" - integrity sha512-DBEi/XPnWvQJ42dv28JdQSHGUz9N6fqYjR8FSNc2s0oXgDqGQ+8rU1Hxcj6s2Qb7lBQ66pHsvlpUcqZANIoddw== - dependencies: - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-iam@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-iam/-/aws-iam-1.61.0.tgz#df38b5a3a33dd28f89d57884190fe429b2507bb9" - integrity sha512-CDFrRPkt4JR9iSVn+D18ThU201m2Ck2T5+E9044yJqkUgfbcMXO54ls2DlLbCg1RUrazRrqQ9Bu0IxDHbTwaKg== - dependencies: - "@aws-cdk/core" "1.61.0" - "@aws-cdk/region-info" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-kms@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kms/-/aws-kms-1.61.0.tgz#a6b8429893e31be15b151ef7357e0560920d5527" - integrity sha512-taSQYpcPM705NN32W2UcgNfezTQbqx5YZDR+jp7A/E4OVdR1jojDJn6LKzsIo71s7DDG/k+77oNXEIJsaIhSRA== - dependencies: - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-lambda@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda/-/aws-lambda-1.61.0.tgz#65b2fb456f6c2d0566401bd3d265f5bae47d6346" - integrity sha512-LhO/f50ovtsd2uUjLdeTEFdnQlbvXvC4VN5BEnX4X2kpdCpUXsnClVb9EQPEAFaDIE6VEpMnQ6rUR27kTerLCg== - dependencies: - "@aws-cdk/aws-applicationautoscaling" "1.61.0" - "@aws-cdk/aws-cloudwatch" "1.61.0" - "@aws-cdk/aws-codeguruprofiler" "1.61.0" - "@aws-cdk/aws-ec2" "1.61.0" - "@aws-cdk/aws-efs" "1.61.0" - "@aws-cdk/aws-events" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-logs" "1.61.0" - "@aws-cdk/aws-s3" "1.61.0" - "@aws-cdk/aws-s3-assets" "1.61.0" - "@aws-cdk/aws-sqs" "1.61.0" - "@aws-cdk/core" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-logs@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-logs/-/aws-logs-1.61.0.tgz#430bb5fc87ec606416ffb0869f04754185092a21" - integrity sha512-swEkiF+VFfsfY2GiCO8o9vzAQVnDUghmCZmg2B1oi4QwG850CBiPzAz88QaZOzqX1YWWXTcGU20yADg6D5nRIw== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-s3-assets" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-s3-assets@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.61.0.tgz#8512ac0e16818bc78eff010d15d6cc99a7d8fccf" - integrity sha512-sipvqw0fJcpT3+Hxdzn2UkbBh/tr+jkzplLq2Jk5Jr0E/7+V5t2kmlEQgyG82ug1J2DERMAdlie8AgzGJ5CxhA== - dependencies: - "@aws-cdk/assets" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/aws-s3" "1.61.0" - "@aws-cdk/core" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-s3@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3/-/aws-s3-1.61.0.tgz#a16d697a26d02b6d25636a0606016fbc187eae86" - integrity sha512-tFemzJJtopsiDbcjwpqsSY9xm3wZLWKEg2/9iAAZ4VUEW4feoX7NQyVkYHGH2dfMVufXq/rMZPfbKq7f3cgzAg== - dependencies: - "@aws-cdk/aws-events" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-sns@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns/-/aws-sns-1.61.0.tgz#c82f9b224b7ebf3e48cd9433456156e5d3f1df89" - integrity sha512-jmJmZXidJAJTg4lPnxMm26QR3ovMYb/89NBWnIRwGdVGcZ7nrWUkC0JNPQMbP+EvUFdh/9xdFVP4JvvzZzoy0w== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.61.0" - "@aws-cdk/aws-events" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/aws-sqs" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-sqs@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sqs/-/aws-sqs-1.61.0.tgz#b2d1d7a5d27d36d1580a3cb500daf417037da492" - integrity sha512-gyShf5rmUZCovSHL4PXvAD6TA/xmPESpsi+zx7HU/VXyeGgO6inq/sVzWM0OpCrNUnnoSct5p0yZJytRBnVYaA== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-ssm@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ssm/-/aws-ssm-1.61.0.tgz#229308cfce757f8b3f75d12bf276ce4f8042076f" - integrity sha512-fOr2g7V7pR9bP7CXWLznM3d0/8EW76pjKLe+uGeXpqnrtXaGCvFBjiAms10oZ2584bn2bWIzikGmzzxzpamJbg== - dependencies: - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/cloud-assembly-schema" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/cfnspec@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cfnspec/-/cfnspec-1.61.0.tgz#69e998ab83c0a478b76e1c5deb8484171dfd95f9" - integrity sha512-Ss5N3unY6iVh9SjYAYvTyvhdb7Kaz6dVFeV8K68UGewiFcHpC5tQi3YmlVBw3HCgKoRt20emiHAfmdfeGO/PUQ== +"@aws-cdk/assert@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/assert/-/assert-1.74.0.tgz#82795a3bb21ede93288a60322804f6f4e2d4959e" + integrity sha512-5M3M4lcSS2dGPgVANhv5GjqC6nNBy9bL1XECAJj3lg7q+6zJ00+0wq4bB0wyvm/mE+S0axkGZ4LVHF5QA2gCfQ== + dependencies: + "@aws-cdk/cloud-assembly-schema" "1.74.0" + "@aws-cdk/cloudformation-diff" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/assets@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/assets/-/assets-1.74.0.tgz#8aea948a32afcf7c60449346a087c4b5aecff251" + integrity sha512-ZXmiJ9Qf0odTJWQPEvN+41wI1MAOK0PS5E/CTTOc9qSZufHKxpF0UPNu+8G/cMUnmKoonih8eglUCR8mmVzGrQ== + dependencies: + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-applicationautoscaling@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-applicationautoscaling/-/aws-applicationautoscaling-1.74.0.tgz#ad5e946e68bd4094c3236e983d36f67d66135dfc" + integrity sha512-QqEm+jN2zQyficWAQWIIJTN+HwonBx5lS+Ccgx8vR+lXAPW9BORtsuEd0jKzMs2LVF+eiRQcwgD1WqH99HFPXw== + dependencies: + "@aws-cdk/aws-autoscaling-common" "1.74.0" + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-autoscaling-common@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-common/-/aws-autoscaling-common-1.74.0.tgz#f6bcbb987830f299b6e2ef454944afdde9a8a82e" + integrity sha512-UHqhMxGjGe00XaZfb7+OtAbY48vU2PdjYxIiRlFqrvJ7w6ws2dW7trKRHfpmbIF6M8h3Jtys1y69UuijaIHTlg== + dependencies: + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-cloudformation@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudformation/-/aws-cloudformation-1.74.0.tgz#04fffb02403fb52ee05ec43172b845a29a903a9e" + integrity sha512-VOyuMhoxA9vk3zSUfzqSg1YjYYgc+qyB0bpaOJIW/iinXYXhA64z5YQnTxdwd/exlFgA59chOanA7aRrNM2YIg== + dependencies: + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-lambda" "1.74.0" + "@aws-cdk/aws-s3" "1.74.0" + "@aws-cdk/aws-sns" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-cloudwatch@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.74.0.tgz#94a29d2998a5c08412084b346d404b3a8b90f8a8" + integrity sha512-FqkU9JNM63JzdKVwmI07UJ2upDLrqByEs6kXMNOv0RxfvLIe73DNfBp8T+WxJ23G38sCLfeTsPIIG5K2XzOQGg== + dependencies: + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-codeguruprofiler@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codeguruprofiler/-/aws-codeguruprofiler-1.74.0.tgz#d749688e9edb252ce6fc68efa4f9977f7ba02cb6" + integrity sha512-CF4NqFSPeFnqbVG23+BozGNVha2Pk7vXaLGCPZPlHmx2jwaxZHCdxK+VvtOtV3fVPr6CI97SsTq9TwiFciv+zg== + dependencies: + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-dynamodb@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-dynamodb/-/aws-dynamodb-1.74.0.tgz#7e0ef530e9c3d7301a9db616ddf6d650f7acb76f" + integrity sha512-YU38dFYLMyMe5u2GLy8sFCFTVxwDgWZ67HzFg41kSj8WpAsVQEE5Zxh1nf0+8Ai1J4MNeLeMCaXtuliHipoQSw== + dependencies: + "@aws-cdk/aws-applicationautoscaling" "1.74.0" + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/aws-lambda" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/custom-resources" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-ec2@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ec2/-/aws-ec2-1.74.0.tgz#eae31df9045ca9374daf6b1562674e31d8053aff" + integrity sha512-TcJtdSFur8Pkhfz39nhPZH2LBiugBhSrDkAUfeEVVwDEa4kvNys7xkcwvvBouFhM6YhitjZ53j9d7d4CEBc73g== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/aws-logs" "1.74.0" + "@aws-cdk/aws-s3" "1.74.0" + "@aws-cdk/aws-s3-assets" "1.74.0" + "@aws-cdk/aws-ssm" "1.74.0" + "@aws-cdk/cloud-assembly-schema" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + "@aws-cdk/region-info" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-efs@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-efs/-/aws-efs-1.74.0.tgz#367b89f14ccd090f98227dbc975076571b31faac" + integrity sha512-ghzwm/e8qQlOM/PKgfscbVFny9qhQNrXZltxckhHdTEX3Wtx9RXpveWzEOGBoHBJHSv49gkvAwtvzTbxCss4QA== + dependencies: + "@aws-cdk/aws-ec2" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/cloud-assembly-schema" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-events@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events/-/aws-events-1.74.0.tgz#2ed5a4cdd737ce4c8950506df496d0b43ac6aa12" + integrity sha512-dmVswvSBd2jZzgPJCQell+u9bRYNg63p1e57bXmql6Rm1UJDPTbvESPXsdwwFW2WpJyXwHOOM+qe98r5CbcTUw== + dependencies: + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-iam@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-iam/-/aws-iam-1.74.0.tgz#c255c9676fb6048ab27c00d111ed5e7d8b46877c" + integrity sha512-5Eq4e4/be2HMFZXc1sCeNjqgTyjlWgvIjbLh0Q4c01V05r7MbPdmfZRurbeEA6NohGf+zYFQrCzPnTaqvFPFHA== + dependencies: + "@aws-cdk/core" "1.74.0" + "@aws-cdk/region-info" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-kms@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kms/-/aws-kms-1.74.0.tgz#73531f7b5d2542eb5e3f7bb54604944921e34995" + integrity sha512-4cTNqzNkml3RV6uobSwq7ZtPBjwNovOxv75vzGNNRw1GO6hxqDzoPRIsgfwNvVii8tv27eR0xTK0t6WlKqoVzg== + dependencies: + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-lambda-nodejs@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda-nodejs/-/aws-lambda-nodejs-1.74.0.tgz#aa818270e4dcd74be51d402cdb114da311b3c966" + integrity sha512-1mc8I+Yz43El8O8SjsfkABsI31tcpO5e3fAz7/40DKuFgM9jkL6vyiL55MLIckAqmE2N9mRYU0xF4RC7uRZdmQ== + dependencies: + "@aws-cdk/aws-lambda" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-lambda@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda/-/aws-lambda-1.74.0.tgz#52175fbc9e679ca5c0f4d15e0666c99fc4a953d0" + integrity sha512-Ju3/mhnli33xnO2qvJUs11djva12SHnmJPGtbx4Nz33z577/pCwLZYWa7noP8eUzAyBglfNlPG8JWH+fNHPbew== + dependencies: + "@aws-cdk/aws-applicationautoscaling" "1.74.0" + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-codeguruprofiler" "1.74.0" + "@aws-cdk/aws-ec2" "1.74.0" + "@aws-cdk/aws-efs" "1.74.0" + "@aws-cdk/aws-events" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-logs" "1.74.0" + "@aws-cdk/aws-s3" "1.74.0" + "@aws-cdk/aws-s3-assets" "1.74.0" + "@aws-cdk/aws-sqs" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-logs@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-logs/-/aws-logs-1.74.0.tgz#cd40afe70ffeb5250ecea1db0ee0a2f68fb2084a" + integrity sha512-wMpjXdJBN3S0gYO3pMjjKxSTlIs0ZUH64k6BnOxDvnltWbBJomD0/qLKMVHShOddm9MMNdD8AaYpCqZsrplZHA== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/aws-s3-assets" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-s3-assets@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.74.0.tgz#7f1988f3931e95d88a8c1357f98c47f7f9b73dee" + integrity sha512-uewjgTOr5q60UbPKHo3qgYApXxFKUIgP6eUZi7v8mhfnZUDw9H9B4rRJ7rHRZ4gYj9ZtiWq1o3hpvWnoHsR+zg== + dependencies: + "@aws-cdk/assets" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/aws-s3" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-s3@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3/-/aws-s3-1.74.0.tgz#5b53839c3af0f67bfb1e96061f6a1ea5be445fe9" + integrity sha512-xbRbI90hUvmVwGHHMr4dPWv0TXBxr/HeeaLzqLDHv36+TKA0wMR7ttRm3pbT3Kf/YjqSty788rom6lVqaAu81Q== + dependencies: + "@aws-cdk/aws-events" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-sns@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns/-/aws-sns-1.74.0.tgz#c9289b34cb2512010a0b6813f684c93398502bdd" + integrity sha512-O0HDGvl1WjCTU53auNJKCW5/6vpbVYlj0RwLgGaOOlTeKnfuq53kGvL/t3QdZQlJWxSvkbN61O+rZB7GacXV0g== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-events" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/aws-sqs" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-sqs@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sqs/-/aws-sqs-1.74.0.tgz#998da5838d4310805432f0cf55fcc7c8f34657e2" + integrity sha512-qlj7ZapoL9oneLu4wh7DfQDypCo6QFlyGzd3nlmn+C9UbCscBkpSJnmYSGi2m0TVCKbd3tP1EpfdU36LTahYBg== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-ssm@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ssm/-/aws-ssm-1.74.0.tgz#426dd65c0b933618d5c196cb38386c1035b0fdc4" + integrity sha512-uok/D4ooEVXst0HZYQkcPIM5xlHAVjGjF44Gt68hbdZknBhMbfZP2EWqSZHhSW9HdVoNFTNkIxcI2AemCnt2Qg== + dependencies: + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/cloud-assembly-schema" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/cfnspec@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/cfnspec/-/cfnspec-1.74.0.tgz#03577e266721fe87287f9fc710a95d7b7e5886cd" + integrity sha512-9rdFgRUoV3lbAD6lnU+hGdkit8ILmUq+XCXzRdc9xWHUXIKxMmFK9frXTT+wGmjgdz/GpPyfSbFjzyqk4QE5+w== dependencies: md5 "^2.3.0" -"@aws-cdk/cloud-assembly-schema@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.61.0.tgz#d4d7f75cba3c52bb0b5406085dc77eefc6393aa9" - integrity sha512-+D1K159eNxWDGJNiyQcwczddzqFDS08b2VAJrgJFvqhMNbNWWuYxxxEJoh5jH9iULr2a52WXrrQfF72HbB0jUQ== +"@aws-cdk/cloud-assembly-schema@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.74.0.tgz#f1bbd8411ec320dd9e14ef2dce626a05019c42bc" + integrity sha512-TOfruzx7zIirRpfL9r5tGcOPdfXQatD3/kgXq4I1px12oH3jmuiEcNxGdvEYgVMPaZGMrx0rtqyT2sGDWBycKw== dependencies: - jsonschema "^1.2.5" - semver "^7.2.2" + jsonschema "^1.4.0" + semver "^7.3.2" -"@aws-cdk/cloudformation-diff@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cloudformation-diff/-/cloudformation-diff-1.61.0.tgz#8acb549fd1dd819aa61dfed47e011b44827045a8" - integrity sha512-TrrmywhYkXxGNTmDd1k2biJMVtEvb0QcbZ/IGM6biMXIJ+wsjw/n5snvwciQ8/PHZmsUYk67qulGdso1rpy06Q== +"@aws-cdk/cloudformation-diff@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/cloudformation-diff/-/cloudformation-diff-1.74.0.tgz#d86199db530f9df641cff7f3996939c47645d59f" + integrity sha512-aYAg85fkpX39euUo5HjsGtqOpyD5fAz1+jZ/F/5erA8Y/+rB4ifCVJH0cLYHVdYwo8oc3poB6jW4tVMxNYxbrg== dependencies: - "@aws-cdk/cfnspec" "1.61.0" + "@aws-cdk/cfnspec" "1.74.0" colors "^1.4.0" - diff "^4.0.2" + diff "^5.0.0" fast-deep-equal "^3.1.3" string-width "^4.2.0" - table "^5.4.6" - -"@aws-cdk/core@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.61.0.tgz#817689a087cb97741fd5e4b407ee603610f30fb3" - integrity sha512-g6vOR7zqWfbSzIM2kqUPH0Tdk4tOUFGX1TM5crty1ndkNja84PvAzEjQZr34U2aCGk+EI2pyB/4D7BLiAhAvKw== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" + table "^6.0.3" + +"@aws-cdk/core@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.74.0.tgz#132d31c0ab9d39394827431ccd804cf10de34273" + integrity sha512-1iKRIRKyMQ8ZmPvkAAjSIGl4Fh7tLIE7D23ht25ayNGp0XVG1Hd858x2GmDzI/J1ZK6xsuTsEDGbi5/saR69ng== + dependencies: + "@aws-cdk/cloud-assembly-schema" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + "@aws-cdk/region-info" "1.74.0" + "@balena/dockerignore" "^1.0.2" + constructs "^3.2.0" fs-extra "^9.0.1" + ignore "^5.1.8" minimatch "^3.0.4" -"@aws-cdk/custom-resources@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/custom-resources/-/custom-resources-1.61.0.tgz#03749f4122e46504fd1b3b3b9a11aa3578f269bf" - integrity sha512-etnHE7A0+J5w1L/m+KxEbPQ7LgtVYvEUV6naqRp5uIsTBaJ9sCQ+q43Y3Fj+g3NMigm8C2fKg5FmiFE6kiymDQ== - dependencies: - "@aws-cdk/aws-cloudformation" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-lambda" "1.61.0" - "@aws-cdk/aws-logs" "1.61.0" - "@aws-cdk/aws-sns" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/cx-api@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.61.0.tgz#23f0e0cff978277626d42091907b71a6c4d98580" - integrity sha512-SOn1aLhp2Zot1Qqev1REbgL2n0Ccl9sfg1nJMWnGxAmjarazJfvW22llYKnJPuFkgHswaBlifBxAA4WgKbUn6g== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.61.0" - semver "^7.2.2" - -"@aws-cdk/region-info@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/region-info/-/region-info-1.61.0.tgz#663e44206a92da544183c3a405cd73490fdc3103" - integrity sha512-/10gvecycNJhYM2LIkA0XaoWgUZQ6K5FIIRaf/o4PbgHyR8WTyEPO6lbT0GoKi69TvC+18xzJ4iZ1p3ZdRnUYw== +"@aws-cdk/custom-resources@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/custom-resources/-/custom-resources-1.74.0.tgz#19329e8a9b9bc0ca66e00c791b008c416a67265f" + integrity sha512-KDXgyRCeCMIj42nQcd2RXc4GYQpd7SWtx2iw0G4Wvs/wG4i3nR1qdlvEJvAlNgsYeqM4pp3mIp3PgdX341HsCg== + dependencies: + "@aws-cdk/aws-cloudformation" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-lambda" "1.74.0" + "@aws-cdk/aws-logs" "1.74.0" + "@aws-cdk/aws-sns" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/cx-api@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.74.0.tgz#922c11389d723eadef2bc12666ced4980fe9e4cc" + integrity sha512-Xhq9col3syHmxC3Zl1igrWwvOzwJzwTKwpLLL8ENF8u2n8x4eneAN+OLrRlB/rhAQ+KUL6B8toUsd4pcJMkSOQ== + dependencies: + "@aws-cdk/cloud-assembly-schema" "1.74.0" + semver "^7.3.2" + +"@aws-cdk/region-info@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/region-info/-/region-info-1.74.0.tgz#e53eabe2d8980c360e63ea956615253551005182" + integrity sha512-xF0etW01PyUNxL9F4xiA2y/pEG9e+0EJpOL7O9gVZ0IxOkIW+J0MljR6O8nx4yCx6j2/dXTs6INZ/zVn0DsydA== + +"@balena/dockerignore@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@balena/dockerignore/-/dockerignore-1.0.2.tgz#9ffe4726915251e8eb69f44ef3547e0da2c03e0d" + integrity sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q== "@serverless-stack/resources@../../../resources": - version "0.1.3" + version "0.4.3" dependencies: - "@aws-cdk/core" "1.61.0" + "@aws-cdk/aws-lambda" "1.74.0" + "@aws-cdk/aws-lambda-nodejs" "1.74.0" + "@aws-cdk/core" "1.74.0" -ajv@^6.10.2: - version "6.12.3" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.3.tgz#18c5af38a111ddeb4f2697bd78d68abc1cabd706" - integrity sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA== +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-regex@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" - integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== - ansi-regex@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== -ansi-styles@^3.2.0: - 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== +ansi-styles@^4.0.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 "^1.9.0" + color-convert "^2.0.1" -astral-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" - integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== +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== at-least-node@^1.0.0: version "1.0.0" @@ -357,17 +373,17 @@ charenc@0.0.2: resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667" integrity sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc= -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== +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.3" + 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 sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= +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== colors@^1.4.0: version "1.4.0" @@ -379,25 +395,20 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= -constructs@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/constructs/-/constructs-3.0.4.tgz#eb1ed5b80f6600b8d50de83971357ae0fe8e29a2" - integrity sha512-CDvg7gMjphE3DFX4pzkF6j73NREbR8npPFW8Mx/CLRnMR035+Y1o1HrXIsNSss/dq3ZUnNTU9jKyd3fL9EOlfw== +constructs@^3.2.0: + version "3.2.40" + resolved "https://registry.yarnpkg.com/constructs/-/constructs-3.2.40.tgz#e8c0e1020ad254ff73d9ea6c85cc90c3a33c71f1" + integrity sha512-XtKn+Pzq8EZNe1zasQem6X09dprZ8pXvNxECKQLZC+jU5BdkgDKe0nak4Wp+k7uvDFlyh9NccaGtxqP6w2YS0A== crypt@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b" integrity sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs= -diff@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== - -emoji-regex@^7.0.1: - version "7.0.3" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" - integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== +diff@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" + integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== emoji-regex@^8.0.0: version "8.0.0" @@ -429,16 +440,16 @@ graceful-fs@^4.1.6, graceful-fs@^4.2.0: resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== +ignore@^5.1.8: + version "5.1.8" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" + integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== + is-buffer@~1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= - 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" @@ -458,15 +469,15 @@ jsonfile@^6.0.1: optionalDependencies: graceful-fs "^4.1.6" -jsonschema@^1.2.5: - version "1.2.6" - resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.2.6.tgz#52b0a8e9dc06bbae7295249d03e4b9faee8a0c0b" - integrity sha512-SqhURKZG07JyKKeo/ir24QnS4/BV7a6gQy93bUSe4lUdNp0QNpIz2c9elWJQ9dpc5cQYY6cvCzgRwy0MQCLyqA== +jsonschema@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.4.0.tgz#1afa34c4bc22190d8e42271ec17ac8b3404f87b2" + integrity sha512-/YgW6pRMr6M7C+4o8kS+B/2myEpHCrxO4PEWnqJNBFMjn7EWXqlQ4tGwL6xTHeRplwuZmcAncdvfOad1nT2yMw== -lodash@^4.17.14: - version "4.17.19" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b" - integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ== +lodash@^4.17.20: + version "4.17.20" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" + integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== md5@^2.3.0: version "2.3.0" @@ -489,28 +500,19 @@ punycode@^2.1.0: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -semver@^7.2.2: +semver@^7.3.2: version "7.3.2" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== -slice-ansi@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" - integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== +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 "^3.2.0" - astral-regex "^1.0.0" - is-fullwidth-code-point "^2.0.0" - -string-width@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" - integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== - dependencies: - emoji-regex "^7.0.1" - is-fullwidth-code-point "^2.0.0" - strip-ansi "^5.1.0" + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" string-width@^4.2.0: version "4.2.0" @@ -521,13 +523,6 @@ string-width@^4.2.0: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.0" -strip-ansi@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" - integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== - dependencies: - ansi-regex "^4.1.0" - strip-ansi@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" @@ -535,15 +530,15 @@ strip-ansi@^6.0.0: dependencies: ansi-regex "^5.0.0" -table@^5.4.6: - version "5.4.6" - resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" - integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug== +table@^6.0.3: + version "6.0.4" + resolved "https://registry.yarnpkg.com/table/-/table-6.0.4.tgz#c523dd182177e926c723eb20e1b341238188aa0d" + integrity sha512-sBT4xRLdALd+NFBvwOz8bw4b15htyythha+q+DVZqy2RS08PPC8O2sZFgJYEY7bJvbCFKccs+WIZ/cd+xxTWCw== dependencies: - ajv "^6.10.2" - lodash "^4.17.14" - slice-ansi "^2.1.0" - string-width "^3.0.0" + ajv "^6.12.4" + lodash "^4.17.20" + slice-ansi "^4.0.0" + string-width "^4.2.0" universalify@^1.0.0: version "1.0.0" diff --git a/packages/cli/test/stack-no-prefix/yarn.lock b/packages/cli/test/stack-no-prefix/yarn.lock index 4d69cef265..252e46aa79 100644 --- a/packages/cli/test/stack-no-prefix/yarn.lock +++ b/packages/cli/test/stack-no-prefix/yarn.lock @@ -2,37 +2,243 @@ # yarn lockfile v1 -"@aws-cdk/cloud-assembly-schema@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.61.0.tgz#d4d7f75cba3c52bb0b5406085dc77eefc6393aa9" - integrity sha512-+D1K159eNxWDGJNiyQcwczddzqFDS08b2VAJrgJFvqhMNbNWWuYxxxEJoh5jH9iULr2a52WXrrQfF72HbB0jUQ== - dependencies: - jsonschema "^1.2.5" - semver "^7.2.2" - -"@aws-cdk/core@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.61.0.tgz#817689a087cb97741fd5e4b407ee603610f30fb3" - integrity sha512-g6vOR7zqWfbSzIM2kqUPH0Tdk4tOUFGX1TM5crty1ndkNja84PvAzEjQZr34U2aCGk+EI2pyB/4D7BLiAhAvKw== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" +"@aws-cdk/assets@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/assets/-/assets-1.74.0.tgz#8aea948a32afcf7c60449346a087c4b5aecff251" + integrity sha512-ZXmiJ9Qf0odTJWQPEvN+41wI1MAOK0PS5E/CTTOc9qSZufHKxpF0UPNu+8G/cMUnmKoonih8eglUCR8mmVzGrQ== + dependencies: + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-applicationautoscaling@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-applicationautoscaling/-/aws-applicationautoscaling-1.74.0.tgz#ad5e946e68bd4094c3236e983d36f67d66135dfc" + integrity sha512-QqEm+jN2zQyficWAQWIIJTN+HwonBx5lS+Ccgx8vR+lXAPW9BORtsuEd0jKzMs2LVF+eiRQcwgD1WqH99HFPXw== + dependencies: + "@aws-cdk/aws-autoscaling-common" "1.74.0" + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-autoscaling-common@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-common/-/aws-autoscaling-common-1.74.0.tgz#f6bcbb987830f299b6e2ef454944afdde9a8a82e" + integrity sha512-UHqhMxGjGe00XaZfb7+OtAbY48vU2PdjYxIiRlFqrvJ7w6ws2dW7trKRHfpmbIF6M8h3Jtys1y69UuijaIHTlg== + dependencies: + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-cloudwatch@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.74.0.tgz#94a29d2998a5c08412084b346d404b3a8b90f8a8" + integrity sha512-FqkU9JNM63JzdKVwmI07UJ2upDLrqByEs6kXMNOv0RxfvLIe73DNfBp8T+WxJ23G38sCLfeTsPIIG5K2XzOQGg== + dependencies: + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-codeguruprofiler@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codeguruprofiler/-/aws-codeguruprofiler-1.74.0.tgz#d749688e9edb252ce6fc68efa4f9977f7ba02cb6" + integrity sha512-CF4NqFSPeFnqbVG23+BozGNVha2Pk7vXaLGCPZPlHmx2jwaxZHCdxK+VvtOtV3fVPr6CI97SsTq9TwiFciv+zg== + dependencies: + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-ec2@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ec2/-/aws-ec2-1.74.0.tgz#eae31df9045ca9374daf6b1562674e31d8053aff" + integrity sha512-TcJtdSFur8Pkhfz39nhPZH2LBiugBhSrDkAUfeEVVwDEa4kvNys7xkcwvvBouFhM6YhitjZ53j9d7d4CEBc73g== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/aws-logs" "1.74.0" + "@aws-cdk/aws-s3" "1.74.0" + "@aws-cdk/aws-s3-assets" "1.74.0" + "@aws-cdk/aws-ssm" "1.74.0" + "@aws-cdk/cloud-assembly-schema" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + "@aws-cdk/region-info" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-efs@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-efs/-/aws-efs-1.74.0.tgz#367b89f14ccd090f98227dbc975076571b31faac" + integrity sha512-ghzwm/e8qQlOM/PKgfscbVFny9qhQNrXZltxckhHdTEX3Wtx9RXpveWzEOGBoHBJHSv49gkvAwtvzTbxCss4QA== + dependencies: + "@aws-cdk/aws-ec2" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/cloud-assembly-schema" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-events@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events/-/aws-events-1.74.0.tgz#2ed5a4cdd737ce4c8950506df496d0b43ac6aa12" + integrity sha512-dmVswvSBd2jZzgPJCQell+u9bRYNg63p1e57bXmql6Rm1UJDPTbvESPXsdwwFW2WpJyXwHOOM+qe98r5CbcTUw== + dependencies: + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-iam@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-iam/-/aws-iam-1.74.0.tgz#c255c9676fb6048ab27c00d111ed5e7d8b46877c" + integrity sha512-5Eq4e4/be2HMFZXc1sCeNjqgTyjlWgvIjbLh0Q4c01V05r7MbPdmfZRurbeEA6NohGf+zYFQrCzPnTaqvFPFHA== + dependencies: + "@aws-cdk/core" "1.74.0" + "@aws-cdk/region-info" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-kms@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kms/-/aws-kms-1.74.0.tgz#73531f7b5d2542eb5e3f7bb54604944921e34995" + integrity sha512-4cTNqzNkml3RV6uobSwq7ZtPBjwNovOxv75vzGNNRw1GO6hxqDzoPRIsgfwNvVii8tv27eR0xTK0t6WlKqoVzg== + dependencies: + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-lambda-nodejs@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda-nodejs/-/aws-lambda-nodejs-1.74.0.tgz#aa818270e4dcd74be51d402cdb114da311b3c966" + integrity sha512-1mc8I+Yz43El8O8SjsfkABsI31tcpO5e3fAz7/40DKuFgM9jkL6vyiL55MLIckAqmE2N9mRYU0xF4RC7uRZdmQ== + dependencies: + "@aws-cdk/aws-lambda" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-lambda@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda/-/aws-lambda-1.74.0.tgz#52175fbc9e679ca5c0f4d15e0666c99fc4a953d0" + integrity sha512-Ju3/mhnli33xnO2qvJUs11djva12SHnmJPGtbx4Nz33z577/pCwLZYWa7noP8eUzAyBglfNlPG8JWH+fNHPbew== + dependencies: + "@aws-cdk/aws-applicationautoscaling" "1.74.0" + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-codeguruprofiler" "1.74.0" + "@aws-cdk/aws-ec2" "1.74.0" + "@aws-cdk/aws-efs" "1.74.0" + "@aws-cdk/aws-events" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-logs" "1.74.0" + "@aws-cdk/aws-s3" "1.74.0" + "@aws-cdk/aws-s3-assets" "1.74.0" + "@aws-cdk/aws-sqs" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-logs@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-logs/-/aws-logs-1.74.0.tgz#cd40afe70ffeb5250ecea1db0ee0a2f68fb2084a" + integrity sha512-wMpjXdJBN3S0gYO3pMjjKxSTlIs0ZUH64k6BnOxDvnltWbBJomD0/qLKMVHShOddm9MMNdD8AaYpCqZsrplZHA== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/aws-s3-assets" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-s3-assets@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.74.0.tgz#7f1988f3931e95d88a8c1357f98c47f7f9b73dee" + integrity sha512-uewjgTOr5q60UbPKHo3qgYApXxFKUIgP6eUZi7v8mhfnZUDw9H9B4rRJ7rHRZ4gYj9ZtiWq1o3hpvWnoHsR+zg== + dependencies: + "@aws-cdk/assets" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/aws-s3" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-s3@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3/-/aws-s3-1.74.0.tgz#5b53839c3af0f67bfb1e96061f6a1ea5be445fe9" + integrity sha512-xbRbI90hUvmVwGHHMr4dPWv0TXBxr/HeeaLzqLDHv36+TKA0wMR7ttRm3pbT3Kf/YjqSty788rom6lVqaAu81Q== + dependencies: + "@aws-cdk/aws-events" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-sqs@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sqs/-/aws-sqs-1.74.0.tgz#998da5838d4310805432f0cf55fcc7c8f34657e2" + integrity sha512-qlj7ZapoL9oneLu4wh7DfQDypCo6QFlyGzd3nlmn+C9UbCscBkpSJnmYSGi2m0TVCKbd3tP1EpfdU36LTahYBg== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-ssm@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ssm/-/aws-ssm-1.74.0.tgz#426dd65c0b933618d5c196cb38386c1035b0fdc4" + integrity sha512-uok/D4ooEVXst0HZYQkcPIM5xlHAVjGjF44Gt68hbdZknBhMbfZP2EWqSZHhSW9HdVoNFTNkIxcI2AemCnt2Qg== + dependencies: + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/cloud-assembly-schema" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/cloud-assembly-schema@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.74.0.tgz#f1bbd8411ec320dd9e14ef2dce626a05019c42bc" + integrity sha512-TOfruzx7zIirRpfL9r5tGcOPdfXQatD3/kgXq4I1px12oH3jmuiEcNxGdvEYgVMPaZGMrx0rtqyT2sGDWBycKw== + dependencies: + jsonschema "^1.4.0" + semver "^7.3.2" + +"@aws-cdk/core@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.74.0.tgz#132d31c0ab9d39394827431ccd804cf10de34273" + integrity sha512-1iKRIRKyMQ8ZmPvkAAjSIGl4Fh7tLIE7D23ht25ayNGp0XVG1Hd858x2GmDzI/J1ZK6xsuTsEDGbi5/saR69ng== + dependencies: + "@aws-cdk/cloud-assembly-schema" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + "@aws-cdk/region-info" "1.74.0" + "@balena/dockerignore" "^1.0.2" + constructs "^3.2.0" fs-extra "^9.0.1" + ignore "^5.1.8" minimatch "^3.0.4" -"@aws-cdk/cx-api@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.61.0.tgz#23f0e0cff978277626d42091907b71a6c4d98580" - integrity sha512-SOn1aLhp2Zot1Qqev1REbgL2n0Ccl9sfg1nJMWnGxAmjarazJfvW22llYKnJPuFkgHswaBlifBxAA4WgKbUn6g== +"@aws-cdk/cx-api@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.74.0.tgz#922c11389d723eadef2bc12666ced4980fe9e4cc" + integrity sha512-Xhq9col3syHmxC3Zl1igrWwvOzwJzwTKwpLLL8ENF8u2n8x4eneAN+OLrRlB/rhAQ+KUL6B8toUsd4pcJMkSOQ== dependencies: - "@aws-cdk/cloud-assembly-schema" "1.61.0" - semver "^7.2.2" + "@aws-cdk/cloud-assembly-schema" "1.74.0" + semver "^7.3.2" + +"@aws-cdk/region-info@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/region-info/-/region-info-1.74.0.tgz#e53eabe2d8980c360e63ea956615253551005182" + integrity sha512-xF0etW01PyUNxL9F4xiA2y/pEG9e+0EJpOL7O9gVZ0IxOkIW+J0MljR6O8nx4yCx6j2/dXTs6INZ/zVn0DsydA== + +"@balena/dockerignore@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@balena/dockerignore/-/dockerignore-1.0.2.tgz#9ffe4726915251e8eb69f44ef3547e0da2c03e0d" + integrity sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q== "@serverless-stack/resources@../../../resources": - version "0.1.3" + version "0.4.3" dependencies: - "@aws-cdk/core" "1.61.0" + "@aws-cdk/aws-lambda" "1.74.0" + "@aws-cdk/aws-lambda-nodejs" "1.74.0" + "@aws-cdk/core" "1.74.0" at-least-node@^1.0.0: version "1.0.0" @@ -57,10 +263,10 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= -constructs@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/constructs/-/constructs-3.0.4.tgz#eb1ed5b80f6600b8d50de83971357ae0fe8e29a2" - integrity sha512-CDvg7gMjphE3DFX4pzkF6j73NREbR8npPFW8Mx/CLRnMR035+Y1o1HrXIsNSss/dq3ZUnNTU9jKyd3fL9EOlfw== +constructs@^3.2.0: + version "3.2.40" + resolved "https://registry.yarnpkg.com/constructs/-/constructs-3.2.40.tgz#e8c0e1020ad254ff73d9ea6c85cc90c3a33c71f1" + integrity sha512-XtKn+Pzq8EZNe1zasQem6X09dprZ8pXvNxECKQLZC+jU5BdkgDKe0nak4Wp+k7uvDFlyh9NccaGtxqP6w2YS0A== fs-extra@^9.0.1: version "9.0.1" @@ -77,6 +283,11 @@ graceful-fs@^4.1.6, graceful-fs@^4.2.0: resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== +ignore@^5.1.8: + version "5.1.8" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" + integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== + jsonfile@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.0.1.tgz#98966cba214378c8c84b82e085907b40bf614179" @@ -86,10 +297,10 @@ jsonfile@^6.0.1: optionalDependencies: graceful-fs "^4.1.6" -jsonschema@^1.2.5: - version "1.2.6" - resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.2.6.tgz#52b0a8e9dc06bbae7295249d03e4b9faee8a0c0b" - integrity sha512-SqhURKZG07JyKKeo/ir24QnS4/BV7a6gQy93bUSe4lUdNp0QNpIz2c9elWJQ9dpc5cQYY6cvCzgRwy0MQCLyqA== +jsonschema@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.4.0.tgz#1afa34c4bc22190d8e42271ec17ac8b3404f87b2" + integrity sha512-/YgW6pRMr6M7C+4o8kS+B/2myEpHCrxO4PEWnqJNBFMjn7EWXqlQ4tGwL6xTHeRplwuZmcAncdvfOad1nT2yMw== minimatch@^3.0.4: version "3.0.4" @@ -98,7 +309,7 @@ minimatch@^3.0.4: dependencies: brace-expansion "^1.1.7" -semver@^7.2.2: +semver@^7.3.2: version "7.3.2" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== From 8c60485e5566cf3a744bf363b1cc1d7738f23474 Mon Sep 17 00:00:00 2001 From: Frank Date: Wed, 25 Nov 2020 01:20:11 -0500 Subject: [PATCH 009/123] Implement `sst start` --- packages/cli/scripts/start.js | 7 - packages/cli/test/start/src/hello.js | 14 +- packages/resources/lambda/stub/index.js | 285 ++++++++++++++---------- 3 files changed, 172 insertions(+), 134 deletions(-) diff --git a/packages/cli/scripts/start.js b/packages/cli/scripts/start.js index a0c6024b87..ab57648ed6 100644 --- a/packages/cli/scripts/start.js +++ b/packages/cli/scripts/start.js @@ -108,7 +108,6 @@ function onMessage(message) { context, env, debugRequestId, - debugRequestExpireAt, debugRequestTimeoutInMs, debugSrcPath, debugSrcHandler, @@ -118,12 +117,6 @@ function onMessage(message) { chalk.grey(`${debugRequestId} REQUEST ${JSON.stringify(event, null, 4)}`) ); - // Validate request did not expire - if (debugRequestExpireAt < Date.now()) { - logger.log(chalk.grey(`${debugRequestId} DISCARDED ${debugRequestId}`)); - return; - } - // From Lambda /var/runtime/bootstrap // https://link.medium.com/7ir11kKjwbb const newSpace = Math.floor(context.memoryLimitInMB / 10); diff --git a/packages/cli/test/start/src/hello.js b/packages/cli/test/start/src/hello.js index 9b9f6fa96f..5fb3f8a757 100644 --- a/packages/cli/test/start/src/hello.js +++ b/packages/cli/test/start/src/hello.js @@ -17,11 +17,11 @@ exports.handler = async function (event, context, callback) { }) .promise(); - setTimeout(() => { - callback(null, { - statusCode: 200, - headers: { "Content-Type": "text/plain" }, - body: "New World with event: " + JSON.stringify(event), - }); - }, 2000); + //setTimeout(() => { + callback(null, { + statusCode: 200, + headers: { "Content-Type": "text/plain" }, + body: "New World with event: " + JSON.stringify(event), + }); + //}, 2000); }; diff --git a/packages/resources/lambda/stub/index.js b/packages/resources/lambda/stub/index.js index 1bcda83df7..c3cdaee3b2 100644 --- a/packages/resources/lambda/stub/index.js +++ b/packages/resources/lambda/stub/index.js @@ -1,179 +1,224 @@ +// Note: 4 cases where a websocket connection might be closed +// 1. closed while waiting for response + idle longer than 10min => send keep-alive after 9min +// 2. closed while waiting for response + 2hr connection limit => a new connection will be used +// 3. closed while not waiting + idle longer than 10min => detect close callback and resend +// 4. closed while not waiting + 2hr connection limit => a new connection will be used + const WebSocket = require("ws"); -let ws; -let wsCallbackRef = {}; + +// Set debugRequestId in ref b/c debugRequestId will be used in callback, need to do the +// useRef trick to let the callback access its current value. +let _ref = { + ws: null, + wsConnectedAt: 0, +}; + +// a new connection will be created if current connection has established for the given lifespan +const CONNECTION_LIFESPAN = 1800000; // 30 minutes exports.main = function (event, context, callback) { context.callbackWaitsForEmptyEventLoop = false; - const { - functionName, - memoryLimitInMB, - awsRequestId, - callbackWaitsForEmptyEventLoop, - } = context; - const debugRequestExpireAt = - Date.now() + context.getRemainingTimeInMillis() + 1000; - const debugRequestId = `${awsRequestId}-${debugRequestExpireAt}`; - - // Set debugRequestId in ref b/c debugRequestId will be used in callback, need to do the - // useRef trick to let the callback access its current value. - wsCallbackRef.debugRequestId = debugRequestId; - wsCallbackRef.callback = callback; - - // Connection closed cases - // - closed while waiting for response + idle longer than 10min => send keep-alive after 9min - // - closed while waiting for response + 2hr connection limit => ? - // - closed while not waiting + idle longer than 10min => ? - // - closed while not waiting + 2hr connection limit => ? - - // Set timer to send keep-alive message if still waiting for response after 9 minutes - let wsKeepAliveTimer; - - if (!ws) { - connect(() => { - sendMessage(); - }); - } else { + _ref.event = event; + _ref.context = context; + _ref.callback = callback; + _ref.keepAliveTimer = null; + _ref.debugRequestId = `${context.awsRequestId}-${Date.now()}`; + + // Case: Lambda first run, no websocket connection + if (!_ref.ws) { + connectAndSendMessage(); + } + // Case: Lambda subsequent run, websocket connection EXCEEDED life span + else if (Date.now() - _ref.wsConnectedAt >= CONNECTION_LIFESPAN) { + disconnect(); + connectAndSendMessage(); + } + // Case: Lambda subsequent run, websocket connection NOT exceeded life span + else { sendMessage(); } - function connect(connectCallback = undefined) { - ws = new WebSocket(process.env.SST_DEBUG_ENDPOINT); + function connectAndSendMessage() { + console.log("connectAndSendMessage()"); + _ref.ws = new WebSocket(process.env.SST_DEBUG_ENDPOINT); + _ref.wsConnectedAt = Date.now(); - ws.on("open", () => { - console.log("opened"); - if (connectCallback) { - connectCallback(); + _ref.ws.onopen = () => { + console.log("ws.onopen"); + sendMessage(); + }; + + _ref.ws.onclose = (e) => { + // Note: review the 4 cases a connection could be closed: + // 1. WILL NOT HAPPEN: b/c the connect is kept alive by keep-alive message + // 2. WILL NOT HAPPEN: b/c a new connect is created, and existing connection is disconnected + // 3. CAN HAPPEN: reconnect and resend message + // 4. WILL NOT HAPPEN: b/c a new connect is created, and existing connection is disconnected + console.log("ws.onclose", e.code, e.reason); + + // stop timer + if (_ref.keepAliveTimer) { + console.log("ws.onclose - stop keep alive timer", _ref.keepAliveTimer); + clearTimeout(_ref.keepAliveTimer); } - }); - ws.on("close", () => { - console.log("closed"); - }); + // reconnect + connectAndSendMessage(); + }; - ws.on("message", (data) => { - receiveMessage(data); - }); + _ref.ws.onmessage = (e) => { + console.log("ws.onmessage", e.data); + receiveMessage(e.data); + }; - ws.on("error", () => { - console.log("error"); - }); + _ref.ws.onerror = (e) => { + console.log("ws.onerror", e); + }; + } + + function disconnect() { + console.log("disconnect()"); + _ref.ws.onopen = () => { + console.log("ws.onopen (old connection)"); + }; + + _ref.ws.onclose = (e) => { + console.log("ws.onclose (old connection)", e.code, e.reason); + }; + + _ref.ws.onmessage = (e) => { + console.log("ws.onmessage (old connection)", e); + }; + + _ref.ws.onerror = (e) => { + console.log("ws.onerror (old connection)", e); + }; + _ref.ws.close(); } function sendMessage() { - ws.send( + // Send message + console.log("sendMessage() - send request"); + + const { debugRequestId, context, event } = _ref; + + _ref.ws.send( JSON.stringify({ action: "newRequest", debugRequestId, - debugRequestExpireAt, debugRequestTimeoutInMs: context.getRemainingTimeInMillis(), debugSrcPath: process.env.SST_DEBUG_SRC_PATH, debugSrcHandler: process.env.SST_DEBUG_SRC_HANDLER, event, context: { - functionName, - memoryLimitInMB, - awsRequestId, - callbackWaitsForEmptyEventLoop, + functionName: context.functionName, + memoryLimitInMB: context.memoryLimitInMB, + awsRequestId: context.awsRequestId, + callbackWaitsForEmptyEventLoop: + context.callbackWaitsForEmptyEventLoop, }, env: constructEnvs(), }) ); - console.log("request sent"); - // Start timer - wsKeepAliveTimer = setTimeout(function () { - ws.send(JSON.stringify({ action: "keepalive" })); + // Start timer to send keep-alive message if still waiting for response after 9 minutes + console.log("sendMessage() - start keep alive timer"); + _ref.keepAliveTimer = setTimeout(function () { + _ref.ws.send(JSON.stringify({ action: "keepalive" })); console.log("sent keepalive message"); }, 540000); } function receiveMessage(data) { - console.log("response received", { data }); + console.log("receiveMessage()"); const { action, debugRequestId, responseData, responseError } = JSON.parse( data ); + + // handle failed to send requests if (action === "failedToSendRequestDueToClientNotConnected") { throw new Error("Debug client not connected."); } - if (action === "failedToSendRequestDueToUnknown") { throw new Error("Failed to send request to debug client."); } - if ( - action !== "newResponse" || - debugRequestId !== wsCallbackRef.debugRequestId - ) { - console.log("discard response"); + // handle invalid and expired response + if (action !== "newResponse" || debugRequestId !== _ref.debugRequestId) { + console.log("receiveMessage() - discard response"); return; } - // Stop timer - if (wsKeepAliveTimer) { - clearTimeout(wsKeepAliveTimer); + // stop timer + if (_ref.keepAliveTimer) { + console.log( + "receiveMessage() - stop keep alive timer", + _ref.keepAliveTimer + ); + clearTimeout(_ref.keepAliveTimer); } - // Handle response error + // handle response error if (responseError) { throw deserializeError(responseError); } - // Handle response data - wsCallbackRef.callback(null, responseData); - } - - function constructEnvs() { - const envs = {}; - Object.keys(process.env) - .filter( - (key) => - ![ - // Include - // - //'AWS_REGION', - //'AWS_DEFAULT_REGION', - //'AWS_LAMBDA_FUNCTION_NAME', - //'AWS_LAMBDA_FUNCTION_VERSION', - //'AWS_ACCESS_KEY_ID', - //'AWS_SECRET_ACCESS_KEY', - //'AWS_SESSION_TOKEN', - // - // Exclude - // - "SST_DEBUG_ENDPOINT", - "SST_DEBUG_SRC_HANDLER", - "SST_DEBUG_SRC_PATH", - "AWS_LAMBDA_FUNCTION_MEMORY_SIZE", - "AWS_LAMBDA_LOG_GROUP_NAME", - "AWS_LAMBDA_LOG_STREAM_NAME", - "LD_LIBRARY_PATH", - "LAMBDA_TASK_ROOT", - "AWS_LAMBDA_RUNTIME_API", - "AWS_EXECUTION_ENV", - "AWS_XRAY_DAEMON_ADDRESS", - "AWS_LAMBDA_INITIALIZATION_TYPE", - "PATH", - "PWD", - "LAMBDA_RUNTIME_DIR", - "LANG", - "NODE_PATH", - "TZ", - "SHLVL", - "_AWS_XRAY_DAEMON_ADDRESS", - "_AWS_XRAY_DAEMON_PORT", - "AWS_XRAY_CONTEXT_MISSING", - "_HANDLER", - "_X_AMZN_TRACE_ID", - ].includes(key) - ) - .forEach((key) => { - envs[key] = process.env[key]; - }); - return envs; + // handle response data + _ref.callback(null, responseData); } }; +function constructEnvs() { + const envs = {}; + Object.keys(process.env) + .filter( + (key) => + ![ + // Include + // + //'AWS_REGION', + //'AWS_DEFAULT_REGION', + //'AWS_LAMBDA_FUNCTION_NAME', + //'AWS_LAMBDA_FUNCTION_VERSION', + //'AWS_ACCESS_KEY_ID', + //'AWS_SECRET_ACCESS_KEY', + //'AWS_SESSION_TOKEN', + // + // Exclude + // + "SST_DEBUG_ENDPOINT", + "SST_DEBUG_SRC_HANDLER", + "SST_DEBUG_SRC_PATH", + "AWS_LAMBDA_FUNCTION_MEMORY_SIZE", + "AWS_LAMBDA_LOG_GROUP_NAME", + "AWS_LAMBDA_LOG_STREAM_NAME", + "LD_LIBRARY_PATH", + "LAMBDA_TASK_ROOT", + "AWS_LAMBDA_RUNTIME_API", + "AWS_EXECUTION_ENV", + "AWS_XRAY_DAEMON_ADDRESS", + "AWS_LAMBDA_INITIALIZATION_TYPE", + "PATH", + "PWD", + "LAMBDA_RUNTIME_DIR", + "LANG", + "NODE_PATH", + "TZ", + "SHLVL", + "_AWS_XRAY_DAEMON_ADDRESS", + "_AWS_XRAY_DAEMON_PORT", + "AWS_XRAY_CONTEXT_MISSING", + "_HANDLER", + "_X_AMZN_TRACE_ID", + ].includes(key) + ) + .forEach((key) => { + envs[key] = process.env[key]; + }); + return envs; +} + // Serialize error // https://github.com/sindresorhus/serialize-error/blob/master/index.js const commonProperties = [ From f6f20c494c391423546d7a37b4d79680a107fae3 Mon Sep 17 00:00:00 2001 From: Frank Date: Wed, 25 Nov 2020 02:43:22 -0500 Subject: [PATCH 010/123] Implement `sst start` --- .../cli/assets/lambda-invoke/bootstrap.js | 6 ++++ packages/cli/scripts/remove.js | 29 +++++++++++++++++++ packages/cli/scripts/util/cdkHelpers.js | 13 +++++++++ packages/cli/test/start/lib/index.js | 4 +-- packages/cli/test/start/package.json | 2 ++ packages/core/index.js | 7 ++++- packages/core/package.json | 2 +- yarn.lock | 8 ++--- 8 files changed, 63 insertions(+), 8 deletions(-) diff --git a/packages/cli/assets/lambda-invoke/bootstrap.js b/packages/cli/assets/lambda-invoke/bootstrap.js index 37f6bed482..07dfdadf8a 100644 --- a/packages/cli/assets/lambda-invoke/bootstrap.js +++ b/packages/cli/assets/lambda-invoke/bootstrap.js @@ -90,9 +90,15 @@ function getHandler() { } catch (e) { return reject(e); } + // returned a Promise if (result != null && typeof result.then === "function") { result.then(resolve, reject); } + // returned a non-Promise + // ie. the handler function is not async, and the user returned instead of calling the callback + else { + return resolve(null); + } }); } diff --git a/packages/cli/scripts/remove.js b/packages/cli/scripts/remove.js index c478d2efb1..dcedfcb056 100644 --- a/packages/cli/scripts/remove.js +++ b/packages/cli/scripts/remove.js @@ -1,11 +1,40 @@ "use strict"; +const path = require("path"); const chalk = require("chalk"); const { parallelDestroy } = require("@serverless-stack/core"); +const paths = require("./util/paths"); +const { destroy: cdkDestroy } = require("./util/cdkHelpers"); const logger = require("../lib/logger"); module.exports = async function (argv, config, cliInfo) { + const stackName = `${config.stage}-debug-stack`; + + //////////////////////// + // Remove debug stack // + //////////////////////// + logger.log(chalk.grey("Removing " + stackName + " stack")); + const debugAppEnvs = [ + `SST_DEBUG_STACK=${stackName}`, + `SST_DEBUG_STAGE=${config.stage}`, + `SST_DEBUG_REGION=${config.region}`, + ]; + // Note: When deploying the debug stack, the current working directory is user's app. + // Setting the current working directory to debug stack cdk app directory to allow + // Lambda Function construct be able to reference code with relative path. + process.chdir(path.join(paths.ownPath, "assets", "debug-stack")); + await cdkDestroy({ + ...cliInfo.cdkOptions, + app: `${debugAppEnvs.join(" ")} node bin/index.js`, + output: "cdk.out", + }); + // Note: Restore working directory + process.chdir(paths.appPath); + + //////////////// + // Remove app // + //////////////// logger.log(chalk.grey("Removing " + (argv.stack ? argv.stack : "stacks"))); // Wait for remove to complete diff --git a/packages/cli/scripts/util/cdkHelpers.js b/packages/cli/scripts/util/cdkHelpers.js index ef5b7aae44..3f03afa2b0 100644 --- a/packages/cli/scripts/util/cdkHelpers.js +++ b/packages/cli/scripts/util/cdkHelpers.js @@ -315,6 +315,18 @@ async function deploy(options) { return results; } +async function destroy(options) { + let results; + + try { + results = await sstCore.destroy(options); + } catch (e) { + handleCdkErrors(e); + } + + return results; +} + async function parallelDeploy(options, stackStates) { let results; @@ -342,6 +354,7 @@ async function parallelDestroy(options, stackStates) { module.exports = { synth, deploy, + destroy, prepareCdk, applyConfig, parallelDeploy, diff --git a/packages/cli/test/start/lib/index.js b/packages/cli/test/start/lib/index.js index 722a71c965..230a536d00 100644 --- a/packages/cli/test/start/lib/index.js +++ b/packages/cli/test/start/lib/index.js @@ -18,7 +18,7 @@ class MySampleStack extends sst.Stack { const snsFunc = new sst.Function(this, "MySnsLambda", { code: lambda.Code.fromAsset("src"), handler: "sns.handler", - timeout: cdk.Duration.seconds(600), + timeout: cdk.Duration.seconds(6), runtime: lambda.Runtime.NODEJS_12_X, memorySize: 1024, }); @@ -27,7 +27,7 @@ class MySampleStack extends sst.Stack { const apiFunc = new sst.Function(this, "MyApiLambda", { code: lambda.Code.fromAsset("src"), handler: "hello.handler", - timeout: cdk.Duration.seconds(600), + timeout: cdk.Duration.seconds(6), runtime: lambda.Runtime.NODEJS_12_X, memorySize: 1024, environment: { diff --git a/packages/cli/test/start/package.json b/packages/cli/test/start/package.json index 1c5e2700c1..02ed375226 100644 --- a/packages/cli/test/start/package.json +++ b/packages/cli/test/start/package.json @@ -6,6 +6,8 @@ "scripts": { "start": "../../bin/scripts.js start", "build": "../../bin/scripts.js build", + "deploy": "../../bin/scripts.js deploy", + "remove": "../../bin/scripts.js remove", "cdk": "../../bin/scripts.js cdk" }, "keywords": [], diff --git a/packages/core/index.js b/packages/core/index.js index f309f71f9c..faaca7220a 100644 --- a/packages/core/index.js +++ b/packages/core/index.js @@ -20,6 +20,10 @@ async function deploy(cdkOptions) { return await cdk.deploy(cdkOptions); } +async function destroy(cdkOptions) { + return await cdk.destroy(cdkOptions); +} + async function parallelDeploy(cdkOptions, stackStates) { const STACK_DEPLOY_STATUS_PENDING = "pending"; const STACK_DEPLOY_STATUS_DEPLOYING = "deploying"; @@ -475,7 +479,7 @@ async function parallelDestroy(cdkOptions, stackStates) { .map(async (stackState) => { try { logger.debug(`Destroying stack ${stackState.name}`); - const { status, region } = await cdk.destroy({ + const { status, region } = await cdk.destroyAsync({ ...cdkOptions, stackName: stackState.name, }); @@ -801,6 +805,7 @@ async function parallelDestroy(cdkOptions, stackStates) { module.exports = { synth, deploy, + destroy, getCdkVersion, parallelDeploy, parallelDestroy, diff --git a/packages/core/package.json b/packages/core/package.json index 8f820c1842..fa8050bf14 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -20,6 +20,6 @@ "dependencies": { "aws-sdk": "^2.761.0", "chalk": "^4.1.0", - "sst-cdk": "1.74.0-rc.3" + "sst-cdk": "1.74.0-rc.6" } } diff --git a/yarn.lock b/yarn.lock index 449d91e909..68274607b7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8577,10 +8577,10 @@ ssri@^6.0.0, ssri@^6.0.1: dependencies: figgy-pudding "^3.5.1" -sst-cdk@1.74.0-rc.3: - version "1.74.0-rc.3" - resolved "https://registry.yarnpkg.com/sst-cdk/-/sst-cdk-1.74.0-rc.3.tgz#1abaeb8cf4ff45cf96276dfe81be2366c80d7da5" - integrity sha512-b2b64GrQQIM2BnT6I0JjruwNxGGQNRkhRfF9ZJut7Is2aMyubgA9bm0LIy223LiIadVi+njyiuhrNNnfr84hEA== +sst-cdk@1.74.0-rc.6: + version "1.74.0-rc.6" + resolved "https://registry.yarnpkg.com/sst-cdk/-/sst-cdk-1.74.0-rc.6.tgz#581a9c0ff8204a0f480c4cbe02b1f8ffd5b05180" + integrity sha512-VpDcqd1NOxSSwQ3Hk81YcWuDLscaRLzgGdgZ1UvA4EK2x66BPA8l1WHZesImQUKVsiqNB6115U4XNiUMCeWLIg== dependencies: "@aws-cdk/cloud-assembly-schema" "1.74.0" "@aws-cdk/cloudformation-diff" "1.74.0" From 77942b292bf69e9748c598d9163674a473ee8848 Mon Sep 17 00:00:00 2001 From: Jay Date: Wed, 25 Nov 2020 15:30:45 -0500 Subject: [PATCH 011/123] Moving the cdk version scripts around --- packages/cli/test/jest-ts/yarn.lock | 1078 ++++++++++++----- .../{scripts => bin}/get-cdk-version.js | 2 + packages/create-serverless-stack/package.json | 2 +- .../{scripts => bin}/aws-cdk-version-check.js | 2 + packages/resources/package.json | 2 +- 5 files changed, 791 insertions(+), 295 deletions(-) rename packages/create-serverless-stack/{scripts => bin}/get-cdk-version.js (96%) mode change 100644 => 100755 rename packages/resources/{scripts => bin}/aws-cdk-version-check.js (98%) mode change 100644 => 100755 diff --git a/packages/cli/test/jest-ts/yarn.lock b/packages/cli/test/jest-ts/yarn.lock index e59b6b93ae..f98b9069a3 100644 --- a/packages/cli/test/jest-ts/yarn.lock +++ b/packages/cli/test/jest-ts/yarn.lock @@ -2,248 +2,293 @@ # yarn lockfile v1 -"@aws-cdk/assert@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/assert/-/assert-1.61.0.tgz#c1dbbf71fd64beb067a6e6237e03686319acaaa7" - integrity sha512-avvDVpyd8zLMT0HEW1K2ngP5U8CHu+BtPinUkLpLXVJ+Cr5K12plnk84+BOWe1NhM9/bqC4b1KA0c6MzIzgREA== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.61.0" - "@aws-cdk/cloudformation-diff" "1.61.0" - "@aws-cdk/core" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/assets@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/assets/-/assets-1.61.0.tgz#9702ba8ef5b3c45ec47e0530006d63dc0685a5ff" - integrity sha512-VJfH8oVAsIa5lo+SmDF5d6r1J9Fb9TrnQINrzr68shhdY/RAkys5cr9SXO4lcpWmGsNXB9z+tEtEz9IT79e2QA== - dependencies: - "@aws-cdk/core" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-applicationautoscaling@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-applicationautoscaling/-/aws-applicationautoscaling-1.61.0.tgz#8129984ba0185bbb525fd8ef6328c5c84e51e4e5" - integrity sha512-KP2zJ2hJYZgrl2glfCFpK0l9PJderMNS2MAH7xr0JuiFwAPuJgNEmOkrtVAgrsTGFDBisvXQpqr6L84EQxBfyw== - dependencies: - "@aws-cdk/aws-autoscaling-common" "1.61.0" - "@aws-cdk/aws-cloudwatch" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-autoscaling-common@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-common/-/aws-autoscaling-common-1.61.0.tgz#9e7f6a8669b36001b846d90fa8cb65d8b4edb27b" - integrity sha512-Mc02ZTp6gGGOycYHygyTWfXMajOi5bEAq6d6nJOQdzZSj2oiRmtQeF/Fd4earXFcl+lhSFMyUPEQPvZyvngQWQ== - dependencies: - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-cloudformation@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudformation/-/aws-cloudformation-1.61.0.tgz#6810e5327aa53b6d73cb337af340db152284aad7" - integrity sha512-e7mti0sWR6Sf4tav36bu379kkG5E33VMPLZaT8RkhXkIl97c1OaGHVx5G1Oe5DiHka08c+PA6da8ahkrR1wSkQ== - dependencies: - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-lambda" "1.61.0" - "@aws-cdk/aws-s3" "1.61.0" - "@aws-cdk/aws-sns" "1.61.0" - "@aws-cdk/core" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-cloudwatch@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.61.0.tgz#3c0171ca76d086da424c1b4148a53c4d68dd885a" - integrity sha512-/Lp+8OU82m2+VX0GDeO8RIzyJDEvZQQaSQYflXRAFxFDrHiU6i4kXLbr1j4jebB9r+NSEAZ6XopBNg+JsAXGug== - dependencies: - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-codeguruprofiler@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codeguruprofiler/-/aws-codeguruprofiler-1.61.0.tgz#1ace4c61a4a7b916f4dbe28070b5b914949e6f06" - integrity sha512-eS+evPzEOP2rODucLcNSIlXNozA+/6Pf2H0Igde5UiMmYSX3/ZRXm/EytKNtyF7pnWiWMymmBLwCue2V/FDV0w== - dependencies: - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/core" "1.61.0" - -"@aws-cdk/aws-dynamodb@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-dynamodb/-/aws-dynamodb-1.61.0.tgz#3d9b1ffd6eb965152a2456de1b08625d3f3ee907" - integrity sha512-Qd87xJNTjCRBQ//H4WA6Lif3VuA9QuyKyterlmTGnmrUsAqubkKtxu/lLvMp0gQb9LzjQ5Hn9238v1s8rDBDlw== - dependencies: - "@aws-cdk/aws-applicationautoscaling" "1.61.0" - "@aws-cdk/aws-cloudwatch" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/aws-lambda" "1.61.0" - "@aws-cdk/core" "1.61.0" - "@aws-cdk/custom-resources" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-ec2@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ec2/-/aws-ec2-1.61.0.tgz#d39b1f5356c57089b963bbe4644adc02fd12a4bf" - integrity sha512-mW1tij3tuvHfgNlLQst1XkvSOoV/r3iUQFLhJ8QMG8h0KUiHRyY0i+kj3Ern4GxlwNUfM6RY3f12qtSpRpVPxQ== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/aws-logs" "1.61.0" - "@aws-cdk/aws-s3" "1.61.0" - "@aws-cdk/aws-s3-assets" "1.61.0" - "@aws-cdk/aws-ssm" "1.61.0" - "@aws-cdk/cloud-assembly-schema" "1.61.0" - "@aws-cdk/core" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - "@aws-cdk/region-info" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-efs@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-efs/-/aws-efs-1.61.0.tgz#c4d66d0d928c01c8018c1c8bc75a1c5097d649ce" - integrity sha512-WeF3SF681V43E+u2j78om+y4r1Ay4JPTAns8y6SFcZOLqH+6qlXusGrwQoZcHpD4MTSU60NZKD8O0u1A111osg== - dependencies: - "@aws-cdk/aws-ec2" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/cloud-assembly-schema" "1.61.0" - "@aws-cdk/core" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-events@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events/-/aws-events-1.61.0.tgz#718fd427ee09a11e30c96b66c88bc9b6169f5dff" - integrity sha512-DBEi/XPnWvQJ42dv28JdQSHGUz9N6fqYjR8FSNc2s0oXgDqGQ+8rU1Hxcj6s2Qb7lBQ66pHsvlpUcqZANIoddw== - dependencies: - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-iam@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-iam/-/aws-iam-1.61.0.tgz#df38b5a3a33dd28f89d57884190fe429b2507bb9" - integrity sha512-CDFrRPkt4JR9iSVn+D18ThU201m2Ck2T5+E9044yJqkUgfbcMXO54ls2DlLbCg1RUrazRrqQ9Bu0IxDHbTwaKg== - dependencies: - "@aws-cdk/core" "1.61.0" - "@aws-cdk/region-info" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-kms@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kms/-/aws-kms-1.61.0.tgz#a6b8429893e31be15b151ef7357e0560920d5527" - integrity sha512-taSQYpcPM705NN32W2UcgNfezTQbqx5YZDR+jp7A/E4OVdR1jojDJn6LKzsIo71s7DDG/k+77oNXEIJsaIhSRA== - dependencies: - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-lambda@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda/-/aws-lambda-1.61.0.tgz#65b2fb456f6c2d0566401bd3d265f5bae47d6346" - integrity sha512-LhO/f50ovtsd2uUjLdeTEFdnQlbvXvC4VN5BEnX4X2kpdCpUXsnClVb9EQPEAFaDIE6VEpMnQ6rUR27kTerLCg== - dependencies: - "@aws-cdk/aws-applicationautoscaling" "1.61.0" - "@aws-cdk/aws-cloudwatch" "1.61.0" - "@aws-cdk/aws-codeguruprofiler" "1.61.0" - "@aws-cdk/aws-ec2" "1.61.0" - "@aws-cdk/aws-efs" "1.61.0" - "@aws-cdk/aws-events" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-logs" "1.61.0" - "@aws-cdk/aws-s3" "1.61.0" - "@aws-cdk/aws-s3-assets" "1.61.0" - "@aws-cdk/aws-sqs" "1.61.0" - "@aws-cdk/core" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-logs@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-logs/-/aws-logs-1.61.0.tgz#430bb5fc87ec606416ffb0869f04754185092a21" - integrity sha512-swEkiF+VFfsfY2GiCO8o9vzAQVnDUghmCZmg2B1oi4QwG850CBiPzAz88QaZOzqX1YWWXTcGU20yADg6D5nRIw== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-s3-assets" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-s3-assets@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.61.0.tgz#8512ac0e16818bc78eff010d15d6cc99a7d8fccf" - integrity sha512-sipvqw0fJcpT3+Hxdzn2UkbBh/tr+jkzplLq2Jk5Jr0E/7+V5t2kmlEQgyG82ug1J2DERMAdlie8AgzGJ5CxhA== - dependencies: - "@aws-cdk/assets" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/aws-s3" "1.61.0" - "@aws-cdk/core" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-s3@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3/-/aws-s3-1.61.0.tgz#a16d697a26d02b6d25636a0606016fbc187eae86" - integrity sha512-tFemzJJtopsiDbcjwpqsSY9xm3wZLWKEg2/9iAAZ4VUEW4feoX7NQyVkYHGH2dfMVufXq/rMZPfbKq7f3cgzAg== - dependencies: - "@aws-cdk/aws-events" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-sns-subscriptions@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns-subscriptions/-/aws-sns-subscriptions-1.61.0.tgz#839f37ae5b206a6c9b773775dbed7439425eeb0c" - integrity sha512-XhRJlbaNKrl5+cIhSf8fIeV1gcWyg25O86k5j6dt4KOGYWa4fpYkxF4KwUKKYtugk0F887K7F4/DmDOtqm5JuQ== - dependencies: - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-lambda" "1.61.0" - "@aws-cdk/aws-sns" "1.61.0" - "@aws-cdk/aws-sqs" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-sns@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns/-/aws-sns-1.61.0.tgz#c82f9b224b7ebf3e48cd9433456156e5d3f1df89" - integrity sha512-jmJmZXidJAJTg4lPnxMm26QR3ovMYb/89NBWnIRwGdVGcZ7nrWUkC0JNPQMbP+EvUFdh/9xdFVP4JvvzZzoy0w== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.61.0" - "@aws-cdk/aws-events" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/aws-sqs" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-sqs@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sqs/-/aws-sqs-1.61.0.tgz#b2d1d7a5d27d36d1580a3cb500daf417037da492" - integrity sha512-gyShf5rmUZCovSHL4PXvAD6TA/xmPESpsi+zx7HU/VXyeGgO6inq/sVzWM0OpCrNUnnoSct5p0yZJytRBnVYaA== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" - -"@aws-cdk/aws-ssm@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ssm/-/aws-ssm-1.61.0.tgz#229308cfce757f8b3f75d12bf276ce4f8042076f" - integrity sha512-fOr2g7V7pR9bP7CXWLznM3d0/8EW76pjKLe+uGeXpqnrtXaGCvFBjiAms10oZ2584bn2bWIzikGmzzxzpamJbg== - dependencies: - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-kms" "1.61.0" - "@aws-cdk/cloud-assembly-schema" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" +"@aws-cdk/assert@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/assert/-/assert-1.74.0.tgz#82795a3bb21ede93288a60322804f6f4e2d4959e" + integrity sha512-5M3M4lcSS2dGPgVANhv5GjqC6nNBy9bL1XECAJj3lg7q+6zJ00+0wq4bB0wyvm/mE+S0axkGZ4LVHF5QA2gCfQ== + dependencies: + "@aws-cdk/cloud-assembly-schema" "1.74.0" + "@aws-cdk/cloudformation-diff" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/assets@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/assets/-/assets-1.74.0.tgz#8aea948a32afcf7c60449346a087c4b5aecff251" + integrity sha512-ZXmiJ9Qf0odTJWQPEvN+41wI1MAOK0PS5E/CTTOc9qSZufHKxpF0UPNu+8G/cMUnmKoonih8eglUCR8mmVzGrQ== + dependencies: + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-apigatewayv2@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-apigatewayv2/-/aws-apigatewayv2-1.74.0.tgz#c65c94e25b70fcee53a3e15e211f74819eff4d77" + integrity sha512-Z8GRXYZX6MHZeyKQpiiCUvtxIKh6y9UGRM9f6+xfjMa75WwjoM8cFm9h41720LwKcUXYj0TlKiqEyeL12UIAYA== + dependencies: + "@aws-cdk/aws-certificatemanager" "1.74.0" + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-ec2" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-applicationautoscaling@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-applicationautoscaling/-/aws-applicationautoscaling-1.74.0.tgz#ad5e946e68bd4094c3236e983d36f67d66135dfc" + integrity sha512-QqEm+jN2zQyficWAQWIIJTN+HwonBx5lS+Ccgx8vR+lXAPW9BORtsuEd0jKzMs2LVF+eiRQcwgD1WqH99HFPXw== + dependencies: + "@aws-cdk/aws-autoscaling-common" "1.74.0" + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-autoscaling-common@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-common/-/aws-autoscaling-common-1.74.0.tgz#f6bcbb987830f299b6e2ef454944afdde9a8a82e" + integrity sha512-UHqhMxGjGe00XaZfb7+OtAbY48vU2PdjYxIiRlFqrvJ7w6ws2dW7trKRHfpmbIF6M8h3Jtys1y69UuijaIHTlg== + dependencies: + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-certificatemanager@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-certificatemanager/-/aws-certificatemanager-1.74.0.tgz#35b07c4b396a3db96da5d431e549460d1edc2251" + integrity sha512-Ve1SYM6qpUysHLD5bzHiE4kXBeo7VAEQlUti0cjkkjkuPh+dKHti/TqYhA0tkfUIMjZylnvkogBzMYdIUBTNxg== + dependencies: + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-lambda" "1.74.0" + "@aws-cdk/aws-route53" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-cloudformation@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudformation/-/aws-cloudformation-1.74.0.tgz#04fffb02403fb52ee05ec43172b845a29a903a9e" + integrity sha512-VOyuMhoxA9vk3zSUfzqSg1YjYYgc+qyB0bpaOJIW/iinXYXhA64z5YQnTxdwd/exlFgA59chOanA7aRrNM2YIg== + dependencies: + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-lambda" "1.74.0" + "@aws-cdk/aws-s3" "1.74.0" + "@aws-cdk/aws-sns" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-cloudwatch@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.74.0.tgz#94a29d2998a5c08412084b346d404b3a8b90f8a8" + integrity sha512-FqkU9JNM63JzdKVwmI07UJ2upDLrqByEs6kXMNOv0RxfvLIe73DNfBp8T+WxJ23G38sCLfeTsPIIG5K2XzOQGg== + dependencies: + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-codeguruprofiler@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codeguruprofiler/-/aws-codeguruprofiler-1.74.0.tgz#d749688e9edb252ce6fc68efa4f9977f7ba02cb6" + integrity sha512-CF4NqFSPeFnqbVG23+BozGNVha2Pk7vXaLGCPZPlHmx2jwaxZHCdxK+VvtOtV3fVPr6CI97SsTq9TwiFciv+zg== + dependencies: + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-dynamodb@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-dynamodb/-/aws-dynamodb-1.74.0.tgz#7e0ef530e9c3d7301a9db616ddf6d650f7acb76f" + integrity sha512-YU38dFYLMyMe5u2GLy8sFCFTVxwDgWZ67HzFg41kSj8WpAsVQEE5Zxh1nf0+8Ai1J4MNeLeMCaXtuliHipoQSw== + dependencies: + "@aws-cdk/aws-applicationautoscaling" "1.74.0" + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/aws-lambda" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/custom-resources" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-ec2@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ec2/-/aws-ec2-1.74.0.tgz#eae31df9045ca9374daf6b1562674e31d8053aff" + integrity sha512-TcJtdSFur8Pkhfz39nhPZH2LBiugBhSrDkAUfeEVVwDEa4kvNys7xkcwvvBouFhM6YhitjZ53j9d7d4CEBc73g== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/aws-logs" "1.74.0" + "@aws-cdk/aws-s3" "1.74.0" + "@aws-cdk/aws-s3-assets" "1.74.0" + "@aws-cdk/aws-ssm" "1.74.0" + "@aws-cdk/cloud-assembly-schema" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + "@aws-cdk/region-info" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-efs@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-efs/-/aws-efs-1.74.0.tgz#367b89f14ccd090f98227dbc975076571b31faac" + integrity sha512-ghzwm/e8qQlOM/PKgfscbVFny9qhQNrXZltxckhHdTEX3Wtx9RXpveWzEOGBoHBJHSv49gkvAwtvzTbxCss4QA== + dependencies: + "@aws-cdk/aws-ec2" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/cloud-assembly-schema" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-events@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events/-/aws-events-1.74.0.tgz#2ed5a4cdd737ce4c8950506df496d0b43ac6aa12" + integrity sha512-dmVswvSBd2jZzgPJCQell+u9bRYNg63p1e57bXmql6Rm1UJDPTbvESPXsdwwFW2WpJyXwHOOM+qe98r5CbcTUw== + dependencies: + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-iam@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-iam/-/aws-iam-1.74.0.tgz#c255c9676fb6048ab27c00d111ed5e7d8b46877c" + integrity sha512-5Eq4e4/be2HMFZXc1sCeNjqgTyjlWgvIjbLh0Q4c01V05r7MbPdmfZRurbeEA6NohGf+zYFQrCzPnTaqvFPFHA== + dependencies: + "@aws-cdk/core" "1.74.0" + "@aws-cdk/region-info" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-kms@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kms/-/aws-kms-1.74.0.tgz#73531f7b5d2542eb5e3f7bb54604944921e34995" + integrity sha512-4cTNqzNkml3RV6uobSwq7ZtPBjwNovOxv75vzGNNRw1GO6hxqDzoPRIsgfwNvVii8tv27eR0xTK0t6WlKqoVzg== + dependencies: + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-lambda-nodejs@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda-nodejs/-/aws-lambda-nodejs-1.74.0.tgz#aa818270e4dcd74be51d402cdb114da311b3c966" + integrity sha512-1mc8I+Yz43El8O8SjsfkABsI31tcpO5e3fAz7/40DKuFgM9jkL6vyiL55MLIckAqmE2N9mRYU0xF4RC7uRZdmQ== + dependencies: + "@aws-cdk/aws-lambda" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-lambda@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda/-/aws-lambda-1.74.0.tgz#52175fbc9e679ca5c0f4d15e0666c99fc4a953d0" + integrity sha512-Ju3/mhnli33xnO2qvJUs11djva12SHnmJPGtbx4Nz33z577/pCwLZYWa7noP8eUzAyBglfNlPG8JWH+fNHPbew== + dependencies: + "@aws-cdk/aws-applicationautoscaling" "1.74.0" + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-codeguruprofiler" "1.74.0" + "@aws-cdk/aws-ec2" "1.74.0" + "@aws-cdk/aws-efs" "1.74.0" + "@aws-cdk/aws-events" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-logs" "1.74.0" + "@aws-cdk/aws-s3" "1.74.0" + "@aws-cdk/aws-s3-assets" "1.74.0" + "@aws-cdk/aws-sqs" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-logs@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-logs/-/aws-logs-1.74.0.tgz#cd40afe70ffeb5250ecea1db0ee0a2f68fb2084a" + integrity sha512-wMpjXdJBN3S0gYO3pMjjKxSTlIs0ZUH64k6BnOxDvnltWbBJomD0/qLKMVHShOddm9MMNdD8AaYpCqZsrplZHA== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/aws-s3-assets" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-route53@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-route53/-/aws-route53-1.74.0.tgz#f9b3c770cf613227bba31c4a7499c8f19966f3e4" + integrity sha512-TYnAByXLc6B/uAG03bYLV0kPi1TU8G95kW6wNhfiqvPCSwfizbsg5rztbUoydJpBocbOs9qbtCM7v6gbDsB2bQ== + dependencies: + "@aws-cdk/aws-ec2" "1.74.0" + "@aws-cdk/aws-logs" "1.74.0" + "@aws-cdk/cloud-assembly-schema" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-s3-assets@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.74.0.tgz#7f1988f3931e95d88a8c1357f98c47f7f9b73dee" + integrity sha512-uewjgTOr5q60UbPKHo3qgYApXxFKUIgP6eUZi7v8mhfnZUDw9H9B4rRJ7rHRZ4gYj9ZtiWq1o3hpvWnoHsR+zg== + dependencies: + "@aws-cdk/assets" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/aws-s3" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-s3@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3/-/aws-s3-1.74.0.tgz#5b53839c3af0f67bfb1e96061f6a1ea5be445fe9" + integrity sha512-xbRbI90hUvmVwGHHMr4dPWv0TXBxr/HeeaLzqLDHv36+TKA0wMR7ttRm3pbT3Kf/YjqSty788rom6lVqaAu81Q== + dependencies: + "@aws-cdk/aws-events" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-sns-subscriptions@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns-subscriptions/-/aws-sns-subscriptions-1.74.0.tgz#6cdad4a409359122e8a410543e33da59d21b54cc" + integrity sha512-MOuArbCx1nxL5B40RMQzHNnU0SZWkaQfRDTURTQbX4e0OHyq5DnQrtXTu/XyI/MYPBU+ZnC/FXP+hynCatn+nw== + dependencies: + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-lambda" "1.74.0" + "@aws-cdk/aws-sns" "1.74.0" + "@aws-cdk/aws-sqs" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-sns@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns/-/aws-sns-1.74.0.tgz#c9289b34cb2512010a0b6813f684c93398502bdd" + integrity sha512-O0HDGvl1WjCTU53auNJKCW5/6vpbVYlj0RwLgGaOOlTeKnfuq53kGvL/t3QdZQlJWxSvkbN61O+rZB7GacXV0g== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-events" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/aws-sqs" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-sqs@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sqs/-/aws-sqs-1.74.0.tgz#998da5838d4310805432f0cf55fcc7c8f34657e2" + integrity sha512-qlj7ZapoL9oneLu4wh7DfQDypCo6QFlyGzd3nlmn+C9UbCscBkpSJnmYSGi2m0TVCKbd3tP1EpfdU36LTahYBg== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-ssm@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ssm/-/aws-ssm-1.74.0.tgz#426dd65c0b933618d5c196cb38386c1035b0fdc4" + integrity sha512-uok/D4ooEVXst0HZYQkcPIM5xlHAVjGjF44Gt68hbdZknBhMbfZP2EWqSZHhSW9HdVoNFTNkIxcI2AemCnt2Qg== + dependencies: + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-kms" "1.74.0" + "@aws-cdk/cloud-assembly-schema" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" "@aws-cdk/cfnspec@1.61.0": version "1.61.0" @@ -252,6 +297,13 @@ dependencies: md5 "^2.3.0" +"@aws-cdk/cfnspec@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/cfnspec/-/cfnspec-1.74.0.tgz#03577e266721fe87287f9fc710a95d7b7e5886cd" + integrity sha512-9rdFgRUoV3lbAD6lnU+hGdkit8ILmUq+XCXzRdc9xWHUXIKxMmFK9frXTT+wGmjgdz/GpPyfSbFjzyqk4QE5+w== + dependencies: + md5 "^2.3.0" + "@aws-cdk/cloud-assembly-schema@1.61.0": version "1.61.0" resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.61.0.tgz#d4d7f75cba3c52bb0b5406085dc77eefc6393aa9" @@ -260,6 +312,14 @@ jsonschema "^1.2.5" semver "^7.2.2" +"@aws-cdk/cloud-assembly-schema@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.74.0.tgz#f1bbd8411ec320dd9e14ef2dce626a05019c42bc" + integrity sha512-TOfruzx7zIirRpfL9r5tGcOPdfXQatD3/kgXq4I1px12oH3jmuiEcNxGdvEYgVMPaZGMrx0rtqyT2sGDWBycKw== + dependencies: + jsonschema "^1.4.0" + semver "^7.3.2" + "@aws-cdk/cloudformation-diff@1.61.0": version "1.61.0" resolved "https://registry.yarnpkg.com/@aws-cdk/cloudformation-diff/-/cloudformation-diff-1.61.0.tgz#8acb549fd1dd819aa61dfed47e011b44827045a8" @@ -272,6 +332,18 @@ string-width "^4.2.0" table "^5.4.6" +"@aws-cdk/cloudformation-diff@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/cloudformation-diff/-/cloudformation-diff-1.74.0.tgz#d86199db530f9df641cff7f3996939c47645d59f" + integrity sha512-aYAg85fkpX39euUo5HjsGtqOpyD5fAz1+jZ/F/5erA8Y/+rB4ifCVJH0cLYHVdYwo8oc3poB6jW4tVMxNYxbrg== + dependencies: + "@aws-cdk/cfnspec" "1.74.0" + colors "^1.4.0" + diff "^5.0.0" + fast-deep-equal "^3.1.3" + string-width "^4.2.0" + table "^6.0.3" + "@aws-cdk/core@1.61.0": version "1.61.0" resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.61.0.tgz#817689a087cb97741fd5e4b407ee603610f30fb3" @@ -283,18 +355,32 @@ fs-extra "^9.0.1" minimatch "^3.0.4" -"@aws-cdk/custom-resources@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/custom-resources/-/custom-resources-1.61.0.tgz#03749f4122e46504fd1b3b3b9a11aa3578f269bf" - integrity sha512-etnHE7A0+J5w1L/m+KxEbPQ7LgtVYvEUV6naqRp5uIsTBaJ9sCQ+q43Y3Fj+g3NMigm8C2fKg5FmiFE6kiymDQ== - dependencies: - "@aws-cdk/aws-cloudformation" "1.61.0" - "@aws-cdk/aws-iam" "1.61.0" - "@aws-cdk/aws-lambda" "1.61.0" - "@aws-cdk/aws-logs" "1.61.0" - "@aws-cdk/aws-sns" "1.61.0" - "@aws-cdk/core" "1.61.0" - constructs "^3.0.4" +"@aws-cdk/core@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.74.0.tgz#132d31c0ab9d39394827431ccd804cf10de34273" + integrity sha512-1iKRIRKyMQ8ZmPvkAAjSIGl4Fh7tLIE7D23ht25ayNGp0XVG1Hd858x2GmDzI/J1ZK6xsuTsEDGbi5/saR69ng== + dependencies: + "@aws-cdk/cloud-assembly-schema" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + "@aws-cdk/region-info" "1.74.0" + "@balena/dockerignore" "^1.0.2" + constructs "^3.2.0" + fs-extra "^9.0.1" + ignore "^5.1.8" + minimatch "^3.0.4" + +"@aws-cdk/custom-resources@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/custom-resources/-/custom-resources-1.74.0.tgz#19329e8a9b9bc0ca66e00c791b008c416a67265f" + integrity sha512-KDXgyRCeCMIj42nQcd2RXc4GYQpd7SWtx2iw0G4Wvs/wG4i3nR1qdlvEJvAlNgsYeqM4pp3mIp3PgdX341HsCg== + dependencies: + "@aws-cdk/aws-cloudformation" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-lambda" "1.74.0" + "@aws-cdk/aws-logs" "1.74.0" + "@aws-cdk/aws-sns" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" "@aws-cdk/cx-api@1.61.0": version "1.61.0" @@ -304,11 +390,31 @@ "@aws-cdk/cloud-assembly-schema" "1.61.0" semver "^7.2.2" +"@aws-cdk/cx-api@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.74.0.tgz#922c11389d723eadef2bc12666ced4980fe9e4cc" + integrity sha512-Xhq9col3syHmxC3Zl1igrWwvOzwJzwTKwpLLL8ENF8u2n8x4eneAN+OLrRlB/rhAQ+KUL6B8toUsd4pcJMkSOQ== + dependencies: + "@aws-cdk/cloud-assembly-schema" "1.74.0" + semver "^7.3.2" + "@aws-cdk/region-info@1.61.0": version "1.61.0" resolved "https://registry.yarnpkg.com/@aws-cdk/region-info/-/region-info-1.61.0.tgz#663e44206a92da544183c3a405cd73490fdc3103" integrity sha512-/10gvecycNJhYM2LIkA0XaoWgUZQ6K5FIIRaf/o4PbgHyR8WTyEPO6lbT0GoKi69TvC+18xzJ4iZ1p3ZdRnUYw== +"@aws-cdk/region-info@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/region-info/-/region-info-1.74.0.tgz#e53eabe2d8980c360e63ea956615253551005182" + integrity sha512-xF0etW01PyUNxL9F4xiA2y/pEG9e+0EJpOL7O9gVZ0IxOkIW+J0MljR6O8nx4yCx6j2/dXTs6INZ/zVn0DsydA== + +"@aws-cdk/yaml-cfn@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/yaml-cfn/-/yaml-cfn-1.74.0.tgz#ea66da39391acf4d2f385845bb1c3466779bb90c" + integrity sha512-fJyS9apCC6lk3MHramd8Kjz4UwGWqM5gDRBci68Vs/nfXcpXY2ekHGjUMUfcel7VPobNKWszxWAMxXttAHa1zg== + dependencies: + yaml "1.10.0" + "@babel/cli@^7.10.5": version "7.10.5" resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.10.5.tgz#57df2987c8cf89d0fc7d4b157ec59d7619f1b77a" @@ -1183,6 +1289,11 @@ lodash "^4.17.19" to-fast-properties "^2.0.0" +"@balena/dockerignore@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@balena/dockerignore/-/dockerignore-1.0.2.tgz#9ffe4726915251e8eb69f44ef3547e0da2c03e0d" + integrity sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q== + "@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" @@ -1394,21 +1505,26 @@ chalk "^4.0.0" "@serverless-stack/cli@../../../cli": - version "0.4.1" + version "0.4.3" dependencies: + "@aws-cdk/aws-apigatewayv2" "1.74.0" + "@aws-cdk/aws-dynamodb" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-lambda" "1.74.0" + "@aws-cdk/core" "1.74.0" "@babel/cli" "^7.10.5" "@babel/core" "^7.10.5" "@babel/eslint-parser" "^7.11.3" "@babel/eslint-plugin" "^7.11.3" "@babel/plugin-proposal-class-properties" "^7.10.4" "@babel/preset-env" "^7.10.4" - "@serverless-stack/core" "^0.4.1" - "@serverless-stack/resources" "^0.4.1" + "@serverless-stack/core" "^0.4.3" + "@serverless-stack/resources" "^0.4.3" "@types/jest" "^26.0.7" "@types/node" "^14.0.27" "@typescript-eslint/eslint-plugin" "^3.9.1" "@typescript-eslint/parser" "^3.9.1" - aws-cdk "1.61.0" + aws-cdk "1.74.0" chalk "^4.1.0" core-js "^3.6.5" cross-spawn "^7.0.3" @@ -1418,26 +1534,29 @@ source-map-support "^0.5.19" ts-jest "^26.1.4" typescript "^3.9.7" + ws "^7.4.0" yargs "^15.4.1" -"@serverless-stack/core@^0.4.1": - version "0.4.1" - resolved "https://registry.yarnpkg.com/@serverless-stack/core/-/core-0.4.1.tgz#c3099627eb891696cd0321a28ed8df3df995c2f7" - integrity sha512-Fkqv/prAwNHG4Plf/HcL0VV1S5i0/q3z1K4LevS0PObM6S90jczLWLYoWmq0OGIffX/ARvHJWAxNT0F5BMCJ5A== +"@serverless-stack/core@^0.4.3": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@serverless-stack/core/-/core-0.4.3.tgz#1f9c8b0221c718250dbadd3a7081e2e8fbef28bb" + integrity sha512-R+iUsOKMYFof+nu4O9VhZrNmiJs3ap6sxuKjXfiUwTI6Iy8wCFE5aIb3Wu0EIBmfeVe7vR4PPH9TYjh3kJ4UdA== dependencies: aws-sdk "^2.761.0" chalk "^4.1.0" sst-cdk "1.61.0-rc.25" "@serverless-stack/resources@../../../resources": - version "0.4.1" + version "0.4.3" dependencies: - "@aws-cdk/core" "1.61.0" + "@aws-cdk/aws-lambda" "1.74.0" + "@aws-cdk/aws-lambda-nodejs" "1.74.0" + "@aws-cdk/core" "1.74.0" -"@serverless-stack/resources@^0.4.1": - version "0.4.1" - resolved "https://registry.yarnpkg.com/@serverless-stack/resources/-/resources-0.4.1.tgz#fb5f2a4459b2139661b19e750e8af2bf214d3b41" - integrity sha512-oDPFeyUo3KQN/x7FuEcmIoDDJmJnXId18g/1EkdG8nCWnbGF28tAsfT95Qv6qLjxBPlgV5rKW6b6z6djJkYwKQ== +"@serverless-stack/resources@^0.4.3": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@serverless-stack/resources/-/resources-0.4.3.tgz#1a9143ccedb1e5458d6c3cd32e8be531ee27e4a6" + integrity sha512-cYE2aTHbToj71xZyEbCMH5+5jZEHx2ebL/gA5eEC0JUnlrfCIt6K3buO4nIKvOY01hQD/kS6OLM40x6keV2F3A== dependencies: "@aws-cdk/core" "1.61.0" @@ -1455,6 +1574,11 @@ dependencies: "@sinonjs/commons" "^1.7.0" +"@tootallnate/once@1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" + integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== + "@types/babel__core@^7.0.0", "@types/babel__core@^7.1.7": version "7.1.9" resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.9.tgz#77e59d438522a6fb898fa43dc3455c6e72f3963d" @@ -1665,6 +1789,13 @@ agent-base@4, agent-base@^4.2.0, agent-base@^4.3.0: dependencies: es6-promisify "^5.0.0" +agent-base@6, agent-base@^6.0.0: + version "6.0.2" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" + agent-base@~4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.2.1.tgz#d89e5999f797875674c07d87f260fc41e83e8ca9" @@ -1692,6 +1823,16 @@ ajv@^6.10.2, ajv@^6.12.3: json-schema-traverse "^0.4.1" uri-js "^4.2.2" +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-colors@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" @@ -1774,6 +1915,19 @@ archiver@^4.0.2: tar-stream "^2.1.2" zip-stream "^3.0.1" +archiver@^5.0.2: + version "5.1.0" + resolved "https://registry.yarnpkg.com/archiver/-/archiver-5.1.0.tgz#05b0f6f7836f3e6356a0532763d2bb91017a7e37" + integrity sha512-iKuQUP1nuKzBC2PFlGet5twENzCfyODmvkxwDV0cEFXavwcLrIW5ssTuHi9dyTPvpWr6Faweo2eQaQiLIwyXTA== + dependencies: + archiver-utils "^2.1.0" + async "^3.2.0" + buffer-crc32 "^0.2.1" + readable-stream "^3.6.0" + readdir-glob "^1.0.0" + tar-stream "^2.1.4" + zip-stream "^4.0.4" + argparse@^1.0.7: version "1.0.10" resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" @@ -1823,11 +1977,23 @@ ast-types@0.x.x: resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.13.3.tgz#50da3f28d17bdbc7969a3a2d83a0e4a72ae755a7" integrity sha512-XTZ7xGML849LkQP86sWdQzfhwbt3YwIO6MqbX9mUNYY98VKaaVZP7YNNm70IpwecbkkxmfC5IYAzOQ/2p29zRA== +ast-types@^0.13.2: + version "0.13.4" + resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.13.4.tgz#ee0d77b343263965ecc3fb62da16e7222b2b6782" + integrity sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w== + dependencies: + tslib "^2.0.1" + astral-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== +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== + async-each@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" @@ -1853,34 +2019,34 @@ atob@^2.1.2: resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== -aws-cdk@1.61.0: - version "1.61.0" - resolved "https://registry.yarnpkg.com/aws-cdk/-/aws-cdk-1.61.0.tgz#b1e1a55c64dff5825b3961b56c2b5fcb7ac472e9" - integrity sha512-deLtRq3DkiUB/5EN8ZCWLdXY0Uhm+fUvA1WSO8lzEhl71SmD7dyEHqvl7k96WPrIhUkS0nbiz6a+WC0QadIthg== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.61.0" - "@aws-cdk/cloudformation-diff" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - "@aws-cdk/region-info" "1.61.0" - archiver "^4.0.2" - aws-sdk "^2.739.0" - camelcase "^6.0.0" - cdk-assets "1.61.0" +aws-cdk@1.74.0: + version "1.74.0" + resolved "https://registry.yarnpkg.com/aws-cdk/-/aws-cdk-1.74.0.tgz#d049631ea578a8b75244b13a3028134ebb56add2" + integrity sha512-D4LKNlmvLHv+CWI/35Esaoij4v5VSqKyc+Gvnjhj1K3I4lG/AAxEy1CmRBhN/w1LJt70U9jnBpIsb6hGUlrV8A== + dependencies: + "@aws-cdk/cloud-assembly-schema" "1.74.0" + "@aws-cdk/cloudformation-diff" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + "@aws-cdk/region-info" "1.74.0" + "@aws-cdk/yaml-cfn" "1.74.0" + archiver "^5.0.2" + aws-sdk "^2.792.0" + camelcase "^6.2.0" + cdk-assets "1.74.0" colors "^1.4.0" decamelize "^4.0.0" fs-extra "^9.0.1" glob "^7.1.6" json-diff "^0.5.4" minimatch ">=3.0" - promptly "^3.0.3" - proxy-agent "^3.1.1" - semver "^7.2.2" + promptly "^3.2.0" + proxy-agent "^4.0.0" + semver "^7.3.2" source-map-support "^0.5.19" - table "^5.4.6" - uuid "^8.3.0" + table "^6.0.3" + uuid "^8.3.1" wrap-ansi "^7.0.0" - yaml "^1.10.0" - yargs "^15.4.1" + yargs "^16.1.1" aws-sdk@^2.739.0: version "2.743.0" @@ -1912,6 +2078,21 @@ aws-sdk@^2.761.0: uuid "3.3.2" xml2js "0.4.19" +aws-sdk@^2.792.0: + version "2.799.0" + resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.799.0.tgz#8b1a64c1a9f8ccf5794eb07bdd8051e4cb6adcfd" + integrity sha512-NYAoiNU+bJXhlJsC0rFqrmD5t5ho7/VxldmziP6HLPYHfOCI9Uvk6UVjfPmhLWPm0mHnIxhsHqmsNGyjhHNYmw== + dependencies: + buffer "4.9.2" + events "1.1.1" + ieee754 "1.1.13" + jmespath "0.15.0" + querystring "0.2.0" + sax "1.2.1" + url "0.10.3" + uuid "3.3.2" + xml2js "0.4.19" + aws-sign2@~0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" @@ -2040,6 +2221,15 @@ bl@^4.0.1: inherits "^2.0.4" readable-stream "^3.4.0" +bl@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/bl/-/bl-4.0.3.tgz#12d6287adc29080e22a705e5764b2a9522cdc489" + integrity sha512-fs4G6/Hu4/EE+F75J8DuN/0IpQqNjAdC7aEQv7Qt8MHGUH7Ckv2MwTEEeN9QehD0pfIDkMI1bkHYkKy7xHyKIg== + dependencies: + buffer "^5.5.0" + inherits "^2.0.4" + readable-stream "^3.4.0" + brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -2162,6 +2352,11 @@ camelcase@^6.0.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.0.0.tgz#5259f7c30e35e278f1bdc2a4d91230b37cad981e" integrity sha512-8KMDF1Vz2gzOq54ONPJS65IvTUaB1cHJ2DMM7MbPmLZljDH1qpzzLsWdiN9pHh6qvkRVDTi/07+eNGch/oLU4w== +camelcase@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" + integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== + caniuse-lite@^1.0.30001111: version "1.0.30001112" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001112.tgz#0fffc3b934ff56ff0548c37bc9dad7d882bcf672" @@ -2191,6 +2386,18 @@ cdk-assets@1.61.0: glob "^7.1.6" yargs "^15.4.1" +cdk-assets@1.74.0: + version "1.74.0" + resolved "https://registry.yarnpkg.com/cdk-assets/-/cdk-assets-1.74.0.tgz#d70d5d5351181d91d9ee91791a858c2eb5d5e723" + integrity sha512-YF3nE1zAJU4dlWVnY30a4ALNzHhSTMMoAMv4bYkwXTLqzu+QB2v3MQdPpCLdGTGUYDaeRZy/Z/4R4MqM+/KPAA== + dependencies: + "@aws-cdk/cloud-assembly-schema" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + archiver "^5.0.2" + aws-sdk "^2.792.0" + glob "^7.1.6" + yargs "^16.1.1" + chalk@^2.0.0: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" @@ -2276,6 +2483,15 @@ cliui@^6.0.0: strip-ansi "^6.0.0" wrap-ansi "^6.2.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" @@ -2350,6 +2566,16 @@ compress-commons@^3.0.0: normalize-path "^3.0.0" readable-stream "^2.3.7" +compress-commons@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/compress-commons/-/compress-commons-4.0.2.tgz#d6896be386e52f37610cef9e6fa5defc58c31bd7" + integrity sha512-qhd32a9xgzmpfoga1VQEiLEwdKZ6Plnpx5UCgIsf89FSolyJ7WnifY4Gtjgv5WR6hWAyRaHxC5MiEhU/38U70A== + dependencies: + buffer-crc32 "^0.2.13" + crc32-stream "^4.0.1" + normalize-path "^3.0.0" + readable-stream "^3.6.0" + concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" @@ -2360,6 +2586,11 @@ constructs@^3.0.4: resolved "https://registry.yarnpkg.com/constructs/-/constructs-3.0.4.tgz#eb1ed5b80f6600b8d50de83971357ae0fe8e29a2" integrity sha512-CDvg7gMjphE3DFX4pzkF6j73NREbR8npPFW8Mx/CLRnMR035+Y1o1HrXIsNSss/dq3ZUnNTU9jKyd3fL9EOlfw== +constructs@^3.2.0: + version "3.2.40" + resolved "https://registry.yarnpkg.com/constructs/-/constructs-3.2.40.tgz#e8c0e1020ad254ff73d9ea6c85cc90c3a33c71f1" + integrity sha512-XtKn+Pzq8EZNe1zasQem6X09dprZ8pXvNxECKQLZC+jU5BdkgDKe0nak4Wp+k7uvDFlyh9NccaGtxqP6w2YS0A== + convert-source-map@^1.1.0, convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" @@ -2390,6 +2621,14 @@ core-util-is@1.0.2, core-util-is@~1.0.0: resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= +crc-32@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.0.tgz#cb2db6e29b88508e32d9dd0ec1693e7b41a18208" + integrity sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA== + dependencies: + exit-on-epipe "~1.0.1" + printj "~1.1.0" + crc32-stream@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-3.0.1.tgz#cae6eeed003b0e44d739d279de5ae63b171b4e85" @@ -2398,6 +2637,14 @@ crc32-stream@^3.0.1: crc "^3.4.4" readable-stream "^3.4.0" +crc32-stream@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-4.0.1.tgz#0f047d74041737f8a55e86837a1b826bd8ab0067" + integrity sha512-FN5V+weeO/8JaXsamelVYO1PHyeCsuL3HcG4cqsj0ceARcocxalaShCsohZMSAF+db7UYFwBy1rARK/0oFItUw== + dependencies: + crc-32 "^1.2.0" + readable-stream "^3.4.0" + crc@^3.4.4: version "3.8.0" resolved "https://registry.yarnpkg.com/crc/-/crc-3.8.0.tgz#ad60269c2c856f8c299e2c4cc0de4556914056c6" @@ -2459,6 +2706,11 @@ data-uri-to-buffer@1: resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-1.2.0.tgz#77163ea9c20d8641b4707e8f18abdf9a78f34835" integrity sha512-vKQ9DTQPN1FLYiiEEOQ6IBGFqvjCa5rSK3cWMy/Nespm5d/x3dGFT9UBZnkLxCwua/IXBi2TYnwTEpsOvhC4UQ== +data-uri-to-buffer@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz#594b8973938c5bc2c33046535785341abc4f3636" + integrity sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og== + data-urls@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" @@ -2564,6 +2816,15 @@ degenerator@^1.0.4: escodegen "1.x.x" esprima "3.x.x" +degenerator@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/degenerator/-/degenerator-2.2.0.tgz#49e98c11fa0293c5b26edfbb52f15729afcdb254" + integrity sha512-aiQcQowF01RxFI4ZLFMpzyotbQonhNpBao6dkI8JPk5a+hmSjR5ErHp2CQySmQe8os3VBqLCIh87nDBgZXvsmg== + dependencies: + ast-types "^0.13.2" + escodegen "^1.8.1" + esprima "^4.0.0" + delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" @@ -2594,6 +2855,11 @@ diff@^4.0.2: resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== +diff@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" + integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== + difflib@~0.2.1: version "0.2.4" resolved "https://registry.yarnpkg.com/difflib/-/difflib-0.2.4.tgz#b5e30361a6db023176d562892db85940a718f47e" @@ -2693,6 +2959,11 @@ escalade@^3.0.2: resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.0.2.tgz#6a580d70edb87880f22b4c91d0d56078df6962c4" integrity sha512-gPYAU37hYCUhW5euPeR+Y74F7BL+IBsV93j5cvGriSaD1aG6MGsqsV1yamRdrWrb2j3aiZvb0X+UBOWpx3JWtQ== +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" @@ -2703,7 +2974,7 @@ escape-string-regexp@^2.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== -escodegen@1.x.x, escodegen@^1.14.1: +escodegen@1.x.x, escodegen@^1.14.1, escodegen@^1.8.1: version "1.14.3" resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== @@ -2868,6 +3139,11 @@ execa@^4.0.0: signal-exit "^3.0.2" strip-final-newline "^2.0.0" +exit-on-epipe@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz#0bdd92e87d5285d267daa8171d0eb06159689692" + integrity sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw== + exit@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" @@ -2976,6 +3252,11 @@ file-uri-to-path@1, file-uri-to-path@1.0.0: resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== +file-uri-to-path@2: + version "2.0.0" + resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-2.0.0.tgz#7b415aeba227d575851e0a5b0c640d7656403fba" + integrity sha512-hjPFI8oE/2iQPVe4gbrJ73Pp+Xfub2+WI2LlXDbsaJBwT5wuMh35WNWVYYTpnz895shtwfyutMFLFywpQAFdLg== + fill-range@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" @@ -3046,6 +3327,15 @@ fs-constants@^1.0.0: resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== +fs-extra@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" + integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^4.0.0" + universalify "^0.1.0" + fs-extra@^9.0.1: version "9.0.1" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc" @@ -3079,7 +3369,7 @@ fsevents@^2.1.2: resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== -ftp@~0.3.10: +ftp@^0.3.10, ftp@~0.3.10: version "0.3.10" resolved "https://registry.yarnpkg.com/ftp/-/ftp-0.3.10.tgz#9197d861ad8142f3e63d5a83bfe4c59f7330885d" integrity sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0= @@ -3102,7 +3392,7 @@ gensync@^1.0.0-beta.1: resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg== -get-caller-file@^2.0.1: +get-caller-file@^2.0.1, 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== @@ -3126,6 +3416,18 @@ get-stream@^5.0.0: dependencies: pump "^3.0.0" +get-uri@3: + version "3.0.2" + resolved "https://registry.yarnpkg.com/get-uri/-/get-uri-3.0.2.tgz#f0ef1356faabc70e1f9404fa3b66b2ba9bfc725c" + integrity sha512-+5s0SJbGoyiJTZZ2JTpFPLMPSch72KEqGOTvQsBqg0RBWvwhWUSYZFAtz3TPW0GXJuLBJPts1E241iHg+VRfhg== + dependencies: + "@tootallnate/once" "1" + data-uri-to-buffer "3" + debug "4" + file-uri-to-path "2" + fs-extra "^8.1.0" + ftp "^0.3.10" + get-uri@^2.0.0: version "2.0.4" resolved "https://registry.yarnpkg.com/get-uri/-/get-uri-2.0.4.tgz#d4937ab819e218d4cb5ae18e4f5962bef169cc6a" @@ -3299,6 +3601,15 @@ http-proxy-agent@^2.1.0: agent-base "4" debug "3.1.0" +http-proxy-agent@^4.0.0, http-proxy-agent@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" + integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== + dependencies: + "@tootallnate/once" "1" + agent-base "6" + debug "4" + http-signature@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" @@ -3308,6 +3619,14 @@ http-signature@~1.2.0: jsprim "^1.2.2" sshpk "^1.7.0" +https-proxy-agent@5, https-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" + integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== + dependencies: + agent-base "6" + debug "4" + https-proxy-agent@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-3.0.1.tgz#b8c286433e87602311b01c8ea34413d856a4af81" @@ -3338,6 +3657,11 @@ ignore@^4.0.6: resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== +ignore@^5.1.8: + version "5.1.8" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" + integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== + import-fresh@^3.0.0: version "3.2.1" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" @@ -4125,6 +4449,13 @@ json5@2.x, json5@^2.1.2: dependencies: minimist "^1.2.5" +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= + optionalDependencies: + graceful-fs "^4.1.6" + jsonfile@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.0.1.tgz#98966cba214378c8c84b82e085907b40bf614179" @@ -4139,6 +4470,11 @@ jsonschema@^1.2.5: resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.2.6.tgz#52b0a8e9dc06bbae7295249d03e4b9faee8a0c0b" integrity sha512-SqhURKZG07JyKKeo/ir24QnS4/BV7a6gQy93bUSe4lUdNp0QNpIz2c9elWJQ9dpc5cQYY6cvCzgRwy0MQCLyqA== +jsonschema@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.4.0.tgz#1afa34c4bc22190d8e42271ec17ac8b3404f87b2" + integrity sha512-/YgW6pRMr6M7C+4o8kS+B/2myEpHCrxO4PEWnqJNBFMjn7EWXqlQ4tGwL6xTHeRplwuZmcAncdvfOad1nT2yMw== + jsprim@^1.2.2: version "1.4.1" resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" @@ -4265,7 +4601,7 @@ lodash@^4.17.14, lodash@^4.17.19: resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b" integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ== -lodash@^4.17.15: +lodash@^4.17.15, lodash@^4.17.20: version "4.17.20" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== @@ -4657,6 +4993,21 @@ pac-proxy-agent@^3.0.1: raw-body "^2.2.0" socks-proxy-agent "^4.0.1" +pac-proxy-agent@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/pac-proxy-agent/-/pac-proxy-agent-4.1.0.tgz#66883eeabadc915fc5e95457324cb0f0ac78defb" + integrity sha512-ejNgYm2HTXSIYX9eFlkvqFp8hyJ374uDf0Zq5YUAifiSh1D6fo+iBivQZirGvVv8dCYUsLhmLBRhlAYvBKI5+Q== + dependencies: + "@tootallnate/once" "1" + agent-base "6" + debug "4" + get-uri "3" + http-proxy-agent "^4.0.1" + https-proxy-agent "5" + pac-resolver "^4.1.0" + raw-body "^2.2.0" + socks-proxy-agent "5" + pac-resolver@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pac-resolver/-/pac-resolver-3.0.0.tgz#6aea30787db0a891704deb7800a722a7615a6f26" @@ -4668,6 +5019,15 @@ pac-resolver@^3.0.0: netmask "^1.0.6" thunkify "^2.1.2" +pac-resolver@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/pac-resolver/-/pac-resolver-4.1.0.tgz#4b12e7d096b255a3b84e53f6831f32e9c7e5fe95" + integrity sha512-d6lf2IrZJJ7ooVHr7BfwSjRO1yKSJMaiiWYSHcrxSIUtZrCa4KKGwcztdkZ/E9LFleJfjoi1yl+XLR7AX24nbQ== + dependencies: + degenerator "^2.2.0" + ip "^1.1.5" + netmask "^1.0.6" + parent-module@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" @@ -4794,6 +5154,11 @@ pretty-format@^26.2.0: ansi-styles "^4.0.0" react-is "^16.12.0" +printj@~1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/printj/-/printj-1.1.2.tgz#d90deb2975a8b9f600fb3a1c94e3f4c53c78a222" + integrity sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ== + 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" @@ -4812,6 +5177,13 @@ promptly@^3.0.3: pify "^3.0.0" read "^1.0.4" +promptly@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/promptly/-/promptly-3.2.0.tgz#a5517fbbf59bd31c1751d4e1d9bef1714f42b9d8" + integrity sha512-WnR9obtgW+rG4oUV3hSnNGl1pHm3V1H/qD9iJBumGSmVsSC5HpZOLuu8qdMb6yCItGfT7dcRszejr/5P3i9Pug== + dependencies: + read "^1.0.4" + prompts@^2.0.1: version "2.3.2" resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.3.2.tgz#480572d89ecf39566d2bd3fe2c9fccb7c4c0b068" @@ -4834,6 +5206,20 @@ proxy-agent@^3.1.1: proxy-from-env "^1.0.0" socks-proxy-agent "^4.0.1" +proxy-agent@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/proxy-agent/-/proxy-agent-4.0.0.tgz#a92976af3fbc7d846f2e850e2ac5ac6ca3fb74c7" + integrity sha512-8P0Y2SkwvKjiGU1IkEfYuTteioMIDFxPL4/j49zzt5Mz3pG1KO+mIrDG1qH0PQUHTTczjwGcYl+EzfXiFj5vUQ== + dependencies: + agent-base "^6.0.0" + debug "4" + http-proxy-agent "^4.0.0" + https-proxy-agent "^5.0.0" + lru-cache "^5.1.1" + pac-proxy-agent "^4.1.0" + proxy-from-env "^1.0.0" + socks-proxy-agent "^5.0.0" + proxy-from-env@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" @@ -4945,6 +5331,13 @@ readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: string_decoder "^1.1.1" util-deprecate "^1.0.1" +readdir-glob@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/readdir-glob/-/readdir-glob-1.1.1.tgz#f0e10bb7bf7bfa7e0add8baffdc54c3f7dbee6c4" + integrity sha512-91/k1EzZwDx6HbERR+zucygRFfiPl2zkIYZtv3Jjr6Mn7SkKcVct8aVO+sSRiGMc6fLf72du3d92/uY63YPdEA== + dependencies: + minimatch "^3.0.4" + readdirp@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" @@ -5287,6 +5680,15 @@ slice-ansi@^2.1.0: astral-regex "^1.0.0" is-fullwidth-code-point "^2.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" + smart-buffer@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.1.0.tgz#91605c25d91652f4661ea69ccf45f1b331ca21ba" @@ -5322,6 +5724,15 @@ snapdragon@^0.8.1: source-map-resolve "^0.5.0" use "^3.1.0" +socks-proxy-agent@5, socks-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-5.0.0.tgz#7c0f364e7b1cf4a7a437e71253bed72e9004be60" + integrity sha512-lEpa1zsWCChxiynk+lCycKuC502RxDWLKJZoIhnxrWNjLSDGYRFflHA1/228VkRcnv9TIb8w98derGbpKxJRgA== + dependencies: + agent-base "6" + debug "4" + socks "^2.3.3" + socks-proxy-agent@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-4.0.2.tgz#3c8991f3145b2799e70e11bd5fbc8b1963116386" @@ -5330,6 +5741,14 @@ socks-proxy-agent@^4.0.1: agent-base "~4.2.1" socks "~2.3.2" +socks@^2.3.3: + version "2.5.0" + resolved "https://registry.yarnpkg.com/socks/-/socks-2.5.0.tgz#3a7c286db114f67864a4bd8b4207a91d1db3d6db" + integrity sha512-00OqQHp5SCbwm9ecOMJj9aQtMSjwi1uVuGQoxnpKCS50VKZcOZ8z11CTKypmR8sEy7nZimy/qXY7rYJYbRlXmA== + dependencies: + ip "^1.1.5" + smart-buffer "^4.1.0" + socks@~2.3.2: version "2.3.3" resolved "https://registry.yarnpkg.com/socks/-/socks-2.3.3.tgz#01129f0a5d534d2b897712ed8aceab7ee65d78e3" @@ -5600,6 +6019,16 @@ table@^5.2.3, table@^5.4.6: slice-ansi "^2.1.0" string-width "^3.0.0" +table@^6.0.3: + version "6.0.4" + resolved "https://registry.yarnpkg.com/table/-/table-6.0.4.tgz#c523dd182177e926c723eb20e1b341238188aa0d" + integrity sha512-sBT4xRLdALd+NFBvwOz8bw4b15htyythha+q+DVZqy2RS08PPC8O2sZFgJYEY7bJvbCFKccs+WIZ/cd+xxTWCw== + dependencies: + ajv "^6.12.4" + lodash "^4.17.20" + slice-ansi "^4.0.0" + string-width "^4.2.0" + tar-stream@^2.1.2: version "2.1.3" resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.1.3.tgz#1e2022559221b7866161660f118255e20fa79e41" @@ -5611,6 +6040,17 @@ tar-stream@^2.1.2: inherits "^2.0.3" readable-stream "^3.1.1" +tar-stream@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.1.4.tgz#c4fb1a11eb0da29b893a5b25476397ba2d053bfa" + integrity sha512-o3pS2zlG4gxr67GmFYBLlq+dM8gyRGUOvsrHclSkvtVtQbjV0s/+ZE8OpICbaj8clrX3tjeHngYGP7rweaBnuw== + dependencies: + bl "^4.0.3" + end-of-stream "^1.4.1" + fs-constants "^1.0.0" + inherits "^2.0.3" + readable-stream "^3.1.1" + terminal-link@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" @@ -5735,6 +6175,11 @@ tslib@^1.8.1: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q== +tslib@^2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.3.tgz#8e0741ac45fc0c226e58a17bfc3e64b9bc6ca61c" + integrity sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ== + tsutils@^3.17.1: version "3.17.1" resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759" @@ -5833,6 +6278,11 @@ union-value@^1.0.0: is-extendable "^0.1.1" set-value "^2.0.1" +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + universalify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d" @@ -5901,6 +6351,11 @@ uuid@^8.2.0, uuid@^8.3.0: resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.0.tgz#ab738085ca22dc9a8c92725e459b1d507df5d6ea" integrity sha512-fX6Z5o4m6XsXBdli9g7DtWgAx+osMsRRZFKma1mIUsLCz6vRvv+pz5VNbyu9UEDzpMWulZfvpgb/cmDXVulYFQ== +uuid@^8.3.1: + version "8.3.1" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.1.tgz#2ba2e6ca000da60fce5a196954ab241131e05a31" + integrity sha512-FOmRr+FmWEIG8uhZv6C2bTgEVXsHk08kE7mPlrBbEe+c3r9pjceVPgupIfNIhc4yx55H69OXANrUaSuu9eInKg== + v8-compile-cache@^2.0.3: version "2.1.1" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz#54bc3cdd43317bca91e35dcaf305b1a7237de745" @@ -6058,6 +6513,11 @@ ws@^7.2.3: resolved "https://registry.yarnpkg.com/ws/-/ws-7.3.1.tgz#d0547bf67f7ce4f12a72dfe31262c68d7dc551c8" integrity sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA== +ws@^7.4.0: + version "7.4.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.0.tgz#a5dd76a24197940d4a8bb9e0e152bb4503764da7" + integrity sha512-kyFwXuV/5ymf+IXhS6f0+eAFvydbaBW3zjpT6hUdAh/hbVjTIB5EHBGi0bPoCLSK2wcuz3BrEkB9LrYv1Nm4NQ== + xml-name-validator@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" @@ -6091,12 +6551,17 @@ y18n@^4.0.0: resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== +y18n@^5.0.5: + version "5.0.5" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.5.tgz#8769ec08d03b1ea2df2500acef561743bbb9ab18" + integrity sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg== + yallist@^3.0.2: version "3.1.1" resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== -yaml@^1.10.0: +yaml@1.10.0, yaml@^1.10.0: version "1.10.0" resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg== @@ -6109,6 +6574,11 @@ yargs-parser@18.x, yargs-parser@^18.1.2: camelcase "^5.0.0" decamelize "^1.2.0" +yargs-parser@^20.2.2: + version "20.2.4" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" + integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== + yargs@^15.3.1, yargs@^15.4.1: version "15.4.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" @@ -6126,6 +6596,19 @@ yargs@^15.3.1, yargs@^15.4.1: y18n "^4.0.0" yargs-parser "^18.1.2" +yargs@^16.1.1: + version "16.1.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.1.1.tgz#5a4a095bd1ca806b0a50d0c03611d38034d219a1" + integrity sha512-hAD1RcFP/wfgfxgMVswPE+z3tlPFtxG8/yWUrG2i17sTWGCGqWnxKcLTF4cUKDUK8fzokwsmO9H0TDkRbMHy8w== + 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" + zip-stream@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/zip-stream/-/zip-stream-3.0.1.tgz#cb8db9d324a76c09f9b76b31a12a48638b0b9708" @@ -6134,3 +6617,12 @@ zip-stream@^3.0.1: archiver-utils "^2.1.0" compress-commons "^3.0.0" readable-stream "^3.6.0" + +zip-stream@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/zip-stream/-/zip-stream-4.0.4.tgz#3a8f100b73afaa7d1ae9338d910b321dec77ff3a" + integrity sha512-a65wQ3h5gcQ/nQGWV1mSZCEzCML6EK/vyVPcrPNynySP1j3VBbQKh3nhC8CbORb+jfl2vXvh56Ul5odP1bAHqw== + dependencies: + archiver-utils "^2.1.0" + compress-commons "^4.0.2" + readable-stream "^3.6.0" diff --git a/packages/create-serverless-stack/scripts/get-cdk-version.js b/packages/create-serverless-stack/bin/get-cdk-version.js old mode 100644 new mode 100755 similarity index 96% rename from packages/create-serverless-stack/scripts/get-cdk-version.js rename to packages/create-serverless-stack/bin/get-cdk-version.js index 5bf4a5c5fe..c3ab8d5c8b --- a/packages/create-serverless-stack/scripts/get-cdk-version.js +++ b/packages/create-serverless-stack/bin/get-cdk-version.js @@ -1,3 +1,5 @@ +#!/usr/bin/env node + /** * Gets the forked AWS CDK version from @serverless-stack/core and writes to a temp file. * Replaces the version in the template package.json. diff --git a/packages/create-serverless-stack/package.json b/packages/create-serverless-stack/package.json index 88f241a87e..43bf146fef 100644 --- a/packages/create-serverless-stack/package.json +++ b/packages/create-serverless-stack/package.json @@ -7,7 +7,7 @@ "create-serverless-stack": "./bin/index.js" }, "scripts": { - "prepare": "node scripts/get-cdk-version.js" + "prepare": "./bin/get-cdk-version.js" }, "author": { "name": "Anomaly Innovations", diff --git a/packages/resources/scripts/aws-cdk-version-check.js b/packages/resources/bin/aws-cdk-version-check.js old mode 100644 new mode 100755 similarity index 98% rename from packages/resources/scripts/aws-cdk-version-check.js rename to packages/resources/bin/aws-cdk-version-check.js index 311d16556f..6416f5ed47 --- a/packages/resources/scripts/aws-cdk-version-check.js +++ b/packages/resources/bin/aws-cdk-version-check.js @@ -1,3 +1,5 @@ +#!/usr/bin/env node + /** * Keep the AWS CDK version in sync with the forked version we are using in * @serverless-stack/core. Can cause unexpected issues if out of sync. diff --git a/packages/resources/package.json b/packages/resources/package.json index 50801e5afc..31cad64494 100644 --- a/packages/resources/package.json +++ b/packages/resources/package.json @@ -9,7 +9,7 @@ "watch": "tsc --watch --rootDir src --outDir dist", "build": "tsc --rootDir src --outDir dist && cd lambda/stub && yarn", "clean": "rm -rf dist", - "prepare": "node scripts/aws-cdk-version-check.js && npm run build" + "prepare": "./bin/aws-cdk-version-check.js && npm run build" }, "author": { "name": "Anomaly Innovations", From 85a4ac75d017c45d678eae87463cc909fc7baffb Mon Sep 17 00:00:00 2001 From: Frank Date: Wed, 25 Nov 2020 16:09:11 -0500 Subject: [PATCH 012/123] sst start: clean up test app --- packages/cli/assets/lambda-invoke/bootstrap.js | 3 ++- packages/cli/test/start/lib/index.js | 17 ++++++++--------- .../cli/test/start/src/{hello.js => api.js} | 13 +++---------- packages/cli/test/start/src/sns.js | 4 ++-- 4 files changed, 15 insertions(+), 22 deletions(-) rename packages/cli/test/start/src/{hello.js => api.js} (61%) diff --git a/packages/cli/assets/lambda-invoke/bootstrap.js b/packages/cli/assets/lambda-invoke/bootstrap.js index 07dfdadf8a..99a3a0c4a0 100644 --- a/packages/cli/assets/lambda-invoke/bootstrap.js +++ b/packages/cli/assets/lambda-invoke/bootstrap.js @@ -95,7 +95,8 @@ function getHandler() { result.then(resolve, reject); } // returned a non-Promise - // ie. the handler function is not async, and the user returned instead of calling the callback + // ie. The handler function is not async, and the user returned instead of calling + // the callback. Lambda would return a null response, we need to return the same. else { return resolve(null); } diff --git a/packages/cli/test/start/lib/index.js b/packages/cli/test/start/lib/index.js index 230a536d00..bfab1beb2f 100644 --- a/packages/cli/test/start/lib/index.js +++ b/packages/cli/test/start/lib/index.js @@ -10,32 +10,31 @@ class MySampleStack extends sst.Stack { constructor(scope, id, props) { super(scope, id, props); - const { stage, name } = this.node.root; - + // Create an SNS topic const topic = new sns.Topic(this, "MyTopic", { displayName: "Customer subscription topic", }); + + // Create a Lambda function subscribed to the topic const snsFunc = new sst.Function(this, "MySnsLambda", { code: lambda.Code.fromAsset("src"), handler: "sns.handler", - timeout: cdk.Duration.seconds(6), runtime: lambda.Runtime.NODEJS_12_X, - memorySize: 1024, }); topic.addSubscription(new subscriptions.LambdaSubscription(snsFunc)); + // Create a Lambda function triggered by the HTTP API const apiFunc = new sst.Function(this, "MyApiLambda", { code: lambda.Code.fromAsset("src"), - handler: "hello.handler", - timeout: cdk.Duration.seconds(6), + handler: "api.handler", runtime: lambda.Runtime.NODEJS_12_X, - memorySize: 1024, environment: { - DRINK: "COFFEE", TOPIC_ARN: topic.topicArn, }, }); topic.grantPublish(apiFunc); + + // Create the HTTP API const api = new apig.HttpApi(this, "Api"); api.addRoutes({ integration: new apigIntegrations.LambdaProxyIntegration({ @@ -45,8 +44,8 @@ class MySampleStack extends sst.Stack { path: "/", }); + // Show API endpoint in output new cdk.CfnOutput(this, "ApiEndpoint", { - exportName: `${stage}-${name}-ApiEndpoint`, value: api.apiEndpoint, }); } diff --git a/packages/cli/test/start/src/hello.js b/packages/cli/test/start/src/api.js similarity index 61% rename from packages/cli/test/start/src/hello.js rename to packages/cli/test/start/src/api.js index 5fb3f8a757..f67a0355aa 100644 --- a/packages/cli/test/start/src/hello.js +++ b/packages/cli/test/start/src/api.js @@ -1,12 +1,7 @@ -setTimeout(() => console.log("still here"), 3000); - const AWS = require("aws-sdk"); -AWS.config.logger = console; const sns = new AWS.SNS(); -exports.handler = async function (event, context, callback) { - context.callbackWaitsForEmptyEventLoop = false; - +exports.handler = async function (event) { console.log("Calling from inside the api function"); await sns @@ -17,11 +12,9 @@ exports.handler = async function (event, context, callback) { }) .promise(); - //setTimeout(() => { - callback(null, { + return { statusCode: 200, headers: { "Content-Type": "text/plain" }, body: "New World with event: " + JSON.stringify(event), - }); - //}, 2000); + }; }; diff --git a/packages/cli/test/start/src/sns.js b/packages/cli/test/start/src/sns.js index ac3be2a757..4bb0a03882 100644 --- a/packages/cli/test/start/src/sns.js +++ b/packages/cli/test/start/src/sns.js @@ -1,4 +1,4 @@ -exports.handler = function (event, context, callback) { +exports.handler = async function () { console.log("Calling from inside the sns function"); - callback(null, { status: "real" }); + return { status: true }; }; From b81c718813da3f73a8f92b52932edbe5c0d96cae Mon Sep 17 00:00:00 2001 From: Jay Date: Wed, 25 Nov 2020 16:28:39 -0500 Subject: [PATCH 013/123] Formatting test app for start --- packages/cli/test/start/lib/index.js | 9 +++++---- packages/cli/test/start/src/api.js | 10 ++++++---- packages/cli/test/start/src/sns.js | 6 ++++-- 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/packages/cli/test/start/lib/index.js b/packages/cli/test/start/lib/index.js index bfab1beb2f..e8f5d630d0 100644 --- a/packages/cli/test/start/lib/index.js +++ b/packages/cli/test/start/lib/index.js @@ -1,11 +1,12 @@ -import * as sst from "@serverless-stack/resources"; import * as cdk from "@aws-cdk/core"; -import * as lambda from "@aws-cdk/aws-lambda"; import * as sns from "@aws-cdk/aws-sns"; -import * as subscriptions from "@aws-cdk/aws-sns-subscriptions"; +import * as lambda from "@aws-cdk/aws-lambda"; import * as apig from "@aws-cdk/aws-apigatewayv2"; +import * as subscriptions from "@aws-cdk/aws-sns-subscriptions"; import * as apigIntegrations from "@aws-cdk/aws-apigatewayv2-integrations"; +import * as sst from "@serverless-stack/resources"; + class MySampleStack extends sst.Stack { constructor(scope, id, props) { super(scope, id, props); @@ -23,7 +24,7 @@ class MySampleStack extends sst.Stack { }); topic.addSubscription(new subscriptions.LambdaSubscription(snsFunc)); - // Create a Lambda function triggered by the HTTP API + // Create a Lambda function triggered by an HTTP API const apiFunc = new sst.Function(this, "MyApiLambda", { code: lambda.Code.fromAsset("src"), handler: "api.handler", diff --git a/packages/cli/test/start/src/api.js b/packages/cli/test/start/src/api.js index f67a0355aa..a8202643f5 100644 --- a/packages/cli/test/start/src/api.js +++ b/packages/cli/test/start/src/api.js @@ -2,19 +2,21 @@ const AWS = require("aws-sdk"); const sns = new AWS.SNS(); exports.handler = async function (event) { - console.log("Calling from inside the api function"); + console.log( + `Logging from inside the API Lambda for route: ${event.routeKey}` + ); await sns .publish({ - TopicArn: process.env.TOPIC_ARN, - Message: JSON.stringify({ abc: 123 }), MessageStructure: "string", + TopicArn: process.env.TOPIC_ARN, + Message: "Hello from the API Lambda", }) .promise(); return { statusCode: 200, + body: "Hello World", headers: { "Content-Type": "text/plain" }, - body: "New World with event: " + JSON.stringify(event), }; }; diff --git a/packages/cli/test/start/src/sns.js b/packages/cli/test/start/src/sns.js index 4bb0a03882..ff1e8beb91 100644 --- a/packages/cli/test/start/src/sns.js +++ b/packages/cli/test/start/src/sns.js @@ -1,4 +1,6 @@ -exports.handler = async function () { - console.log("Calling from inside the sns function"); +exports.handler = async function (event) { + console.log( + `Logging from inside the SNS Lambda with event message: "${event.Records[0].Sns.Message}"` + ); return { status: true }; }; From 030d832841d6faafa15701f926b2a04442a703da Mon Sep 17 00:00:00 2001 From: Frank Date: Wed, 25 Nov 2020 16:45:51 -0500 Subject: [PATCH 014/123] sst start: pretty format event source --- packages/cli/scripts/start.js | 33 ++++++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/packages/cli/scripts/start.js b/packages/cli/scripts/start.js index ff6461949c..3e7cde1525 100644 --- a/packages/cli/scripts/start.js +++ b/packages/cli/scripts/start.js @@ -114,9 +114,17 @@ function onMessage(message) { debugSrcHandler, } = data; + // Print request info logger.log( - chalk.grey(`${debugRequestId} REQUEST ${JSON.stringify(event, null, 4)}`) + chalk.grey( + `${debugRequestId} REQUEST ${ + env.AWS_LAMBDA_FUNCTION_NAME + } [${debugSrcPath}:${debugSrcHandler}] invoked by ${parseEventSource( + event + )}` + ) ); + logger.debug(chalk.grey(JSON.stringify(event))); // From Lambda /var/runtime/bootstrap // https://link.medium.com/7ir11kKjwbb @@ -147,8 +155,23 @@ function onMessage(message) { ); const timer = setTimer(lambda, handleResponse, debugRequestTimeoutInMs); + function parseEventSource(event) { + // SNS + if ( + event.Records && + event.Records.length > 0 && + event.Records.EventSource === "aws:sns" + ) { + // TopicArn: arn:aws:sns:us-east-1:123456789012:ExampleTopic + return event.Records.length === 1 + ? `SNS ${event.Records[0].Sns.TopicArn.split(":").pop()}` + : `SNS ${event.Records.length} records`; + } else { + return "an event"; + } + } + function handleResponse(response) { - console.log(response); switch (response.type) { case "success": case "failure": @@ -172,11 +195,7 @@ function onMessage(message) { if (lambdaResponse.type === "success") { logger.log( chalk.grey( - `${debugRequestId} RESPONSE ${JSON.stringify( - lambdaResponse.data, - null, - 4 - )}` + `${debugRequestId} RESPONSE ${JSON.stringify(lambdaResponse.data)}` ) ); } else if (lambdaResponse.type === "failure") { From 8b4e487272b4c100309d17714aac62b39fe98cac Mon Sep 17 00:00:00 2001 From: Jay Date: Wed, 25 Nov 2020 16:46:14 -0500 Subject: [PATCH 015/123] Tweaking copy for start command --- packages/cli/scripts/start.js | 40 +++++++++++++++-------------------- 1 file changed, 17 insertions(+), 23 deletions(-) diff --git a/packages/cli/scripts/start.js b/packages/cli/scripts/start.js index ff6461949c..925a9a1f20 100644 --- a/packages/cli/scripts/start.js +++ b/packages/cli/scripts/start.js @@ -28,7 +28,7 @@ function setTimer(lambda, handleResponse, timeoutInMs) { process.kill(lambda.pid, "SIGKILL"); } catch (e) { logger.log(e); - logger.log("Cannot kill timed out Lambda"); + logger.error("Cannot kill timed out Lambda"); } }, timeoutInMs); } @@ -38,15 +38,15 @@ function startClient(debugEndpoint) { ws.on("open", () => { ws.send(JSON.stringify({ action: "connectClient" })); - logger.debug("websocket opened"); + logger.debug("WebSocket opened"); }); ws.on("close", (code, reason) => { - logger.debug("websocket closed"); - logger.log("Debug session closed.", { code, reason }); + logger.debug("Websocket closed"); + logger.log("Debug session closed", { code, reason }); // Case: disconnected due to new client connected => do not reconnect - // Case: disconnected due to 10min idle or 2hr websocket connection limit => reconnect + // Case: disconnected due to 10min idle or 2hr WebSocket connection limit => reconnect if (code !== WEBSOCKET_CLOSE_CODE.NEW_CLIENT_CONNECTED) { logger.log("Debug session reconnecting..."); startClient(debugEndpoint); @@ -54,48 +54,42 @@ function startClient(debugEndpoint) { }); ws.on("error", (e) => { - logger.debug(`websocket error: ${e}`); - logger.log(`Debug session error: ${e}`); + logger.debug(`WebSocket error: ${e}`); + logger.error(`Debug session error: ${e}`); }); ws.on("message", onMessage); } function onMessage(message) { - logger.debug(`message received: ${message}`); + logger.debug(`Message received: ${message}`); const data = JSON.parse(message); // Handle actions if (data.action === "clientConnected") { logger.log("Debug session started. Listening for requests..."); - logger.debug(`client connection id: ${data.clientConnectionId}`); + logger.debug(`Client connection id: ${data.clientConnectionId}`); return; } if (data.action === "clientDisconnectedDueToNewClient") { - logger.log( + logger.warn( "A new debug session has been started. This session will be closed..." ); ws.close(WEBSOCKET_CLOSE_CODE.NEW_CLIENT_CONNECTED); return; } if (data.action === "failedToSendResponseDueToStubDisconnected") { - logger.log( - chalk.grey( - `${debugRequestId} ${chalk.red( - "ERROR" - )} Failed to send response because the Lambda function is not disconnected.` - ) + logger.error( + chalk.grey(debugRequestId) + + " Failed to send response because the Lambda function is not disconnected" ); return; } if (data.action === "failedToSendResponseDueToUnknown") { - logger.log( - chalk.grey( - `${debugRequestId} ${chalk.red( - "ERROR" - )} Failed to send response to the Lambda function.` - ) + logger.error( + chalk.grey(debugRequestId) + + " Failed to send response to the Lambda function" ); return; } @@ -228,7 +222,7 @@ module.exports = async function (argv, cliInfo) { // Note: Restore working directory process.chdir(paths.appPath); - // Get websocket endpoint + // Get WebSocket endpoint if ( !debugStackRet || !debugStackRet.outputs || From b49471b7faab825aab07453d8596f7a8debfddd0 Mon Sep 17 00:00:00 2001 From: Frank Date: Wed, 25 Nov 2020 21:29:45 -0500 Subject: [PATCH 016/123] sst start: update event source --- packages/cli/lib/array.js | 12 ++++++ packages/cli/scripts/start.js | 70 ++++++++++++++++++++++++++--------- 2 files changed, 65 insertions(+), 17 deletions(-) create mode 100644 packages/cli/lib/array.js diff --git a/packages/cli/lib/array.js b/packages/cli/lib/array.js new file mode 100644 index 0000000000..925cec8fc9 --- /dev/null +++ b/packages/cli/lib/array.js @@ -0,0 +1,12 @@ +export function unique(arr) { + if (arr.length === 0) { + return arr; + } + + const isObjArray = arr[0] instanceof Object; + arr = isObjArray ? arr.map((e) => JSON.stringify(e)) : arr; + + const unique = arr.filter((e, pos) => arr.indexOf(e) === pos); + + return isObjArray ? unique.map((e) => JSON.parse(e)) : unique; +} diff --git a/packages/cli/scripts/start.js b/packages/cli/scripts/start.js index 3e7cde1525..481896ce59 100644 --- a/packages/cli/scripts/start.js +++ b/packages/cli/scripts/start.js @@ -12,6 +12,7 @@ const { applyConfig, deploy: cdkDeploy, } = require("./util/cdkHelpers"); +const array = require("../lib/array"); const logger = require("../lib/logger"); const WEBSOCKET_CLOSE_CODE = { @@ -115,13 +116,12 @@ function onMessage(message) { } = data; // Print request info + const eventSource = parseEventSource(event); + const eventSourceDesc = + eventSource === null ? " invoked" : ` invoked by ${eventSource}`; logger.log( chalk.grey( - `${debugRequestId} REQUEST ${ - env.AWS_LAMBDA_FUNCTION_NAME - } [${debugSrcPath}:${debugSrcHandler}] invoked by ${parseEventSource( - event - )}` + `${debugRequestId} REQUEST ${env.AWS_LAMBDA_FUNCTION_NAME} [${debugSrcPath}:${debugSrcHandler}]${eventSourceDesc}` ) ); logger.debug(chalk.grey(JSON.stringify(event))); @@ -156,19 +156,55 @@ function onMessage(message) { const timer = setTimer(lambda, handleResponse, debugRequestTimeoutInMs); function parseEventSource(event) { - // SNS - if ( - event.Records && - event.Records.length > 0 && - event.Records.EventSource === "aws:sns" - ) { - // TopicArn: arn:aws:sns:us-east-1:123456789012:ExampleTopic - return event.Records.length === 1 - ? `SNS ${event.Records[0].Sns.TopicArn.split(":").pop()}` - : `SNS ${event.Records.length} records`; - } else { - return "an event"; + try { + // HTTP + if ( + ["2.0", "1.0"].includes(event.version) && + event.requestContext.apiId + ) { + return event.version === "1.0" + ? `API ${event.httpMethod} ${event.path}` + : `API ${event.requestContext.http.method} ${event.rawPath}`; + } + + // HTTP Authorizer + if (["TOKEN", "REQUEST"].includes(event.type) && event.methodArn) { + return "API authorizer"; + } + + if (event.Records && event.Records.length > 0) { + // SNS + if (event.Records[0].EventSource === "aws:sns") { + // TopicArn: arn:aws:sns:us-east-1:123456789012:ExampleTopic + const topics = array.unique( + event.Records.map((record) => record.Sns.TopicArn.split(":").pop()) + ); + return topics.length === 1 + ? `SNS topic ${topics[0]}` + : `SNS topics: ${topics.join(", ")}`; + } + // SQS + if (event.Records.EventSource === "aws:sqs") { + // eventSourceARN: arn:aws:sqs:us-east-1:123456789012:MyQueue + const names = array.unique( + event.Records.map((record) => + record.eventSourceARN.split(":").pop() + ) + ); + return names.length === 1 + ? `SQS queue ${names[0]}` + : `SQS queues: ${names.join(", ")}`; + } + // DynamoDB + if (event.Records.EventSource === "aws:dynamodb") { + return "DynamoDB"; + } + } + } catch (e) { + logger.debug(`Failed to parse event source ${e}`); } + + return null; } function handleResponse(response) { From 0686107c3cb7e668552167602f6ea4e7db75ce66 Mon Sep 17 00:00:00 2001 From: Frank Date: Wed, 25 Nov 2020 21:44:59 -0500 Subject: [PATCH 017/123] sst start: update copy --- packages/cli/lib/array.js | 6 +++++- packages/cli/scripts/start.js | 18 +++++++++++++----- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/packages/cli/lib/array.js b/packages/cli/lib/array.js index 925cec8fc9..2a5d591e8c 100644 --- a/packages/cli/lib/array.js +++ b/packages/cli/lib/array.js @@ -1,4 +1,4 @@ -export function unique(arr) { +function unique(arr) { if (arr.length === 0) { return arr; } @@ -10,3 +10,7 @@ export function unique(arr) { return isObjArray ? unique.map((e) => JSON.parse(e)) : unique; } + +module.exports = { + unique, +}; diff --git a/packages/cli/scripts/start.js b/packages/cli/scripts/start.js index 77c115f617..a4403d7ef4 100644 --- a/packages/cli/scripts/start.js +++ b/packages/cli/scripts/start.js @@ -112,10 +112,14 @@ function onMessage(message) { // Print request info const eventSource = parseEventSource(event); const eventSourceDesc = - eventSource === null ? " invoked" : ` invoked by ${eventSource}`; + eventSource === null + ? " invoked" + : ` invoked by ${chalk.cyan(eventSource)}`; logger.log( chalk.grey( - `${debugRequestId} REQUEST ${env.AWS_LAMBDA_FUNCTION_NAME} [${debugSrcPath}:${debugSrcHandler}]${eventSourceDesc}` + `${context.awsRequestId} REQUEST ${chalk.cyan( + env.AWS_LAMBDA_FUNCTION_NAME + )} [${debugSrcPath}/${debugSrcHandler}]${eventSourceDesc}` ) ); logger.debug(chalk.grey(JSON.stringify(event))); @@ -216,7 +220,9 @@ function onMessage(message) { // Handle timeout: do not send a response, let stub timeout if (lambdaResponse.type === "timeout") { logger.log( - chalk.grey(`${debugRequestId} ${chalk.red("ERROR")} Lambda timed out.`) + chalk.grey( + `${context.awsRequestId} ${chalk.red("ERROR")} Lambda timed out.` + ) ); return; } @@ -225,11 +231,13 @@ function onMessage(message) { if (lambdaResponse.type === "success") { logger.log( chalk.grey( - `${debugRequestId} RESPONSE ${JSON.stringify(lambdaResponse.data)}` + `${context.awsRequestId} RESPONSE ${JSON.stringify( + lambdaResponse.data + )}` ) ); } else if (lambdaResponse.type === "failure") { - logger.log(chalk.grey(`${debugRequestId} ${chalk.red("ERROR")}`)); + logger.log(chalk.grey(`${context.awsRequestId} ${chalk.red("ERROR")}`)); console.log(lambdaResponse.error); } ws.send( From 8a9301c95309a59cb6913b515ef4724e185c6f28 Mon Sep 17 00:00:00 2001 From: Jay Date: Wed, 25 Nov 2020 22:03:24 -0500 Subject: [PATCH 018/123] Fixing copy --- packages/cli/scripts/start.js | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/packages/cli/scripts/start.js b/packages/cli/scripts/start.js index a4403d7ef4..c1c15a393d 100644 --- a/packages/cli/scripts/start.js +++ b/packages/cli/scripts/start.js @@ -83,14 +83,14 @@ function onMessage(message) { if (data.action === "failedToSendResponseDueToStubDisconnected") { logger.error( chalk.grey(debugRequestId) + - " Failed to send response because the Lambda function is not disconnected" + " Failed to send a response because the Lambda function is disconnected" ); return; } if (data.action === "failedToSendResponseDueToUnknown") { logger.error( chalk.grey(debugRequestId) + - " Failed to send response to the Lambda function" + " Failed to send a response to the Lambda function" ); return; } @@ -221,7 +221,7 @@ function onMessage(message) { if (lambdaResponse.type === "timeout") { logger.log( chalk.grey( - `${context.awsRequestId} ${chalk.red("ERROR")} Lambda timed out.` + `${context.awsRequestId} ${chalk.red("ERROR")} Lambda timed out` ) ); return; @@ -237,14 +237,15 @@ function onMessage(message) { ) ); } else if (lambdaResponse.type === "failure") { - logger.log(chalk.grey(`${context.awsRequestId} ${chalk.red("ERROR")}`)); - console.log(lambdaResponse.error); + logger.error( + chalk.grey(context.awsRequestId) + ` ${lambdaResponse.error}` + ); } ws.send( JSON.stringify({ - action: "newResponse", debugRequestId, stubConnectionId, + action: "newResponse", responseData: lambdaResponse.data, responseError: lambdaResponse.error, }) From 0a586f786aca7e7d498a80c4dda680159831f959 Mon Sep 17 00:00:00 2001 From: Jay Date: Wed, 25 Nov 2020 22:08:37 -0500 Subject: [PATCH 019/123] v1.0.0-alpha.0 --- lerna.json | 2 +- packages/cli/package.json | 6 +++--- packages/core/package.json | 2 +- packages/create-serverless-stack/package.json | 2 +- packages/resources/package.json | 6 +++--- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/lerna.json b/lerna.json index 722219b6b6..3575b02da4 100644 --- a/lerna.json +++ b/lerna.json @@ -2,5 +2,5 @@ "packages": ["packages/*"], "npmClient": "yarn", "useWorkspaces": true, - "version": "0.4.3" + "version": "1.0.0-alpha.0" } diff --git a/packages/cli/package.json b/packages/cli/package.json index b197654dca..610438b07f 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@serverless-stack/cli", - "version": "0.4.3", + "version": "1.0.0-alpha.0", "description": "A CLI to help deploy Serverless Stack apps.", "scripts": { "prepare": "./bin/sync-cdk-version.js", @@ -46,8 +46,8 @@ "@babel/eslint-plugin": "^7.11.3", "@babel/plugin-proposal-class-properties": "^7.10.4", "@babel/preset-env": "^7.10.4", - "@serverless-stack/core": "^0.4.3", - "@serverless-stack/resources": "^0.4.3", + "@serverless-stack/core": "^1.0.0-alpha.0", + "@serverless-stack/resources": "^1.0.0-alpha.0", "@types/jest": "^26.0.7", "@types/node": "^14.0.27", "@typescript-eslint/eslint-plugin": "^3.9.1", diff --git a/packages/core/package.json b/packages/core/package.json index fa8050bf14..139a69e900 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@serverless-stack/core", - "version": "0.4.3", + "version": "1.0.0-alpha.0", "homepage": "https://serverless-stack.com", "description": "Core of the Serverless Stack Toolkit.", "main": "index.js", diff --git a/packages/create-serverless-stack/package.json b/packages/create-serverless-stack/package.json index 43bf146fef..42df7f66cf 100644 --- a/packages/create-serverless-stack/package.json +++ b/packages/create-serverless-stack/package.json @@ -1,6 +1,6 @@ { "name": "create-serverless-stack", - "version": "0.4.3", + "version": "1.0.0-alpha.0", "homepage": "https://serverless-stack.com", "description": "Create Serverless Stack apps.", "bin": { diff --git a/packages/resources/package.json b/packages/resources/package.json index 31cad64494..fe7d028200 100644 --- a/packages/resources/package.json +++ b/packages/resources/package.json @@ -1,6 +1,6 @@ { "name": "@serverless-stack/resources", - "version": "0.4.3", + "version": "1.0.0-alpha.0", "homepage": "https://serverless-stack.com", "description": "Helper AWS CDK constructs for Serverless Stack apps.", "main": "dist/index.js", @@ -25,9 +25,9 @@ "access": "public" }, "dependencies": { - "@aws-cdk/core": "1.74.0", "@aws-cdk/aws-lambda": "1.74.0", - "@aws-cdk/aws-lambda-nodejs": "1.74.0" + "@aws-cdk/aws-lambda-nodejs": "1.74.0", + "@aws-cdk/core": "1.74.0" }, "devDependencies": { "@types/node": "^14.0.27", From 201ea7a532273a165ed957a43740a60e1c004977 Mon Sep 17 00:00:00 2001 From: Jay Date: Wed, 25 Nov 2020 22:14:38 -0500 Subject: [PATCH 020/123] v1.0.0-alpha.0 --- packages/cli/package.json | 3 ++- packages/core/package.json | 3 ++- packages/create-serverless-stack/package.json | 3 ++- packages/resources/package.json | 3 ++- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/packages/cli/package.json b/packages/cli/package.json index 610438b07f..2cac55271b 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -67,5 +67,6 @@ }, "devDependencies": { "replace-in-file": "^6.1.0" - } + }, + "gitHead": "0a586f786aca7e7d498a80c4dda680159831f959" } diff --git a/packages/core/package.json b/packages/core/package.json index 139a69e900..7d8ca3da83 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -21,5 +21,6 @@ "aws-sdk": "^2.761.0", "chalk": "^4.1.0", "sst-cdk": "1.74.0-rc.6" - } + }, + "gitHead": "0a586f786aca7e7d498a80c4dda680159831f959" } diff --git a/packages/create-serverless-stack/package.json b/packages/create-serverless-stack/package.json index 42df7f66cf..1994533bfe 100644 --- a/packages/create-serverless-stack/package.json +++ b/packages/create-serverless-stack/package.json @@ -27,5 +27,6 @@ "chalk": "^4.1.0", "cross-spawn": "^7.0.3", "yargs": "^15.4.1" - } + }, + "gitHead": "0a586f786aca7e7d498a80c4dda680159831f959" } diff --git a/packages/resources/package.json b/packages/resources/package.json index fe7d028200..935c62e665 100644 --- a/packages/resources/package.json +++ b/packages/resources/package.json @@ -32,5 +32,6 @@ "devDependencies": { "@types/node": "^14.0.27", "typescript": "^3.9.7" - } + }, + "gitHead": "0a586f786aca7e7d498a80c4dda680159831f959" } From cdad0f91a6452ab65ae7a2a2d8ab0464ab3dbd35 Mon Sep 17 00:00:00 2001 From: Jay Date: Wed, 25 Nov 2020 22:16:05 -0500 Subject: [PATCH 021/123] v1.0.0-alpha.1 --- lerna.json | 2 +- packages/cli/package.json | 6 +++--- packages/core/package.json | 2 +- packages/create-serverless-stack/package.json | 2 +- packages/resources/package.json | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/lerna.json b/lerna.json index 3575b02da4..bee8590a6c 100644 --- a/lerna.json +++ b/lerna.json @@ -2,5 +2,5 @@ "packages": ["packages/*"], "npmClient": "yarn", "useWorkspaces": true, - "version": "1.0.0-alpha.0" + "version": "1.0.0-alpha.1" } diff --git a/packages/cli/package.json b/packages/cli/package.json index 2cac55271b..92e6800578 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@serverless-stack/cli", - "version": "1.0.0-alpha.0", + "version": "1.0.0-alpha.1", "description": "A CLI to help deploy Serverless Stack apps.", "scripts": { "prepare": "./bin/sync-cdk-version.js", @@ -46,8 +46,8 @@ "@babel/eslint-plugin": "^7.11.3", "@babel/plugin-proposal-class-properties": "^7.10.4", "@babel/preset-env": "^7.10.4", - "@serverless-stack/core": "^1.0.0-alpha.0", - "@serverless-stack/resources": "^1.0.0-alpha.0", + "@serverless-stack/core": "^1.0.0-alpha.1", + "@serverless-stack/resources": "^1.0.0-alpha.1", "@types/jest": "^26.0.7", "@types/node": "^14.0.27", "@typescript-eslint/eslint-plugin": "^3.9.1", diff --git a/packages/core/package.json b/packages/core/package.json index 7d8ca3da83..5aaeb34fe8 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@serverless-stack/core", - "version": "1.0.0-alpha.0", + "version": "1.0.0-alpha.1", "homepage": "https://serverless-stack.com", "description": "Core of the Serverless Stack Toolkit.", "main": "index.js", diff --git a/packages/create-serverless-stack/package.json b/packages/create-serverless-stack/package.json index 1994533bfe..b7fb30260e 100644 --- a/packages/create-serverless-stack/package.json +++ b/packages/create-serverless-stack/package.json @@ -1,6 +1,6 @@ { "name": "create-serverless-stack", - "version": "1.0.0-alpha.0", + "version": "1.0.0-alpha.1", "homepage": "https://serverless-stack.com", "description": "Create Serverless Stack apps.", "bin": { diff --git a/packages/resources/package.json b/packages/resources/package.json index 935c62e665..7ee0daaf2e 100644 --- a/packages/resources/package.json +++ b/packages/resources/package.json @@ -1,6 +1,6 @@ { "name": "@serverless-stack/resources", - "version": "1.0.0-alpha.0", + "version": "1.0.0-alpha.1", "homepage": "https://serverless-stack.com", "description": "Helper AWS CDK constructs for Serverless Stack apps.", "main": "dist/index.js", From 418710f046b71e6d12740dd990f2244416f2c769 Mon Sep 17 00:00:00 2001 From: Frank Date: Wed, 25 Nov 2020 23:14:44 -0500 Subject: [PATCH 022/123] sst start: generate stub.zip and store in dist folder --- packages/resources/package.json | 2 +- packages/resources/src/Function.ts | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/resources/package.json b/packages/resources/package.json index 31cad64494..cce3656605 100644 --- a/packages/resources/package.json +++ b/packages/resources/package.json @@ -7,7 +7,7 @@ "types": "dist/index.d.ts", "scripts": { "watch": "tsc --watch --rootDir src --outDir dist", - "build": "tsc --rootDir src --outDir dist && cd lambda/stub && yarn", + "build": "tsc --rootDir src --outDir dist && cd lambda/stub && yarn && zip -r ../../dist/stub.zip .", "clean": "rm -rf dist", "prepare": "./bin/aws-cdk-version-check.js && npm run build" }, diff --git a/packages/resources/src/Function.ts b/packages/resources/src/Function.ts index 9647296e6b..1c5000b07f 100644 --- a/packages/resources/src/Function.ts +++ b/packages/resources/src/Function.ts @@ -34,7 +34,9 @@ export class Function extends lambda.Function { if (root.local) { super(scope, id, { ...props, - code: lambda.Code.fromAsset(path.resolve(__dirname, "../lambda/stub")), + code: lambda.Code.fromAsset( + path.resolve(__dirname, "../dist/stub.zip") + ), handler: "index.main", environment: { ...(props.environment || {}), From 176300145739e5f3b593b65fc854a4dbbb9cb85d Mon Sep 17 00:00:00 2001 From: Jay Date: Wed, 25 Nov 2020 23:20:30 -0500 Subject: [PATCH 023/123] v1.0.0-alpha.2 --- lerna.json | 2 +- packages/cli/package.json | 6 +++--- packages/core/package.json | 2 +- packages/create-serverless-stack/package.json | 2 +- packages/resources/package.json | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/lerna.json b/lerna.json index bee8590a6c..38c134e0fa 100644 --- a/lerna.json +++ b/lerna.json @@ -2,5 +2,5 @@ "packages": ["packages/*"], "npmClient": "yarn", "useWorkspaces": true, - "version": "1.0.0-alpha.1" + "version": "1.0.0-alpha.2" } diff --git a/packages/cli/package.json b/packages/cli/package.json index 92e6800578..ee65735902 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@serverless-stack/cli", - "version": "1.0.0-alpha.1", + "version": "1.0.0-alpha.2", "description": "A CLI to help deploy Serverless Stack apps.", "scripts": { "prepare": "./bin/sync-cdk-version.js", @@ -46,8 +46,8 @@ "@babel/eslint-plugin": "^7.11.3", "@babel/plugin-proposal-class-properties": "^7.10.4", "@babel/preset-env": "^7.10.4", - "@serverless-stack/core": "^1.0.0-alpha.1", - "@serverless-stack/resources": "^1.0.0-alpha.1", + "@serverless-stack/core": "^1.0.0-alpha.2", + "@serverless-stack/resources": "^1.0.0-alpha.2", "@types/jest": "^26.0.7", "@types/node": "^14.0.27", "@typescript-eslint/eslint-plugin": "^3.9.1", diff --git a/packages/core/package.json b/packages/core/package.json index 5aaeb34fe8..dc11c4027e 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@serverless-stack/core", - "version": "1.0.0-alpha.1", + "version": "1.0.0-alpha.2", "homepage": "https://serverless-stack.com", "description": "Core of the Serverless Stack Toolkit.", "main": "index.js", diff --git a/packages/create-serverless-stack/package.json b/packages/create-serverless-stack/package.json index b7fb30260e..906b53a461 100644 --- a/packages/create-serverless-stack/package.json +++ b/packages/create-serverless-stack/package.json @@ -1,6 +1,6 @@ { "name": "create-serverless-stack", - "version": "1.0.0-alpha.1", + "version": "1.0.0-alpha.2", "homepage": "https://serverless-stack.com", "description": "Create Serverless Stack apps.", "bin": { diff --git a/packages/resources/package.json b/packages/resources/package.json index d839507533..be4ea559f4 100644 --- a/packages/resources/package.json +++ b/packages/resources/package.json @@ -1,6 +1,6 @@ { "name": "@serverless-stack/resources", - "version": "1.0.0-alpha.1", + "version": "1.0.0-alpha.2", "homepage": "https://serverless-stack.com", "description": "Helper AWS CDK constructs for Serverless Stack apps.", "main": "dist/index.js", From 8389a0808bf21b0b685c3959dc39aec2281d085f Mon Sep 17 00:00:00 2001 From: Jay Date: Wed, 25 Nov 2020 23:22:39 -0500 Subject: [PATCH 024/123] Fixing cdk versions script --- packages/cli/bin/sync-cdk-version.js | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/packages/cli/bin/sync-cdk-version.js b/packages/cli/bin/sync-cdk-version.js index 378504351c..1127c2d898 100755 --- a/packages/cli/bin/sync-cdk-version.js +++ b/packages/cli/bin/sync-cdk-version.js @@ -9,16 +9,14 @@ const path = require("path"); const replace = require("replace-in-file"); -const sstCdkVersion = require(path.join( - __dirname, - "../../../core/package.json" -)).dependencies["sst-cdk"]; +const sstCdkVersion = require(path.join(__dirname, "../../core/package.json")) + .dependencies["sst-cdk"]; const cdkVersion = sstCdkVersion.match(/^(\d+\.\d+.\d+)/)[1]; /** * Check for cdk command */ -const packageJson = require(path.join(__dirname, "../../package.json")); +const packageJson = require(path.join(__dirname, "../package.json")); if (packageJson.dependencies["aws-cdk"] !== cdkVersion) { console.log( From fe1437a252ba94a1b3cadb5dfaf7c7f9add60663 Mon Sep 17 00:00:00 2001 From: Jay Date: Fri, 4 Dec 2020 14:18:37 -0500 Subject: [PATCH 025/123] Using CLI args instead of environment variables to handle Windows --- packages/cli/assets/debug-stack/bin/index.js | 6 +++--- packages/cli/scripts/start.js | 8 ++------ 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/packages/cli/assets/debug-stack/bin/index.js b/packages/cli/assets/debug-stack/bin/index.js index 0458ba0192..13e06d174a 100644 --- a/packages/cli/assets/debug-stack/bin/index.js +++ b/packages/cli/assets/debug-stack/bin/index.js @@ -3,9 +3,9 @@ const cdk = require("@aws-cdk/core"); const { DebugStack } = require("../lib/DebugStack"); -const stage = process.env.SST_DEBUG_STAGE; -const region = process.env.SST_DEBUG_REGION; -const stackName = process.env.SST_DEBUG_STACK; +const stage = process.argv[3]; +const region = process.argv[4]; +const stackName = process.argv[2]; const app = new cdk.App(); diff --git a/packages/cli/scripts/start.js b/packages/cli/scripts/start.js index c1c15a393d..153a5e7720 100644 --- a/packages/cli/scripts/start.js +++ b/packages/cli/scripts/start.js @@ -269,18 +269,14 @@ module.exports = async function (argv, cliInfo) { logger.log(" Deploying debug stack"); logger.log("======================="); logger.log(""); - const debugAppEnvs = [ - `SST_DEBUG_STACK=${stackName}`, - `SST_DEBUG_STAGE=${config.stage}`, - `SST_DEBUG_REGION=${config.region}`, - ]; + const debugAppArgs = [stackName, config.stage, config.region]; // Note: When deploying the debug stack, the current working directory is user's app. // Setting the current working directory to debug stack cdk app directory to allow // Lambda Function construct be able to reference code with relative path. process.chdir(path.join(paths.ownPath, "assets", "debug-stack")); const debugStackRet = await cdkDeploy({ ...cliInfo.cdkOptions, - app: `${debugAppEnvs.join(" ")} node bin/index.js`, + app: `node bin/index.js ${debugAppArgs.join(" ")}`, output: "cdk.out", }); // Note: Restore working directory From 002a0b16f0ef2a051c39a1323f4d82595a8927e8 Mon Sep 17 00:00:00 2001 From: Jay Date: Fri, 4 Dec 2020 14:20:03 -0500 Subject: [PATCH 026/123] v1.0.0-alpha.3 --- lerna.json | 2 +- packages/cli/package.json | 6 +++--- packages/core/package.json | 2 +- packages/create-serverless-stack/package.json | 2 +- packages/resources/package.json | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/lerna.json b/lerna.json index 38c134e0fa..97119db9a0 100644 --- a/lerna.json +++ b/lerna.json @@ -2,5 +2,5 @@ "packages": ["packages/*"], "npmClient": "yarn", "useWorkspaces": true, - "version": "1.0.0-alpha.2" + "version": "1.0.0-alpha.3" } diff --git a/packages/cli/package.json b/packages/cli/package.json index ee65735902..6ca56ee970 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@serverless-stack/cli", - "version": "1.0.0-alpha.2", + "version": "1.0.0-alpha.3", "description": "A CLI to help deploy Serverless Stack apps.", "scripts": { "prepare": "./bin/sync-cdk-version.js", @@ -46,8 +46,8 @@ "@babel/eslint-plugin": "^7.11.3", "@babel/plugin-proposal-class-properties": "^7.10.4", "@babel/preset-env": "^7.10.4", - "@serverless-stack/core": "^1.0.0-alpha.2", - "@serverless-stack/resources": "^1.0.0-alpha.2", + "@serverless-stack/core": "^1.0.0-alpha.3", + "@serverless-stack/resources": "^1.0.0-alpha.3", "@types/jest": "^26.0.7", "@types/node": "^14.0.27", "@typescript-eslint/eslint-plugin": "^3.9.1", diff --git a/packages/core/package.json b/packages/core/package.json index dc11c4027e..917b83aebb 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@serverless-stack/core", - "version": "1.0.0-alpha.2", + "version": "1.0.0-alpha.3", "homepage": "https://serverless-stack.com", "description": "Core of the Serverless Stack Toolkit.", "main": "index.js", diff --git a/packages/create-serverless-stack/package.json b/packages/create-serverless-stack/package.json index 906b53a461..4efb18905a 100644 --- a/packages/create-serverless-stack/package.json +++ b/packages/create-serverless-stack/package.json @@ -1,6 +1,6 @@ { "name": "create-serverless-stack", - "version": "1.0.0-alpha.2", + "version": "1.0.0-alpha.3", "homepage": "https://serverless-stack.com", "description": "Create Serverless Stack apps.", "bin": { diff --git a/packages/resources/package.json b/packages/resources/package.json index be4ea559f4..6d825a192f 100644 --- a/packages/resources/package.json +++ b/packages/resources/package.json @@ -1,6 +1,6 @@ { "name": "@serverless-stack/resources", - "version": "1.0.0-alpha.2", + "version": "1.0.0-alpha.3", "homepage": "https://serverless-stack.com", "description": "Helper AWS CDK constructs for Serverless Stack apps.", "main": "dist/index.js", From 60e2184f8e67d179c99a0f39cd40326d985189bf Mon Sep 17 00:00:00 2001 From: Jay Date: Mon, 21 Dec 2020 20:45:18 -0500 Subject: [PATCH 027/123] Updating cdk version sync scripts --- package.json | 2 +- packages/cli/bin/sync-cdk-version.js | 42 ++++++++++++++++++++++--- packages/cli/scripts/util/cdkHelpers.js | 6 ++-- 3 files changed, 41 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index ab7139a723..bb9c1f17fe 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "lint": "eslint . --fix --ext .js,.ts", "npm-publish": "lerna publish --force-publish", "clean": "lerna run clean", - "postinstall": "lerna run prepare --scope='{@serverless-stack/resources,create-serverless-stack}'", + "postinstall": "lerna run prepare --scope='{@serverless-stack/resources,@serverless-stack/cli,create-serverless-stack}'", "test": "lerna run test --stream --scope=@serverless-stack/cli" }, "devDependencies": { diff --git a/packages/cli/bin/sync-cdk-version.js b/packages/cli/bin/sync-cdk-version.js index 1127c2d898..a0cacaa259 100755 --- a/packages/cli/bin/sync-cdk-version.js +++ b/packages/cli/bin/sync-cdk-version.js @@ -18,19 +18,35 @@ const cdkVersion = sstCdkVersion.match(/^(\d+\.\d+.\d+)/)[1]; */ const packageJson = require(path.join(__dirname, "../package.json")); -if (packageJson.dependencies["aws-cdk"] !== cdkVersion) { +const mismatchedDeps = filterMismatchedVersion( + packageJson.dependencies, + cdkVersion +); +const mismatchedDevDeps = filterMismatchedVersion( + packageJson.devDependencies, + cdkVersion +); + +if (mismatchedDeps.length !== 0 || mismatchedDevDeps.length !== 0) { console.log( - "\n❌ aws-cdk version in @serverless-stack/cli is not in sync with @serverless-stack/core. Fix using:\n" + "\n❌ AWS CDK packages in @serverless-stack/cli are not in sync with @serverless-stack/core. Fix using:\n" ); - console.log(` yarn add --exact aws-cdk@${cdkVersion}`); - console.log(""); + if (mismatchedDeps.length > 0) { + const depString = formatDepsForInstall(mismatchedDeps, cdkVersion); + console.log(` yarn add ${depString} --exact`); + } + if (mismatchedDevDeps.length > 0) { + const devDepString = formatDepsForInstall(mismatchedDevDeps, cdkVersion); + console.log(` yarn add ${devDepString} --dev --exact`); + } + console.log(""); process.exit(1); } console.log( - "✅ aws-cdk version in @serverless-stack/cli is in sync with @serverless-stack/core" + "✅ AWS CDK packages in @serverless-stack/cli are in sync with @serverless-stack/core" ); /** @@ -56,3 +72,19 @@ try { } catch (error) { console.error("Error occurred:", error); } + +function filterMismatchedVersion(deps, version) { + const mismatched = []; + + for (let dep in deps) { + if (/^@?aws-cdk/.test(dep) && deps[dep] !== version) { + mismatched.push(dep); + } + } + + return mismatched; +} + +function formatDepsForInstall(depsList, version) { + return depsList.map((dep) => `${dep}@${version}`).join(" "); +} diff --git a/packages/cli/scripts/util/cdkHelpers.js b/packages/cli/scripts/util/cdkHelpers.js index 3f03afa2b0..fed238b398 100644 --- a/packages/cli/scripts/util/cdkHelpers.js +++ b/packages/cli/scripts/util/cdkHelpers.js @@ -103,11 +103,11 @@ function runCdkVersionMatch(cliInfo) { ); } if (mismatchedDevDeps.length > 0) { - const depString = formatDepsForInstall(mismatchedDevDeps, cdkVersion); + const devDepString = formatDepsForInstall(mismatchedDevDeps, cdkVersion); logger.log( usingYarn - ? ` yarn add ${depString} --dev --exact` - : ` npm install ${depString} --save-dev --save-exact` + ? ` yarn add ${devDepString} --dev --exact` + : ` npm install ${devDepString} --save-dev --save-exact` ); } From 456de36e57766ef22ba2ef22859fad0e076a9fed Mon Sep 17 00:00:00 2001 From: Jay Date: Mon, 21 Dec 2020 21:24:11 -0500 Subject: [PATCH 028/123] Setting the region in the debug stack --- packages/cli/assets/debug-stack/bin/index.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/cli/assets/debug-stack/bin/index.js b/packages/cli/assets/debug-stack/bin/index.js index 13e06d174a..f46e41a008 100644 --- a/packages/cli/assets/debug-stack/bin/index.js +++ b/packages/cli/assets/debug-stack/bin/index.js @@ -7,6 +7,9 @@ const stage = process.argv[3]; const region = process.argv[4]; const stackName = process.argv[2]; +// Override default region +const env = { account: process.env.CDK_DEFAULT_ACCOUNT, region }; + const app = new cdk.App(); -new DebugStack(app, stackName, { stage, stackName, region }); +new DebugStack(app, stackName, { env, stage, stackName, region }); From ec14ec90e541e369091c6c0ce372cc8298ac7e24 Mon Sep 17 00:00:00 2001 From: Jay Date: Mon, 21 Dec 2020 21:29:52 -0500 Subject: [PATCH 029/123] v1.0.0-alpha.4 --- lerna.json | 2 +- packages/cli/package.json | 6 +++--- packages/core/package.json | 2 +- packages/create-serverless-stack/package.json | 2 +- packages/resources/package.json | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/lerna.json b/lerna.json index 97119db9a0..8a9983533a 100644 --- a/lerna.json +++ b/lerna.json @@ -2,5 +2,5 @@ "packages": ["packages/*"], "npmClient": "yarn", "useWorkspaces": true, - "version": "1.0.0-alpha.3" + "version": "1.0.0-alpha.4" } diff --git a/packages/cli/package.json b/packages/cli/package.json index 6ca56ee970..e06dab53ce 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@serverless-stack/cli", - "version": "1.0.0-alpha.3", + "version": "1.0.0-alpha.4", "description": "A CLI to help deploy Serverless Stack apps.", "scripts": { "prepare": "./bin/sync-cdk-version.js", @@ -46,8 +46,8 @@ "@babel/eslint-plugin": "^7.11.3", "@babel/plugin-proposal-class-properties": "^7.10.4", "@babel/preset-env": "^7.10.4", - "@serverless-stack/core": "^1.0.0-alpha.3", - "@serverless-stack/resources": "^1.0.0-alpha.3", + "@serverless-stack/core": "^1.0.0-alpha.4", + "@serverless-stack/resources": "^1.0.0-alpha.4", "@types/jest": "^26.0.7", "@types/node": "^14.0.27", "@typescript-eslint/eslint-plugin": "^3.9.1", diff --git a/packages/core/package.json b/packages/core/package.json index 917b83aebb..bdc7f84cb9 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@serverless-stack/core", - "version": "1.0.0-alpha.3", + "version": "1.0.0-alpha.4", "homepage": "https://serverless-stack.com", "description": "Core of the Serverless Stack Toolkit.", "main": "index.js", diff --git a/packages/create-serverless-stack/package.json b/packages/create-serverless-stack/package.json index 4efb18905a..a2da973e53 100644 --- a/packages/create-serverless-stack/package.json +++ b/packages/create-serverless-stack/package.json @@ -1,6 +1,6 @@ { "name": "create-serverless-stack", - "version": "1.0.0-alpha.3", + "version": "1.0.0-alpha.4", "homepage": "https://serverless-stack.com", "description": "Create Serverless Stack apps.", "bin": { diff --git a/packages/resources/package.json b/packages/resources/package.json index 6d825a192f..abeb2be0fc 100644 --- a/packages/resources/package.json +++ b/packages/resources/package.json @@ -1,6 +1,6 @@ { "name": "@serverless-stack/resources", - "version": "1.0.0-alpha.3", + "version": "1.0.0-alpha.4", "homepage": "https://serverless-stack.com", "description": "Helper AWS CDK constructs for Serverless Stack apps.", "main": "dist/index.js", From dc2577acd7fd031c3947fc9e225792849c2df65c Mon Sep 17 00:00:00 2001 From: Jay Date: Mon, 21 Dec 2020 21:43:53 -0500 Subject: [PATCH 030/123] Fixing remove command --- packages/cli/scripts/remove.js | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/packages/cli/scripts/remove.js b/packages/cli/scripts/remove.js index dcedfcb056..9ac5e9f6f4 100644 --- a/packages/cli/scripts/remove.js +++ b/packages/cli/scripts/remove.js @@ -15,18 +15,14 @@ module.exports = async function (argv, config, cliInfo) { // Remove debug stack // //////////////////////// logger.log(chalk.grey("Removing " + stackName + " stack")); - const debugAppEnvs = [ - `SST_DEBUG_STACK=${stackName}`, - `SST_DEBUG_STAGE=${config.stage}`, - `SST_DEBUG_REGION=${config.region}`, - ]; + const debugAppArgs = [stackName, config.stage, config.region]; // Note: When deploying the debug stack, the current working directory is user's app. // Setting the current working directory to debug stack cdk app directory to allow // Lambda Function construct be able to reference code with relative path. process.chdir(path.join(paths.ownPath, "assets", "debug-stack")); await cdkDestroy({ ...cliInfo.cdkOptions, - app: `${debugAppEnvs.join(" ")} node bin/index.js`, + app: `node bin/index.js ${debugAppArgs.join(" ")}`, output: "cdk.out", }); // Note: Restore working directory From 792283fee95a81ea27494e22b8cdbbf81314b74a Mon Sep 17 00:00:00 2001 From: Jay Date: Mon, 21 Dec 2020 21:44:14 -0500 Subject: [PATCH 031/123] v1.0.0-alpha.5 --- lerna.json | 2 +- packages/cli/package.json | 6 +++--- packages/core/package.json | 2 +- packages/create-serverless-stack/package.json | 2 +- packages/resources/package.json | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/lerna.json b/lerna.json index 8a9983533a..0e6c64f5de 100644 --- a/lerna.json +++ b/lerna.json @@ -2,5 +2,5 @@ "packages": ["packages/*"], "npmClient": "yarn", "useWorkspaces": true, - "version": "1.0.0-alpha.4" + "version": "1.0.0-alpha.5" } diff --git a/packages/cli/package.json b/packages/cli/package.json index e06dab53ce..dfb8042106 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@serverless-stack/cli", - "version": "1.0.0-alpha.4", + "version": "1.0.0-alpha.5", "description": "A CLI to help deploy Serverless Stack apps.", "scripts": { "prepare": "./bin/sync-cdk-version.js", @@ -46,8 +46,8 @@ "@babel/eslint-plugin": "^7.11.3", "@babel/plugin-proposal-class-properties": "^7.10.4", "@babel/preset-env": "^7.10.4", - "@serverless-stack/core": "^1.0.0-alpha.4", - "@serverless-stack/resources": "^1.0.0-alpha.4", + "@serverless-stack/core": "^1.0.0-alpha.5", + "@serverless-stack/resources": "^1.0.0-alpha.5", "@types/jest": "^26.0.7", "@types/node": "^14.0.27", "@typescript-eslint/eslint-plugin": "^3.9.1", diff --git a/packages/core/package.json b/packages/core/package.json index bdc7f84cb9..7cd370ec0c 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@serverless-stack/core", - "version": "1.0.0-alpha.4", + "version": "1.0.0-alpha.5", "homepage": "https://serverless-stack.com", "description": "Core of the Serverless Stack Toolkit.", "main": "index.js", diff --git a/packages/create-serverless-stack/package.json b/packages/create-serverless-stack/package.json index a2da973e53..1fdb6c5a0d 100644 --- a/packages/create-serverless-stack/package.json +++ b/packages/create-serverless-stack/package.json @@ -1,6 +1,6 @@ { "name": "create-serverless-stack", - "version": "1.0.0-alpha.4", + "version": "1.0.0-alpha.5", "homepage": "https://serverless-stack.com", "description": "Create Serverless Stack apps.", "bin": { diff --git a/packages/resources/package.json b/packages/resources/package.json index abeb2be0fc..468d22d415 100644 --- a/packages/resources/package.json +++ b/packages/resources/package.json @@ -1,6 +1,6 @@ { "name": "@serverless-stack/resources", - "version": "1.0.0-alpha.4", + "version": "1.0.0-alpha.5", "homepage": "https://serverless-stack.com", "description": "Helper AWS CDK constructs for Serverless Stack apps.", "main": "dist/index.js", From 40d45ccb9f08ce208a696a6e5a7d9ef429dff581 Mon Sep 17 00:00:00 2001 From: Jay Date: Wed, 23 Dec 2020 14:30:59 -0500 Subject: [PATCH 032/123] Working on esbuild integration --- .../cli/assets/lambda-invoke/bootstrap.js | 2 + packages/cli/package.json | 1 + packages/cli/scripts/start.js | 77 +++++++++++++++++-- packages/cli/scripts/util/paths.js | 6 +- packages/cli/test/start/src/api.js | 8 +- packages/cli/test/start/src/lib.js | 3 + yarn.lock | 5 ++ 7 files changed, 92 insertions(+), 10 deletions(-) create mode 100644 packages/cli/test/start/src/lib.js diff --git a/packages/cli/assets/lambda-invoke/bootstrap.js b/packages/cli/assets/lambda-invoke/bootstrap.js index 99a3a0c4a0..42e8f46185 100644 --- a/packages/cli/assets/lambda-invoke/bootstrap.js +++ b/packages/cli/assets/lambda-invoke/bootstrap.js @@ -3,6 +3,8 @@ */ "use strict"; +require("source-map-support").install(); + process.on("unhandledRejection", (err) => { throw err; }); diff --git a/packages/cli/package.json b/packages/cli/package.json index dfb8042106..80fb6c01b5 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -56,6 +56,7 @@ "chalk": "^4.1.0", "core-js": "^3.6.5", "cross-spawn": "^7.0.3", + "esbuild": "^0.8.26", "eslint": "^7.7.0", "fs-extra": "^9.0.1", "jest": "^26.1.0", diff --git a/packages/cli/scripts/start.js b/packages/cli/scripts/start.js index 153a5e7720..26d46de8e8 100644 --- a/packages/cli/scripts/start.js +++ b/packages/cli/scripts/start.js @@ -3,6 +3,7 @@ const path = require("path"); const chalk = require("chalk"); const WebSocket = require("ws"); +const esbuild = require("esbuild"); const spawn = require("cross-spawn"); const sstDeploy = require("./deploy"); @@ -19,6 +20,8 @@ const WEBSOCKET_CLOSE_CODE = { NEW_CLIENT_CONNECTED: 4901, }; +const transpilers = {}; + let ws; function setTimer(lambda, handleResponse, timeoutInMs) { @@ -34,6 +37,58 @@ function setTimer(lambda, handleResponse, timeoutInMs) { }, timeoutInMs); } +function getTranspilerKey(srcPath, handler) { + return `${srcPath}/${handler}`; +} + +async function getTranspiledHandler(srcPath, handler) { + const transpiler = transpilers[getTranspilerKey(srcPath, handler)]; + + await transpiler.esbuilder.rebuild(); + + return transpiler.outHandler; +} + +function getHandlerFile(handler) { + const [name, ext] = handler.split("."); + + if (ext !== "js" || ext !== "ts") { + return `${name}.js`; + } + + return handler; +} + +async function startEsbuilder(entryPoints) { + entryPoints.forEach(async (entryPoint) => { + const srcPath = entryPoint.debugSrcPath; + const handler = entryPoint.debugSrcHandler; + + const handlerFile = getHandlerFile(handler); + const fullPath = path.join(paths.appPath, srcPath, handlerFile); + + const compiledDir = "src"; + + const esbuilder = await esbuild.build({ + bundle: true, + format: "cjs", + sourcemap: true, + platform: "node", + incremental: true, + entryPoints: [fullPath], + outdir: path.join(paths.appBuildPath, compiledDir), + }); + + transpilers[getTranspilerKey(srcPath, handler)] = { + esbuilder, + outHandler: { + handler, + srcPath: path.join(paths.appBuildDir, compiledDir), + }, + }; + }); +} + function startClient(debugEndpoint) { ws = new WebSocket(debugEndpoint); @@ -62,7 +117,7 @@ function startClient(debugEndpoint) { ws.on("message", onMessage); } -function onMessage(message) { +async function onMessage(message) { logger.debug(`Message received: ${message}`); const data = JSON.parse(message); @@ -130,6 +185,11 @@ function onMessage(message) { const semiSpace = Math.floor(newSpace / 2); const oldSpace = context.memoryLimitInMB - newSpace; + const transpiledHandler = await getTranspiledHandler( + debugSrcPath, + debugSrcHandler + ); + let lambdaResponse; const lambda = spawn( "node", @@ -141,9 +201,9 @@ function onMessage(message) { JSON.stringify(event), JSON.stringify(context), //"./src", // Local path to the Lambda functions + transpiledHandler.srcPath, //"hello.handler", - debugSrcPath, - debugSrcHandler, + transpiledHandler.handler, ], { stdio: ["inherit", "inherit", "inherit", "ipc"], @@ -237,9 +297,9 @@ function onMessage(message) { ) ); } else if (lambdaResponse.type === "failure") { - logger.error( - chalk.grey(context.awsRequestId) + ` ${lambdaResponse.error}` - ); + const errorMessage = lambdaResponse.error.message || lambdaResponse.error; + console.log(lambdaResponse.error); + logger.error(chalk.grey(context.awsRequestId) + ` ${errorMessage}`); } ws.send( JSON.stringify({ @@ -310,4 +370,9 @@ module.exports = async function (argv, cliInfo) { logger.log("==================="); logger.log(""); startClient(config.debugEndpoint); + + await startEsbuilder([ + { debugSrcPath: "src", debugSrcHandler: "api.handler" }, + { debugSrcPath: "src", debugSrcHandler: "sns.handler" }, + ]); }; diff --git a/packages/cli/scripts/util/paths.js b/packages/cli/scripts/util/paths.js index 4a7a591a56..e742b445a0 100644 --- a/packages/cli/scripts/util/paths.js +++ b/packages/cli/scripts/util/paths.js @@ -14,12 +14,16 @@ const resolveApp = (relativePath) => path.resolve(appDirectory, relativePath); const resolveOwn = (relativePath) => path.resolve(__dirname, "..", relativePath); +const appBuildDir = "build"; + module.exports = { + appBuildDir, appPath: resolveApp("."), appLibPath: resolveApp("./lib"), - appBuildPath: resolveApp("./build"), appPackageJson: resolveApp("package.json"), appNodeModules: resolveApp("node_modules"), + appBuildPath: resolveApp(`./${appBuildDir}`), + ownPath: resolveOwn("../"), ownScriptsPath: resolveOwn("../scripts"), ownNodeModules: resolveOwn("../node_modules"), diff --git a/packages/cli/test/start/src/api.js b/packages/cli/test/start/src/api.js index a8202643f5..d5e97a3c92 100644 --- a/packages/cli/test/start/src/api.js +++ b/packages/cli/test/start/src/api.js @@ -1,7 +1,9 @@ const AWS = require("aws-sdk"); const sns = new AWS.SNS(); -exports.handler = async function (event) { +import str from "./lib"; + +export async function handler(event) { console.log( `Logging from inside the API Lambda for route: ${event.routeKey}` ); @@ -16,7 +18,7 @@ exports.handler = async function (event) { return { statusCode: 200, - body: "Hello World", + body: "Hello World: " + str(), headers: { "Content-Type": "text/plain" }, }; -}; +} diff --git a/packages/cli/test/start/src/lib.js b/packages/cli/test/start/src/lib.js new file mode 100644 index 0000000000..6742ab1811 --- /dev/null +++ b/packages/cli/test/start/src/lib.js @@ -0,0 +1,3 @@ +export default function () { + return "Spongebob"; +} diff --git a/yarn.lock b/yarn.lock index 68274607b7..86a85293b7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4251,6 +4251,11 @@ es6-promisify@^5.0.0: dependencies: es6-promise "^4.0.3" +esbuild@^0.8.26: + version "0.8.26" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.8.26.tgz#a85491617ebd2bd35ca4bf479239487eb6819d71" + integrity sha512-u3MMHOOumdWoAKF+073GHPpzvVB2cM+y9VD4ZwYs1FAQ6atRPISya35dbrbOu/mM68mQ42P+nwPzQVBTfQhkvQ== + escalade@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.0.2.tgz#6a580d70edb87880f22b4c91d0d56078df6962c4" From 45124c50367a7b33c695aff33cc8bbdcf53bf802 Mon Sep 17 00:00:00 2001 From: Jay Date: Thu, 24 Dec 2020 20:54:20 -0500 Subject: [PATCH 033/123] Adding type checking and watcher --- packages/cli/package.json | 2 + packages/cli/scripts/start.js | 248 +++++++++++++++-- packages/cli/scripts/util/.eslintrc.js | 16 ++ packages/cli/test/start/lib/index.js | 4 +- .../cli/test/start/src/{api.js => api/api.ts} | 13 +- packages/cli/test/start/src/api/lib.ts | 3 + packages/cli/test/start/src/api/package.json | 11 + packages/cli/test/start/src/api/tsconfig.json | 8 + packages/cli/test/start/src/api/yarn.lock | 259 ++++++++++++++++++ packages/cli/test/start/src/lib.js | 3 - packages/cli/test/start/src/{ => sns}/sns.js | 0 packages/cli/test/start/yarn.lock | 2 +- yarn.lock | 191 ++++++++++++- 13 files changed, 712 insertions(+), 48 deletions(-) create mode 100644 packages/cli/scripts/util/.eslintrc.js rename packages/cli/test/start/src/{api.js => api/api.ts} (67%) create mode 100644 packages/cli/test/start/src/api/lib.ts create mode 100644 packages/cli/test/start/src/api/package.json create mode 100644 packages/cli/test/start/src/api/tsconfig.json create mode 100644 packages/cli/test/start/src/api/yarn.lock delete mode 100644 packages/cli/test/start/src/lib.js rename packages/cli/test/start/src/{ => sns}/sns.js (100%) diff --git a/packages/cli/package.json b/packages/cli/package.json index 80fb6c01b5..09ebe2f4d3 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -54,12 +54,14 @@ "@typescript-eslint/parser": "^3.9.1", "aws-cdk": "1.74.0", "chalk": "^4.1.0", + "chokidar": "^3.4.3", "core-js": "^3.6.5", "cross-spawn": "^7.0.3", "esbuild": "^0.8.26", "eslint": "^7.7.0", "fs-extra": "^9.0.1", "jest": "^26.1.0", + "promise.allsettled": "^1.0.2", "source-map-support": "^0.5.19", "ts-jest": "^26.1.4", "typescript": "^3.9.7", diff --git a/packages/cli/scripts/start.js b/packages/cli/scripts/start.js index 26d46de8e8..005429d252 100644 --- a/packages/cli/scripts/start.js +++ b/packages/cli/scripts/start.js @@ -1,10 +1,13 @@ "use strict"; const path = require("path"); +const fs = require("fs-extra"); const chalk = require("chalk"); const WebSocket = require("ws"); const esbuild = require("esbuild"); +const chokidar = require('chokidar'); const spawn = require("cross-spawn"); +const allSettled = require('promise.allsettled'); const sstDeploy = require("./deploy"); const paths = require("./util/paths"); @@ -16,11 +19,25 @@ const { const array = require("../lib/array"); const logger = require("../lib/logger"); +// Create Promise.allSettled shim +allSettled.shim(); + +const chokidarOptions = { + persistent: true, + ignoreInitial: true, + followSymlinks: false, + disableGlobbing: false, + awaitWriteFinish: { + pollInterval: 100, + stabilityThreshold: 20, + }, +}; const WEBSOCKET_CLOSE_CODE = { NEW_CLIENT_CONNECTED: 4901, }; const transpilers = {}; +let externalsCache = {}; let ws; @@ -49,44 +66,214 @@ async function getTranspiledHandler(srcPath, handler) { return transpiler.outHandler; } -function getHandlerFile(handler) { - const [name, ext] = handler.split("."); +async function checkFileExists(file) { + return fs.promises.access(file, fs.constants.F_OK) + .then(() => true) + .catch(() => false) +} + +async function getCmdPath(cmd) { + const appPath = path.join(paths.appNodeModules, ".bin", cmd); + const ownPath = path.join(paths.ownNodeModules, ".bin", cmd); + + // Fallback to own node modules, in case of tests that don't install the cli + return await checkFileExists(appPath) ? appPath : ownPath; +} + +async function getHandlerFilePath(srcPath, handler) { + const parts = handler.split("."); + const name = parts[0]; + + const jsFile = path.join(paths.appPath, srcPath, `${name}.js`); + + if (await checkFileExists(jsFile)) { + return jsFile; + } + + const tsFile = path.join(paths.appPath, srcPath, `${name}.ts`); - if (ext !== "js" || ext !== "ts") { - return `${name}.js`; + if (await checkFileExists(tsFile)) { + return tsFile; + } + + return jsFile; +} + +async function getAllExternalsForHandler(srcPath) { + if (externalsCache[srcPath]) { + return externalsCache[srcPath]; + } + + let packageJson, externals; + + try { + packageJson = await fs.promises.readFile(path.join(srcPath, "package.json"), {encoding: 'utf-8'}); + externals = Object.keys({ + ...(packageJson.dependencies || {}), + ...(packageJson.devDependencies || {}), + ...(packageJson.peerDependencies || {}) + }); + } + catch(e) { + externals = []; } - return handler; + externalsCache[srcPath] = externals; + + return externals; +} + +async function transpile(srcPath, handler) { + const fullPath = await getHandlerFilePath(srcPath, handler); + + const compiledDir = "src"; + + const external = await getAllExternalsForHandler(srcPath); + + const esbuilder = await esbuild.build({ + external, + bundle: true, + format: "cjs", + sourcemap: true, + platform: "node", + incremental: true, + entryPoints: [fullPath], + outdir: path.join(paths.appBuildPath, compiledDir), + }); + + const transpiler = { + esbuilder, + outHandler: { + handler, + srcPath: path.join(paths.appBuildDir, compiledDir), + }, + }; + + transpilers[getTranspilerKey(srcPath, handler)] = transpiler; + + return transpiler; } -async function startEsbuilder(entryPoints) { - entryPoints.forEach(async (entryPoint) => { +async function lint(srcPath) { + const linter = spawn( + await getCmdPath("eslint"), + [ + "--no-error-on-unmatched-pattern", + "--config", + path.join(paths.ownPath, "scripts", "util", ".eslintrc.js"), + "--ext", + ".js,.ts", + "--fix", + // Handling nested ESLint projects in Yarn Workspaces + // https://github.com/serverless-stack/serverless-stack/issues/11 + "--resolve-plugins-relative-to", + ".", + srcPath, + ], + { stdio: "inherit", cwd: paths.appPath } + ); + + linter.on('close', (code) => { + console.log(`child process exited with code ${code}`); + }); + + return linter; +} + +async function typeCheck(srcPath) { + const isTs = await checkFileExists(path.join(paths.appPath, srcPath, "tsconfig.json")); + + if (!isTs) { + return null; + } + + const typeChecker = spawn( + await getCmdPath("tsc"), + [ "--noEmit" ], + { stdio: "inherit", cwd: path.join(paths.appPath, srcPath) } + ); + + typeChecker.on('close', (code) => { + console.log(`child process exited with code ${code}`); + }); + + return typeChecker; +} + +async function cancelAllChecks(checks) { + (await Promise.allSettled(checks)).forEach(result => { + if (result.status === "fulfilled") { + result.value && result.value.kill(); + } + }); +} + +function onFileChange(file, srcPath, handlers) { + logger.log(`File change: ${file}`); + console.log(srcPath, handlers); +} + +async function startBuilder(entryPoints) { + let hasError = false; + + const entryPointsIndexed = {}; + const transpilerPromises = []; + + externalsCache = {}; + + function recordEntryPoint(srcPath, handler) { + entryPointsIndexed[srcPath] = entryPointsIndexed[srcPath] + ? entryPointsIndexed[srcPath].push(handler) + : [handler]; + } + + function getUniqueSrcPaths() { + return Object.keys(entryPointsIndexed); + } + + function getHandlersForSrcPath(srcPath) { + return entryPointsIndexed[srcPath]; + } + + entryPoints.forEach(entryPoint => { const srcPath = entryPoint.debugSrcPath; const handler = entryPoint.debugSrcHandler; - const handlerFile = getHandlerFile(handler); - const fullPath = path.join(paths.appPath, srcPath, handlerFile); + // Not catching esbuild errors + // Letting it handle the error messages for now + transpilerPromises.push(transpile(srcPath, handler)); - const compiledDir = "src"; + recordEntryPoint(srcPath, handler); + }); - const esbuilder = await esbuild.build({ - bundle: true, - format: "cjs", - sourcemap: true, - platform: "node", - incremental: true, - entryPoints: [fullPath], - outdir: path.join(paths.appBuildPath, compiledDir), - }); + const uniquePaths = getUniqueSrcPaths(); + + const lintPromises = uniquePaths.map(lint); + const typeCheckPromises = uniquePaths.map(typeCheck); + + logger.log("Building Lambda code..."); + const results = await Promise.allSettled(transpilerPromises); - transpilers[getTranspilerKey(srcPath, handler)] = { - esbuilder, - outHandler: { - handler, - srcPath: path.join(paths.appBuildDir, compiledDir), - }, - }; + results.forEach(result => { + if (result.status === "fulfilled") { + return; + } + + hasError = true; + // Cancel all the running checks + cancelAllChecks(lintPromises.concat(typeCheckPromises)); }); + + if (! hasError) { + uniquePaths.forEach(srcPath => { + chokidar.watch(path.join(paths.appPath, srcPath), chokidarOptions) + .on('all', file => onFileChange(file, srcPath, getHandlersForSrcPath(srcPath))) + .on('error', error => console.log(`Watch ${error}`)) + .on('ready', () => { + console.log(`Watcher ready for ${srcPath}...`); + }); + }); + } } function startClient(debugEndpoint) { @@ -369,10 +556,11 @@ module.exports = async function (argv, cliInfo) { logger.log(" Starting debugger"); logger.log("==================="); logger.log(""); - startClient(config.debugEndpoint); - await startEsbuilder([ - { debugSrcPath: "src", debugSrcHandler: "api.handler" }, - { debugSrcPath: "src", debugSrcHandler: "sns.handler" }, + await startBuilder([ + { debugSrcPath: "src/api", debugSrcHandler: "api.handler" }, + { debugSrcPath: "src/sns", debugSrcHandler: "sns.handler" }, ]); + + startClient(config.debugEndpoint); }; diff --git a/packages/cli/scripts/util/.eslintrc.js b/packages/cli/scripts/util/.eslintrc.js new file mode 100644 index 0000000000..7ad8abca0c --- /dev/null +++ b/packages/cli/scripts/util/.eslintrc.js @@ -0,0 +1,16 @@ +module.exports = { + root: true, + parser: "@babel/eslint-parser", + parserOptions: { + babelOptions: { + configFile: "./build/.babelrc.json", + }, + }, + plugins: ["@babel"], + overrides: [{ + files: ["*.ts", "*.tsx"], + parser: "@typescript-eslint/parser", + plugins: ["@typescript-eslint"], + extends: ["eslint:recommended", "plugin:@typescript-eslint/recommended"], + }] +}; diff --git a/packages/cli/test/start/lib/index.js b/packages/cli/test/start/lib/index.js index e8f5d630d0..44be54699e 100644 --- a/packages/cli/test/start/lib/index.js +++ b/packages/cli/test/start/lib/index.js @@ -18,7 +18,7 @@ class MySampleStack extends sst.Stack { // Create a Lambda function subscribed to the topic const snsFunc = new sst.Function(this, "MySnsLambda", { - code: lambda.Code.fromAsset("src"), + code: lambda.Code.fromAsset("src/sns"), handler: "sns.handler", runtime: lambda.Runtime.NODEJS_12_X, }); @@ -26,7 +26,7 @@ class MySampleStack extends sst.Stack { // Create a Lambda function triggered by an HTTP API const apiFunc = new sst.Function(this, "MyApiLambda", { - code: lambda.Code.fromAsset("src"), + code: lambda.Code.fromAsset("src/api"), handler: "api.handler", runtime: lambda.Runtime.NODEJS_12_X, environment: { diff --git a/packages/cli/test/start/src/api.js b/packages/cli/test/start/src/api/api.ts similarity index 67% rename from packages/cli/test/start/src/api.js rename to packages/cli/test/start/src/api/api.ts index d5e97a3c92..2d97f7ae7b 100644 --- a/packages/cli/test/start/src/api.js +++ b/packages/cli/test/start/src/api/api.ts @@ -1,9 +1,14 @@ -const AWS = require("aws-sdk"); -const sns = new AWS.SNS(); +import * as AWS from "aws-sdk"; +import { APIGatewayEvent } from "aws-lambda"; import str from "./lib"; -export async function handler(event) { +const sns = new AWS.SNS(); + +export async function handler( + event: APIGatewayEvent, +) { + // hi console.log( `Logging from inside the API Lambda for route: ${event.routeKey}` ); @@ -18,7 +23,7 @@ export async function handler(event) { return { statusCode: 200, - body: "Hello World: " + str(), + body: "Hello World: " + str("Spongebob"), headers: { "Content-Type": "text/plain" }, }; } diff --git a/packages/cli/test/start/src/api/lib.ts b/packages/cli/test/start/src/api/lib.ts new file mode 100644 index 0000000000..4d7c3d8fb0 --- /dev/null +++ b/packages/cli/test/start/src/api/lib.ts @@ -0,0 +1,3 @@ +export default function(name: number): string { + return name; +} diff --git a/packages/cli/test/start/src/api/package.json b/packages/cli/test/start/src/api/package.json new file mode 100644 index 0000000000..8fdc8de8aa --- /dev/null +++ b/packages/cli/test/start/src/api/package.json @@ -0,0 +1,11 @@ +{ + "name": "start-src", + "private": true, + "description": "tests", + "version": "0.0.1", + "license": "ISC", + "dependencies": { + "aws": "^0.0.3-2", + "aws-lambda": "^1.0.6" + } +} diff --git a/packages/cli/test/start/src/api/tsconfig.json b/packages/cli/test/start/src/api/tsconfig.json new file mode 100644 index 0000000000..50be82e508 --- /dev/null +++ b/packages/cli/test/start/src/api/tsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "baseUrl": ".", + "target": "es6", + "sourceMap": true, + "moduleResolution": "node" + } +} diff --git a/packages/cli/test/start/src/api/yarn.lock b/packages/cli/test/start/src/api/yarn.lock new file mode 100644 index 0000000000..546d2f53b7 --- /dev/null +++ b/packages/cli/test/start/src/api/yarn.lock @@ -0,0 +1,259 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +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" + +aws-lambda@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/aws-lambda/-/aws-lambda-1.0.6.tgz#ba562478264646b51e9dc817d7d25ea468ed011b" + integrity sha512-Z9lmZBiDYejzjMWuQSDXuZWAqAun6vGt7WApB1r0f8tLNf0IlTGsH30qENfP1kXeTbbMgPpt1bPEeMZjYDTXxQ== + dependencies: + aws-sdk "*" + commander "^3.0.2" + js-yaml "^3.13.1" + watchpack "^2.0.0-beta.10" + +aws-sdk@*: + version "2.817.0" + resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.817.0.tgz#3a97b690b0ec494cf8ee927affb3973cf26abcc8" + integrity sha512-DZIdWpkcqbqsCz0MEskHsyFaqc6Tk9XIFqXAg1AKHbOgC8nU45bz+Y2osX77pU01JkS/G7OhGtGmlKDrOPvFwg== + dependencies: + buffer "4.9.2" + events "1.1.1" + ieee754 "1.1.13" + jmespath "0.15.0" + querystring "0.2.0" + sax "1.2.1" + url "0.10.3" + uuid "3.3.2" + xml2js "0.4.19" + +aws@^0.0.3-2: + version "0.0.3-2" + resolved "https://registry.yarnpkg.com/aws/-/aws-0.0.3-2.tgz#8c4c170c47364b309fdfe4b0fe4c17104483fa46" + integrity sha1-jEwXDEc2SzCf3+Sw/kwXEESD+kY= + dependencies: + vows ">= 0.5.1" + +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + +base64-js@^1.0.2: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +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" + +buffer@4.9.2: + version "4.9.2" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" + integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + isarray "^1.0.0" + +commander@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/commander/-/commander-3.0.2.tgz#6837c3fb677ad9933d1cfba42dd14d5117d6b39e" + integrity sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +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== + +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== + +events@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" + integrity sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ= + +eyes@~0.1.6: + version "0.1.8" + resolved "https://registry.yarnpkg.com/eyes/-/eyes-0.1.8.tgz#62cf120234c683785d902348a800ef3e0cc20bc0" + integrity sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A= + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +glob-to-regexp@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" + integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== + +glob@^7.1.2: + version "7.1.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== + 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" + +graceful-fs@^4.1.2: + version "4.2.4" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" + integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== + +ieee754@1.1.13: + version "1.1.13" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" + integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== + +ieee754@^1.1.4: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +isarray@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +jmespath@0.15.0: + version "0.15.0" + resolved "https://registry.yarnpkg.com/jmespath/-/jmespath-0.15.0.tgz#a3f222a9aae9f966f5d27c796510e28091764217" + integrity sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc= + +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" + +minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +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 sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +punycode@1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= + +querystring@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= + +sax@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a" + integrity sha1-e45lYZCyKOgaZq6nSEgNgozS03o= + +sax@>=0.6.0: + version "1.2.4" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +url@0.10.3: + version "0.10.3" + resolved "https://registry.yarnpkg.com/url/-/url-0.10.3.tgz#021e4d9c7705f21bbf37d03ceb58767402774c64" + integrity sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ= + dependencies: + punycode "1.3.2" + querystring "0.2.0" + +uuid@3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" + integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== + +"vows@>= 0.5.1": + version "0.8.3" + resolved "https://registry.yarnpkg.com/vows/-/vows-0.8.3.tgz#36e353c2bca3a93902fc32eb8c5baab2e3a93f10" + integrity sha512-PVIxa/ovXhrw5gA3mz6M+ZF3PHlqX4tutR2p/y9NWPAaFVKcWBE8b2ktfr0opQM/qFmcOVWKjSCJVjnYOvjXhw== + dependencies: + diff "^4.0.1" + eyes "~0.1.6" + glob "^7.1.2" + +watchpack@^2.0.0-beta.10: + version "2.1.0" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.1.0.tgz#e63194736bf3aa22026f7b191cd57907b0f9f696" + integrity sha512-UjgD1mqjkG99+3lgG36at4wPnUXNvis2v1utwTgQ43C22c4LD71LsYMExdWXh4HZ+RmW+B0t1Vrg2GpXAkTOQw== + dependencies: + glob-to-regexp "^0.4.1" + graceful-fs "^4.1.2" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +xml2js@0.4.19: + version "0.4.19" + resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.19.tgz#686c20f213209e94abf0d1bcf1efaa291c7827a7" + integrity sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q== + dependencies: + sax ">=0.6.0" + xmlbuilder "~9.0.1" + +xmlbuilder@~9.0.1: + version "9.0.7" + resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d" + integrity sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0= diff --git a/packages/cli/test/start/src/lib.js b/packages/cli/test/start/src/lib.js deleted file mode 100644 index 6742ab1811..0000000000 --- a/packages/cli/test/start/src/lib.js +++ /dev/null @@ -1,3 +0,0 @@ -export default function () { - return "Spongebob"; -} diff --git a/packages/cli/test/start/src/sns.js b/packages/cli/test/start/src/sns/sns.js similarity index 100% rename from packages/cli/test/start/src/sns.js rename to packages/cli/test/start/src/sns/sns.js diff --git a/packages/cli/test/start/yarn.lock b/packages/cli/test/start/yarn.lock index 52a0569747..c234c550c1 100644 --- a/packages/cli/test/start/yarn.lock +++ b/packages/cli/test/start/yarn.lock @@ -335,7 +335,7 @@ integrity sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q== "@serverless-stack/resources@../../../resources": - version "0.4.3" + version "1.0.0-alpha.5" dependencies: "@aws-cdk/aws-lambda" "1.74.0" "@aws-cdk/aws-lambda-nodejs" "1.74.0" diff --git a/yarn.lock b/yarn.lock index 86a85293b7..19fe1ad0d4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2706,7 +2706,7 @@ anymatch@^2.0.0: micromatch "^3.1.4" normalize-path "^2.1.1" -anymatch@^3.0.3: +anymatch@^3.0.3, anymatch@~3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== @@ -2815,6 +2815,17 @@ array-unique@^0.3.2: resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= +array.prototype.map@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array.prototype.map/-/array.prototype.map-1.0.3.tgz#1609623618d3d84134a37d4a220030c2bd18420b" + integrity sha512-nNcb30v0wfDyIe26Yif3PcV1JXQp4zEeEfupG7L4SRjnD6HLbO5b2a7eVSba53bOx4YCHYMBHt+Fp4vYstneRA== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.1" + es-array-method-boxes-properly "^1.0.0" + is-string "^1.0.5" + arrify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" @@ -3065,6 +3076,11 @@ binary-extensions@^1.0.0: resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== +binary-extensions@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9" + integrity sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ== + bindings@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" @@ -3110,7 +3126,7 @@ braces@^2.3.1, braces@^2.3.2: split-string "^3.0.2" to-regex "^3.0.1" -braces@^3.0.1: +braces@^3.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== @@ -3234,6 +3250,14 @@ cache-base@^1.0.1: union-value "^1.0.0" unset-value "^1.0.0" +call-bind@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.0.tgz#24127054bb3f9bdcb4b1fb82418186072f77b8ce" + integrity sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.0" + call-me-maybe@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" @@ -3402,6 +3426,21 @@ chokidar@^2.1.8: optionalDependencies: fsevents "^1.2.7" +chokidar@^3.4.3: + version "3.4.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.3.tgz#c1df38231448e45ca4ac588e6c79573ba6a57d5b" + integrity sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ== + dependencies: + anymatch "~3.1.1" + braces "~3.0.2" + glob-parent "~5.1.0" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.5.0" + optionalDependencies: + fsevents "~2.1.2" + chownr@^1.1.1, chownr@^1.1.2: version "1.1.4" resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" @@ -4225,6 +4264,43 @@ es-abstract@^1.17.0-next.1, es-abstract@^1.17.5: string.prototype.trimend "^1.0.1" string.prototype.trimstart "^1.0.1" +es-abstract@^1.18.0-next.1: + version "1.18.0-next.1" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0-next.1.tgz#6e3a0a4bda717e5023ab3b8e90bec36108d22c68" + integrity sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA== + dependencies: + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + is-callable "^1.2.2" + is-negative-zero "^2.0.0" + is-regex "^1.1.1" + object-inspect "^1.8.0" + object-keys "^1.1.1" + object.assign "^4.1.1" + string.prototype.trimend "^1.0.1" + string.prototype.trimstart "^1.0.1" + +es-array-method-boxes-properly@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e" + integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA== + +es-get-iterator@^1.0.2: + version "1.1.1" + resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.1.tgz#b93ddd867af16d5118e00881396533c1c6647ad9" + integrity sha512-qorBw8Y7B15DVLaJWy6WdEV/ZkieBcu6QCq/xzWzGOKJqgG1j754vXRfZ3NY7HSShneqU43mPB4OkQBTkvHhFw== + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.1" + has-symbols "^1.0.1" + is-arguments "^1.0.4" + is-map "^2.0.1" + is-set "^2.0.1" + is-string "^1.0.5" + isarray "^2.0.5" + es-to-primitive@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" @@ -4768,7 +4844,7 @@ fsevents@^1.2.7: bindings "^1.5.0" nan "^2.12.1" -fsevents@^2.1.2: +fsevents@^2.1.2, fsevents@~2.1.2: version "2.1.3" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== @@ -4820,6 +4896,15 @@ get-caller-file@^2.0.1, get-caller-file@^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-intrinsic@^1.0.0, get-intrinsic@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.0.2.tgz#6820da226e50b24894e08859469dc68361545d49" + integrity sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + get-own-enumerable-property-symbols@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" @@ -4946,7 +5031,7 @@ glob-parent@^3.1.0: is-glob "^3.1.0" path-dirname "^1.0.0" -glob-parent@^5.0.0: +glob-parent@^5.0.0, glob-parent@~5.1.0: version "5.1.1" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== @@ -5384,6 +5469,13 @@ is-accessor-descriptor@^1.0.0: dependencies: kind-of "^6.0.0" +is-arguments@^1.0.4: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.0.tgz#62353031dfbee07ceb34656a6bde59efecae8dd9" + integrity sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg== + dependencies: + call-bind "^1.0.0" + is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" @@ -5396,6 +5488,13 @@ is-binary-path@^1.0.0: dependencies: binary-extensions "^1.0.0" +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + is-buffer@^1.1.5, is-buffer@~1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" @@ -5406,6 +5505,11 @@ is-callable@^1.1.4, is-callable@^1.2.0: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.0.tgz#83336560b54a38e35e3a2df7afd0454d691468bb" integrity sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw== +is-callable@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.2.tgz#c7c6715cd22d4ddb48d3e19970223aceabb080d9" + integrity sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA== + is-ci@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" @@ -5511,13 +5615,23 @@ is-glob@^3.1.0: dependencies: is-extglob "^2.1.0" -is-glob@^4.0.0, is-glob@^4.0.1: +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== dependencies: is-extglob "^2.1.1" +is-map@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.2.tgz#00922db8c9bf73e81b7a335827bc2a43f2b91127" + integrity sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg== + +is-negative-zero@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" + integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== + is-number@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" @@ -5562,7 +5676,7 @@ is-potential-custom-element-name@^1.0.0: resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz#0c52e54bcca391bb2c494b21e8626d7336c6e397" integrity sha1-DFLlS8yjkbssSUsh6GJtczbG45c= -is-regex@^1.1.0: +is-regex@^1.1.0, is-regex@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.1.tgz#c6f98aacc546f6cec5468a07b7b153ab564a57b9" integrity sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg== @@ -5574,6 +5688,11 @@ is-regexp@^1.0.0: resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= +is-set@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.2.tgz#90755fa4c2562dc1c5d4024760d6119b94ca18ec" + integrity sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g== + is-ssh@^1.3.0: version "1.3.2" resolved "https://registry.yarnpkg.com/is-ssh/-/is-ssh-1.3.2.tgz#a4b82ab63d73976fd8263cceee27f99a88bdae2b" @@ -5591,6 +5710,11 @@ is-stream@^2.0.0: resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== +is-string@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" + integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== + is-symbol@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" @@ -5637,6 +5761,11 @@ isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= +isarray@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" + integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== + isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" @@ -5700,6 +5829,19 @@ istanbul-reports@^3.0.2: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" +iterate-iterator@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/iterate-iterator/-/iterate-iterator-1.0.1.tgz#1693a768c1ddd79c969051459453f082fe82e9f6" + integrity sha512-3Q6tudGN05kbkDQDI4CqjaBf4qf85w6W6GnuZDtUVYwKgtC1q8yxYX7CZed7N+tLzQqS6roujWvszf13T+n9aw== + +iterate-value@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/iterate-value/-/iterate-value-1.0.2.tgz#935115bd37d006a52046535ebc8d07e9c9337f57" + integrity sha512-A6fMAio4D2ot2r/TYzr4yUWrmwNdsN5xL7+HUiyACE4DXm+q8HtPcnFTp+NnW3k4N05tZ7FVYFFb2CR13NxyHQ== + dependencies: + es-get-iterator "^1.0.2" + iterate-iterator "^1.0.1" + jest-changed-files@^26.3.0: version "26.3.0" resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.3.0.tgz#68fb2a7eb125f50839dab1f5a17db3607fe195b1" @@ -7006,7 +7148,7 @@ normalize-path@^2.1.1: dependencies: remove-trailing-separator "^1.0.1" -normalize-path@^3.0.0: +normalize-path@^3.0.0, 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== @@ -7128,6 +7270,11 @@ object-inspect@^1.7.0: resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.8.0.tgz#df807e5ecf53a609cc6bfe93eac3cc7be5b3a9d0" integrity sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA== +object-inspect@^1.8.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.9.0.tgz#c90521d74e1127b67266ded3394ad6116986533a" + integrity sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw== + object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" @@ -7150,6 +7297,16 @@ object.assign@^4.1.0: has-symbols "^1.0.0" object-keys "^1.0.11" +object.assign@^4.1.1: + version "4.1.2" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" + integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + has-symbols "^1.0.1" + object-keys "^1.1.1" + object.getownpropertydescriptors@^2.0.3: version "2.1.0" resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649" @@ -7510,7 +7667,7 @@ performance-now@^2.1.0: resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= -picomatch@^2.0.4, picomatch@^2.0.5: +picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1: version "2.2.2" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== @@ -7638,6 +7795,17 @@ promise-retry@^1.1.1: err-code "^1.0.0" retry "^0.10.0" +promise.allsettled@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/promise.allsettled/-/promise.allsettled-1.0.2.tgz#d66f78fbb600e83e863d893e98b3d4376a9c47c9" + integrity sha512-UpcYW5S1RaNKT6pd+s9jp9K9rlQge1UXKskec0j6Mmuq7UJCvlS2J2/s/yuPN8ehftf9HXMxWlKiPbGGUzpoRg== + dependencies: + array.prototype.map "^1.0.1" + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + function-bind "^1.1.1" + iterate-value "^1.0.0" + promptly@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/promptly/-/promptly-3.2.0.tgz#a5517fbbf59bd31c1751d4e1d9bef1714f42b9d8" @@ -7922,6 +8090,13 @@ readdirp@^2.2.1: micromatch "^3.1.10" readable-stream "^2.0.2" +readdirp@~3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" + integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== + dependencies: + picomatch "^2.2.1" + redent@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" From e8d352d6e4b3b0f3db445d8894f552bfd529d8d7 Mon Sep 17 00:00:00 2001 From: Jay Date: Thu, 24 Dec 2020 20:59:29 -0500 Subject: [PATCH 034/123] Updating husky --- package.json | 8 +- packages/cli/scripts/start.js | 60 ++++---- yarn.lock | 251 +++++++++++++++++++++++++++------- 3 files changed, 241 insertions(+), 78 deletions(-) diff --git a/package.json b/package.json index bb9c1f17fe..f5edde905d 100644 --- a/package.json +++ b/package.json @@ -16,11 +16,11 @@ "devDependencies": { "@typescript-eslint/eslint-plugin": "^3.9.1", "@typescript-eslint/parser": "^3.9.1", - "eslint": "^7.6.0", - "husky": "^4.2.5", + "eslint": "^7.16.0", + "husky": "^4.3.6", "lerna": "^3.22.1", - "lint-staged": "^10.2.11", - "prettier": "^2.0.5", + "lint-staged": "^10.5.3", + "prettier": "^2.2.1", "typescript": "^3.9.7" }, "husky": { diff --git a/packages/cli/scripts/start.js b/packages/cli/scripts/start.js index 005429d252..bb61e5bf51 100644 --- a/packages/cli/scripts/start.js +++ b/packages/cli/scripts/start.js @@ -5,9 +5,9 @@ const fs = require("fs-extra"); const chalk = require("chalk"); const WebSocket = require("ws"); const esbuild = require("esbuild"); -const chokidar = require('chokidar'); +const chokidar = require("chokidar"); const spawn = require("cross-spawn"); -const allSettled = require('promise.allsettled'); +const allSettled = require("promise.allsettled"); const sstDeploy = require("./deploy"); const paths = require("./util/paths"); @@ -67,9 +67,10 @@ async function getTranspiledHandler(srcPath, handler) { } async function checkFileExists(file) { - return fs.promises.access(file, fs.constants.F_OK) + return fs.promises + .access(file, fs.constants.F_OK) .then(() => true) - .catch(() => false) + .catch(() => false); } async function getCmdPath(cmd) { @@ -77,7 +78,7 @@ async function getCmdPath(cmd) { const ownPath = path.join(paths.ownNodeModules, ".bin", cmd); // Fallback to own node modules, in case of tests that don't install the cli - return await checkFileExists(appPath) ? appPath : ownPath; + return (await checkFileExists(appPath)) ? appPath : ownPath; } async function getHandlerFilePath(srcPath, handler) { @@ -107,14 +108,16 @@ async function getAllExternalsForHandler(srcPath) { let packageJson, externals; try { - packageJson = await fs.promises.readFile(path.join(srcPath, "package.json"), {encoding: 'utf-8'}); + packageJson = await fs.promises.readFile( + path.join(srcPath, "package.json"), + { encoding: "utf-8" } + ); externals = Object.keys({ ...(packageJson.dependencies || {}), ...(packageJson.devDependencies || {}), - ...(packageJson.peerDependencies || {}) + ...(packageJson.peerDependencies || {}), }); - } - catch(e) { + } catch (e) { externals = []; } @@ -173,7 +176,7 @@ async function lint(srcPath) { { stdio: "inherit", cwd: paths.appPath } ); - linter.on('close', (code) => { + linter.on("close", (code) => { console.log(`child process exited with code ${code}`); }); @@ -181,19 +184,20 @@ async function lint(srcPath) { } async function typeCheck(srcPath) { - const isTs = await checkFileExists(path.join(paths.appPath, srcPath, "tsconfig.json")); + const isTs = await checkFileExists( + path.join(paths.appPath, srcPath, "tsconfig.json") + ); if (!isTs) { return null; } - const typeChecker = spawn( - await getCmdPath("tsc"), - [ "--noEmit" ], - { stdio: "inherit", cwd: path.join(paths.appPath, srcPath) } - ); + const typeChecker = spawn(await getCmdPath("tsc"), ["--noEmit"], { + stdio: "inherit", + cwd: path.join(paths.appPath, srcPath), + }); - typeChecker.on('close', (code) => { + typeChecker.on("close", (code) => { console.log(`child process exited with code ${code}`); }); @@ -201,7 +205,7 @@ async function typeCheck(srcPath) { } async function cancelAllChecks(checks) { - (await Promise.allSettled(checks)).forEach(result => { + (await Promise.allSettled(checks)).forEach((result) => { if (result.status === "fulfilled") { result.value && result.value.kill(); } @@ -235,8 +239,9 @@ async function startBuilder(entryPoints) { return entryPointsIndexed[srcPath]; } - entryPoints.forEach(entryPoint => { + entryPoints.forEach((entryPoint) => { const srcPath = entryPoint.debugSrcPath; + const handler = entryPoint.debugSrcHandler; // Not catching esbuild errors @@ -254,7 +259,7 @@ async function startBuilder(entryPoints) { logger.log("Building Lambda code..."); const results = await Promise.allSettled(transpilerPromises); - results.forEach(result => { + results.forEach((result) => { if (result.status === "fulfilled") { return; } @@ -264,12 +269,15 @@ async function startBuilder(entryPoints) { cancelAllChecks(lintPromises.concat(typeCheckPromises)); }); - if (! hasError) { - uniquePaths.forEach(srcPath => { - chokidar.watch(path.join(paths.appPath, srcPath), chokidarOptions) - .on('all', file => onFileChange(file, srcPath, getHandlersForSrcPath(srcPath))) - .on('error', error => console.log(`Watch ${error}`)) - .on('ready', () => { + if (!hasError) { + uniquePaths.forEach((srcPath) => { + chokidar + .watch(path.join(paths.appPath, srcPath), chokidarOptions) + .on("all", (file) => + onFileChange(file, srcPath, getHandlersForSrcPath(srcPath)) + ) + .on("error", (error) => console.log(`Watch ${error}`)) + .on("ready", () => { console.log(`Watcher ready for ${srcPath}...`); }); }); diff --git a/yarn.lock b/yarn.lock index 19fe1ad0d4..8d40a1f707 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1233,6 +1233,22 @@ exec-sh "^0.3.2" minimist "^1.2.0" +"@eslint/eslintrc@^0.2.2": + version "0.2.2" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.2.2.tgz#d01fc791e2fc33e88a29d6f3dc7e93d0cd784b76" + integrity sha512-EfB5OHNYp1F4px/LI/FEnGylop7nOqkQ1LRzCM0KccA2U8tvV8w01KBv37LbO7nW4H+YhKyo2LcJhRwjjV17QQ== + dependencies: + ajv "^6.12.4" + debug "^4.1.1" + espree "^7.3.0" + globals "^12.1.0" + ignore "^4.0.6" + import-fresh "^3.2.1" + js-yaml "^3.13.1" + lodash "^4.17.19" + minimatch "^3.0.4" + strip-json-comments "^3.1.1" + "@evocateur/libnpmaccess@^3.1.2": version "3.1.2" resolved "https://registry.yarnpkg.com/@evocateur/libnpmaccess/-/libnpmaccess-3.1.2.tgz#ecf7f6ce6b004e9f942b098d92200be4a4b1c845" @@ -2575,6 +2591,11 @@ acorn-jsx@^5.2.0: resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.2.0.tgz#4c66069173d6fdd68ed85239fc256226182b2ebe" integrity sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ== +acorn-jsx@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b" + integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng== + acorn-walk@^7.1.1: version "7.2.0" resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" @@ -2585,6 +2606,11 @@ acorn@^7.1.1, acorn@^7.3.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.0.tgz#e1ad486e6c54501634c6c397c5c121daa383607c" integrity sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w== +acorn@^7.4.0: + version "7.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + agent-base@4, agent-base@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.3.0.tgz#8165f01c436009bccad0b1d122f05ed770efc6ee" @@ -3487,7 +3513,7 @@ cli-cursor@^3.1.0: dependencies: restore-cursor "^3.1.0" -cli-truncate@2.1.0, cli-truncate@^2.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== @@ -3613,10 +3639,10 @@ commander@^4.0.1: resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== -commander@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" - integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== +commander@^6.2.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" + integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== compare-func@^2.0.0: version "2.0.0" @@ -3824,16 +3850,16 @@ cosmiconfig@^5.1.0: js-yaml "^3.13.1" parse-json "^4.0.0" -cosmiconfig@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" - integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== +cosmiconfig@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3" + integrity sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA== dependencies: "@types/parse-json" "^4.0.0" - import-fresh "^3.1.0" + import-fresh "^3.2.1" parse-json "^5.0.0" path-type "^4.0.0" - yaml "^1.7.2" + yaml "^1.10.0" crc-32@^1.2.0: version "1.2.0" @@ -3966,6 +3992,13 @@ debug@^3.1.0: dependencies: ms "^2.1.1" +debug@^4.2.0: + version "4.3.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" + integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== + dependencies: + ms "2.1.2" + debuglog@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" @@ -4218,7 +4251,7 @@ end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1: dependencies: once "^1.4.0" -enquirer@^2.3.5: +enquirer@^2.3.5, enquirer@^2.3.6: version "2.3.6" resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== @@ -4377,6 +4410,14 @@ eslint-scope@5.1.0, eslint-scope@^5.0.0, eslint-scope@^5.1.0: esrecurse "^4.1.0" estraverse "^4.1.1" +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-utils@^2.0.0, eslint-utils@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" @@ -4389,7 +4430,55 @@ eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== -eslint@^7.6.0, eslint@^7.7.0: +eslint-visitor-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" + integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== + +eslint@^7.16.0: + version "7.16.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.16.0.tgz#a761605bf9a7b32d24bb7cde59aeb0fd76f06092" + integrity sha512-iVWPS785RuDA4dWuhhgXTNrGxHHK3a8HLSMBgbbU59ruJDubUraXN8N5rn7kb8tG6sjg74eE0RA3YWT51eusEw== + dependencies: + "@babel/code-frame" "^7.0.0" + "@eslint/eslintrc" "^0.2.2" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.0.1" + doctrine "^3.0.0" + enquirer "^2.3.5" + eslint-scope "^5.1.1" + eslint-utils "^2.1.0" + eslint-visitor-keys "^2.0.0" + espree "^7.3.1" + esquery "^1.2.0" + esutils "^2.0.2" + file-entry-cache "^6.0.0" + functional-red-black-tree "^1.0.1" + glob-parent "^5.0.0" + globals "^12.1.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + js-yaml "^3.13.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash "^4.17.19" + minimatch "^3.0.4" + natural-compare "^1.4.0" + optionator "^0.9.1" + progress "^2.0.0" + regexpp "^3.1.0" + semver "^7.2.1" + strip-ansi "^6.0.0" + strip-json-comments "^3.1.0" + table "^6.0.4" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + +eslint@^7.7.0: version "7.7.0" resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.7.0.tgz#18beba51411927c4b64da0a8ceadefe4030d6073" integrity sha512-1KUxLzos0ZVsyL81PnRN335nDtQ8/vZUD6uMtWbF+5zDtjKcsklIi78XoE0MVL93QvWTu+E5y44VyyCsOMBrIg== @@ -4440,6 +4529,15 @@ espree@^7.2.0: acorn-jsx "^5.2.0" eslint-visitor-keys "^1.3.0" +espree@^7.3.0, espree@^7.3.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" + integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== + dependencies: + acorn "^7.4.0" + acorn-jsx "^5.3.1" + eslint-visitor-keys "^1.3.0" + esprima@^4.0.0, esprima@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" @@ -4459,12 +4557,19 @@ esrecurse@^4.1.0: dependencies: estraverse "^4.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.0, estraverse@^4.1.1, estraverse@^4.2.0: 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.1.0, estraverse@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== @@ -4502,7 +4607,7 @@ execa@^1.0.0: signal-exit "^3.0.0" strip-eof "^1.0.0" -execa@^4.0.0, execa@^4.0.1: +execa@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/execa/-/execa-4.0.3.tgz#0a34dabbad6d66100bd6f2c576c8669403f317f2" integrity sha512-WFDXGHckXPWZX19t1kCsXzOpqX9LWYNqn4C+HqZlk/V0imTkzJZqf87ZBhvpHaftERYknpk0fjSylnXVlVgI0A== @@ -4517,6 +4622,21 @@ execa@^4.0.0, execa@^4.0.1: signal-exit "^3.0.2" strip-final-newline "^2.0.0" +execa@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" + integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== + dependencies: + cross-spawn "^7.0.0" + get-stream "^5.0.0" + human-signals "^1.1.1" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.0" + onetime "^5.1.0" + signal-exit "^3.0.2" + strip-final-newline "^2.0.0" + exit-on-epipe@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz#0bdd92e87d5285d267daa8171d0eb06159689692" @@ -4665,6 +4785,13 @@ file-entry-cache@^5.0.1: dependencies: flat-cache "^2.0.1" +file-entry-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.0.tgz#7921a89c391c6d93efec2169ac6bf300c527ea0a" + integrity sha512-fqoO76jZ3ZnYrXLDRxBR1YvOvc0k844kcOg40bgsPrE25LAb/PDqTY+ho64Xh2c8ZXgIKldchCFHczG2UVRcWA== + dependencies: + flat-cache "^3.0.4" + file-uri-to-path@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" @@ -4738,11 +4865,24 @@ flat-cache@^2.0.1: rimraf "2.6.3" write "1.0.3" +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@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== +flatted@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.1.0.tgz#a5d06b4a8b01e3a63771daa5cb7a1903e2e57067" + integrity sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA== + flush-write-stream@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" @@ -5271,15 +5411,15 @@ humanize-ms@^1.2.1: dependencies: ms "^2.0.0" -husky@^4.2.5: - version "4.2.5" - resolved "https://registry.yarnpkg.com/husky/-/husky-4.2.5.tgz#2b4f7622673a71579f901d9885ed448394b5fa36" - integrity sha512-SYZ95AjKcX7goYVZtVZF2i6XiZcHknw50iXvY7b0MiGoj5RwdgRQNEHdb+gPDPCXKlzwrybjFjkL6FOj8uRhZQ== +husky@^4.3.6: + version "4.3.6" + resolved "https://registry.yarnpkg.com/husky/-/husky-4.3.6.tgz#ebd9dd8b9324aa851f1587318db4cccb7665a13c" + integrity sha512-o6UjVI8xtlWRL5395iWq9LKDyp/9TE7XMOTvIpEVzW638UcGxTmV5cfel6fsk/jbZSTlvfGVJf2svFtybcIZag== dependencies: chalk "^4.0.0" ci-info "^2.0.0" compare-versions "^3.6.0" - cosmiconfig "^6.0.0" + cosmiconfig "^7.0.0" find-versions "^3.2.0" opencollective-postinstall "^2.0.2" pkg-dir "^4.2.0" @@ -5336,7 +5476,7 @@ import-fresh@^2.0.0: caller-path "^2.0.0" resolve-from "^3.0.0" -import-fresh@^3.0.0, import-fresh@^3.1.0: +import-fresh@^3.0.0: version "3.2.1" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ== @@ -5344,6 +5484,14 @@ import-fresh@^3.0.0, import-fresh@^3.1.0: parent-module "^1.0.0" resolve-from "^4.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@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" @@ -6462,20 +6610,20 @@ lines-and-columns@^1.1.6: resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= -lint-staged@^10.2.11: - version "10.2.11" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-10.2.11.tgz#713c80877f2dc8b609b05bc59020234e766c9720" - integrity sha512-LRRrSogzbixYaZItE2APaS4l2eJMjjf5MbclRZpLJtcQJShcvUzKXsNeZgsLIZ0H0+fg2tL4B59fU9wHIHtFIA== +lint-staged@^10.5.3: + version "10.5.3" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-10.5.3.tgz#c682838b3eadd4c864d1022da05daa0912fb1da5" + integrity sha512-TanwFfuqUBLufxCc3RUtFEkFraSPNR3WzWcGF39R3f2J7S9+iF9W0KTVLfSy09lYGmZS5NDCxjNvhGMSJyFCWg== dependencies: - chalk "^4.0.0" - cli-truncate "2.1.0" - commander "^5.1.0" - cosmiconfig "^6.0.0" - debug "^4.1.1" + chalk "^4.1.0" + cli-truncate "^2.1.0" + commander "^6.2.0" + cosmiconfig "^7.0.0" + debug "^4.2.0" dedent "^0.7.0" - enquirer "^2.3.5" - execa "^4.0.1" - listr2 "^2.1.0" + enquirer "^2.3.6" + execa "^4.1.0" + listr2 "^3.2.2" log-symbols "^4.0.0" micromatch "^4.0.2" normalize-path "^3.0.0" @@ -6483,10 +6631,10 @@ lint-staged@^10.2.11: string-argv "0.3.1" stringify-object "^3.3.0" -listr2@^2.1.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/listr2/-/listr2-2.6.0.tgz#788a3d202978a1b8582062952cbc49272c8e206a" - integrity sha512-nwmqTJYQQ+AsKb4fCXH/6/UmLCEDL1jkRAdSn9M6cEUzoRGrs33YD/3N86gAZQnGZ6hxV18XSdlBcJ1GTmetJA== +listr2@^3.2.2: + version "3.2.3" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.2.3.tgz#ef9e0d790862f038dde8a9837be552b1adfd1c07" + integrity sha512-vUb80S2dSUi8YxXahO8/I/s29GqnOL8ozgHVLjfWQXa03BNEeS1TpBLjh2ruaqq5ufx46BRGvfymdBSuoXET5w== dependencies: chalk "^4.1.0" cli-truncate "^2.1.0" @@ -6494,7 +6642,7 @@ listr2@^2.1.0: indent-string "^4.0.0" log-update "^4.0.0" p-map "^4.0.0" - rxjs "^6.6.2" + rxjs "^6.6.3" through "^2.3.8" load-json-file@^1.0.0: @@ -6989,7 +7137,7 @@ ms@2.0.0: resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= -ms@^2.0.0, ms@^2.1.1: +ms@2.1.2, ms@^2.0.0, ms@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== @@ -7742,10 +7890,10 @@ prelude-ls@~1.1.2: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= -prettier@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.0.5.tgz#d6d56282455243f2f92cc1716692c08aa31522d4" - integrity sha512-7PtVymN48hGcO4fGjybyBSIWDsLU4H4XlvOHfq91pz9kkGlonzwTfYkaIEwiRg/dAJF9YlbsduBAgtYLi+8cFg== +prettier@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.2.1.tgz#795a1a78dd52f073da0cd42b21f9c91381923ff5" + integrity sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q== pretty-format@^25.2.1, pretty-format@^25.5.0: version "25.5.0" @@ -8346,7 +8494,7 @@ rimraf@^2.5.4, rimraf@^2.6.2, rimraf@^2.6.3: dependencies: glob "^7.1.3" -rimraf@^3.0.0: +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== @@ -8370,13 +8518,20 @@ run-queue@^1.0.0, run-queue@^1.0.3: dependencies: aproba "^1.1.1" -rxjs@^6.4.0, rxjs@^6.6.2: +rxjs@^6.4.0: version "6.6.2" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.2.tgz#8096a7ac03f2cc4fe5860ef6e572810d9e01c0d2" integrity sha512-BHdBMVoWC2sL26w//BCu3YzKT4s2jip/WhwsGEDmeKYBhKDZeYezVUnHatYB7L85v5xs0BAQmg6BEYJEKxBabg== dependencies: tslib "^1.9.0" +rxjs@^6.6.3: + version "6.6.3" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.3.tgz#8ca84635c4daa900c0d3967a6ee7ac60271ee552" + integrity sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ== + dependencies: + tslib "^1.9.0" + safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" @@ -8990,7 +9145,7 @@ strip-indent@^3.0.0: dependencies: min-indent "^1.0.0" -strip-json-comments@^3.1.0: +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== @@ -9041,7 +9196,7 @@ table@^5.2.3: slice-ansi "^2.1.0" string-width "^3.0.0" -table@^6.0.3: +table@^6.0.3, table@^6.0.4: version "6.0.4" resolved "https://registry.yarnpkg.com/table/-/table-6.0.4.tgz#c523dd182177e926c723eb20e1b341238188aa0d" integrity sha512-sBT4xRLdALd+NFBvwOz8bw4b15htyythha+q+DVZqy2RS08PPC8O2sZFgJYEY7bJvbCFKccs+WIZ/cd+xxTWCw== @@ -9837,7 +9992,7 @@ yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3: resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== -yaml@1.10.0, yaml@^1.7.2: +yaml@1.10.0, yaml@^1.10.0: version "1.10.0" resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg== From 0da881f437a74c8f337bf6be61650dcc6c3ba90a Mon Sep 17 00:00:00 2001 From: Jay Date: Fri, 25 Dec 2020 22:53:45 -0500 Subject: [PATCH 035/123] Using queues to manage esbuild and linting --- .eslintignore | 2 +- packages/cli/.gitignore | 4 +- packages/cli/bin/scripts.js | 2 +- packages/cli/scripts/start.js | 415 +++++++++++++----- packages/cli/scripts/util/.eslintrc.babel.js | 2 +- .../cli/scripts/util/.eslintrc.internal.js | 18 + packages/cli/scripts/util/.eslintrc.js | 16 - packages/cli/scripts/util/cdkOptions.js | 4 +- packages/cli/scripts/util/paths.js | 2 +- packages/cli/test/start/lib/index.js | 1 + packages/cli/test/start/src/api/api.ts | 8 +- packages/cli/test/start/src/api/package.json | 5 +- packages/cli/test/start/src/api/yarn.lock | 103 +---- 13 files changed, 352 insertions(+), 230 deletions(-) create mode 100644 packages/cli/scripts/util/.eslintrc.internal.js delete mode 100644 packages/cli/scripts/util/.eslintrc.js diff --git a/.eslintignore b/.eslintignore index b261e96a43..9f4f115416 100644 --- a/.eslintignore +++ b/.eslintignore @@ -5,7 +5,7 @@ dist # Don't lint nyc coverage output coverage # Don't lint build outputs in test -/packages/cli/test/*/build/** +/packages/cli/test/*/.build/** /packages/cli/test/*/cdk.out/** # Don't lint templates /packages/create-serverless-stack/templates/** diff --git a/packages/cli/.gitignore b/packages/cli/.gitignore index 888275b7ca..e74d9ff112 100644 --- a/packages/cli/.gitignore +++ b/packages/cli/.gitignore @@ -1,3 +1,3 @@ # Build outputs in test -/test/*/build/** -/test/*/cdk.out/** +/test/**/.build/** +/test/**/cdk.out/** diff --git a/packages/cli/bin/scripts.js b/packages/cli/bin/scripts.js index 7287a6e3aa..9d994b8ca4 100755 --- a/packages/cli/bin/scripts.js +++ b/packages/cli/bin/scripts.js @@ -4,7 +4,7 @@ process.on("uncaughtException", (err) => { // Format any uncaught exceptions - console.error("\n" + (err.stack || err) + "\n"); + console.error("\n" + (err ? err.stack || err : "Uncaught exception") + "\n"); process.exit(1); }); process.on("unhandledRejection", (err) => { diff --git a/packages/cli/scripts/start.js b/packages/cli/scripts/start.js index bb61e5bf51..1a8701ab1d 100644 --- a/packages/cli/scripts/start.js +++ b/packages/cli/scripts/start.js @@ -37,9 +37,154 @@ const WEBSOCKET_CLOSE_CODE = { }; const transpilers = {}; -let externalsCache = {}; +const transpilerStatus = { + IDLE: "idle", + BUSY: "busy", +}; +const transpilerTemplateObject = { + status: transpilerStatus.IDLE, + esbuilder: null, + outHandler: null, + outHandlerCbs: [], +}; let ws; +let tscExec; +let eslintExec; + +const rebuildTranspilerQ = createPromiseQueue(function (srcPath, handler) { + const transpiler = getTranspilerObject(srcPath, handler); + return rebuildTranspiler(transpiler); +}); +const lintQ = createPromiseQueue(lint); +const typeCheckQ = createPromiseQueue(typeCheck); + +function makeCancelable(promise, onCancel) { + let hasCanceled_ = false; + + function cancelError() { + return { cancelled: true }; + } + + const wrappedPromise = new Promise((resolve, reject) => { + promise.then( + // Don't do anything if cancelled + (val) => (hasCanceled_ ? reject(cancelError()) : resolve(val)), + (error) => (hasCanceled_ ? reject(cancelError()) : reject(error)) + ); + }); + + wrappedPromise.cancel = function () { + onCancel && onCancel(); + hasCanceled_ = true; + }; + + return wrappedPromise; +} + +function createPromiseQueue(fn) { + const callStatus = { + IDLE: "idle", + BUSY: "busy", + }; + const callTemplate = { + sig: null, + args: null, + promise: null, + callbacks: [], + status: callStatus.IDLE, + }; + + const calls = {}; + + function getCallSignature(args) { + return args.map((arg) => arg.toString()).join(" "); + } + + function getCall(args) { + const sig = getCallSignature(args); + + return calls[sig] + ? calls[sig] + : (calls[sig] = { ...callTemplate, sig, args }); + } + + function addToCallbacks(call) { + return new Promise((resolve, reject) => + call.callbacks.push({ resolve, reject }) + ); + } + + function setIdle(call) { + call.status = callStatus.IDLE; + call.promise = null; + call.callbacks = []; + } + + function setBusy(call) { + call.status = callStatus.BUSY; + + if (call.promise) { + call.promise.cancel && call.promise.cancel(); + call.promise = null; + } + + const promise = (call.promise = fn(...call.args)); + + return promise.then( + (value) => handleNext(call, "fulfilled", value), + (reason) => handleNext(call, "rejected", reason) + ); + } + + function onBusyComplete(call, resultStatus, result) { + call.callbacks.forEach(({ resolve, reject }) => + resultStatus === "fulfilled" ? resolve(result) : reject(result) + ); + + setIdle(call); + } + + function handleNext(call, resultStatus, result) { + if (resultStatus === "rejected" && result && result.cancelled) { + console.log("Discard cancelled promise"); + // Discard cancelled promises + return; + } + + switch (call.status) { + case callStatus.IDLE: + break; + case callStatus.BUSY: + onBusyComplete(call, resultStatus, result); + break; + } + } + + return { + queue: function (...args) { + const call = getCall(args); + + return setBusy(call); + }, + + complete: function (...args) { + const call = getCall(args); + + switch (call.status) { + case callStatus.IDLE: + return Promise.resolve(); + case callStatus.BUSY: + return addToCallbacks(call); + } + }, + }; +} + +// TODO: Remove +//function sleep(ms) { +// return new Promise(resolve => setTimeout(resolve, ms)); +//} function setTimer(lambda, handleResponse, timeoutInMs) { return setTimeout(function () { @@ -54,14 +199,39 @@ function setTimer(lambda, handleResponse, timeoutInMs) { }, timeoutInMs); } -function getTranspilerKey(srcPath, handler) { - return `${srcPath}/${handler}`; +function createTranspilerObject(esbuilder, outHandler) { + return { + ...transpilerTemplateObject, + esbuilder, + outHandler, + }; +} + +function getTranspilerObject(srcPath, handler) { + return transpilers[`${srcPath}/${handler}`]; +} + +function setTranspilerObject(srcPath, handler, transpiler) { + return (transpilers[`${srcPath}/${handler}`] = transpiler); +} + +function rebuildTranspiler(transpiler) { + return makeCancelable(transpiler.esbuilder.rebuild()); + //return makeCancelable(function() { + //return transpiler.esbuilder.rebuild(); + // TODO: Remove + //console.log("Fake rebuild..."); + //return sleep(3000); + //}()); } async function getTranspiledHandler(srcPath, handler) { - const transpiler = transpilers[getTranspilerKey(srcPath, handler)]; + const transpiler = getTranspilerObject(srcPath, handler); - await transpiler.esbuilder.rebuild(); + console.log(`Getting latest transpiler output for ${handler}...`); + + // Wait for transpiler queue to complete + await rebuildTranspilerQ.complete(srcPath, handler); return transpiler.outHandler; } @@ -101,16 +271,13 @@ async function getHandlerFilePath(srcPath, handler) { } async function getAllExternalsForHandler(srcPath) { - if (externalsCache[srcPath]) { - return externalsCache[srcPath]; - } - let packageJson, externals; try { - packageJson = await fs.promises.readFile( - path.join(srcPath, "package.json"), - { encoding: "utf-8" } + packageJson = JSON.parse( + await fs.promises.readFile(path.join(srcPath, "package.json"), { + encoding: "utf-8", + }) ); externals = Object.keys({ ...(packageJson.dependencies || {}), @@ -118,21 +285,23 @@ async function getAllExternalsForHandler(srcPath) { ...(packageJson.peerDependencies || {}), }); } catch (e) { + console.log(`No package.json found in ${srcPath}`); externals = []; } - externalsCache[srcPath] = externals; - return externals; } async function transpile(srcPath, handler) { + const outSrcPath = path.join(srcPath, paths.appBuildDir); const fullPath = await getHandlerFilePath(srcPath, handler); - const compiledDir = "src"; + //const key = `${srcPath}/${handler}`.replace(/[\/.]/g, '-'); const external = await getAllExternalsForHandler(srcPath); + console.log(`Transpiling ${handler}...`); + const esbuilder = await esbuild.build({ external, bundle: true, @@ -141,89 +310,126 @@ async function transpile(srcPath, handler) { platform: "node", incremental: true, entryPoints: [fullPath], - outdir: path.join(paths.appBuildPath, compiledDir), + outdir: path.join(paths.appPath, outSrcPath), + //metafile: path.join(paths.appBuildPath, compiledDir, `.esbuild.${key}.json`), }); - const transpiler = { - esbuilder, - outHandler: { - handler, - srcPath: path.join(paths.appBuildDir, compiledDir), - }, - }; + const transpiler = createTranspilerObject(esbuilder, { + handler, + srcPath: outSrcPath, + }); - transpilers[getTranspilerKey(srcPath, handler)] = transpiler; + setTranspilerObject(srcPath, handler, transpiler); return transpiler; } -async function lint(srcPath) { - const linter = spawn( - await getCmdPath("eslint"), - [ - "--no-error-on-unmatched-pattern", - "--config", - path.join(paths.ownPath, "scripts", "util", ".eslintrc.js"), - "--ext", - ".js,.ts", - "--fix", - // Handling nested ESLint projects in Yarn Workspaces - // https://github.com/serverless-stack/serverless-stack/issues/11 - "--resolve-plugins-relative-to", - ".", - srcPath, - ], - { stdio: "inherit", cwd: paths.appPath } - ); +function lint(srcPath) { + // Need the ref for a closure + let linter = { ref: null }; + + const promise = new Promise((resolve) => { + linter.ref = spawn( + eslintExec, + [ + "--no-error-on-unmatched-pattern", + "--config", + path.join(paths.ownPath, "scripts", "util", ".eslintrc.internal.js"), + "--ext", + ".js,.ts", + "--fix", + // Handling nested ESLint projects in Yarn Workspaces + // https://github.com/serverless-stack/serverless-stack/issues/11 + "--resolve-plugins-relative-to", + ".", + srcPath, + ], + { stdio: "inherit", cwd: paths.appPath } + ); - linter.on("close", (code) => { - console.log(`child process exited with code ${code}`); + linter.ref.on("close", (code) => { + console.log(`child process exited with code ${code}`); + resolve(); + return; + }); }); - return linter; + return makeCancelable(promise, function () { + linter.ref && linter.ref.kill(); + }); } -async function typeCheck(srcPath) { - const isTs = await checkFileExists( - path.join(paths.appPath, srcPath, "tsconfig.json") - ); +function typeCheck(srcPath) { + // Need the ref for a closure + let typeChecker = { ref: null }; - if (!isTs) { - return null; - } + const tsconfigPath = path.join(paths.appPath, srcPath, "tsconfig.json"); - const typeChecker = spawn(await getCmdPath("tsc"), ["--noEmit"], { - stdio: "inherit", - cwd: path.join(paths.appPath, srcPath), - }); + const promise = new Promise((resolve) => { + checkFileExists(tsconfigPath).then((isTs) => { + if (!isTs) { + resolve(); + return; + } + + typeChecker.ref = spawn( + tscExec, + ["--noEmit", "--project", tsconfigPath], + { + stdio: "inherit", + cwd: path.join(paths.appPath, srcPath), + } + ); - typeChecker.on("close", (code) => { - console.log(`child process exited with code ${code}`); + typeChecker.ref.on("close", (code) => { + console.log(`child process exited with code ${code}`); + resolve(); + return; + }); + }); }); - return typeChecker; + return makeCancelable(promise, function () { + typeChecker.ref && typeChecker.ref.kill(); + }); } async function cancelAllChecks(checks) { - (await Promise.allSettled(checks)).forEach((result) => { - if (result.status === "fulfilled") { - result.value && result.value.kill(); - } - }); + checks.forEach((check) => check.cancel && check.cancel()); } -function onFileChange(file, srcPath, handlers) { - logger.log(`File change: ${file}`); - console.log(srcPath, handlers); +async function onFileChange(file, srcPath, handlers) { + let hasError = false; + + console.log(`File change: ${file}`); + + const transpilerPromises = handlers.map((handler) => + rebuildTranspilerQ.queue(srcPath, handler) + ); + + const lintPromise = lintQ.queue(srcPath); + const typeCheckPromise = typeCheckQ.queue(srcPath); + + console.log("Rebuilding..."); + + const results = await Promise.allSettled(transpilerPromises); + + results.forEach((result) => { + if (result.status === "rejected" && !hasError) { + hasError = true; + // Cancel all the running checks + cancelAllChecks([lintPromise, typeCheckPromise]); + } + }); } async function startBuilder(entryPoints) { let hasError = false; - const entryPointsIndexed = {}; - const transpilerPromises = []; + tscExec = await getCmdPath("tsc"); + eslintExec = await getCmdPath("eslint"); - externalsCache = {}; + const entryPointsIndexed = {}; function recordEntryPoint(srcPath, handler) { entryPointsIndexed[srcPath] = entryPointsIndexed[srcPath] @@ -239,49 +445,45 @@ async function startBuilder(entryPoints) { return entryPointsIndexed[srcPath]; } - entryPoints.forEach((entryPoint) => { + const transpilerPromises = entryPoints.map((entryPoint) => { const srcPath = entryPoint.debugSrcPath; - const handler = entryPoint.debugSrcHandler; + recordEntryPoint(srcPath, handler); + // Not catching esbuild errors // Letting it handle the error messages for now - transpilerPromises.push(transpile(srcPath, handler)); - - recordEntryPoint(srcPath, handler); + return transpile(srcPath, handler); }); const uniquePaths = getUniqueSrcPaths(); - const lintPromises = uniquePaths.map(lint); - const typeCheckPromises = uniquePaths.map(typeCheck); + const lintPromises = uniquePaths.map(lintQ.queue); + const typeCheckPromises = uniquePaths.map(typeCheckQ.queue); logger.log("Building Lambda code..."); + const results = await Promise.allSettled(transpilerPromises); results.forEach((result) => { - if (result.status === "fulfilled") { - return; + if (result.status === "rejected" && !hasError) { + hasError = true; + // Cancel all the running checks + cancelAllChecks(lintPromises.concat(typeCheckPromises)); } - - hasError = true; - // Cancel all the running checks - cancelAllChecks(lintPromises.concat(typeCheckPromises)); }); - if (!hasError) { - uniquePaths.forEach((srcPath) => { - chokidar - .watch(path.join(paths.appPath, srcPath), chokidarOptions) - .on("all", (file) => - onFileChange(file, srcPath, getHandlersForSrcPath(srcPath)) - ) - .on("error", (error) => console.log(`Watch ${error}`)) - .on("ready", () => { - console.log(`Watcher ready for ${srcPath}...`); - }); - }); - } + uniquePaths.forEach((srcPath) => { + chokidar + .watch(path.join(paths.appPath, srcPath), chokidarOptions) + .on("all", (ev, file) => + onFileChange(file, srcPath, getHandlersForSrcPath(srcPath)) + ) + .on("error", (error) => console.log(`Watch ${error}`)) + .on("ready", () => { + console.log(`Watcher ready for ${srcPath}...`); + }); + }); } function startClient(debugEndpoint) { @@ -332,14 +534,14 @@ async function onMessage(message) { } if (data.action === "failedToSendResponseDueToStubDisconnected") { logger.error( - chalk.grey(debugRequestId) + + chalk.grey(data.debugRequestId) + " Failed to send a response because the Lambda function is disconnected" ); return; } if (data.action === "failedToSendResponseDueToUnknown") { logger.error( - chalk.grey(debugRequestId) + + chalk.grey(data.debugRequestId) + " Failed to send a response to the Lambda function" ); return; @@ -380,10 +582,19 @@ async function onMessage(message) { const semiSpace = Math.floor(newSpace / 2); const oldSpace = context.memoryLimitInMB - newSpace; - const transpiledHandler = await getTranspiledHandler( - debugSrcPath, - debugSrcHandler - ); + let transpiledHandler; + + try { + transpiledHandler = await getTranspiledHandler( + debugSrcPath, + debugSrcHandler + ); + console.log(transpiledHandler); + } catch (e) { + console.log(e); + // TODO: Handle esbuild transpilation error + return; + } let lambdaResponse; const lambda = spawn( diff --git a/packages/cli/scripts/util/.eslintrc.babel.js b/packages/cli/scripts/util/.eslintrc.babel.js index 1d674f72bd..ff15b93ef0 100644 --- a/packages/cli/scripts/util/.eslintrc.babel.js +++ b/packages/cli/scripts/util/.eslintrc.babel.js @@ -2,7 +2,7 @@ module.exports = { parser: "@babel/eslint-parser", parserOptions: { babelOptions: { - configFile: "./build/.babelrc.json", + configFile: "./.build/.babelrc.json", }, }, plugins: ["@babel"], diff --git a/packages/cli/scripts/util/.eslintrc.internal.js b/packages/cli/scripts/util/.eslintrc.internal.js new file mode 100644 index 0000000000..301298b292 --- /dev/null +++ b/packages/cli/scripts/util/.eslintrc.internal.js @@ -0,0 +1,18 @@ +module.exports = { + root: true, + parser: "@babel/eslint-parser", + parserOptions: { + babelOptions: { + configFile: "./.build/.babelrc.json", + }, + }, + plugins: ["@babel"], + overrides: [ + { + files: ["*.ts", "*.tsx"], + parser: "@typescript-eslint/parser", + plugins: ["@typescript-eslint"], + extends: ["eslint:recommended", "plugin:@typescript-eslint/recommended"], + }, + ], +}; diff --git a/packages/cli/scripts/util/.eslintrc.js b/packages/cli/scripts/util/.eslintrc.js deleted file mode 100644 index 7ad8abca0c..0000000000 --- a/packages/cli/scripts/util/.eslintrc.js +++ /dev/null @@ -1,16 +0,0 @@ -module.exports = { - root: true, - parser: "@babel/eslint-parser", - parserOptions: { - babelOptions: { - configFile: "./build/.babelrc.json", - }, - }, - plugins: ["@babel"], - overrides: [{ - files: ["*.ts", "*.tsx"], - parser: "@typescript-eslint/parser", - plugins: ["@typescript-eslint"], - extends: ["eslint:recommended", "plugin:@typescript-eslint/recommended"], - }] -}; diff --git a/packages/cli/scripts/util/cdkOptions.js b/packages/cli/scripts/util/cdkOptions.js index 2c4f19454c..c9485fb657 100644 --- a/packages/cli/scripts/util/cdkOptions.js +++ b/packages/cli/scripts/util/cdkOptions.js @@ -1,6 +1,6 @@ "use strict"; module.exports = { - output: "build/cdk.out", - app: "node build/run.js", + output: ".build/cdk.out", + app: "node .build/run.js", }; diff --git a/packages/cli/scripts/util/paths.js b/packages/cli/scripts/util/paths.js index e742b445a0..781d3f04ef 100644 --- a/packages/cli/scripts/util/paths.js +++ b/packages/cli/scripts/util/paths.js @@ -14,7 +14,7 @@ const resolveApp = (relativePath) => path.resolve(appDirectory, relativePath); const resolveOwn = (relativePath) => path.resolve(__dirname, "..", relativePath); -const appBuildDir = "build"; +const appBuildDir = ".build"; module.exports = { appBuildDir, diff --git a/packages/cli/test/start/lib/index.js b/packages/cli/test/start/lib/index.js index 44be54699e..51bb8cf379 100644 --- a/packages/cli/test/start/lib/index.js +++ b/packages/cli/test/start/lib/index.js @@ -29,6 +29,7 @@ class MySampleStack extends sst.Stack { code: lambda.Code.fromAsset("src/api"), handler: "api.handler", runtime: lambda.Runtime.NODEJS_12_X, + timeout: cdk.Duration.seconds(10), environment: { TOPIC_ARN: topic.topicArn, }, diff --git a/packages/cli/test/start/src/api/api.ts b/packages/cli/test/start/src/api/api.ts index 2d97f7ae7b..da866ccb2e 100644 --- a/packages/cli/test/start/src/api/api.ts +++ b/packages/cli/test/start/src/api/api.ts @@ -1,18 +1,18 @@ import * as AWS from "aws-sdk"; +import mirrarray from "mirrarray"; import { APIGatewayEvent } from "aws-lambda"; import str from "./lib"; const sns = new AWS.SNS(); -export async function handler( - event: APIGatewayEvent, -) { - // hi +export async function handler(event: APIGatewayEvent) { console.log( `Logging from inside the API Lambda for route: ${event.routeKey}` ); + mirrarray(["this", "that", "another"]); + await sns .publish({ MessageStructure: "string", diff --git a/packages/cli/test/start/src/api/package.json b/packages/cli/test/start/src/api/package.json index 8fdc8de8aa..6e5544386d 100644 --- a/packages/cli/test/start/src/api/package.json +++ b/packages/cli/test/start/src/api/package.json @@ -5,7 +5,8 @@ "version": "0.0.1", "license": "ISC", "dependencies": { - "aws": "^0.0.3-2", - "aws-lambda": "^1.0.6" + "aws-lambda": "^1.0.6", + "aws-sdk": "^2.817.0", + "mirrarray": "^2.0.0" } } diff --git a/packages/cli/test/start/src/api/yarn.lock b/packages/cli/test/start/src/api/yarn.lock index 546d2f53b7..4c36540336 100644 --- a/packages/cli/test/start/src/api/yarn.lock +++ b/packages/cli/test/start/src/api/yarn.lock @@ -19,7 +19,7 @@ aws-lambda@^1.0.6: js-yaml "^3.13.1" watchpack "^2.0.0-beta.10" -aws-sdk@*: +aws-sdk@*, aws-sdk@^2.817.0: version "2.817.0" resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.817.0.tgz#3a97b690b0ec494cf8ee927affb3973cf26abcc8" integrity sha512-DZIdWpkcqbqsCz0MEskHsyFaqc6Tk9XIFqXAg1AKHbOgC8nU45bz+Y2osX77pU01JkS/G7OhGtGmlKDrOPvFwg== @@ -34,31 +34,11 @@ aws-sdk@*: uuid "3.3.2" xml2js "0.4.19" -aws@^0.0.3-2: - version "0.0.3-2" - resolved "https://registry.yarnpkg.com/aws/-/aws-0.0.3-2.tgz#8c4c170c47364b309fdfe4b0fe4c17104483fa46" - integrity sha1-jEwXDEc2SzCf3+Sw/kwXEESD+kY= - dependencies: - vows ">= 0.5.1" - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= - base64-js@^1.0.2: version "1.5.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== -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" - buffer@4.9.2: version "4.9.2" resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" @@ -73,16 +53,6 @@ commander@^3.0.2: resolved "https://registry.yarnpkg.com/commander/-/commander-3.0.2.tgz#6837c3fb677ad9933d1cfba42dd14d5117d6b39e" integrity sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow== -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -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== - esprima@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" @@ -93,33 +63,11 @@ events@1.1.1: resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" integrity sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ= -eyes@~0.1.6: - version "0.1.8" - resolved "https://registry.yarnpkg.com/eyes/-/eyes-0.1.8.tgz#62cf120234c683785d902348a800ef3e0cc20bc0" - integrity sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A= - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - glob-to-regexp@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== -glob@^7.1.2: - version "7.1.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" - integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== - 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" - graceful-fs@^4.1.2: version "4.2.4" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" @@ -135,19 +83,6 @@ ieee754@^1.1.4: resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - isarray@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" @@ -166,24 +101,10 @@ js-yaml@^3.13.1: argparse "^1.0.7" esprima "^4.0.0" -minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -once@^1.3.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -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 sha1-F0uSaHNVNP+8es5r9TpanhtcX18= +mirrarray@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/mirrarray/-/mirrarray-2.0.0.tgz#f712a091269b79d4b3c8d3344242756bb0a5c671" + integrity sha512-z7YW6OC9zWriGlC+pM01GEnaqnzzAXwrNtaV2mPl2J0BmCRexAPLiWoaPH5zNvdrpZdijHD9/IQAovptiLPe5w== punycode@1.3.2: version "1.3.2" @@ -223,15 +144,6 @@ uuid@3.3.2: resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== -"vows@>= 0.5.1": - version "0.8.3" - resolved "https://registry.yarnpkg.com/vows/-/vows-0.8.3.tgz#36e353c2bca3a93902fc32eb8c5baab2e3a93f10" - integrity sha512-PVIxa/ovXhrw5gA3mz6M+ZF3PHlqX4tutR2p/y9NWPAaFVKcWBE8b2ktfr0opQM/qFmcOVWKjSCJVjnYOvjXhw== - dependencies: - diff "^4.0.1" - eyes "~0.1.6" - glob "^7.1.2" - watchpack@^2.0.0-beta.10: version "2.1.0" resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.1.0.tgz#e63194736bf3aa22026f7b191cd57907b0f9f696" @@ -240,11 +152,6 @@ watchpack@^2.0.0-beta.10: glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - xml2js@0.4.19: version "0.4.19" resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.19.tgz#686c20f213209e94abf0d1bcf1efaa291c7827a7" From ff41ea21b5c79b3bac1a8c0b2fbb49e69e17be0e Mon Sep 17 00:00:00 2001 From: Jay Date: Mon, 28 Dec 2020 13:27:57 -0500 Subject: [PATCH 036/123] Using esbuild metafile --- packages/cli/scripts/start.js | 332 +++++++++++++++++++++++----------- 1 file changed, 227 insertions(+), 105 deletions(-) diff --git a/packages/cli/scripts/start.js b/packages/cli/scripts/start.js index 1a8701ab1d..6f6f03665c 100644 --- a/packages/cli/scripts/start.js +++ b/packages/cli/scripts/start.js @@ -36,28 +36,33 @@ const WEBSOCKET_CLOSE_CODE = { NEW_CLIENT_CONNECTED: 4901, }; -const transpilers = {}; -const transpilerStatus = { - IDLE: "idle", - BUSY: "busy", -}; const transpilerTemplateObject = { - status: transpilerStatus.IDLE, + srcPath: null, + handler: null, esbuilder: null, + inputFiles: null, outHandler: null, - outHandlerCbs: [], }; let ws; let tscExec; let eslintExec; +const transpilers = {}; +const srcPathsIndex = {}; +const inputFilesIndex = {}; const rebuildTranspilerQ = createPromiseQueue(function (srcPath, handler) { - const transpiler = getTranspilerObject(srcPath, handler); + const transpiler = getTranspiler(srcPath, handler); return rebuildTranspiler(transpiler); }); -const lintQ = createPromiseQueue(lint); -const typeCheckQ = createPromiseQueue(typeCheck); +const lintQ = createPromiseQueue(function (srcPath) { + // Esnure that only the srcPath is used for indexing the queue + return lint(srcPath); +}); +const typeCheckQ = createPromiseQueue(function (srcPath) { + // Esnure that only the srcPath is used for indexing the queue + return typeCheck(srcPath); +}); function makeCancelable(promise, onCancel) { let hasCanceled_ = false; @@ -131,10 +136,12 @@ function createPromiseQueue(fn) { const promise = (call.promise = fn(...call.args)); - return promise.then( + promise.then( (value) => handleNext(call, "fulfilled", value), (reason) => handleNext(call, "rejected", reason) ); + + return promise; } function onBusyComplete(call, resultStatus, result) { @@ -199,24 +206,95 @@ function setTimer(lambda, handleResponse, timeoutInMs) { }, timeoutInMs); } -function createTranspilerObject(esbuilder, outHandler) { - return { +function getInputFilesForTranspiler(transpiler) { + return transpiler.inputFiles; +} + +function getSrcPathForTranspiler(transpiler) { + return transpiler.srcPath; +} + +function getHandlerForTranspiler(transpiler) { + return transpiler.handler; +} + +function getEntryPointKeys() { + return Object.keys(transpilers); +} + +function getTranspilerForKey(key) { + return transpilers[key]; +} + +function getEsbuilderForTranspiler(transpiler) { + return transpiler.esbuilder; +} + +function addTranspiler({ + srcPath, + handler, + esbuilder, + outHandler, + inputFiles, +}) { + const transpiler = { ...transpilerTemplateObject, + srcPath, + handler, esbuilder, + inputFiles, outHandler, }; + + return (transpilers[`${srcPath}/${handler}`] = transpiler); } -function getTranspilerObject(srcPath, handler) { +function getTranspiler(srcPath, handler) { return transpilers[`${srcPath}/${handler}`]; } -function setTranspilerObject(srcPath, handler, transpiler) { - return (transpilers[`${srcPath}/${handler}`] = transpiler); +function getAllInputFiles() { + return Object.keys(inputFilesIndex); +} + +function addEntryPointKeyForInputFile(file, key) { + if (inputFilesIndex[file]) { + inputFilesIndex.file.push(key); + } else { + inputFilesIndex[file] = [key]; + } +} + +function getEntryPointKeysForInputFile(file) { + return inputFilesIndex[file]; +} + +function addInputFilesForSrcPath(srcPath, inputFiles) { + function addToInputFilesIndex(index, inputFiles) { + inputFiles.forEach((file) => (index[file] = true)); + return index; + } + + if (srcPathsIndex[srcPath]) { + srcPathsIndex[srcPath] = addToInputFilesIndex( + srcPathsIndex[srcPath], + inputFiles + ); + } else { + srcPathsIndex[srcPath] = addToInputFilesIndex({}, inputFiles); + } +} + +function getUniqueSrcPaths() { + return Object.keys(srcPathsIndex); +} + +function getInputFilesForSrcPath(srcPath) { + return Object.keys(srcPathsIndex[srcPath]); } function rebuildTranspiler(transpiler) { - return makeCancelable(transpiler.esbuilder.rebuild()); + return makeCancelable(getEsbuilderForTranspiler(transpiler).rebuild()); //return makeCancelable(function() { //return transpiler.esbuilder.rebuild(); // TODO: Remove @@ -226,7 +304,7 @@ function rebuildTranspiler(transpiler) { } async function getTranspiledHandler(srcPath, handler) { - const transpiler = getTranspilerObject(srcPath, handler); + const transpiler = getTranspiler(srcPath, handler); console.log(`Getting latest transpiler output for ${handler}...`); @@ -243,6 +321,10 @@ async function checkFileExists(file) { .catch(() => false); } +function checkFileExistsSync(file) { + return fs.existsSync(file); +} + async function getCmdPath(cmd) { const appPath = path.join(paths.appNodeModules, ".bin", cmd); const ownPath = path.join(paths.ownNodeModules, ".bin", cmd); @@ -271,10 +353,10 @@ async function getHandlerFilePath(srcPath, handler) { } async function getAllExternalsForHandler(srcPath) { - let packageJson, externals; + let externals; try { - packageJson = JSON.parse( + const packageJson = JSON.parse( await fs.promises.readFile(path.join(srcPath, "package.json"), { encoding: "utf-8", }) @@ -292,11 +374,46 @@ async function getAllExternalsForHandler(srcPath) { return externals; } +async function readEsbuildMetafile(file) { + let metaJson; + + try { + metaJson = JSON.parse( + await fs.promises.readFile(file, { encoding: "utf-8" }) + ); + } catch (e) { + console.log("There was a problem reading the build metafile"); + console.log(e); + } + + return Object.keys(metaJson.inputs).map((input) => path.resolve(input)); +} + +function indexInputFiles() { + getEntryPointKeys().forEach((key) => { + const transpiler = getTranspilerForKey(key); + + const srcPath = getSrcPathForTranspiler(transpiler); + const inputFiles = getInputFilesForTranspiler(transpiler); + + if (!inputFiles) { + return; + } + + addInputFilesForSrcPath(srcPath, inputFiles); + + inputFiles.forEach((file) => addEntryPointKeyForInputFile(file, key)); + }); +} + async function transpile(srcPath, handler) { + const key = `${srcPath}/${handler}`.replace(/[/.]/g, "-"); + const outSrcPath = path.join(srcPath, paths.appBuildDir); - const fullPath = await getHandlerFilePath(srcPath, handler); + const outSrcFullPath = path.join(paths.appPath, outSrcPath); + const metafile = path.join(outSrcFullPath, `.esbuild.${key}.json`); - //const key = `${srcPath}/${handler}`.replace(/[\/.]/g, '-'); + const fullPath = await getHandlerFilePath(srcPath, handler); const external = await getAllExternalsForHandler(srcPath); @@ -304,6 +421,7 @@ async function transpile(srcPath, handler) { const esbuilder = await esbuild.build({ external, + metafile, bundle: true, format: "cjs", sourcemap: true, @@ -311,20 +429,23 @@ async function transpile(srcPath, handler) { incremental: true, entryPoints: [fullPath], outdir: path.join(paths.appPath, outSrcPath), - //metafile: path.join(paths.appBuildPath, compiledDir, `.esbuild.${key}.json`), }); - const transpiler = createTranspilerObject(esbuilder, { + return addTranspiler({ + srcPath, handler, - srcPath: outSrcPath, + esbuilder, + outHandler: { + handler, + srcPath: outSrcPath, + }, + inputFiles: await readEsbuildMetafile(metafile), }); - - setTranspilerObject(srcPath, handler, transpiler); - - return transpiler; } function lint(srcPath) { + const inputFiles = getInputFilesForSrcPath(srcPath); + // Need the ref for a closure let linter = { ref: null }; @@ -342,8 +463,9 @@ function lint(srcPath) { // https://github.com/serverless-stack/serverless-stack/issues/11 "--resolve-plugins-relative-to", ".", - srcPath, + ...inputFiles, ], + // TODO: Check if setting the cwd to the root is okay { stdio: "inherit", cwd: paths.appPath } ); @@ -355,60 +477,66 @@ function lint(srcPath) { }); return makeCancelable(promise, function () { + console.log(`Cancelling Linter ${linter.ref}`); linter.ref && linter.ref.kill(); }); } function typeCheck(srcPath) { + const inputFiles = getInputFilesForSrcPath(srcPath); + // Need the ref for a closure let typeChecker = { ref: null }; - const tsconfigPath = path.join(paths.appPath, srcPath, "tsconfig.json"); - const promise = new Promise((resolve) => { - checkFileExists(tsconfigPath).then((isTs) => { - if (!isTs) { - resolve(); - return; - } + const tsconfigPath = path.join(paths.appPath, srcPath, "tsconfig.json"); - typeChecker.ref = spawn( - tscExec, - ["--noEmit", "--project", tsconfigPath], - { - stdio: "inherit", - cwd: path.join(paths.appPath, srcPath), - } - ); + const isTs = checkFileExistsSync(tsconfigPath); - typeChecker.ref.on("close", (code) => { - console.log(`child process exited with code ${code}`); - resolve(); - return; - }); + if (!isTs) { + resolve(); + return; + } + + typeChecker.ref = spawn(tscExec, ["--noEmit", ...inputFiles], { + stdio: "inherit", + cwd: path.join(paths.appPath, srcPath), + }); + + typeChecker.ref.on("close", (code) => { + console.log(`child process exited with code ${code}`); + resolve(); + return; }); }); return makeCancelable(promise, function () { + console.log(`Cancelling Type Checker ${typeChecker.ref}`); typeChecker.ref && typeChecker.ref.kill(); }); } -async function cancelAllChecks(checks) { - checks.forEach((check) => check.cancel && check.cancel()); -} +//async function cancelAllChecks(checks) { +// checks.forEach((check) => check.cancel && check.cancel()); +//} -async function onFileChange(file, srcPath, handlers) { +async function onFileChange(ev, file) { let hasError = false; console.log(`File change: ${file}`); - const transpilerPromises = handlers.map((handler) => - rebuildTranspilerQ.queue(srcPath, handler) - ); + const entryPointKeys = getEntryPointKeysForInputFile(file); + + const transpilerPromises = entryPointKeys.map((key) => { + const transpiler = getTranspilerForKey(key); + const srcPath = getSrcPathForTranspiler(transpiler); + const handler = getHandlerForTranspiler(transpiler); + + rebuildTranspilerQ.queue(srcPath, handler); + }); - const lintPromise = lintQ.queue(srcPath); - const typeCheckPromise = typeCheckQ.queue(srcPath); + // const lintPromise = lintQ.queue(srcPath); + // const typeCheckPromise = typeCheckQ.queue(srcPath); console.log("Rebuilding..."); @@ -416,74 +544,68 @@ async function onFileChange(file, srcPath, handlers) { results.forEach((result) => { if (result.status === "rejected" && !hasError) { - hasError = true; - // Cancel all the running checks - cancelAllChecks([lintPromise, typeCheckPromise]); + // hasError = true; + // // Cancel all the running checks + // cancelAllChecks([lintPromise, typeCheckPromise]); } }); } async function startBuilder(entryPoints) { - let hasError = false; - - tscExec = await getCmdPath("tsc"); - eslintExec = await getCmdPath("eslint"); - - const entryPointsIndexed = {}; - - function recordEntryPoint(srcPath, handler) { - entryPointsIndexed[srcPath] = entryPointsIndexed[srcPath] - ? entryPointsIndexed[srcPath].push(handler) - : [handler]; - } - - function getUniqueSrcPaths() { - return Object.keys(entryPointsIndexed); - } - - function getHandlersForSrcPath(srcPath) { - return entryPointsIndexed[srcPath]; - } - const transpilerPromises = entryPoints.map((entryPoint) => { const srcPath = entryPoint.debugSrcPath; const handler = entryPoint.debugSrcHandler; - recordEntryPoint(srcPath, handler); - // Not catching esbuild errors // Letting it handle the error messages for now return transpile(srcPath, handler); }); - const uniquePaths = getUniqueSrcPaths(); - - const lintPromises = uniquePaths.map(lintQ.queue); - const typeCheckPromises = uniquePaths.map(typeCheckQ.queue); - - logger.log("Building Lambda code..."); + logger.log("Transpiling Lambda code..."); const results = await Promise.allSettled(transpilerPromises); results.forEach((result) => { - if (result.status === "rejected" && !hasError) { - hasError = true; - // Cancel all the running checks - cancelAllChecks(lintPromises.concat(typeCheckPromises)); + if (result.status === "rejected") { + console.log("Error transpiling"); + console.log(result); } }); - uniquePaths.forEach((srcPath) => { - chokidar - .watch(path.join(paths.appPath, srcPath), chokidarOptions) - .on("all", (ev, file) => - onFileChange(file, srcPath, getHandlersForSrcPath(srcPath)) - ) - .on("error", (error) => console.log(`Watch ${error}`)) - .on("ready", () => { - console.log(`Watcher ready for ${srcPath}...`); - }); + // Create an index of all the input files detected + indexInputFiles(); + + const srcPaths = getUniqueSrcPaths(); + + if (srcPaths.length === 0) { + console.log("Nothing has been transpiled"); + return; + } + + const lintPromises = []; + const typeCheckPromises = []; + + tscExec = await getCmdPath("tsc"); + eslintExec = await getCmdPath("eslint"); + + srcPaths.forEach((srcPath) => { + lintPromises.push(lintQ.queue(srcPath)); + typeCheckPromises.push(typeCheckQ.queue(srcPath)); }); + + const allInputFiles = getAllInputFiles(); + + chokidar + .watch(allInputFiles, chokidarOptions) + .on("all", onFileChange) + .on("error", (error) => console.log(`Watch ${error}`)) + .on("ready", () => { + console.log(`Watcher ready for ${allInputFiles.length} files...`); + }); + + // await Promise.allSettled(lintPromises.concat(typeCheckPromises)); + // + // console.log("Done building"); } function startClient(debugEndpoint) { From 90edf7858ac76ada456941fa92df85e535dc5e28 Mon Sep 17 00:00:00 2001 From: Jay Date: Mon, 28 Dec 2020 21:23:36 -0500 Subject: [PATCH 037/123] Using esbuild metafile for linting and typechecking --- packages/cli/scripts/start.js | 220 ++++++++++++++++------ packages/cli/test/start/src/api/api.ts | 2 + packages/cli/test/start/src/api/import.js | 1 + 3 files changed, 165 insertions(+), 58 deletions(-) create mode 100644 packages/cli/test/start/src/api/import.js diff --git a/packages/cli/scripts/start.js b/packages/cli/scripts/start.js index 6f6f03665c..45f4f31e70 100644 --- a/packages/cli/scripts/start.js +++ b/packages/cli/scripts/start.js @@ -39,21 +39,29 @@ const WEBSOCKET_CLOSE_CODE = { const transpilerTemplateObject = { srcPath: null, handler: null, + tsconfig: null, esbuilder: null, inputFiles: null, outHandler: null, }; +const srcPathsIndexTemplateObject = { + tsconfig: null, + inputFiles: null, +}; let ws; +let watcher; let tscExec; let eslintExec; -const transpilers = {}; -const srcPathsIndex = {}; -const inputFilesIndex = {}; +let esbuildService; + +let transpilers = {}; +let srcPathsIndex = {}; +let inputFilesIndex = {}; const rebuildTranspilerQ = createPromiseQueue(function (srcPath, handler) { const transpiler = getTranspiler(srcPath, handler); - return rebuildTranspiler(transpiler); + return makeCancelable(rebuildTranspiler(transpiler)); }); const lintQ = createPromiseQueue(function (srcPath) { // Esnure that only the srcPath is used for indexing the queue @@ -210,6 +218,10 @@ function getInputFilesForTranspiler(transpiler) { return transpiler.inputFiles; } +function getTsconfigForTranspiler(transpiler) { + return transpiler.tsconfig; +} + function getSrcPathForTranspiler(transpiler) { return transpiler.srcPath; } @@ -233,6 +245,7 @@ function getEsbuilderForTranspiler(transpiler) { function addTranspiler({ srcPath, handler, + tsconfig, esbuilder, outHandler, inputFiles, @@ -241,6 +254,7 @@ function addTranspiler({ ...transpilerTemplateObject, srcPath, handler, + tsconfig, esbuilder, inputFiles, outHandler, @@ -249,6 +263,10 @@ function addTranspiler({ return (transpilers[`${srcPath}/${handler}`] = transpiler); } +function updateTranspilerInputFile(transpiler, inputFiles) { + transpiler.inputFiles = inputFiles; +} + function getTranspiler(srcPath, handler) { return transpilers[`${srcPath}/${handler}`]; } @@ -257,9 +275,19 @@ function getAllInputFiles() { return Object.keys(inputFilesIndex); } +function diffInputFiles(list1, list2) { + const remove = []; + const add = []; + + list1.forEach((item) => list2.indexOf(item) === -1 && remove.push(item)); + list2.forEach((item) => list1.indexOf(item) === -1 && add.push(item)); + + return { add, remove }; +} + function addEntryPointKeyForInputFile(file, key) { if (inputFilesIndex[file]) { - inputFilesIndex.file.push(key); + inputFilesIndex[file].push(key); } else { inputFilesIndex[file] = [key]; } @@ -269,19 +297,26 @@ function getEntryPointKeysForInputFile(file) { return inputFilesIndex[file]; } -function addInputFilesForSrcPath(srcPath, inputFiles) { +function addToSrcPathIndex(srcPath, inputFiles, tsconfig) { function addToInputFilesIndex(index, inputFiles) { inputFiles.forEach((file) => (index[file] = true)); return index; } - if (srcPathsIndex[srcPath]) { - srcPathsIndex[srcPath] = addToInputFilesIndex( - srcPathsIndex[srcPath], + const srcPathObject = srcPathsIndex[srcPath]; + + if (srcPathObject) { + srcPathObject.inputFiles = addToInputFilesIndex( + srcPathObject.inputFiles, inputFiles ); + srcPathObject.tsconfig = srcPathObject.tsconfig || tsconfig; } else { - srcPathsIndex[srcPath] = addToInputFilesIndex({}, inputFiles); + srcPathsIndex[srcPath] = { + ...srcPathsIndexTemplateObject, + tsconfig, + inputFiles: addToInputFilesIndex({}, inputFiles), + }; } } @@ -289,18 +324,23 @@ function getUniqueSrcPaths() { return Object.keys(srcPathsIndex); } +function getUniqueSrcPathsForEntryPointKeys(entryPointKeys) { + const srcPaths = {}; + + entryPointKeys.forEach((key) => { + const srcPath = getSrcPathForTranspiler(getTranspilerForKey(key)); + srcPaths[srcPath] = true; + }); + + return Object.keys(srcPaths); +} + function getInputFilesForSrcPath(srcPath) { - return Object.keys(srcPathsIndex[srcPath]); + return Object.keys(srcPathsIndex[srcPath].inputFiles); } -function rebuildTranspiler(transpiler) { - return makeCancelable(getEsbuilderForTranspiler(transpiler).rebuild()); - //return makeCancelable(function() { - //return transpiler.esbuilder.rebuild(); - // TODO: Remove - //console.log("Fake rebuild..."); - //return sleep(3000); - //}()); +function getTsconfigForSrcPath(srcPath) { + return srcPathsIndex[srcPath].tsconfig; } async function getTranspiledHandler(srcPath, handler) { @@ -321,10 +361,6 @@ async function checkFileExists(file) { .catch(() => false); } -function checkFileExistsSync(file) { - return fs.existsSync(file); -} - async function getCmdPath(cmd) { const appPath = path.join(paths.appNodeModules, ".bin", cmd); const ownPath = path.join(paths.ownNodeModules, ".bin", cmd); @@ -352,6 +388,13 @@ async function getHandlerFilePath(srcPath, handler) { return jsFile; } +function getEsbuildMetafilePath(srcPath, handler) { + const key = `${srcPath}/${handler}`.replace(/[/.]/g, "-"); + const outSrcFullPath = path.join(paths.appPath, srcPath, paths.appBuildDir); + + return path.join(outSrcFullPath, `.esbuild.${key}.json`); +} + async function getAllExternalsForHandler(srcPath) { let externals; @@ -374,7 +417,7 @@ async function getAllExternalsForHandler(srcPath) { return externals; } -async function readEsbuildMetafile(file) { +async function getInputFilesFromEsbuildMetafile(file) { let metaJson; try { @@ -389,10 +432,18 @@ async function readEsbuildMetafile(file) { return Object.keys(metaJson.inputs).map((input) => path.resolve(input)); } +function reIndexInputFiles() { + srcPathsIndex = {}; + inputFilesIndex = {}; + + indexInputFiles(); +} + function indexInputFiles() { getEntryPointKeys().forEach((key) => { const transpiler = getTranspilerForKey(key); + const tsconfig = getTsconfigForTranspiler(transpiler); const srcPath = getSrcPathForTranspiler(transpiler); const inputFiles = getInputFilesForTranspiler(transpiler); @@ -400,28 +451,28 @@ function indexInputFiles() { return; } - addInputFilesForSrcPath(srcPath, inputFiles); + addToSrcPathIndex(srcPath, inputFiles, tsconfig); inputFiles.forEach((file) => addEntryPointKeyForInputFile(file, key)); }); } async function transpile(srcPath, handler) { - const key = `${srcPath}/${handler}`.replace(/[/.]/g, "-"); - + const metafile = getEsbuildMetafilePath(srcPath, handler); const outSrcPath = path.join(srcPath, paths.appBuildDir); - const outSrcFullPath = path.join(paths.appPath, outSrcPath); - const metafile = path.join(outSrcFullPath, `.esbuild.${key}.json`); const fullPath = await getHandlerFilePath(srcPath, handler); - const external = await getAllExternalsForHandler(srcPath); + const tsconfigPath = path.join(paths.appPath, srcPath, "tsconfig.json"); + const isTs = await checkFileExists(tsconfigPath); + const tsconfig = isTs ? tsconfigPath : undefined; - console.log(`Transpiling ${handler}...`); + const external = await getAllExternalsForHandler(srcPath); - const esbuilder = await esbuild.build({ + const esbuildOptions = { external, metafile, + tsconfig, bundle: true, format: "cjs", sourcemap: true, @@ -429,20 +480,44 @@ async function transpile(srcPath, handler) { incremental: true, entryPoints: [fullPath], outdir: path.join(paths.appPath, outSrcPath), - }); + }; + + console.log(`Transpiling ${handler}...`); + + const esbuilder = await esbuild.build(esbuildOptions); return addTranspiler({ srcPath, handler, + tsconfig, esbuilder, outHandler: { handler, srcPath: outSrcPath, }, - inputFiles: await readEsbuildMetafile(metafile), + inputFiles: await getInputFilesFromEsbuildMetafile(metafile), }); } +async function rebuildTranspiler(transpiler) { + const metafile = getEsbuildMetafilePath( + getSrcPathForTranspiler(transpiler), + getHandlerForTranspiler(transpiler) + ); + + await getEsbuilderForTranspiler(transpiler).rebuild(); + + const inputFiles = await getInputFilesFromEsbuildMetafile(metafile); + updateTranspilerInputFile(transpiler, inputFiles); + //return makeCancelable(); + //return makeCancelable(function() { + //return transpiler.esbuilder.rebuild(); + // TODO: Remove + //console.log("Fake rebuild..."); + //return sleep(3000); + //}()); +} + function lint(srcPath) { const inputFiles = getInputFilesForSrcPath(srcPath); @@ -477,23 +552,22 @@ function lint(srcPath) { }); return makeCancelable(promise, function () { - console.log(`Cancelling Linter ${linter.ref}`); + console.log("Cancelling Linter"); linter.ref && linter.ref.kill(); }); } function typeCheck(srcPath) { - const inputFiles = getInputFilesForSrcPath(srcPath); + const tsconfig = getTsconfigForSrcPath(srcPath); + const inputFiles = getInputFilesForSrcPath(srcPath).filter((file) => + file.endsWith(".ts") + ); // Need the ref for a closure let typeChecker = { ref: null }; const promise = new Promise((resolve) => { - const tsconfigPath = path.join(paths.appPath, srcPath, "tsconfig.json"); - - const isTs = checkFileExistsSync(tsconfigPath); - - if (!isTs) { + if (!tsconfig) { resolve(); return; } @@ -511,15 +585,11 @@ function typeCheck(srcPath) { }); return makeCancelable(promise, function () { - console.log(`Cancelling Type Checker ${typeChecker.ref}`); + console.log("Cancelling Type Checker"); typeChecker.ref && typeChecker.ref.kill(); }); } -//async function cancelAllChecks(checks) { -// checks.forEach((check) => check.cancel && check.cancel()); -//} - async function onFileChange(ev, file) { let hasError = false; @@ -527,31 +597,63 @@ async function onFileChange(ev, file) { const entryPointKeys = getEntryPointKeysForInputFile(file); + if (!entryPointKeys) { + console.log("File is not linked to the entry points"); + return; + } + const transpilerPromises = entryPointKeys.map((key) => { const transpiler = getTranspilerForKey(key); const srcPath = getSrcPathForTranspiler(transpiler); const handler = getHandlerForTranspiler(transpiler); - rebuildTranspilerQ.queue(srcPath, handler); + return rebuildTranspilerQ.queue(srcPath, handler); }); - // const lintPromise = lintQ.queue(srcPath); - // const typeCheckPromise = typeCheckQ.queue(srcPath); - console.log("Rebuilding..."); - const results = await Promise.allSettled(transpilerPromises); - - results.forEach((result) => { - if (result.status === "rejected" && !hasError) { - // hasError = true; - // // Cancel all the running checks - // cancelAllChecks([lintPromise, typeCheckPromise]); + (await Promise.allSettled(transpilerPromises)).forEach((result) => { + if (result.status === "rejected") { + hasError = true; + console.log("Error transpiling"); + console.log(result); } }); + + if (hasError) { + return; + } + + const srcPaths = getUniqueSrcPathsForEntryPointKeys(entryPointKeys); + + srcPaths.forEach((srcPath) => { + lintQ.queue(srcPath); + typeCheckQ.queue(srcPath); + }); + + const oldInputFiles = getAllInputFiles(); + + // Re-index all input files + reIndexInputFiles(); + + const newInputFiles = getAllInputFiles(); + + const diff = diffInputFiles(oldInputFiles, newInputFiles); + + if (diff.add.length > 0) { + watcher.add(diff.add); + } + + if (diff.remove.length > 0) { + await watcher.unwatch(diff.remove); + } + + console.log("Done building"); } async function startBuilder(entryPoints) { + esbuildService = await esbuild.startService(); + const transpilerPromises = entryPoints.map((entryPoint) => { const srcPath = entryPoint.debugSrcPath; const handler = entryPoint.debugSrcHandler; @@ -565,6 +667,8 @@ async function startBuilder(entryPoints) { const results = await Promise.allSettled(transpilerPromises); + esbuildService.stop(); + results.forEach((result) => { if (result.status === "rejected") { console.log("Error transpiling"); @@ -595,7 +699,7 @@ async function startBuilder(entryPoints) { const allInputFiles = getAllInputFiles(); - chokidar + watcher = chokidar .watch(allInputFiles, chokidarOptions) .on("all", onFileChange) .on("error", (error) => console.log(`Watch ${error}`)) diff --git a/packages/cli/test/start/src/api/api.ts b/packages/cli/test/start/src/api/api.ts index da866ccb2e..9fe9342dac 100644 --- a/packages/cli/test/start/src/api/api.ts +++ b/packages/cli/test/start/src/api/api.ts @@ -3,10 +3,12 @@ import mirrarray from "mirrarray"; import { APIGatewayEvent } from "aws-lambda"; import str from "./lib"; +//import dummy from "./import"; const sns = new AWS.SNS(); export async function handler(event: APIGatewayEvent) { + //dummy(); console.log( `Logging from inside the API Lambda for route: ${event.routeKey}` ); diff --git a/packages/cli/test/start/src/api/import.js b/packages/cli/test/start/src/api/import.js new file mode 100644 index 0000000000..ea9b101e1c --- /dev/null +++ b/packages/cli/test/start/src/api/import.js @@ -0,0 +1 @@ +export default function () {} From 02ffeb56632e40392f735817fd044616664af892 Mon Sep 17 00:00:00 2001 From: Jay Date: Wed, 30 Dec 2020 13:19:02 -0500 Subject: [PATCH 038/123] Moving cdk builds to use esbuild --- packages/cli/assets/cdk-wrapper/run.js | 4 +- packages/cli/bin/scripts.js | 5 +- packages/cli/scripts/util/.eslintrc.babel.js | 9 - .../cli/scripts/util/.eslintrc.typescript.js | 6 - packages/cli/scripts/util/cdkHelpers.js | 190 ++++++++++++------ 5 files changed, 133 insertions(+), 81 deletions(-) delete mode 100644 packages/cli/scripts/util/.eslintrc.babel.js delete mode 100644 packages/cli/scripts/util/.eslintrc.typescript.js diff --git a/packages/cli/assets/cdk-wrapper/run.js b/packages/cli/assets/cdk-wrapper/run.js index 957d2fc0f2..97c02f549e 100644 --- a/packages/cli/assets/cdk-wrapper/run.js +++ b/packages/cli/assets/cdk-wrapper/run.js @@ -16,11 +16,11 @@ const sst = require("@serverless-stack/resources"); const config = require("./sst-merged.json"); // Check first and throw an error -if (!fs.existsSync(path.join(__dirname, "index.js"))) { +if (!fs.existsSync(path.join(__dirname, "lib", "index.js"))) { handlerNotFound(true); } -const handler = require("./"); +const handler = require("./lib"); if (!handler.default) { handlerNotFound(false); diff --git a/packages/cli/bin/scripts.js b/packages/cli/bin/scripts.js index 9d994b8ca4..059e118802 100755 --- a/packages/cli/bin/scripts.js +++ b/packages/cli/bin/scripts.js @@ -187,9 +187,10 @@ switch (script) { const cliInfo = getCliInfo(); // Prepare app - const config = prepareCdk(argv, cliInfo); + prepareCdk(argv, cliInfo) + .then((config) => internals[script](argv, config, cliInfo)) + .then(() => process.exit(0)); - Promise.resolve(internals[script](argv, config, cliInfo)); break; } case cmd.start: diff --git a/packages/cli/scripts/util/.eslintrc.babel.js b/packages/cli/scripts/util/.eslintrc.babel.js deleted file mode 100644 index ff15b93ef0..0000000000 --- a/packages/cli/scripts/util/.eslintrc.babel.js +++ /dev/null @@ -1,9 +0,0 @@ -module.exports = { - parser: "@babel/eslint-parser", - parserOptions: { - babelOptions: { - configFile: "./.build/.babelrc.json", - }, - }, - plugins: ["@babel"], -}; diff --git a/packages/cli/scripts/util/.eslintrc.typescript.js b/packages/cli/scripts/util/.eslintrc.typescript.js deleted file mode 100644 index fca472f38b..0000000000 --- a/packages/cli/scripts/util/.eslintrc.typescript.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - root: true, - parser: "@typescript-eslint/parser", - plugins: ["@typescript-eslint"], - extends: ["eslint:recommended", "plugin:@typescript-eslint/recommended"], -}; diff --git a/packages/cli/scripts/util/cdkHelpers.js b/packages/cli/scripts/util/cdkHelpers.js index fed238b398..f084e866af 100644 --- a/packages/cli/scripts/util/cdkHelpers.js +++ b/packages/cli/scripts/util/cdkHelpers.js @@ -1,16 +1,20 @@ "use strict"; const path = require("path"); +const util = require("util"); const fs = require("fs-extra"); const chalk = require("chalk"); -const spawn = require("cross-spawn"); +const esbuild = require("esbuild"); const sstCore = require("@serverless-stack/core"); +const exec = util.promisify(require("child_process").exec); const paths = require("./paths"); const logger = require("../../lib/logger"); const { isSubProcessError } = require("../../lib/errors"); -const isTs = fs.existsSync(path.join(paths.appPath, "tsconfig.json")); +const buildDir = path.join(paths.appBuildPath, "lib"); +const tsconfig = path.join(paths.appPath, "tsconfig.json"); +const isTs = fs.existsSync(tsconfig); const DEFAULT_STAGE = "dev"; const DEFAULT_NAME = "my-app"; @@ -42,6 +46,42 @@ function createBuildPath() { fs.emptyDirSync(paths.appBuildPath); } +async function getExternalModules(srcPath) { + let externals; + + try { + const packageJson = JSON.parse( + await fs.promises.readFile(srcPath, { encoding: "utf-8" }) + ); + externals = Object.keys({ + ...(packageJson.dependencies || {}), + ...(packageJson.devDependencies || {}), + ...(packageJson.peerDependencies || {}), + }); + } catch (e) { + console.log(e); + console.log(`No package.json found in ${srcPath}`); + externals = []; + } + + return externals; +} + +async function getInputFilesFromEsbuildMetafile(file) { + let metaJson; + + try { + metaJson = JSON.parse( + await fs.promises.readFile(file, { encoding: "utf-8" }) + ); + } catch (e) { + console.log("There was a problem reading the build metafile"); + console.log(e); + } + + return Object.keys(metaJson.inputs).map((input) => path.resolve(input)); +} + function filterMismatchedVersion(deps, version) { const mismatched = []; @@ -114,75 +154,90 @@ function runCdkVersionMatch(cliInfo) { logger.log(`\nLearn more about it here — ${helpUrl}\n`); } -function lint() { - const config = isTs ? ".eslintrc.typescript.js" : ".eslintrc.babel.js"; - +async function lint(inputFiles) { logger.log(chalk.grey("Linting source")); - const results = spawn.sync( - getCmdPath("eslint"), - [ - "--no-error-on-unmatched-pattern", - "--config", - path.join(paths.ownPath, "scripts", "util", config), - "--ext", - ".js,.ts", - "--fix", - "lib/**", - // Handling nested ESLint projects in Yarn Workspaces - // https://github.com/serverless-stack/serverless-stack/issues/11 - "--resolve-plugins-relative-to", - ".", - ], - { stdio: "inherit", cwd: paths.appPath } - ); - if (results.error) { - throw results.error; - } else if (results.status !== 0) { - process.exit(1); + try { + const { stdout, stderr } = await exec( + [ + getCmdPath("eslint"), + "--color", + "--no-error-on-unmatched-pattern", + "--config", + path.join(paths.ownPath, "scripts", "util", ".eslintrc.internal.js"), + "--ext", + ".js,.ts", + "--fix", + // Handling nested ESLint projects in Yarn Workspaces + // https://github.com/serverless-stack/serverless-stack/issues/11 + "--resolve-plugins-relative-to", + ".", + ...inputFiles, + ].join(" "), + { cwd: paths.appPath } + ); + stdout && console.log(stdout); + if (stderr) { + console.log(stderr); + } + } catch (e) { + console.log(e); + exitWithMessage("Error running ESLint"); } } -function transpile(cliInfo) { - let cmd; - let args; - let opts = { stdio: "inherit" }; +async function typeCheck(inputFiles) { + inputFiles = inputFiles.filter((file) => file.endsWith(".ts")); - runCdkVersionMatch(cliInfo); + if (inputFiles.length === 0) { + return; + } - if (isTs) { - logger.log(chalk.grey("Detected tsconfig.json")); - logger.log(chalk.grey("Compiling TypeScript")); + logger.log(chalk.grey("Running type checker")); - cmd = getCmdPath("tsc"); - args = ["--outDir", paths.appBuildPath, "--rootDir", paths.appLibPath]; - opts = { stdio: "inherit", cwd: paths.appPath }; - } else { - logger.log(chalk.grey("Compiling with Babel")); - - cmd = getCmdPath("babel"); - args = [ - "--quiet", - "--config-file", - path.join(paths.appBuildPath, ".babelrc.json"), - "--source-maps", - "inline", - paths.appLibPath, - "--out-dir", - paths.appBuildPath, - ]; + try { + const { stdout, stderr } = await exec( + [getCmdPath("tsc"), "--pretty", "--noEmit", ...inputFiles].join(" "), + { cwd: paths.appPath } + ); + stdout && console.log(stdout); + if (stderr) { + console.log(stderr); + } + } catch (e) { + console.log(e.stdout); + exitWithMessage("Type checking error"); } +} - const results = spawn.sync(cmd, args, opts); +async function transpile() { + let extension = "js"; + const external = await getExternalModules(paths.appPackageJson); - if (results.error) { - throw results.error; - } else if (results.status !== 0) { - exitWithMessage( - // Add an empty line for Babel errors to make it more clear - isTs ? "TypeScript compilation error" : "\nBabel compilation error" - ); + if (isTs) { + extension = "ts"; + logger.log(chalk.grey("Detected tsconfig.json")); } + + const metafile = path.join(buildDir, ".esbuild.json"); + const entryPoint = path.join(paths.appLibPath, `index.${extension}`); + + logger.log(chalk.grey("Transpiling source")); + + await esbuild.build({ + external, + metafile, + bundle: true, + format: "cjs", + sourcemap: true, + platform: "node", + outdir: buildDir, + incremental: true, + entryPoints: [entryPoint], + tsconfig: isTs ? tsconfig : undefined, + }); + + return await getInputFilesFromEsbuildMetafile(metafile); } function copyConfigFiles() { @@ -263,7 +318,7 @@ function writeConfig(config) { ); } -function prepareCdk(argv, cliInfo, config) { +async function prepareCdk(argv, cliInfo, config) { let appliedConfig = config; createBuildPath(); @@ -277,8 +332,19 @@ function prepareCdk(argv, cliInfo, config) { copyConfigFiles(); copyWrapperFiles(); - lint(); - transpile(cliInfo); + runCdkVersionMatch(cliInfo); + + const inputFiles = await transpile(); + + const checks = []; + + checks.push(lint(inputFiles)); + + if (isTs) { + checks.push(typeCheck(inputFiles)); + } + + await Promise.allSettled(checks); return appliedConfig; } From 49ad26dd683733916cd3a838ae7bc37bd423ddaf Mon Sep 17 00:00:00 2001 From: Jay Date: Wed, 30 Dec 2020 17:42:35 -0500 Subject: [PATCH 039/123] Fixing tests --- packages/cli/bin/scripts.js | 48 +++--- packages/cli/package.json | 1 - packages/cli/scripts/cdk.js | 2 +- packages/cli/scripts/start.js | 2 +- packages/cli/scripts/util/cdkHelpers.js | 185 +++++++++++++---------- packages/cli/test/helpers/setup-tests.js | 4 +- yarn.lock | 106 +------------ 7 files changed, 139 insertions(+), 209 deletions(-) diff --git a/packages/cli/bin/scripts.js b/packages/cli/bin/scripts.js index 059e118802..a08261f83c 100755 --- a/packages/cli/bin/scripts.js +++ b/packages/cli/bin/scripts.js @@ -202,34 +202,38 @@ switch (script) { } case cmd.cdk: case cmd.test: { + let promise = Promise.resolve(1); + if (script === cmd.cdk) { // Prepare app before running forked CDK commands const cliInfo = getCliInfo(); - prepareCdk(argv, cliInfo); + promise = prepareCdk(argv, cliInfo); } - const result = spawn.sync( - "node", - [require.resolve("../scripts/" + script)].concat(scriptArgs), - { stdio: "inherit" } - ); - if (result.signal) { - if (result.signal === "SIGKILL") { - console.log( - "The command failed because the process exited too early. " + - "This probably means the system ran out of memory or someone called " + - "`kill -9` on the process." - ); - } else if (result.signal === "SIGTERM") { - console.log( - "The command failed because the process exited too early. " + - "Someone might have called `kill` or `killall`, or the system could " + - "be shutting down." - ); + promise.then(() => { + const result = spawn.sync( + "node", + [require.resolve("../scripts/" + script)].concat(scriptArgs), + { stdio: "inherit" } + ); + if (result.signal) { + if (result.signal === "SIGKILL") { + console.log( + "The command failed because the process exited too early. " + + "This probably means the system ran out of memory or someone called " + + "`kill -9` on the process." + ); + } else if (result.signal === "SIGTERM") { + console.log( + "The command failed because the process exited too early. " + + "Someone might have called `kill` or `killall`, or the system could " + + "be shutting down." + ); + } + process.exit(1); } - process.exit(1); - } - process.exit(result.status); + process.exit(result.status); + }); break; } default: diff --git a/packages/cli/package.json b/packages/cli/package.json index 09ebe2f4d3..8f4634dc1b 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -40,7 +40,6 @@ "@aws-cdk/aws-iam": "1.74.0", "@aws-cdk/aws-lambda": "1.74.0", "@aws-cdk/core": "1.74.0", - "@babel/cli": "^7.10.5", "@babel/core": "^7.10.5", "@babel/eslint-parser": "^7.11.3", "@babel/eslint-plugin": "^7.11.3", diff --git a/packages/cli/scripts/cdk.js b/packages/cli/scripts/cdk.js index fc86ad396a..6f5638aa55 100644 --- a/packages/cli/scripts/cdk.js +++ b/packages/cli/scripts/cdk.js @@ -7,7 +7,7 @@ process.on("unhandledRejection", (err) => { throw err; }); -let argv = process.argv.slice(3); +let argv = process.argv.slice(2); const path = require("path"); const spawn = require("cross-spawn"); diff --git a/packages/cli/scripts/start.js b/packages/cli/scripts/start.js index 45f4f31e70..2bedd44974 100644 --- a/packages/cli/scripts/start.js +++ b/packages/cli/scripts/start.js @@ -952,7 +952,7 @@ async function onMessage(message) { } module.exports = async function (argv, cliInfo) { - const config = applyConfig(argv); + const config = await applyConfig(argv); const stackName = `${config.stage}-debug-stack`; // Deploy debug stack diff --git a/packages/cli/scripts/util/cdkHelpers.js b/packages/cli/scripts/util/cdkHelpers.js index f084e866af..6ef39b482c 100644 --- a/packages/cli/scripts/util/cdkHelpers.js +++ b/packages/cli/scripts/util/cdkHelpers.js @@ -14,12 +14,18 @@ const { isSubProcessError } = require("../../lib/errors"); const buildDir = path.join(paths.appBuildPath, "lib"); const tsconfig = path.join(paths.appPath, "tsconfig.json"); -const isTs = fs.existsSync(tsconfig); const DEFAULT_STAGE = "dev"; const DEFAULT_NAME = "my-app"; const DEFAULT_REGION = "us-east-1"; +async function checkFileExists(file) { + return fs.promises + .access(file, fs.constants.F_OK) + .then(() => true) + .catch(() => false); +} + function exitWithMessage(message, shortMessage) { shortMessage = shortMessage || message; @@ -34,49 +40,44 @@ function exitWithMessage(message, shortMessage) { process.exit(1); } -function getCmdPath(cmd) { +async function getCmdPath(cmd) { const appPath = path.join(paths.appNodeModules, ".bin", cmd); const ownPath = path.join(paths.ownNodeModules, ".bin", cmd); // Fallback to own node modules, in case of tests that don't install the cli - return fs.existsSync(appPath) ? appPath : ownPath; + return (await checkFileExists(appPath)) ? appPath : ownPath; } -function createBuildPath() { - fs.emptyDirSync(paths.appBuildPath); +async function createBuildPath() { + await fs.emptyDir(paths.appBuildPath); } -async function getExternalModules(srcPath) { - let externals; +async function getAppPackageJson() { + const srcPath = paths.appPackageJson; try { - const packageJson = JSON.parse( - await fs.promises.readFile(srcPath, { encoding: "utf-8" }) - ); - externals = Object.keys({ - ...(packageJson.dependencies || {}), - ...(packageJson.devDependencies || {}), - ...(packageJson.peerDependencies || {}), - }); + return await fs.readJson(srcPath); } catch (e) { - console.log(e); - console.log(`No package.json found in ${srcPath}`); - externals = []; + exitWithMessage(`No valid package.json found in ${srcPath}`); } +} - return externals; +async function getExternalModules(packageJson) { + return Object.keys({ + ...(packageJson.dependencies || {}), + ...(packageJson.devDependencies || {}), + ...(packageJson.peerDependencies || {}), + }); } async function getInputFilesFromEsbuildMetafile(file) { let metaJson; try { - metaJson = JSON.parse( - await fs.promises.readFile(file, { encoding: "utf-8" }) - ); + metaJson = await fs.readJson(file); } catch (e) { - console.log("There was a problem reading the build metafile"); - console.log(e); + logger.debug(e); + exitWithMessage("\nThere was a problem reading the build metafile.\n"); } return Object.keys(metaJson.inputs).map((input) => path.resolve(input)); @@ -106,20 +107,19 @@ function formatDepsForInstall(depsList, version) { * - For TS: https://github.com/aws/aws-cdk/issues/542 * - For JS: https://github.com/aws/aws-cdk/issues/9578 */ -function runCdkVersionMatch(cliInfo) { +function runCdkVersionMatch(packageJson, cliInfo) { const usingYarn = cliInfo.usingYarn; const helpUrl = "https://github.com/serverless-stack/serverless-stack#cdk-version-mismatch"; const cdkVersion = cliInfo.cdkVersion; - const appPackageJson = require(path.join(paths.appPath, "package.json")); const mismatchedDeps = filterMismatchedVersion( - appPackageJson.dependencies, + packageJson.dependencies, cdkVersion ); const mismatchedDevDeps = filterMismatchedVersion( - appPackageJson.devDependencies, + packageJson.devDependencies, cdkVersion ); @@ -160,7 +160,7 @@ async function lint(inputFiles) { try { const { stdout, stderr } = await exec( [ - getCmdPath("eslint"), + await getCmdPath("eslint"), "--color", "--no-error-on-unmatched-pattern", "--config", @@ -176,13 +176,15 @@ async function lint(inputFiles) { ].join(" "), { cwd: paths.appPath } ); - stdout && console.log(stdout); + if (stdout) { + logger.log(stdout); + } if (stderr) { - console.log(stderr); + logger.log(stderr); } } catch (e) { - console.log(e); - exitWithMessage("Error running ESLint"); + logger.log(e.stdout); + exitWithMessage("There was a problem linting the source."); } } @@ -197,22 +199,43 @@ async function typeCheck(inputFiles) { try { const { stdout, stderr } = await exec( - [getCmdPath("tsc"), "--pretty", "--noEmit", ...inputFiles].join(" "), + [await getCmdPath("tsc"), "--pretty", "--noEmit", ...inputFiles].join( + " " + ), { cwd: paths.appPath } ); - stdout && console.log(stdout); + if (stdout) { + logger.log(stdout); + } if (stderr) { - console.log(stderr); + logger.log(stderr); } } catch (e) { - console.log(e.stdout); - exitWithMessage("Type checking error"); + logger.log(e.stdout); + exitWithMessage("There was a problem type checking the source."); + } +} + +function runChecks(isTs, inputFiles) { + const checks = []; + + checks.push(lint(inputFiles)); + + if (isTs) { + checks.push(typeCheck(inputFiles)); } + + return Promise.allSettled(checks); } -async function transpile() { +async function transpile(cliInfo) { let extension = "js"; - const external = await getExternalModules(paths.appPackageJson); + + const isTs = await checkFileExists(tsconfig); + const appPackageJson = await getAppPackageJson(); + const external = await getExternalModules(appPackageJson); + + runCdkVersionMatch(appPackageJson, cliInfo); if (isTs) { extension = "ts"; @@ -222,42 +245,56 @@ async function transpile() { const metafile = path.join(buildDir, ".esbuild.json"); const entryPoint = path.join(paths.appLibPath, `index.${extension}`); + if (!(await checkFileExists(entryPoint))) { + exitWithMessage( + `\nCannot find app handler. Make sure to add a "lib/index.${extension}" file.\n` + ); + } + logger.log(chalk.grey("Transpiling source")); - await esbuild.build({ - external, - metafile, - bundle: true, - format: "cjs", - sourcemap: true, - platform: "node", - outdir: buildDir, - incremental: true, - entryPoints: [entryPoint], - tsconfig: isTs ? tsconfig : undefined, - }); + try { + await esbuild.build({ + external, + metafile, + bundle: true, + format: "cjs", + sourcemap: true, + platform: "node", + outdir: buildDir, + incremental: true, + entryPoints: [entryPoint], + tsconfig: isTs ? tsconfig : undefined, + }); + } catch (e) { + logger.debug(e); + exitWithMessage("There was a problem transpiling the source."); + } - return await getInputFilesFromEsbuildMetafile(metafile); + return { + isTs, + inputFiles: await getInputFilesFromEsbuildMetafile(metafile), + }; } function copyConfigFiles() { - fs.copyFileSync( + return fs.copy( path.join(paths.ownPath, "assets", "cdk-wrapper", ".babelrc.json"), path.join(paths.appBuildPath, ".babelrc.json") ); } function copyWrapperFiles() { - fs.copyFileSync( + return fs.copy( path.join(paths.ownPath, "assets", "cdk-wrapper", "run.js"), path.join(paths.appBuildPath, "run.js") ); } -function applyConfig(argv) { +async function applyConfig(argv) { const configPath = path.join(paths.appPath, "sst.json"); - if (!fs.existsSync(configPath)) { + if (!(await checkFileExists(configPath))) { exitWithMessage( `\nAdd the ${chalk.bold( "sst.json" @@ -268,10 +305,9 @@ function applyConfig(argv) { } let config; - const configStr = fs.readFileSync(configPath, "utf8"); try { - config = JSON.parse(configStr); + config = await fs.readJson(configPath); } catch (e) { exitWithMessage( `\nThere was a problem reading the ${chalk.bold( @@ -307,44 +343,31 @@ function applyConfig(argv) { return config; } -function writeConfig(config) { +async function writeConfig(config) { const type = config.type.trim(); logger.log(chalk.grey(`Preparing ${type}`)); - fs.writeFileSync( - path.join(paths.appBuildPath, "sst-merged.json"), - JSON.stringify(config) - ); + await fs.writeJson(path.join(paths.appBuildPath, "sst-merged.json"), config); } async function prepareCdk(argv, cliInfo, config) { let appliedConfig = config; - createBuildPath(); + await createBuildPath(); if (!config) { - appliedConfig = applyConfig(argv); + appliedConfig = await applyConfig(argv); } - writeConfig(appliedConfig); - - copyConfigFiles(); - copyWrapperFiles(); - - runCdkVersionMatch(cliInfo); - - const inputFiles = await transpile(); - - const checks = []; + await writeConfig(appliedConfig); - checks.push(lint(inputFiles)); + await copyConfigFiles(); + await copyWrapperFiles(); - if (isTs) { - checks.push(typeCheck(inputFiles)); - } + const { isTs, inputFiles } = await transpile(cliInfo); - await Promise.allSettled(checks); + await runChecks(isTs, inputFiles); return appliedConfig; } diff --git a/packages/cli/test/helpers/setup-tests.js b/packages/cli/test/helpers/setup-tests.js index a6e7e9a7ae..f47695fcb3 100644 --- a/packages/cli/test/helpers/setup-tests.js +++ b/packages/cli/test/helpers/setup-tests.js @@ -13,6 +13,6 @@ execSync("yarn run prepare", { /* The default timeout is 5000ms on async tests. Because we npm install and remove directories, tests can take time to run. -Setting to 1.5 minutes to support slow machines. +Setting to 2 minutes to support slow machines. */ -jest.setTimeout(90000); +jest.setTimeout(120000); diff --git a/yarn.lock b/yarn.lock index 8d40a1f707..2d20da1047 100644 --- a/yarn.lock +++ b/yarn.lock @@ -341,22 +341,6 @@ dependencies: yaml "1.10.0" -"@babel/cli@^7.10.5": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.10.5.tgz#57df2987c8cf89d0fc7d4b157ec59d7619f1b77a" - integrity sha512-j9H9qSf3kLdM0Ao3aGPbGZ73mEA9XazuupcS6cDGWuiyAcANoguhP0r2Lx32H5JGw4sSSoHG3x/mxVnHgvOoyA== - dependencies: - commander "^4.0.1" - convert-source-map "^1.1.0" - fs-readdir-recursive "^1.1.0" - glob "^7.0.0" - lodash "^4.17.19" - make-dir "^2.1.0" - slash "^2.0.0" - source-map "^0.5.0" - optionalDependencies: - chokidar "^2.1.8" - "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" @@ -2896,11 +2880,6 @@ astral-regex@^2.0.0: resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== -async-each@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" - integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== - async@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/async/-/async-3.2.0.tgz#b3a2685c5ebb641d3de02d161002c60fc9f85720" @@ -3097,23 +3076,11 @@ before-after-hook@^2.0.0: resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.1.0.tgz#b6c03487f44e24200dd30ca5e6a1979c5d2fb635" integrity sha512-IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A== -binary-extensions@^1.0.0: - version "1.13.1" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" - integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== - binary-extensions@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9" integrity sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ== -bindings@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" - integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== - dependencies: - file-uri-to-path "1.0.0" - bl@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/bl/-/bl-4.0.3.tgz#12d6287adc29080e22a705e5764b2a9522cdc489" @@ -3136,7 +3103,7 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" -braces@^2.3.1, braces@^2.3.2: +braces@^2.3.1: version "2.3.2" resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== @@ -3433,25 +3400,6 @@ charenc@0.0.2: resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667" integrity sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc= -chokidar@^2.1.8: - version "2.1.8" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" - integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== - dependencies: - anymatch "^2.0.0" - async-each "^1.0.1" - braces "^2.3.2" - glob-parent "^3.1.0" - inherits "^2.0.3" - is-binary-path "^1.0.0" - is-glob "^4.0.0" - normalize-path "^3.0.0" - path-is-absolute "^1.0.0" - readdirp "^2.2.1" - upath "^1.1.1" - optionalDependencies: - fsevents "^1.2.7" - chokidar@^3.4.3: version "3.4.3" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.3.tgz#c1df38231448e45ca4ac588e6c79573ba6a57d5b" @@ -3634,11 +3582,6 @@ combined-stream@^1.0.6, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" -commander@^4.0.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" - integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== - commander@^6.2.0: version "6.2.1" resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" @@ -3798,7 +3741,7 @@ conventional-recommended-bump@^5.0.0: meow "^4.0.0" q "^1.5.1" -convert-source-map@^1.1.0, convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: +convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== @@ -4792,11 +4735,6 @@ file-entry-cache@^6.0.0: dependencies: flat-cache "^3.0.4" -file-uri-to-path@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" - integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== - file-uri-to-path@2: version "2.0.0" resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-2.0.0.tgz#7b415aeba227d575851e0a5b0c640d7656403fba" @@ -4956,11 +4894,6 @@ fs-minipass@^1.2.5: dependencies: minipass "^2.6.0" -fs-readdir-recursive@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz#e32fc030a2ccee44a6b5371308da54be0b397d27" - integrity sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA== - fs-write-stream-atomic@^1.0.8: version "1.0.10" resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" @@ -4976,14 +4909,6 @@ fs.realpath@^1.0.0: resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= -fsevents@^1.2.7: - version "1.2.13" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" - integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== - dependencies: - bindings "^1.5.0" - nan "^2.12.1" - fsevents@^2.1.2, fsevents@~2.1.2: version "2.1.3" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" @@ -5183,7 +5108,7 @@ glob-to-regexp@^0.3.0: resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= -glob@^7.0.0, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: +glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: version "7.1.6" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== @@ -5629,13 +5554,6 @@ is-arrayish@^0.2.1: resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= -is-binary-path@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" - integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= - dependencies: - binary-extensions "^1.0.0" - is-binary-path@~2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" @@ -7171,11 +7089,6 @@ mz@^2.5.0: object-assign "^4.0.1" thenify-all "^1.0.0" -nan@^2.12.1: - version "2.14.1" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01" - integrity sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw== - nanomatch@^1.2.9: version "1.2.13" resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" @@ -8180,7 +8093,7 @@ read@1, read@^1.0.4, read@~1.0.1: dependencies: mute-stream "~0.0.4" -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.6, readable-stream@~2.3.6: +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.6, readable-stream@~2.3.6: 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== @@ -8229,15 +8142,6 @@ readdir-scoped-modules@^1.0.0: graceful-fs "^4.1.2" once "^1.3.0" -readdirp@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" - integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== - dependencies: - graceful-fs "^4.1.11" - micromatch "^3.1.10" - readable-stream "^2.0.2" - readdirp@~3.5.0: version "3.5.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" @@ -9623,7 +9527,7 @@ unset-value@^1.0.0: has-value "^0.3.1" isobject "^3.0.0" -upath@^1.1.1, upath@^1.2.0: +upath@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== From d1534ba1edde7951347ecf50a6b8f2ba7a2ee62b Mon Sep 17 00:00:00 2001 From: Jay Date: Wed, 30 Dec 2020 17:48:40 -0500 Subject: [PATCH 040/123] Updating github workflow --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 51cd295f6a..65eb80d987 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -5,7 +5,7 @@ name: CI on: push: - branches: [ master ] + branches: [ master, alpha ] pull_request: branches: [ master ] From 4d8c976f60d3fd8c8b984e7521af211481e5e4ae Mon Sep 17 00:00:00 2001 From: Jay Date: Wed, 30 Dec 2020 18:09:38 -0500 Subject: [PATCH 041/123] Fixing imports in test --- packages/cli/test/base/package.json | 3 +++ packages/cli/test/base/yarn.lock | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/cli/test/base/package.json b/packages/cli/test/base/package.json index 3499465f79..d2d122a6fd 100644 --- a/packages/cli/test/base/package.json +++ b/packages/cli/test/base/package.json @@ -13,8 +13,11 @@ "keywords": [], "author": "", "dependencies": { + "@aws-cdk/aws-cloudformation": "1.74.0", "@aws-cdk/aws-cognito": "1.74.0", "@aws-cdk/aws-dynamodb": "1.74.0", + "@aws-cdk/aws-iam": "1.74.0", + "@aws-cdk/aws-s3": "1.74.0", "@aws-cdk/core": "1.74.0", "@serverless-stack/resources": "../../../resources" }, diff --git a/packages/cli/test/base/yarn.lock b/packages/cli/test/base/yarn.lock index 826fd43e4a..f2dffa1719 100644 --- a/packages/cli/test/base/yarn.lock +++ b/packages/cli/test/base/yarn.lock @@ -322,7 +322,7 @@ integrity sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q== "@serverless-stack/resources@../../../resources": - version "0.4.3" + version "1.0.0-alpha.5" dependencies: "@aws-cdk/aws-lambda" "1.74.0" "@aws-cdk/aws-lambda-nodejs" "1.74.0" From 63a1336a6241d43ba1354b9275f1df14aea8eb98 Mon Sep 17 00:00:00 2001 From: Jay Date: Wed, 30 Dec 2020 19:35:11 -0500 Subject: [PATCH 042/123] Updating templte project's gitignore --- .../templates/resources/javascript/.template.gitignore | 3 +++ .../templates/resources/typescript/.template.gitignore | 3 +++ 2 files changed, 6 insertions(+) diff --git a/packages/create-serverless-stack/templates/resources/javascript/.template.gitignore b/packages/create-serverless-stack/templates/resources/javascript/.template.gitignore index c39d5a3792..204ea5617c 100644 --- a/packages/create-serverless-stack/templates/resources/javascript/.template.gitignore +++ b/packages/create-serverless-stack/templates/resources/javascript/.template.gitignore @@ -12,6 +12,9 @@ # misc .DS_Store +# sst build output +.build + npm-debug.log* yarn-debug.log* yarn-error.log* diff --git a/packages/create-serverless-stack/templates/resources/typescript/.template.gitignore b/packages/create-serverless-stack/templates/resources/typescript/.template.gitignore index 3323f9317b..2f01792df5 100644 --- a/packages/create-serverless-stack/templates/resources/typescript/.template.gitignore +++ b/packages/create-serverless-stack/templates/resources/typescript/.template.gitignore @@ -16,6 +16,9 @@ # misc .DS_Store +# sst build output +.build + npm-debug.log* yarn-debug.log* yarn-error.log* From c2d1fe73b90a1ce2e18166e62b8a1176fabe41dc Mon Sep 17 00:00:00 2001 From: Jay Date: Wed, 30 Dec 2020 22:34:33 -0500 Subject: [PATCH 043/123] Removing incremental flag --- packages/cli/scripts/util/cdkHelpers.js | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/cli/scripts/util/cdkHelpers.js b/packages/cli/scripts/util/cdkHelpers.js index 6ef39b482c..d56c30dbb6 100644 --- a/packages/cli/scripts/util/cdkHelpers.js +++ b/packages/cli/scripts/util/cdkHelpers.js @@ -262,7 +262,6 @@ async function transpile(cliInfo) { sourcemap: true, platform: "node", outdir: buildDir, - incremental: true, entryPoints: [entryPoint], tsconfig: isTs ? tsconfig : undefined, }); From 9127c1d5e0ec122b0712be7f406b3756df16ee6e Mon Sep 17 00:00:00 2001 From: Jay Date: Fri, 1 Jan 2021 13:48:21 -0500 Subject: [PATCH 044/123] Removing extra promise resolve --- packages/cli/bin/scripts.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/cli/bin/scripts.js b/packages/cli/bin/scripts.js index a08261f83c..6472718ecc 100755 --- a/packages/cli/bin/scripts.js +++ b/packages/cli/bin/scripts.js @@ -187,9 +187,9 @@ switch (script) { const cliInfo = getCliInfo(); // Prepare app - prepareCdk(argv, cliInfo) - .then((config) => internals[script](argv, config, cliInfo)) - .then(() => process.exit(0)); + prepareCdk(argv, cliInfo).then((config) => + internals[script](argv, config, cliInfo) + ); break; } From 34c715bc2fa99b5dd7ede73a255ef25238d94229 Mon Sep 17 00:00:00 2001 From: Jay Date: Fri, 1 Jan 2021 22:08:06 -0500 Subject: [PATCH 045/123] Adding esbuild to sst.function. Moving to workspaces for tests. --- package.json | 4 +- .../assets/cdk-wrapper/.eslintrc.internal.js | 18 + packages/cli/assets/cdk-wrapper/run.js | 21 +- packages/cli/package.json | 2 +- packages/cli/scripts/util/cdkHelpers.js | 28 +- packages/cli/test/base/package.json | 22 +- packages/cli/test/base/yarn.lock | 413 ----------------- packages/cli/test/helpers/copy-symlinks.js | 32 ++ packages/cli/test/start/package.json | 22 +- packages/cli/test/start/yarn.lock | 426 ------------------ packages/resources/package.json | 9 +- packages/resources/src/App.ts | 32 +- packages/resources/src/Function.ts | 17 +- packages/resources/src/util/builder.ts | 138 ++++++ yarn.lock | 197 ++++---- 15 files changed, 367 insertions(+), 1014 deletions(-) create mode 100644 packages/cli/assets/cdk-wrapper/.eslintrc.internal.js delete mode 100644 packages/cli/test/base/yarn.lock create mode 100644 packages/cli/test/helpers/copy-symlinks.js delete mode 100644 packages/cli/test/start/yarn.lock create mode 100644 packages/resources/src/util/builder.ts diff --git a/package.json b/package.json index f5edde905d..c84b2b7f40 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,9 @@ "license": "MIT", "private": true, "workspaces": [ - "packages/*" + "packages/*", + "packages/cli/test/base", + "packages/cli/test/start" ], "scripts": { "lint": "eslint . --fix --ext .js,.ts", diff --git a/packages/cli/assets/cdk-wrapper/.eslintrc.internal.js b/packages/cli/assets/cdk-wrapper/.eslintrc.internal.js new file mode 100644 index 0000000000..301298b292 --- /dev/null +++ b/packages/cli/assets/cdk-wrapper/.eslintrc.internal.js @@ -0,0 +1,18 @@ +module.exports = { + root: true, + parser: "@babel/eslint-parser", + parserOptions: { + babelOptions: { + configFile: "./.build/.babelrc.json", + }, + }, + plugins: ["@babel"], + overrides: [ + { + files: ["*.ts", "*.tsx"], + parser: "@typescript-eslint/parser", + plugins: ["@typescript-eslint"], + extends: ["eslint:recommended", "plugin:@typescript-eslint/recommended"], + }, + ], +}; diff --git a/packages/cli/assets/cdk-wrapper/run.js b/packages/cli/assets/cdk-wrapper/run.js index 97c02f549e..c3f2855601 100644 --- a/packages/cli/assets/cdk-wrapper/run.js +++ b/packages/cli/assets/cdk-wrapper/run.js @@ -15,6 +15,8 @@ const sst = require("@serverless-stack/resources"); const config = require("./sst-merged.json"); +const appPath = path.join(__dirname, "../"); + // Check first and throw an error if (!fs.existsSync(path.join(__dirname, "lib", "index.js"))) { handlerNotFound(true); @@ -27,16 +29,21 @@ if (!handler.default) { } handler.default( - new sst.App({ - name: config.name, - stage: config.stage, - region: config.region, - debugEndpoint: config.debugEndpoint, - }) + new sst.App( + { + name: config.name, + stage: config.stage, + region: config.region, + }, + { + appPath, + debugEndpoint: config.debugEndpoint, + } + ) ); function handlerNotFound(importFailed) { - const extCopy = fs.existsSync(path.join(__dirname, "../", "tsconfig.json")) + const extCopy = fs.existsSync(path.join(appPath, "tsconfig.json")) ? "ts" : "js"; console.error( diff --git a/packages/cli/package.json b/packages/cli/package.json index 8f4634dc1b..369fd1a78d 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -57,7 +57,7 @@ "core-js": "^3.6.5", "cross-spawn": "^7.0.3", "esbuild": "^0.8.26", - "eslint": "^7.7.0", + "eslint": "^7.16.0", "fs-extra": "^9.0.1", "jest": "^26.1.0", "promise.allsettled": "^1.0.2", diff --git a/packages/cli/scripts/util/cdkHelpers.js b/packages/cli/scripts/util/cdkHelpers.js index d56c30dbb6..1d9b76dafa 100644 --- a/packages/cli/scripts/util/cdkHelpers.js +++ b/packages/cli/scripts/util/cdkHelpers.js @@ -40,14 +40,6 @@ function exitWithMessage(message, shortMessage) { process.exit(1); } -async function getCmdPath(cmd) { - const appPath = path.join(paths.appNodeModules, ".bin", cmd); - const ownPath = path.join(paths.ownNodeModules, ".bin", cmd); - - // Fallback to own node modules, in case of tests that don't install the cli - return (await checkFileExists(appPath)) ? appPath : ownPath; -} - async function createBuildPath() { await fs.emptyDir(paths.appBuildPath); } @@ -62,7 +54,7 @@ async function getAppPackageJson() { } } -async function getExternalModules(packageJson) { +function getExternalModules(packageJson) { return Object.keys({ ...(packageJson.dependencies || {}), ...(packageJson.devDependencies || {}), @@ -160,11 +152,11 @@ async function lint(inputFiles) { try { const { stdout, stderr } = await exec( [ - await getCmdPath("eslint"), + "$(npm bin)/eslint", "--color", "--no-error-on-unmatched-pattern", "--config", - path.join(paths.ownPath, "scripts", "util", ".eslintrc.internal.js"), + path.join(paths.appBuildPath, ".eslintrc.internal.js"), "--ext", ".js,.ts", "--fix", @@ -199,9 +191,7 @@ async function typeCheck(inputFiles) { try { const { stdout, stderr } = await exec( - [await getCmdPath("tsc"), "--pretty", "--noEmit", ...inputFiles].join( - " " - ), + ["$(npm bin)/tsc", "--pretty", "--noEmit", ...inputFiles].join(" "), { cwd: paths.appPath } ); if (stdout) { @@ -233,7 +223,7 @@ async function transpile(cliInfo) { const isTs = await checkFileExists(tsconfig); const appPackageJson = await getAppPackageJson(); - const external = await getExternalModules(appPackageJson); + const external = getExternalModules(appPackageJson); runCdkVersionMatch(appPackageJson, cliInfo); @@ -276,8 +266,12 @@ async function transpile(cliInfo) { }; } -function copyConfigFiles() { - return fs.copy( +async function copyConfigFiles() { + await fs.copy( + path.join(paths.ownPath, "assets", "cdk-wrapper", ".eslintrc.internal.js"), + path.join(paths.appBuildPath, ".eslintrc.internal.js") + ); + return await fs.copy( path.join(paths.ownPath, "assets", "cdk-wrapper", ".babelrc.json"), path.join(paths.appBuildPath, ".babelrc.json") ); diff --git a/packages/cli/test/base/package.json b/packages/cli/test/base/package.json index d2d122a6fd..1d576ab262 100644 --- a/packages/cli/test/base/package.json +++ b/packages/cli/test/base/package.json @@ -1,17 +1,16 @@ { "name": "base", - "version": "1.0.0", - "description": "", - "main": "index.js", + "private": true, + "description": "tests", + "version": "0.0.1", "scripts": { - "build": "../../bin/scripts.js build", - "remove": "../../bin/scripts.js remove", - "deploy": "../../bin/scripts.js deploy", - "add-cdk": "../../bin/scripts.js add-cdk", - "cdk": "../../bin/scripts.js cdk" + "postinstall": "node ../helpers/copy-symlinks.js", + "start": "sst start", + "build": "sst build", + "deploy": "sst deploy", + "remove": "sst remove", + "cdk": "sst cdk" }, - "keywords": [], - "author": "", "dependencies": { "@aws-cdk/aws-cloudformation": "1.74.0", "@aws-cdk/aws-cognito": "1.74.0", @@ -19,7 +18,8 @@ "@aws-cdk/aws-iam": "1.74.0", "@aws-cdk/aws-s3": "1.74.0", "@aws-cdk/core": "1.74.0", - "@serverless-stack/resources": "../../../resources" + "@serverless-stack/cli": "^1.0.0-alpha.5", + "@serverless-stack/resources": "^1.0.0-alpha.5" }, "license": "ISC" } diff --git a/packages/cli/test/base/yarn.lock b/packages/cli/test/base/yarn.lock deleted file mode 100644 index f2dffa1719..0000000000 --- a/packages/cli/test/base/yarn.lock +++ /dev/null @@ -1,413 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@aws-cdk/assets@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/assets/-/assets-1.74.0.tgz#8aea948a32afcf7c60449346a087c4b5aecff251" - integrity sha512-ZXmiJ9Qf0odTJWQPEvN+41wI1MAOK0PS5E/CTTOc9qSZufHKxpF0UPNu+8G/cMUnmKoonih8eglUCR8mmVzGrQ== - dependencies: - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-applicationautoscaling@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-applicationautoscaling/-/aws-applicationautoscaling-1.74.0.tgz#ad5e946e68bd4094c3236e983d36f67d66135dfc" - integrity sha512-QqEm+jN2zQyficWAQWIIJTN+HwonBx5lS+Ccgx8vR+lXAPW9BORtsuEd0jKzMs2LVF+eiRQcwgD1WqH99HFPXw== - dependencies: - "@aws-cdk/aws-autoscaling-common" "1.74.0" - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-autoscaling-common@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-common/-/aws-autoscaling-common-1.74.0.tgz#f6bcbb987830f299b6e2ef454944afdde9a8a82e" - integrity sha512-UHqhMxGjGe00XaZfb7+OtAbY48vU2PdjYxIiRlFqrvJ7w6ws2dW7trKRHfpmbIF6M8h3Jtys1y69UuijaIHTlg== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-certificatemanager@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-certificatemanager/-/aws-certificatemanager-1.74.0.tgz#35b07c4b396a3db96da5d431e549460d1edc2251" - integrity sha512-Ve1SYM6qpUysHLD5bzHiE4kXBeo7VAEQlUti0cjkkjkuPh+dKHti/TqYhA0tkfUIMjZylnvkogBzMYdIUBTNxg== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-lambda" "1.74.0" - "@aws-cdk/aws-route53" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-cloudformation@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudformation/-/aws-cloudformation-1.74.0.tgz#04fffb02403fb52ee05ec43172b845a29a903a9e" - integrity sha512-VOyuMhoxA9vk3zSUfzqSg1YjYYgc+qyB0bpaOJIW/iinXYXhA64z5YQnTxdwd/exlFgA59chOanA7aRrNM2YIg== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-lambda" "1.74.0" - "@aws-cdk/aws-s3" "1.74.0" - "@aws-cdk/aws-sns" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-cloudwatch@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.74.0.tgz#94a29d2998a5c08412084b346d404b3a8b90f8a8" - integrity sha512-FqkU9JNM63JzdKVwmI07UJ2upDLrqByEs6kXMNOv0RxfvLIe73DNfBp8T+WxJ23G38sCLfeTsPIIG5K2XzOQGg== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-codeguruprofiler@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codeguruprofiler/-/aws-codeguruprofiler-1.74.0.tgz#d749688e9edb252ce6fc68efa4f9977f7ba02cb6" - integrity sha512-CF4NqFSPeFnqbVG23+BozGNVha2Pk7vXaLGCPZPlHmx2jwaxZHCdxK+VvtOtV3fVPr6CI97SsTq9TwiFciv+zg== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-cognito@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cognito/-/aws-cognito-1.74.0.tgz#740f51269cbe00b46ae6327814dd8c0dbb470912" - integrity sha512-t8XZbWQd8gMgn6FfYlPBmb3HDBVFHZI3tEODgc4mu/qRZAn2GH+pka4l1kdsgfzsBekvBLsOQosp7xJ6XaABsA== - dependencies: - "@aws-cdk/aws-certificatemanager" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-lambda" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/custom-resources" "1.74.0" - constructs "^3.2.0" - punycode "^2.1.1" - -"@aws-cdk/aws-dynamodb@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-dynamodb/-/aws-dynamodb-1.74.0.tgz#7e0ef530e9c3d7301a9db616ddf6d650f7acb76f" - integrity sha512-YU38dFYLMyMe5u2GLy8sFCFTVxwDgWZ67HzFg41kSj8WpAsVQEE5Zxh1nf0+8Ai1J4MNeLeMCaXtuliHipoQSw== - dependencies: - "@aws-cdk/aws-applicationautoscaling" "1.74.0" - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/aws-lambda" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/custom-resources" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-ec2@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ec2/-/aws-ec2-1.74.0.tgz#eae31df9045ca9374daf6b1562674e31d8053aff" - integrity sha512-TcJtdSFur8Pkhfz39nhPZH2LBiugBhSrDkAUfeEVVwDEa4kvNys7xkcwvvBouFhM6YhitjZ53j9d7d4CEBc73g== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/aws-logs" "1.74.0" - "@aws-cdk/aws-s3" "1.74.0" - "@aws-cdk/aws-s3-assets" "1.74.0" - "@aws-cdk/aws-ssm" "1.74.0" - "@aws-cdk/cloud-assembly-schema" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - "@aws-cdk/region-info" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-efs@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-efs/-/aws-efs-1.74.0.tgz#367b89f14ccd090f98227dbc975076571b31faac" - integrity sha512-ghzwm/e8qQlOM/PKgfscbVFny9qhQNrXZltxckhHdTEX3Wtx9RXpveWzEOGBoHBJHSv49gkvAwtvzTbxCss4QA== - dependencies: - "@aws-cdk/aws-ec2" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/cloud-assembly-schema" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-events@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events/-/aws-events-1.74.0.tgz#2ed5a4cdd737ce4c8950506df496d0b43ac6aa12" - integrity sha512-dmVswvSBd2jZzgPJCQell+u9bRYNg63p1e57bXmql6Rm1UJDPTbvESPXsdwwFW2WpJyXwHOOM+qe98r5CbcTUw== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-iam@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-iam/-/aws-iam-1.74.0.tgz#c255c9676fb6048ab27c00d111ed5e7d8b46877c" - integrity sha512-5Eq4e4/be2HMFZXc1sCeNjqgTyjlWgvIjbLh0Q4c01V05r7MbPdmfZRurbeEA6NohGf+zYFQrCzPnTaqvFPFHA== - dependencies: - "@aws-cdk/core" "1.74.0" - "@aws-cdk/region-info" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-kms@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kms/-/aws-kms-1.74.0.tgz#73531f7b5d2542eb5e3f7bb54604944921e34995" - integrity sha512-4cTNqzNkml3RV6uobSwq7ZtPBjwNovOxv75vzGNNRw1GO6hxqDzoPRIsgfwNvVii8tv27eR0xTK0t6WlKqoVzg== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-lambda-nodejs@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda-nodejs/-/aws-lambda-nodejs-1.74.0.tgz#aa818270e4dcd74be51d402cdb114da311b3c966" - integrity sha512-1mc8I+Yz43El8O8SjsfkABsI31tcpO5e3fAz7/40DKuFgM9jkL6vyiL55MLIckAqmE2N9mRYU0xF4RC7uRZdmQ== - dependencies: - "@aws-cdk/aws-lambda" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-lambda@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda/-/aws-lambda-1.74.0.tgz#52175fbc9e679ca5c0f4d15e0666c99fc4a953d0" - integrity sha512-Ju3/mhnli33xnO2qvJUs11djva12SHnmJPGtbx4Nz33z577/pCwLZYWa7noP8eUzAyBglfNlPG8JWH+fNHPbew== - dependencies: - "@aws-cdk/aws-applicationautoscaling" "1.74.0" - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-codeguruprofiler" "1.74.0" - "@aws-cdk/aws-ec2" "1.74.0" - "@aws-cdk/aws-efs" "1.74.0" - "@aws-cdk/aws-events" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-logs" "1.74.0" - "@aws-cdk/aws-s3" "1.74.0" - "@aws-cdk/aws-s3-assets" "1.74.0" - "@aws-cdk/aws-sqs" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-logs@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-logs/-/aws-logs-1.74.0.tgz#cd40afe70ffeb5250ecea1db0ee0a2f68fb2084a" - integrity sha512-wMpjXdJBN3S0gYO3pMjjKxSTlIs0ZUH64k6BnOxDvnltWbBJomD0/qLKMVHShOddm9MMNdD8AaYpCqZsrplZHA== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/aws-s3-assets" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-route53@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-route53/-/aws-route53-1.74.0.tgz#f9b3c770cf613227bba31c4a7499c8f19966f3e4" - integrity sha512-TYnAByXLc6B/uAG03bYLV0kPi1TU8G95kW6wNhfiqvPCSwfizbsg5rztbUoydJpBocbOs9qbtCM7v6gbDsB2bQ== - dependencies: - "@aws-cdk/aws-ec2" "1.74.0" - "@aws-cdk/aws-logs" "1.74.0" - "@aws-cdk/cloud-assembly-schema" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-s3-assets@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.74.0.tgz#7f1988f3931e95d88a8c1357f98c47f7f9b73dee" - integrity sha512-uewjgTOr5q60UbPKHo3qgYApXxFKUIgP6eUZi7v8mhfnZUDw9H9B4rRJ7rHRZ4gYj9ZtiWq1o3hpvWnoHsR+zg== - dependencies: - "@aws-cdk/assets" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/aws-s3" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-s3@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3/-/aws-s3-1.74.0.tgz#5b53839c3af0f67bfb1e96061f6a1ea5be445fe9" - integrity sha512-xbRbI90hUvmVwGHHMr4dPWv0TXBxr/HeeaLzqLDHv36+TKA0wMR7ttRm3pbT3Kf/YjqSty788rom6lVqaAu81Q== - dependencies: - "@aws-cdk/aws-events" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-sns@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns/-/aws-sns-1.74.0.tgz#c9289b34cb2512010a0b6813f684c93398502bdd" - integrity sha512-O0HDGvl1WjCTU53auNJKCW5/6vpbVYlj0RwLgGaOOlTeKnfuq53kGvL/t3QdZQlJWxSvkbN61O+rZB7GacXV0g== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-events" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/aws-sqs" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-sqs@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sqs/-/aws-sqs-1.74.0.tgz#998da5838d4310805432f0cf55fcc7c8f34657e2" - integrity sha512-qlj7ZapoL9oneLu4wh7DfQDypCo6QFlyGzd3nlmn+C9UbCscBkpSJnmYSGi2m0TVCKbd3tP1EpfdU36LTahYBg== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-ssm@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ssm/-/aws-ssm-1.74.0.tgz#426dd65c0b933618d5c196cb38386c1035b0fdc4" - integrity sha512-uok/D4ooEVXst0HZYQkcPIM5xlHAVjGjF44Gt68hbdZknBhMbfZP2EWqSZHhSW9HdVoNFTNkIxcI2AemCnt2Qg== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/cloud-assembly-schema" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/cloud-assembly-schema@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.74.0.tgz#f1bbd8411ec320dd9e14ef2dce626a05019c42bc" - integrity sha512-TOfruzx7zIirRpfL9r5tGcOPdfXQatD3/kgXq4I1px12oH3jmuiEcNxGdvEYgVMPaZGMrx0rtqyT2sGDWBycKw== - dependencies: - jsonschema "^1.4.0" - semver "^7.3.2" - -"@aws-cdk/core@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.74.0.tgz#132d31c0ab9d39394827431ccd804cf10de34273" - integrity sha512-1iKRIRKyMQ8ZmPvkAAjSIGl4Fh7tLIE7D23ht25ayNGp0XVG1Hd858x2GmDzI/J1ZK6xsuTsEDGbi5/saR69ng== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - "@aws-cdk/region-info" "1.74.0" - "@balena/dockerignore" "^1.0.2" - constructs "^3.2.0" - fs-extra "^9.0.1" - ignore "^5.1.8" - minimatch "^3.0.4" - -"@aws-cdk/custom-resources@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/custom-resources/-/custom-resources-1.74.0.tgz#19329e8a9b9bc0ca66e00c791b008c416a67265f" - integrity sha512-KDXgyRCeCMIj42nQcd2RXc4GYQpd7SWtx2iw0G4Wvs/wG4i3nR1qdlvEJvAlNgsYeqM4pp3mIp3PgdX341HsCg== - dependencies: - "@aws-cdk/aws-cloudformation" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-lambda" "1.74.0" - "@aws-cdk/aws-logs" "1.74.0" - "@aws-cdk/aws-sns" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/cx-api@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.74.0.tgz#922c11389d723eadef2bc12666ced4980fe9e4cc" - integrity sha512-Xhq9col3syHmxC3Zl1igrWwvOzwJzwTKwpLLL8ENF8u2n8x4eneAN+OLrRlB/rhAQ+KUL6B8toUsd4pcJMkSOQ== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.74.0" - semver "^7.3.2" - -"@aws-cdk/region-info@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/region-info/-/region-info-1.74.0.tgz#e53eabe2d8980c360e63ea956615253551005182" - integrity sha512-xF0etW01PyUNxL9F4xiA2y/pEG9e+0EJpOL7O9gVZ0IxOkIW+J0MljR6O8nx4yCx6j2/dXTs6INZ/zVn0DsydA== - -"@balena/dockerignore@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@balena/dockerignore/-/dockerignore-1.0.2.tgz#9ffe4726915251e8eb69f44ef3547e0da2c03e0d" - integrity sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q== - -"@serverless-stack/resources@../../../resources": - version "1.0.0-alpha.5" - dependencies: - "@aws-cdk/aws-lambda" "1.74.0" - "@aws-cdk/aws-lambda-nodejs" "1.74.0" - "@aws-cdk/core" "1.74.0" - -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= - -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" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -constructs@^3.2.0: - version "3.2.40" - resolved "https://registry.yarnpkg.com/constructs/-/constructs-3.2.40.tgz#e8c0e1020ad254ff73d9ea6c85cc90c3a33c71f1" - integrity sha512-XtKn+Pzq8EZNe1zasQem6X09dprZ8pXvNxECKQLZC+jU5BdkgDKe0nak4Wp+k7uvDFlyh9NccaGtxqP6w2YS0A== - -fs-extra@^9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc" - integrity sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^1.0.0" - -graceful-fs@^4.1.6, graceful-fs@^4.2.0: - version "4.2.4" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" - integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== - -ignore@^5.1.8: - version "5.1.8" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" - integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== - -jsonfile@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.0.1.tgz#98966cba214378c8c84b82e085907b40bf614179" - integrity sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg== - dependencies: - universalify "^1.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -jsonschema@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.4.0.tgz#1afa34c4bc22190d8e42271ec17ac8b3404f87b2" - integrity sha512-/YgW6pRMr6M7C+4o8kS+B/2myEpHCrxO4PEWnqJNBFMjn7EWXqlQ4tGwL6xTHeRplwuZmcAncdvfOad1nT2yMw== - -minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -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== - -semver@^7.3.2: - version "7.3.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" - integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== - -universalify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d" - integrity sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug== diff --git a/packages/cli/test/helpers/copy-symlinks.js b/packages/cli/test/helpers/copy-symlinks.js new file mode 100644 index 0000000000..e5fac195b0 --- /dev/null +++ b/packages/cli/test/helpers/copy-symlinks.js @@ -0,0 +1,32 @@ +/** + * Copies the all the symlinks in root node_modules .bin dir to the current + * node_modules/.bin dir with their proper paths. + * + * This is necessary because Yarn Workspaces doesn't install them and the SST + * scripts need the eslint and tsc executables. + */ +const fs = require("fs"); +const path = require("path"); + +const rootBin = path.join(__dirname, "../../../../node_modules", ".bin"); + +const files = fs.readdirSync(rootBin, { + encoding: "utf8", + withFileTypes: true, +}); + +files.forEach((file) => { + if (file.isSymbolicLink()) { + const name = file.name; + const relPath = fs.readlinkSync(path.join(rootBin, name)); + const fullPath = path.join(rootBin, relPath); + + try { + fs.symlinkSync(fullPath, path.join("node_modules", ".bin", name)); + } catch (e) { + if (e.code !== "EEXIST") { + throw e; + } + } + } +}); diff --git a/packages/cli/test/start/package.json b/packages/cli/test/start/package.json index 02ed375226..920b309a06 100644 --- a/packages/cli/test/start/package.json +++ b/packages/cli/test/start/package.json @@ -1,17 +1,16 @@ { "name": "start", - "version": "1.0.0", - "description": "", - "main": "index.js", + "private": true, + "description": "tests", + "version": "0.0.1", "scripts": { - "start": "../../bin/scripts.js start", - "build": "../../bin/scripts.js build", - "deploy": "../../bin/scripts.js deploy", - "remove": "../../bin/scripts.js remove", - "cdk": "../../bin/scripts.js cdk" + "postinstall": "node ../helpers/copy-symlinks.js", + "start": "sst start", + "build": "sst build", + "deploy": "sst deploy", + "remove": "sst remove", + "cdk": "sst cdk" }, - "keywords": [], - "author": "", "dependencies": { "@aws-cdk/aws-apigatewayv2": "1.74.0", "@aws-cdk/aws-apigatewayv2-integrations": "1.74.0", @@ -19,7 +18,8 @@ "@aws-cdk/aws-sns": "1.74.0", "@aws-cdk/aws-sns-subscriptions": "1.74.0", "@aws-cdk/core": "1.74.0", - "@serverless-stack/resources": "../../../resources" + "@serverless-stack/cli": "^1.0.0-alpha.5", + "@serverless-stack/resources": "^1.0.0-alpha.5" }, "license": "ISC" } diff --git a/packages/cli/test/start/yarn.lock b/packages/cli/test/start/yarn.lock deleted file mode 100644 index c234c550c1..0000000000 --- a/packages/cli/test/start/yarn.lock +++ /dev/null @@ -1,426 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@aws-cdk/assets@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/assets/-/assets-1.74.0.tgz#8aea948a32afcf7c60449346a087c4b5aecff251" - integrity sha512-ZXmiJ9Qf0odTJWQPEvN+41wI1MAOK0PS5E/CTTOc9qSZufHKxpF0UPNu+8G/cMUnmKoonih8eglUCR8mmVzGrQ== - dependencies: - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-apigatewayv2-integrations@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-apigatewayv2-integrations/-/aws-apigatewayv2-integrations-1.74.0.tgz#a242aaa74e0f294da9b3beefd46a28fb53de5355" - integrity sha512-DkhmqK5VrYPOdCu75fzUCFX1ZXS+JcMq28MSW6chre23aDWDpLmFR3yoJ5+AxqgqxCmM2O5kqyIkjh5YaKC1Xg== - dependencies: - "@aws-cdk/aws-apigatewayv2" "1.74.0" - "@aws-cdk/aws-ec2" "1.74.0" - "@aws-cdk/aws-elasticloadbalancingv2" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-lambda" "1.74.0" - "@aws-cdk/aws-servicediscovery" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-apigatewayv2@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-apigatewayv2/-/aws-apigatewayv2-1.74.0.tgz#c65c94e25b70fcee53a3e15e211f74819eff4d77" - integrity sha512-Z8GRXYZX6MHZeyKQpiiCUvtxIKh6y9UGRM9f6+xfjMa75WwjoM8cFm9h41720LwKcUXYj0TlKiqEyeL12UIAYA== - dependencies: - "@aws-cdk/aws-certificatemanager" "1.74.0" - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-ec2" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-applicationautoscaling@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-applicationautoscaling/-/aws-applicationautoscaling-1.74.0.tgz#ad5e946e68bd4094c3236e983d36f67d66135dfc" - integrity sha512-QqEm+jN2zQyficWAQWIIJTN+HwonBx5lS+Ccgx8vR+lXAPW9BORtsuEd0jKzMs2LVF+eiRQcwgD1WqH99HFPXw== - dependencies: - "@aws-cdk/aws-autoscaling-common" "1.74.0" - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-autoscaling-common@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-common/-/aws-autoscaling-common-1.74.0.tgz#f6bcbb987830f299b6e2ef454944afdde9a8a82e" - integrity sha512-UHqhMxGjGe00XaZfb7+OtAbY48vU2PdjYxIiRlFqrvJ7w6ws2dW7trKRHfpmbIF6M8h3Jtys1y69UuijaIHTlg== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-certificatemanager@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-certificatemanager/-/aws-certificatemanager-1.74.0.tgz#35b07c4b396a3db96da5d431e549460d1edc2251" - integrity sha512-Ve1SYM6qpUysHLD5bzHiE4kXBeo7VAEQlUti0cjkkjkuPh+dKHti/TqYhA0tkfUIMjZylnvkogBzMYdIUBTNxg== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-lambda" "1.74.0" - "@aws-cdk/aws-route53" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-cloudwatch@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.74.0.tgz#94a29d2998a5c08412084b346d404b3a8b90f8a8" - integrity sha512-FqkU9JNM63JzdKVwmI07UJ2upDLrqByEs6kXMNOv0RxfvLIe73DNfBp8T+WxJ23G38sCLfeTsPIIG5K2XzOQGg== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-codeguruprofiler@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codeguruprofiler/-/aws-codeguruprofiler-1.74.0.tgz#d749688e9edb252ce6fc68efa4f9977f7ba02cb6" - integrity sha512-CF4NqFSPeFnqbVG23+BozGNVha2Pk7vXaLGCPZPlHmx2jwaxZHCdxK+VvtOtV3fVPr6CI97SsTq9TwiFciv+zg== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-ec2@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ec2/-/aws-ec2-1.74.0.tgz#eae31df9045ca9374daf6b1562674e31d8053aff" - integrity sha512-TcJtdSFur8Pkhfz39nhPZH2LBiugBhSrDkAUfeEVVwDEa4kvNys7xkcwvvBouFhM6YhitjZ53j9d7d4CEBc73g== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/aws-logs" "1.74.0" - "@aws-cdk/aws-s3" "1.74.0" - "@aws-cdk/aws-s3-assets" "1.74.0" - "@aws-cdk/aws-ssm" "1.74.0" - "@aws-cdk/cloud-assembly-schema" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - "@aws-cdk/region-info" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-efs@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-efs/-/aws-efs-1.74.0.tgz#367b89f14ccd090f98227dbc975076571b31faac" - integrity sha512-ghzwm/e8qQlOM/PKgfscbVFny9qhQNrXZltxckhHdTEX3Wtx9RXpveWzEOGBoHBJHSv49gkvAwtvzTbxCss4QA== - dependencies: - "@aws-cdk/aws-ec2" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/cloud-assembly-schema" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-elasticloadbalancingv2@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-elasticloadbalancingv2/-/aws-elasticloadbalancingv2-1.74.0.tgz#794ee49baac329e43884748ecda3e66348fd5088" - integrity sha512-+Zx6/7CqZcsubSwxFC6rTq+uyzzQjIOGOh8RN/q93EZ9+snSJM/mRdZ/1DyNIjfSFbwyYQ1usE9rbYi1XWDPVA== - dependencies: - "@aws-cdk/aws-certificatemanager" "1.74.0" - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-ec2" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-lambda" "1.74.0" - "@aws-cdk/aws-s3" "1.74.0" - "@aws-cdk/cloud-assembly-schema" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - "@aws-cdk/region-info" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-events@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events/-/aws-events-1.74.0.tgz#2ed5a4cdd737ce4c8950506df496d0b43ac6aa12" - integrity sha512-dmVswvSBd2jZzgPJCQell+u9bRYNg63p1e57bXmql6Rm1UJDPTbvESPXsdwwFW2WpJyXwHOOM+qe98r5CbcTUw== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-iam@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-iam/-/aws-iam-1.74.0.tgz#c255c9676fb6048ab27c00d111ed5e7d8b46877c" - integrity sha512-5Eq4e4/be2HMFZXc1sCeNjqgTyjlWgvIjbLh0Q4c01V05r7MbPdmfZRurbeEA6NohGf+zYFQrCzPnTaqvFPFHA== - dependencies: - "@aws-cdk/core" "1.74.0" - "@aws-cdk/region-info" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-kms@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kms/-/aws-kms-1.74.0.tgz#73531f7b5d2542eb5e3f7bb54604944921e34995" - integrity sha512-4cTNqzNkml3RV6uobSwq7ZtPBjwNovOxv75vzGNNRw1GO6hxqDzoPRIsgfwNvVii8tv27eR0xTK0t6WlKqoVzg== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-lambda-nodejs@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda-nodejs/-/aws-lambda-nodejs-1.74.0.tgz#aa818270e4dcd74be51d402cdb114da311b3c966" - integrity sha512-1mc8I+Yz43El8O8SjsfkABsI31tcpO5e3fAz7/40DKuFgM9jkL6vyiL55MLIckAqmE2N9mRYU0xF4RC7uRZdmQ== - dependencies: - "@aws-cdk/aws-lambda" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-lambda@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda/-/aws-lambda-1.74.0.tgz#52175fbc9e679ca5c0f4d15e0666c99fc4a953d0" - integrity sha512-Ju3/mhnli33xnO2qvJUs11djva12SHnmJPGtbx4Nz33z577/pCwLZYWa7noP8eUzAyBglfNlPG8JWH+fNHPbew== - dependencies: - "@aws-cdk/aws-applicationautoscaling" "1.74.0" - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-codeguruprofiler" "1.74.0" - "@aws-cdk/aws-ec2" "1.74.0" - "@aws-cdk/aws-efs" "1.74.0" - "@aws-cdk/aws-events" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-logs" "1.74.0" - "@aws-cdk/aws-s3" "1.74.0" - "@aws-cdk/aws-s3-assets" "1.74.0" - "@aws-cdk/aws-sqs" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-logs@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-logs/-/aws-logs-1.74.0.tgz#cd40afe70ffeb5250ecea1db0ee0a2f68fb2084a" - integrity sha512-wMpjXdJBN3S0gYO3pMjjKxSTlIs0ZUH64k6BnOxDvnltWbBJomD0/qLKMVHShOddm9MMNdD8AaYpCqZsrplZHA== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/aws-s3-assets" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-route53@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-route53/-/aws-route53-1.74.0.tgz#f9b3c770cf613227bba31c4a7499c8f19966f3e4" - integrity sha512-TYnAByXLc6B/uAG03bYLV0kPi1TU8G95kW6wNhfiqvPCSwfizbsg5rztbUoydJpBocbOs9qbtCM7v6gbDsB2bQ== - dependencies: - "@aws-cdk/aws-ec2" "1.74.0" - "@aws-cdk/aws-logs" "1.74.0" - "@aws-cdk/cloud-assembly-schema" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-s3-assets@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.74.0.tgz#7f1988f3931e95d88a8c1357f98c47f7f9b73dee" - integrity sha512-uewjgTOr5q60UbPKHo3qgYApXxFKUIgP6eUZi7v8mhfnZUDw9H9B4rRJ7rHRZ4gYj9ZtiWq1o3hpvWnoHsR+zg== - dependencies: - "@aws-cdk/assets" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/aws-s3" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-s3@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3/-/aws-s3-1.74.0.tgz#5b53839c3af0f67bfb1e96061f6a1ea5be445fe9" - integrity sha512-xbRbI90hUvmVwGHHMr4dPWv0TXBxr/HeeaLzqLDHv36+TKA0wMR7ttRm3pbT3Kf/YjqSty788rom6lVqaAu81Q== - dependencies: - "@aws-cdk/aws-events" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-servicediscovery@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-servicediscovery/-/aws-servicediscovery-1.74.0.tgz#6e1145a4b85371431e8f6b21ce6ca7c9d855680c" - integrity sha512-5pABov1sNs0bgOb4UZKT+5H+OR3+0/8oxefFCiGxcGG4Kxsq4d4XJbmwx1oDUjCJclxlzOTuuCyay5NnoZ+6fg== - dependencies: - "@aws-cdk/aws-ec2" "1.74.0" - "@aws-cdk/aws-elasticloadbalancingv2" "1.74.0" - "@aws-cdk/aws-route53" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-sns-subscriptions@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns-subscriptions/-/aws-sns-subscriptions-1.74.0.tgz#6cdad4a409359122e8a410543e33da59d21b54cc" - integrity sha512-MOuArbCx1nxL5B40RMQzHNnU0SZWkaQfRDTURTQbX4e0OHyq5DnQrtXTu/XyI/MYPBU+ZnC/FXP+hynCatn+nw== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-lambda" "1.74.0" - "@aws-cdk/aws-sns" "1.74.0" - "@aws-cdk/aws-sqs" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-sns@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns/-/aws-sns-1.74.0.tgz#c9289b34cb2512010a0b6813f684c93398502bdd" - integrity sha512-O0HDGvl1WjCTU53auNJKCW5/6vpbVYlj0RwLgGaOOlTeKnfuq53kGvL/t3QdZQlJWxSvkbN61O+rZB7GacXV0g== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-events" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/aws-sqs" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-sqs@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sqs/-/aws-sqs-1.74.0.tgz#998da5838d4310805432f0cf55fcc7c8f34657e2" - integrity sha512-qlj7ZapoL9oneLu4wh7DfQDypCo6QFlyGzd3nlmn+C9UbCscBkpSJnmYSGi2m0TVCKbd3tP1EpfdU36LTahYBg== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-ssm@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ssm/-/aws-ssm-1.74.0.tgz#426dd65c0b933618d5c196cb38386c1035b0fdc4" - integrity sha512-uok/D4ooEVXst0HZYQkcPIM5xlHAVjGjF44Gt68hbdZknBhMbfZP2EWqSZHhSW9HdVoNFTNkIxcI2AemCnt2Qg== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/cloud-assembly-schema" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/cloud-assembly-schema@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.74.0.tgz#f1bbd8411ec320dd9e14ef2dce626a05019c42bc" - integrity sha512-TOfruzx7zIirRpfL9r5tGcOPdfXQatD3/kgXq4I1px12oH3jmuiEcNxGdvEYgVMPaZGMrx0rtqyT2sGDWBycKw== - dependencies: - jsonschema "^1.4.0" - semver "^7.3.2" - -"@aws-cdk/core@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.74.0.tgz#132d31c0ab9d39394827431ccd804cf10de34273" - integrity sha512-1iKRIRKyMQ8ZmPvkAAjSIGl4Fh7tLIE7D23ht25ayNGp0XVG1Hd858x2GmDzI/J1ZK6xsuTsEDGbi5/saR69ng== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - "@aws-cdk/region-info" "1.74.0" - "@balena/dockerignore" "^1.0.2" - constructs "^3.2.0" - fs-extra "^9.0.1" - ignore "^5.1.8" - minimatch "^3.0.4" - -"@aws-cdk/cx-api@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.74.0.tgz#922c11389d723eadef2bc12666ced4980fe9e4cc" - integrity sha512-Xhq9col3syHmxC3Zl1igrWwvOzwJzwTKwpLLL8ENF8u2n8x4eneAN+OLrRlB/rhAQ+KUL6B8toUsd4pcJMkSOQ== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.74.0" - semver "^7.3.2" - -"@aws-cdk/region-info@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/region-info/-/region-info-1.74.0.tgz#e53eabe2d8980c360e63ea956615253551005182" - integrity sha512-xF0etW01PyUNxL9F4xiA2y/pEG9e+0EJpOL7O9gVZ0IxOkIW+J0MljR6O8nx4yCx6j2/dXTs6INZ/zVn0DsydA== - -"@balena/dockerignore@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@balena/dockerignore/-/dockerignore-1.0.2.tgz#9ffe4726915251e8eb69f44ef3547e0da2c03e0d" - integrity sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q== - -"@serverless-stack/resources@../../../resources": - version "1.0.0-alpha.5" - dependencies: - "@aws-cdk/aws-lambda" "1.74.0" - "@aws-cdk/aws-lambda-nodejs" "1.74.0" - "@aws-cdk/core" "1.74.0" - -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= - -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" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -constructs@^3.2.0: - version "3.2.37" - resolved "https://registry.yarnpkg.com/constructs/-/constructs-3.2.37.tgz#ebced4a0fbfa81be8db730cbe7a82d18410bebcb" - integrity sha512-Z2dVwVaaw8cDIOeWT5smfgC4BLhkXK7JAfUUDtoB5WhUIIUZpRX+Pd5ZE6UrEuXSQkaJHUT6MVGxgBFZR3DpxQ== - -fs-extra@^9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc" - integrity sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^1.0.0" - -graceful-fs@^4.1.6, graceful-fs@^4.2.0: - version "4.2.4" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" - integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== - -ignore@^5.1.8: - version "5.1.8" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" - integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== - -jsonfile@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" - integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== - dependencies: - universalify "^2.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -jsonschema@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.4.0.tgz#1afa34c4bc22190d8e42271ec17ac8b3404f87b2" - integrity sha512-/YgW6pRMr6M7C+4o8kS+B/2myEpHCrxO4PEWnqJNBFMjn7EWXqlQ4tGwL6xTHeRplwuZmcAncdvfOad1nT2yMw== - -minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -semver@^7.3.2: - version "7.3.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" - integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== - -universalify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d" - integrity sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug== - -universalify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" - integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== diff --git a/packages/resources/package.json b/packages/resources/package.json index 468d22d415..7dfdfddde5 100644 --- a/packages/resources/package.json +++ b/packages/resources/package.json @@ -27,11 +27,14 @@ "dependencies": { "@aws-cdk/aws-lambda": "1.74.0", "@aws-cdk/aws-lambda-nodejs": "1.74.0", - "@aws-cdk/core": "1.74.0" + "@aws-cdk/core": "1.74.0", + "eslint": "^7.16.0", + "fs-extra": "^9.0.1", + "typescript": "^3.9.7" }, "devDependencies": { - "@types/node": "^14.0.27", - "typescript": "^3.9.7" + "@types/fs-extra": "^9.0.6", + "@types/node": "^14.0.27" }, "gitHead": "0a586f786aca7e7d498a80c4dda680159831f959" } diff --git a/packages/resources/src/App.ts b/packages/resources/src/App.ts index 4249399dd6..66a13aa376 100644 --- a/packages/resources/src/App.ts +++ b/packages/resources/src/App.ts @@ -25,6 +25,16 @@ export interface DeployProps { * @default - Defaults to us-east-1 */ readonly region?: string; +} + +/** + * Local build props for apps. + */ +export interface BuildProps { + /** + * The root path for the SST app. + */ + readonly appPath: string; /** * The local WebSockets debug enpoint used by `sst start`. @@ -57,21 +67,37 @@ export class App extends cdk.App { */ public readonly region: string; + /** + * The root path for the SST app + */ + public readonly appPath: string; + + /** + * The build dir for the SST app + */ + public readonly buildDir: string = ".build"; + /** * The local WebSockets debug endpoint */ public readonly debugEndpoint?: string; - constructor(deployProps: DeployProps = {}, props: AppProps = {}) { + constructor( + deployProps: DeployProps = {}, + buildProps: BuildProps, + props: AppProps = {} + ) { super(props); this.stage = deployProps.stage || "dev"; this.name = deployProps.name || "my-app"; this.region = deployProps.region || "us-east-1"; - if (deployProps.debugEndpoint) { + this.appPath = buildProps.appPath; + + if (buildProps.debugEndpoint) { this.local = true; - this.debugEndpoint = deployProps.debugEndpoint; + this.debugEndpoint = buildProps.debugEndpoint; } } diff --git a/packages/resources/src/Function.ts b/packages/resources/src/Function.ts index 1c5000b07f..3d4864688f 100644 --- a/packages/resources/src/Function.ts +++ b/packages/resources/src/Function.ts @@ -3,6 +3,7 @@ import * as cdk from "@aws-cdk/core"; import * as lambda from "@aws-cdk/aws-lambda"; import { App } from "./App"; +import { builder } from "./util/builder"; export type FunctionProps = lambda.FunctionProps; @@ -31,6 +32,8 @@ export class Function extends lambda.Function { throw new Error(`sst.Function only supports AssetCode type for code.`); } + const code = props.code as lambda.AssetCode; + if (root.local) { super(scope, id, { ...props, @@ -40,14 +43,24 @@ export class Function extends lambda.Function { handler: "index.main", environment: { ...(props.environment || {}), - SST_DEBUG_SRC_PATH: props.code.path, + SST_DEBUG_SRC_PATH: code.path, SST_DEBUG_SRC_HANDLER: props.handler, SST_DEBUG_ENDPOINT: root.debugEndpoint || "", }, }); // func.node.defaultChild.cfnOptions.metadata = { 'sst:lambda:src': 'src/hello.handler' }; } else { - super(scope, id, props); + const builderOutput = builder({ + srcPath: code.path, + appPath: root.appPath, + handler: props.handler, + buildDir: root.buildDir, + }); + + super(scope, id, { + ...props, + code: lambda.Code.fromAsset(builderOutput.outPath), + }); } } } diff --git a/packages/resources/src/util/builder.ts b/packages/resources/src/util/builder.ts new file mode 100644 index 0000000000..7985f06325 --- /dev/null +++ b/packages/resources/src/util/builder.ts @@ -0,0 +1,138 @@ +import * as path from "path"; +import * as fs from "fs-extra"; +import * as esbuild from "esbuild"; +import { execSync } from "child_process"; + +interface BuilderProps { + readonly appPath: string; + readonly srcPath: string; + readonly handler: string; + readonly buildDir: string; +} + +function addExtensionToHandler(handler: string, extension: string): string { + return handler.replace(/\.[\w\d]+$/, extension); +} + +function getInputFilesFromEsbuildMetafile(file: string): Array { + let metaJson; + + try { + metaJson = fs.readJsonSync(file); + } catch (e) { + throw new Error("There was a problem reading the esbuild metafile."); + } + + return Object.keys(metaJson.inputs).map((input) => path.resolve(input)); +} + +function getEsbuildMetafileName(srcPath: string, handler: string): string { + const key = `${srcPath}/${handler}`.replace(/[/.]/g, "-"); + + return `.esbuild.${key}.json`; +} + +export function builder(builderProps: BuilderProps) { + const { srcPath, handler, appPath, buildDir } = builderProps; + + const external = ["aws-sdk"]; + + const tsconfig = path.join(srcPath, "tsconfig.json"); + const isTs = fs.existsSync(tsconfig); + const extension = isTs ? ".ts" : ".js"; + + const buildPath = path.join(srcPath, buildDir); + const metafile = path.join( + buildPath, + getEsbuildMetafileName(srcPath, handler) + ); + + const entryPoint = path.join( + srcPath, + addExtensionToHandler(handler, extension) + ); + + function lint(inputFiles: Array) { + inputFiles = inputFiles.filter( + (file: string) => file.indexOf("node_modules") === -1 + ); + + try { + const stdout = execSync( + [ + "$(npm bin)/eslint", + "--color", + "--no-error-on-unmatched-pattern", + "--config", + path.join(appPath, buildDir, ".eslintrc.internal.js"), + "--ext", + ".js,.ts", + "--fix", + // Handling nested ESLint projects in Yarn Workspaces + // https://github.com/serverless-stack/serverless-stack/issues/11 + "--resolve-plugins-relative-to", + ".", + ...inputFiles, + ].join(" "), + { cwd: appPath } + ); + console.log(stdout.toString()); + } catch (e) { + console.log(e.stdout.toString()); + throw new Error("There was a problem linting the source."); + } + } + + function typeCheck(inputFiles: Array) { + inputFiles = inputFiles.filter((file: string) => file.endsWith(".ts")); + + if (inputFiles.length === 0) { + return; + } + + try { + const stdout = execSync( + ["$(npm bin)/tsc", "--pretty", "--noEmit", ...inputFiles].join(" "), + { cwd: appPath } + ); + console.log(stdout.toString()); + } catch (e) { + console.log(e.stdout.toString()); + throw new Error("There was a problem type checking the source."); + } + } + + function transpile(entryPoint: string): Array { + if (!fs.existsSync(entryPoint)) { + throw new Error(`Cannot find a handler file at ${entryPoint}".`); + } + + esbuild.buildSync({ + external, + metafile, + bundle: true, + format: "cjs", + sourcemap: true, + platform: "node", + outdir: buildPath, + entryPoints: [entryPoint], + tsconfig: isTs ? tsconfig : undefined, + }); + + return getInputFilesFromEsbuildMetafile(metafile); + } + + const inputFiles = transpile(entryPoint); + + lint(inputFiles); + + if (isTs) { + typeCheck(inputFiles); + } + + return { + isTs, + handler, + outPath: buildPath, + }; +} diff --git a/yarn.lock b/yarn.lock index 2d20da1047..f1ef3706a7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11,6 +11,20 @@ "@aws-cdk/cx-api" "1.74.0" constructs "^3.2.0" +"@aws-cdk/aws-apigatewayv2-integrations@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-apigatewayv2-integrations/-/aws-apigatewayv2-integrations-1.74.0.tgz#a242aaa74e0f294da9b3beefd46a28fb53de5355" + integrity sha512-DkhmqK5VrYPOdCu75fzUCFX1ZXS+JcMq28MSW6chre23aDWDpLmFR3yoJ5+AxqgqxCmM2O5kqyIkjh5YaKC1Xg== + dependencies: + "@aws-cdk/aws-apigatewayv2" "1.74.0" + "@aws-cdk/aws-ec2" "1.74.0" + "@aws-cdk/aws-elasticloadbalancingv2" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-lambda" "1.74.0" + "@aws-cdk/aws-servicediscovery" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + "@aws-cdk/aws-apigatewayv2@1.74.0": version "1.74.0" resolved "https://registry.yarnpkg.com/@aws-cdk/aws-apigatewayv2/-/aws-apigatewayv2-1.74.0.tgz#c65c94e25b70fcee53a3e15e211f74819eff4d77" @@ -85,6 +99,19 @@ "@aws-cdk/core" "1.74.0" constructs "^3.2.0" +"@aws-cdk/aws-cognito@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cognito/-/aws-cognito-1.74.0.tgz#740f51269cbe00b46ae6327814dd8c0dbb470912" + integrity sha512-t8XZbWQd8gMgn6FfYlPBmb3HDBVFHZI3tEODgc4mu/qRZAn2GH+pka4l1kdsgfzsBekvBLsOQosp7xJ6XaABsA== + dependencies: + "@aws-cdk/aws-certificatemanager" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-lambda" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/custom-resources" "1.74.0" + constructs "^3.2.0" + punycode "^2.1.1" + "@aws-cdk/aws-dynamodb@1.74.0": version "1.74.0" resolved "https://registry.yarnpkg.com/@aws-cdk/aws-dynamodb/-/aws-dynamodb-1.74.0.tgz#7e0ef530e9c3d7301a9db616ddf6d650f7acb76f" @@ -129,6 +156,23 @@ "@aws-cdk/cx-api" "1.74.0" constructs "^3.2.0" +"@aws-cdk/aws-elasticloadbalancingv2@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-elasticloadbalancingv2/-/aws-elasticloadbalancingv2-1.74.0.tgz#794ee49baac329e43884748ecda3e66348fd5088" + integrity sha512-+Zx6/7CqZcsubSwxFC6rTq+uyzzQjIOGOh8RN/q93EZ9+snSJM/mRdZ/1DyNIjfSFbwyYQ1usE9rbYi1XWDPVA== + dependencies: + "@aws-cdk/aws-certificatemanager" "1.74.0" + "@aws-cdk/aws-cloudwatch" "1.74.0" + "@aws-cdk/aws-ec2" "1.74.0" + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-lambda" "1.74.0" + "@aws-cdk/aws-s3" "1.74.0" + "@aws-cdk/cloud-assembly-schema" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + "@aws-cdk/region-info" "1.74.0" + constructs "^3.2.0" + "@aws-cdk/aws-events@1.74.0": version "1.74.0" resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events/-/aws-events-1.74.0.tgz#2ed5a4cdd737ce4c8950506df496d0b43ac6aa12" @@ -232,6 +276,29 @@ "@aws-cdk/core" "1.74.0" constructs "^3.2.0" +"@aws-cdk/aws-servicediscovery@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-servicediscovery/-/aws-servicediscovery-1.74.0.tgz#6e1145a4b85371431e8f6b21ce6ca7c9d855680c" + integrity sha512-5pABov1sNs0bgOb4UZKT+5H+OR3+0/8oxefFCiGxcGG4Kxsq4d4XJbmwx1oDUjCJclxlzOTuuCyay5NnoZ+6fg== + dependencies: + "@aws-cdk/aws-ec2" "1.74.0" + "@aws-cdk/aws-elasticloadbalancingv2" "1.74.0" + "@aws-cdk/aws-route53" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + +"@aws-cdk/aws-sns-subscriptions@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns-subscriptions/-/aws-sns-subscriptions-1.74.0.tgz#6cdad4a409359122e8a410543e33da59d21b54cc" + integrity sha512-MOuArbCx1nxL5B40RMQzHNnU0SZWkaQfRDTURTQbX4e0OHyq5DnQrtXTu/XyI/MYPBU+ZnC/FXP+hynCatn+nw== + dependencies: + "@aws-cdk/aws-iam" "1.74.0" + "@aws-cdk/aws-lambda" "1.74.0" + "@aws-cdk/aws-sns" "1.74.0" + "@aws-cdk/aws-sqs" "1.74.0" + "@aws-cdk/core" "1.74.0" + constructs "^3.2.0" + "@aws-cdk/aws-sns@1.74.0": version "1.74.0" resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns/-/aws-sns-1.74.0.tgz#c9289b34cb2512010a0b6813f684c93398502bdd" @@ -2373,6 +2440,13 @@ resolved "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d" integrity sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag== +"@types/fs-extra@^9.0.6": + version "9.0.6" + resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.6.tgz#488e56b77299899a608b8269719c1d133027a6ab" + integrity sha512-ecNRHw4clCkowNOBJH1e77nvbPxHYnWIXMv1IAoG/9+MYGkgoyr3Ppxr7XYFNL41V422EDhyV4/4SSK8L2mlig== + dependencies: + "@types/node" "*" + "@types/glob@^7.1.1": version "7.1.3" resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.3.tgz#e6ba80f36b7daad2c685acd9266382e68985c183" @@ -2570,11 +2644,6 @@ acorn-globals@^6.0.0: acorn "^7.1.1" acorn-walk "^7.1.1" -acorn-jsx@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.2.0.tgz#4c66069173d6fdd68ed85239fc256226182b2ebe" - integrity sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ== - acorn-jsx@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b" @@ -2585,7 +2654,7 @@ acorn-walk@^7.1.1: resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== -acorn@^7.1.1, acorn@^7.3.1: +acorn@^7.1.1: version "7.4.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.0.tgz#e1ad486e6c54501634c6c397c5c121daa383607c" integrity sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w== @@ -2631,7 +2700,7 @@ aggregate-error@^3.0.0: clean-stack "^2.0.0" indent-string "^4.0.0" -ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3: +ajv@^6.10.0, ajv@^6.12.3: version "6.12.4" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.4.tgz#0614facc4522127fa713445c6bfd3ebd376e2234" integrity sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ== @@ -2870,11 +2939,6 @@ ast-types@^0.13.2: dependencies: tslib "^2.0.1" -astral-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" - integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== - astral-regex@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" @@ -4345,7 +4409,7 @@ eslint-rule-composer@^0.3.0: resolved "https://registry.yarnpkg.com/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz#79320c927b0c5c0d3d3d2b76c8b4a488f25bbaf9" integrity sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg== -eslint-scope@5.1.0, eslint-scope@^5.0.0, eslint-scope@^5.1.0: +eslint-scope@5.1.0, eslint-scope@^5.0.0: version "5.1.0" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.0.tgz#d0f971dfe59c69e0cada684b23d49dbf82600ce5" integrity sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w== @@ -4421,57 +4485,6 @@ eslint@^7.16.0: text-table "^0.2.0" v8-compile-cache "^2.0.3" -eslint@^7.7.0: - version "7.7.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.7.0.tgz#18beba51411927c4b64da0a8ceadefe4030d6073" - integrity sha512-1KUxLzos0ZVsyL81PnRN335nDtQ8/vZUD6uMtWbF+5zDtjKcsklIi78XoE0MVL93QvWTu+E5y44VyyCsOMBrIg== - dependencies: - "@babel/code-frame" "^7.0.0" - ajv "^6.10.0" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.0.1" - doctrine "^3.0.0" - enquirer "^2.3.5" - eslint-scope "^5.1.0" - eslint-utils "^2.1.0" - eslint-visitor-keys "^1.3.0" - espree "^7.2.0" - esquery "^1.2.0" - esutils "^2.0.2" - file-entry-cache "^5.0.1" - functional-red-black-tree "^1.0.1" - glob-parent "^5.0.0" - globals "^12.1.0" - ignore "^4.0.6" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - js-yaml "^3.13.1" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash "^4.17.19" - minimatch "^3.0.4" - natural-compare "^1.4.0" - optionator "^0.9.1" - progress "^2.0.0" - regexpp "^3.1.0" - semver "^7.2.1" - strip-ansi "^6.0.0" - strip-json-comments "^3.1.0" - table "^5.2.3" - text-table "^0.2.0" - v8-compile-cache "^2.0.3" - -espree@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/espree/-/espree-7.2.0.tgz#1c263d5b513dbad0ac30c4991b93ac354e948d69" - integrity sha512-H+cQ3+3JYRMEIOl87e7QdHX70ocly5iW4+dttuR8iYSPr/hXKFb+7dBsZ7+u1adC4VrnPlTkv0+OwuPnDop19g== - dependencies: - acorn "^7.3.1" - acorn-jsx "^5.2.0" - eslint-visitor-keys "^1.3.0" - espree@^7.3.0, espree@^7.3.1: version "7.3.1" resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" @@ -4721,13 +4734,6 @@ figures@^3.2.0: dependencies: escape-string-regexp "^1.0.5" -file-entry-cache@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" - integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g== - dependencies: - flat-cache "^2.0.1" - file-entry-cache@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.0.tgz#7921a89c391c6d93efec2169ac6bf300c527ea0a" @@ -4794,15 +4800,6 @@ find-versions@^3.2.0: dependencies: semver-regex "^2.0.0" -flat-cache@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" - integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA== - dependencies: - flatted "^2.0.0" - rimraf "2.6.3" - write "1.0.3" - flat-cache@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" @@ -4811,11 +4808,6 @@ flat-cache@^3.0.4: flatted "^3.1.0" rimraf "^3.0.2" -flatted@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" - integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== - flatted@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.1.0.tgz#a5d06b4a8b01e3a63771daa5cb7a1903e2e57067" @@ -6698,7 +6690,7 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.2.1: +lodash@^4.17.12, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.2.1: version "4.17.20" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== @@ -8384,13 +8376,6 @@ retry@^0.10.0: resolved "https://registry.yarnpkg.com/retry/-/retry-0.10.1.tgz#e76388d217992c252750241d3d3956fed98d8ff4" integrity sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q= -rimraf@2.6.3: - version "2.6.3" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" - integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== - dependencies: - glob "^7.1.3" - rimraf@^2.5.4, rimraf@^2.6.2, rimraf@^2.6.3: version "2.7.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" @@ -8596,15 +8581,6 @@ slash@^3.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== -slice-ansi@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" - integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== - dependencies: - ansi-styles "^3.2.0" - astral-regex "^1.0.0" - is-fullwidth-code-point "^2.0.0" - slice-ansi@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" @@ -9090,16 +9066,6 @@ symbol-tree@^3.2.4: resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== -table@^5.2.3: - version "5.4.6" - resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" - integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug== - dependencies: - ajv "^6.10.2" - lodash "^4.17.14" - slice-ansi "^2.1.0" - string-width "^3.0.0" - table@^6.0.3, table@^6.0.4: version "6.0.4" resolved "https://registry.yarnpkg.com/table/-/table-6.0.4.tgz#c523dd182177e926c723eb20e1b341238188aa0d" @@ -9831,13 +9797,6 @@ write-pkg@^3.1.0: sort-keys "^2.0.0" write-json-file "^2.2.0" -write@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" - integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig== - dependencies: - mkdirp "^0.5.1" - ws@^7.2.3: version "7.3.1" resolved "https://registry.yarnpkg.com/ws/-/ws-7.3.1.tgz#d0547bf67f7ce4f12a72dfe31262c68d7dc551c8" From 1190a0f58b4c4a332f1d1be547b901ce504ec871 Mon Sep 17 00:00:00 2001 From: Jay Date: Fri, 1 Jan 2021 22:54:14 -0500 Subject: [PATCH 046/123] Moving tests to yarn workspaces --- package.json | 3 +- packages/cli/assets/cdk-wrapper/run.js | 1 + packages/cli/test/add-cdk/add-cdk.test.js | 2 +- packages/cli/test/add-cdk/package.json | 15 +- packages/cli/test/add-cdk/yarn.lock | 4 - packages/cli/test/base-ts/package.json | 18 +- packages/cli/test/base-ts/yarn.lock | 500 -- packages/cli/test/cdk-command/package.json | 14 +- packages/cli/test/cdk-command/yarn.lock | 109 - packages/cli/test/config-invalid/package.json | 16 +- packages/cli/test/config-invalid/yarn.lock | 4 - packages/cli/test/config-no-name/package.json | 16 +- packages/cli/test/config-no-name/yarn.lock | 4 - packages/cli/test/config-no-type/package.json | 16 +- packages/cli/test/config-no-type/yarn.lock | 4 - .../cli/test/config-not-found/package.json | 16 +- packages/cli/test/config-not-found/yarn.lock | 4 - packages/cli/test/config/package.json | 18 +- packages/cli/test/config/yarn.lock | 373 - packages/cli/test/context/package.json | 16 +- packages/cli/test/context/yarn.lock | 373 - .../cli/test/eslint-ignore-rule/package.json | 14 +- .../cli/test/eslint-ignore-rule/yarn.lock | 109 - packages/cli/test/eslint-ignore/package.json | 14 +- packages/cli/test/eslint-ignore/yarn.lock | 109 - packages/cli/test/eslint-ts/package.json | 14 +- packages/cli/test/eslint-ts/yarn.lock | 109 - packages/cli/test/eslint/package.json | 14 +- packages/cli/test/eslint/yarn.lock | 109 - .../handler-function-not-found/package.json | 16 +- .../test/handler-function-not-found/yarn.lock | 4 - .../cli/test/handler-not-found/package.json | 16 +- packages/cli/test/handler-not-found/yarn.lock | 4 - packages/cli/test/helpers/copy-symlinks.js | 10 +- packages/cli/test/jest-ts/package.json | 23 +- packages/cli/test/jest-ts/yarn.lock | 6628 ----------------- packages/cli/test/jest/package.json | 14 +- packages/cli/test/jest/yarn.lock | 553 -- .../test/mismatched-cdk-versions/package.json | 14 +- .../test/mismatched-cdk-versions/yarn.lock | 475 -- .../cli/test/stack-no-prefix/package.json | 14 +- packages/cli/test/stack-no-prefix/yarn.lock | 320 - packages/cli/test/stack-set-env/package.json | 14 +- packages/cli/test/stack-set-env/yarn.lock | 109 - packages/resources/src/App.ts | 8 +- yarn.lock | 494 +- 46 files changed, 672 insertions(+), 10062 deletions(-) delete mode 100644 packages/cli/test/add-cdk/yarn.lock delete mode 100644 packages/cli/test/base-ts/yarn.lock delete mode 100644 packages/cli/test/cdk-command/yarn.lock delete mode 100644 packages/cli/test/config-invalid/yarn.lock delete mode 100644 packages/cli/test/config-no-name/yarn.lock delete mode 100644 packages/cli/test/config-no-type/yarn.lock delete mode 100644 packages/cli/test/config-not-found/yarn.lock delete mode 100644 packages/cli/test/config/yarn.lock delete mode 100644 packages/cli/test/context/yarn.lock delete mode 100644 packages/cli/test/eslint-ignore-rule/yarn.lock delete mode 100644 packages/cli/test/eslint-ignore/yarn.lock delete mode 100644 packages/cli/test/eslint-ts/yarn.lock delete mode 100644 packages/cli/test/eslint/yarn.lock delete mode 100644 packages/cli/test/handler-function-not-found/yarn.lock delete mode 100644 packages/cli/test/handler-not-found/yarn.lock delete mode 100644 packages/cli/test/jest-ts/yarn.lock delete mode 100644 packages/cli/test/jest/yarn.lock delete mode 100644 packages/cli/test/mismatched-cdk-versions/yarn.lock delete mode 100644 packages/cli/test/stack-no-prefix/yarn.lock delete mode 100644 packages/cli/test/stack-set-env/yarn.lock diff --git a/package.json b/package.json index c84b2b7f40..dd8419faa5 100644 --- a/package.json +++ b/package.json @@ -5,8 +5,7 @@ "private": true, "workspaces": [ "packages/*", - "packages/cli/test/base", - "packages/cli/test/start" + "packages/cli/test/*" ], "scripts": { "lint": "eslint . --fix --ext .js,.ts", diff --git a/packages/cli/assets/cdk-wrapper/run.js b/packages/cli/assets/cdk-wrapper/run.js index c3f2855601..334fa6122f 100644 --- a/packages/cli/assets/cdk-wrapper/run.js +++ b/packages/cli/assets/cdk-wrapper/run.js @@ -35,6 +35,7 @@ handler.default( stage: config.stage, region: config.region, }, + {}, { appPath, debugEndpoint: config.debugEndpoint, diff --git a/packages/cli/test/add-cdk/add-cdk.test.js b/packages/cli/test/add-cdk/add-cdk.test.js index f8661dd051..2e30a4bb8d 100644 --- a/packages/cli/test/add-cdk/add-cdk.test.js +++ b/packages/cli/test/add-cdk/add-cdk.test.js @@ -18,6 +18,6 @@ test("add-cdk", async () => { ); expect(result).toMatch( - /yarn add --exact @aws-cdk\/aws-s3@\d+.\d+.\d+ @aws-cdk\/aws-iam@\d+.\d+.\d+/ + /npm install --save-exact @aws-cdk\/aws-s3@\d+.\d+.\d+ @aws-cdk\/aws-iam@\d+.\d+.\d+/ ); }); diff --git a/packages/cli/test/add-cdk/package.json b/packages/cli/test/add-cdk/package.json index a4be7b3346..3c966f35df 100644 --- a/packages/cli/test/add-cdk/package.json +++ b/packages/cli/test/add-cdk/package.json @@ -1,13 +1,14 @@ { "name": "add-cdk", - "version": "1.0.0", - "description": "", - "main": "index.js", + "private": true, + "description": "tests", + "version": "0.0.1", "scripts": { - "add-cdk": "../../bin/scripts.js add-cdk" + "postinstall": "node ../helpers/copy-symlinks.js", + "add-cdk": "sst add-cdk" + }, + "dependencies": { + "@serverless-stack/cli": "^1.0.0-alpha.5" }, - "keywords": [], - "author": "", - "dependencies": {}, "license": "ISC" } diff --git a/packages/cli/test/add-cdk/yarn.lock b/packages/cli/test/add-cdk/yarn.lock deleted file mode 100644 index fb57ccd13a..0000000000 --- a/packages/cli/test/add-cdk/yarn.lock +++ /dev/null @@ -1,4 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - diff --git a/packages/cli/test/base-ts/package.json b/packages/cli/test/base-ts/package.json index ec313590d0..0d7a2be90f 100644 --- a/packages/cli/test/base-ts/package.json +++ b/packages/cli/test/base-ts/package.json @@ -1,17 +1,21 @@ { "name": "base-ts", - "version": "1.0.0", - "description": "", - "main": "index.js", + "private": true, + "description": "tests", + "version": "0.0.1", "scripts": { - "build": "../../bin/scripts.js build" + "postinstall": "node ../helpers/copy-symlinks.js", + "start": "sst start", + "build": "sst build", + "deploy": "sst deploy", + "remove": "sst remove", + "cdk": "sst cdk" }, - "keywords": [], - "author": "", "dependencies": { "@aws-cdk/aws-s3": "1.74.0", "@aws-cdk/core": "1.74.0", - "@serverless-stack/resources": "../../../resources" + "@serverless-stack/cli": "^1.0.0-alpha.5", + "@serverless-stack/resources": "^1.0.0-alpha.5" }, "license": "ISC", "devDependencies": { diff --git a/packages/cli/test/base-ts/yarn.lock b/packages/cli/test/base-ts/yarn.lock deleted file mode 100644 index 2f257a7d82..0000000000 --- a/packages/cli/test/base-ts/yarn.lock +++ /dev/null @@ -1,500 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@aws-cdk/assert@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/assert/-/assert-1.74.0.tgz#82795a3bb21ede93288a60322804f6f4e2d4959e" - integrity sha512-5M3M4lcSS2dGPgVANhv5GjqC6nNBy9bL1XECAJj3lg7q+6zJ00+0wq4bB0wyvm/mE+S0axkGZ4LVHF5QA2gCfQ== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.74.0" - "@aws-cdk/cloudformation-diff" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/assets@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/assets/-/assets-1.74.0.tgz#8aea948a32afcf7c60449346a087c4b5aecff251" - integrity sha512-ZXmiJ9Qf0odTJWQPEvN+41wI1MAOK0PS5E/CTTOc9qSZufHKxpF0UPNu+8G/cMUnmKoonih8eglUCR8mmVzGrQ== - dependencies: - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-applicationautoscaling@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-applicationautoscaling/-/aws-applicationautoscaling-1.74.0.tgz#ad5e946e68bd4094c3236e983d36f67d66135dfc" - integrity sha512-QqEm+jN2zQyficWAQWIIJTN+HwonBx5lS+Ccgx8vR+lXAPW9BORtsuEd0jKzMs2LVF+eiRQcwgD1WqH99HFPXw== - dependencies: - "@aws-cdk/aws-autoscaling-common" "1.74.0" - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-autoscaling-common@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-common/-/aws-autoscaling-common-1.74.0.tgz#f6bcbb987830f299b6e2ef454944afdde9a8a82e" - integrity sha512-UHqhMxGjGe00XaZfb7+OtAbY48vU2PdjYxIiRlFqrvJ7w6ws2dW7trKRHfpmbIF6M8h3Jtys1y69UuijaIHTlg== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-cloudwatch@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.74.0.tgz#94a29d2998a5c08412084b346d404b3a8b90f8a8" - integrity sha512-FqkU9JNM63JzdKVwmI07UJ2upDLrqByEs6kXMNOv0RxfvLIe73DNfBp8T+WxJ23G38sCLfeTsPIIG5K2XzOQGg== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-codeguruprofiler@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codeguruprofiler/-/aws-codeguruprofiler-1.74.0.tgz#d749688e9edb252ce6fc68efa4f9977f7ba02cb6" - integrity sha512-CF4NqFSPeFnqbVG23+BozGNVha2Pk7vXaLGCPZPlHmx2jwaxZHCdxK+VvtOtV3fVPr6CI97SsTq9TwiFciv+zg== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-ec2@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ec2/-/aws-ec2-1.74.0.tgz#eae31df9045ca9374daf6b1562674e31d8053aff" - integrity sha512-TcJtdSFur8Pkhfz39nhPZH2LBiugBhSrDkAUfeEVVwDEa4kvNys7xkcwvvBouFhM6YhitjZ53j9d7d4CEBc73g== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/aws-logs" "1.74.0" - "@aws-cdk/aws-s3" "1.74.0" - "@aws-cdk/aws-s3-assets" "1.74.0" - "@aws-cdk/aws-ssm" "1.74.0" - "@aws-cdk/cloud-assembly-schema" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - "@aws-cdk/region-info" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-efs@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-efs/-/aws-efs-1.74.0.tgz#367b89f14ccd090f98227dbc975076571b31faac" - integrity sha512-ghzwm/e8qQlOM/PKgfscbVFny9qhQNrXZltxckhHdTEX3Wtx9RXpveWzEOGBoHBJHSv49gkvAwtvzTbxCss4QA== - dependencies: - "@aws-cdk/aws-ec2" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/cloud-assembly-schema" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-events@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events/-/aws-events-1.74.0.tgz#2ed5a4cdd737ce4c8950506df496d0b43ac6aa12" - integrity sha512-dmVswvSBd2jZzgPJCQell+u9bRYNg63p1e57bXmql6Rm1UJDPTbvESPXsdwwFW2WpJyXwHOOM+qe98r5CbcTUw== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-iam@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-iam/-/aws-iam-1.74.0.tgz#c255c9676fb6048ab27c00d111ed5e7d8b46877c" - integrity sha512-5Eq4e4/be2HMFZXc1sCeNjqgTyjlWgvIjbLh0Q4c01V05r7MbPdmfZRurbeEA6NohGf+zYFQrCzPnTaqvFPFHA== - dependencies: - "@aws-cdk/core" "1.74.0" - "@aws-cdk/region-info" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-kms@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kms/-/aws-kms-1.74.0.tgz#73531f7b5d2542eb5e3f7bb54604944921e34995" - integrity sha512-4cTNqzNkml3RV6uobSwq7ZtPBjwNovOxv75vzGNNRw1GO6hxqDzoPRIsgfwNvVii8tv27eR0xTK0t6WlKqoVzg== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-lambda-nodejs@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda-nodejs/-/aws-lambda-nodejs-1.74.0.tgz#aa818270e4dcd74be51d402cdb114da311b3c966" - integrity sha512-1mc8I+Yz43El8O8SjsfkABsI31tcpO5e3fAz7/40DKuFgM9jkL6vyiL55MLIckAqmE2N9mRYU0xF4RC7uRZdmQ== - dependencies: - "@aws-cdk/aws-lambda" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-lambda@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda/-/aws-lambda-1.74.0.tgz#52175fbc9e679ca5c0f4d15e0666c99fc4a953d0" - integrity sha512-Ju3/mhnli33xnO2qvJUs11djva12SHnmJPGtbx4Nz33z577/pCwLZYWa7noP8eUzAyBglfNlPG8JWH+fNHPbew== - dependencies: - "@aws-cdk/aws-applicationautoscaling" "1.74.0" - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-codeguruprofiler" "1.74.0" - "@aws-cdk/aws-ec2" "1.74.0" - "@aws-cdk/aws-efs" "1.74.0" - "@aws-cdk/aws-events" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-logs" "1.74.0" - "@aws-cdk/aws-s3" "1.74.0" - "@aws-cdk/aws-s3-assets" "1.74.0" - "@aws-cdk/aws-sqs" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-logs@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-logs/-/aws-logs-1.74.0.tgz#cd40afe70ffeb5250ecea1db0ee0a2f68fb2084a" - integrity sha512-wMpjXdJBN3S0gYO3pMjjKxSTlIs0ZUH64k6BnOxDvnltWbBJomD0/qLKMVHShOddm9MMNdD8AaYpCqZsrplZHA== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/aws-s3-assets" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-s3-assets@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.74.0.tgz#7f1988f3931e95d88a8c1357f98c47f7f9b73dee" - integrity sha512-uewjgTOr5q60UbPKHo3qgYApXxFKUIgP6eUZi7v8mhfnZUDw9H9B4rRJ7rHRZ4gYj9ZtiWq1o3hpvWnoHsR+zg== - dependencies: - "@aws-cdk/assets" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/aws-s3" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-s3@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3/-/aws-s3-1.74.0.tgz#5b53839c3af0f67bfb1e96061f6a1ea5be445fe9" - integrity sha512-xbRbI90hUvmVwGHHMr4dPWv0TXBxr/HeeaLzqLDHv36+TKA0wMR7ttRm3pbT3Kf/YjqSty788rom6lVqaAu81Q== - dependencies: - "@aws-cdk/aws-events" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-sqs@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sqs/-/aws-sqs-1.74.0.tgz#998da5838d4310805432f0cf55fcc7c8f34657e2" - integrity sha512-qlj7ZapoL9oneLu4wh7DfQDypCo6QFlyGzd3nlmn+C9UbCscBkpSJnmYSGi2m0TVCKbd3tP1EpfdU36LTahYBg== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-ssm@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ssm/-/aws-ssm-1.74.0.tgz#426dd65c0b933618d5c196cb38386c1035b0fdc4" - integrity sha512-uok/D4ooEVXst0HZYQkcPIM5xlHAVjGjF44Gt68hbdZknBhMbfZP2EWqSZHhSW9HdVoNFTNkIxcI2AemCnt2Qg== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/cloud-assembly-schema" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/cfnspec@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cfnspec/-/cfnspec-1.74.0.tgz#03577e266721fe87287f9fc710a95d7b7e5886cd" - integrity sha512-9rdFgRUoV3lbAD6lnU+hGdkit8ILmUq+XCXzRdc9xWHUXIKxMmFK9frXTT+wGmjgdz/GpPyfSbFjzyqk4QE5+w== - dependencies: - md5 "^2.3.0" - -"@aws-cdk/cloud-assembly-schema@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.74.0.tgz#f1bbd8411ec320dd9e14ef2dce626a05019c42bc" - integrity sha512-TOfruzx7zIirRpfL9r5tGcOPdfXQatD3/kgXq4I1px12oH3jmuiEcNxGdvEYgVMPaZGMrx0rtqyT2sGDWBycKw== - dependencies: - jsonschema "^1.4.0" - semver "^7.3.2" - -"@aws-cdk/cloudformation-diff@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cloudformation-diff/-/cloudformation-diff-1.74.0.tgz#d86199db530f9df641cff7f3996939c47645d59f" - integrity sha512-aYAg85fkpX39euUo5HjsGtqOpyD5fAz1+jZ/F/5erA8Y/+rB4ifCVJH0cLYHVdYwo8oc3poB6jW4tVMxNYxbrg== - dependencies: - "@aws-cdk/cfnspec" "1.74.0" - colors "^1.4.0" - diff "^5.0.0" - fast-deep-equal "^3.1.3" - string-width "^4.2.0" - table "^6.0.3" - -"@aws-cdk/core@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.74.0.tgz#132d31c0ab9d39394827431ccd804cf10de34273" - integrity sha512-1iKRIRKyMQ8ZmPvkAAjSIGl4Fh7tLIE7D23ht25ayNGp0XVG1Hd858x2GmDzI/J1ZK6xsuTsEDGbi5/saR69ng== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - "@aws-cdk/region-info" "1.74.0" - "@balena/dockerignore" "^1.0.2" - constructs "^3.2.0" - fs-extra "^9.0.1" - ignore "^5.1.8" - minimatch "^3.0.4" - -"@aws-cdk/cx-api@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.74.0.tgz#922c11389d723eadef2bc12666ced4980fe9e4cc" - integrity sha512-Xhq9col3syHmxC3Zl1igrWwvOzwJzwTKwpLLL8ENF8u2n8x4eneAN+OLrRlB/rhAQ+KUL6B8toUsd4pcJMkSOQ== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.74.0" - semver "^7.3.2" - -"@aws-cdk/region-info@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/region-info/-/region-info-1.74.0.tgz#e53eabe2d8980c360e63ea956615253551005182" - integrity sha512-xF0etW01PyUNxL9F4xiA2y/pEG9e+0EJpOL7O9gVZ0IxOkIW+J0MljR6O8nx4yCx6j2/dXTs6INZ/zVn0DsydA== - -"@balena/dockerignore@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@balena/dockerignore/-/dockerignore-1.0.2.tgz#9ffe4726915251e8eb69f44ef3547e0da2c03e0d" - integrity sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q== - -"@serverless-stack/resources@../../../resources": - version "0.4.3" - dependencies: - "@aws-cdk/aws-lambda" "1.74.0" - "@aws-cdk/aws-lambda-nodejs" "1.74.0" - "@aws-cdk/core" "1.74.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== - 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-regex@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" - integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== - -ansi-styles@^4.0.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" - -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== - -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= - -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" - -charenc@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667" - integrity sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc= - -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.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== - -colors@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" - integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -constructs@^3.2.0: - version "3.2.40" - resolved "https://registry.yarnpkg.com/constructs/-/constructs-3.2.40.tgz#e8c0e1020ad254ff73d9ea6c85cc90c3a33c71f1" - integrity sha512-XtKn+Pzq8EZNe1zasQem6X09dprZ8pXvNxECKQLZC+jU5BdkgDKe0nak4Wp+k7uvDFlyh9NccaGtxqP6w2YS0A== - -crypt@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b" - integrity sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs= - -diff@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" - integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== - -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== - -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-json-stable-stringify@^2.0.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== - -fs-extra@^9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc" - integrity sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^1.0.0" - -graceful-fs@^4.1.6, graceful-fs@^4.2.0: - version "4.2.4" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" - integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== - -ignore@^5.1.8: - version "5.1.8" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" - integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== - -is-buffer@~1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - -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== - -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== - -jsonfile@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.0.1.tgz#98966cba214378c8c84b82e085907b40bf614179" - integrity sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg== - dependencies: - universalify "^1.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -jsonschema@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.4.0.tgz#1afa34c4bc22190d8e42271ec17ac8b3404f87b2" - integrity sha512-/YgW6pRMr6M7C+4o8kS+B/2myEpHCrxO4PEWnqJNBFMjn7EWXqlQ4tGwL6xTHeRplwuZmcAncdvfOad1nT2yMw== - -lodash@^4.17.20: - version "4.17.20" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" - integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== - -md5@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/md5/-/md5-2.3.0.tgz#c3da9a6aae3a30b46b7b0c349b87b110dc3bda4f" - integrity sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g== - dependencies: - charenc "0.0.2" - crypt "0.0.2" - is-buffer "~1.1.6" - -minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -punycode@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -semver@^7.3.2: - version "7.3.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" - integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== - -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" - -string-width@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" - integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.0" - -strip-ansi@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" - integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== - dependencies: - ansi-regex "^5.0.0" - -table@^6.0.3: - version "6.0.4" - resolved "https://registry.yarnpkg.com/table/-/table-6.0.4.tgz#c523dd182177e926c723eb20e1b341238188aa0d" - integrity sha512-sBT4xRLdALd+NFBvwOz8bw4b15htyythha+q+DVZqy2RS08PPC8O2sZFgJYEY7bJvbCFKccs+WIZ/cd+xxTWCw== - dependencies: - ajv "^6.12.4" - lodash "^4.17.20" - slice-ansi "^4.0.0" - string-width "^4.2.0" - -universalify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d" - integrity sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug== - -uri-js@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" - integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== - dependencies: - punycode "^2.1.0" diff --git a/packages/cli/test/cdk-command/package.json b/packages/cli/test/cdk-command/package.json index 1eb5d1dff1..9974356da6 100644 --- a/packages/cli/test/cdk-command/package.json +++ b/packages/cli/test/cdk-command/package.json @@ -1,15 +1,15 @@ { "name": "cdk-command", - "version": "1.0.0", - "description": "", - "main": "index.js", + "private": true, + "description": "tests", + "version": "0.0.1", "scripts": { - "cdk": "../../bin/scripts.js cdk" + "postinstall": "node ../helpers/copy-symlinks.js", + "cdk": "sst cdk" }, - "keywords": [], - "author": "", "dependencies": { - "@serverless-stack/resources": "../../../resources" + "@serverless-stack/cli": "^1.0.0-alpha.5", + "@serverless-stack/resources": "^1.0.0-alpha.5" }, "license": "ISC" } diff --git a/packages/cli/test/cdk-command/yarn.lock b/packages/cli/test/cdk-command/yarn.lock deleted file mode 100644 index 4a2a4116c5..0000000000 --- a/packages/cli/test/cdk-command/yarn.lock +++ /dev/null @@ -1,109 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@aws-cdk/cloud-assembly-schema@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.61.0.tgz#d4d7f75cba3c52bb0b5406085dc77eefc6393aa9" - integrity sha512-+D1K159eNxWDGJNiyQcwczddzqFDS08b2VAJrgJFvqhMNbNWWuYxxxEJoh5jH9iULr2a52WXrrQfF72HbB0jUQ== - dependencies: - jsonschema "^1.2.5" - semver "^7.2.2" - -"@aws-cdk/core@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.61.0.tgz#817689a087cb97741fd5e4b407ee603610f30fb3" - integrity sha512-g6vOR7zqWfbSzIM2kqUPH0Tdk4tOUFGX1TM5crty1ndkNja84PvAzEjQZr34U2aCGk+EI2pyB/4D7BLiAhAvKw== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" - fs-extra "^9.0.1" - minimatch "^3.0.4" - -"@aws-cdk/cx-api@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.61.0.tgz#23f0e0cff978277626d42091907b71a6c4d98580" - integrity sha512-SOn1aLhp2Zot1Qqev1REbgL2n0Ccl9sfg1nJMWnGxAmjarazJfvW22llYKnJPuFkgHswaBlifBxAA4WgKbUn6g== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.61.0" - semver "^7.2.2" - -"@serverless-stack/resources@../../../resources": - version "0.1.10" - dependencies: - "@aws-cdk/core" "1.61.0" - -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= - -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" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -constructs@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/constructs/-/constructs-3.0.4.tgz#eb1ed5b80f6600b8d50de83971357ae0fe8e29a2" - integrity sha512-CDvg7gMjphE3DFX4pzkF6j73NREbR8npPFW8Mx/CLRnMR035+Y1o1HrXIsNSss/dq3ZUnNTU9jKyd3fL9EOlfw== - -fs-extra@^9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc" - integrity sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^1.0.0" - -graceful-fs@^4.1.6, graceful-fs@^4.2.0: - version "4.2.4" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" - integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== - -jsonfile@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.0.1.tgz#98966cba214378c8c84b82e085907b40bf614179" - integrity sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg== - dependencies: - universalify "^1.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -jsonschema@^1.2.5: - version "1.2.6" - resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.2.6.tgz#52b0a8e9dc06bbae7295249d03e4b9faee8a0c0b" - integrity sha512-SqhURKZG07JyKKeo/ir24QnS4/BV7a6gQy93bUSe4lUdNp0QNpIz2c9elWJQ9dpc5cQYY6cvCzgRwy0MQCLyqA== - -minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -semver@^7.2.2: - version "7.3.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" - integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== - -universalify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d" - integrity sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug== diff --git a/packages/cli/test/config-invalid/package.json b/packages/cli/test/config-invalid/package.json index 62ac3bac5e..7adde81969 100644 --- a/packages/cli/test/config-invalid/package.json +++ b/packages/cli/test/config-invalid/package.json @@ -1,13 +1,15 @@ { "name": "config-invalid", - "version": "1.0.0", - "description": "", - "main": "index.js", + "private": true, + "description": "tests", + "version": "0.0.1", "scripts": { - "build": "../../bin/scripts.js build" + "postinstall": "node ../helpers/copy-symlinks.js", + "build": "sst build" + }, + "dependencies": { + "@serverless-stack/cli": "^1.0.0-alpha.5", + "@serverless-stack/resources": "^1.0.0-alpha.5" }, - "keywords": [], - "author": "", - "dependencies": {}, "license": "ISC" } diff --git a/packages/cli/test/config-invalid/yarn.lock b/packages/cli/test/config-invalid/yarn.lock deleted file mode 100644 index fb57ccd13a..0000000000 --- a/packages/cli/test/config-invalid/yarn.lock +++ /dev/null @@ -1,4 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - diff --git a/packages/cli/test/config-no-name/package.json b/packages/cli/test/config-no-name/package.json index 0f6a33b45d..3b0c44e459 100644 --- a/packages/cli/test/config-no-name/package.json +++ b/packages/cli/test/config-no-name/package.json @@ -1,13 +1,15 @@ { "name": "config-no-name", - "version": "1.0.0", - "description": "", - "main": "index.js", + "private": true, + "description": "tests", + "version": "0.0.1", "scripts": { - "build": "../../bin/scripts.js build" + "postinstall": "node ../helpers/copy-symlinks.js", + "build": "sst build" + }, + "dependencies": { + "@serverless-stack/cli": "^1.0.0-alpha.5", + "@serverless-stack/resources": "^1.0.0-alpha.5" }, - "keywords": [], - "author": "", - "dependencies": {}, "license": "ISC" } diff --git a/packages/cli/test/config-no-name/yarn.lock b/packages/cli/test/config-no-name/yarn.lock deleted file mode 100644 index fb57ccd13a..0000000000 --- a/packages/cli/test/config-no-name/yarn.lock +++ /dev/null @@ -1,4 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - diff --git a/packages/cli/test/config-no-type/package.json b/packages/cli/test/config-no-type/package.json index b41de9dfca..f3673caa1f 100644 --- a/packages/cli/test/config-no-type/package.json +++ b/packages/cli/test/config-no-type/package.json @@ -1,13 +1,15 @@ { "name": "config-no-type", - "version": "1.0.0", - "description": "", - "main": "index.js", + "private": true, + "description": "tests", + "version": "0.0.1", "scripts": { - "build": "../../bin/scripts.js build" + "postinstall": "node ../helpers/copy-symlinks.js", + "build": "sst build" + }, + "dependencies": { + "@serverless-stack/cli": "^1.0.0-alpha.5", + "@serverless-stack/resources": "^1.0.0-alpha.5" }, - "keywords": [], - "author": "", - "dependencies": {}, "license": "ISC" } diff --git a/packages/cli/test/config-no-type/yarn.lock b/packages/cli/test/config-no-type/yarn.lock deleted file mode 100644 index fb57ccd13a..0000000000 --- a/packages/cli/test/config-no-type/yarn.lock +++ /dev/null @@ -1,4 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - diff --git a/packages/cli/test/config-not-found/package.json b/packages/cli/test/config-not-found/package.json index 5854b66f0a..37bcdf6914 100644 --- a/packages/cli/test/config-not-found/package.json +++ b/packages/cli/test/config-not-found/package.json @@ -1,13 +1,15 @@ { "name": "config-not-found", - "version": "1.0.0", - "description": "", - "main": "index.js", + "private": true, + "description": "tests", + "version": "0.0.1", "scripts": { - "build": "../../bin/scripts.js build" + "postinstall": "node ../helpers/copy-symlinks.js", + "build": "sst build" + }, + "dependencies": { + "@serverless-stack/cli": "^1.0.0-alpha.5", + "@serverless-stack/resources": "^1.0.0-alpha.5" }, - "keywords": [], - "author": "", - "dependencies": {}, "license": "ISC" } diff --git a/packages/cli/test/config-not-found/yarn.lock b/packages/cli/test/config-not-found/yarn.lock deleted file mode 100644 index fb57ccd13a..0000000000 --- a/packages/cli/test/config-not-found/yarn.lock +++ /dev/null @@ -1,4 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - diff --git a/packages/cli/test/config/package.json b/packages/cli/test/config/package.json index b945257815..d9c6da7050 100644 --- a/packages/cli/test/config/package.json +++ b/packages/cli/test/config/package.json @@ -1,18 +1,16 @@ { "name": "config-test", - "version": "1.0.0", - "description": "", - "main": "index.js", + "private": true, + "description": "tests", + "version": "0.0.1", "scripts": { - "build": "../../bin/scripts.js build", - "deploy": "../../bin/scripts.js deploy", - "remove": "../../bin/scripts.js remove" + "postinstall": "node ../helpers/copy-symlinks.js", + "build": "sst build" }, - "keywords": [], - "author": "", "dependencies": { - "@serverless-stack/resources": "../../../resources", - "@aws-cdk/aws-dynamodb": "1.74.0" + "@aws-cdk/aws-dynamodb": "1.74.0", + "@serverless-stack/cli": "^1.0.0-alpha.5", + "@serverless-stack/resources": "^1.0.0-alpha.5" }, "license": "ISC" } diff --git a/packages/cli/test/config/yarn.lock b/packages/cli/test/config/yarn.lock deleted file mode 100644 index a6b35a0548..0000000000 --- a/packages/cli/test/config/yarn.lock +++ /dev/null @@ -1,373 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@aws-cdk/assets@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/assets/-/assets-1.74.0.tgz#8aea948a32afcf7c60449346a087c4b5aecff251" - integrity sha512-ZXmiJ9Qf0odTJWQPEvN+41wI1MAOK0PS5E/CTTOc9qSZufHKxpF0UPNu+8G/cMUnmKoonih8eglUCR8mmVzGrQ== - dependencies: - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-applicationautoscaling@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-applicationautoscaling/-/aws-applicationautoscaling-1.74.0.tgz#ad5e946e68bd4094c3236e983d36f67d66135dfc" - integrity sha512-QqEm+jN2zQyficWAQWIIJTN+HwonBx5lS+Ccgx8vR+lXAPW9BORtsuEd0jKzMs2LVF+eiRQcwgD1WqH99HFPXw== - dependencies: - "@aws-cdk/aws-autoscaling-common" "1.74.0" - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-autoscaling-common@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-common/-/aws-autoscaling-common-1.74.0.tgz#f6bcbb987830f299b6e2ef454944afdde9a8a82e" - integrity sha512-UHqhMxGjGe00XaZfb7+OtAbY48vU2PdjYxIiRlFqrvJ7w6ws2dW7trKRHfpmbIF6M8h3Jtys1y69UuijaIHTlg== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-cloudformation@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudformation/-/aws-cloudformation-1.74.0.tgz#04fffb02403fb52ee05ec43172b845a29a903a9e" - integrity sha512-VOyuMhoxA9vk3zSUfzqSg1YjYYgc+qyB0bpaOJIW/iinXYXhA64z5YQnTxdwd/exlFgA59chOanA7aRrNM2YIg== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-lambda" "1.74.0" - "@aws-cdk/aws-s3" "1.74.0" - "@aws-cdk/aws-sns" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-cloudwatch@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.74.0.tgz#94a29d2998a5c08412084b346d404b3a8b90f8a8" - integrity sha512-FqkU9JNM63JzdKVwmI07UJ2upDLrqByEs6kXMNOv0RxfvLIe73DNfBp8T+WxJ23G38sCLfeTsPIIG5K2XzOQGg== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-codeguruprofiler@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codeguruprofiler/-/aws-codeguruprofiler-1.74.0.tgz#d749688e9edb252ce6fc68efa4f9977f7ba02cb6" - integrity sha512-CF4NqFSPeFnqbVG23+BozGNVha2Pk7vXaLGCPZPlHmx2jwaxZHCdxK+VvtOtV3fVPr6CI97SsTq9TwiFciv+zg== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-dynamodb@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-dynamodb/-/aws-dynamodb-1.74.0.tgz#7e0ef530e9c3d7301a9db616ddf6d650f7acb76f" - integrity sha512-YU38dFYLMyMe5u2GLy8sFCFTVxwDgWZ67HzFg41kSj8WpAsVQEE5Zxh1nf0+8Ai1J4MNeLeMCaXtuliHipoQSw== - dependencies: - "@aws-cdk/aws-applicationautoscaling" "1.74.0" - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/aws-lambda" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/custom-resources" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-ec2@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ec2/-/aws-ec2-1.74.0.tgz#eae31df9045ca9374daf6b1562674e31d8053aff" - integrity sha512-TcJtdSFur8Pkhfz39nhPZH2LBiugBhSrDkAUfeEVVwDEa4kvNys7xkcwvvBouFhM6YhitjZ53j9d7d4CEBc73g== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/aws-logs" "1.74.0" - "@aws-cdk/aws-s3" "1.74.0" - "@aws-cdk/aws-s3-assets" "1.74.0" - "@aws-cdk/aws-ssm" "1.74.0" - "@aws-cdk/cloud-assembly-schema" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - "@aws-cdk/region-info" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-efs@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-efs/-/aws-efs-1.74.0.tgz#367b89f14ccd090f98227dbc975076571b31faac" - integrity sha512-ghzwm/e8qQlOM/PKgfscbVFny9qhQNrXZltxckhHdTEX3Wtx9RXpveWzEOGBoHBJHSv49gkvAwtvzTbxCss4QA== - dependencies: - "@aws-cdk/aws-ec2" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/cloud-assembly-schema" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-events@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events/-/aws-events-1.74.0.tgz#2ed5a4cdd737ce4c8950506df496d0b43ac6aa12" - integrity sha512-dmVswvSBd2jZzgPJCQell+u9bRYNg63p1e57bXmql6Rm1UJDPTbvESPXsdwwFW2WpJyXwHOOM+qe98r5CbcTUw== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-iam@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-iam/-/aws-iam-1.74.0.tgz#c255c9676fb6048ab27c00d111ed5e7d8b46877c" - integrity sha512-5Eq4e4/be2HMFZXc1sCeNjqgTyjlWgvIjbLh0Q4c01V05r7MbPdmfZRurbeEA6NohGf+zYFQrCzPnTaqvFPFHA== - dependencies: - "@aws-cdk/core" "1.74.0" - "@aws-cdk/region-info" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-kms@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kms/-/aws-kms-1.74.0.tgz#73531f7b5d2542eb5e3f7bb54604944921e34995" - integrity sha512-4cTNqzNkml3RV6uobSwq7ZtPBjwNovOxv75vzGNNRw1GO6hxqDzoPRIsgfwNvVii8tv27eR0xTK0t6WlKqoVzg== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-lambda-nodejs@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda-nodejs/-/aws-lambda-nodejs-1.74.0.tgz#aa818270e4dcd74be51d402cdb114da311b3c966" - integrity sha512-1mc8I+Yz43El8O8SjsfkABsI31tcpO5e3fAz7/40DKuFgM9jkL6vyiL55MLIckAqmE2N9mRYU0xF4RC7uRZdmQ== - dependencies: - "@aws-cdk/aws-lambda" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-lambda@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda/-/aws-lambda-1.74.0.tgz#52175fbc9e679ca5c0f4d15e0666c99fc4a953d0" - integrity sha512-Ju3/mhnli33xnO2qvJUs11djva12SHnmJPGtbx4Nz33z577/pCwLZYWa7noP8eUzAyBglfNlPG8JWH+fNHPbew== - dependencies: - "@aws-cdk/aws-applicationautoscaling" "1.74.0" - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-codeguruprofiler" "1.74.0" - "@aws-cdk/aws-ec2" "1.74.0" - "@aws-cdk/aws-efs" "1.74.0" - "@aws-cdk/aws-events" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-logs" "1.74.0" - "@aws-cdk/aws-s3" "1.74.0" - "@aws-cdk/aws-s3-assets" "1.74.0" - "@aws-cdk/aws-sqs" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-logs@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-logs/-/aws-logs-1.74.0.tgz#cd40afe70ffeb5250ecea1db0ee0a2f68fb2084a" - integrity sha512-wMpjXdJBN3S0gYO3pMjjKxSTlIs0ZUH64k6BnOxDvnltWbBJomD0/qLKMVHShOddm9MMNdD8AaYpCqZsrplZHA== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/aws-s3-assets" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-s3-assets@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.74.0.tgz#7f1988f3931e95d88a8c1357f98c47f7f9b73dee" - integrity sha512-uewjgTOr5q60UbPKHo3qgYApXxFKUIgP6eUZi7v8mhfnZUDw9H9B4rRJ7rHRZ4gYj9ZtiWq1o3hpvWnoHsR+zg== - dependencies: - "@aws-cdk/assets" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/aws-s3" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-s3@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3/-/aws-s3-1.74.0.tgz#5b53839c3af0f67bfb1e96061f6a1ea5be445fe9" - integrity sha512-xbRbI90hUvmVwGHHMr4dPWv0TXBxr/HeeaLzqLDHv36+TKA0wMR7ttRm3pbT3Kf/YjqSty788rom6lVqaAu81Q== - dependencies: - "@aws-cdk/aws-events" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-sns@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns/-/aws-sns-1.74.0.tgz#c9289b34cb2512010a0b6813f684c93398502bdd" - integrity sha512-O0HDGvl1WjCTU53auNJKCW5/6vpbVYlj0RwLgGaOOlTeKnfuq53kGvL/t3QdZQlJWxSvkbN61O+rZB7GacXV0g== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-events" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/aws-sqs" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-sqs@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sqs/-/aws-sqs-1.74.0.tgz#998da5838d4310805432f0cf55fcc7c8f34657e2" - integrity sha512-qlj7ZapoL9oneLu4wh7DfQDypCo6QFlyGzd3nlmn+C9UbCscBkpSJnmYSGi2m0TVCKbd3tP1EpfdU36LTahYBg== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-ssm@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ssm/-/aws-ssm-1.74.0.tgz#426dd65c0b933618d5c196cb38386c1035b0fdc4" - integrity sha512-uok/D4ooEVXst0HZYQkcPIM5xlHAVjGjF44Gt68hbdZknBhMbfZP2EWqSZHhSW9HdVoNFTNkIxcI2AemCnt2Qg== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/cloud-assembly-schema" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/cloud-assembly-schema@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.74.0.tgz#f1bbd8411ec320dd9e14ef2dce626a05019c42bc" - integrity sha512-TOfruzx7zIirRpfL9r5tGcOPdfXQatD3/kgXq4I1px12oH3jmuiEcNxGdvEYgVMPaZGMrx0rtqyT2sGDWBycKw== - dependencies: - jsonschema "^1.4.0" - semver "^7.3.2" - -"@aws-cdk/core@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.74.0.tgz#132d31c0ab9d39394827431ccd804cf10de34273" - integrity sha512-1iKRIRKyMQ8ZmPvkAAjSIGl4Fh7tLIE7D23ht25ayNGp0XVG1Hd858x2GmDzI/J1ZK6xsuTsEDGbi5/saR69ng== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - "@aws-cdk/region-info" "1.74.0" - "@balena/dockerignore" "^1.0.2" - constructs "^3.2.0" - fs-extra "^9.0.1" - ignore "^5.1.8" - minimatch "^3.0.4" - -"@aws-cdk/custom-resources@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/custom-resources/-/custom-resources-1.74.0.tgz#19329e8a9b9bc0ca66e00c791b008c416a67265f" - integrity sha512-KDXgyRCeCMIj42nQcd2RXc4GYQpd7SWtx2iw0G4Wvs/wG4i3nR1qdlvEJvAlNgsYeqM4pp3mIp3PgdX341HsCg== - dependencies: - "@aws-cdk/aws-cloudformation" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-lambda" "1.74.0" - "@aws-cdk/aws-logs" "1.74.0" - "@aws-cdk/aws-sns" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/cx-api@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.74.0.tgz#922c11389d723eadef2bc12666ced4980fe9e4cc" - integrity sha512-Xhq9col3syHmxC3Zl1igrWwvOzwJzwTKwpLLL8ENF8u2n8x4eneAN+OLrRlB/rhAQ+KUL6B8toUsd4pcJMkSOQ== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.74.0" - semver "^7.3.2" - -"@aws-cdk/region-info@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/region-info/-/region-info-1.74.0.tgz#e53eabe2d8980c360e63ea956615253551005182" - integrity sha512-xF0etW01PyUNxL9F4xiA2y/pEG9e+0EJpOL7O9gVZ0IxOkIW+J0MljR6O8nx4yCx6j2/dXTs6INZ/zVn0DsydA== - -"@balena/dockerignore@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@balena/dockerignore/-/dockerignore-1.0.2.tgz#9ffe4726915251e8eb69f44ef3547e0da2c03e0d" - integrity sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q== - -"@serverless-stack/resources@../../../resources": - version "0.4.3" - dependencies: - "@aws-cdk/aws-lambda" "1.74.0" - "@aws-cdk/aws-lambda-nodejs" "1.74.0" - "@aws-cdk/core" "1.74.0" - -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= - -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" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -constructs@^3.2.0: - version "3.2.40" - resolved "https://registry.yarnpkg.com/constructs/-/constructs-3.2.40.tgz#e8c0e1020ad254ff73d9ea6c85cc90c3a33c71f1" - integrity sha512-XtKn+Pzq8EZNe1zasQem6X09dprZ8pXvNxECKQLZC+jU5BdkgDKe0nak4Wp+k7uvDFlyh9NccaGtxqP6w2YS0A== - -fs-extra@^9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc" - integrity sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^1.0.0" - -graceful-fs@^4.1.6, graceful-fs@^4.2.0: - version "4.2.4" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" - integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== - -ignore@^5.1.8: - version "5.1.8" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" - integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== - -jsonfile@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.0.1.tgz#98966cba214378c8c84b82e085907b40bf614179" - integrity sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg== - dependencies: - universalify "^1.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -jsonschema@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.4.0.tgz#1afa34c4bc22190d8e42271ec17ac8b3404f87b2" - integrity sha512-/YgW6pRMr6M7C+4o8kS+B/2myEpHCrxO4PEWnqJNBFMjn7EWXqlQ4tGwL6xTHeRplwuZmcAncdvfOad1nT2yMw== - -minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -semver@^7.3.2: - version "7.3.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" - integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== - -universalify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d" - integrity sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug== diff --git a/packages/cli/test/context/package.json b/packages/cli/test/context/package.json index e14beb5728..e1ce87edca 100644 --- a/packages/cli/test/context/package.json +++ b/packages/cli/test/context/package.json @@ -1,16 +1,16 @@ { "name": "context", - "version": "1.0.0", - "description": "", - "main": "index.js", + "private": true, + "description": "tests", + "version": "0.0.1", "scripts": { - "build": "../../bin/scripts.js build" + "postinstall": "node ../helpers/copy-symlinks.js", + "build": "sst build" }, - "keywords": [], - "author": "", "dependencies": { - "@serverless-stack/resources": "../../../resources", - "@aws-cdk/aws-dynamodb": "1.74.0" + "@aws-cdk/aws-dynamodb": "1.74.0", + "@serverless-stack/cli": "^1.0.0-alpha.5", + "@serverless-stack/resources": "^1.0.0-alpha.5" }, "license": "ISC" } diff --git a/packages/cli/test/context/yarn.lock b/packages/cli/test/context/yarn.lock deleted file mode 100644 index a6b35a0548..0000000000 --- a/packages/cli/test/context/yarn.lock +++ /dev/null @@ -1,373 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@aws-cdk/assets@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/assets/-/assets-1.74.0.tgz#8aea948a32afcf7c60449346a087c4b5aecff251" - integrity sha512-ZXmiJ9Qf0odTJWQPEvN+41wI1MAOK0PS5E/CTTOc9qSZufHKxpF0UPNu+8G/cMUnmKoonih8eglUCR8mmVzGrQ== - dependencies: - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-applicationautoscaling@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-applicationautoscaling/-/aws-applicationautoscaling-1.74.0.tgz#ad5e946e68bd4094c3236e983d36f67d66135dfc" - integrity sha512-QqEm+jN2zQyficWAQWIIJTN+HwonBx5lS+Ccgx8vR+lXAPW9BORtsuEd0jKzMs2LVF+eiRQcwgD1WqH99HFPXw== - dependencies: - "@aws-cdk/aws-autoscaling-common" "1.74.0" - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-autoscaling-common@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-common/-/aws-autoscaling-common-1.74.0.tgz#f6bcbb987830f299b6e2ef454944afdde9a8a82e" - integrity sha512-UHqhMxGjGe00XaZfb7+OtAbY48vU2PdjYxIiRlFqrvJ7w6ws2dW7trKRHfpmbIF6M8h3Jtys1y69UuijaIHTlg== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-cloudformation@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudformation/-/aws-cloudformation-1.74.0.tgz#04fffb02403fb52ee05ec43172b845a29a903a9e" - integrity sha512-VOyuMhoxA9vk3zSUfzqSg1YjYYgc+qyB0bpaOJIW/iinXYXhA64z5YQnTxdwd/exlFgA59chOanA7aRrNM2YIg== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-lambda" "1.74.0" - "@aws-cdk/aws-s3" "1.74.0" - "@aws-cdk/aws-sns" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-cloudwatch@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.74.0.tgz#94a29d2998a5c08412084b346d404b3a8b90f8a8" - integrity sha512-FqkU9JNM63JzdKVwmI07UJ2upDLrqByEs6kXMNOv0RxfvLIe73DNfBp8T+WxJ23G38sCLfeTsPIIG5K2XzOQGg== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-codeguruprofiler@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codeguruprofiler/-/aws-codeguruprofiler-1.74.0.tgz#d749688e9edb252ce6fc68efa4f9977f7ba02cb6" - integrity sha512-CF4NqFSPeFnqbVG23+BozGNVha2Pk7vXaLGCPZPlHmx2jwaxZHCdxK+VvtOtV3fVPr6CI97SsTq9TwiFciv+zg== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-dynamodb@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-dynamodb/-/aws-dynamodb-1.74.0.tgz#7e0ef530e9c3d7301a9db616ddf6d650f7acb76f" - integrity sha512-YU38dFYLMyMe5u2GLy8sFCFTVxwDgWZ67HzFg41kSj8WpAsVQEE5Zxh1nf0+8Ai1J4MNeLeMCaXtuliHipoQSw== - dependencies: - "@aws-cdk/aws-applicationautoscaling" "1.74.0" - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/aws-lambda" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/custom-resources" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-ec2@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ec2/-/aws-ec2-1.74.0.tgz#eae31df9045ca9374daf6b1562674e31d8053aff" - integrity sha512-TcJtdSFur8Pkhfz39nhPZH2LBiugBhSrDkAUfeEVVwDEa4kvNys7xkcwvvBouFhM6YhitjZ53j9d7d4CEBc73g== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/aws-logs" "1.74.0" - "@aws-cdk/aws-s3" "1.74.0" - "@aws-cdk/aws-s3-assets" "1.74.0" - "@aws-cdk/aws-ssm" "1.74.0" - "@aws-cdk/cloud-assembly-schema" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - "@aws-cdk/region-info" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-efs@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-efs/-/aws-efs-1.74.0.tgz#367b89f14ccd090f98227dbc975076571b31faac" - integrity sha512-ghzwm/e8qQlOM/PKgfscbVFny9qhQNrXZltxckhHdTEX3Wtx9RXpveWzEOGBoHBJHSv49gkvAwtvzTbxCss4QA== - dependencies: - "@aws-cdk/aws-ec2" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/cloud-assembly-schema" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-events@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events/-/aws-events-1.74.0.tgz#2ed5a4cdd737ce4c8950506df496d0b43ac6aa12" - integrity sha512-dmVswvSBd2jZzgPJCQell+u9bRYNg63p1e57bXmql6Rm1UJDPTbvESPXsdwwFW2WpJyXwHOOM+qe98r5CbcTUw== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-iam@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-iam/-/aws-iam-1.74.0.tgz#c255c9676fb6048ab27c00d111ed5e7d8b46877c" - integrity sha512-5Eq4e4/be2HMFZXc1sCeNjqgTyjlWgvIjbLh0Q4c01V05r7MbPdmfZRurbeEA6NohGf+zYFQrCzPnTaqvFPFHA== - dependencies: - "@aws-cdk/core" "1.74.0" - "@aws-cdk/region-info" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-kms@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kms/-/aws-kms-1.74.0.tgz#73531f7b5d2542eb5e3f7bb54604944921e34995" - integrity sha512-4cTNqzNkml3RV6uobSwq7ZtPBjwNovOxv75vzGNNRw1GO6hxqDzoPRIsgfwNvVii8tv27eR0xTK0t6WlKqoVzg== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-lambda-nodejs@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda-nodejs/-/aws-lambda-nodejs-1.74.0.tgz#aa818270e4dcd74be51d402cdb114da311b3c966" - integrity sha512-1mc8I+Yz43El8O8SjsfkABsI31tcpO5e3fAz7/40DKuFgM9jkL6vyiL55MLIckAqmE2N9mRYU0xF4RC7uRZdmQ== - dependencies: - "@aws-cdk/aws-lambda" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-lambda@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda/-/aws-lambda-1.74.0.tgz#52175fbc9e679ca5c0f4d15e0666c99fc4a953d0" - integrity sha512-Ju3/mhnli33xnO2qvJUs11djva12SHnmJPGtbx4Nz33z577/pCwLZYWa7noP8eUzAyBglfNlPG8JWH+fNHPbew== - dependencies: - "@aws-cdk/aws-applicationautoscaling" "1.74.0" - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-codeguruprofiler" "1.74.0" - "@aws-cdk/aws-ec2" "1.74.0" - "@aws-cdk/aws-efs" "1.74.0" - "@aws-cdk/aws-events" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-logs" "1.74.0" - "@aws-cdk/aws-s3" "1.74.0" - "@aws-cdk/aws-s3-assets" "1.74.0" - "@aws-cdk/aws-sqs" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-logs@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-logs/-/aws-logs-1.74.0.tgz#cd40afe70ffeb5250ecea1db0ee0a2f68fb2084a" - integrity sha512-wMpjXdJBN3S0gYO3pMjjKxSTlIs0ZUH64k6BnOxDvnltWbBJomD0/qLKMVHShOddm9MMNdD8AaYpCqZsrplZHA== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/aws-s3-assets" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-s3-assets@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.74.0.tgz#7f1988f3931e95d88a8c1357f98c47f7f9b73dee" - integrity sha512-uewjgTOr5q60UbPKHo3qgYApXxFKUIgP6eUZi7v8mhfnZUDw9H9B4rRJ7rHRZ4gYj9ZtiWq1o3hpvWnoHsR+zg== - dependencies: - "@aws-cdk/assets" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/aws-s3" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-s3@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3/-/aws-s3-1.74.0.tgz#5b53839c3af0f67bfb1e96061f6a1ea5be445fe9" - integrity sha512-xbRbI90hUvmVwGHHMr4dPWv0TXBxr/HeeaLzqLDHv36+TKA0wMR7ttRm3pbT3Kf/YjqSty788rom6lVqaAu81Q== - dependencies: - "@aws-cdk/aws-events" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-sns@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns/-/aws-sns-1.74.0.tgz#c9289b34cb2512010a0b6813f684c93398502bdd" - integrity sha512-O0HDGvl1WjCTU53auNJKCW5/6vpbVYlj0RwLgGaOOlTeKnfuq53kGvL/t3QdZQlJWxSvkbN61O+rZB7GacXV0g== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-events" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/aws-sqs" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-sqs@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sqs/-/aws-sqs-1.74.0.tgz#998da5838d4310805432f0cf55fcc7c8f34657e2" - integrity sha512-qlj7ZapoL9oneLu4wh7DfQDypCo6QFlyGzd3nlmn+C9UbCscBkpSJnmYSGi2m0TVCKbd3tP1EpfdU36LTahYBg== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-ssm@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ssm/-/aws-ssm-1.74.0.tgz#426dd65c0b933618d5c196cb38386c1035b0fdc4" - integrity sha512-uok/D4ooEVXst0HZYQkcPIM5xlHAVjGjF44Gt68hbdZknBhMbfZP2EWqSZHhSW9HdVoNFTNkIxcI2AemCnt2Qg== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/cloud-assembly-schema" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/cloud-assembly-schema@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.74.0.tgz#f1bbd8411ec320dd9e14ef2dce626a05019c42bc" - integrity sha512-TOfruzx7zIirRpfL9r5tGcOPdfXQatD3/kgXq4I1px12oH3jmuiEcNxGdvEYgVMPaZGMrx0rtqyT2sGDWBycKw== - dependencies: - jsonschema "^1.4.0" - semver "^7.3.2" - -"@aws-cdk/core@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.74.0.tgz#132d31c0ab9d39394827431ccd804cf10de34273" - integrity sha512-1iKRIRKyMQ8ZmPvkAAjSIGl4Fh7tLIE7D23ht25ayNGp0XVG1Hd858x2GmDzI/J1ZK6xsuTsEDGbi5/saR69ng== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - "@aws-cdk/region-info" "1.74.0" - "@balena/dockerignore" "^1.0.2" - constructs "^3.2.0" - fs-extra "^9.0.1" - ignore "^5.1.8" - minimatch "^3.0.4" - -"@aws-cdk/custom-resources@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/custom-resources/-/custom-resources-1.74.0.tgz#19329e8a9b9bc0ca66e00c791b008c416a67265f" - integrity sha512-KDXgyRCeCMIj42nQcd2RXc4GYQpd7SWtx2iw0G4Wvs/wG4i3nR1qdlvEJvAlNgsYeqM4pp3mIp3PgdX341HsCg== - dependencies: - "@aws-cdk/aws-cloudformation" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-lambda" "1.74.0" - "@aws-cdk/aws-logs" "1.74.0" - "@aws-cdk/aws-sns" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/cx-api@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.74.0.tgz#922c11389d723eadef2bc12666ced4980fe9e4cc" - integrity sha512-Xhq9col3syHmxC3Zl1igrWwvOzwJzwTKwpLLL8ENF8u2n8x4eneAN+OLrRlB/rhAQ+KUL6B8toUsd4pcJMkSOQ== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.74.0" - semver "^7.3.2" - -"@aws-cdk/region-info@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/region-info/-/region-info-1.74.0.tgz#e53eabe2d8980c360e63ea956615253551005182" - integrity sha512-xF0etW01PyUNxL9F4xiA2y/pEG9e+0EJpOL7O9gVZ0IxOkIW+J0MljR6O8nx4yCx6j2/dXTs6INZ/zVn0DsydA== - -"@balena/dockerignore@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@balena/dockerignore/-/dockerignore-1.0.2.tgz#9ffe4726915251e8eb69f44ef3547e0da2c03e0d" - integrity sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q== - -"@serverless-stack/resources@../../../resources": - version "0.4.3" - dependencies: - "@aws-cdk/aws-lambda" "1.74.0" - "@aws-cdk/aws-lambda-nodejs" "1.74.0" - "@aws-cdk/core" "1.74.0" - -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= - -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" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -constructs@^3.2.0: - version "3.2.40" - resolved "https://registry.yarnpkg.com/constructs/-/constructs-3.2.40.tgz#e8c0e1020ad254ff73d9ea6c85cc90c3a33c71f1" - integrity sha512-XtKn+Pzq8EZNe1zasQem6X09dprZ8pXvNxECKQLZC+jU5BdkgDKe0nak4Wp+k7uvDFlyh9NccaGtxqP6w2YS0A== - -fs-extra@^9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc" - integrity sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^1.0.0" - -graceful-fs@^4.1.6, graceful-fs@^4.2.0: - version "4.2.4" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" - integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== - -ignore@^5.1.8: - version "5.1.8" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" - integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== - -jsonfile@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.0.1.tgz#98966cba214378c8c84b82e085907b40bf614179" - integrity sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg== - dependencies: - universalify "^1.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -jsonschema@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.4.0.tgz#1afa34c4bc22190d8e42271ec17ac8b3404f87b2" - integrity sha512-/YgW6pRMr6M7C+4o8kS+B/2myEpHCrxO4PEWnqJNBFMjn7EWXqlQ4tGwL6xTHeRplwuZmcAncdvfOad1nT2yMw== - -minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -semver@^7.3.2: - version "7.3.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" - integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== - -universalify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d" - integrity sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug== diff --git a/packages/cli/test/eslint-ignore-rule/package.json b/packages/cli/test/eslint-ignore-rule/package.json index 088de2133a..ea3e0a49b8 100644 --- a/packages/cli/test/eslint-ignore-rule/package.json +++ b/packages/cli/test/eslint-ignore-rule/package.json @@ -1,15 +1,15 @@ { "name": "eslint-ignore-rule", - "version": "1.0.0", - "description": "", - "main": "index.js", + "private": true, + "description": "tests", + "version": "0.0.1", "scripts": { - "build": "../../bin/scripts.js build" + "postinstall": "node ../helpers/copy-symlinks.js", + "build": "sst build" }, - "keywords": [], - "author": "", "dependencies": { - "@serverless-stack/resources": "../../../resources" + "@serverless-stack/cli": "^1.0.0-alpha.5", + "@serverless-stack/resources": "^1.0.0-alpha.5" }, "license": "ISC" } diff --git a/packages/cli/test/eslint-ignore-rule/yarn.lock b/packages/cli/test/eslint-ignore-rule/yarn.lock deleted file mode 100644 index 4a2a4116c5..0000000000 --- a/packages/cli/test/eslint-ignore-rule/yarn.lock +++ /dev/null @@ -1,109 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@aws-cdk/cloud-assembly-schema@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.61.0.tgz#d4d7f75cba3c52bb0b5406085dc77eefc6393aa9" - integrity sha512-+D1K159eNxWDGJNiyQcwczddzqFDS08b2VAJrgJFvqhMNbNWWuYxxxEJoh5jH9iULr2a52WXrrQfF72HbB0jUQ== - dependencies: - jsonschema "^1.2.5" - semver "^7.2.2" - -"@aws-cdk/core@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.61.0.tgz#817689a087cb97741fd5e4b407ee603610f30fb3" - integrity sha512-g6vOR7zqWfbSzIM2kqUPH0Tdk4tOUFGX1TM5crty1ndkNja84PvAzEjQZr34U2aCGk+EI2pyB/4D7BLiAhAvKw== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" - fs-extra "^9.0.1" - minimatch "^3.0.4" - -"@aws-cdk/cx-api@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.61.0.tgz#23f0e0cff978277626d42091907b71a6c4d98580" - integrity sha512-SOn1aLhp2Zot1Qqev1REbgL2n0Ccl9sfg1nJMWnGxAmjarazJfvW22llYKnJPuFkgHswaBlifBxAA4WgKbUn6g== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.61.0" - semver "^7.2.2" - -"@serverless-stack/resources@../../../resources": - version "0.1.10" - dependencies: - "@aws-cdk/core" "1.61.0" - -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= - -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" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -constructs@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/constructs/-/constructs-3.0.4.tgz#eb1ed5b80f6600b8d50de83971357ae0fe8e29a2" - integrity sha512-CDvg7gMjphE3DFX4pzkF6j73NREbR8npPFW8Mx/CLRnMR035+Y1o1HrXIsNSss/dq3ZUnNTU9jKyd3fL9EOlfw== - -fs-extra@^9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc" - integrity sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^1.0.0" - -graceful-fs@^4.1.6, graceful-fs@^4.2.0: - version "4.2.4" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" - integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== - -jsonfile@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.0.1.tgz#98966cba214378c8c84b82e085907b40bf614179" - integrity sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg== - dependencies: - universalify "^1.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -jsonschema@^1.2.5: - version "1.2.6" - resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.2.6.tgz#52b0a8e9dc06bbae7295249d03e4b9faee8a0c0b" - integrity sha512-SqhURKZG07JyKKeo/ir24QnS4/BV7a6gQy93bUSe4lUdNp0QNpIz2c9elWJQ9dpc5cQYY6cvCzgRwy0MQCLyqA== - -minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -semver@^7.2.2: - version "7.3.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" - integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== - -universalify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d" - integrity sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug== diff --git a/packages/cli/test/eslint-ignore/package.json b/packages/cli/test/eslint-ignore/package.json index 1a528a22a4..e312ede97d 100644 --- a/packages/cli/test/eslint-ignore/package.json +++ b/packages/cli/test/eslint-ignore/package.json @@ -1,15 +1,15 @@ { "name": "eslint-ignore", - "version": "1.0.0", - "description": "", - "main": "index.js", + "private": true, + "description": "tests", + "version": "0.0.1", "scripts": { - "build": "../../bin/scripts.js build" + "postinstall": "node ../helpers/copy-symlinks.js", + "build": "sst build" }, - "keywords": [], - "author": "", "dependencies": { - "@serverless-stack/resources": "../../../resources" + "@serverless-stack/cli": "^1.0.0-alpha.5", + "@serverless-stack/resources": "^1.0.0-alpha.5" }, "license": "ISC" } diff --git a/packages/cli/test/eslint-ignore/yarn.lock b/packages/cli/test/eslint-ignore/yarn.lock deleted file mode 100644 index 4a2a4116c5..0000000000 --- a/packages/cli/test/eslint-ignore/yarn.lock +++ /dev/null @@ -1,109 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@aws-cdk/cloud-assembly-schema@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.61.0.tgz#d4d7f75cba3c52bb0b5406085dc77eefc6393aa9" - integrity sha512-+D1K159eNxWDGJNiyQcwczddzqFDS08b2VAJrgJFvqhMNbNWWuYxxxEJoh5jH9iULr2a52WXrrQfF72HbB0jUQ== - dependencies: - jsonschema "^1.2.5" - semver "^7.2.2" - -"@aws-cdk/core@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.61.0.tgz#817689a087cb97741fd5e4b407ee603610f30fb3" - integrity sha512-g6vOR7zqWfbSzIM2kqUPH0Tdk4tOUFGX1TM5crty1ndkNja84PvAzEjQZr34U2aCGk+EI2pyB/4D7BLiAhAvKw== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" - fs-extra "^9.0.1" - minimatch "^3.0.4" - -"@aws-cdk/cx-api@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.61.0.tgz#23f0e0cff978277626d42091907b71a6c4d98580" - integrity sha512-SOn1aLhp2Zot1Qqev1REbgL2n0Ccl9sfg1nJMWnGxAmjarazJfvW22llYKnJPuFkgHswaBlifBxAA4WgKbUn6g== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.61.0" - semver "^7.2.2" - -"@serverless-stack/resources@../../../resources": - version "0.1.10" - dependencies: - "@aws-cdk/core" "1.61.0" - -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= - -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" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -constructs@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/constructs/-/constructs-3.0.4.tgz#eb1ed5b80f6600b8d50de83971357ae0fe8e29a2" - integrity sha512-CDvg7gMjphE3DFX4pzkF6j73NREbR8npPFW8Mx/CLRnMR035+Y1o1HrXIsNSss/dq3ZUnNTU9jKyd3fL9EOlfw== - -fs-extra@^9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc" - integrity sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^1.0.0" - -graceful-fs@^4.1.6, graceful-fs@^4.2.0: - version "4.2.4" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" - integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== - -jsonfile@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.0.1.tgz#98966cba214378c8c84b82e085907b40bf614179" - integrity sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg== - dependencies: - universalify "^1.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -jsonschema@^1.2.5: - version "1.2.6" - resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.2.6.tgz#52b0a8e9dc06bbae7295249d03e4b9faee8a0c0b" - integrity sha512-SqhURKZG07JyKKeo/ir24QnS4/BV7a6gQy93bUSe4lUdNp0QNpIz2c9elWJQ9dpc5cQYY6cvCzgRwy0MQCLyqA== - -minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -semver@^7.2.2: - version "7.3.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" - integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== - -universalify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d" - integrity sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug== diff --git a/packages/cli/test/eslint-ts/package.json b/packages/cli/test/eslint-ts/package.json index bc61b90df9..c89068a063 100644 --- a/packages/cli/test/eslint-ts/package.json +++ b/packages/cli/test/eslint-ts/package.json @@ -1,15 +1,15 @@ { "name": "eslint-ts", - "version": "1.0.0", - "description": "", - "main": "index.js", + "private": true, + "description": "tests", + "version": "0.0.1", "scripts": { - "build": "../../bin/scripts.js build" + "postinstall": "node ../helpers/copy-symlinks.js", + "build": "sst build" }, - "keywords": [], - "author": "", "dependencies": { - "@serverless-stack/resources": "../../../resources" + "@serverless-stack/cli": "^1.0.0-alpha.5", + "@serverless-stack/resources": "^1.0.0-alpha.5" }, "license": "ISC" } diff --git a/packages/cli/test/eslint-ts/yarn.lock b/packages/cli/test/eslint-ts/yarn.lock deleted file mode 100644 index 4a2a4116c5..0000000000 --- a/packages/cli/test/eslint-ts/yarn.lock +++ /dev/null @@ -1,109 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@aws-cdk/cloud-assembly-schema@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.61.0.tgz#d4d7f75cba3c52bb0b5406085dc77eefc6393aa9" - integrity sha512-+D1K159eNxWDGJNiyQcwczddzqFDS08b2VAJrgJFvqhMNbNWWuYxxxEJoh5jH9iULr2a52WXrrQfF72HbB0jUQ== - dependencies: - jsonschema "^1.2.5" - semver "^7.2.2" - -"@aws-cdk/core@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.61.0.tgz#817689a087cb97741fd5e4b407ee603610f30fb3" - integrity sha512-g6vOR7zqWfbSzIM2kqUPH0Tdk4tOUFGX1TM5crty1ndkNja84PvAzEjQZr34U2aCGk+EI2pyB/4D7BLiAhAvKw== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" - fs-extra "^9.0.1" - minimatch "^3.0.4" - -"@aws-cdk/cx-api@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.61.0.tgz#23f0e0cff978277626d42091907b71a6c4d98580" - integrity sha512-SOn1aLhp2Zot1Qqev1REbgL2n0Ccl9sfg1nJMWnGxAmjarazJfvW22llYKnJPuFkgHswaBlifBxAA4WgKbUn6g== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.61.0" - semver "^7.2.2" - -"@serverless-stack/resources@../../../resources": - version "0.1.10" - dependencies: - "@aws-cdk/core" "1.61.0" - -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= - -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" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -constructs@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/constructs/-/constructs-3.0.4.tgz#eb1ed5b80f6600b8d50de83971357ae0fe8e29a2" - integrity sha512-CDvg7gMjphE3DFX4pzkF6j73NREbR8npPFW8Mx/CLRnMR035+Y1o1HrXIsNSss/dq3ZUnNTU9jKyd3fL9EOlfw== - -fs-extra@^9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc" - integrity sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^1.0.0" - -graceful-fs@^4.1.6, graceful-fs@^4.2.0: - version "4.2.4" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" - integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== - -jsonfile@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.0.1.tgz#98966cba214378c8c84b82e085907b40bf614179" - integrity sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg== - dependencies: - universalify "^1.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -jsonschema@^1.2.5: - version "1.2.6" - resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.2.6.tgz#52b0a8e9dc06bbae7295249d03e4b9faee8a0c0b" - integrity sha512-SqhURKZG07JyKKeo/ir24QnS4/BV7a6gQy93bUSe4lUdNp0QNpIz2c9elWJQ9dpc5cQYY6cvCzgRwy0MQCLyqA== - -minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -semver@^7.2.2: - version "7.3.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" - integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== - -universalify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d" - integrity sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug== diff --git a/packages/cli/test/eslint/package.json b/packages/cli/test/eslint/package.json index 5b94b30ab5..c814d95b65 100644 --- a/packages/cli/test/eslint/package.json +++ b/packages/cli/test/eslint/package.json @@ -1,15 +1,15 @@ { "name": "eslint", - "version": "1.0.0", - "description": "", - "main": "index.js", + "private": true, + "description": "tests", + "version": "0.0.1", "scripts": { - "build": "../../bin/scripts.js build" + "postinstall": "node ../helpers/copy-symlinks.js", + "build": "sst build" }, - "keywords": [], - "author": "", "dependencies": { - "@serverless-stack/resources": "../../../resources" + "@serverless-stack/cli": "^1.0.0-alpha.5", + "@serverless-stack/resources": "^1.0.0-alpha.5" }, "license": "ISC" } diff --git a/packages/cli/test/eslint/yarn.lock b/packages/cli/test/eslint/yarn.lock deleted file mode 100644 index 4a2a4116c5..0000000000 --- a/packages/cli/test/eslint/yarn.lock +++ /dev/null @@ -1,109 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@aws-cdk/cloud-assembly-schema@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.61.0.tgz#d4d7f75cba3c52bb0b5406085dc77eefc6393aa9" - integrity sha512-+D1K159eNxWDGJNiyQcwczddzqFDS08b2VAJrgJFvqhMNbNWWuYxxxEJoh5jH9iULr2a52WXrrQfF72HbB0jUQ== - dependencies: - jsonschema "^1.2.5" - semver "^7.2.2" - -"@aws-cdk/core@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.61.0.tgz#817689a087cb97741fd5e4b407ee603610f30fb3" - integrity sha512-g6vOR7zqWfbSzIM2kqUPH0Tdk4tOUFGX1TM5crty1ndkNja84PvAzEjQZr34U2aCGk+EI2pyB/4D7BLiAhAvKw== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" - fs-extra "^9.0.1" - minimatch "^3.0.4" - -"@aws-cdk/cx-api@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.61.0.tgz#23f0e0cff978277626d42091907b71a6c4d98580" - integrity sha512-SOn1aLhp2Zot1Qqev1REbgL2n0Ccl9sfg1nJMWnGxAmjarazJfvW22llYKnJPuFkgHswaBlifBxAA4WgKbUn6g== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.61.0" - semver "^7.2.2" - -"@serverless-stack/resources@../../../resources": - version "0.1.10" - dependencies: - "@aws-cdk/core" "1.61.0" - -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= - -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" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -constructs@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/constructs/-/constructs-3.0.4.tgz#eb1ed5b80f6600b8d50de83971357ae0fe8e29a2" - integrity sha512-CDvg7gMjphE3DFX4pzkF6j73NREbR8npPFW8Mx/CLRnMR035+Y1o1HrXIsNSss/dq3ZUnNTU9jKyd3fL9EOlfw== - -fs-extra@^9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc" - integrity sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^1.0.0" - -graceful-fs@^4.1.6, graceful-fs@^4.2.0: - version "4.2.4" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" - integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== - -jsonfile@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.0.1.tgz#98966cba214378c8c84b82e085907b40bf614179" - integrity sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg== - dependencies: - universalify "^1.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -jsonschema@^1.2.5: - version "1.2.6" - resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.2.6.tgz#52b0a8e9dc06bbae7295249d03e4b9faee8a0c0b" - integrity sha512-SqhURKZG07JyKKeo/ir24QnS4/BV7a6gQy93bUSe4lUdNp0QNpIz2c9elWJQ9dpc5cQYY6cvCzgRwy0MQCLyqA== - -minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -semver@^7.2.2: - version "7.3.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" - integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== - -universalify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d" - integrity sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug== diff --git a/packages/cli/test/handler-function-not-found/package.json b/packages/cli/test/handler-function-not-found/package.json index f5f365e74c..d091620349 100644 --- a/packages/cli/test/handler-function-not-found/package.json +++ b/packages/cli/test/handler-function-not-found/package.json @@ -1,13 +1,15 @@ { "name": "handler-function-not-found", - "version": "1.0.0", - "description": "", - "main": "index.js", + "private": true, + "description": "tests", + "version": "0.0.1", "scripts": { - "build": "../../bin/scripts.js build" + "postinstall": "node ../helpers/copy-symlinks.js", + "build": "sst build" + }, + "dependencies": { + "@serverless-stack/cli": "^1.0.0-alpha.5", + "@serverless-stack/resources": "^1.0.0-alpha.5" }, - "keywords": [], - "author": "", - "dependencies": {}, "license": "ISC" } diff --git a/packages/cli/test/handler-function-not-found/yarn.lock b/packages/cli/test/handler-function-not-found/yarn.lock deleted file mode 100644 index fb57ccd13a..0000000000 --- a/packages/cli/test/handler-function-not-found/yarn.lock +++ /dev/null @@ -1,4 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - diff --git a/packages/cli/test/handler-not-found/package.json b/packages/cli/test/handler-not-found/package.json index b6b1131632..44e5371b91 100644 --- a/packages/cli/test/handler-not-found/package.json +++ b/packages/cli/test/handler-not-found/package.json @@ -1,13 +1,15 @@ { "name": "handler-not-found", - "version": "1.0.0", - "description": "", - "main": "index.js", + "private": true, + "description": "tests", + "version": "0.0.1", "scripts": { - "build": "../../bin/scripts.js build" + "postinstall": "node ../helpers/copy-symlinks.js", + "build": "sst build" + }, + "dependencies": { + "@serverless-stack/cli": "^1.0.0-alpha.5", + "@serverless-stack/resources": "^1.0.0-alpha.5" }, - "keywords": [], - "author": "", - "dependencies": {}, "license": "ISC" } diff --git a/packages/cli/test/handler-not-found/yarn.lock b/packages/cli/test/handler-not-found/yarn.lock deleted file mode 100644 index fb57ccd13a..0000000000 --- a/packages/cli/test/handler-not-found/yarn.lock +++ /dev/null @@ -1,4 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - diff --git a/packages/cli/test/helpers/copy-symlinks.js b/packages/cli/test/helpers/copy-symlinks.js index e5fac195b0..7dc23797a1 100644 --- a/packages/cli/test/helpers/copy-symlinks.js +++ b/packages/cli/test/helpers/copy-symlinks.js @@ -10,6 +10,12 @@ const path = require("path"); const rootBin = path.join(__dirname, "../../../../node_modules", ".bin"); +const appBin = path.join("node_modules", ".bin"); + +if (!fs.existsSync(appBin)) { + fs.mkdirSync(appBin); +} + const files = fs.readdirSync(rootBin, { encoding: "utf8", withFileTypes: true, @@ -22,10 +28,10 @@ files.forEach((file) => { const fullPath = path.join(rootBin, relPath); try { - fs.symlinkSync(fullPath, path.join("node_modules", ".bin", name)); + fs.symlinkSync(fullPath, path.join(appBin, name)); } catch (e) { if (e.code !== "EEXIST") { - throw e; + console.log(`Failed to copy symlink ${name}`); } } } diff --git a/packages/cli/test/jest-ts/package.json b/packages/cli/test/jest-ts/package.json index 765f96db0a..c41dfe12e5 100644 --- a/packages/cli/test/jest-ts/package.json +++ b/packages/cli/test/jest-ts/package.json @@ -1,30 +1,31 @@ { "name": "jest-ts", - "version": "1.0.0", - "description": "", - "main": "index.js", + "private": true, + "description": "tests", + "version": "0.0.1", "scripts": { - "build": "../../bin/scripts.js build", - "test": "../../bin/scripts.js test" + "postinstall": "node ../helpers/copy-symlinks.js", + "build": "sst build", + "test": "sst test" }, "jest": { "testPathIgnorePatterns": [ "./jest-ts.test.js" ] }, - "keywords": [], - "author": "", "dependencies": { - "@serverless-stack/cli": "../../../cli", - "@serverless-stack/resources": "../../../resources", "@aws-cdk/aws-dynamodb": "1.74.0", "@aws-cdk/aws-sns": "1.74.0", "@aws-cdk/aws-sns-subscriptions": "1.74.0", "@aws-cdk/aws-sqs": "1.74.0", - "@aws-cdk/core": "1.74.0" + "@aws-cdk/core": "1.74.0", + "@serverless-stack/cli": "^1.0.0-alpha.5", + "@serverless-stack/resources": "^1.0.0-alpha.5" }, "license": "ISC", "devDependencies": { - "@aws-cdk/assert": "1.74.0" + "@aws-cdk/assert": "1.74.0", + "@types/jest": "^26.0.19", + "@types/node": "^14.14.19" } } diff --git a/packages/cli/test/jest-ts/yarn.lock b/packages/cli/test/jest-ts/yarn.lock deleted file mode 100644 index f98b9069a3..0000000000 --- a/packages/cli/test/jest-ts/yarn.lock +++ /dev/null @@ -1,6628 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@aws-cdk/assert@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/assert/-/assert-1.74.0.tgz#82795a3bb21ede93288a60322804f6f4e2d4959e" - integrity sha512-5M3M4lcSS2dGPgVANhv5GjqC6nNBy9bL1XECAJj3lg7q+6zJ00+0wq4bB0wyvm/mE+S0axkGZ4LVHF5QA2gCfQ== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.74.0" - "@aws-cdk/cloudformation-diff" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/assets@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/assets/-/assets-1.74.0.tgz#8aea948a32afcf7c60449346a087c4b5aecff251" - integrity sha512-ZXmiJ9Qf0odTJWQPEvN+41wI1MAOK0PS5E/CTTOc9qSZufHKxpF0UPNu+8G/cMUnmKoonih8eglUCR8mmVzGrQ== - dependencies: - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-apigatewayv2@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-apigatewayv2/-/aws-apigatewayv2-1.74.0.tgz#c65c94e25b70fcee53a3e15e211f74819eff4d77" - integrity sha512-Z8GRXYZX6MHZeyKQpiiCUvtxIKh6y9UGRM9f6+xfjMa75WwjoM8cFm9h41720LwKcUXYj0TlKiqEyeL12UIAYA== - dependencies: - "@aws-cdk/aws-certificatemanager" "1.74.0" - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-ec2" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-applicationautoscaling@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-applicationautoscaling/-/aws-applicationautoscaling-1.74.0.tgz#ad5e946e68bd4094c3236e983d36f67d66135dfc" - integrity sha512-QqEm+jN2zQyficWAQWIIJTN+HwonBx5lS+Ccgx8vR+lXAPW9BORtsuEd0jKzMs2LVF+eiRQcwgD1WqH99HFPXw== - dependencies: - "@aws-cdk/aws-autoscaling-common" "1.74.0" - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-autoscaling-common@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-common/-/aws-autoscaling-common-1.74.0.tgz#f6bcbb987830f299b6e2ef454944afdde9a8a82e" - integrity sha512-UHqhMxGjGe00XaZfb7+OtAbY48vU2PdjYxIiRlFqrvJ7w6ws2dW7trKRHfpmbIF6M8h3Jtys1y69UuijaIHTlg== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-certificatemanager@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-certificatemanager/-/aws-certificatemanager-1.74.0.tgz#35b07c4b396a3db96da5d431e549460d1edc2251" - integrity sha512-Ve1SYM6qpUysHLD5bzHiE4kXBeo7VAEQlUti0cjkkjkuPh+dKHti/TqYhA0tkfUIMjZylnvkogBzMYdIUBTNxg== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-lambda" "1.74.0" - "@aws-cdk/aws-route53" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-cloudformation@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudformation/-/aws-cloudformation-1.74.0.tgz#04fffb02403fb52ee05ec43172b845a29a903a9e" - integrity sha512-VOyuMhoxA9vk3zSUfzqSg1YjYYgc+qyB0bpaOJIW/iinXYXhA64z5YQnTxdwd/exlFgA59chOanA7aRrNM2YIg== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-lambda" "1.74.0" - "@aws-cdk/aws-s3" "1.74.0" - "@aws-cdk/aws-sns" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-cloudwatch@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.74.0.tgz#94a29d2998a5c08412084b346d404b3a8b90f8a8" - integrity sha512-FqkU9JNM63JzdKVwmI07UJ2upDLrqByEs6kXMNOv0RxfvLIe73DNfBp8T+WxJ23G38sCLfeTsPIIG5K2XzOQGg== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-codeguruprofiler@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codeguruprofiler/-/aws-codeguruprofiler-1.74.0.tgz#d749688e9edb252ce6fc68efa4f9977f7ba02cb6" - integrity sha512-CF4NqFSPeFnqbVG23+BozGNVha2Pk7vXaLGCPZPlHmx2jwaxZHCdxK+VvtOtV3fVPr6CI97SsTq9TwiFciv+zg== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-dynamodb@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-dynamodb/-/aws-dynamodb-1.74.0.tgz#7e0ef530e9c3d7301a9db616ddf6d650f7acb76f" - integrity sha512-YU38dFYLMyMe5u2GLy8sFCFTVxwDgWZ67HzFg41kSj8WpAsVQEE5Zxh1nf0+8Ai1J4MNeLeMCaXtuliHipoQSw== - dependencies: - "@aws-cdk/aws-applicationautoscaling" "1.74.0" - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/aws-lambda" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/custom-resources" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-ec2@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ec2/-/aws-ec2-1.74.0.tgz#eae31df9045ca9374daf6b1562674e31d8053aff" - integrity sha512-TcJtdSFur8Pkhfz39nhPZH2LBiugBhSrDkAUfeEVVwDEa4kvNys7xkcwvvBouFhM6YhitjZ53j9d7d4CEBc73g== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/aws-logs" "1.74.0" - "@aws-cdk/aws-s3" "1.74.0" - "@aws-cdk/aws-s3-assets" "1.74.0" - "@aws-cdk/aws-ssm" "1.74.0" - "@aws-cdk/cloud-assembly-schema" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - "@aws-cdk/region-info" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-efs@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-efs/-/aws-efs-1.74.0.tgz#367b89f14ccd090f98227dbc975076571b31faac" - integrity sha512-ghzwm/e8qQlOM/PKgfscbVFny9qhQNrXZltxckhHdTEX3Wtx9RXpveWzEOGBoHBJHSv49gkvAwtvzTbxCss4QA== - dependencies: - "@aws-cdk/aws-ec2" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/cloud-assembly-schema" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-events@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events/-/aws-events-1.74.0.tgz#2ed5a4cdd737ce4c8950506df496d0b43ac6aa12" - integrity sha512-dmVswvSBd2jZzgPJCQell+u9bRYNg63p1e57bXmql6Rm1UJDPTbvESPXsdwwFW2WpJyXwHOOM+qe98r5CbcTUw== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-iam@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-iam/-/aws-iam-1.74.0.tgz#c255c9676fb6048ab27c00d111ed5e7d8b46877c" - integrity sha512-5Eq4e4/be2HMFZXc1sCeNjqgTyjlWgvIjbLh0Q4c01V05r7MbPdmfZRurbeEA6NohGf+zYFQrCzPnTaqvFPFHA== - dependencies: - "@aws-cdk/core" "1.74.0" - "@aws-cdk/region-info" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-kms@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kms/-/aws-kms-1.74.0.tgz#73531f7b5d2542eb5e3f7bb54604944921e34995" - integrity sha512-4cTNqzNkml3RV6uobSwq7ZtPBjwNovOxv75vzGNNRw1GO6hxqDzoPRIsgfwNvVii8tv27eR0xTK0t6WlKqoVzg== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-lambda-nodejs@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda-nodejs/-/aws-lambda-nodejs-1.74.0.tgz#aa818270e4dcd74be51d402cdb114da311b3c966" - integrity sha512-1mc8I+Yz43El8O8SjsfkABsI31tcpO5e3fAz7/40DKuFgM9jkL6vyiL55MLIckAqmE2N9mRYU0xF4RC7uRZdmQ== - dependencies: - "@aws-cdk/aws-lambda" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-lambda@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda/-/aws-lambda-1.74.0.tgz#52175fbc9e679ca5c0f4d15e0666c99fc4a953d0" - integrity sha512-Ju3/mhnli33xnO2qvJUs11djva12SHnmJPGtbx4Nz33z577/pCwLZYWa7noP8eUzAyBglfNlPG8JWH+fNHPbew== - dependencies: - "@aws-cdk/aws-applicationautoscaling" "1.74.0" - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-codeguruprofiler" "1.74.0" - "@aws-cdk/aws-ec2" "1.74.0" - "@aws-cdk/aws-efs" "1.74.0" - "@aws-cdk/aws-events" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-logs" "1.74.0" - "@aws-cdk/aws-s3" "1.74.0" - "@aws-cdk/aws-s3-assets" "1.74.0" - "@aws-cdk/aws-sqs" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-logs@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-logs/-/aws-logs-1.74.0.tgz#cd40afe70ffeb5250ecea1db0ee0a2f68fb2084a" - integrity sha512-wMpjXdJBN3S0gYO3pMjjKxSTlIs0ZUH64k6BnOxDvnltWbBJomD0/qLKMVHShOddm9MMNdD8AaYpCqZsrplZHA== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/aws-s3-assets" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-route53@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-route53/-/aws-route53-1.74.0.tgz#f9b3c770cf613227bba31c4a7499c8f19966f3e4" - integrity sha512-TYnAByXLc6B/uAG03bYLV0kPi1TU8G95kW6wNhfiqvPCSwfizbsg5rztbUoydJpBocbOs9qbtCM7v6gbDsB2bQ== - dependencies: - "@aws-cdk/aws-ec2" "1.74.0" - "@aws-cdk/aws-logs" "1.74.0" - "@aws-cdk/cloud-assembly-schema" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-s3-assets@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.74.0.tgz#7f1988f3931e95d88a8c1357f98c47f7f9b73dee" - integrity sha512-uewjgTOr5q60UbPKHo3qgYApXxFKUIgP6eUZi7v8mhfnZUDw9H9B4rRJ7rHRZ4gYj9ZtiWq1o3hpvWnoHsR+zg== - dependencies: - "@aws-cdk/assets" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/aws-s3" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-s3@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3/-/aws-s3-1.74.0.tgz#5b53839c3af0f67bfb1e96061f6a1ea5be445fe9" - integrity sha512-xbRbI90hUvmVwGHHMr4dPWv0TXBxr/HeeaLzqLDHv36+TKA0wMR7ttRm3pbT3Kf/YjqSty788rom6lVqaAu81Q== - dependencies: - "@aws-cdk/aws-events" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-sns-subscriptions@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns-subscriptions/-/aws-sns-subscriptions-1.74.0.tgz#6cdad4a409359122e8a410543e33da59d21b54cc" - integrity sha512-MOuArbCx1nxL5B40RMQzHNnU0SZWkaQfRDTURTQbX4e0OHyq5DnQrtXTu/XyI/MYPBU+ZnC/FXP+hynCatn+nw== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-lambda" "1.74.0" - "@aws-cdk/aws-sns" "1.74.0" - "@aws-cdk/aws-sqs" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-sns@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns/-/aws-sns-1.74.0.tgz#c9289b34cb2512010a0b6813f684c93398502bdd" - integrity sha512-O0HDGvl1WjCTU53auNJKCW5/6vpbVYlj0RwLgGaOOlTeKnfuq53kGvL/t3QdZQlJWxSvkbN61O+rZB7GacXV0g== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-events" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/aws-sqs" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-sqs@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sqs/-/aws-sqs-1.74.0.tgz#998da5838d4310805432f0cf55fcc7c8f34657e2" - integrity sha512-qlj7ZapoL9oneLu4wh7DfQDypCo6QFlyGzd3nlmn+C9UbCscBkpSJnmYSGi2m0TVCKbd3tP1EpfdU36LTahYBg== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-ssm@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ssm/-/aws-ssm-1.74.0.tgz#426dd65c0b933618d5c196cb38386c1035b0fdc4" - integrity sha512-uok/D4ooEVXst0HZYQkcPIM5xlHAVjGjF44Gt68hbdZknBhMbfZP2EWqSZHhSW9HdVoNFTNkIxcI2AemCnt2Qg== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/cloud-assembly-schema" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/cfnspec@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cfnspec/-/cfnspec-1.61.0.tgz#69e998ab83c0a478b76e1c5deb8484171dfd95f9" - integrity sha512-Ss5N3unY6iVh9SjYAYvTyvhdb7Kaz6dVFeV8K68UGewiFcHpC5tQi3YmlVBw3HCgKoRt20emiHAfmdfeGO/PUQ== - dependencies: - md5 "^2.3.0" - -"@aws-cdk/cfnspec@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cfnspec/-/cfnspec-1.74.0.tgz#03577e266721fe87287f9fc710a95d7b7e5886cd" - integrity sha512-9rdFgRUoV3lbAD6lnU+hGdkit8ILmUq+XCXzRdc9xWHUXIKxMmFK9frXTT+wGmjgdz/GpPyfSbFjzyqk4QE5+w== - dependencies: - md5 "^2.3.0" - -"@aws-cdk/cloud-assembly-schema@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.61.0.tgz#d4d7f75cba3c52bb0b5406085dc77eefc6393aa9" - integrity sha512-+D1K159eNxWDGJNiyQcwczddzqFDS08b2VAJrgJFvqhMNbNWWuYxxxEJoh5jH9iULr2a52WXrrQfF72HbB0jUQ== - dependencies: - jsonschema "^1.2.5" - semver "^7.2.2" - -"@aws-cdk/cloud-assembly-schema@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.74.0.tgz#f1bbd8411ec320dd9e14ef2dce626a05019c42bc" - integrity sha512-TOfruzx7zIirRpfL9r5tGcOPdfXQatD3/kgXq4I1px12oH3jmuiEcNxGdvEYgVMPaZGMrx0rtqyT2sGDWBycKw== - dependencies: - jsonschema "^1.4.0" - semver "^7.3.2" - -"@aws-cdk/cloudformation-diff@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cloudformation-diff/-/cloudformation-diff-1.61.0.tgz#8acb549fd1dd819aa61dfed47e011b44827045a8" - integrity sha512-TrrmywhYkXxGNTmDd1k2biJMVtEvb0QcbZ/IGM6biMXIJ+wsjw/n5snvwciQ8/PHZmsUYk67qulGdso1rpy06Q== - dependencies: - "@aws-cdk/cfnspec" "1.61.0" - colors "^1.4.0" - diff "^4.0.2" - fast-deep-equal "^3.1.3" - string-width "^4.2.0" - table "^5.4.6" - -"@aws-cdk/cloudformation-diff@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cloudformation-diff/-/cloudformation-diff-1.74.0.tgz#d86199db530f9df641cff7f3996939c47645d59f" - integrity sha512-aYAg85fkpX39euUo5HjsGtqOpyD5fAz1+jZ/F/5erA8Y/+rB4ifCVJH0cLYHVdYwo8oc3poB6jW4tVMxNYxbrg== - dependencies: - "@aws-cdk/cfnspec" "1.74.0" - colors "^1.4.0" - diff "^5.0.0" - fast-deep-equal "^3.1.3" - string-width "^4.2.0" - table "^6.0.3" - -"@aws-cdk/core@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.61.0.tgz#817689a087cb97741fd5e4b407ee603610f30fb3" - integrity sha512-g6vOR7zqWfbSzIM2kqUPH0Tdk4tOUFGX1TM5crty1ndkNja84PvAzEjQZr34U2aCGk+EI2pyB/4D7BLiAhAvKw== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" - fs-extra "^9.0.1" - minimatch "^3.0.4" - -"@aws-cdk/core@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.74.0.tgz#132d31c0ab9d39394827431ccd804cf10de34273" - integrity sha512-1iKRIRKyMQ8ZmPvkAAjSIGl4Fh7tLIE7D23ht25ayNGp0XVG1Hd858x2GmDzI/J1ZK6xsuTsEDGbi5/saR69ng== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - "@aws-cdk/region-info" "1.74.0" - "@balena/dockerignore" "^1.0.2" - constructs "^3.2.0" - fs-extra "^9.0.1" - ignore "^5.1.8" - minimatch "^3.0.4" - -"@aws-cdk/custom-resources@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/custom-resources/-/custom-resources-1.74.0.tgz#19329e8a9b9bc0ca66e00c791b008c416a67265f" - integrity sha512-KDXgyRCeCMIj42nQcd2RXc4GYQpd7SWtx2iw0G4Wvs/wG4i3nR1qdlvEJvAlNgsYeqM4pp3mIp3PgdX341HsCg== - dependencies: - "@aws-cdk/aws-cloudformation" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-lambda" "1.74.0" - "@aws-cdk/aws-logs" "1.74.0" - "@aws-cdk/aws-sns" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/cx-api@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.61.0.tgz#23f0e0cff978277626d42091907b71a6c4d98580" - integrity sha512-SOn1aLhp2Zot1Qqev1REbgL2n0Ccl9sfg1nJMWnGxAmjarazJfvW22llYKnJPuFkgHswaBlifBxAA4WgKbUn6g== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.61.0" - semver "^7.2.2" - -"@aws-cdk/cx-api@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.74.0.tgz#922c11389d723eadef2bc12666ced4980fe9e4cc" - integrity sha512-Xhq9col3syHmxC3Zl1igrWwvOzwJzwTKwpLLL8ENF8u2n8x4eneAN+OLrRlB/rhAQ+KUL6B8toUsd4pcJMkSOQ== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.74.0" - semver "^7.3.2" - -"@aws-cdk/region-info@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/region-info/-/region-info-1.61.0.tgz#663e44206a92da544183c3a405cd73490fdc3103" - integrity sha512-/10gvecycNJhYM2LIkA0XaoWgUZQ6K5FIIRaf/o4PbgHyR8WTyEPO6lbT0GoKi69TvC+18xzJ4iZ1p3ZdRnUYw== - -"@aws-cdk/region-info@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/region-info/-/region-info-1.74.0.tgz#e53eabe2d8980c360e63ea956615253551005182" - integrity sha512-xF0etW01PyUNxL9F4xiA2y/pEG9e+0EJpOL7O9gVZ0IxOkIW+J0MljR6O8nx4yCx6j2/dXTs6INZ/zVn0DsydA== - -"@aws-cdk/yaml-cfn@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/yaml-cfn/-/yaml-cfn-1.74.0.tgz#ea66da39391acf4d2f385845bb1c3466779bb90c" - integrity sha512-fJyS9apCC6lk3MHramd8Kjz4UwGWqM5gDRBci68Vs/nfXcpXY2ekHGjUMUfcel7VPobNKWszxWAMxXttAHa1zg== - dependencies: - yaml "1.10.0" - -"@babel/cli@^7.10.5": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.10.5.tgz#57df2987c8cf89d0fc7d4b157ec59d7619f1b77a" - integrity sha512-j9H9qSf3kLdM0Ao3aGPbGZ73mEA9XazuupcS6cDGWuiyAcANoguhP0r2Lx32H5JGw4sSSoHG3x/mxVnHgvOoyA== - dependencies: - commander "^4.0.1" - convert-source-map "^1.1.0" - fs-readdir-recursive "^1.1.0" - glob "^7.0.0" - lodash "^4.17.19" - make-dir "^2.1.0" - slash "^2.0.0" - source-map "^0.5.0" - optionalDependencies: - chokidar "^2.1.8" - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" - integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== - dependencies: - "@babel/highlight" "^7.10.4" - -"@babel/compat-data@^7.10.4", "@babel/compat-data@^7.11.0": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.11.0.tgz#e9f73efe09af1355b723a7f39b11bad637d7c99c" - integrity sha512-TPSvJfv73ng0pfnEOh17bYMPQbI95+nGWc71Ss4vZdRBHTDqmM9Z8ZV4rYz8Ks7sfzc95n30k6ODIq5UGnXcYQ== - dependencies: - browserslist "^4.12.0" - invariant "^2.2.4" - semver "^5.5.0" - -"@babel/core@^7.1.0", "@babel/core@^7.10.5", "@babel/core@^7.7.5": - version "7.11.1" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.11.1.tgz#2c55b604e73a40dc21b0e52650b11c65cf276643" - integrity sha512-XqF7F6FWQdKGGWAzGELL+aCO1p+lRY5Tj5/tbT3St1G8NaH70jhhDIKknIZaDans0OQBG5wRAldROLHSt44BgQ== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.11.0" - "@babel/helper-module-transforms" "^7.11.0" - "@babel/helpers" "^7.10.4" - "@babel/parser" "^7.11.1" - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.11.0" - "@babel/types" "^7.11.0" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.1" - json5 "^2.1.2" - lodash "^4.17.19" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" - -"@babel/eslint-parser@^7.11.3": - version "7.11.5" - resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.11.5.tgz#398192b8d1cd3678efb709f5ab09d9aa2a2218fd" - integrity sha512-DZ3maD3ciwRg1pOzEpJ1outlV1DA/A8XHDQoyL69fC3RIJMlMq1UPudgfRkW0YFqmQPR6OPvu8chaT7Yq2Mm8A== - dependencies: - eslint-scope "5.1.0" - eslint-visitor-keys "^1.3.0" - semver "^6.3.0" - -"@babel/eslint-plugin@^7.11.3": - version "7.11.5" - resolved "https://registry.yarnpkg.com/@babel/eslint-plugin/-/eslint-plugin-7.11.5.tgz#651fed485493cee8ae803d6a22e3b4f21315f328" - integrity sha512-klliWjB6CeMeqZ7IeJporPr7raD3Ttc8MF9HPNyTvddmBB9Bg7gbiN43rZvaqvsYiktPQLHZrD/Of7vtl6EYpw== - dependencies: - eslint-rule-composer "^0.3.0" - -"@babel/generator@^7.11.0": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.11.0.tgz#4b90c78d8c12825024568cbe83ee6c9af193585c" - integrity sha512-fEm3Uzw7Mc9Xi//qU20cBKatTfs2aOtKqmvy/Vm7RkJEGFQ4xc9myCfbXxqK//ZS8MR/ciOHw6meGASJuKmDfQ== - dependencies: - "@babel/types" "^7.11.0" - jsesc "^2.5.1" - source-map "^0.5.0" - -"@babel/helper-annotate-as-pure@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz#5bf0d495a3f757ac3bda48b5bf3b3ba309c72ba3" - integrity sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA== - dependencies: - "@babel/types" "^7.10.4" - -"@babel/helper-builder-binary-assignment-operator-visitor@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz#bb0b75f31bf98cbf9ff143c1ae578b87274ae1a3" - integrity sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg== - dependencies: - "@babel/helper-explode-assignable-expression" "^7.10.4" - "@babel/types" "^7.10.4" - -"@babel/helper-compilation-targets@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.10.4.tgz#804ae8e3f04376607cc791b9d47d540276332bd2" - integrity sha512-a3rYhlsGV0UHNDvrtOXBg8/OpfV0OKTkxKPzIplS1zpx7CygDcWWxckxZeDd3gzPzC4kUT0A4nVFDK0wGMh4MQ== - dependencies: - "@babel/compat-data" "^7.10.4" - browserslist "^4.12.0" - invariant "^2.2.4" - levenary "^1.1.1" - semver "^5.5.0" - -"@babel/helper-create-class-features-plugin@^7.10.4": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.5.tgz#9f61446ba80e8240b0a5c85c6fdac8459d6f259d" - integrity sha512-0nkdeijB7VlZoLT3r/mY3bUkw3T8WG/hNw+FATs/6+pG2039IJWjTYL0VTISqsNHMUTEnwbVnc89WIJX9Qed0A== - dependencies: - "@babel/helper-function-name" "^7.10.4" - "@babel/helper-member-expression-to-functions" "^7.10.5" - "@babel/helper-optimise-call-expression" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-replace-supers" "^7.10.4" - "@babel/helper-split-export-declaration" "^7.10.4" - -"@babel/helper-create-regexp-features-plugin@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.4.tgz#fdd60d88524659a0b6959c0579925e425714f3b8" - integrity sha512-2/hu58IEPKeoLF45DBwx3XFqsbCXmkdAay4spVr2x0jYgRxrSNp+ePwvSsy9g6YSaNDcKIQVPXk1Ov8S2edk2g== - dependencies: - "@babel/helper-annotate-as-pure" "^7.10.4" - "@babel/helper-regex" "^7.10.4" - regexpu-core "^4.7.0" - -"@babel/helper-define-map@^7.10.4": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz#b53c10db78a640800152692b13393147acb9bb30" - integrity sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ== - dependencies: - "@babel/helper-function-name" "^7.10.4" - "@babel/types" "^7.10.5" - lodash "^4.17.19" - -"@babel/helper-explode-assignable-expression@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.10.4.tgz#40a1cd917bff1288f699a94a75b37a1a2dbd8c7c" - integrity sha512-4K71RyRQNPRrR85sr5QY4X3VwG4wtVoXZB9+L3r1Gp38DhELyHCtovqydRi7c1Ovb17eRGiQ/FD5s8JdU0Uy5A== - dependencies: - "@babel/traverse" "^7.10.4" - "@babel/types" "^7.10.4" - -"@babel/helper-function-name@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz#d2d3b20c59ad8c47112fa7d2a94bc09d5ef82f1a" - integrity sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ== - dependencies: - "@babel/helper-get-function-arity" "^7.10.4" - "@babel/template" "^7.10.4" - "@babel/types" "^7.10.4" - -"@babel/helper-get-function-arity@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz#98c1cbea0e2332f33f9a4661b8ce1505b2c19ba2" - integrity sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A== - dependencies: - "@babel/types" "^7.10.4" - -"@babel/helper-hoist-variables@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz#d49b001d1d5a68ca5e6604dda01a6297f7c9381e" - integrity sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA== - dependencies: - "@babel/types" "^7.10.4" - -"@babel/helper-member-expression-to-functions@^7.10.4", "@babel/helper-member-expression-to-functions@^7.10.5": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz#ae69c83d84ee82f4b42f96e2a09410935a8f26df" - integrity sha512-JbFlKHFntRV5qKw3YC0CvQnDZ4XMwgzzBbld7Ly4Mj4cbFy3KywcR8NtNctRToMWJOVvLINJv525Gd6wwVEx/Q== - dependencies: - "@babel/types" "^7.11.0" - -"@babel/helper-module-imports@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz#4c5c54be04bd31670a7382797d75b9fa2e5b5620" - integrity sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw== - dependencies: - "@babel/types" "^7.10.4" - -"@babel/helper-module-transforms@^7.10.4", "@babel/helper-module-transforms@^7.10.5", "@babel/helper-module-transforms@^7.11.0": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.11.0.tgz#b16f250229e47211abdd84b34b64737c2ab2d359" - integrity sha512-02EVu8COMuTRO1TAzdMtpBPbe6aQ1w/8fePD2YgQmxZU4gpNWaL9gK3Jp7dxlkUlUCJOTaSeA+Hrm1BRQwqIhg== - dependencies: - "@babel/helper-module-imports" "^7.10.4" - "@babel/helper-replace-supers" "^7.10.4" - "@babel/helper-simple-access" "^7.10.4" - "@babel/helper-split-export-declaration" "^7.11.0" - "@babel/template" "^7.10.4" - "@babel/types" "^7.11.0" - lodash "^4.17.19" - -"@babel/helper-optimise-call-expression@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz#50dc96413d594f995a77905905b05893cd779673" - integrity sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg== - dependencies: - "@babel/types" "^7.10.4" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375" - integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg== - -"@babel/helper-regex@^7.10.4": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.10.5.tgz#32dfbb79899073c415557053a19bd055aae50ae0" - integrity sha512-68kdUAzDrljqBrio7DYAEgCoJHxppJOERHOgOrDN7WjOzP0ZQ1LsSDRXcemzVZaLvjaJsJEESb6qt+znNuENDg== - dependencies: - lodash "^4.17.19" - -"@babel/helper-remap-async-to-generator@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.10.4.tgz#fce8bea4e9690bbe923056ded21e54b4e8b68ed5" - integrity sha512-86Lsr6NNw3qTNl+TBcF1oRZMaVzJtbWTyTko+CQL/tvNvcGYEFKbLXDPxtW0HKk3McNOk4KzY55itGWCAGK5tg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.10.4" - "@babel/helper-wrap-function" "^7.10.4" - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.10.4" - "@babel/types" "^7.10.4" - -"@babel/helper-replace-supers@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz#d585cd9388ea06e6031e4cd44b6713cbead9e6cf" - integrity sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.10.4" - "@babel/helper-optimise-call-expression" "^7.10.4" - "@babel/traverse" "^7.10.4" - "@babel/types" "^7.10.4" - -"@babel/helper-simple-access@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz#0f5ccda2945277a2a7a2d3a821e15395edcf3461" - integrity sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw== - dependencies: - "@babel/template" "^7.10.4" - "@babel/types" "^7.10.4" - -"@babel/helper-skip-transparent-expression-wrappers@^7.11.0": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.11.0.tgz#eec162f112c2f58d3af0af125e3bb57665146729" - integrity sha512-0XIdiQln4Elglgjbwo9wuJpL/K7AGCY26kmEt0+pRP0TAj4jjyNq1MjoRvikrTVqKcx4Gysxt4cXvVFXP/JO2Q== - dependencies: - "@babel/types" "^7.11.0" - -"@babel/helper-split-export-declaration@^7.10.4", "@babel/helper-split-export-declaration@^7.11.0": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz#f8a491244acf6a676158ac42072911ba83ad099f" - integrity sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg== - dependencies: - "@babel/types" "^7.11.0" - -"@babel/helper-validator-identifier@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" - integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw== - -"@babel/helper-wrap-function@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.10.4.tgz#8a6f701eab0ff39f765b5a1cfef409990e624b87" - integrity sha512-6py45WvEF0MhiLrdxtRjKjufwLL1/ob2qDJgg5JgNdojBAZSAKnAjkyOCNug6n+OBl4VW76XjvgSFTdaMcW0Ug== - dependencies: - "@babel/helper-function-name" "^7.10.4" - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.10.4" - "@babel/types" "^7.10.4" - -"@babel/helpers@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.10.4.tgz#2abeb0d721aff7c0a97376b9e1f6f65d7a475044" - integrity sha512-L2gX/XeUONeEbI78dXSrJzGdz4GQ+ZTA/aazfUsFaWjSe95kiCuOZ5HsXvkiw3iwF+mFHSRUfJU8t6YavocdXA== - dependencies: - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.10.4" - "@babel/types" "^7.10.4" - -"@babel/highlight@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" - integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA== - dependencies: - "@babel/helper-validator-identifier" "^7.10.4" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/parser@^7.1.0", "@babel/parser@^7.10.4", "@babel/parser@^7.11.0", "@babel/parser@^7.11.1": - version "7.11.3" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.11.3.tgz#9e1eae46738bcd08e23e867bab43e7b95299a8f9" - integrity sha512-REo8xv7+sDxkKvoxEywIdsNFiZLybwdI7hcT5uEPyQrSMB4YQ973BfC9OOrD/81MaIjh6UxdulIQXkjmiH3PcA== - -"@babel/plugin-proposal-async-generator-functions@^7.10.4": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.5.tgz#3491cabf2f7c179ab820606cec27fed15e0e8558" - integrity sha512-cNMCVezQbrRGvXJwm9fu/1sJj9bHdGAgKodZdLqOQIpfoH3raqmRPBM17+lh7CzhiKRRBrGtZL9WcjxSoGYUSg== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-remap-async-to-generator" "^7.10.4" - "@babel/plugin-syntax-async-generators" "^7.8.0" - -"@babel/plugin-proposal-class-properties@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.10.4.tgz#a33bf632da390a59c7a8c570045d1115cd778807" - integrity sha512-vhwkEROxzcHGNu2mzUC0OFFNXdZ4M23ib8aRRcJSsW8BZK9pQMD7QB7csl97NBbgGZO7ZyHUyKDnxzOaP4IrCg== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-proposal-dynamic-import@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.10.4.tgz#ba57a26cb98b37741e9d5bca1b8b0ddf8291f17e" - integrity sha512-up6oID1LeidOOASNXgv/CFbgBqTuKJ0cJjz6An5tWD+NVBNlp3VNSBxv2ZdU7SYl3NxJC7agAQDApZusV6uFwQ== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-dynamic-import" "^7.8.0" - -"@babel/plugin-proposal-export-namespace-from@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.10.4.tgz#570d883b91031637b3e2958eea3c438e62c05f54" - integrity sha512-aNdf0LY6/3WXkhh0Fdb6Zk9j1NMD8ovj3F6r0+3j837Pn1S1PdNtcwJ5EG9WkVPNHPxyJDaxMaAOVq4eki0qbg== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - -"@babel/plugin-proposal-json-strings@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.10.4.tgz#593e59c63528160233bd321b1aebe0820c2341db" - integrity sha512-fCL7QF0Jo83uy1K0P2YXrfX11tj3lkpN7l4dMv9Y9VkowkhkQDwFHFd8IiwyK5MZjE8UpbgokkgtcReH88Abaw== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-json-strings" "^7.8.0" - -"@babel/plugin-proposal-logical-assignment-operators@^7.11.0": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.11.0.tgz#9f80e482c03083c87125dee10026b58527ea20c8" - integrity sha512-/f8p4z+Auz0Uaf+i8Ekf1iM7wUNLcViFUGiPxKeXvxTSl63B875YPiVdUDdem7hREcI0E0kSpEhS8tF5RphK7Q== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - -"@babel/plugin-proposal-nullish-coalescing-operator@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.10.4.tgz#02a7e961fc32e6d5b2db0649e01bf80ddee7e04a" - integrity sha512-wq5n1M3ZUlHl9sqT2ok1T2/MTt6AXE0e1Lz4WzWBr95LsAZ5qDXe4KnFuauYyEyLiohvXFMdbsOTMyLZs91Zlw== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" - -"@babel/plugin-proposal-numeric-separator@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.10.4.tgz#ce1590ff0a65ad12970a609d78855e9a4c1aef06" - integrity sha512-73/G7QoRoeNkLZFxsoCCvlg4ezE4eM+57PnOqgaPOozd5myfj7p0muD1mRVJvbUWbOzD+q3No2bWbaKy+DJ8DA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - -"@babel/plugin-proposal-object-rest-spread@^7.11.0": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.11.0.tgz#bd81f95a1f746760ea43b6c2d3d62b11790ad0af" - integrity sha512-wzch41N4yztwoRw0ak+37wxwJM2oiIiy6huGCoqkvSTA9acYWcPfn9Y4aJqmFFJ70KTJUu29f3DQ43uJ9HXzEA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.0" - "@babel/plugin-transform-parameters" "^7.10.4" - -"@babel/plugin-proposal-optional-catch-binding@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.10.4.tgz#31c938309d24a78a49d68fdabffaa863758554dd" - integrity sha512-LflT6nPh+GK2MnFiKDyLiqSqVHkQnVf7hdoAvyTnnKj9xB3docGRsdPuxp6qqqW19ifK3xgc9U5/FwrSaCNX5g== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" - -"@babel/plugin-proposal-optional-chaining@^7.11.0": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.11.0.tgz#de5866d0646f6afdaab8a566382fe3a221755076" - integrity sha512-v9fZIu3Y8562RRwhm1BbMRxtqZNFmFA2EG+pT2diuU8PT3H6T/KXoZ54KgYisfOFZHV6PfvAiBIZ9Rcz+/JCxA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-skip-transparent-expression-wrappers" "^7.11.0" - "@babel/plugin-syntax-optional-chaining" "^7.8.0" - -"@babel/plugin-proposal-private-methods@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.10.4.tgz#b160d972b8fdba5c7d111a145fc8c421fc2a6909" - integrity sha512-wh5GJleuI8k3emgTg5KkJK6kHNsGEr0uBTDBuQUBJwckk9xs1ez79ioheEVVxMLyPscB0LfkbVHslQqIzWV6Bw== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-proposal-unicode-property-regex@^7.10.4", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.4.tgz#4483cda53041ce3413b7fe2f00022665ddfaa75d" - integrity sha512-H+3fOgPnEXFL9zGYtKQe4IDOPKYlZdF1kqFDQRRb8PK4B8af1vAGK04tF5iQAAsui+mHNBQSAtd2/ndEDe9wuA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-async-generators@^7.8.0", "@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.10.4", "@babel/plugin-syntax-class-properties@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.10.4.tgz#6644e6a0baa55a61f9e3231f6c9eeb6ee46c124c" - integrity sha512-GCSBF7iUle6rNugfURwNmCGG3Z/2+opxAMLs1nND4bhEG5PuxTIggDBoeYYSujAlLtsupzOHYJQgPS3pivwXIA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-dynamic-import@^7.8.0": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" - integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-export-namespace-from@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" - integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@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.0", "@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-logical-assignment-operators@^7.10.4", "@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.0", "@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.10.4", "@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.0", "@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.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.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.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.10.4.tgz#4bbeb8917b54fcf768364e0a81f560e33a3ef57d" - integrity sha512-ni1brg4lXEmWyafKr0ccFWkJG0CeMt4WV1oyeBW6EFObF4oOHclbkj5cARxAPQyAQ2UTuplJyK4nfkXIMMFvsQ== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-arrow-functions@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.10.4.tgz#e22960d77e697c74f41c501d44d73dbf8a6a64cd" - integrity sha512-9J/oD1jV0ZCBcgnoFWFq1vJd4msoKb/TCpGNFyyLt0zABdcvgK3aYikZ8HjzB14c26bc7E3Q1yugpwGy2aTPNA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-async-to-generator@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.10.4.tgz#41a5017e49eb6f3cda9392a51eef29405b245a37" - integrity sha512-F6nREOan7J5UXTLsDsZG3DXmZSVofr2tGNwfdrVwkDWHfQckbQXnXSPfD7iO+c/2HGqycwyLST3DnZ16n+cBJQ== - dependencies: - "@babel/helper-module-imports" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-remap-async-to-generator" "^7.10.4" - -"@babel/plugin-transform-block-scoped-functions@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.10.4.tgz#1afa595744f75e43a91af73b0d998ecfe4ebc2e8" - integrity sha512-WzXDarQXYYfjaV1szJvN3AD7rZgZzC1JtjJZ8dMHUyiK8mxPRahynp14zzNjU3VkPqPsO38CzxiWO1c9ARZ8JA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-block-scoping@^7.10.4": - version "7.11.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.11.1.tgz#5b7efe98852bef8d652c0b28144cd93a9e4b5215" - integrity sha512-00dYeDE0EVEHuuM+26+0w/SCL0BH2Qy7LwHuI4Hi4MH5gkC8/AqMN5uWFJIsoXZrAphiMm1iXzBw6L2T+eA0ew== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-classes@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.4.tgz#405136af2b3e218bc4a1926228bc917ab1a0adc7" - integrity sha512-2oZ9qLjt161dn1ZE0Ms66xBncQH4In8Sqw1YWgBUZuGVJJS5c0OFZXL6dP2MRHrkU/eKhWg8CzFJhRQl50rQxA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.10.4" - "@babel/helper-define-map" "^7.10.4" - "@babel/helper-function-name" "^7.10.4" - "@babel/helper-optimise-call-expression" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-replace-supers" "^7.10.4" - "@babel/helper-split-export-declaration" "^7.10.4" - globals "^11.1.0" - -"@babel/plugin-transform-computed-properties@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.4.tgz#9ded83a816e82ded28d52d4b4ecbdd810cdfc0eb" - integrity sha512-JFwVDXcP/hM/TbyzGq3l/XWGut7p46Z3QvqFMXTfk6/09m7xZHJUN9xHfsv7vqqD4YnfI5ueYdSJtXqqBLyjBw== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-destructuring@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.4.tgz#70ddd2b3d1bea83d01509e9bb25ddb3a74fc85e5" - integrity sha512-+WmfvyfsyF603iPa6825mq6Qrb7uLjTOsa3XOFzlYcYDHSS4QmpOWOL0NNBY5qMbvrcf3tq0Cw+v4lxswOBpgA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-dotall-regex@^7.10.4", "@babel/plugin-transform-dotall-regex@^7.4.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.4.tgz#469c2062105c1eb6a040eaf4fac4b488078395ee" - integrity sha512-ZEAVvUTCMlMFAbASYSVQoxIbHm2OkG2MseW6bV2JjIygOjdVv8tuxrCTzj1+Rynh7ODb8GivUy7dzEXzEhuPaA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-duplicate-keys@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.10.4.tgz#697e50c9fee14380fe843d1f306b295617431e47" - integrity sha512-GL0/fJnmgMclHiBTTWXNlYjYsA7rDrtsazHG6mglaGSTh0KsrW04qml+Bbz9FL0LcJIRwBWL5ZqlNHKTkU3xAA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-exponentiation-operator@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.10.4.tgz#5ae338c57f8cf4001bdb35607ae66b92d665af2e" - integrity sha512-S5HgLVgkBcRdyQAHbKj+7KyuWx8C6t5oETmUuwz1pt3WTWJhsUV0WIIXuVvfXMxl/QQyHKlSCNNtaIamG8fysw== - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-for-of@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.4.tgz#c08892e8819d3a5db29031b115af511dbbfebae9" - integrity sha512-ItdQfAzu9AlEqmusA/65TqJ79eRcgGmpPPFvBnGILXZH975G0LNjP1yjHvGgfuCxqrPPueXOPe+FsvxmxKiHHQ== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-function-name@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.10.4.tgz#6a467880e0fc9638514ba369111811ddbe2644b7" - integrity sha512-OcDCq2y5+E0dVD5MagT5X+yTRbcvFjDI2ZVAottGH6tzqjx/LKpgkUepu3hp/u4tZBzxxpNGwLsAvGBvQ2mJzg== - dependencies: - "@babel/helper-function-name" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-literals@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.10.4.tgz#9f42ba0841100a135f22712d0e391c462f571f3c" - integrity sha512-Xd/dFSTEVuUWnyZiMu76/InZxLTYilOSr1UlHV+p115Z/Le2Fi1KXkJUYz0b42DfndostYlPub3m8ZTQlMaiqQ== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-member-expression-literals@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.10.4.tgz#b1ec44fcf195afcb8db2c62cd8e551c881baf8b7" - integrity sha512-0bFOvPyAoTBhtcJLr9VcwZqKmSjFml1iVxvPL0ReomGU53CX53HsM4h2SzckNdkQcHox1bpAqzxBI1Y09LlBSw== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-modules-amd@^7.10.4": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.10.5.tgz#1b9cddaf05d9e88b3aad339cb3e445c4f020a9b1" - integrity sha512-elm5uruNio7CTLFItVC/rIzKLfQ17+fX7EVz5W0TMgIHFo1zY0Ozzx+lgwhL4plzl8OzVn6Qasx5DeEFyoNiRw== - dependencies: - "@babel/helper-module-transforms" "^7.10.5" - "@babel/helper-plugin-utils" "^7.10.4" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-commonjs@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.10.4.tgz#66667c3eeda1ebf7896d41f1f16b17105a2fbca0" - integrity sha512-Xj7Uq5o80HDLlW64rVfDBhao6OX89HKUmb+9vWYaLXBZOma4gA6tw4Ni1O5qVDoZWUV0fxMYA0aYzOawz0l+1w== - dependencies: - "@babel/helper-module-transforms" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-simple-access" "^7.10.4" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-systemjs@^7.10.4": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.5.tgz#6270099c854066681bae9e05f87e1b9cadbe8c85" - integrity sha512-f4RLO/OL14/FP1AEbcsWMzpbUz6tssRaeQg11RH1BP/XnPpRoVwgeYViMFacnkaw4k4wjRSjn3ip1Uw9TaXuMw== - dependencies: - "@babel/helper-hoist-variables" "^7.10.4" - "@babel/helper-module-transforms" "^7.10.5" - "@babel/helper-plugin-utils" "^7.10.4" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-umd@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.10.4.tgz#9a8481fe81b824654b3a0b65da3df89f3d21839e" - integrity sha512-mohW5q3uAEt8T45YT7Qc5ws6mWgJAaL/8BfWD9Dodo1A3RKWli8wTS+WiQ/knF+tXlPirW/1/MqzzGfCExKECA== - dependencies: - "@babel/helper-module-transforms" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-named-capturing-groups-regex@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.10.4.tgz#78b4d978810b6f3bcf03f9e318f2fc0ed41aecb6" - integrity sha512-V6LuOnD31kTkxQPhKiVYzYC/Jgdq53irJC/xBSmqcNcqFGV+PER4l6rU5SH2Vl7bH9mLDHcc0+l9HUOe4RNGKA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.10.4" - -"@babel/plugin-transform-new-target@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.10.4.tgz#9097d753cb7b024cb7381a3b2e52e9513a9c6888" - integrity sha512-YXwWUDAH/J6dlfwqlWsztI2Puz1NtUAubXhOPLQ5gjR/qmQ5U96DY4FQO8At33JN4XPBhrjB8I4eMmLROjjLjw== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-object-super@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.10.4.tgz#d7146c4d139433e7a6526f888c667e314a093894" - integrity sha512-5iTw0JkdRdJvr7sY0vHqTpnruUpTea32JHmq/atIWqsnNussbRzjEDyWep8UNztt1B5IusBYg8Irb0bLbiEBCQ== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-replace-supers" "^7.10.4" - -"@babel/plugin-transform-parameters@^7.10.4": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.10.5.tgz#59d339d58d0b1950435f4043e74e2510005e2c4a" - integrity sha512-xPHwUj5RdFV8l1wuYiu5S9fqWGM2DrYc24TMvUiRrPVm+SM3XeqU9BcokQX/kEUe+p2RBwy+yoiR1w/Blq6ubw== - dependencies: - "@babel/helper-get-function-arity" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-property-literals@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.10.4.tgz#f6fe54b6590352298785b83edd815d214c42e3c0" - integrity sha512-ofsAcKiUxQ8TY4sScgsGeR2vJIsfrzqvFb9GvJ5UdXDzl+MyYCaBj/FGzXuv7qE0aJcjWMILny1epqelnFlz8g== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-regenerator@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.4.tgz#2015e59d839074e76838de2159db421966fd8b63" - integrity sha512-3thAHwtor39A7C04XucbMg17RcZ3Qppfxr22wYzZNcVIkPHfpM9J0SO8zuCV6SZa265kxBJSrfKTvDCYqBFXGw== - dependencies: - regenerator-transform "^0.14.2" - -"@babel/plugin-transform-reserved-words@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.10.4.tgz#8f2682bcdcef9ed327e1b0861585d7013f8a54dd" - integrity sha512-hGsw1O6Rew1fkFbDImZIEqA8GoidwTAilwCyWqLBM9f+e/u/sQMQu7uX6dyokfOayRuuVfKOW4O7HvaBWM+JlQ== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-shorthand-properties@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.4.tgz#9fd25ec5cdd555bb7f473e5e6ee1c971eede4dd6" - integrity sha512-AC2K/t7o07KeTIxMoHneyX90v3zkm5cjHJEokrPEAGEy3UCp8sLKfnfOIGdZ194fyN4wfX/zZUWT9trJZ0qc+Q== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-spread@^7.11.0": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.11.0.tgz#fa84d300f5e4f57752fe41a6d1b3c554f13f17cc" - integrity sha512-UwQYGOqIdQJe4aWNyS7noqAnN2VbaczPLiEtln+zPowRNlD+79w3oi2TWfYe0eZgd+gjZCbsydN7lzWysDt+gw== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-skip-transparent-expression-wrappers" "^7.11.0" - -"@babel/plugin-transform-sticky-regex@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.10.4.tgz#8f3889ee8657581130a29d9cc91d7c73b7c4a28d" - integrity sha512-Ddy3QZfIbEV0VYcVtFDCjeE4xwVTJWTmUtorAJkn6u/92Z/nWJNV+mILyqHKrUxXYKA2EoCilgoPePymKL4DvQ== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-regex" "^7.10.4" - -"@babel/plugin-transform-template-literals@^7.10.4": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.5.tgz#78bc5d626a6642db3312d9d0f001f5e7639fde8c" - integrity sha512-V/lnPGIb+KT12OQikDvgSuesRX14ck5FfJXt6+tXhdkJ+Vsd0lDCVtF6jcB4rNClYFzaB2jusZ+lNISDk2mMMw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-typeof-symbol@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.10.4.tgz#9509f1a7eec31c4edbffe137c16cc33ff0bc5bfc" - integrity sha512-QqNgYwuuW0y0H+kUE/GWSR45t/ccRhe14Fs/4ZRouNNQsyd4o3PG4OtHiIrepbM2WKUBDAXKCAK/Lk4VhzTaGA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-unicode-escapes@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.10.4.tgz#feae523391c7651ddac115dae0a9d06857892007" - integrity sha512-y5XJ9waMti2J+e7ij20e+aH+fho7Wb7W8rNuu72aKRwCHFqQdhkdU2lo3uZ9tQuboEJcUFayXdARhcxLQ3+6Fg== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-unicode-regex@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.10.4.tgz#e56d71f9282fac6db09c82742055576d5e6d80a8" - integrity sha512-wNfsc4s8N2qnIwpO/WP2ZiSyjfpTamT2C9V9FDH/Ljub9zw6P3SjkXcFmc0RQUt96k2fmIvtla2MMjgTwIAC+A== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/preset-env@^7.10.4": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.11.0.tgz#860ee38f2ce17ad60480c2021ba9689393efb796" - integrity sha512-2u1/k7rG/gTh02dylX2kL3S0IJNF+J6bfDSp4DI2Ma8QN6Y9x9pmAax59fsCk6QUQG0yqH47yJWA+u1I1LccAg== - dependencies: - "@babel/compat-data" "^7.11.0" - "@babel/helper-compilation-targets" "^7.10.4" - "@babel/helper-module-imports" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-proposal-async-generator-functions" "^7.10.4" - "@babel/plugin-proposal-class-properties" "^7.10.4" - "@babel/plugin-proposal-dynamic-import" "^7.10.4" - "@babel/plugin-proposal-export-namespace-from" "^7.10.4" - "@babel/plugin-proposal-json-strings" "^7.10.4" - "@babel/plugin-proposal-logical-assignment-operators" "^7.11.0" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.10.4" - "@babel/plugin-proposal-numeric-separator" "^7.10.4" - "@babel/plugin-proposal-object-rest-spread" "^7.11.0" - "@babel/plugin-proposal-optional-catch-binding" "^7.10.4" - "@babel/plugin-proposal-optional-chaining" "^7.11.0" - "@babel/plugin-proposal-private-methods" "^7.10.4" - "@babel/plugin-proposal-unicode-property-regex" "^7.10.4" - "@babel/plugin-syntax-async-generators" "^7.8.0" - "@babel/plugin-syntax-class-properties" "^7.10.4" - "@babel/plugin-syntax-dynamic-import" "^7.8.0" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-json-strings" "^7.8.0" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.0" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" - "@babel/plugin-syntax-optional-chaining" "^7.8.0" - "@babel/plugin-syntax-top-level-await" "^7.10.4" - "@babel/plugin-transform-arrow-functions" "^7.10.4" - "@babel/plugin-transform-async-to-generator" "^7.10.4" - "@babel/plugin-transform-block-scoped-functions" "^7.10.4" - "@babel/plugin-transform-block-scoping" "^7.10.4" - "@babel/plugin-transform-classes" "^7.10.4" - "@babel/plugin-transform-computed-properties" "^7.10.4" - "@babel/plugin-transform-destructuring" "^7.10.4" - "@babel/plugin-transform-dotall-regex" "^7.10.4" - "@babel/plugin-transform-duplicate-keys" "^7.10.4" - "@babel/plugin-transform-exponentiation-operator" "^7.10.4" - "@babel/plugin-transform-for-of" "^7.10.4" - "@babel/plugin-transform-function-name" "^7.10.4" - "@babel/plugin-transform-literals" "^7.10.4" - "@babel/plugin-transform-member-expression-literals" "^7.10.4" - "@babel/plugin-transform-modules-amd" "^7.10.4" - "@babel/plugin-transform-modules-commonjs" "^7.10.4" - "@babel/plugin-transform-modules-systemjs" "^7.10.4" - "@babel/plugin-transform-modules-umd" "^7.10.4" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.10.4" - "@babel/plugin-transform-new-target" "^7.10.4" - "@babel/plugin-transform-object-super" "^7.10.4" - "@babel/plugin-transform-parameters" "^7.10.4" - "@babel/plugin-transform-property-literals" "^7.10.4" - "@babel/plugin-transform-regenerator" "^7.10.4" - "@babel/plugin-transform-reserved-words" "^7.10.4" - "@babel/plugin-transform-shorthand-properties" "^7.10.4" - "@babel/plugin-transform-spread" "^7.11.0" - "@babel/plugin-transform-sticky-regex" "^7.10.4" - "@babel/plugin-transform-template-literals" "^7.10.4" - "@babel/plugin-transform-typeof-symbol" "^7.10.4" - "@babel/plugin-transform-unicode-escapes" "^7.10.4" - "@babel/plugin-transform-unicode-regex" "^7.10.4" - "@babel/preset-modules" "^0.1.3" - "@babel/types" "^7.11.0" - browserslist "^4.12.0" - core-js-compat "^3.6.2" - invariant "^2.2.2" - levenary "^1.1.1" - semver "^5.5.0" - -"@babel/preset-modules@^0.1.3": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.3.tgz#13242b53b5ef8c883c3cf7dddd55b36ce80fbc72" - integrity sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" - "@babel/plugin-transform-dotall-regex" "^7.4.4" - "@babel/types" "^7.4.4" - esutils "^2.0.2" - -"@babel/runtime@^7.8.4": - version "7.11.2" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.11.2.tgz#f549c13c754cc40b87644b9fa9f09a6a95fe0736" - integrity sha512-TeWkU52so0mPtDcaCTxNBI/IHiz0pZgr8VEFqXFtZWpYD08ZB6FaSwVAS8MKRQAP3bYKiVjwysOJgMFY28o6Tw== - dependencies: - regenerator-runtime "^0.13.4" - -"@babel/template@^7.10.4", "@babel/template@^7.3.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.4.tgz#3251996c4200ebc71d1a8fc405fba940f36ba278" - integrity sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/parser" "^7.10.4" - "@babel/types" "^7.10.4" - -"@babel/traverse@^7.1.0", "@babel/traverse@^7.10.4", "@babel/traverse@^7.11.0": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.11.0.tgz#9b996ce1b98f53f7c3e4175115605d56ed07dd24" - integrity sha512-ZB2V+LskoWKNpMq6E5UUCrjtDUh5IOTAyIl0dTjIEoXum/iKWkoIEKIRDnUucO6f+2FzNkE0oD4RLKoPIufDtg== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.11.0" - "@babel/helper-function-name" "^7.10.4" - "@babel/helper-split-export-declaration" "^7.11.0" - "@babel/parser" "^7.11.0" - "@babel/types" "^7.11.0" - debug "^4.1.0" - globals "^11.1.0" - lodash "^4.17.19" - -"@babel/types@^7.0.0", "@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.11.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.11.0.tgz#2ae6bf1ba9ae8c3c43824e5861269871b206e90d" - integrity sha512-O53yME4ZZI0jO1EVGtF1ePGl0LHirG4P1ibcD80XyzZcKhcMFeCXmh4Xb1ifGBIV233Qg12x4rBfQgA+tmOukA== - dependencies: - "@babel/helper-validator-identifier" "^7.10.4" - lodash "^4.17.19" - to-fast-properties "^2.0.0" - -"@balena/dockerignore@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@balena/dockerignore/-/dockerignore-1.0.2.tgz#9ffe4726915251e8eb69f44ef3547e0da2c03e0d" - integrity sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q== - -"@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== - -"@cnakazawa/watch@^1.0.3": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" - integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ== - dependencies: - exec-sh "^0.3.2" - minimist "^1.2.0" - -"@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.2" - resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd" - integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw== - -"@jest/console@^26.2.0": - version "26.2.0" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.2.0.tgz#d18f2659b90930e7ec3925fb7209f1ba2cf463f0" - integrity sha512-mXQfx3nSLwiHm1i7jbu+uvi+vvpVjNGzIQYLCfsat9rapC+MJkS4zBseNrgJE0vU921b3P67bQzhduphjY3Tig== - dependencies: - "@jest/types" "^26.2.0" - "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^26.2.0" - jest-util "^26.2.0" - slash "^3.0.0" - -"@jest/core@^26.2.2": - version "26.2.2" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.2.2.tgz#63de01ffce967618003dd7a0164b05c8041b81a9" - integrity sha512-UwA8gNI8aeV4FHGfGAUfO/DHjrFVvlBravF1Tm9Kt6qFE+6YHR47kFhgdepOFpADEKstyO+MVdPvkV6/dyt9sA== - dependencies: - "@jest/console" "^26.2.0" - "@jest/reporters" "^26.2.2" - "@jest/test-result" "^26.2.0" - "@jest/transform" "^26.2.2" - "@jest/types" "^26.2.0" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.4" - jest-changed-files "^26.2.0" - jest-config "^26.2.2" - jest-haste-map "^26.2.2" - jest-message-util "^26.2.0" - jest-regex-util "^26.0.0" - jest-resolve "^26.2.2" - jest-resolve-dependencies "^26.2.2" - jest-runner "^26.2.2" - jest-runtime "^26.2.2" - jest-snapshot "^26.2.2" - jest-util "^26.2.0" - jest-validate "^26.2.0" - jest-watcher "^26.2.0" - micromatch "^4.0.2" - p-each-series "^2.1.0" - rimraf "^3.0.0" - slash "^3.0.0" - strip-ansi "^6.0.0" - -"@jest/environment@^26.2.0": - version "26.2.0" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.2.0.tgz#f6faee1630fcc2fad208953164bccb31dbe0e45f" - integrity sha512-oCgp9NmEiJ5rbq9VI/v/yYLDpladAAVvFxZgNsnJxOETuzPZ0ZcKKHYjKYwCtPOP1WCrM5nmyuOhMStXFGHn+g== - dependencies: - "@jest/fake-timers" "^26.2.0" - "@jest/types" "^26.2.0" - "@types/node" "*" - jest-mock "^26.2.0" - -"@jest/fake-timers@^26.2.0": - version "26.2.0" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.2.0.tgz#b485c57dc4c74d61406a339807a9af4bac74b75a" - integrity sha512-45Gfe7YzYTKqTayBrEdAF0qYyAsNRBzfkV0IyVUm3cx7AsCWlnjilBM4T40w7IXT5VspOgMPikQlV0M6gHwy/g== - dependencies: - "@jest/types" "^26.2.0" - "@sinonjs/fake-timers" "^6.0.1" - "@types/node" "*" - jest-message-util "^26.2.0" - jest-mock "^26.2.0" - jest-util "^26.2.0" - -"@jest/globals@^26.2.0": - version "26.2.0" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.2.0.tgz#ad78f1104f250c1a4bf5184a2ba51facc59b23f6" - integrity sha512-Hoc6ScEIPaym7RNytIL2ILSUWIGKlwEv+JNFof9dGYOdvPjb2evEURSslvCMkNuNg1ECEClTE8PH7ULlMJntYA== - dependencies: - "@jest/environment" "^26.2.0" - "@jest/types" "^26.2.0" - expect "^26.2.0" - -"@jest/reporters@^26.2.2": - version "26.2.2" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.2.2.tgz#5a8632ab410f4fc57782bc05dcf115e91818e869" - integrity sha512-7854GPbdFTAorWVh+RNHyPO9waRIN6TcvCezKVxI1khvFq9YjINTW7J3WU+tbR038Ynn6WjYred6vtT0YmIWVQ== - dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^26.2.0" - "@jest/test-result" "^26.2.0" - "@jest/transform" "^26.2.2" - "@jest/types" "^26.2.0" - chalk "^4.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.2" - graceful-fs "^4.2.4" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^4.0.3" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.0.2" - jest-haste-map "^26.2.2" - jest-resolve "^26.2.2" - jest-util "^26.2.0" - jest-worker "^26.2.1" - slash "^3.0.0" - source-map "^0.6.0" - string-length "^4.0.1" - terminal-link "^2.0.0" - v8-to-istanbul "^4.1.3" - optionalDependencies: - node-notifier "^7.0.0" - -"@jest/source-map@^26.1.0": - version "26.1.0" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.1.0.tgz#a6a020d00e7d9478f4b690167c5e8b77e63adb26" - integrity sha512-XYRPYx4eEVX15cMT9mstnO7hkHP3krNtKfxUYd8L7gbtia8JvZZ6bMzSwa6IQJENbudTwKMw5R1BePRD+bkEmA== - dependencies: - callsites "^3.0.0" - graceful-fs "^4.2.4" - source-map "^0.6.0" - -"@jest/test-result@^26.2.0": - version "26.2.0" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.2.0.tgz#51c9b165c8851cfcf7a3466019114785e154f76b" - integrity sha512-kgPlmcVafpmfyQEu36HClK+CWI6wIaAWDHNxfQtGuKsgoa2uQAYdlxjMDBEa3CvI40+2U3v36gQF6oZBkoKatw== - dependencies: - "@jest/console" "^26.2.0" - "@jest/types" "^26.2.0" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-sequencer@^26.2.2": - version "26.2.2" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.2.2.tgz#5e8091f2e6c61fdf242af566cb820a4eadc6c4af" - integrity sha512-SliZWon5LNqV/lVXkeowSU6L8++FGOu3f43T01L1Gv6wnFDP00ER0utV9jyK9dVNdXqfMNCN66sfcyar/o7BNw== - dependencies: - "@jest/test-result" "^26.2.0" - graceful-fs "^4.2.4" - jest-haste-map "^26.2.2" - jest-runner "^26.2.2" - jest-runtime "^26.2.2" - -"@jest/transform@^26.2.2": - version "26.2.2" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.2.2.tgz#86c005c8d5d749ac54d8df53ea58675fffe7a97e" - integrity sha512-c1snhvi5wRVre1XyoO3Eef5SEWpuBCH/cEbntBUd9tI5sNYiBDmO0My/lc5IuuGYKp/HFIHV1eZpSx5yjdkhKw== - dependencies: - "@babel/core" "^7.1.0" - "@jest/types" "^26.2.0" - babel-plugin-istanbul "^6.0.0" - chalk "^4.0.0" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.2.4" - jest-haste-map "^26.2.2" - jest-regex-util "^26.0.0" - jest-util "^26.2.0" - micromatch "^4.0.2" - pirates "^4.0.1" - slash "^3.0.0" - source-map "^0.6.1" - write-file-atomic "^3.0.0" - -"@jest/types@^25.5.0": - version "25.5.0" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-25.5.0.tgz#4d6a4793f7b9599fc3680877b856a97dbccf2a9d" - integrity sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^1.1.1" - "@types/yargs" "^15.0.0" - chalk "^3.0.0" - -"@jest/types@^26.2.0": - version "26.2.0" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.2.0.tgz#b28ca1fb517a4eb48c0addea7fcd9edc4ab45721" - integrity sha512-lvm3rJvctxd7+wxKSxxbzpDbr4FXDLaC57WEKdUIZ2cjTYuxYSc0zlyD7Z4Uqr5VdKxRUrtwIkiqBuvgf8uKJA== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^1.1.1" - "@types/node" "*" - "@types/yargs" "^15.0.0" - chalk "^4.0.0" - -"@serverless-stack/cli@../../../cli": - version "0.4.3" - dependencies: - "@aws-cdk/aws-apigatewayv2" "1.74.0" - "@aws-cdk/aws-dynamodb" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-lambda" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@babel/cli" "^7.10.5" - "@babel/core" "^7.10.5" - "@babel/eslint-parser" "^7.11.3" - "@babel/eslint-plugin" "^7.11.3" - "@babel/plugin-proposal-class-properties" "^7.10.4" - "@babel/preset-env" "^7.10.4" - "@serverless-stack/core" "^0.4.3" - "@serverless-stack/resources" "^0.4.3" - "@types/jest" "^26.0.7" - "@types/node" "^14.0.27" - "@typescript-eslint/eslint-plugin" "^3.9.1" - "@typescript-eslint/parser" "^3.9.1" - aws-cdk "1.74.0" - chalk "^4.1.0" - core-js "^3.6.5" - cross-spawn "^7.0.3" - eslint "^7.7.0" - fs-extra "^9.0.1" - jest "^26.1.0" - source-map-support "^0.5.19" - ts-jest "^26.1.4" - typescript "^3.9.7" - ws "^7.4.0" - yargs "^15.4.1" - -"@serverless-stack/core@^0.4.3": - version "0.4.3" - resolved "https://registry.yarnpkg.com/@serverless-stack/core/-/core-0.4.3.tgz#1f9c8b0221c718250dbadd3a7081e2e8fbef28bb" - integrity sha512-R+iUsOKMYFof+nu4O9VhZrNmiJs3ap6sxuKjXfiUwTI6Iy8wCFE5aIb3Wu0EIBmfeVe7vR4PPH9TYjh3kJ4UdA== - dependencies: - aws-sdk "^2.761.0" - chalk "^4.1.0" - sst-cdk "1.61.0-rc.25" - -"@serverless-stack/resources@../../../resources": - version "0.4.3" - dependencies: - "@aws-cdk/aws-lambda" "1.74.0" - "@aws-cdk/aws-lambda-nodejs" "1.74.0" - "@aws-cdk/core" "1.74.0" - -"@serverless-stack/resources@^0.4.3": - version "0.4.3" - resolved "https://registry.yarnpkg.com/@serverless-stack/resources/-/resources-0.4.3.tgz#1a9143ccedb1e5458d6c3cd32e8be531ee27e4a6" - integrity sha512-cYE2aTHbToj71xZyEbCMH5+5jZEHx2ebL/gA5eEC0JUnlrfCIt6K3buO4nIKvOY01hQD/kS6OLM40x6keV2F3A== - dependencies: - "@aws-cdk/core" "1.61.0" - -"@sinonjs/commons@^1.7.0": - version "1.8.1" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.1.tgz#e7df00f98a203324f6dc7cc606cad9d4a8ab2217" - integrity sha512-892K+kWUUi3cl+LlqEWIDrhvLgdL79tECi8JZUyq6IviKy/DNhuzCRlbHUjxK89f4ypPMMaFnFuR9Ie6DoIMsw== - dependencies: - type-detect "4.0.8" - -"@sinonjs/fake-timers@^6.0.1": - version "6.0.1" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz#293674fccb3262ac782c7aadfdeca86b10c75c40" - integrity sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA== - dependencies: - "@sinonjs/commons" "^1.7.0" - -"@tootallnate/once@1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" - integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== - -"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.7": - version "7.1.9" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.9.tgz#77e59d438522a6fb898fa43dc3455c6e72f3963d" - integrity sha512-sY2RsIJ5rpER1u3/aQ8OFSI7qGIy8o1NEEbgb2UaJcvOtXOMpd39ko723NBpjQFg9SIX7TXtjejZVGeIMLhoOw== - 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.1" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.1.tgz#4901767b397e8711aeb99df8d396d7ba7b7f0e04" - integrity sha512-bBKm+2VPJcMRVwNhxKu8W+5/zT7pwNEqeokFOmbvVSqGzFneNxYcEBro9Ac7/N9tlsaPYnZLK8J1LWKkMsLAew== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.0.2" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.0.2.tgz#4ff63d6b52eddac1de7b975a5223ed32ecea9307" - integrity sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.0.13" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.13.tgz#1874914be974a492e1b4cb00585cabb274e8ba18" - integrity sha512-i+zS7t6/s9cdQvbqKDARrcbrPvtJGlbYsMkazo03nTAK3RX9FNrLllXys22uiTGJapPOTZTQ35nHh4ISph4SLQ== - dependencies: - "@babel/types" "^7.3.0" - -"@types/color-name@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" - integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== - -"@types/eslint-visitor-keys@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d" - integrity sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag== - -"@types/graceful-fs@^4.1.2": - version "4.1.3" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.3.tgz#039af35fe26bec35003e8d86d2ee9c586354348f" - integrity sha512-AiHRaEB50LQg0pZmm659vNBb9f4SJ0qrAnteuzhSeAUcJKxoYgEnprg/83kppCnc2zvtCKbdZry1a5pVY3lOTQ== - dependencies: - "@types/node" "*" - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" - integrity sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw== - -"@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@^1.1.1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz#e875cc689e47bce549ec81f3df5e6f6f11cfaeb2" - integrity sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw== - dependencies: - "@types/istanbul-lib-coverage" "*" - "@types/istanbul-lib-report" "*" - -"@types/jest@^26.0.7": - version "26.0.9" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.9.tgz#0543b57da5f0cd949c5f423a00c56c492289c989" - integrity sha512-k4qFfJ5AUKrWok5KYXp2EPm89b0P/KZpl7Vg4XuOTVVQEhLDBDBU3iBFrjjdgd8fLw96aAtmnwhXHl63bWeBQQ== - dependencies: - jest-diff "^25.2.1" - pretty-format "^25.2.1" - -"@types/json-schema@^7.0.3": - version "7.0.5" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.5.tgz#dcce4430e64b443ba8945f0290fb564ad5bac6dd" - integrity sha512-7+2BITlgjgDhH0vvwZU/HZJVyk+2XUlvxXe8dFMedNX/aMkaOq++rMAFXc0tM7ij15QaWlbdQASBR9dihi+bDQ== - -"@types/node@*", "@types/node@^14.0.27": - version "14.0.27" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.0.27.tgz#a151873af5a5e851b51b3b065c9e63390a9e0eb1" - integrity sha512-kVrqXhbclHNHGu9ztnAwSncIgJv/FaxmzXJvGXNdcCpV1b8u1/Mi6z6m0vwy0LzKeXFTPLH0NzwmoJ3fNCIq0g== - -"@types/normalize-package-data@^2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" - integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== - -"@types/prettier@^2.0.0": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.0.2.tgz#5bb52ee68d0f8efa9cc0099920e56be6cc4e37f3" - integrity sha512-IkVfat549ggtkZUthUzEX49562eGikhSYeVGX97SkMFn+sTZrgRewXjQ4tPKFPCykZHkX1Zfd9OoELGqKU2jJA== - -"@types/stack-utils@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" - integrity sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw== - -"@types/yargs-parser@*": - version "15.0.0" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d" - integrity sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw== - -"@types/yargs@^15.0.0": - version "15.0.5" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.5.tgz#947e9a6561483bdee9adffc983e91a6902af8b79" - integrity sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w== - dependencies: - "@types/yargs-parser" "*" - -"@typescript-eslint/eslint-plugin@^3.9.1": - version "3.10.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.10.1.tgz#7e061338a1383f59edc204c605899f93dc2e2c8f" - integrity sha512-PQg0emRtzZFWq6PxBcdxRH3QIQiyFO3WCVpRL3fgj5oQS3CDs3AeAKfv4DxNhzn8ITdNJGJ4D3Qw8eAJf3lXeQ== - dependencies: - "@typescript-eslint/experimental-utils" "3.10.1" - debug "^4.1.1" - functional-red-black-tree "^1.0.1" - regexpp "^3.0.0" - semver "^7.3.2" - tsutils "^3.17.1" - -"@typescript-eslint/experimental-utils@3.10.1": - version "3.10.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-3.10.1.tgz#e179ffc81a80ebcae2ea04e0332f8b251345a686" - integrity sha512-DewqIgscDzmAfd5nOGe4zm6Bl7PKtMG2Ad0KG8CUZAHlXfAKTF9Ol5PXhiMh39yRL2ChRH1cuuUGOcVyyrhQIw== - dependencies: - "@types/json-schema" "^7.0.3" - "@typescript-eslint/types" "3.10.1" - "@typescript-eslint/typescript-estree" "3.10.1" - eslint-scope "^5.0.0" - eslint-utils "^2.0.0" - -"@typescript-eslint/parser@^3.9.1": - version "3.10.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-3.10.1.tgz#1883858e83e8b442627e1ac6f408925211155467" - integrity sha512-Ug1RcWcrJP02hmtaXVS3axPPTTPnZjupqhgj+NnZ6BCkwSImWk/283347+x9wN+lqOdK9Eo3vsyiyDHgsmiEJw== - dependencies: - "@types/eslint-visitor-keys" "^1.0.0" - "@typescript-eslint/experimental-utils" "3.10.1" - "@typescript-eslint/types" "3.10.1" - "@typescript-eslint/typescript-estree" "3.10.1" - eslint-visitor-keys "^1.1.0" - -"@typescript-eslint/types@3.10.1": - version "3.10.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-3.10.1.tgz#1d7463fa7c32d8a23ab508a803ca2fe26e758727" - integrity sha512-+3+FCUJIahE9q0lDi1WleYzjCwJs5hIsbugIgnbB+dSCYUxl8L6PwmsyOPFZde2hc1DlTo/xnkOgiTLSyAbHiQ== - -"@typescript-eslint/typescript-estree@3.10.1": - version "3.10.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-3.10.1.tgz#fd0061cc38add4fad45136d654408569f365b853" - integrity sha512-QbcXOuq6WYvnB3XPsZpIwztBoquEYLXh2MtwVU+kO8jgYCiv4G5xrSP/1wg4tkvrEE+esZVquIPX/dxPlePk1w== - dependencies: - "@typescript-eslint/types" "3.10.1" - "@typescript-eslint/visitor-keys" "3.10.1" - debug "^4.1.1" - glob "^7.1.6" - is-glob "^4.0.1" - lodash "^4.17.15" - semver "^7.3.2" - tsutils "^3.17.1" - -"@typescript-eslint/visitor-keys@3.10.1": - version "3.10.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-3.10.1.tgz#cd4274773e3eb63b2e870ac602274487ecd1e931" - integrity sha512-9JgC82AaQeglebjZMgYR5wgmfUdUc+EitGUUMW8u2nDckaeimzW+VsoLV6FoimPv2id3VQzfjwBxEMVz08ameQ== - dependencies: - eslint-visitor-keys "^1.1.0" - -abab@^2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.4.tgz#6dfa57b417ca06d21b2478f0e638302f99c2405c" - integrity sha512-Eu9ELJWCz/c1e9gTiCY+FceWxcqzjYEbqMgtndnuSqZSUCOL73TWNK2mHfIj4Cw2E/ongOp+JISVNCmovt2KYQ== - -acorn-globals@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" - integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== - dependencies: - acorn "^7.1.1" - acorn-walk "^7.1.1" - -acorn-jsx@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.2.0.tgz#4c66069173d6fdd68ed85239fc256226182b2ebe" - integrity sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ== - -acorn-walk@^7.1.1: - version "7.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" - integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== - -acorn@^7.1.1, acorn@^7.4.0: - version "7.4.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.0.tgz#e1ad486e6c54501634c6c397c5c121daa383607c" - integrity sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w== - -agent-base@4, agent-base@^4.2.0, agent-base@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.3.0.tgz#8165f01c436009bccad0b1d122f05ed770efc6ee" - integrity sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg== - dependencies: - es6-promisify "^5.0.0" - -agent-base@6, agent-base@^6.0.0: - version "6.0.2" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" - integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== - dependencies: - debug "4" - -agent-base@~4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.2.1.tgz#d89e5999f797875674c07d87f260fc41e83e8ca9" - integrity sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg== - dependencies: - es6-promisify "^5.0.0" - -ajv@^6.10.0: - version "6.12.4" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.4.tgz#0614facc4522127fa713445c6bfd3ebd376e2234" - integrity sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ== - 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" - -ajv@^6.10.2, ajv@^6.12.3: - version "6.12.3" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.3.tgz#18c5af38a111ddeb4f2697bd78d68abc1cabd706" - integrity sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA== - 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" - -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-colors@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" - integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== - -ansi-escapes@^4.2.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" - integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA== - dependencies: - type-fest "^0.11.0" - -ansi-regex@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" - integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== - -ansi-regex@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" - integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== - -ansi-styles@^3.2.0, 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.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359" - integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA== - dependencies: - "@types/color-name" "^1.1.1" - color-convert "^2.0.1" - -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - -anymatch@^3.0.3: - version "3.1.1" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" - integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -archiver-utils@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/archiver-utils/-/archiver-utils-2.1.0.tgz#e8a460e94b693c3e3da182a098ca6285ba9249e2" - integrity sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw== - dependencies: - glob "^7.1.4" - graceful-fs "^4.2.0" - lazystream "^1.0.0" - lodash.defaults "^4.2.0" - lodash.difference "^4.5.0" - lodash.flatten "^4.4.0" - lodash.isplainobject "^4.0.6" - lodash.union "^4.6.0" - normalize-path "^3.0.0" - readable-stream "^2.0.0" - -archiver@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/archiver/-/archiver-4.0.2.tgz#43c72865eadb4ddaaa2fb74852527b6a450d927c" - integrity sha512-B9IZjlGwaxF33UN4oPbfBkyA4V1SxNLeIhR1qY8sRXSsbdUkEHrrOvwlYFPx+8uQeCe9M+FG6KgO+imDmQ79CQ== - dependencies: - archiver-utils "^2.1.0" - async "^3.2.0" - buffer-crc32 "^0.2.1" - glob "^7.1.6" - readable-stream "^3.6.0" - tar-stream "^2.1.2" - zip-stream "^3.0.1" - -archiver@^5.0.2: - version "5.1.0" - resolved "https://registry.yarnpkg.com/archiver/-/archiver-5.1.0.tgz#05b0f6f7836f3e6356a0532763d2bb91017a7e37" - integrity sha512-iKuQUP1nuKzBC2PFlGet5twENzCfyODmvkxwDV0cEFXavwcLrIW5ssTuHi9dyTPvpWr6Faweo2eQaQiLIwyXTA== - dependencies: - archiver-utils "^2.1.0" - async "^3.2.0" - buffer-crc32 "^0.2.1" - readable-stream "^3.6.0" - readdir-glob "^1.0.0" - tar-stream "^2.1.4" - zip-stream "^4.0.4" - -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" - -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= - -arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= - -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= - -asn1@~0.2.3: - version "0.2.4" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" - integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== - 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 sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= - -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= - -ast-types@0.x.x: - version "0.13.3" - resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.13.3.tgz#50da3f28d17bdbc7969a3a2d83a0e4a72ae755a7" - integrity sha512-XTZ7xGML849LkQP86sWdQzfhwbt3YwIO6MqbX9mUNYY98VKaaVZP7YNNm70IpwecbkkxmfC5IYAzOQ/2p29zRA== - -ast-types@^0.13.2: - version "0.13.4" - resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.13.4.tgz#ee0d77b343263965ecc3fb62da16e7222b2b6782" - integrity sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w== - dependencies: - tslib "^2.0.1" - -astral-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" - integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== - -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== - -async-each@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" - integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== - -async@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/async/-/async-3.2.0.tgz#b3a2685c5ebb641d3de02d161002c60fc9f85720" - integrity sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw== - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= - -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - -atob@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - -aws-cdk@1.74.0: - version "1.74.0" - resolved "https://registry.yarnpkg.com/aws-cdk/-/aws-cdk-1.74.0.tgz#d049631ea578a8b75244b13a3028134ebb56add2" - integrity sha512-D4LKNlmvLHv+CWI/35Esaoij4v5VSqKyc+Gvnjhj1K3I4lG/AAxEy1CmRBhN/w1LJt70U9jnBpIsb6hGUlrV8A== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.74.0" - "@aws-cdk/cloudformation-diff" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - "@aws-cdk/region-info" "1.74.0" - "@aws-cdk/yaml-cfn" "1.74.0" - archiver "^5.0.2" - aws-sdk "^2.792.0" - camelcase "^6.2.0" - cdk-assets "1.74.0" - colors "^1.4.0" - decamelize "^4.0.0" - fs-extra "^9.0.1" - glob "^7.1.6" - json-diff "^0.5.4" - minimatch ">=3.0" - promptly "^3.2.0" - proxy-agent "^4.0.0" - semver "^7.3.2" - source-map-support "^0.5.19" - table "^6.0.3" - uuid "^8.3.1" - wrap-ansi "^7.0.0" - yargs "^16.1.1" - -aws-sdk@^2.739.0: - version "2.743.0" - resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.743.0.tgz#c72a471c80cf88d78d854c780de861fb8475ae34" - integrity sha512-xujZGeA5gnbPBIlq6w/b+WYDKLXYiPWeVHvR0LKcvLLAr8IgzYYInmLx+7CU6ynXuBwVQtqGl2lZ2JSZbnMydg== - dependencies: - buffer "4.9.2" - events "1.1.1" - ieee754 "1.1.13" - jmespath "0.15.0" - querystring "0.2.0" - sax "1.2.1" - url "0.10.3" - uuid "3.3.2" - xml2js "0.4.19" - -aws-sdk@^2.761.0: - version "2.774.0" - resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.774.0.tgz#1d9512ae42f0cfb9b98d0d6e0d7df7634cf4e680" - integrity sha512-3a/fM1E3nCPwT4AVbysOWCMmsu/TOdJDD3urjywWE/qO1JShxRwLSdRLD1xRkacR9JcnydfkmdU0qk+VsM3nqg== - dependencies: - buffer "4.9.2" - events "1.1.1" - ieee754 "1.1.13" - jmespath "0.15.0" - querystring "0.2.0" - sax "1.2.1" - url "0.10.3" - uuid "3.3.2" - xml2js "0.4.19" - -aws-sdk@^2.792.0: - version "2.799.0" - resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.799.0.tgz#8b1a64c1a9f8ccf5794eb07bdd8051e4cb6adcfd" - integrity sha512-NYAoiNU+bJXhlJsC0rFqrmD5t5ho7/VxldmziP6HLPYHfOCI9Uvk6UVjfPmhLWPm0mHnIxhsHqmsNGyjhHNYmw== - dependencies: - buffer "4.9.2" - events "1.1.1" - ieee754 "1.1.13" - jmespath "0.15.0" - querystring "0.2.0" - sax "1.2.1" - url "0.10.3" - uuid "3.3.2" - xml2js "0.4.19" - -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= - -aws4@^1.8.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.10.0.tgz#a17b3a8ea811060e74d47d306122400ad4497ae2" - integrity sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA== - -babel-jest@^26.2.2: - version "26.2.2" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.2.2.tgz#70f618f2d7016ed71b232241199308985462f812" - integrity sha512-JmLuePHgA+DSOdOL8lPxCgD2LhPPm+rdw1vnxR73PpIrnmKCS2/aBhtkAcxQWuUcW2hBrH8MJ3LKXE7aWpNZyA== - dependencies: - "@jest/transform" "^26.2.2" - "@jest/types" "^26.2.0" - "@types/babel__core" "^7.1.7" - babel-plugin-istanbul "^6.0.0" - babel-preset-jest "^26.2.0" - chalk "^4.0.0" - graceful-fs "^4.2.4" - slash "^3.0.0" - -babel-plugin-dynamic-import-node@^2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" - integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== - dependencies: - object.assign "^4.1.0" - -babel-plugin-istanbul@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz#e159ccdc9af95e0b570c75b4573b7c34d671d765" - integrity sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@istanbuljs/load-nyc-config" "^1.0.0" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-instrument "^4.0.0" - test-exclude "^6.0.0" - -babel-plugin-jest-hoist@^26.2.0: - version "26.2.0" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.2.0.tgz#bdd0011df0d3d513e5e95f76bd53b51147aca2dd" - integrity sha512-B/hVMRv8Nh1sQ1a3EY8I0n4Y1Wty3NrR5ebOyVT302op+DOAau+xNEImGMsUWOC3++ZlMooCytKz+NgN8aKGbA== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.0.0" - "@types/babel__traverse" "^7.0.6" - -babel-preset-current-node-syntax@^0.1.2: - version "0.1.3" - resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.3.tgz#b4b547acddbf963cba555ba9f9cbbb70bfd044da" - integrity sha512-uyexu1sVwcdFnyq9o8UQYsXwXflIh8LvrF5+cKrYam93ned1CStffB3+BEcsxGSgagoA3GEyjDqO4a/58hyPYQ== - 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-preset-jest@^26.2.0: - version "26.2.0" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.2.0.tgz#f198201a4e543a43eb40bc481e19736e095fd3e0" - integrity sha512-R1k8kdP3R9phYQugXeNnK/nvCGlBzG4m3EoIIukC80GXb6wCv2XiwPhK6K9MAkQcMszWBYvl2Wm+yigyXFQqXg== - dependencies: - babel-plugin-jest-hoist "^26.2.0" - babel-preset-current-node-syntax "^0.1.2" - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= - -base64-js@^1.0.2: - version "1.3.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" - integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== - -base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= - dependencies: - tweetnacl "^0.14.3" - -binary-extensions@^1.0.0: - version "1.13.1" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" - integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== - -bindings@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" - integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== - dependencies: - file-uri-to-path "1.0.0" - -bl@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/bl/-/bl-4.0.2.tgz#52b71e9088515d0606d9dd9cc7aa48dc1f98e73a" - integrity sha512-j4OH8f6Qg2bGuWfRiltT2HYGx0e1QcBTrK9KAHNMwMZdQnDZFk0ZSYIpADjYCB3U12nicC5tVJwSIhwOWjb4RQ== - dependencies: - buffer "^5.5.0" - inherits "^2.0.4" - readable-stream "^3.4.0" - -bl@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/bl/-/bl-4.0.3.tgz#12d6287adc29080e22a705e5764b2a9522cdc489" - integrity sha512-fs4G6/Hu4/EE+F75J8DuN/0IpQqNjAdC7aEQv7Qt8MHGUH7Ckv2MwTEEeN9QehD0pfIDkMI1bkHYkKy7xHyKIg== - dependencies: - buffer "^5.5.0" - inherits "^2.0.4" - readable-stream "^3.4.0" - -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@^2.3.1, braces@^2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - -braces@^3.0.1: - 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" - -browser-process-hrtime@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" - integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== - -browserslist@^4.12.0, browserslist@^4.8.5: - version "4.14.0" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.14.0.tgz#2908951abfe4ec98737b72f34c3bcedc8d43b000" - integrity sha512-pUsXKAF2lVwhmtpeA3LJrZ76jXuusrNyhduuQs7CDFf9foT4Y38aQOserd2lMe5DSSrjf3fx34oHwryuvxAUgQ== - dependencies: - caniuse-lite "^1.0.30001111" - electron-to-chromium "^1.3.523" - escalade "^3.0.2" - node-releases "^1.1.60" - -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-crc32@^0.2.1, buffer-crc32@^0.2.13: - version "0.2.13" - resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" - integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= - -buffer-from@1.x, buffer-from@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" - integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== - -buffer@4.9.2: - version "4.9.2" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" - integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - isarray "^1.0.0" - -buffer@^5.1.0, buffer@^5.5.0: - version "5.6.0" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.6.0.tgz#a31749dc7d81d84db08abf937b6b8c4033f62786" - integrity sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw== - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - -bytes@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" - integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== - -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - -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.0.0, 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.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.0.0.tgz#5259f7c30e35e278f1bdc2a4d91230b37cad981e" - integrity sha512-8KMDF1Vz2gzOq54ONPJS65IvTUaB1cHJ2DMM7MbPmLZljDH1qpzzLsWdiN9pHh6qvkRVDTi/07+eNGch/oLU4w== - -camelcase@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" - integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== - -caniuse-lite@^1.0.30001111: - version "1.0.30001112" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001112.tgz#0fffc3b934ff56ff0548c37bc9dad7d882bcf672" - integrity sha512-J05RTQlqsatidif/38aN3PGULCLrg8OYQOlJUKbeYVzC2mGZkZLIztwRlB3MtrfLmawUmjFlNJvy/uhwniIe1Q== - -capture-exit@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" - integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== - dependencies: - rsvp "^4.8.4" - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= - -cdk-assets@1.61.0: - version "1.61.0" - resolved "https://registry.yarnpkg.com/cdk-assets/-/cdk-assets-1.61.0.tgz#677d85bb23ae7aa104a1b0d5892e3cfd36580a08" - integrity sha512-nZJNQq6vktb5j8xl+IYLWbN82E6EVANJQIZvOM1H/SLuYsjyuoAlIxBp6e50XqYRApnLYJ7BpDdAnLWOmfY8MQ== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - archiver "^4.0.2" - aws-sdk "^2.739.0" - glob "^7.1.6" - yargs "^15.4.1" - -cdk-assets@1.74.0: - version "1.74.0" - resolved "https://registry.yarnpkg.com/cdk-assets/-/cdk-assets-1.74.0.tgz#d70d5d5351181d91d9ee91791a858c2eb5d5e723" - integrity sha512-YF3nE1zAJU4dlWVnY30a4ALNzHhSTMMoAMv4bYkwXTLqzu+QB2v3MQdPpCLdGTGUYDaeRZy/Z/4R4MqM+/KPAA== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - archiver "^5.0.2" - aws-sdk "^2.792.0" - glob "^7.1.6" - yargs "^16.1.1" - -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@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" - integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chalk@^4.0.0, chalk@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" - integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== - 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== - -charenc@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667" - integrity sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc= - -chokidar@^2.1.8: - version "2.1.8" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" - integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== - dependencies: - anymatch "^2.0.0" - async-each "^1.0.1" - braces "^2.3.2" - glob-parent "^3.1.0" - inherits "^2.0.3" - is-binary-path "^1.0.0" - is-glob "^4.0.0" - normalize-path "^3.0.0" - path-is-absolute "^1.0.0" - readdirp "^2.2.1" - upath "^1.1.1" - optionalDependencies: - fsevents "^1.2.7" - -ci-info@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" - integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== - -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - -cli-color@~0.1.6: - version "0.1.7" - resolved "https://registry.yarnpkg.com/cli-color/-/cli-color-0.1.7.tgz#adc3200fa471cc211b0da7f566b71e98b9d67347" - integrity sha1-rcMgD6RxzCEbDaf1ZrcemLnWc0c= - dependencies: - es5-ext "0.8.x" - -cliui@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" - integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^6.2.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 sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= - -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== - -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - -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 sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - -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== - -colors@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" - integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== - -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.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" - integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== - -component-emitter@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" - integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== - -compress-commons@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/compress-commons/-/compress-commons-3.0.0.tgz#833944d84596e537224dd91cf92f5246823d4f1d" - integrity sha512-FyDqr8TKX5/X0qo+aVfaZ+PVmNJHJeckFBlq8jZGSJOgnynhfifoyl24qaqdUdDIBe0EVTHByN6NAkqYvE/2Xg== - dependencies: - buffer-crc32 "^0.2.13" - crc32-stream "^3.0.1" - normalize-path "^3.0.0" - readable-stream "^2.3.7" - -compress-commons@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/compress-commons/-/compress-commons-4.0.2.tgz#d6896be386e52f37610cef9e6fa5defc58c31bd7" - integrity sha512-qhd32a9xgzmpfoga1VQEiLEwdKZ6Plnpx5UCgIsf89FSolyJ7WnifY4Gtjgv5WR6hWAyRaHxC5MiEhU/38U70A== - dependencies: - buffer-crc32 "^0.2.13" - crc32-stream "^4.0.1" - normalize-path "^3.0.0" - readable-stream "^3.6.0" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -constructs@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/constructs/-/constructs-3.0.4.tgz#eb1ed5b80f6600b8d50de83971357ae0fe8e29a2" - integrity sha512-CDvg7gMjphE3DFX4pzkF6j73NREbR8npPFW8Mx/CLRnMR035+Y1o1HrXIsNSss/dq3ZUnNTU9jKyd3fL9EOlfw== - -constructs@^3.2.0: - version "3.2.40" - resolved "https://registry.yarnpkg.com/constructs/-/constructs-3.2.40.tgz#e8c0e1020ad254ff73d9ea6c85cc90c3a33c71f1" - integrity sha512-XtKn+Pzq8EZNe1zasQem6X09dprZ8pXvNxECKQLZC+jU5BdkgDKe0nak4Wp+k7uvDFlyh9NccaGtxqP6w2YS0A== - -convert-source-map@^1.1.0, convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" - integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== - dependencies: - safe-buffer "~5.1.1" - -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= - -core-js-compat@^3.6.2: - version "3.6.5" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.6.5.tgz#2a51d9a4e25dfd6e690251aa81f99e3c05481f1c" - integrity sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng== - dependencies: - browserslist "^4.8.5" - semver "7.0.0" - -core-js@^3.6.5: - version "3.6.5" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.6.5.tgz#7395dc273af37fb2e50e9bd3d9fe841285231d1a" - integrity sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA== - -core-util-is@1.0.2, core-util-is@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= - -crc-32@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.0.tgz#cb2db6e29b88508e32d9dd0ec1693e7b41a18208" - integrity sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA== - dependencies: - exit-on-epipe "~1.0.1" - printj "~1.1.0" - -crc32-stream@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-3.0.1.tgz#cae6eeed003b0e44d739d279de5ae63b171b4e85" - integrity sha512-mctvpXlbzsvK+6z8kJwSJ5crm7yBwrQMTybJzMw1O4lLGJqjlDCXY2Zw7KheiA6XBEcBmfLx1D88mjRGVJtY9w== - dependencies: - crc "^3.4.4" - readable-stream "^3.4.0" - -crc32-stream@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-4.0.1.tgz#0f047d74041737f8a55e86837a1b826bd8ab0067" - integrity sha512-FN5V+weeO/8JaXsamelVYO1PHyeCsuL3HcG4cqsj0ceARcocxalaShCsohZMSAF+db7UYFwBy1rARK/0oFItUw== - dependencies: - crc-32 "^1.2.0" - readable-stream "^3.4.0" - -crc@^3.4.4: - version "3.8.0" - resolved "https://registry.yarnpkg.com/crc/-/crc-3.8.0.tgz#ad60269c2c856f8c299e2c4cc0de4556914056c6" - integrity sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ== - dependencies: - buffer "^5.1.0" - -cross-spawn@^6.0.0: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^7.0.0, 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" - -crypt@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b" - integrity sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs= - -cssom@^0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" - integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== - -cssom@~0.3.6: - version "0.3.8" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" - integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== - -cssstyle@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" - integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== - dependencies: - cssom "~0.3.6" - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= - dependencies: - assert-plus "^1.0.0" - -data-uri-to-buffer@1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-1.2.0.tgz#77163ea9c20d8641b4707e8f18abdf9a78f34835" - integrity sha512-vKQ9DTQPN1FLYiiEEOQ6IBGFqvjCa5rSK3cWMy/Nespm5d/x3dGFT9UBZnkLxCwua/IXBi2TYnwTEpsOvhC4UQ== - -data-uri-to-buffer@3: - version "3.0.1" - resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz#594b8973938c5bc2c33046535785341abc4f3636" - integrity sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og== - -data-urls@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" - integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== - dependencies: - abab "^2.0.3" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.0.0" - -debug@2, debug@^2.2.0, debug@^2.3.3: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" - integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== - dependencies: - ms "2.0.0" - -debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" - integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== - dependencies: - ms "^2.1.1" - -debug@^3.1.0: - version "3.2.6" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" - integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== - dependencies: - ms "^2.1.1" - -decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - -decamelize@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" - integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== - -decimal.js@^10.2.0: - version "10.2.0" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.2.0.tgz#39466113a9e036111d02f82489b5fd6b0b5ed231" - integrity sha512-vDPw+rDgn3bZe1+F/pyEwb1oMG2XTlRVgAa6B4KccTEpYgF8w6eQllVbQcfIJnZyvzFtFpxnpGtx8dd7DJp/Rw== - -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= - -deep-is@^0.1.3, deep-is@~0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" - integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= - -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== - -define-properties@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" - integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== - dependencies: - object-keys "^1.0.12" - -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - -degenerator@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/degenerator/-/degenerator-1.0.4.tgz#fcf490a37ece266464d9cc431ab98c5819ced095" - integrity sha1-/PSQo37OJmRk2cxDGrmMWBnO0JU= - dependencies: - ast-types "0.x.x" - escodegen "1.x.x" - esprima "3.x.x" - -degenerator@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/degenerator/-/degenerator-2.2.0.tgz#49e98c11fa0293c5b26edfbb52f15729afcdb254" - integrity sha512-aiQcQowF01RxFI4ZLFMpzyotbQonhNpBao6dkI8JPk5a+hmSjR5ErHp2CQySmQe8os3VBqLCIh87nDBgZXvsmg== - dependencies: - ast-types "^0.13.2" - escodegen "^1.8.1" - esprima "^4.0.0" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= - -depd@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" - integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= - -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@^25.2.6: - version "25.2.6" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-25.2.6.tgz#5f467c00edd35352b7bca46d7927d60e687a76dd" - integrity sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg== - -diff-sequences@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.0.0.tgz#0760059a5c287637b842bd7085311db7060e88a6" - integrity sha512-JC/eHYEC3aSS0vZGjuoc4vHA0yAQTzhQQldXMeMF+JlxLGJlCO38Gma82NV9gk1jGFz8mDzUMeaKXvjRRdJ2dg== - -diff@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== - -diff@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" - integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== - -difflib@~0.2.1: - version "0.2.4" - resolved "https://registry.yarnpkg.com/difflib/-/difflib-0.2.4.tgz#b5e30361a6db023176d562892db85940a718f47e" - integrity sha1-teMDYabbAjF21WKJLbhZQKcY9H4= - dependencies: - heap ">= 0.2.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" - -domexception@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" - integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== - dependencies: - webidl-conversions "^5.0.0" - -dreamopt@~0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/dreamopt/-/dreamopt-0.6.0.tgz#d813ccdac8d39d8ad526775514a13dda664d6b4b" - integrity sha1-2BPM2sjTnYrVJndVFKE92mZNa0s= - dependencies: - wordwrap ">=0.0.2" - -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - -electron-to-chromium@^1.3.523: - version "1.3.526" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.526.tgz#0e004899edf75afc172cce1b8189aac5dca646aa" - integrity sha512-HiroW5ZbGwgT8kCnoEO8qnGjoTPzJxduvV/Vv/wH63eo2N6Zj3xT5fmmaSPAPUM05iN9/5fIEkIg3owTtV6QZg== - -emittery@^0.7.1: - version "0.7.1" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.7.1.tgz#c02375a927a40948c0345cc903072597f5270451" - integrity sha512-d34LN4L6h18Bzz9xpoku2nPwKxCPlPMr3EEKTkoEBi+1/+b0lcRkRJ1UVyyZaKNeqGR3swcGl6s390DNO4YVgQ== - -emoji-regex@^7.0.1: - version "7.0.3" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" - integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== - -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== - -end-of-stream@^1.1.0, end-of-stream@^1.4.1: - version "1.4.4" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - -enquirer@^2.3.5: - version "2.3.6" - resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" - integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== - dependencies: - ansi-colors "^4.1.1" - -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" - -es5-ext@0.8.x: - version "0.8.2" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.8.2.tgz#aba8d9e1943a895ac96837a62a39b3f55ecd94ab" - integrity sha1-q6jZ4ZQ6iVrJaDemKjmz9V7NlKs= - -es6-promise@^4.0.3: - version "4.2.8" - resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" - integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== - -es6-promisify@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203" - integrity sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM= - dependencies: - es6-promise "^4.0.3" - -escalade@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.0.2.tgz#6a580d70edb87880f22b4c91d0d56078df6962c4" - integrity sha512-gPYAU37hYCUhW5euPeR+Y74F7BL+IBsV93j5cvGriSaD1aG6MGsqsV1yamRdrWrb2j3aiZvb0X+UBOWpx3JWtQ== - -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 sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -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== - -escodegen@1.x.x, escodegen@^1.14.1, escodegen@^1.8.1: - version "1.14.3" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" - integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== - dependencies: - esprima "^4.0.1" - estraverse "^4.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" - -eslint-rule-composer@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz#79320c927b0c5c0d3d3d2b76c8b4a488f25bbaf9" - integrity sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg== - -eslint-scope@5.1.0, eslint-scope@^5.0.0, eslint-scope@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.0.tgz#d0f971dfe59c69e0cada684b23d49dbf82600ce5" - integrity sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w== - dependencies: - esrecurse "^4.1.0" - estraverse "^4.1.1" - -eslint-utils@^2.0.0, eslint-utils@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" - integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== - dependencies: - eslint-visitor-keys "^1.1.0" - -eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" - integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== - -eslint@^7.7.0: - version "7.7.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.7.0.tgz#18beba51411927c4b64da0a8ceadefe4030d6073" - integrity sha512-1KUxLzos0ZVsyL81PnRN335nDtQ8/vZUD6uMtWbF+5zDtjKcsklIi78XoE0MVL93QvWTu+E5y44VyyCsOMBrIg== - dependencies: - "@babel/code-frame" "^7.0.0" - ajv "^6.10.0" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.0.1" - doctrine "^3.0.0" - enquirer "^2.3.5" - eslint-scope "^5.1.0" - eslint-utils "^2.1.0" - eslint-visitor-keys "^1.3.0" - espree "^7.2.0" - esquery "^1.2.0" - esutils "^2.0.2" - file-entry-cache "^5.0.1" - functional-red-black-tree "^1.0.1" - glob-parent "^5.0.0" - globals "^12.1.0" - ignore "^4.0.6" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - js-yaml "^3.13.1" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash "^4.17.19" - minimatch "^3.0.4" - natural-compare "^1.4.0" - optionator "^0.9.1" - progress "^2.0.0" - regexpp "^3.1.0" - semver "^7.2.1" - strip-ansi "^6.0.0" - strip-json-comments "^3.1.0" - table "^5.2.3" - text-table "^0.2.0" - v8-compile-cache "^2.0.3" - -espree@^7.2.0: - version "7.3.0" - resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.0.tgz#dc30437cf67947cf576121ebd780f15eeac72348" - integrity sha512-dksIWsvKCixn1yrEXO8UosNSxaDoSYpq9reEjZSbHLpT5hpaCAKTLBwq0RHtLrIr+c0ByiYzWT8KTMRzoRCNlw== - dependencies: - acorn "^7.4.0" - acorn-jsx "^5.2.0" - eslint-visitor-keys "^1.3.0" - -esprima@3.x.x: - version "3.1.3" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" - integrity sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM= - -esprima@^4.0.0, esprima@^4.0.1: - 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.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.3.1.tgz#b78b5828aa8e214e29fb74c4d5b752e1c033da57" - integrity sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.1.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, estraverse@^4.2.0: - 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.2.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" - integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== - -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== - -events@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" - integrity sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ= - -exec-sh@^0.3.2: - version "0.3.4" - resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.4.tgz#3a018ceb526cc6f6df2bb504b2bfe8e3a4934ec5" - integrity sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A== - -execa@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" - integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== - dependencies: - cross-spawn "^6.0.0" - get-stream "^4.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -execa@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/execa/-/execa-4.0.3.tgz#0a34dabbad6d66100bd6f2c576c8669403f317f2" - integrity sha512-WFDXGHckXPWZX19t1kCsXzOpqX9LWYNqn4C+HqZlk/V0imTkzJZqf87ZBhvpHaftERYknpk0fjSylnXVlVgI0A== - dependencies: - cross-spawn "^7.0.0" - get-stream "^5.0.0" - human-signals "^1.1.1" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.0" - onetime "^5.1.0" - signal-exit "^3.0.2" - strip-final-newline "^2.0.0" - -exit-on-epipe@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz#0bdd92e87d5285d267daa8171d0eb06159689692" - integrity sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw== - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= - -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -expect@^26.2.0: - version "26.2.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-26.2.0.tgz#0140dd9cc7376d7833852e9cda88c05414f1efba" - integrity sha512-8AMBQ9UVcoUXt0B7v+5/U5H6yiUR87L6eKCfjE3spx7Ya5lF+ebUo37MCFBML2OiLfkX1sxmQOZhIDonyVTkcw== - dependencies: - "@jest/types" "^26.2.0" - ansi-styles "^4.0.0" - jest-get-type "^26.0.0" - jest-matcher-utils "^26.2.0" - jest-message-util "^26.2.0" - jest-regex-util "^26.0.0" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -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== - -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= - -extsprintf@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" - integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= - -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-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.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, fast-levenshtein@~2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= - -fb-watchman@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" - integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== - dependencies: - bser "2.1.1" - -file-entry-cache@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" - integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g== - dependencies: - flat-cache "^2.0.1" - -file-uri-to-path@1, file-uri-to-path@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" - integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== - -file-uri-to-path@2: - version "2.0.0" - resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-2.0.0.tgz#7b415aeba227d575851e0a5b0c640d7656403fba" - integrity sha512-hjPFI8oE/2iQPVe4gbrJ73Pp+Xfub2+WI2LlXDbsaJBwT5wuMh35WNWVYYTpnz895shtwfyutMFLFywpQAFdLg== - -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - -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" - -flat-cache@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" - integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA== - dependencies: - flatted "^2.0.0" - rimraf "2.6.3" - write "1.0.3" - -flatted@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" - integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== - -for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= - -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" - -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= - dependencies: - map-cache "^0.2.2" - -fs-constants@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" - integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== - -fs-extra@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" - integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-extra@^9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc" - integrity sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^1.0.0" - -fs-readdir-recursive@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz#e32fc030a2ccee44a6b5371308da54be0b397d27" - integrity sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA== - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - -fsevents@^1.2.7: - version "1.2.13" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" - integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== - dependencies: - bindings "^1.5.0" - nan "^2.12.1" - -fsevents@^2.1.2: - version "2.1.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" - integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== - -ftp@^0.3.10, ftp@~0.3.10: - version "0.3.10" - resolved "https://registry.yarnpkg.com/ftp/-/ftp-0.3.10.tgz#9197d861ad8142f3e63d5a83bfe4c59f7330885d" - integrity sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0= - dependencies: - readable-stream "1.1.x" - xregexp "2.0.0" - -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== - -functional-red-black-tree@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" - integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= - -gensync@^1.0.0-beta.1: - version "1.0.0-beta.1" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" - integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg== - -get-caller-file@^2.0.1, 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@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== - dependencies: - pump "^3.0.0" - -get-stream@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.1.0.tgz#01203cdc92597f9b909067c3e656cc1f4d3c4dc9" - integrity sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw== - dependencies: - pump "^3.0.0" - -get-uri@3: - version "3.0.2" - resolved "https://registry.yarnpkg.com/get-uri/-/get-uri-3.0.2.tgz#f0ef1356faabc70e1f9404fa3b66b2ba9bfc725c" - integrity sha512-+5s0SJbGoyiJTZZ2JTpFPLMPSch72KEqGOTvQsBqg0RBWvwhWUSYZFAtz3TPW0GXJuLBJPts1E241iHg+VRfhg== - dependencies: - "@tootallnate/once" "1" - data-uri-to-buffer "3" - debug "4" - file-uri-to-path "2" - fs-extra "^8.1.0" - ftp "^0.3.10" - -get-uri@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/get-uri/-/get-uri-2.0.4.tgz#d4937ab819e218d4cb5ae18e4f5962bef169cc6a" - integrity sha512-v7LT/s8kVjs+Tx0ykk1I+H/rbpzkHvuIq87LmeXptcf5sNWm9uQiwjNAt94SJPA1zOlCntmnOlJvVWKmzsxG8Q== - dependencies: - data-uri-to-buffer "1" - debug "2" - extend "~3.0.2" - file-uri-to-path "1" - ftp "~0.3.10" - readable-stream "2" - -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= - dependencies: - assert-plus "^1.0.0" - -glob-parent@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" - integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= - dependencies: - is-glob "^3.1.0" - path-dirname "^1.0.0" - -glob-parent@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" - integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== - dependencies: - is-glob "^4.0.1" - -glob@^7.0.0, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: - version "7.1.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" - integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== - 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.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globals@^12.1.0: - version "12.4.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" - integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg== - dependencies: - type-fest "^0.8.1" - -graceful-fs@^4.1.11, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4: - version "4.2.4" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" - integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== - -growly@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" - integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= - -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 sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - -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-symbols@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" - integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== - -has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -"heap@>= 0.2.0": - version "0.2.6" - resolved "https://registry.yarnpkg.com/heap/-/heap-0.2.6.tgz#087e1f10b046932fc8594dd9e6d378afc9d1e5ac" - integrity sha1-CH4fELBGky/IWU3Z5tN4r8nR5aw= - -hosted-git-info@^2.1.4: - version "2.8.8" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" - integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== - -html-encoding-sniffer@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" - integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== - dependencies: - whatwg-encoding "^1.0.5" - -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-errors@1.7.3: - version "1.7.3" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" - integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== - dependencies: - depd "~1.1.2" - inherits "2.0.4" - setprototypeof "1.1.1" - statuses ">= 1.5.0 < 2" - toidentifier "1.0.0" - -http-proxy-agent@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz#e4821beef5b2142a2026bd73926fe537631c5405" - integrity sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg== - dependencies: - agent-base "4" - debug "3.1.0" - -http-proxy-agent@^4.0.0, http-proxy-agent@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" - integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== - dependencies: - "@tootallnate/once" "1" - agent-base "6" - debug "4" - -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -https-proxy-agent@5, https-proxy-agent@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" - integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== - dependencies: - agent-base "6" - debug "4" - -https-proxy-agent@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-3.0.1.tgz#b8c286433e87602311b01c8ea34413d856a4af81" - integrity sha512-+ML2Rbh6DAuee7d07tYGEKOEi2voWPUGan+ExdPbPW6Z3svq+JCqr0v8WmKPOkz1vOVykPCBSuobe7G8GJUtVg== - dependencies: - agent-base "^4.3.0" - debug "^3.1.0" - -human-signals@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" - integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== - -iconv-lite@0.4.24: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -ieee754@1.1.13, ieee754@^1.1.4: - version "1.1.13" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" - integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== - -ignore@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" - integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== - -ignore@^5.1.8: - version "5.1.8" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" - integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== - -import-fresh@^3.0.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" - integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-local@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" - integrity sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA== - 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 sha1-khi5srkoojixPcT7a21XbyMUU+o= - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@2.0.4, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, 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== - -invariant@^2.2.2, invariant@^2.2.4: - version "2.2.4" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" - integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== - dependencies: - loose-envify "^1.0.0" - -ip-regex@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" - integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= - -ip@1.1.5, ip@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" - integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= - -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== - dependencies: - kind-of "^6.0.0" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - -is-binary-path@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" - integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= - dependencies: - binary-extensions "^1.0.0" - -is-buffer@^1.1.5, is-buffer@~1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - -is-ci@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== - dependencies: - ci-info "^2.0.0" - -is-data-descriptor@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" - integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== - dependencies: - kind-of "^6.0.0" - -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - -is-docker@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.1.1.tgz#4125a88e44e450d384e09047ede71adc2d144156" - integrity sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw== - -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== - dependencies: - is-plain-object "^2.0.4" - -is-extglob@^2.1.0, is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= - -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-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@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" - integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= - dependencies: - is-extglob "^2.1.0" - -is-glob@^4.0.0, is-glob@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" - integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== - dependencies: - is-extglob "^2.1.1" - -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= - dependencies: - kind-of "^3.0.2" - -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-plain-object@^2.0.3, is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - -is-potential-custom-element-name@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz#0c52e54bcca391bb2c494b21e8626d7336c6e397" - integrity sha1-DFLlS8yjkbssSUsh6GJtczbG45c= - -is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= - -is-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" - integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== - -is-typedarray@^1.0.0, is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= - -is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - -is-wsl@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" - integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== - dependencies: - is-docker "^2.0.0" - -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" - integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= - -isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= - -istanbul-lib-coverage@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" - integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg== - -istanbul-lib-instrument@^4.0.0, istanbul-lib-instrument@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" - integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== - dependencies: - "@babel/core" "^7.7.5" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.0.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.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9" - integrity sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^3.0.0" - source-map "^0.6.1" - -istanbul-reports@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.2.tgz#d593210e5000683750cb09fc0644e4b6e27fd53b" - integrity sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -jest-changed-files@^26.2.0: - version "26.2.0" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.2.0.tgz#b4946201defe0c919a2f3d601e9f98cb21dacc15" - integrity sha512-+RyJb+F1K/XBLIYiL449vo5D+CvlHv29QveJUWNPXuUicyZcq+tf1wNxmmFeRvAU1+TzhwqczSjxnCCFt7+8iA== - dependencies: - "@jest/types" "^26.2.0" - execa "^4.0.0" - throat "^5.0.0" - -jest-cli@^26.2.2: - version "26.2.2" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.2.2.tgz#4c273e5474baafac1eb15fd25aaafb4703f5ffbc" - integrity sha512-vVcly0n/ijZvdy6gPQiQt0YANwX2hLTPQZHtW7Vi3gcFdKTtif7YpI85F8R8JYy5DFSWz4x1OW0arnxlziu5Lw== - dependencies: - "@jest/core" "^26.2.2" - "@jest/test-result" "^26.2.0" - "@jest/types" "^26.2.0" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.4" - import-local "^3.0.2" - is-ci "^2.0.0" - jest-config "^26.2.2" - jest-util "^26.2.0" - jest-validate "^26.2.0" - prompts "^2.0.1" - yargs "^15.3.1" - -jest-config@^26.2.2: - version "26.2.2" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.2.2.tgz#f3ebc7e2bc3f49de8ed3f8007152f345bb111917" - integrity sha512-2lhxH0y4YFOijMJ65usuf78m7+9/8+hAb1PZQtdRdgnQpAb4zP6KcVDDktpHEkspBKnc2lmFu+RQdHukUUbiTg== - dependencies: - "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^26.2.2" - "@jest/types" "^26.2.0" - babel-jest "^26.2.2" - chalk "^4.0.0" - deepmerge "^4.2.2" - glob "^7.1.1" - graceful-fs "^4.2.4" - jest-environment-jsdom "^26.2.0" - jest-environment-node "^26.2.0" - jest-get-type "^26.0.0" - jest-jasmine2 "^26.2.2" - jest-regex-util "^26.0.0" - jest-resolve "^26.2.2" - jest-util "^26.2.0" - jest-validate "^26.2.0" - micromatch "^4.0.2" - pretty-format "^26.2.0" - -jest-diff@^25.2.1: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-25.5.0.tgz#1dd26ed64f96667c068cef026b677dfa01afcfa9" - integrity sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A== - dependencies: - chalk "^3.0.0" - diff-sequences "^25.2.6" - jest-get-type "^25.2.6" - pretty-format "^25.5.0" - -jest-diff@^26.2.0: - version "26.2.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.2.0.tgz#dee62c771adbb23ae585f3f1bd289a6e8ef4f298" - integrity sha512-Wu4Aopi2nzCsHWLBlD48TgRy3Z7OsxlwvHNd1YSnHc7q1NJfrmyCPoUXrTIrydQOG5ApaYpsAsdfnMbJqV1/wQ== - dependencies: - chalk "^4.0.0" - diff-sequences "^26.0.0" - jest-get-type "^26.0.0" - pretty-format "^26.2.0" - -jest-docblock@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-26.0.0.tgz#3e2fa20899fc928cb13bd0ff68bd3711a36889b5" - integrity sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w== - dependencies: - detect-newline "^3.0.0" - -jest-each@^26.2.0: - version "26.2.0" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.2.0.tgz#aec8efa01d072d7982c900e74940863385fa884e" - integrity sha512-gHPCaho1twWHB5bpcfnozlc6mrMi+VAewVPNgmwf81x2Gzr6XO4dl+eOrwPWxbkYlgjgrYjWK2xgKnixbzH3Ew== - dependencies: - "@jest/types" "^26.2.0" - chalk "^4.0.0" - jest-get-type "^26.0.0" - jest-util "^26.2.0" - pretty-format "^26.2.0" - -jest-environment-jsdom@^26.2.0: - version "26.2.0" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.2.0.tgz#6443a6f3569297dcaa4371dddf93acaf167302dc" - integrity sha512-sDG24+5M4NuIGzkI3rJW8XUlrpkvIdE9Zz4jhD8OBnVxAw+Y1jUk9X+lAOD48nlfUTlnt3lbAI3k2Ox+WF3S0g== - dependencies: - "@jest/environment" "^26.2.0" - "@jest/fake-timers" "^26.2.0" - "@jest/types" "^26.2.0" - "@types/node" "*" - jest-mock "^26.2.0" - jest-util "^26.2.0" - jsdom "^16.2.2" - -jest-environment-node@^26.2.0: - version "26.2.0" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.2.0.tgz#fee89e06bdd4bed3f75ee2978d73ede9bb57a681" - integrity sha512-4M5ExTYkJ19efBzkiXtBi74JqKLDciEk4CEsp5tTjWGYMrlKFQFtwIVG3tW1OGE0AlXhZjuHPwubuRYY4j4uOw== - dependencies: - "@jest/environment" "^26.2.0" - "@jest/fake-timers" "^26.2.0" - "@jest/types" "^26.2.0" - "@types/node" "*" - jest-mock "^26.2.0" - jest-util "^26.2.0" - -jest-get-type@^25.2.6: - version "25.2.6" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-25.2.6.tgz#0b0a32fab8908b44d508be81681487dbabb8d877" - integrity sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig== - -jest-get-type@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.0.0.tgz#381e986a718998dbfafcd5ec05934be538db4039" - integrity sha512-zRc1OAPnnws1EVfykXOj19zo2EMw5Hi6HLbFCSjpuJiXtOWAYIjNsHVSbpQ8bDX7L5BGYGI8m+HmKdjHYFF0kg== - -jest-haste-map@^26.2.2: - version "26.2.2" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.2.2.tgz#6d4267b1903854bfdf6a871419f35a82f03ae71e" - integrity sha512-3sJlMSt+NHnzCB+0KhJ1Ut4zKJBiJOlbrqEYNdRQGlXTv8kqzZWjUKQRY3pkjmlf+7rYjAV++MQ4D6g4DhAyOg== - dependencies: - "@jest/types" "^26.2.0" - "@types/graceful-fs" "^4.1.2" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.4" - jest-regex-util "^26.0.0" - jest-serializer "^26.2.0" - jest-util "^26.2.0" - jest-worker "^26.2.1" - micromatch "^4.0.2" - sane "^4.0.3" - walker "^1.0.7" - optionalDependencies: - fsevents "^2.1.2" - -jest-jasmine2@^26.2.2: - version "26.2.2" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.2.2.tgz#d82b1721fac2b153a4f8b3f0c95e81e702812de2" - integrity sha512-Q8AAHpbiZMVMy4Hz9j1j1bg2yUmPa1W9StBvcHqRaKa9PHaDUMwds8LwaDyzP/2fkybcTQE4+pTMDOG9826tEw== - dependencies: - "@babel/traverse" "^7.1.0" - "@jest/environment" "^26.2.0" - "@jest/source-map" "^26.1.0" - "@jest/test-result" "^26.2.0" - "@jest/types" "^26.2.0" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - expect "^26.2.0" - is-generator-fn "^2.0.0" - jest-each "^26.2.0" - jest-matcher-utils "^26.2.0" - jest-message-util "^26.2.0" - jest-runtime "^26.2.2" - jest-snapshot "^26.2.2" - jest-util "^26.2.0" - pretty-format "^26.2.0" - throat "^5.0.0" - -jest-leak-detector@^26.2.0: - version "26.2.0" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.2.0.tgz#073ee6d8db7a9af043e7ce99d8eea17a4fb0cc50" - integrity sha512-aQdzTX1YiufkXA1teXZu5xXOJgy7wZQw6OJ0iH5CtQlOETe6gTSocaYKUNui1SzQ91xmqEUZ/WRavg9FD82rtQ== - dependencies: - jest-get-type "^26.0.0" - pretty-format "^26.2.0" - -jest-matcher-utils@^26.2.0: - version "26.2.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.2.0.tgz#b107af98c2b8c557ffd46c1adf06f794aa52d622" - integrity sha512-2cf/LW2VFb3ayPHrH36ZDjp9+CAeAe/pWBAwsV8t3dKcrINzXPVxq8qMWOxwt5BaeBCx4ZupVGH7VIgB8v66vQ== - dependencies: - chalk "^4.0.0" - jest-diff "^26.2.0" - jest-get-type "^26.0.0" - pretty-format "^26.2.0" - -jest-message-util@^26.2.0: - version "26.2.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.2.0.tgz#757fbc1323992297092bb9016a71a2eb12fd22ea" - integrity sha512-g362RhZaJuqeqG108n1sthz5vNpzTNy926eNDszo4ncRbmmcMRIUAZibnd6s5v2XSBCChAxQtCoN25gnzp7JbQ== - dependencies: - "@babel/code-frame" "^7.0.0" - "@jest/types" "^26.2.0" - "@types/stack-utils" "^1.0.1" - chalk "^4.0.0" - graceful-fs "^4.2.4" - micromatch "^4.0.2" - slash "^3.0.0" - stack-utils "^2.0.2" - -jest-mock@^26.2.0: - version "26.2.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.2.0.tgz#a1b3303ab38c34aa1dbbc16ab57cdc1a59ed50d1" - integrity sha512-XeC7yWtWmWByoyVOHSsE7NYsbXJLtJNgmhD7z4MKumKm6ET0si81bsSLbQ64L5saK3TgsHo2B/UqG5KNZ1Sp/Q== - dependencies: - "@jest/types" "^26.2.0" - "@types/node" "*" - -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@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" - integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A== - -jest-resolve-dependencies@^26.2.2: - version "26.2.2" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.2.2.tgz#2ad3cd9281730e9a5c487cd846984c5324e47929" - integrity sha512-S5vufDmVbQXnpP7435gr710xeBGUFcKNpNswke7RmFvDQtmqPjPVU/rCeMlEU0p6vfpnjhwMYeaVjKZAy5QYJA== - dependencies: - "@jest/types" "^26.2.0" - jest-regex-util "^26.0.0" - jest-snapshot "^26.2.2" - -jest-resolve@^26.2.2: - version "26.2.2" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.2.2.tgz#324a20a516148d61bffa0058ed0c77c510ecfd3e" - integrity sha512-ye9Tj/ILn/0OgFPE/3dGpQPUqt4dHwIocxt5qSBkyzxQD8PbL0bVxBogX2FHxsd3zJA7V2H/cHXnBnNyyT9YoQ== - dependencies: - "@jest/types" "^26.2.0" - chalk "^4.0.0" - graceful-fs "^4.2.4" - jest-pnp-resolver "^1.2.2" - jest-util "^26.2.0" - read-pkg-up "^7.0.1" - resolve "^1.17.0" - slash "^3.0.0" - -jest-runner@^26.2.2: - version "26.2.2" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.2.2.tgz#6d03d057886e9c782e10b2cf37443f902fe0e39e" - integrity sha512-/qb6ptgX+KQ+aNMohJf1We695kaAfuu3u3ouh66TWfhTpLd9WbqcF6163d/tMoEY8GqPztXPLuyG0rHRVDLxCA== - dependencies: - "@jest/console" "^26.2.0" - "@jest/environment" "^26.2.0" - "@jest/test-result" "^26.2.0" - "@jest/types" "^26.2.0" - "@types/node" "*" - chalk "^4.0.0" - emittery "^0.7.1" - exit "^0.1.2" - graceful-fs "^4.2.4" - jest-config "^26.2.2" - jest-docblock "^26.0.0" - jest-haste-map "^26.2.2" - jest-leak-detector "^26.2.0" - jest-message-util "^26.2.0" - jest-resolve "^26.2.2" - jest-runtime "^26.2.2" - jest-util "^26.2.0" - jest-worker "^26.2.1" - source-map-support "^0.5.6" - throat "^5.0.0" - -jest-runtime@^26.2.2: - version "26.2.2" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.2.2.tgz#2480ff79320680a643031dd21998d7c63d83ab68" - integrity sha512-a8VXM3DxCDnCIdl9+QucWFfQ28KdqmyVFqeKLigHdErtsx56O2ZIdQkhFSuP1XtVrG9nTNHbKxjh5XL1UaFDVQ== - dependencies: - "@jest/console" "^26.2.0" - "@jest/environment" "^26.2.0" - "@jest/fake-timers" "^26.2.0" - "@jest/globals" "^26.2.0" - "@jest/source-map" "^26.1.0" - "@jest/test-result" "^26.2.0" - "@jest/transform" "^26.2.2" - "@jest/types" "^26.2.0" - "@types/yargs" "^15.0.0" - chalk "^4.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.2.4" - jest-config "^26.2.2" - jest-haste-map "^26.2.2" - jest-message-util "^26.2.0" - jest-mock "^26.2.0" - jest-regex-util "^26.0.0" - jest-resolve "^26.2.2" - jest-snapshot "^26.2.2" - jest-util "^26.2.0" - jest-validate "^26.2.0" - slash "^3.0.0" - strip-bom "^4.0.0" - yargs "^15.3.1" - -jest-serializer@^26.2.0: - version "26.2.0" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.2.0.tgz#92dcae5666322410f4bf50211dd749274959ddac" - integrity sha512-V7snZI9IVmyJEu0Qy0inmuXgnMWDtrsbV2p9CRAcmlmPVwpC2ZM8wXyYpiugDQnwLHx0V4+Pnog9Exb3UO8M6Q== - dependencies: - "@types/node" "*" - graceful-fs "^4.2.4" - -jest-snapshot@^26.2.2: - version "26.2.2" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.2.2.tgz#9d2eda083a4a1017b157e351868749bd63211799" - integrity sha512-NdjD8aJS7ePu268Wy/n/aR1TUisG0BOY+QOW4f6h46UHEKOgYmmkvJhh2BqdVZQ0BHSxTMt04WpCf9njzx8KtA== - dependencies: - "@babel/types" "^7.0.0" - "@jest/types" "^26.2.0" - "@types/prettier" "^2.0.0" - chalk "^4.0.0" - expect "^26.2.0" - graceful-fs "^4.2.4" - jest-diff "^26.2.0" - jest-get-type "^26.0.0" - jest-haste-map "^26.2.2" - jest-matcher-utils "^26.2.0" - jest-message-util "^26.2.0" - jest-resolve "^26.2.2" - natural-compare "^1.4.0" - pretty-format "^26.2.0" - semver "^7.3.2" - -jest-util@26.x, jest-util@^26.2.0: - version "26.2.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.2.0.tgz#0597d2a27c559340957609f106c408c17c1d88ac" - integrity sha512-YmDwJxLZ1kFxpxPfhSJ0rIkiZOM0PQbRcfH0TzJOhqCisCAsI1WcmoQqO83My9xeVA2k4n+rzg2UuexVKzPpig== - dependencies: - "@jest/types" "^26.2.0" - "@types/node" "*" - chalk "^4.0.0" - graceful-fs "^4.2.4" - is-ci "^2.0.0" - micromatch "^4.0.2" - -jest-validate@^26.2.0: - version "26.2.0" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.2.0.tgz#97fedf3e7984b7608854cbf925b9ca6ebcbdb78a" - integrity sha512-8XKn3hM6VIVmLNuyzYLCPsRCT83o8jMZYhbieh4dAyKLc4Ypr36rVKC+c8WMpWkfHHpGnEkvWUjjIAyobEIY/Q== - dependencies: - "@jest/types" "^26.2.0" - camelcase "^6.0.0" - chalk "^4.0.0" - jest-get-type "^26.0.0" - leven "^3.1.0" - pretty-format "^26.2.0" - -jest-watcher@^26.2.0: - version "26.2.0" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.2.0.tgz#45bdf2fecadd19c0a501f3b071a474dca636825b" - integrity sha512-674Boco4Joe0CzgKPL6K4Z9LgyLx+ZvW2GilbpYb8rFEUkmDGgsZdv1Hv5rxsRpb1HLgKUOL/JfbttRCuFdZXQ== - dependencies: - "@jest/test-result" "^26.2.0" - "@jest/types" "^26.2.0" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - jest-util "^26.2.0" - string-length "^4.0.1" - -jest-worker@^26.2.1: - version "26.2.1" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.2.1.tgz#5d630ab93f666b53f911615bc13e662b382bd513" - integrity sha512-+XcGMMJDTeEGncRb5M5Zq9P7K4sQ1sirhjdOxsN1462h6lFo9w59bl2LVQmdGEEeU3m+maZCkS2Tcc9SfCHO4A== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^7.0.0" - -jest@^26.1.0: - version "26.2.2" - resolved "https://registry.yarnpkg.com/jest/-/jest-26.2.2.tgz#a022303887b145147204c5f66e6a5c832333c7e7" - integrity sha512-EkJNyHiAG1+A8pqSz7cXttoVa34hOEzN/MrnJhYnfp5VHxflVcf2pu3oJSrhiy6LfIutLdWo+n6q63tjcoIeig== - dependencies: - "@jest/core" "^26.2.2" - import-local "^3.0.2" - jest-cli "^26.2.2" - -jmespath@0.15.0: - version "0.15.0" - resolved "https://registry.yarnpkg.com/jmespath/-/jmespath-0.15.0.tgz#a3f222a9aae9f966f5d27c796510e28091764217" - integrity sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc= - -"js-tokens@^3.0.0 || ^4.0.0", 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.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" - integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= - -jsdom@^16.2.2: - version "16.4.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.4.0.tgz#36005bde2d136f73eee1a830c6d45e55408edddb" - integrity sha512-lYMm3wYdgPhrl7pDcRmvzPhhrGVBeVhPIqeHjzeiHN3DFmD1RBpbExbi8vU7BJdH8VAZYovR8DMt0PNNDM7k8w== - dependencies: - abab "^2.0.3" - acorn "^7.1.1" - acorn-globals "^6.0.0" - cssom "^0.4.4" - cssstyle "^2.2.0" - data-urls "^2.0.0" - decimal.js "^10.2.0" - domexception "^2.0.1" - escodegen "^1.14.1" - html-encoding-sniffer "^2.0.1" - is-potential-custom-element-name "^1.0.0" - nwsapi "^2.2.0" - parse5 "5.1.1" - request "^2.88.2" - request-promise-native "^1.0.8" - saxes "^5.0.0" - symbol-tree "^3.2.4" - tough-cookie "^3.0.1" - 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.0.0" - ws "^7.2.3" - xml-name-validator "^3.0.0" - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= - -json-diff@^0.5.4: - version "0.5.4" - resolved "https://registry.yarnpkg.com/json-diff/-/json-diff-0.5.4.tgz#7bc8198c441756632aab66c7d9189d365a7a035a" - integrity sha512-q5Xmx9QXNOzOzIlMoYtLrLiu4Jl/Ce2bn0CNcv54PhyH89CI4GWlGVDye8ei2Ijt9R3U+vsWPsXpLUNob8bs8Q== - dependencies: - cli-color "~0.1.6" - difflib "~0.2.1" - dreamopt "~0.6.0" - -json-parse-better-errors@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" - integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== - -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.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= - -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 sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= - -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 sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= - -json5@2.x, json5@^2.1.2: - version "2.1.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43" - integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA== - dependencies: - minimist "^1.2.5" - -jsonfile@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" - integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= - optionalDependencies: - graceful-fs "^4.1.6" - -jsonfile@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.0.1.tgz#98966cba214378c8c84b82e085907b40bf614179" - integrity sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg== - dependencies: - universalify "^1.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -jsonschema@^1.2.5: - version "1.2.6" - resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.2.6.tgz#52b0a8e9dc06bbae7295249d03e4b9faee8a0c0b" - integrity sha512-SqhURKZG07JyKKeo/ir24QnS4/BV7a6gQy93bUSe4lUdNp0QNpIz2c9elWJQ9dpc5cQYY6cvCzgRwy0MQCLyqA== - -jsonschema@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.4.0.tgz#1afa34c4bc22190d8e42271ec17ac8b3404f87b2" - integrity sha512-/YgW6pRMr6M7C+4o8kS+B/2myEpHCrxO4PEWnqJNBFMjn7EWXqlQ4tGwL6xTHeRplwuZmcAncdvfOad1nT2yMw== - -jsprim@^1.2.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" - integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.2.3" - verror "1.10.0" - -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -kind-of@^6.0.0, kind-of@^6.0.2: - version "6.0.3" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - -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== - -lazystream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4" - integrity sha1-9plf4PggOS9hOWvolGJAe7dxaOQ= - dependencies: - readable-stream "^2.0.5" - -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== - -levenary@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/levenary/-/levenary-1.1.1.tgz#842a9ee98d2075aa7faeedbe32679e9205f46f77" - integrity sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ== - dependencies: - leven "^3.1.0" - -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" - -levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -lines-and-columns@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" - integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= - -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" - -lodash.defaults@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c" - integrity sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw= - -lodash.difference@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.difference/-/lodash.difference-4.5.0.tgz#9ccb4e505d486b91651345772885a2df27fd017c" - integrity sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw= - -lodash.flatten@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" - integrity sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8= - -lodash.isplainobject@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" - integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs= - -lodash.memoize@4.x: - version "4.1.2" - resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" - integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= - -lodash.sortby@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" - integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= - -lodash.union@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.union/-/lodash.union-4.6.0.tgz#48bb5088409f16f1821666641c44dd1aaae3cd88" - integrity sha1-SLtQiECfFvGCFmZkHETdGqrjzYg= - -lodash@^4.17.14, lodash@^4.17.19: - version "4.17.19" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b" - integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ== - -lodash@^4.17.15, lodash@^4.17.20: - version "4.17.20" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" - integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== - -loose-envify@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - -make-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" - integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== - dependencies: - pify "^4.0.1" - semver "^5.6.0" - -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: - 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.x: - version "1.0.11" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" - integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= - dependencies: - tmpl "1.0.x" - -map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= - dependencies: - object-visit "^1.0.0" - -md5@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/md5/-/md5-2.3.0.tgz#c3da9a6aae3a30b46b7b0c349b87b110dc3bda4f" - integrity sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g== - dependencies: - charenc "0.0.2" - crypt "0.0.2" - is-buffer "~1.1.6" - -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== - -micromatch@^3.1.10, micromatch@^3.1.4: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - -micromatch@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" - integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== - dependencies: - braces "^3.0.1" - picomatch "^2.0.5" - -mime-db@1.44.0: - version "1.44.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92" - integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg== - -mime-types@^2.1.12, mime-types@~2.1.19: - version "2.1.27" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f" - integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w== - dependencies: - mime-db "1.44.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== - -minimatch@>=3.0, minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== - -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" - integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - -mkdirp@1.x: - version "1.0.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - -mkdirp@^0.5.1: - version "0.5.5" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" - integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== - dependencies: - minimist "^1.2.5" - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - -ms@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -mute-stream@~0.0.4: - version "0.0.8" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" - integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== - -nan@^2.12.1: - version "2.14.1" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01" - integrity sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw== - -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= - -netmask@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/netmask/-/netmask-1.0.6.tgz#20297e89d86f6f6400f250d9f4f6b4c1945fcd35" - integrity sha1-ICl+idhvb2QA8lDZ9Pa0wZRfzTU= - -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= - -node-modules-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" - integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= - -node-notifier@^7.0.0: - version "7.0.2" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-7.0.2.tgz#3a70b1b70aca5e919d0b1b022530697466d9c675" - integrity sha512-ux+n4hPVETuTL8+daJXTOC6uKLgMsl1RYfFv7DKRzyvzBapqco0rZZ9g72ZN8VS6V+gvNYHYa/ofcCY8fkJWsA== - dependencies: - growly "^1.3.0" - is-wsl "^2.2.0" - semver "^7.3.2" - shellwords "^0.1.1" - uuid "^8.2.0" - which "^2.0.2" - -node-releases@^1.1.60: - version "1.1.60" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.60.tgz#6948bdfce8286f0b5d0e5a88e8384e954dfe7084" - integrity sha512-gsO4vjEdQaTusZAEebUWp2a5d7dF5DYoIpDG7WySnk7BuZDW+GPpHXoXXuYawRBr/9t5q54tirPz79kFIWg4dA== - -normalize-package-data@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" - 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@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= - dependencies: - remove-trailing-separator "^1.0.1" - -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-run-path@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" - integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= - dependencies: - path-key "^2.0.0" - -npm-run-path@^4.0.0: - 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" - -nwsapi@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" - integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== - -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-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-keys@^1.0.11, object-keys@^1.0.12: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= - dependencies: - isobject "^3.0.0" - -object.assign@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" - integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== - dependencies: - define-properties "^1.1.2" - function-bind "^1.1.1" - has-symbols "^1.0.0" - object-keys "^1.0.11" - -object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= - dependencies: - isobject "^3.0.1" - -once@^1.3.0, once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -onetime@^5.1.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.1.tgz#5c8016847b0d67fcedb7eef254751cfcdc7e9418" - integrity sha512-ZpZpjcJeugQfWsfyQlshVoowIIQ1qBGSVll4rfDq6JJVO//fesjoX808hXWfBjY+ROZgpKDI5TRSRBSoJiZ8eg== - dependencies: - mimic-fn "^2.1.0" - -optionator@^0.8.1: - version "0.8.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" - integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== - 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" - -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" - -p-each-series@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.1.0.tgz#961c8dd3f195ea96c747e636b262b800a6b1af48" - integrity sha512-ZuRs1miPT4HrjFa+9fRfOFXxGJfORgelKV9f9nNOWw2gl6gVsRaVDOQP0+MI0G0wGKns1Yacsu0GjOFbTK0JFQ== - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= - -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-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-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== - -pac-proxy-agent@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/pac-proxy-agent/-/pac-proxy-agent-3.0.1.tgz#115b1e58f92576cac2eba718593ca7b0e37de2ad" - integrity sha512-44DUg21G/liUZ48dJpUSjZnFfZro/0K5JTyFYLBcmh9+T6Ooi4/i4efwUiEy0+4oQusCBqWdhv16XohIj1GqnQ== - dependencies: - agent-base "^4.2.0" - debug "^4.1.1" - get-uri "^2.0.0" - http-proxy-agent "^2.1.0" - https-proxy-agent "^3.0.0" - pac-resolver "^3.0.0" - raw-body "^2.2.0" - socks-proxy-agent "^4.0.1" - -pac-proxy-agent@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/pac-proxy-agent/-/pac-proxy-agent-4.1.0.tgz#66883eeabadc915fc5e95457324cb0f0ac78defb" - integrity sha512-ejNgYm2HTXSIYX9eFlkvqFp8hyJ374uDf0Zq5YUAifiSh1D6fo+iBivQZirGvVv8dCYUsLhmLBRhlAYvBKI5+Q== - dependencies: - "@tootallnate/once" "1" - agent-base "6" - debug "4" - get-uri "3" - http-proxy-agent "^4.0.1" - https-proxy-agent "5" - pac-resolver "^4.1.0" - raw-body "^2.2.0" - socks-proxy-agent "5" - -pac-resolver@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pac-resolver/-/pac-resolver-3.0.0.tgz#6aea30787db0a891704deb7800a722a7615a6f26" - integrity sha512-tcc38bsjuE3XZ5+4vP96OfhOugrX+JcnpUbhfuc4LuXBLQhoTthOstZeoQJBDnQUDYzYmdImKsbz0xSl1/9qeA== - dependencies: - co "^4.6.0" - degenerator "^1.0.4" - ip "^1.1.5" - netmask "^1.0.6" - thunkify "^2.1.2" - -pac-resolver@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/pac-resolver/-/pac-resolver-4.1.0.tgz#4b12e7d096b255a3b84e53f6831f32e9c7e5fe95" - integrity sha512-d6lf2IrZJJ7ooVHr7BfwSjRO1yKSJMaiiWYSHcrxSIUtZrCa4KKGwcztdkZ/E9LFleJfjoi1yl+XLR7AX24nbQ== - dependencies: - degenerator "^2.2.0" - ip "^1.1.5" - netmask "^1.0.6" - -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.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.0.1.tgz#7cfe35c1ccd641bce3981467e6c2ece61b3b3878" - integrity sha512-ztoZ4/DYeXQq4E21v169sC8qWINGpcosGv9XhTDvg9/hWvx/zrFkc9BiWxR58OJLHGk28j5BL0SDLeV2WmFZlQ== - dependencies: - "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-better-errors "^1.0.1" - lines-and-columns "^1.1.6" - -parse5@5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" - integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= - -path-dirname@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" - integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= - -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 sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -path-key@^2.0.0, path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= - -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-parse@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" - integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= - -picomatch@^2.0.4, picomatch@^2.0.5: - version "2.2.2" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" - integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== - -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= - -pify@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" - integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== - -pirates@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" - integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== - dependencies: - node-modules-regexp "^1.0.0" - -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" - -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= - -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== - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= - -pretty-format@^25.2.1, pretty-format@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-25.5.0.tgz#7873c1d774f682c34b8d48b6743a2bf2ac55791a" - integrity sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ== - dependencies: - "@jest/types" "^25.5.0" - ansi-regex "^5.0.0" - ansi-styles "^4.0.0" - react-is "^16.12.0" - -pretty-format@^26.2.0: - version "26.2.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.2.0.tgz#83ecc8d7de676ff224225055e72bd64821cec4f1" - integrity sha512-qi/8IuBu2clY9G7qCXgCdD1Bf9w+sXakdHTRToknzMtVy0g7c4MBWaZy7MfB7ndKZovRO6XRwJiAYqq+MC7SDA== - dependencies: - "@jest/types" "^26.2.0" - ansi-regex "^5.0.0" - ansi-styles "^4.0.0" - react-is "^16.12.0" - -printj@~1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/printj/-/printj-1.1.2.tgz#d90deb2975a8b9f600fb3a1c94e3f4c53c78a222" - integrity sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ== - -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== - -progress@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - -promptly@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/promptly/-/promptly-3.0.3.tgz#e178f722e73d82c60d019462044bccfdd9872f42" - integrity sha512-EWnzOsxVKUjqKeE6SStH1/cO4+DE44QolaoJ4ojGd9z6pcNkpgfJKr1ncwxrOFHSTIzoudo7jG8y0re30/LO1g== - dependencies: - pify "^3.0.0" - read "^1.0.4" - -promptly@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/promptly/-/promptly-3.2.0.tgz#a5517fbbf59bd31c1751d4e1d9bef1714f42b9d8" - integrity sha512-WnR9obtgW+rG4oUV3hSnNGl1pHm3V1H/qD9iJBumGSmVsSC5HpZOLuu8qdMb6yCItGfT7dcRszejr/5P3i9Pug== - dependencies: - read "^1.0.4" - -prompts@^2.0.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.3.2.tgz#480572d89ecf39566d2bd3fe2c9fccb7c4c0b068" - integrity sha512-Q06uKs2CkNYVID0VqwfAl9mipo99zkBv/n2JtWY89Yxa3ZabWSrs0e2KTudKVa3peLUvYXMefDqIleLPVUBZMA== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.4" - -proxy-agent@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/proxy-agent/-/proxy-agent-3.1.1.tgz#7e04e06bf36afa624a1540be247b47c970bd3014" - integrity sha512-WudaR0eTsDx33O3EJE16PjBRZWcX8GqCEeERw1W3hZJgH/F2a46g7jty6UGty6NeJ4CKQy8ds2CJPMiyeqaTvw== - dependencies: - agent-base "^4.2.0" - debug "4" - http-proxy-agent "^2.1.0" - https-proxy-agent "^3.0.0" - lru-cache "^5.1.1" - pac-proxy-agent "^3.0.1" - proxy-from-env "^1.0.0" - socks-proxy-agent "^4.0.1" - -proxy-agent@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/proxy-agent/-/proxy-agent-4.0.0.tgz#a92976af3fbc7d846f2e850e2ac5ac6ca3fb74c7" - integrity sha512-8P0Y2SkwvKjiGU1IkEfYuTteioMIDFxPL4/j49zzt5Mz3pG1KO+mIrDG1qH0PQUHTTczjwGcYl+EzfXiFj5vUQ== - dependencies: - agent-base "^6.0.0" - debug "4" - http-proxy-agent "^4.0.0" - https-proxy-agent "^5.0.0" - lru-cache "^5.1.1" - pac-proxy-agent "^4.1.0" - proxy-from-env "^1.0.0" - socks-proxy-agent "^5.0.0" - -proxy-from-env@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" - integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== - -psl@^1.1.28: - version "1.8.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" - integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -punycode@1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" - integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= - -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.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" - integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== - -querystring@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" - integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= - -raw-body@^2.2.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.1.tgz#30ac82f98bb5ae8c152e67149dac8d55153b168c" - integrity sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA== - dependencies: - bytes "3.1.0" - http-errors "1.7.3" - iconv-lite "0.4.24" - unpipe "1.0.0" - -react-is@^16.12.0: - version "16.13.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" - integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== - -read-pkg-up@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" - integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== - dependencies: - find-up "^4.1.0" - read-pkg "^5.2.0" - type-fest "^0.8.1" - -read-pkg@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" - integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== - dependencies: - "@types/normalize-package-data" "^2.4.0" - normalize-package-data "^2.5.0" - parse-json "^5.0.0" - type-fest "^0.6.0" - -read@^1.0.4: - version "1.0.7" - resolved "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4" - integrity sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ= - dependencies: - mute-stream "~0.0.4" - -readable-stream@1.1.x: - version "1.1.14" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" - integrity sha1-fPTFTvZI44EwhMY23SB54WbAgdk= - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - -readable-stream@2, readable-stream@^2.0.0, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.3.7: - 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" - -readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" - integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readdir-glob@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/readdir-glob/-/readdir-glob-1.1.1.tgz#f0e10bb7bf7bfa7e0add8baffdc54c3f7dbee6c4" - integrity sha512-91/k1EzZwDx6HbERR+zucygRFfiPl2zkIYZtv3Jjr6Mn7SkKcVct8aVO+sSRiGMc6fLf72du3d92/uY63YPdEA== - dependencies: - minimatch "^3.0.4" - -readdirp@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" - integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== - dependencies: - graceful-fs "^4.1.11" - micromatch "^3.1.10" - readable-stream "^2.0.2" - -regenerate-unicode-properties@^8.2.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec" - integrity sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA== - dependencies: - regenerate "^1.4.0" - -regenerate@^1.4.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.1.tgz#cad92ad8e6b591773485fbe05a485caf4f457e6f" - integrity sha512-j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A== - -regenerator-runtime@^0.13.4: - version "0.13.7" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55" - integrity sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew== - -regenerator-transform@^0.14.2: - version "0.14.5" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4" - integrity sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw== - dependencies: - "@babel/runtime" "^7.8.4" - -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - -regexpp@^3.0.0, regexpp@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" - integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q== - -regexpu-core@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.0.tgz#fcbf458c50431b0bb7b45d6967b8192d91f3d938" - integrity sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ== - dependencies: - regenerate "^1.4.0" - regenerate-unicode-properties "^8.2.0" - regjsgen "^0.5.1" - regjsparser "^0.6.4" - unicode-match-property-ecmascript "^1.0.4" - unicode-match-property-value-ecmascript "^1.2.0" - -regjsgen@^0.5.1: - version "0.5.2" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733" - integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A== - -regjsparser@^0.6.4: - version "0.6.4" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.4.tgz#a769f8684308401a66e9b529d2436ff4d0666272" - integrity sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw== - dependencies: - jsesc "~0.5.0" - -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= - -repeat-element@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" - integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== - -repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= - -request-promise-core@1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" - integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw== - dependencies: - lodash "^4.17.19" - -request-promise-native@^1.0.8: - version "1.0.9" - resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" - integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g== - dependencies: - request-promise-core "1.1.4" - stealthy-require "^1.1.1" - tough-cookie "^2.3.3" - -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" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= - -require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" - integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== - -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-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= - -resolve@^1.10.0, resolve@^1.17.0, resolve@^1.3.2: - version "1.17.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" - integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== - dependencies: - path-parse "^1.0.6" - -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== - -rimraf@2.6.3: - version "2.6.3" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" - integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== - dependencies: - glob "^7.1.3" - -rimraf@^3.0.0: - 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" - -rsvp@^4.8.4: - version "4.8.5" - resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" - integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== - -safe-buffer@^5.0.1, safe-buffer@^5.1.2, 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== - -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== - -safe-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= - dependencies: - ret "~0.1.10" - -"safer-buffer@>= 2.1.2 < 3", 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== - -sane@^4.0.3: - version "4.1.0" - resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" - integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== - dependencies: - "@cnakazawa/watch" "^1.0.3" - anymatch "^2.0.0" - capture-exit "^2.0.0" - exec-sh "^0.3.2" - execa "^1.0.0" - fb-watchman "^2.0.0" - micromatch "^3.1.4" - minimist "^1.1.1" - walker "~1.0.5" - -sax@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a" - integrity sha1-e45lYZCyKOgaZq6nSEgNgozS03o= - -sax@>=0.6.0: - version "1.2.4" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" - integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== - -saxes@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" - integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== - dependencies: - xmlchars "^2.2.0" - -"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.6.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -semver@7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" - integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== - -semver@7.x, semver@^7.2.1, semver@^7.2.2, semver@^7.3.2: - version "7.3.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" - integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== - -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== - -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= - -set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" - integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -setprototypeof@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" - integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= - 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 sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= - -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== - -shellwords@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" - integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== - -signal-exit@^3.0.0, signal-exit@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" - integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== - -sisteransi@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" - integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== - -slash@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" - integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== - -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@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" - integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== - dependencies: - ansi-styles "^3.2.0" - astral-regex "^1.0.0" - is-fullwidth-code-point "^2.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" - -smart-buffer@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.1.0.tgz#91605c25d91652f4661ea69ccf45f1b331ca21ba" - integrity sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw== - -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - -socks-proxy-agent@5, socks-proxy-agent@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-5.0.0.tgz#7c0f364e7b1cf4a7a437e71253bed72e9004be60" - integrity sha512-lEpa1zsWCChxiynk+lCycKuC502RxDWLKJZoIhnxrWNjLSDGYRFflHA1/228VkRcnv9TIb8w98derGbpKxJRgA== - dependencies: - agent-base "6" - debug "4" - socks "^2.3.3" - -socks-proxy-agent@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-4.0.2.tgz#3c8991f3145b2799e70e11bd5fbc8b1963116386" - integrity sha512-NT6syHhI9LmuEMSK6Kd2V7gNv5KFZoLE7V5udWmn0de+3Mkj3UMA/AJPLyeNUVmElCurSHtUdM3ETpR3z770Wg== - dependencies: - agent-base "~4.2.1" - socks "~2.3.2" - -socks@^2.3.3: - version "2.5.0" - resolved "https://registry.yarnpkg.com/socks/-/socks-2.5.0.tgz#3a7c286db114f67864a4bd8b4207a91d1db3d6db" - integrity sha512-00OqQHp5SCbwm9ecOMJj9aQtMSjwi1uVuGQoxnpKCS50VKZcOZ8z11CTKypmR8sEy7nZimy/qXY7rYJYbRlXmA== - dependencies: - ip "^1.1.5" - smart-buffer "^4.1.0" - -socks@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/socks/-/socks-2.3.3.tgz#01129f0a5d534d2b897712ed8aceab7ee65d78e3" - integrity sha512-o5t52PCNtVdiOvzMry7wU4aOqYWL0PeCXRWBEiJow4/i/wr+wpsJQ9awEu1EonLIqsfGd5qSgDdxEOvCdmBEpA== - dependencies: - ip "1.1.5" - smart-buffer "^4.1.0" - -source-map-resolve@^0.5.0: - version "0.5.3" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" - integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== - dependencies: - atob "^2.1.2" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - -source-map-support@^0.5.19, source-map-support@^0.5.6: - version "0.5.19" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" - integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-url@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" - integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= - -source-map@^0.5.0, source-map@^0.5.6: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - -source-map@^0.6.0, source-map@^0.6.1, 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== - -source-map@^0.7.3: - version "0.7.3" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" - integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== - -spdx-correct@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" - 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.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== - -spdx-expression-parse@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" - 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.5" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654" - integrity sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q== - -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== - dependencies: - extend-shallow "^3.0.0" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - -sshpk@^1.7.0: - version "1.16.1" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" - 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" - -sst-cdk@1.61.0-rc.25: - version "1.61.0-rc.25" - resolved "https://registry.yarnpkg.com/sst-cdk/-/sst-cdk-1.61.0-rc.25.tgz#f9066a46ebec56f32165890eba99eaf558cf61d8" - integrity sha512-Vc9pRpTIV0xUBZHK6Qj3Xrb/LCPiXw2nVJaWZPiSiUc2mi566KsxpmWFvjqrYXKFesRSwUoIVgfEwop12CiLzw== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.61.0" - "@aws-cdk/cloudformation-diff" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - "@aws-cdk/region-info" "1.61.0" - archiver "^4.0.2" - aws-sdk "^2.739.0" - camelcase "^6.0.0" - cdk-assets "1.61.0" - colors "^1.4.0" - decamelize "^4.0.0" - fs-extra "^9.0.1" - glob "^7.1.6" - json-diff "^0.5.4" - minimatch ">=3.0" - promptly "^3.0.3" - proxy-agent "^3.1.1" - semver "^7.2.2" - source-map-support "^0.5.19" - table "^5.4.6" - uuid "^8.3.0" - wrap-ansi "^7.0.0" - yaml "^1.10.0" - yargs "^15.4.1" - -stack-utils@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.2.tgz#5cf48b4557becb4638d0bc4f21d23f5d19586593" - integrity sha512-0H7QK2ECz3fyZMzQ8rH0j2ykpfbnd20BFtfg/SqVC2+sCTtcw0aDTGB7dk+de4U4uUeuz6nOtJcrkFFLG1B0Rg== - dependencies: - escape-string-regexp "^2.0.0" - -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - -"statuses@>= 1.5.0 < 2": - version "1.5.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" - integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= - -stealthy-require@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" - integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= - -string-length@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.1.tgz#4a973bf31ef77c4edbceadd6af2611996985f8a1" - integrity sha512-PKyXUd0LK0ePjSOnWn34V2uD6acUWev9uy0Ft05k0E8xRW+SKcA0F7eMr7h5xlzfn+4O3N+55rduYyet3Jk+jw== - dependencies: - char-regex "^1.0.2" - strip-ansi "^6.0.0" - -string-width@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" - integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== - dependencies: - emoji-regex "^7.0.1" - is-fullwidth-code-point "^2.0.0" - strip-ansi "^5.1.0" - -string-width@^4.1.0, string-width@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" - integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.0" - -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~0.10.x: - version "0.10.31" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" - integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= - -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@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" - integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== - dependencies: - ansi-regex "^4.1.0" - -strip-ansi@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" - integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== - dependencies: - ansi-regex "^5.0.0" - -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-eof@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" - integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= - -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-json-comments@^3.1.0: - 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.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" - integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g== - dependencies: - has-flag "^4.0.0" - -supports-hyperlinks@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz#f663df252af5f37c5d49bbd7eeefa9e0b9e59e47" - integrity sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA== - dependencies: - has-flag "^4.0.0" - supports-color "^7.0.0" - -symbol-tree@^3.2.4: - version "3.2.4" - resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" - integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== - -table@^5.2.3, table@^5.4.6: - version "5.4.6" - resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" - integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug== - dependencies: - ajv "^6.10.2" - lodash "^4.17.14" - slice-ansi "^2.1.0" - string-width "^3.0.0" - -table@^6.0.3: - version "6.0.4" - resolved "https://registry.yarnpkg.com/table/-/table-6.0.4.tgz#c523dd182177e926c723eb20e1b341238188aa0d" - integrity sha512-sBT4xRLdALd+NFBvwOz8bw4b15htyythha+q+DVZqy2RS08PPC8O2sZFgJYEY7bJvbCFKccs+WIZ/cd+xxTWCw== - dependencies: - ajv "^6.12.4" - lodash "^4.17.20" - slice-ansi "^4.0.0" - string-width "^4.2.0" - -tar-stream@^2.1.2: - version "2.1.3" - resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.1.3.tgz#1e2022559221b7866161660f118255e20fa79e41" - integrity sha512-Z9yri56Dih8IaK8gncVPx4Wqt86NDmQTSh49XLZgjWpGZL9GK9HKParS2scqHCC4w6X9Gh2jwaU45V47XTKwVA== - dependencies: - bl "^4.0.1" - end-of-stream "^1.4.1" - fs-constants "^1.0.0" - inherits "^2.0.3" - readable-stream "^3.1.1" - -tar-stream@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.1.4.tgz#c4fb1a11eb0da29b893a5b25476397ba2d053bfa" - integrity sha512-o3pS2zlG4gxr67GmFYBLlq+dM8gyRGUOvsrHclSkvtVtQbjV0s/+ZE8OpICbaj8clrX3tjeHngYGP7rweaBnuw== - dependencies: - bl "^4.0.3" - end-of-stream "^1.4.1" - fs-constants "^1.0.0" - inherits "^2.0.3" - readable-stream "^3.1.1" - -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 sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= - -throat@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" - integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== - -thunkify@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/thunkify/-/thunkify-2.1.2.tgz#faa0e9d230c51acc95ca13a361ac05ca7e04553d" - integrity sha1-+qDp0jDFGsyVyhOjYawFyn4EVT0= - -tmpl@1.0.x: - version "1.0.4" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" - integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE= - -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 sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= - -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= - dependencies: - kind-of "^3.0.2" - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - -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" - -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - -toidentifier@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" - integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== - -tough-cookie@^2.3.3, 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" - -tough-cookie@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-3.0.1.tgz#9df4f57e739c26930a018184887f4adb7dca73b2" - integrity sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg== - dependencies: - ip-regex "^2.1.0" - psl "^1.1.28" - punycode "^2.1.1" - -tr46@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.0.2.tgz#03273586def1595ae08fedb38d7733cee91d2479" - integrity sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg== - dependencies: - punycode "^2.1.1" - -ts-jest@^26.1.4: - version "26.1.4" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-26.1.4.tgz#87d41a96016a8efe4b8cc14501d3785459af6fa6" - integrity sha512-Nd7diUX6NZWfWq6FYyvcIPR/c7GbEF75fH1R6coOp3fbNzbRJBZZAn0ueVS0r8r9ral1VcrpneAFAwB3TsVS1Q== - dependencies: - bs-logger "0.x" - buffer-from "1.x" - fast-json-stable-stringify "2.x" - jest-util "26.x" - json5 "2.x" - lodash.memoize "4.x" - make-error "1.x" - mkdirp "1.x" - semver "7.x" - yargs-parser "18.x" - -tslib@^1.8.1: - version "1.13.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" - integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q== - -tslib@^2.0.1: - version "2.0.3" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.3.tgz#8e0741ac45fc0c226e58a17bfc3e64b9bc6ca61c" - integrity sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ== - -tsutils@^3.17.1: - version "3.17.1" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759" - integrity sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g== - 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 sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= - 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 sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= - -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-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= - dependencies: - prelude-ls "~1.1.2" - -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.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" - integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== - -type-fest@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" - integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== - -type-fest@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" - integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== - -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== - dependencies: - is-typedarray "^1.0.0" - -typescript@^3.9.7: - version "3.9.7" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.7.tgz#98d600a5ebdc38f40cb277522f12dc800e9e25fa" - integrity sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw== - -unicode-canonical-property-names-ecmascript@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" - integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ== - -unicode-match-property-ecmascript@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" - integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg== - dependencies: - unicode-canonical-property-names-ecmascript "^1.0.4" - unicode-property-aliases-ecmascript "^1.0.4" - -unicode-match-property-value-ecmascript@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz#0d91f600eeeb3096aa962b1d6fc88876e64ea531" - integrity sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ== - -unicode-property-aliases-ecmascript@^1.0.4: - version "1.1.0" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4" - integrity sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg== - -union-value@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" - integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" - -universalify@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== - -universalify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d" - integrity sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug== - -unpipe@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= - -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= - dependencies: - has-value "^0.3.1" - isobject "^3.0.0" - -upath@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" - integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== - -uri-js@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" - integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== - dependencies: - punycode "^2.1.0" - -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= - -url@0.10.3: - version "0.10.3" - resolved "https://registry.yarnpkg.com/url/-/url-0.10.3.tgz#021e4d9c7705f21bbf37d03ceb58767402774c64" - integrity sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ= - dependencies: - punycode "1.3.2" - querystring "0.2.0" - -use@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== - -util-deprecate@^1.0.1, util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= - -uuid@3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" - integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== - -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.2.0, uuid@^8.3.0: - version "8.3.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.0.tgz#ab738085ca22dc9a8c92725e459b1d507df5d6ea" - integrity sha512-fX6Z5o4m6XsXBdli9g7DtWgAx+osMsRRZFKma1mIUsLCz6vRvv+pz5VNbyu9UEDzpMWulZfvpgb/cmDXVulYFQ== - -uuid@^8.3.1: - version "8.3.1" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.1.tgz#2ba2e6ca000da60fce5a196954ab241131e05a31" - integrity sha512-FOmRr+FmWEIG8uhZv6C2bTgEVXsHk08kE7mPlrBbEe+c3r9pjceVPgupIfNIhc4yx55H69OXANrUaSuu9eInKg== - -v8-compile-cache@^2.0.3: - version "2.1.1" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz#54bc3cdd43317bca91e35dcaf305b1a7237de745" - integrity sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ== - -v8-to-istanbul@^4.1.3: - version "4.1.4" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz#b97936f21c0e2d9996d4985e5c5156e9d4e49cd6" - integrity sha512-Rw6vJHj1mbdK8edjR7+zuJrpDtKIgNdAvTSAcpYfgMIw+u2dPDntD3dgN4XQFLU2/fvFQdzj+EeSGfd/jnY5fQ== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^1.6.0" - source-map "^0.7.3" - -validate-npm-package-license@^3.0.1: - version "3.0.4" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" - integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== - dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" - -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -w3c-hr-time@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" - integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== - dependencies: - browser-process-hrtime "^1.0.0" - -w3c-xmlserializer@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" - integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== - dependencies: - xml-name-validator "^3.0.0" - -walker@^1.0.7, walker@~1.0.5: - version "1.0.7" - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" - integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= - dependencies: - makeerror "1.0.x" - -webidl-conversions@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" - integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== - -webidl-conversions@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" - integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== - -whatwg-encoding@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" - integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== - dependencies: - iconv-lite "0.4.24" - -whatwg-mimetype@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" - integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== - -whatwg-url@^8.0.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.1.0.tgz#c628acdcf45b82274ce7281ee31dd3c839791771" - integrity sha512-vEIkwNi9Hqt4TV9RdnaBPNt+E2Sgmo3gePebCRgZ1R7g6d23+53zCTnuB0amKI4AXq6VM8jj2DUAa0S1vjJxkw== - dependencies: - lodash.sortby "^4.7.0" - tr46 "^2.0.2" - webidl-conversions "^5.0.0" - -which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= - -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, which@^2.0.2: - 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, 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== - -wordwrap@>=0.0.2: - version "1.0.0" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" - integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= - -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 sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - -write-file-atomic@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" - integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== - dependencies: - imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" - -write@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" - integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig== - dependencies: - mkdirp "^0.5.1" - -ws@^7.2.3: - version "7.3.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.3.1.tgz#d0547bf67f7ce4f12a72dfe31262c68d7dc551c8" - integrity sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA== - -ws@^7.4.0: - version "7.4.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.0.tgz#a5dd76a24197940d4a8bb9e0e152bb4503764da7" - integrity sha512-kyFwXuV/5ymf+IXhS6f0+eAFvydbaBW3zjpT6hUdAh/hbVjTIB5EHBGi0bPoCLSK2wcuz3BrEkB9LrYv1Nm4NQ== - -xml-name-validator@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" - integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== - -xml2js@0.4.19: - version "0.4.19" - resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.19.tgz#686c20f213209e94abf0d1bcf1efaa291c7827a7" - integrity sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q== - dependencies: - sax ">=0.6.0" - xmlbuilder "~9.0.1" - -xmlbuilder@~9.0.1: - version "9.0.7" - resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d" - integrity sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0= - -xmlchars@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" - integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== - -xregexp@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-2.0.0.tgz#52a63e56ca0b84a7f3a5f3d61872f126ad7a5943" - integrity sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM= - -y18n@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" - integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== - -y18n@^5.0.5: - version "5.0.5" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.5.tgz#8769ec08d03b1ea2df2500acef561743bbb9ab18" - integrity sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg== - -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - -yaml@1.10.0, yaml@^1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" - integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg== - -yargs-parser@18.x, yargs-parser@^18.1.2: - version "18.1.3" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" - integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs-parser@^20.2.2: - version "20.2.4" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" - integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== - -yargs@^15.3.1, yargs@^15.4.1: - version "15.4.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" - integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== - dependencies: - cliui "^6.0.0" - decamelize "^1.2.0" - find-up "^4.1.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 "^4.2.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^18.1.2" - -yargs@^16.1.1: - version "16.1.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.1.1.tgz#5a4a095bd1ca806b0a50d0c03611d38034d219a1" - integrity sha512-hAD1RcFP/wfgfxgMVswPE+z3tlPFtxG8/yWUrG2i17sTWGCGqWnxKcLTF4cUKDUK8fzokwsmO9H0TDkRbMHy8w== - 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" - -zip-stream@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/zip-stream/-/zip-stream-3.0.1.tgz#cb8db9d324a76c09f9b76b31a12a48638b0b9708" - integrity sha512-r+JdDipt93ttDjsOVPU5zaq5bAyY+3H19bDrThkvuVxC0xMQzU1PJcS6D+KrP3u96gH9XLomcHPb+2skoDjulQ== - dependencies: - archiver-utils "^2.1.0" - compress-commons "^3.0.0" - readable-stream "^3.6.0" - -zip-stream@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/zip-stream/-/zip-stream-4.0.4.tgz#3a8f100b73afaa7d1ae9338d910b321dec77ff3a" - integrity sha512-a65wQ3h5gcQ/nQGWV1mSZCEzCML6EK/vyVPcrPNynySP1j3VBbQKh3nhC8CbORb+jfl2vXvh56Ul5odP1bAHqw== - dependencies: - archiver-utils "^2.1.0" - compress-commons "^4.0.2" - readable-stream "^3.6.0" diff --git a/packages/cli/test/jest/package.json b/packages/cli/test/jest/package.json index 0866d8057f..684baec95e 100644 --- a/packages/cli/test/jest/package.json +++ b/packages/cli/test/jest/package.json @@ -1,20 +1,20 @@ { "name": "jest", - "version": "1.0.0", - "description": "", - "main": "index.js", + "private": true, + "description": "tests", + "version": "0.0.1", "scripts": { - "test": "../../bin/scripts.js test" + "postinstall": "node ../helpers/copy-symlinks.js", + "test": "sst test" }, "jest": { "testPathIgnorePatterns": [ "./jest.test.js" ] }, - "keywords": [], - "author": "", "dependencies": { - "@serverless-stack/resources": "../../../resources", + "@serverless-stack/cli": "^1.0.0-alpha.5", + "@serverless-stack/resources": "^1.0.0-alpha.5", "@aws-cdk/aws-dynamodb": "1.74.0", "@aws-cdk/core": "1.74.0" }, diff --git a/packages/cli/test/jest/yarn.lock b/packages/cli/test/jest/yarn.lock deleted file mode 100644 index 8208baf489..0000000000 --- a/packages/cli/test/jest/yarn.lock +++ /dev/null @@ -1,553 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@aws-cdk/assert@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/assert/-/assert-1.74.0.tgz#82795a3bb21ede93288a60322804f6f4e2d4959e" - integrity sha512-5M3M4lcSS2dGPgVANhv5GjqC6nNBy9bL1XECAJj3lg7q+6zJ00+0wq4bB0wyvm/mE+S0axkGZ4LVHF5QA2gCfQ== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.74.0" - "@aws-cdk/cloudformation-diff" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/assets@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/assets/-/assets-1.74.0.tgz#8aea948a32afcf7c60449346a087c4b5aecff251" - integrity sha512-ZXmiJ9Qf0odTJWQPEvN+41wI1MAOK0PS5E/CTTOc9qSZufHKxpF0UPNu+8G/cMUnmKoonih8eglUCR8mmVzGrQ== - dependencies: - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-applicationautoscaling@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-applicationautoscaling/-/aws-applicationautoscaling-1.74.0.tgz#ad5e946e68bd4094c3236e983d36f67d66135dfc" - integrity sha512-QqEm+jN2zQyficWAQWIIJTN+HwonBx5lS+Ccgx8vR+lXAPW9BORtsuEd0jKzMs2LVF+eiRQcwgD1WqH99HFPXw== - dependencies: - "@aws-cdk/aws-autoscaling-common" "1.74.0" - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-autoscaling-common@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-common/-/aws-autoscaling-common-1.74.0.tgz#f6bcbb987830f299b6e2ef454944afdde9a8a82e" - integrity sha512-UHqhMxGjGe00XaZfb7+OtAbY48vU2PdjYxIiRlFqrvJ7w6ws2dW7trKRHfpmbIF6M8h3Jtys1y69UuijaIHTlg== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-cloudformation@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudformation/-/aws-cloudformation-1.74.0.tgz#04fffb02403fb52ee05ec43172b845a29a903a9e" - integrity sha512-VOyuMhoxA9vk3zSUfzqSg1YjYYgc+qyB0bpaOJIW/iinXYXhA64z5YQnTxdwd/exlFgA59chOanA7aRrNM2YIg== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-lambda" "1.74.0" - "@aws-cdk/aws-s3" "1.74.0" - "@aws-cdk/aws-sns" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-cloudwatch@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.74.0.tgz#94a29d2998a5c08412084b346d404b3a8b90f8a8" - integrity sha512-FqkU9JNM63JzdKVwmI07UJ2upDLrqByEs6kXMNOv0RxfvLIe73DNfBp8T+WxJ23G38sCLfeTsPIIG5K2XzOQGg== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-codeguruprofiler@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codeguruprofiler/-/aws-codeguruprofiler-1.74.0.tgz#d749688e9edb252ce6fc68efa4f9977f7ba02cb6" - integrity sha512-CF4NqFSPeFnqbVG23+BozGNVha2Pk7vXaLGCPZPlHmx2jwaxZHCdxK+VvtOtV3fVPr6CI97SsTq9TwiFciv+zg== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-dynamodb@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-dynamodb/-/aws-dynamodb-1.74.0.tgz#7e0ef530e9c3d7301a9db616ddf6d650f7acb76f" - integrity sha512-YU38dFYLMyMe5u2GLy8sFCFTVxwDgWZ67HzFg41kSj8WpAsVQEE5Zxh1nf0+8Ai1J4MNeLeMCaXtuliHipoQSw== - dependencies: - "@aws-cdk/aws-applicationautoscaling" "1.74.0" - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/aws-lambda" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/custom-resources" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-ec2@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ec2/-/aws-ec2-1.74.0.tgz#eae31df9045ca9374daf6b1562674e31d8053aff" - integrity sha512-TcJtdSFur8Pkhfz39nhPZH2LBiugBhSrDkAUfeEVVwDEa4kvNys7xkcwvvBouFhM6YhitjZ53j9d7d4CEBc73g== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/aws-logs" "1.74.0" - "@aws-cdk/aws-s3" "1.74.0" - "@aws-cdk/aws-s3-assets" "1.74.0" - "@aws-cdk/aws-ssm" "1.74.0" - "@aws-cdk/cloud-assembly-schema" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - "@aws-cdk/region-info" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-efs@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-efs/-/aws-efs-1.74.0.tgz#367b89f14ccd090f98227dbc975076571b31faac" - integrity sha512-ghzwm/e8qQlOM/PKgfscbVFny9qhQNrXZltxckhHdTEX3Wtx9RXpveWzEOGBoHBJHSv49gkvAwtvzTbxCss4QA== - dependencies: - "@aws-cdk/aws-ec2" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/cloud-assembly-schema" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-events@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events/-/aws-events-1.74.0.tgz#2ed5a4cdd737ce4c8950506df496d0b43ac6aa12" - integrity sha512-dmVswvSBd2jZzgPJCQell+u9bRYNg63p1e57bXmql6Rm1UJDPTbvESPXsdwwFW2WpJyXwHOOM+qe98r5CbcTUw== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-iam@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-iam/-/aws-iam-1.74.0.tgz#c255c9676fb6048ab27c00d111ed5e7d8b46877c" - integrity sha512-5Eq4e4/be2HMFZXc1sCeNjqgTyjlWgvIjbLh0Q4c01V05r7MbPdmfZRurbeEA6NohGf+zYFQrCzPnTaqvFPFHA== - dependencies: - "@aws-cdk/core" "1.74.0" - "@aws-cdk/region-info" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-kms@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kms/-/aws-kms-1.74.0.tgz#73531f7b5d2542eb5e3f7bb54604944921e34995" - integrity sha512-4cTNqzNkml3RV6uobSwq7ZtPBjwNovOxv75vzGNNRw1GO6hxqDzoPRIsgfwNvVii8tv27eR0xTK0t6WlKqoVzg== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-lambda-nodejs@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda-nodejs/-/aws-lambda-nodejs-1.74.0.tgz#aa818270e4dcd74be51d402cdb114da311b3c966" - integrity sha512-1mc8I+Yz43El8O8SjsfkABsI31tcpO5e3fAz7/40DKuFgM9jkL6vyiL55MLIckAqmE2N9mRYU0xF4RC7uRZdmQ== - dependencies: - "@aws-cdk/aws-lambda" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-lambda@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda/-/aws-lambda-1.74.0.tgz#52175fbc9e679ca5c0f4d15e0666c99fc4a953d0" - integrity sha512-Ju3/mhnli33xnO2qvJUs11djva12SHnmJPGtbx4Nz33z577/pCwLZYWa7noP8eUzAyBglfNlPG8JWH+fNHPbew== - dependencies: - "@aws-cdk/aws-applicationautoscaling" "1.74.0" - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-codeguruprofiler" "1.74.0" - "@aws-cdk/aws-ec2" "1.74.0" - "@aws-cdk/aws-efs" "1.74.0" - "@aws-cdk/aws-events" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-logs" "1.74.0" - "@aws-cdk/aws-s3" "1.74.0" - "@aws-cdk/aws-s3-assets" "1.74.0" - "@aws-cdk/aws-sqs" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-logs@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-logs/-/aws-logs-1.74.0.tgz#cd40afe70ffeb5250ecea1db0ee0a2f68fb2084a" - integrity sha512-wMpjXdJBN3S0gYO3pMjjKxSTlIs0ZUH64k6BnOxDvnltWbBJomD0/qLKMVHShOddm9MMNdD8AaYpCqZsrplZHA== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/aws-s3-assets" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-s3-assets@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.74.0.tgz#7f1988f3931e95d88a8c1357f98c47f7f9b73dee" - integrity sha512-uewjgTOr5q60UbPKHo3qgYApXxFKUIgP6eUZi7v8mhfnZUDw9H9B4rRJ7rHRZ4gYj9ZtiWq1o3hpvWnoHsR+zg== - dependencies: - "@aws-cdk/assets" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/aws-s3" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-s3@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3/-/aws-s3-1.74.0.tgz#5b53839c3af0f67bfb1e96061f6a1ea5be445fe9" - integrity sha512-xbRbI90hUvmVwGHHMr4dPWv0TXBxr/HeeaLzqLDHv36+TKA0wMR7ttRm3pbT3Kf/YjqSty788rom6lVqaAu81Q== - dependencies: - "@aws-cdk/aws-events" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-sns@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns/-/aws-sns-1.74.0.tgz#c9289b34cb2512010a0b6813f684c93398502bdd" - integrity sha512-O0HDGvl1WjCTU53auNJKCW5/6vpbVYlj0RwLgGaOOlTeKnfuq53kGvL/t3QdZQlJWxSvkbN61O+rZB7GacXV0g== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-events" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/aws-sqs" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-sqs@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sqs/-/aws-sqs-1.74.0.tgz#998da5838d4310805432f0cf55fcc7c8f34657e2" - integrity sha512-qlj7ZapoL9oneLu4wh7DfQDypCo6QFlyGzd3nlmn+C9UbCscBkpSJnmYSGi2m0TVCKbd3tP1EpfdU36LTahYBg== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-ssm@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ssm/-/aws-ssm-1.74.0.tgz#426dd65c0b933618d5c196cb38386c1035b0fdc4" - integrity sha512-uok/D4ooEVXst0HZYQkcPIM5xlHAVjGjF44Gt68hbdZknBhMbfZP2EWqSZHhSW9HdVoNFTNkIxcI2AemCnt2Qg== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/cloud-assembly-schema" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/cfnspec@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cfnspec/-/cfnspec-1.74.0.tgz#03577e266721fe87287f9fc710a95d7b7e5886cd" - integrity sha512-9rdFgRUoV3lbAD6lnU+hGdkit8ILmUq+XCXzRdc9xWHUXIKxMmFK9frXTT+wGmjgdz/GpPyfSbFjzyqk4QE5+w== - dependencies: - md5 "^2.3.0" - -"@aws-cdk/cloud-assembly-schema@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.74.0.tgz#f1bbd8411ec320dd9e14ef2dce626a05019c42bc" - integrity sha512-TOfruzx7zIirRpfL9r5tGcOPdfXQatD3/kgXq4I1px12oH3jmuiEcNxGdvEYgVMPaZGMrx0rtqyT2sGDWBycKw== - dependencies: - jsonschema "^1.4.0" - semver "^7.3.2" - -"@aws-cdk/cloudformation-diff@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cloudformation-diff/-/cloudformation-diff-1.74.0.tgz#d86199db530f9df641cff7f3996939c47645d59f" - integrity sha512-aYAg85fkpX39euUo5HjsGtqOpyD5fAz1+jZ/F/5erA8Y/+rB4ifCVJH0cLYHVdYwo8oc3poB6jW4tVMxNYxbrg== - dependencies: - "@aws-cdk/cfnspec" "1.74.0" - colors "^1.4.0" - diff "^5.0.0" - fast-deep-equal "^3.1.3" - string-width "^4.2.0" - table "^6.0.3" - -"@aws-cdk/core@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.74.0.tgz#132d31c0ab9d39394827431ccd804cf10de34273" - integrity sha512-1iKRIRKyMQ8ZmPvkAAjSIGl4Fh7tLIE7D23ht25ayNGp0XVG1Hd858x2GmDzI/J1ZK6xsuTsEDGbi5/saR69ng== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - "@aws-cdk/region-info" "1.74.0" - "@balena/dockerignore" "^1.0.2" - constructs "^3.2.0" - fs-extra "^9.0.1" - ignore "^5.1.8" - minimatch "^3.0.4" - -"@aws-cdk/custom-resources@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/custom-resources/-/custom-resources-1.74.0.tgz#19329e8a9b9bc0ca66e00c791b008c416a67265f" - integrity sha512-KDXgyRCeCMIj42nQcd2RXc4GYQpd7SWtx2iw0G4Wvs/wG4i3nR1qdlvEJvAlNgsYeqM4pp3mIp3PgdX341HsCg== - dependencies: - "@aws-cdk/aws-cloudformation" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-lambda" "1.74.0" - "@aws-cdk/aws-logs" "1.74.0" - "@aws-cdk/aws-sns" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/cx-api@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.74.0.tgz#922c11389d723eadef2bc12666ced4980fe9e4cc" - integrity sha512-Xhq9col3syHmxC3Zl1igrWwvOzwJzwTKwpLLL8ENF8u2n8x4eneAN+OLrRlB/rhAQ+KUL6B8toUsd4pcJMkSOQ== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.74.0" - semver "^7.3.2" - -"@aws-cdk/region-info@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/region-info/-/region-info-1.74.0.tgz#e53eabe2d8980c360e63ea956615253551005182" - integrity sha512-xF0etW01PyUNxL9F4xiA2y/pEG9e+0EJpOL7O9gVZ0IxOkIW+J0MljR6O8nx4yCx6j2/dXTs6INZ/zVn0DsydA== - -"@balena/dockerignore@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@balena/dockerignore/-/dockerignore-1.0.2.tgz#9ffe4726915251e8eb69f44ef3547e0da2c03e0d" - integrity sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q== - -"@serverless-stack/resources@../../../resources": - version "0.4.3" - dependencies: - "@aws-cdk/aws-lambda" "1.74.0" - "@aws-cdk/aws-lambda-nodejs" "1.74.0" - "@aws-cdk/core" "1.74.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== - 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-regex@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" - integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== - -ansi-styles@^4.0.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" - -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== - -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= - -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" - -charenc@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667" - integrity sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc= - -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.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== - -colors@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" - integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -constructs@^3.2.0: - version "3.2.40" - resolved "https://registry.yarnpkg.com/constructs/-/constructs-3.2.40.tgz#e8c0e1020ad254ff73d9ea6c85cc90c3a33c71f1" - integrity sha512-XtKn+Pzq8EZNe1zasQem6X09dprZ8pXvNxECKQLZC+jU5BdkgDKe0nak4Wp+k7uvDFlyh9NccaGtxqP6w2YS0A== - -crypt@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b" - integrity sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs= - -diff@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" - integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== - -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== - -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-json-stable-stringify@^2.0.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== - -fs-extra@^9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc" - integrity sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^1.0.0" - -graceful-fs@^4.1.6, graceful-fs@^4.2.0: - version "4.2.4" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" - integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== - -ignore@^5.1.8: - version "5.1.8" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" - integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== - -is-buffer@~1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - -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== - -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== - -jsonfile@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.0.1.tgz#98966cba214378c8c84b82e085907b40bf614179" - integrity sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg== - dependencies: - universalify "^1.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -jsonschema@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.4.0.tgz#1afa34c4bc22190d8e42271ec17ac8b3404f87b2" - integrity sha512-/YgW6pRMr6M7C+4o8kS+B/2myEpHCrxO4PEWnqJNBFMjn7EWXqlQ4tGwL6xTHeRplwuZmcAncdvfOad1nT2yMw== - -lodash@^4.17.20: - version "4.17.20" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" - integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== - -md5@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/md5/-/md5-2.3.0.tgz#c3da9a6aae3a30b46b7b0c349b87b110dc3bda4f" - integrity sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g== - dependencies: - charenc "0.0.2" - crypt "0.0.2" - is-buffer "~1.1.6" - -minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -punycode@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -semver@^7.3.2: - version "7.3.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" - integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== - -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" - -string-width@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" - integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.0" - -strip-ansi@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" - integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== - dependencies: - ansi-regex "^5.0.0" - -table@^6.0.3: - version "6.0.4" - resolved "https://registry.yarnpkg.com/table/-/table-6.0.4.tgz#c523dd182177e926c723eb20e1b341238188aa0d" - integrity sha512-sBT4xRLdALd+NFBvwOz8bw4b15htyythha+q+DVZqy2RS08PPC8O2sZFgJYEY7bJvbCFKccs+WIZ/cd+xxTWCw== - dependencies: - ajv "^6.12.4" - lodash "^4.17.20" - slice-ansi "^4.0.0" - string-width "^4.2.0" - -universalify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d" - integrity sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug== - -uri-js@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" - integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== - dependencies: - punycode "^2.1.0" diff --git a/packages/cli/test/mismatched-cdk-versions/package.json b/packages/cli/test/mismatched-cdk-versions/package.json index 1a99beb05e..d2e0983f0f 100644 --- a/packages/cli/test/mismatched-cdk-versions/package.json +++ b/packages/cli/test/mismatched-cdk-versions/package.json @@ -1,15 +1,15 @@ { "name": "mismatched-cdk-versions", - "version": "1.0.0", - "description": "", - "main": "index.js", + "private": true, + "description": "tests", + "version": "0.0.1", "scripts": { - "build": "../../bin/scripts.js build" + "postinstall": "node ../helpers/copy-symlinks.js", + "build": "sst build" }, - "keywords": [], - "author": "", "dependencies": { - "@serverless-stack/resources": "../../../resources", + "@serverless-stack/cli": "^1.0.0-alpha.5", + "@serverless-stack/resources": "^1.0.0-alpha.5", "@aws-cdk/aws-cognito": "^1.55.0", "@aws-cdk/aws-dynamodb": "^1.55.0", "@aws-cdk/aws-iam": "1.57.0", diff --git a/packages/cli/test/mismatched-cdk-versions/yarn.lock b/packages/cli/test/mismatched-cdk-versions/yarn.lock deleted file mode 100644 index b79968a3b8..0000000000 --- a/packages/cli/test/mismatched-cdk-versions/yarn.lock +++ /dev/null @@ -1,475 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@aws-cdk/assets@1.60.0": - version "1.60.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/assets/-/assets-1.60.0.tgz#c9f315f3a7e6657adb2630764a0b6689c6ea8c23" - integrity sha512-QDs+KZ0a9A4eQiOH894W/nGW3A0vxE63hMcQbWCJx6BGEzF8mRlYhovrEWAc8T1hfO7Ze0ZOvrcznpjnxk650g== - dependencies: - "@aws-cdk/core" "1.60.0" - "@aws-cdk/cx-api" "1.60.0" - constructs "^3.0.2" - -"@aws-cdk/aws-applicationautoscaling@1.60.0": - version "1.60.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-applicationautoscaling/-/aws-applicationautoscaling-1.60.0.tgz#a84974de862ea8e6a20fa2fb7b3b462c8066886e" - integrity sha512-DoTp7oW286zmuEAvvtT/XcPYc8xJe71v7EiSxjH2lbpnnp1ZuGWqqK6ZJHQuAKkfNh0ggni1AkAb/YUo4w4IFQ== - dependencies: - "@aws-cdk/aws-autoscaling-common" "1.60.0" - "@aws-cdk/aws-cloudwatch" "1.60.0" - "@aws-cdk/aws-iam" "1.60.0" - "@aws-cdk/core" "1.60.0" - constructs "^3.0.2" - -"@aws-cdk/aws-autoscaling-common@1.60.0": - version "1.60.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-common/-/aws-autoscaling-common-1.60.0.tgz#9eb27ffb9b1c311168d66fd0d38d8e10938974fd" - integrity sha512-vkXIvJ4zmOkd39Trm1C07YdWL+GBRDSeAAqoc4rWbw/yAKEhvpqx/oNW4rRqABA1lC3490R/mSje7Dr8Z8y5Dw== - dependencies: - "@aws-cdk/aws-iam" "1.60.0" - "@aws-cdk/core" "1.60.0" - constructs "^3.0.2" - -"@aws-cdk/aws-certificatemanager@1.60.0": - version "1.60.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-certificatemanager/-/aws-certificatemanager-1.60.0.tgz#6b179239578b36e68462f9a8936cd167bf043b96" - integrity sha512-kz1lbkYmWP/fmpPgYlODMseJUbSLlxtQJPlz5BN4lMkAcMpAsaPSLbU5/pO/XSqhPYl9vZb3NjCbNVdfQQaGhg== - dependencies: - "@aws-cdk/aws-iam" "1.60.0" - "@aws-cdk/aws-lambda" "1.60.0" - "@aws-cdk/aws-route53" "1.60.0" - "@aws-cdk/core" "1.60.0" - constructs "^3.0.2" - -"@aws-cdk/aws-cloudformation@1.60.0": - version "1.60.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudformation/-/aws-cloudformation-1.60.0.tgz#af74e5ebd710e750011e4926d3edd3463bc8c859" - integrity sha512-po+pj3LwxDEA5ReYLeNQ0UU4cXLKSguknL5w/9m2n1sip90XoxMI0a84q1NDs1cArEWnhqYY0rkfUydZmbCXqg== - dependencies: - "@aws-cdk/aws-iam" "1.60.0" - "@aws-cdk/aws-lambda" "1.60.0" - "@aws-cdk/aws-s3" "1.60.0" - "@aws-cdk/aws-sns" "1.60.0" - "@aws-cdk/core" "1.60.0" - "@aws-cdk/cx-api" "1.60.0" - constructs "^3.0.2" - -"@aws-cdk/aws-cloudwatch@1.60.0": - version "1.60.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.60.0.tgz#eb833c2e0eb4531070c138bd5ed562f8f105a538" - integrity sha512-12LK2Q/BR4HMwm2vBQHjQRyZT00FWGu9TO0wutJ78BYooqM4YpSdkRiNv74HRtG6RLPo9QmUFrUE5IFYpN0O2w== - dependencies: - "@aws-cdk/aws-iam" "1.60.0" - "@aws-cdk/core" "1.60.0" - constructs "^3.0.2" - -"@aws-cdk/aws-codeguruprofiler@1.60.0": - version "1.60.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codeguruprofiler/-/aws-codeguruprofiler-1.60.0.tgz#cf78a02c2eaa6dffbb06a7ab8f5519c9da5e0366" - integrity sha512-COcSgEUiz0wTaL9cCzxMiCIDbtA6AoFZjB2xVJXwm6YvkK4M2cUfiemTtSSsxGChHEkydHYdS0vZYqNesznOhQ== - dependencies: - "@aws-cdk/aws-iam" "1.60.0" - "@aws-cdk/core" "1.60.0" - -"@aws-cdk/aws-cognito@^1.55.0": - version "1.60.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cognito/-/aws-cognito-1.60.0.tgz#0ea41f3fbce413874223e90266013ae34dcce667" - integrity sha512-NFnKnt8NzILvqPH4blOlnZMc3Qn4Gx1REF+Z3SHdoly/GHKRQ553nWGfCdGXhR+N3wgEb+UreaFnb19lZ794KQ== - dependencies: - "@aws-cdk/aws-certificatemanager" "1.60.0" - "@aws-cdk/aws-iam" "1.60.0" - "@aws-cdk/aws-lambda" "1.60.0" - "@aws-cdk/core" "1.60.0" - "@aws-cdk/custom-resources" "1.60.0" - constructs "^3.0.2" - -"@aws-cdk/aws-dynamodb@^1.55.0": - version "1.60.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-dynamodb/-/aws-dynamodb-1.60.0.tgz#a7ab4a5482f69c48c2651c2d758711e609ba4cd8" - integrity sha512-ya3SGRk6gnVtZmReOdsJHJ+KlR1hz8OTIBL2RZ+1NhFqBJhVXYKVllJXc49iP2w6LsQuXcdRxbutrXqTk9uXyg== - dependencies: - "@aws-cdk/aws-applicationautoscaling" "1.60.0" - "@aws-cdk/aws-cloudwatch" "1.60.0" - "@aws-cdk/aws-iam" "1.60.0" - "@aws-cdk/aws-kms" "1.60.0" - "@aws-cdk/aws-lambda" "1.60.0" - "@aws-cdk/core" "1.60.0" - "@aws-cdk/custom-resources" "1.60.0" - constructs "^3.0.2" - -"@aws-cdk/aws-ec2@1.60.0": - version "1.60.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ec2/-/aws-ec2-1.60.0.tgz#0dec15b2c81041c3ff7c6bcc102549a3286cfcc2" - integrity sha512-J1a9ffMLBBmUQcNVXFC14T7PU+n70WxGG3KFbapqretaAhPAtDh3bd/rCaLCmwj216f1t5XpH3fpeS7LGGqKuQ== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.60.0" - "@aws-cdk/aws-iam" "1.60.0" - "@aws-cdk/aws-kms" "1.60.0" - "@aws-cdk/aws-logs" "1.60.0" - "@aws-cdk/aws-s3" "1.60.0" - "@aws-cdk/aws-s3-assets" "1.60.0" - "@aws-cdk/aws-ssm" "1.60.0" - "@aws-cdk/cloud-assembly-schema" "1.60.0" - "@aws-cdk/core" "1.60.0" - "@aws-cdk/cx-api" "1.60.0" - "@aws-cdk/region-info" "1.60.0" - constructs "^3.0.2" - -"@aws-cdk/aws-efs@1.60.0": - version "1.60.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-efs/-/aws-efs-1.60.0.tgz#017f710bdabb4bbad3c334a8bf469f48c7db57b1" - integrity sha512-+WZ51FfJAng3buDMFa5PnGIKPuaSdZ08QAIryZUiDMSo0bKw7fZk40++pk18e7CE1vHnS6NI1nR6wINwXyfNGA== - dependencies: - "@aws-cdk/aws-ec2" "1.60.0" - "@aws-cdk/aws-kms" "1.60.0" - "@aws-cdk/cloud-assembly-schema" "1.60.0" - "@aws-cdk/core" "1.60.0" - "@aws-cdk/cx-api" "1.60.0" - constructs "^3.0.2" - -"@aws-cdk/aws-events@1.60.0": - version "1.60.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events/-/aws-events-1.60.0.tgz#d22d7def2b4994498e84b8efa229397a92862c57" - integrity sha512-UxXrGvuPv3gvlogg8kHFCyhvZuKLFrgYKoAzQhPZAYIl8ojVQiNn67LLdlnZ5R7Th8h+BJRRRKZmEb/R1fqYjQ== - dependencies: - "@aws-cdk/aws-iam" "1.60.0" - "@aws-cdk/core" "1.60.0" - constructs "^3.0.2" - -"@aws-cdk/aws-iam@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-iam/-/aws-iam-1.57.0.tgz#d6c8e901fa81e3c872d209bd46fd41e3f024d6b2" - integrity sha512-vOltgt7CDEZ9Zko5tBhxP6bwuOAJA5ev04w1rwAcDD8W4UGHnz+2D1b0eAHfLhsICVagwfNEG+KmDyyKzrzyFw== - dependencies: - "@aws-cdk/core" "1.57.0" - "@aws-cdk/region-info" "1.57.0" - constructs "^3.0.2" - -"@aws-cdk/aws-iam@1.60.0": - version "1.60.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-iam/-/aws-iam-1.60.0.tgz#e78a097010be0984e5596094c871f547b3f50b78" - integrity sha512-p4Jm8Ws7ENuFduypLku/eKViWWBk7EXMXYUizqsI2/qIurwfkPJFrUEOBJiG4etr+5tRweTWM8KdK7jC823Ujw== - dependencies: - "@aws-cdk/core" "1.60.0" - "@aws-cdk/region-info" "1.60.0" - constructs "^3.0.2" - -"@aws-cdk/aws-kms@1.60.0": - version "1.60.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kms/-/aws-kms-1.60.0.tgz#a599e39555346d444ff4dc7c038aab01991fced0" - integrity sha512-BDkcFMya1XjAvfW8D6wFXtSxHrVC1rYwrj8QcY6wKpx6m/QD7WOUOhtoZCsx/tC8lds+aS04luKJp6hgXfn4eA== - dependencies: - "@aws-cdk/aws-iam" "1.60.0" - "@aws-cdk/core" "1.60.0" - constructs "^3.0.2" - -"@aws-cdk/aws-lambda@1.60.0": - version "1.60.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda/-/aws-lambda-1.60.0.tgz#f9015f2c06328ee52634c202a38a945c6e7e4667" - integrity sha512-xI5kG6zMWyYTMVagEzfqBCNe1DNpKegdjHoWFdnBVnxubI63iOARxTQQLuMRE4bZFR3gDprVgGh9auDO3RZ2jw== - dependencies: - "@aws-cdk/aws-applicationautoscaling" "1.60.0" - "@aws-cdk/aws-cloudwatch" "1.60.0" - "@aws-cdk/aws-codeguruprofiler" "1.60.0" - "@aws-cdk/aws-ec2" "1.60.0" - "@aws-cdk/aws-efs" "1.60.0" - "@aws-cdk/aws-events" "1.60.0" - "@aws-cdk/aws-iam" "1.60.0" - "@aws-cdk/aws-logs" "1.60.0" - "@aws-cdk/aws-s3" "1.60.0" - "@aws-cdk/aws-s3-assets" "1.60.0" - "@aws-cdk/aws-sqs" "1.60.0" - "@aws-cdk/core" "1.60.0" - "@aws-cdk/cx-api" "1.60.0" - constructs "^3.0.2" - -"@aws-cdk/aws-logs@1.60.0": - version "1.60.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-logs/-/aws-logs-1.60.0.tgz#abc367098f3b8378ce4da89c83be6cd847d5564f" - integrity sha512-cMtMlq2SLc1vJILrgoUheCotQeHkJPRajz/lP2vvY/vL1Bu5RJsJfNiOO+8ZFN3wNOK+foM1h+LV5dAyl9n7Bw== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.60.0" - "@aws-cdk/aws-iam" "1.60.0" - "@aws-cdk/core" "1.60.0" - constructs "^3.0.2" - -"@aws-cdk/aws-route53@1.60.0": - version "1.60.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-route53/-/aws-route53-1.60.0.tgz#946349cbdd524a306788d2b80eab531e37453b93" - integrity sha512-WBUOfUAiLQR0N9f2fXBmYjEtHN79mvLqXmN2i0rifxs8hEn4OXWXHYwtOqU1nAziF127D3urYgOPlZZ99PjJ4Q== - dependencies: - "@aws-cdk/aws-ec2" "1.60.0" - "@aws-cdk/aws-logs" "1.60.0" - "@aws-cdk/cloud-assembly-schema" "1.60.0" - "@aws-cdk/core" "1.60.0" - constructs "^3.0.2" - -"@aws-cdk/aws-s3-assets@1.60.0": - version "1.60.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.60.0.tgz#6866c182abf7f0d26873b74a680e3355dabc82cf" - integrity sha512-rBxJqwjWBuhPrV7svY+10qcBS8DJR+IGATbn7viezSlEVTVyPeHCOVJfMvNPhsum9QMZVQE0cbQEGT+Mr8B9Cw== - dependencies: - "@aws-cdk/assets" "1.60.0" - "@aws-cdk/aws-iam" "1.60.0" - "@aws-cdk/aws-kms" "1.60.0" - "@aws-cdk/aws-s3" "1.60.0" - "@aws-cdk/core" "1.60.0" - "@aws-cdk/cx-api" "1.60.0" - constructs "^3.0.2" - -"@aws-cdk/aws-s3@1.60.0", "@aws-cdk/aws-s3@^1.57.0": - version "1.60.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3/-/aws-s3-1.60.0.tgz#ed12ace237a2cb8c81239d53f5fb4785076203a4" - integrity sha512-Kl+Lfe+5+5m+PHoE06xNs9rAF0Cy8i4ZI9NBfxnKxLb+5MEiVIwHWK91k8ofsTH7T/s/1Pmrw7TwwipCKhCAvA== - dependencies: - "@aws-cdk/aws-events" "1.60.0" - "@aws-cdk/aws-iam" "1.60.0" - "@aws-cdk/aws-kms" "1.60.0" - "@aws-cdk/core" "1.60.0" - constructs "^3.0.2" - -"@aws-cdk/aws-sns@1.60.0": - version "1.60.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns/-/aws-sns-1.60.0.tgz#5e98af08a7123c8d5a02ed9ce661352b196e9085" - integrity sha512-N37Fo8WQTkv9JAmiZeI5gPSuaL1nftNRXOjX6i+WRgx/wpWdnAzdMcRnGy/ValzgVyfk8lF3UkgZWORGHhlHsA== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.60.0" - "@aws-cdk/aws-events" "1.60.0" - "@aws-cdk/aws-iam" "1.60.0" - "@aws-cdk/aws-kms" "1.60.0" - "@aws-cdk/aws-sqs" "1.60.0" - "@aws-cdk/core" "1.60.0" - constructs "^3.0.2" - -"@aws-cdk/aws-sqs@1.60.0": - version "1.60.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sqs/-/aws-sqs-1.60.0.tgz#95d66315febdd313ca1fa6832bac04770e27a765" - integrity sha512-g9FpZ6xrxvSqhvd+QS283XrJwFdDnJMf20Z7Iyx24HTdkTK25sjbAZ5xgjZl57VlDtl1E+ITzbuAvv6jGQTAHQ== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.60.0" - "@aws-cdk/aws-iam" "1.60.0" - "@aws-cdk/aws-kms" "1.60.0" - "@aws-cdk/core" "1.60.0" - constructs "^3.0.2" - -"@aws-cdk/aws-ssm@1.60.0": - version "1.60.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ssm/-/aws-ssm-1.60.0.tgz#90351b23c168099c60f7719531f79eb17c27bb5d" - integrity sha512-AbsyfASy8voakl1nBiJxmSPoTmOKsvWs7NuYb2P4/EzHs/Qo355zFkhPJf8AdSETYXlrISBUsptIVyBWeCxICw== - dependencies: - "@aws-cdk/aws-iam" "1.60.0" - "@aws-cdk/aws-kms" "1.60.0" - "@aws-cdk/cloud-assembly-schema" "1.60.0" - "@aws-cdk/core" "1.60.0" - constructs "^3.0.2" - -"@aws-cdk/cloud-assembly-schema@1.56.0": - version "1.56.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.56.0.tgz#b2b3cb687ead39ab8cecfaac6a4bee14666d6abc" - integrity sha512-QLuUOoEzrTyiBbPue1QzMmMLjh6FjuD6dIPJ1O81jPpBuIYiAN7MXzXQ9+4gqM0UrnMpSzB8DW2joENDPtJgFg== - dependencies: - jsonschema "^1.2.5" - semver "^7.2.2" - -"@aws-cdk/cloud-assembly-schema@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.57.0.tgz#bf9c63cf3ca8cbf0f37886b43b12f5fab5c7c989" - integrity sha512-IJyV3pgMvpbaIVYpUkBGsxIWh+VK7TxuTbEyHfBra5+VgXLoFdSG2UO80b4v6ou+occRqUGbqAnc/VfYr1uuvw== - dependencies: - jsonschema "^1.2.5" - semver "^7.2.2" - -"@aws-cdk/cloud-assembly-schema@1.60.0": - version "1.60.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.60.0.tgz#11eb4bb3b243aa8771f5cee9bda188112e696a50" - integrity sha512-FI0YB6h+SjxChfjnEpQfOYez1B01STDGhn4FQkZ0lbZuAkfW3DUbZYHzR8bTwKo/wgGt/vJ+MYrqxdMyLn62og== - dependencies: - jsonschema "^1.2.5" - semver "^7.2.2" - -"@aws-cdk/cloud-assembly-schema@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.61.0.tgz#d4d7f75cba3c52bb0b5406085dc77eefc6393aa9" - integrity sha512-+D1K159eNxWDGJNiyQcwczddzqFDS08b2VAJrgJFvqhMNbNWWuYxxxEJoh5jH9iULr2a52WXrrQfF72HbB0jUQ== - dependencies: - jsonschema "^1.2.5" - semver "^7.2.2" - -"@aws-cdk/core@1.56.0": - version "1.56.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.56.0.tgz#499bf691a9937f5f5dfb2b83330fc3f9d9294662" - integrity sha512-MeImBUTbU8ipZAC6gYQHfJRXH+63XD1VBv9g1AO5GpERKHOZ58qiBroQOkVWD5/u+iasXJ7JSC9JKUBC/+2PlQ== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.56.0" - "@aws-cdk/cx-api" "1.56.0" - constructs "^3.0.2" - fs-extra "^9.0.1" - minimatch "^3.0.4" - -"@aws-cdk/core@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.57.0.tgz#44e19a18f05d0b0742e5d406474000ef2f6f5db9" - integrity sha512-NOE9u2tVwEF+EN5CYaoC34csBgKLA9rjCWCB6R64RPQ2MlhBFCvQxdG2ZO26nOOvH+yv/3zlylM7F546mfQMHg== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.57.0" - "@aws-cdk/cx-api" "1.57.0" - constructs "^3.0.2" - fs-extra "^9.0.1" - minimatch "^3.0.4" - -"@aws-cdk/core@1.60.0": - version "1.60.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.60.0.tgz#d4c8a109bb52d9bd9ed3500a27cd2cc7a9217656" - integrity sha512-h6P5z6E/8ttINA9IqrFxXamHZraPj1NlCE83I5QHaWPACaVe+EJbvjU3dITDyK/+fGjmQ/1m4rFaNMyBd43mVg== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.60.0" - "@aws-cdk/cx-api" "1.60.0" - constructs "^3.0.2" - fs-extra "^9.0.1" - minimatch "^3.0.4" - -"@aws-cdk/core@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.61.0.tgz#817689a087cb97741fd5e4b407ee603610f30fb3" - integrity sha512-g6vOR7zqWfbSzIM2kqUPH0Tdk4tOUFGX1TM5crty1ndkNja84PvAzEjQZr34U2aCGk+EI2pyB/4D7BLiAhAvKw== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" - fs-extra "^9.0.1" - minimatch "^3.0.4" - -"@aws-cdk/custom-resources@1.60.0": - version "1.60.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/custom-resources/-/custom-resources-1.60.0.tgz#295828b349e8402a6d7e36a9dd73f3cef990552d" - integrity sha512-qt2w7cOuADrkt8echZlNWVjvERcYW2862QoTvbUnTgllAuXDvYBavlYd53uoUrm20SCw+qFlK8CBMaf9Jn4IHA== - dependencies: - "@aws-cdk/aws-cloudformation" "1.60.0" - "@aws-cdk/aws-iam" "1.60.0" - "@aws-cdk/aws-lambda" "1.60.0" - "@aws-cdk/aws-logs" "1.60.0" - "@aws-cdk/aws-sns" "1.60.0" - "@aws-cdk/core" "1.60.0" - constructs "^3.0.2" - -"@aws-cdk/cx-api@1.56.0": - version "1.56.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.56.0.tgz#36bf05de73d26ecc69054855f238beaf0bf2a482" - integrity sha512-IuBmbz025AnuYAKv+ZOvnRV7Wwa/wdCiqiJ3BlVEqPsdvE4ZUMJTqLTY25ho5VT07o8Z/iQg7M6dRs9ccVC9Dw== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.56.0" - semver "^7.2.2" - -"@aws-cdk/cx-api@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.57.0.tgz#e6ad6936e1781b821317be60978fb20111cb4d16" - integrity sha512-h2qTTofE8cE1rSZB9ny+7AjjmxEdKoxhq+GsQebQ5NZkrN/Rbc+DL77S/GG53koPG4u/ZoA4UcdLz/JqiGgdPA== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.57.0" - semver "^7.2.2" - -"@aws-cdk/cx-api@1.60.0": - version "1.60.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.60.0.tgz#e9fbbeae6743eaa9f197c98d362802328943cfea" - integrity sha512-Lx1KOB4HowdlPiftkplgaCZWYPeOEeqZgCNxeo1lRa3ypDYkrpcwVsLgLIsWhph0Lb7qtmrMmubiwaE1VTiLwQ== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.60.0" - semver "^7.2.2" - -"@aws-cdk/cx-api@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.61.0.tgz#23f0e0cff978277626d42091907b71a6c4d98580" - integrity sha512-SOn1aLhp2Zot1Qqev1REbgL2n0Ccl9sfg1nJMWnGxAmjarazJfvW22llYKnJPuFkgHswaBlifBxAA4WgKbUn6g== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.61.0" - semver "^7.2.2" - -"@aws-cdk/region-info@1.57.0": - version "1.57.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/region-info/-/region-info-1.57.0.tgz#ae45fcf82fe7c66348c8b7ecfbb738dfb08bde9d" - integrity sha512-U2V2f/PdD2VDGVwGGShb+7dqhmEEmShlOOdvDQvTmAg2SW6HwOt/rsz+va6EzvWV7fmxtFEfMiJVpnheZ1Vwyg== - -"@aws-cdk/region-info@1.60.0": - version "1.60.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/region-info/-/region-info-1.60.0.tgz#e5f337abcad54b3fbdddfed97233bee72f2e83c3" - integrity sha512-rz2HUVTM42wVXbx+T2nwT8WKSY9BFB+ThhdGAT81l1dsi/Vtne1Ql5AlnBRCWW4TXR6Nvt3DjGEsG4o6DZmsdw== - -"@serverless-stack/resources@../../../resources": - version "0.1.10" - dependencies: - "@aws-cdk/core" "1.61.0" - -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= - -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" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -constructs@^3.0.2, constructs@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/constructs/-/constructs-3.0.4.tgz#eb1ed5b80f6600b8d50de83971357ae0fe8e29a2" - integrity sha512-CDvg7gMjphE3DFX4pzkF6j73NREbR8npPFW8Mx/CLRnMR035+Y1o1HrXIsNSss/dq3ZUnNTU9jKyd3fL9EOlfw== - -fs-extra@^9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc" - integrity sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^1.0.0" - -graceful-fs@^4.1.6, graceful-fs@^4.2.0: - version "4.2.4" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" - integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== - -jsonfile@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.0.1.tgz#98966cba214378c8c84b82e085907b40bf614179" - integrity sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg== - dependencies: - universalify "^1.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -jsonschema@^1.2.5: - version "1.2.6" - resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.2.6.tgz#52b0a8e9dc06bbae7295249d03e4b9faee8a0c0b" - integrity sha512-SqhURKZG07JyKKeo/ir24QnS4/BV7a6gQy93bUSe4lUdNp0QNpIz2c9elWJQ9dpc5cQYY6cvCzgRwy0MQCLyqA== - -minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -semver@^7.2.2: - version "7.3.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" - integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== - -universalify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d" - integrity sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug== diff --git a/packages/cli/test/stack-no-prefix/package.json b/packages/cli/test/stack-no-prefix/package.json index 80d9dfa1f4..4285133cfa 100644 --- a/packages/cli/test/stack-no-prefix/package.json +++ b/packages/cli/test/stack-no-prefix/package.json @@ -1,15 +1,15 @@ { "name": "stack-no-prefix", - "version": "1.0.0", - "description": "", - "main": "index.js", + "private": true, + "description": "tests", + "version": "0.0.1", "scripts": { - "build": "../../bin/scripts.js build" + "postinstall": "node ../helpers/copy-symlinks.js", + "build": "sst build" }, - "keywords": [], - "author": "", "dependencies": { - "@serverless-stack/resources": "../../../resources", + "@serverless-stack/cli": "^1.0.0-alpha.5", + "@serverless-stack/resources": "^1.0.0-alpha.5", "@aws-cdk/core": "1.74.0" }, "license": "ISC" diff --git a/packages/cli/test/stack-no-prefix/yarn.lock b/packages/cli/test/stack-no-prefix/yarn.lock deleted file mode 100644 index 252e46aa79..0000000000 --- a/packages/cli/test/stack-no-prefix/yarn.lock +++ /dev/null @@ -1,320 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@aws-cdk/assets@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/assets/-/assets-1.74.0.tgz#8aea948a32afcf7c60449346a087c4b5aecff251" - integrity sha512-ZXmiJ9Qf0odTJWQPEvN+41wI1MAOK0PS5E/CTTOc9qSZufHKxpF0UPNu+8G/cMUnmKoonih8eglUCR8mmVzGrQ== - dependencies: - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-applicationautoscaling@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-applicationautoscaling/-/aws-applicationautoscaling-1.74.0.tgz#ad5e946e68bd4094c3236e983d36f67d66135dfc" - integrity sha512-QqEm+jN2zQyficWAQWIIJTN+HwonBx5lS+Ccgx8vR+lXAPW9BORtsuEd0jKzMs2LVF+eiRQcwgD1WqH99HFPXw== - dependencies: - "@aws-cdk/aws-autoscaling-common" "1.74.0" - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-autoscaling-common@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-common/-/aws-autoscaling-common-1.74.0.tgz#f6bcbb987830f299b6e2ef454944afdde9a8a82e" - integrity sha512-UHqhMxGjGe00XaZfb7+OtAbY48vU2PdjYxIiRlFqrvJ7w6ws2dW7trKRHfpmbIF6M8h3Jtys1y69UuijaIHTlg== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-cloudwatch@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.74.0.tgz#94a29d2998a5c08412084b346d404b3a8b90f8a8" - integrity sha512-FqkU9JNM63JzdKVwmI07UJ2upDLrqByEs6kXMNOv0RxfvLIe73DNfBp8T+WxJ23G38sCLfeTsPIIG5K2XzOQGg== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-codeguruprofiler@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codeguruprofiler/-/aws-codeguruprofiler-1.74.0.tgz#d749688e9edb252ce6fc68efa4f9977f7ba02cb6" - integrity sha512-CF4NqFSPeFnqbVG23+BozGNVha2Pk7vXaLGCPZPlHmx2jwaxZHCdxK+VvtOtV3fVPr6CI97SsTq9TwiFciv+zg== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-ec2@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ec2/-/aws-ec2-1.74.0.tgz#eae31df9045ca9374daf6b1562674e31d8053aff" - integrity sha512-TcJtdSFur8Pkhfz39nhPZH2LBiugBhSrDkAUfeEVVwDEa4kvNys7xkcwvvBouFhM6YhitjZ53j9d7d4CEBc73g== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/aws-logs" "1.74.0" - "@aws-cdk/aws-s3" "1.74.0" - "@aws-cdk/aws-s3-assets" "1.74.0" - "@aws-cdk/aws-ssm" "1.74.0" - "@aws-cdk/cloud-assembly-schema" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - "@aws-cdk/region-info" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-efs@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-efs/-/aws-efs-1.74.0.tgz#367b89f14ccd090f98227dbc975076571b31faac" - integrity sha512-ghzwm/e8qQlOM/PKgfscbVFny9qhQNrXZltxckhHdTEX3Wtx9RXpveWzEOGBoHBJHSv49gkvAwtvzTbxCss4QA== - dependencies: - "@aws-cdk/aws-ec2" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/cloud-assembly-schema" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-events@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events/-/aws-events-1.74.0.tgz#2ed5a4cdd737ce4c8950506df496d0b43ac6aa12" - integrity sha512-dmVswvSBd2jZzgPJCQell+u9bRYNg63p1e57bXmql6Rm1UJDPTbvESPXsdwwFW2WpJyXwHOOM+qe98r5CbcTUw== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-iam@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-iam/-/aws-iam-1.74.0.tgz#c255c9676fb6048ab27c00d111ed5e7d8b46877c" - integrity sha512-5Eq4e4/be2HMFZXc1sCeNjqgTyjlWgvIjbLh0Q4c01V05r7MbPdmfZRurbeEA6NohGf+zYFQrCzPnTaqvFPFHA== - dependencies: - "@aws-cdk/core" "1.74.0" - "@aws-cdk/region-info" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-kms@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kms/-/aws-kms-1.74.0.tgz#73531f7b5d2542eb5e3f7bb54604944921e34995" - integrity sha512-4cTNqzNkml3RV6uobSwq7ZtPBjwNovOxv75vzGNNRw1GO6hxqDzoPRIsgfwNvVii8tv27eR0xTK0t6WlKqoVzg== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-lambda-nodejs@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda-nodejs/-/aws-lambda-nodejs-1.74.0.tgz#aa818270e4dcd74be51d402cdb114da311b3c966" - integrity sha512-1mc8I+Yz43El8O8SjsfkABsI31tcpO5e3fAz7/40DKuFgM9jkL6vyiL55MLIckAqmE2N9mRYU0xF4RC7uRZdmQ== - dependencies: - "@aws-cdk/aws-lambda" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-lambda@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda/-/aws-lambda-1.74.0.tgz#52175fbc9e679ca5c0f4d15e0666c99fc4a953d0" - integrity sha512-Ju3/mhnli33xnO2qvJUs11djva12SHnmJPGtbx4Nz33z577/pCwLZYWa7noP8eUzAyBglfNlPG8JWH+fNHPbew== - dependencies: - "@aws-cdk/aws-applicationautoscaling" "1.74.0" - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-codeguruprofiler" "1.74.0" - "@aws-cdk/aws-ec2" "1.74.0" - "@aws-cdk/aws-efs" "1.74.0" - "@aws-cdk/aws-events" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-logs" "1.74.0" - "@aws-cdk/aws-s3" "1.74.0" - "@aws-cdk/aws-s3-assets" "1.74.0" - "@aws-cdk/aws-sqs" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-logs@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-logs/-/aws-logs-1.74.0.tgz#cd40afe70ffeb5250ecea1db0ee0a2f68fb2084a" - integrity sha512-wMpjXdJBN3S0gYO3pMjjKxSTlIs0ZUH64k6BnOxDvnltWbBJomD0/qLKMVHShOddm9MMNdD8AaYpCqZsrplZHA== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/aws-s3-assets" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-s3-assets@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.74.0.tgz#7f1988f3931e95d88a8c1357f98c47f7f9b73dee" - integrity sha512-uewjgTOr5q60UbPKHo3qgYApXxFKUIgP6eUZi7v8mhfnZUDw9H9B4rRJ7rHRZ4gYj9ZtiWq1o3hpvWnoHsR+zg== - dependencies: - "@aws-cdk/assets" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/aws-s3" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-s3@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3/-/aws-s3-1.74.0.tgz#5b53839c3af0f67bfb1e96061f6a1ea5be445fe9" - integrity sha512-xbRbI90hUvmVwGHHMr4dPWv0TXBxr/HeeaLzqLDHv36+TKA0wMR7ttRm3pbT3Kf/YjqSty788rom6lVqaAu81Q== - dependencies: - "@aws-cdk/aws-events" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-sqs@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sqs/-/aws-sqs-1.74.0.tgz#998da5838d4310805432f0cf55fcc7c8f34657e2" - integrity sha512-qlj7ZapoL9oneLu4wh7DfQDypCo6QFlyGzd3nlmn+C9UbCscBkpSJnmYSGi2m0TVCKbd3tP1EpfdU36LTahYBg== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/aws-ssm@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ssm/-/aws-ssm-1.74.0.tgz#426dd65c0b933618d5c196cb38386c1035b0fdc4" - integrity sha512-uok/D4ooEVXst0HZYQkcPIM5xlHAVjGjF44Gt68hbdZknBhMbfZP2EWqSZHhSW9HdVoNFTNkIxcI2AemCnt2Qg== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/cloud-assembly-schema" "1.74.0" - "@aws-cdk/core" "1.74.0" - constructs "^3.2.0" - -"@aws-cdk/cloud-assembly-schema@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.74.0.tgz#f1bbd8411ec320dd9e14ef2dce626a05019c42bc" - integrity sha512-TOfruzx7zIirRpfL9r5tGcOPdfXQatD3/kgXq4I1px12oH3jmuiEcNxGdvEYgVMPaZGMrx0rtqyT2sGDWBycKw== - dependencies: - jsonschema "^1.4.0" - semver "^7.3.2" - -"@aws-cdk/core@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.74.0.tgz#132d31c0ab9d39394827431ccd804cf10de34273" - integrity sha512-1iKRIRKyMQ8ZmPvkAAjSIGl4Fh7tLIE7D23ht25ayNGp0XVG1Hd858x2GmDzI/J1ZK6xsuTsEDGbi5/saR69ng== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - "@aws-cdk/region-info" "1.74.0" - "@balena/dockerignore" "^1.0.2" - constructs "^3.2.0" - fs-extra "^9.0.1" - ignore "^5.1.8" - minimatch "^3.0.4" - -"@aws-cdk/cx-api@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.74.0.tgz#922c11389d723eadef2bc12666ced4980fe9e4cc" - integrity sha512-Xhq9col3syHmxC3Zl1igrWwvOzwJzwTKwpLLL8ENF8u2n8x4eneAN+OLrRlB/rhAQ+KUL6B8toUsd4pcJMkSOQ== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.74.0" - semver "^7.3.2" - -"@aws-cdk/region-info@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/region-info/-/region-info-1.74.0.tgz#e53eabe2d8980c360e63ea956615253551005182" - integrity sha512-xF0etW01PyUNxL9F4xiA2y/pEG9e+0EJpOL7O9gVZ0IxOkIW+J0MljR6O8nx4yCx6j2/dXTs6INZ/zVn0DsydA== - -"@balena/dockerignore@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@balena/dockerignore/-/dockerignore-1.0.2.tgz#9ffe4726915251e8eb69f44ef3547e0da2c03e0d" - integrity sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q== - -"@serverless-stack/resources@../../../resources": - version "0.4.3" - dependencies: - "@aws-cdk/aws-lambda" "1.74.0" - "@aws-cdk/aws-lambda-nodejs" "1.74.0" - "@aws-cdk/core" "1.74.0" - -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= - -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" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -constructs@^3.2.0: - version "3.2.40" - resolved "https://registry.yarnpkg.com/constructs/-/constructs-3.2.40.tgz#e8c0e1020ad254ff73d9ea6c85cc90c3a33c71f1" - integrity sha512-XtKn+Pzq8EZNe1zasQem6X09dprZ8pXvNxECKQLZC+jU5BdkgDKe0nak4Wp+k7uvDFlyh9NccaGtxqP6w2YS0A== - -fs-extra@^9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc" - integrity sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^1.0.0" - -graceful-fs@^4.1.6, graceful-fs@^4.2.0: - version "4.2.4" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" - integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== - -ignore@^5.1.8: - version "5.1.8" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" - integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== - -jsonfile@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.0.1.tgz#98966cba214378c8c84b82e085907b40bf614179" - integrity sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg== - dependencies: - universalify "^1.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -jsonschema@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.4.0.tgz#1afa34c4bc22190d8e42271ec17ac8b3404f87b2" - integrity sha512-/YgW6pRMr6M7C+4o8kS+B/2myEpHCrxO4PEWnqJNBFMjn7EWXqlQ4tGwL6xTHeRplwuZmcAncdvfOad1nT2yMw== - -minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -semver@^7.3.2: - version "7.3.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" - integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== - -universalify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d" - integrity sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug== diff --git a/packages/cli/test/stack-set-env/package.json b/packages/cli/test/stack-set-env/package.json index 8a1feaa7ab..ce1f95cd94 100644 --- a/packages/cli/test/stack-set-env/package.json +++ b/packages/cli/test/stack-set-env/package.json @@ -1,15 +1,15 @@ { "name": "stack-set-env", - "version": "1.0.0", - "description": "", - "main": "index.js", + "private": true, + "description": "tests", + "version": "0.0.1", "scripts": { - "build": "../../bin/scripts.js build" + "postinstall": "node ../helpers/copy-symlinks.js", + "build": "sst build" }, - "keywords": [], - "author": "", "dependencies": { - "@serverless-stack/resources": "../../../resources" + "@serverless-stack/cli": "^1.0.0-alpha.5", + "@serverless-stack/resources": "^1.0.0-alpha.5" }, "license": "ISC" } diff --git a/packages/cli/test/stack-set-env/yarn.lock b/packages/cli/test/stack-set-env/yarn.lock deleted file mode 100644 index 4a2a4116c5..0000000000 --- a/packages/cli/test/stack-set-env/yarn.lock +++ /dev/null @@ -1,109 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@aws-cdk/cloud-assembly-schema@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.61.0.tgz#d4d7f75cba3c52bb0b5406085dc77eefc6393aa9" - integrity sha512-+D1K159eNxWDGJNiyQcwczddzqFDS08b2VAJrgJFvqhMNbNWWuYxxxEJoh5jH9iULr2a52WXrrQfF72HbB0jUQ== - dependencies: - jsonschema "^1.2.5" - semver "^7.2.2" - -"@aws-cdk/core@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.61.0.tgz#817689a087cb97741fd5e4b407ee603610f30fb3" - integrity sha512-g6vOR7zqWfbSzIM2kqUPH0Tdk4tOUFGX1TM5crty1ndkNja84PvAzEjQZr34U2aCGk+EI2pyB/4D7BLiAhAvKw== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.61.0" - "@aws-cdk/cx-api" "1.61.0" - constructs "^3.0.4" - fs-extra "^9.0.1" - minimatch "^3.0.4" - -"@aws-cdk/cx-api@1.61.0": - version "1.61.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.61.0.tgz#23f0e0cff978277626d42091907b71a6c4d98580" - integrity sha512-SOn1aLhp2Zot1Qqev1REbgL2n0Ccl9sfg1nJMWnGxAmjarazJfvW22llYKnJPuFkgHswaBlifBxAA4WgKbUn6g== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.61.0" - semver "^7.2.2" - -"@serverless-stack/resources@../../../resources": - version "0.1.10" - dependencies: - "@aws-cdk/core" "1.61.0" - -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= - -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" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -constructs@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/constructs/-/constructs-3.0.4.tgz#eb1ed5b80f6600b8d50de83971357ae0fe8e29a2" - integrity sha512-CDvg7gMjphE3DFX4pzkF6j73NREbR8npPFW8Mx/CLRnMR035+Y1o1HrXIsNSss/dq3ZUnNTU9jKyd3fL9EOlfw== - -fs-extra@^9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc" - integrity sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^1.0.0" - -graceful-fs@^4.1.6, graceful-fs@^4.2.0: - version "4.2.4" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" - integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== - -jsonfile@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.0.1.tgz#98966cba214378c8c84b82e085907b40bf614179" - integrity sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg== - dependencies: - universalify "^1.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -jsonschema@^1.2.5: - version "1.2.6" - resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.2.6.tgz#52b0a8e9dc06bbae7295249d03e4b9faee8a0c0b" - integrity sha512-SqhURKZG07JyKKeo/ir24QnS4/BV7a6gQy93bUSe4lUdNp0QNpIz2c9elWJQ9dpc5cQYY6cvCzgRwy0MQCLyqA== - -minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -semver@^7.2.2: - version "7.3.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" - integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== - -universalify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d" - integrity sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug== diff --git a/packages/resources/src/App.ts b/packages/resources/src/App.ts index 66a13aa376..1ed6942855 100644 --- a/packages/resources/src/App.ts +++ b/packages/resources/src/App.ts @@ -34,7 +34,7 @@ export interface BuildProps { /** * The root path for the SST app. */ - readonly appPath: string; + readonly appPath?: string; /** * The local WebSockets debug enpoint used by `sst start`. @@ -84,8 +84,8 @@ export class App extends cdk.App { constructor( deployProps: DeployProps = {}, - buildProps: BuildProps, - props: AppProps = {} + props: AppProps = {}, + buildProps: BuildProps = {}, ) { super(props); @@ -93,7 +93,7 @@ export class App extends cdk.App { this.name = deployProps.name || "my-app"; this.region = deployProps.region || "us-east-1"; - this.appPath = buildProps.appPath; + this.appPath = buildProps.appPath || ""; if (buildProps.debugEndpoint) { this.local = true; diff --git a/yarn.lock b/yarn.lock index f1ef3706a7..630415b853 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,6 +2,17 @@ # yarn lockfile v1 +"@aws-cdk/assert@1.74.0": + version "1.74.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/assert/-/assert-1.74.0.tgz#82795a3bb21ede93288a60322804f6f4e2d4959e" + integrity sha512-5M3M4lcSS2dGPgVANhv5GjqC6nNBy9bL1XECAJj3lg7q+6zJ00+0wq4bB0wyvm/mE+S0axkGZ4LVHF5QA2gCfQ== + dependencies: + "@aws-cdk/cloud-assembly-schema" "1.74.0" + "@aws-cdk/cloudformation-diff" "1.74.0" + "@aws-cdk/core" "1.74.0" + "@aws-cdk/cx-api" "1.74.0" + constructs "^3.2.0" + "@aws-cdk/assets@1.74.0": version "1.74.0" resolved "https://registry.yarnpkg.com/@aws-cdk/assets/-/assets-1.74.0.tgz#8aea948a32afcf7c60449346a087c4b5aecff251" @@ -11,6 +22,15 @@ "@aws-cdk/cx-api" "1.74.0" constructs "^3.2.0" +"@aws-cdk/assets@1.81.0": + version "1.81.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/assets/-/assets-1.81.0.tgz#b6feee81c02e78c9f34dca42d54689fd563b28b1" + integrity sha512-rhBiWsSe5iJTl52xL1+S4ulMIZPFKOnfzFP6kYfq24M7rljFgT8N3p1XgeT2VAWxVWyOWbOi68lldj8fgFcdLw== + dependencies: + "@aws-cdk/core" "1.81.0" + "@aws-cdk/cx-api" "1.81.0" + constructs "^3.2.0" + "@aws-cdk/aws-apigatewayv2-integrations@1.74.0": version "1.74.0" resolved "https://registry.yarnpkg.com/@aws-cdk/aws-apigatewayv2-integrations/-/aws-apigatewayv2-integrations-1.74.0.tgz#a242aaa74e0f294da9b3beefd46a28fb53de5355" @@ -48,6 +68,17 @@ "@aws-cdk/core" "1.74.0" constructs "^3.2.0" +"@aws-cdk/aws-applicationautoscaling@1.81.0": + version "1.81.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-applicationautoscaling/-/aws-applicationautoscaling-1.81.0.tgz#21febdccd9d58e9d53ea39afb9d4a96aafc223d4" + integrity sha512-69HrZ/Oxbc7vNj9Urv3Cdx2gHzv4Q2+LvsEcGJEKS4yayQGGyoy8bc9yRmkEostO6p0VwfCPUBpH3jn8ZbFl+g== + dependencies: + "@aws-cdk/aws-autoscaling-common" "1.81.0" + "@aws-cdk/aws-cloudwatch" "1.81.0" + "@aws-cdk/aws-iam" "1.81.0" + "@aws-cdk/core" "1.81.0" + constructs "^3.2.0" + "@aws-cdk/aws-autoscaling-common@1.74.0": version "1.74.0" resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-common/-/aws-autoscaling-common-1.74.0.tgz#f6bcbb987830f299b6e2ef454944afdde9a8a82e" @@ -57,6 +88,15 @@ "@aws-cdk/core" "1.74.0" constructs "^3.2.0" +"@aws-cdk/aws-autoscaling-common@1.81.0": + version "1.81.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-common/-/aws-autoscaling-common-1.81.0.tgz#f65daa0e084d5db715794428f19366c55d69691a" + integrity sha512-weiDP9HVsAsp3DgcjhcWqtaqMpomrX5zQzlH7ujmDqUrTeBKdSBt58B0TcYpctCu4oKmBSGB3ka93Y//TH7ETg== + dependencies: + "@aws-cdk/aws-iam" "1.81.0" + "@aws-cdk/core" "1.81.0" + constructs "^3.2.0" + "@aws-cdk/aws-certificatemanager@1.74.0": version "1.74.0" resolved "https://registry.yarnpkg.com/@aws-cdk/aws-certificatemanager/-/aws-certificatemanager-1.74.0.tgz#35b07c4b396a3db96da5d431e549460d1edc2251" @@ -68,6 +108,17 @@ "@aws-cdk/core" "1.74.0" constructs "^3.2.0" +"@aws-cdk/aws-certificatemanager@1.81.0": + version "1.81.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-certificatemanager/-/aws-certificatemanager-1.81.0.tgz#b7469164cae692c9174e8918bce7bd225816d531" + integrity sha512-4Eq0MnNlBFapF5zPFazc7T4H9k0oza4W7IT8o+xkMZkvs15538E/aE+6EYo29X8JSy56Vk3iT5GIZJKIczJFsQ== + dependencies: + "@aws-cdk/aws-iam" "1.81.0" + "@aws-cdk/aws-lambda" "1.81.0" + "@aws-cdk/aws-route53" "1.81.0" + "@aws-cdk/core" "1.81.0" + constructs "^3.2.0" + "@aws-cdk/aws-cloudformation@1.74.0": version "1.74.0" resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudformation/-/aws-cloudformation-1.74.0.tgz#04fffb02403fb52ee05ec43172b845a29a903a9e" @@ -81,6 +132,19 @@ "@aws-cdk/cx-api" "1.74.0" constructs "^3.2.0" +"@aws-cdk/aws-cloudformation@1.81.0": + version "1.81.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudformation/-/aws-cloudformation-1.81.0.tgz#7019430cc3cb79009032a9cb58b420168dd32d27" + integrity sha512-45YxS/dYPRCQAjSVwFP8UcsXmIMd79RGPXkbVy1eE/dwEQl/nPN40ehiOn6LlcF/Q/QbxmxuXgKyMH3Mr5WDTw== + dependencies: + "@aws-cdk/aws-iam" "1.81.0" + "@aws-cdk/aws-lambda" "1.81.0" + "@aws-cdk/aws-s3" "1.81.0" + "@aws-cdk/aws-sns" "1.81.0" + "@aws-cdk/core" "1.81.0" + "@aws-cdk/cx-api" "1.81.0" + constructs "^3.2.0" + "@aws-cdk/aws-cloudwatch@1.74.0": version "1.74.0" resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.74.0.tgz#94a29d2998a5c08412084b346d404b3a8b90f8a8" @@ -90,6 +154,15 @@ "@aws-cdk/core" "1.74.0" constructs "^3.2.0" +"@aws-cdk/aws-cloudwatch@1.81.0": + version "1.81.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.81.0.tgz#590373beb27a7bd1c7361a38ec6d392ab18b3724" + integrity sha512-7kTlVVN9rtqJtxtAY9AZ62OLDhYNhdGXeEDPKqdrRr3euoQ7F7zTZ+wsMXvTurJ3ATlKHrHPymDWonVqMpYhvg== + dependencies: + "@aws-cdk/aws-iam" "1.81.0" + "@aws-cdk/core" "1.81.0" + constructs "^3.2.0" + "@aws-cdk/aws-codeguruprofiler@1.74.0": version "1.74.0" resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codeguruprofiler/-/aws-codeguruprofiler-1.74.0.tgz#d749688e9edb252ce6fc68efa4f9977f7ba02cb6" @@ -99,6 +172,15 @@ "@aws-cdk/core" "1.74.0" constructs "^3.2.0" +"@aws-cdk/aws-codeguruprofiler@1.81.0": + version "1.81.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codeguruprofiler/-/aws-codeguruprofiler-1.81.0.tgz#acbaf9c985e675fc8e948bb66470e25cf4b670da" + integrity sha512-RHSINKRw0UxxIk8xP6hwArzYkp4d/zHa3pXReJOfZJgOJiid5iWrJcArGYiAPqI6C7p0Rj2j1/KfGh1Ex9qECw== + dependencies: + "@aws-cdk/aws-iam" "1.81.0" + "@aws-cdk/core" "1.81.0" + constructs "^3.2.0" + "@aws-cdk/aws-cognito@1.74.0": version "1.74.0" resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cognito/-/aws-cognito-1.74.0.tgz#740f51269cbe00b46ae6327814dd8c0dbb470912" @@ -112,6 +194,19 @@ constructs "^3.2.0" punycode "^2.1.1" +"@aws-cdk/aws-cognito@^1.55.0": + version "1.81.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cognito/-/aws-cognito-1.81.0.tgz#3911c5314a8adb730f51782d05abd8f39e5cba65" + integrity sha512-RBmw9VAd3TUcJQQQJhehBaoX9HKu5ilKsk+a7RmEp3YEMD3gZae7eIK867S7VauThUJK6mQ6ikpMQ9bRx8IL5A== + dependencies: + "@aws-cdk/aws-certificatemanager" "1.81.0" + "@aws-cdk/aws-iam" "1.81.0" + "@aws-cdk/aws-lambda" "1.81.0" + "@aws-cdk/core" "1.81.0" + "@aws-cdk/custom-resources" "1.81.0" + constructs "^3.2.0" + punycode "^2.1.1" + "@aws-cdk/aws-dynamodb@1.74.0": version "1.74.0" resolved "https://registry.yarnpkg.com/@aws-cdk/aws-dynamodb/-/aws-dynamodb-1.74.0.tgz#7e0ef530e9c3d7301a9db616ddf6d650f7acb76f" @@ -126,6 +221,20 @@ "@aws-cdk/custom-resources" "1.74.0" constructs "^3.2.0" +"@aws-cdk/aws-dynamodb@^1.55.0": + version "1.81.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-dynamodb/-/aws-dynamodb-1.81.0.tgz#dc06e26e239818b683eb2a518608a1986ccbeff0" + integrity sha512-R7DaHMQu1DtnIWveC6Icl63wLyOx4ETP4wRz6lBC/c57JJCci7Wt3+X7SUFsqjO9pSgJK2wTw6oghz09WH8lTw== + dependencies: + "@aws-cdk/aws-applicationautoscaling" "1.81.0" + "@aws-cdk/aws-cloudwatch" "1.81.0" + "@aws-cdk/aws-iam" "1.81.0" + "@aws-cdk/aws-kms" "1.81.0" + "@aws-cdk/aws-lambda" "1.81.0" + "@aws-cdk/core" "1.81.0" + "@aws-cdk/custom-resources" "1.81.0" + constructs "^3.2.0" + "@aws-cdk/aws-ec2@1.74.0": version "1.74.0" resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ec2/-/aws-ec2-1.74.0.tgz#eae31df9045ca9374daf6b1562674e31d8053aff" @@ -144,6 +253,48 @@ "@aws-cdk/region-info" "1.74.0" constructs "^3.2.0" +"@aws-cdk/aws-ec2@1.81.0": + version "1.81.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ec2/-/aws-ec2-1.81.0.tgz#91f31dd82ce44b41c171a00f1814c96d9df7b305" + integrity sha512-xhxClHAoD0RTYdrW6Q5m7Z78C2jTxORNzk6FRl46djowAACoWpo3ZzqaJEnL/buW/Yn1oIMzD9B7Clsc5ruiSQ== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.81.0" + "@aws-cdk/aws-iam" "1.81.0" + "@aws-cdk/aws-kms" "1.81.0" + "@aws-cdk/aws-logs" "1.81.0" + "@aws-cdk/aws-s3" "1.81.0" + "@aws-cdk/aws-s3-assets" "1.81.0" + "@aws-cdk/aws-ssm" "1.81.0" + "@aws-cdk/cloud-assembly-schema" "1.81.0" + "@aws-cdk/core" "1.81.0" + "@aws-cdk/cx-api" "1.81.0" + "@aws-cdk/region-info" "1.81.0" + constructs "^3.2.0" + +"@aws-cdk/aws-ecr-assets@1.81.0": + version "1.81.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ecr-assets/-/aws-ecr-assets-1.81.0.tgz#2e60b5d451fc55199b907d9e2185833b2027a408" + integrity sha512-yQP8o99NafJSCrEhTd+ILrTdJT9JvLI6R42xSpMInFQ6Wc6VazKuK9Xqc3rCdkUj4bSdNqXrX4jzwOs5NIiHNg== + dependencies: + "@aws-cdk/assets" "1.81.0" + "@aws-cdk/aws-ecr" "1.81.0" + "@aws-cdk/aws-iam" "1.81.0" + "@aws-cdk/aws-s3" "1.81.0" + "@aws-cdk/core" "1.81.0" + "@aws-cdk/cx-api" "1.81.0" + constructs "^3.2.0" + minimatch "^3.0.4" + +"@aws-cdk/aws-ecr@1.81.0": + version "1.81.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ecr/-/aws-ecr-1.81.0.tgz#c4b4674688c7cab775ffe5c865413025d9e51009" + integrity sha512-T6Pe9JCXiv45KT+ZwoEhbi+kTQQkdWlpGvbDzEPUxVa/PkndN/yecVeq/ZCNMIERF4LBTY3igo2o06BA0xIypA== + dependencies: + "@aws-cdk/aws-events" "1.81.0" + "@aws-cdk/aws-iam" "1.81.0" + "@aws-cdk/core" "1.81.0" + constructs "^3.2.0" + "@aws-cdk/aws-efs@1.74.0": version "1.74.0" resolved "https://registry.yarnpkg.com/@aws-cdk/aws-efs/-/aws-efs-1.74.0.tgz#367b89f14ccd090f98227dbc975076571b31faac" @@ -156,6 +307,18 @@ "@aws-cdk/cx-api" "1.74.0" constructs "^3.2.0" +"@aws-cdk/aws-efs@1.81.0": + version "1.81.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-efs/-/aws-efs-1.81.0.tgz#88a14e1ad9b08891dd5e62949ec40e2426349062" + integrity sha512-3pcOktvVcjIkuK05jaoI3gI7XF4H0z2jlWnCO/2VxpCTDO7z8BjgZhMFqeSB45EoCCTlf8W/NxDPo2asAXCG1g== + dependencies: + "@aws-cdk/aws-ec2" "1.81.0" + "@aws-cdk/aws-kms" "1.81.0" + "@aws-cdk/cloud-assembly-schema" "1.81.0" + "@aws-cdk/core" "1.81.0" + "@aws-cdk/cx-api" "1.81.0" + constructs "^3.2.0" + "@aws-cdk/aws-elasticloadbalancingv2@1.74.0": version "1.74.0" resolved "https://registry.yarnpkg.com/@aws-cdk/aws-elasticloadbalancingv2/-/aws-elasticloadbalancingv2-1.74.0.tgz#794ee49baac329e43884748ecda3e66348fd5088" @@ -182,6 +345,24 @@ "@aws-cdk/core" "1.74.0" constructs "^3.2.0" +"@aws-cdk/aws-events@1.81.0": + version "1.81.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events/-/aws-events-1.81.0.tgz#8aa9b7c5163ef27df9b1537ec52751b4f3995b05" + integrity sha512-dfzGSc9SbB8TeOARz/tsZyqRpYWTsUWgJtX22wj26NzHJd0gnbgoSNj4p/PLmFSTzbHoYXngZfLjRyx19xlVXQ== + dependencies: + "@aws-cdk/aws-iam" "1.81.0" + "@aws-cdk/core" "1.81.0" + constructs "^3.2.0" + +"@aws-cdk/aws-iam@1.57.0": + version "1.57.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-iam/-/aws-iam-1.57.0.tgz#d6c8e901fa81e3c872d209bd46fd41e3f024d6b2" + integrity sha512-vOltgt7CDEZ9Zko5tBhxP6bwuOAJA5ev04w1rwAcDD8W4UGHnz+2D1b0eAHfLhsICVagwfNEG+KmDyyKzrzyFw== + dependencies: + "@aws-cdk/core" "1.57.0" + "@aws-cdk/region-info" "1.57.0" + constructs "^3.0.2" + "@aws-cdk/aws-iam@1.74.0": version "1.74.0" resolved "https://registry.yarnpkg.com/@aws-cdk/aws-iam/-/aws-iam-1.74.0.tgz#c255c9676fb6048ab27c00d111ed5e7d8b46877c" @@ -191,6 +372,15 @@ "@aws-cdk/region-info" "1.74.0" constructs "^3.2.0" +"@aws-cdk/aws-iam@1.81.0": + version "1.81.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-iam/-/aws-iam-1.81.0.tgz#120107ac24a417f461f698385c7bf3dab6bfd223" + integrity sha512-Vgoj8q+E8Qj486rwcw5OsPEZLeWU3X8vT2eqEwb7CeK/Ct1MJWmvZszUQCtUTr/bPnEv91DsBl/0umJwxGrb3w== + dependencies: + "@aws-cdk/core" "1.81.0" + "@aws-cdk/region-info" "1.81.0" + constructs "^3.2.0" + "@aws-cdk/aws-kms@1.74.0": version "1.74.0" resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kms/-/aws-kms-1.74.0.tgz#73531f7b5d2542eb5e3f7bb54604944921e34995" @@ -200,6 +390,16 @@ "@aws-cdk/core" "1.74.0" constructs "^3.2.0" +"@aws-cdk/aws-kms@1.81.0": + version "1.81.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kms/-/aws-kms-1.81.0.tgz#9ede0b4cac909817bf5fca9cb56a5dba70e30954" + integrity sha512-oC8Og9nGJFKpeYmi4bxoAfM0lf0E1VI4lpuSv+mYv2ixdQ5LwbB0gyKxtQiNnyyYSLDAIOv3Mk9uUa0l5aKwfQ== + dependencies: + "@aws-cdk/aws-iam" "1.81.0" + "@aws-cdk/core" "1.81.0" + "@aws-cdk/cx-api" "1.81.0" + constructs "^3.2.0" + "@aws-cdk/aws-lambda-nodejs@1.74.0": version "1.74.0" resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda-nodejs/-/aws-lambda-nodejs-1.74.0.tgz#aa818270e4dcd74be51d402cdb114da311b3c966" @@ -229,6 +429,29 @@ "@aws-cdk/cx-api" "1.74.0" constructs "^3.2.0" +"@aws-cdk/aws-lambda@1.81.0": + version "1.81.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda/-/aws-lambda-1.81.0.tgz#5d8c41d1eafbae51feb654424ba2d695636f5623" + integrity sha512-qyQsHM6N8y34tV+Fnv26CF5qXAxOsJsQprQJzHY7rv3d+1cIaI8F3Wcg7JxxhTo/7V8ZE89nmfhutFsELM8CHA== + dependencies: + "@aws-cdk/aws-applicationautoscaling" "1.81.0" + "@aws-cdk/aws-cloudwatch" "1.81.0" + "@aws-cdk/aws-codeguruprofiler" "1.81.0" + "@aws-cdk/aws-ec2" "1.81.0" + "@aws-cdk/aws-ecr" "1.81.0" + "@aws-cdk/aws-ecr-assets" "1.81.0" + "@aws-cdk/aws-efs" "1.81.0" + "@aws-cdk/aws-events" "1.81.0" + "@aws-cdk/aws-iam" "1.81.0" + "@aws-cdk/aws-kms" "1.81.0" + "@aws-cdk/aws-logs" "1.81.0" + "@aws-cdk/aws-s3" "1.81.0" + "@aws-cdk/aws-s3-assets" "1.81.0" + "@aws-cdk/aws-sqs" "1.81.0" + "@aws-cdk/core" "1.81.0" + "@aws-cdk/cx-api" "1.81.0" + constructs "^3.2.0" + "@aws-cdk/aws-logs@1.74.0": version "1.74.0" resolved "https://registry.yarnpkg.com/@aws-cdk/aws-logs/-/aws-logs-1.74.0.tgz#cd40afe70ffeb5250ecea1db0ee0a2f68fb2084a" @@ -241,6 +464,18 @@ "@aws-cdk/core" "1.74.0" constructs "^3.2.0" +"@aws-cdk/aws-logs@1.81.0": + version "1.81.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-logs/-/aws-logs-1.81.0.tgz#6589b2d9510659b7633124ff99f740524ddeb6e7" + integrity sha512-iFuRXwWbVvUGOt/2H4CaBdD2Xl9YJgw3Jhli0BlssjfI3C8R+8HM3VSJKg0O4V3puTr1S5RJfbMLqDXt4MOmxQ== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.81.0" + "@aws-cdk/aws-iam" "1.81.0" + "@aws-cdk/aws-kms" "1.81.0" + "@aws-cdk/aws-s3-assets" "1.81.0" + "@aws-cdk/core" "1.81.0" + constructs "^3.2.0" + "@aws-cdk/aws-route53@1.74.0": version "1.74.0" resolved "https://registry.yarnpkg.com/@aws-cdk/aws-route53/-/aws-route53-1.74.0.tgz#f9b3c770cf613227bba31c4a7499c8f19966f3e4" @@ -252,6 +487,18 @@ "@aws-cdk/core" "1.74.0" constructs "^3.2.0" +"@aws-cdk/aws-route53@1.81.0": + version "1.81.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-route53/-/aws-route53-1.81.0.tgz#06d9a43695e3a5b8ec0c79a291a6963f2c380c34" + integrity sha512-trnWcspC5BpNFPsOSX2x+VUaN/XnwZcPk5ZmSUQ3scypkhmWtb+vHgXlfO9T3Tnch/xaJyB5Suo5WXuDTSNFDA== + dependencies: + "@aws-cdk/aws-ec2" "1.81.0" + "@aws-cdk/aws-logs" "1.81.0" + "@aws-cdk/cloud-assembly-schema" "1.81.0" + "@aws-cdk/core" "1.81.0" + "@aws-cdk/custom-resources" "1.81.0" + constructs "^3.2.0" + "@aws-cdk/aws-s3-assets@1.74.0": version "1.74.0" resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.74.0.tgz#7f1988f3931e95d88a8c1357f98c47f7f9b73dee" @@ -265,6 +512,19 @@ "@aws-cdk/cx-api" "1.74.0" constructs "^3.2.0" +"@aws-cdk/aws-s3-assets@1.81.0": + version "1.81.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.81.0.tgz#a7042a7e2b522150f7f9cba59aca4a898f8c386f" + integrity sha512-kNSkOsR1mJGrTKAMGVbiduDGWAJc7W8oHls37Ncm/26AcA4hLc/3fQanTF3f1J44TJbQ+EIdcLNcm+yBtJLmiA== + dependencies: + "@aws-cdk/assets" "1.81.0" + "@aws-cdk/aws-iam" "1.81.0" + "@aws-cdk/aws-kms" "1.81.0" + "@aws-cdk/aws-s3" "1.81.0" + "@aws-cdk/core" "1.81.0" + "@aws-cdk/cx-api" "1.81.0" + constructs "^3.2.0" + "@aws-cdk/aws-s3@1.74.0": version "1.74.0" resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3/-/aws-s3-1.74.0.tgz#5b53839c3af0f67bfb1e96061f6a1ea5be445fe9" @@ -276,6 +536,17 @@ "@aws-cdk/core" "1.74.0" constructs "^3.2.0" +"@aws-cdk/aws-s3@1.81.0", "@aws-cdk/aws-s3@^1.57.0": + version "1.81.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3/-/aws-s3-1.81.0.tgz#67deac6a8b638bae41b04a9c3526ffc5458ae382" + integrity sha512-eCgBUIzPGnMR6Xp68XSVv2XjJitDUeTNIvfN0WtmwqdDvi+XxziJShEbnw/IqbXbesNV9tF0YqyFZGYPY03Ykw== + dependencies: + "@aws-cdk/aws-events" "1.81.0" + "@aws-cdk/aws-iam" "1.81.0" + "@aws-cdk/aws-kms" "1.81.0" + "@aws-cdk/core" "1.81.0" + constructs "^3.2.0" + "@aws-cdk/aws-servicediscovery@1.74.0": version "1.74.0" resolved "https://registry.yarnpkg.com/@aws-cdk/aws-servicediscovery/-/aws-servicediscovery-1.74.0.tgz#6e1145a4b85371431e8f6b21ce6ca7c9d855680c" @@ -312,6 +583,19 @@ "@aws-cdk/core" "1.74.0" constructs "^3.2.0" +"@aws-cdk/aws-sns@1.81.0": + version "1.81.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns/-/aws-sns-1.81.0.tgz#4eb3c5184b658c1d98fa8e118b9aac5f35af0fb7" + integrity sha512-exltTnEbfsdBcKCp+mINKHTscZ+GOVyAKpgt3NmtkZHrrFtx2Ap4i0XtoJqqojnPHbSpjzDdhkiTmuvZqf4lWg== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.81.0" + "@aws-cdk/aws-events" "1.81.0" + "@aws-cdk/aws-iam" "1.81.0" + "@aws-cdk/aws-kms" "1.81.0" + "@aws-cdk/aws-sqs" "1.81.0" + "@aws-cdk/core" "1.81.0" + constructs "^3.2.0" + "@aws-cdk/aws-sqs@1.74.0": version "1.74.0" resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sqs/-/aws-sqs-1.74.0.tgz#998da5838d4310805432f0cf55fcc7c8f34657e2" @@ -323,6 +607,17 @@ "@aws-cdk/core" "1.74.0" constructs "^3.2.0" +"@aws-cdk/aws-sqs@1.81.0": + version "1.81.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sqs/-/aws-sqs-1.81.0.tgz#dd158dce698cac3ab7ae1c84cd449e703e5953aa" + integrity sha512-xmoTdyQ4l8M5dVTYuo0XzqVvciQVHIeIsz8mlPGyT6yNk12YAyTfLXsre7LpatsEY8haKAeMOFsy89fZgtEYNA== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.81.0" + "@aws-cdk/aws-iam" "1.81.0" + "@aws-cdk/aws-kms" "1.81.0" + "@aws-cdk/core" "1.81.0" + constructs "^3.2.0" + "@aws-cdk/aws-ssm@1.74.0": version "1.74.0" resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ssm/-/aws-ssm-1.74.0.tgz#426dd65c0b933618d5c196cb38386c1035b0fdc4" @@ -334,6 +629,17 @@ "@aws-cdk/core" "1.74.0" constructs "^3.2.0" +"@aws-cdk/aws-ssm@1.81.0": + version "1.81.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ssm/-/aws-ssm-1.81.0.tgz#d198aba4ed2dd2f109c329be0b161132a251afb9" + integrity sha512-GLnFWviY8RiyletVvc98BqDfEgnZQ3BbpCafDzNvX2yHg1mfTzt/GcaGiY/suCtTuVM0k29Y/CkqUktidaZPFw== + dependencies: + "@aws-cdk/aws-iam" "1.81.0" + "@aws-cdk/aws-kms" "1.81.0" + "@aws-cdk/cloud-assembly-schema" "1.81.0" + "@aws-cdk/core" "1.81.0" + constructs "^3.2.0" + "@aws-cdk/cfnspec@1.74.0": version "1.74.0" resolved "https://registry.yarnpkg.com/@aws-cdk/cfnspec/-/cfnspec-1.74.0.tgz#03577e266721fe87287f9fc710a95d7b7e5886cd" @@ -341,6 +647,22 @@ dependencies: md5 "^2.3.0" +"@aws-cdk/cloud-assembly-schema@1.56.0": + version "1.56.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.56.0.tgz#b2b3cb687ead39ab8cecfaac6a4bee14666d6abc" + integrity sha512-QLuUOoEzrTyiBbPue1QzMmMLjh6FjuD6dIPJ1O81jPpBuIYiAN7MXzXQ9+4gqM0UrnMpSzB8DW2joENDPtJgFg== + dependencies: + jsonschema "^1.2.5" + semver "^7.2.2" + +"@aws-cdk/cloud-assembly-schema@1.57.0": + version "1.57.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.57.0.tgz#bf9c63cf3ca8cbf0f37886b43b12f5fab5c7c989" + integrity sha512-IJyV3pgMvpbaIVYpUkBGsxIWh+VK7TxuTbEyHfBra5+VgXLoFdSG2UO80b4v6ou+occRqUGbqAnc/VfYr1uuvw== + dependencies: + jsonschema "^1.2.5" + semver "^7.2.2" + "@aws-cdk/cloud-assembly-schema@1.74.0": version "1.74.0" resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.74.0.tgz#f1bbd8411ec320dd9e14ef2dce626a05019c42bc" @@ -349,6 +671,14 @@ jsonschema "^1.4.0" semver "^7.3.2" +"@aws-cdk/cloud-assembly-schema@1.81.0": + version "1.81.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.81.0.tgz#a6b670e99a60d6dff0391dec3825af8a5bac2125" + integrity sha512-ohYnrazmhaaboj9iuS88P+UMOKaet/HLIJPe8t1XVisTv+79qWXjQqhVNHa4sm9U3+5aurtsDAC7ET+eaC8gZw== + dependencies: + jsonschema "^1.4.0" + semver "^7.3.2" + "@aws-cdk/cloudformation-diff@1.74.0": version "1.74.0" resolved "https://registry.yarnpkg.com/@aws-cdk/cloudformation-diff/-/cloudformation-diff-1.74.0.tgz#d86199db530f9df641cff7f3996939c47645d59f" @@ -361,6 +691,28 @@ string-width "^4.2.0" table "^6.0.3" +"@aws-cdk/core@1.56.0": + version "1.56.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.56.0.tgz#499bf691a9937f5f5dfb2b83330fc3f9d9294662" + integrity sha512-MeImBUTbU8ipZAC6gYQHfJRXH+63XD1VBv9g1AO5GpERKHOZ58qiBroQOkVWD5/u+iasXJ7JSC9JKUBC/+2PlQ== + dependencies: + "@aws-cdk/cloud-assembly-schema" "1.56.0" + "@aws-cdk/cx-api" "1.56.0" + constructs "^3.0.2" + fs-extra "^9.0.1" + minimatch "^3.0.4" + +"@aws-cdk/core@1.57.0": + version "1.57.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.57.0.tgz#44e19a18f05d0b0742e5d406474000ef2f6f5db9" + integrity sha512-NOE9u2tVwEF+EN5CYaoC34csBgKLA9rjCWCB6R64RPQ2MlhBFCvQxdG2ZO26nOOvH+yv/3zlylM7F546mfQMHg== + dependencies: + "@aws-cdk/cloud-assembly-schema" "1.57.0" + "@aws-cdk/cx-api" "1.57.0" + constructs "^3.0.2" + fs-extra "^9.0.1" + minimatch "^3.0.4" + "@aws-cdk/core@1.74.0": version "1.74.0" resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.74.0.tgz#132d31c0ab9d39394827431ccd804cf10de34273" @@ -375,6 +727,20 @@ ignore "^5.1.8" minimatch "^3.0.4" +"@aws-cdk/core@1.81.0": + version "1.81.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.81.0.tgz#572eac2622b610e9ee3638fc3d39e1e8307950cf" + integrity sha512-d4IbMVMV37Azi2tog2AphGnGJTyM9WLM+qDOUnIE2HV+5jynaFdtz82vF7z745juRbb6YfZvEgkIVRFqjT/UUQ== + dependencies: + "@aws-cdk/cloud-assembly-schema" "1.81.0" + "@aws-cdk/cx-api" "1.81.0" + "@aws-cdk/region-info" "1.81.0" + "@balena/dockerignore" "^1.0.2" + constructs "^3.2.0" + fs-extra "^9.0.1" + ignore "^5.1.8" + minimatch "^3.0.4" + "@aws-cdk/custom-resources@1.74.0": version "1.74.0" resolved "https://registry.yarnpkg.com/@aws-cdk/custom-resources/-/custom-resources-1.74.0.tgz#19329e8a9b9bc0ca66e00c791b008c416a67265f" @@ -388,6 +754,36 @@ "@aws-cdk/core" "1.74.0" constructs "^3.2.0" +"@aws-cdk/custom-resources@1.81.0": + version "1.81.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/custom-resources/-/custom-resources-1.81.0.tgz#00cf9b3596df21440bffd97ec177f00d2b7cdd38" + integrity sha512-DucA4XDUdEwK5zpTJ0WJzTDB4MiXUNw5BXn1GEknGvKI8i0u3qWUWjSjZzTFE3CFNmwuNVRfcOZoS3gXLma6hg== + dependencies: + "@aws-cdk/aws-cloudformation" "1.81.0" + "@aws-cdk/aws-ec2" "1.81.0" + "@aws-cdk/aws-iam" "1.81.0" + "@aws-cdk/aws-lambda" "1.81.0" + "@aws-cdk/aws-logs" "1.81.0" + "@aws-cdk/aws-sns" "1.81.0" + "@aws-cdk/core" "1.81.0" + constructs "^3.2.0" + +"@aws-cdk/cx-api@1.56.0": + version "1.56.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.56.0.tgz#36bf05de73d26ecc69054855f238beaf0bf2a482" + integrity sha512-IuBmbz025AnuYAKv+ZOvnRV7Wwa/wdCiqiJ3BlVEqPsdvE4ZUMJTqLTY25ho5VT07o8Z/iQg7M6dRs9ccVC9Dw== + dependencies: + "@aws-cdk/cloud-assembly-schema" "1.56.0" + semver "^7.2.2" + +"@aws-cdk/cx-api@1.57.0": + version "1.57.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.57.0.tgz#e6ad6936e1781b821317be60978fb20111cb4d16" + integrity sha512-h2qTTofE8cE1rSZB9ny+7AjjmxEdKoxhq+GsQebQ5NZkrN/Rbc+DL77S/GG53koPG4u/ZoA4UcdLz/JqiGgdPA== + dependencies: + "@aws-cdk/cloud-assembly-schema" "1.57.0" + semver "^7.2.2" + "@aws-cdk/cx-api@1.74.0": version "1.74.0" resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.74.0.tgz#922c11389d723eadef2bc12666ced4980fe9e4cc" @@ -396,11 +792,29 @@ "@aws-cdk/cloud-assembly-schema" "1.74.0" semver "^7.3.2" +"@aws-cdk/cx-api@1.81.0": + version "1.81.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.81.0.tgz#9b5729d0af201a6eb7fc2b7b81667274c80ea660" + integrity sha512-g6m5AbfBUjpRdLFK4OQPawFoJcsGA8bfNe143sS1ZqboGuIdcKS+VXMiG4TWIa3CuOcHwTvAEuz5bCKJD8y2MA== + dependencies: + "@aws-cdk/cloud-assembly-schema" "1.81.0" + semver "^7.3.2" + +"@aws-cdk/region-info@1.57.0": + version "1.57.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/region-info/-/region-info-1.57.0.tgz#ae45fcf82fe7c66348c8b7ecfbb738dfb08bde9d" + integrity sha512-U2V2f/PdD2VDGVwGGShb+7dqhmEEmShlOOdvDQvTmAg2SW6HwOt/rsz+va6EzvWV7fmxtFEfMiJVpnheZ1Vwyg== + "@aws-cdk/region-info@1.74.0": version "1.74.0" resolved "https://registry.yarnpkg.com/@aws-cdk/region-info/-/region-info-1.74.0.tgz#e53eabe2d8980c360e63ea956615253551005182" integrity sha512-xF0etW01PyUNxL9F4xiA2y/pEG9e+0EJpOL7O9gVZ0IxOkIW+J0MljR6O8nx4yCx6j2/dXTs6INZ/zVn0DsydA== +"@aws-cdk/region-info@1.81.0": + version "1.81.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/region-info/-/region-info-1.81.0.tgz#07c77c9ac67fa2c66513f382ee2de641275dc642" + integrity sha512-5491wu9XotwBW83uvVJcl3VTnbUr5oyXw7Y8vlmeaS2FMmjAX9k1hbAy9bV0aOq/6xjwMPvaaRRIu51vvsMglQ== + "@aws-cdk/yaml-cfn@1.74.0": version "1.74.0" resolved "https://registry.yarnpkg.com/@aws-cdk/yaml-cfn/-/yaml-cfn-1.74.0.tgz#ea66da39391acf4d2f385845bb1c3466779bb90c" @@ -1571,6 +1985,17 @@ "@types/yargs" "^15.0.0" chalk "^4.0.0" +"@jest/types@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e" + integrity sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^15.0.0" + chalk "^4.0.0" + "@lerna/add@3.21.0": version "3.21.0" resolved "https://registry.yarnpkg.com/@lerna/add/-/add-3.21.0.tgz#27007bde71cc7b0a2969ab3c2f0ae41578b4577b" @@ -2497,6 +2922,14 @@ jest-diff "^25.2.1" pretty-format "^25.2.1" +"@types/jest@^26.0.19": + version "26.0.19" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.19.tgz#e6fa1e3def5842ec85045bd5210e9bb8289de790" + integrity sha512-jqHoirTG61fee6v6rwbnEuKhpSKih0tuhqeFbCmMmErhtu3BYlOZaXWjffgOstMM4S/3iQD31lI5bGLTrs97yQ== + dependencies: + jest-diff "^26.0.0" + pretty-format "^26.0.0" + "@types/json-schema@^7.0.3": version "7.0.5" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.5.tgz#dcce4430e64b443ba8945f0290fb564ad5bac6dd" @@ -2517,6 +2950,11 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-14.6.0.tgz#7d4411bf5157339337d7cff864d9ff45f177b499" integrity sha512-mikldZQitV94akrc4sCcSjtJfsTKt4p+e/s0AGscVA6XArQ9kFclP+ZiYUMnq987rc6QlYxXv/EivqlfSLxpKA== +"@types/node@^14.14.19": + version "14.14.19" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.19.tgz#5135176a8330b88ece4e9ab1fdcfc0a545b4bab4" + integrity sha512-4nhBPStMK04rruRVtVc6cDqhu7S9GZai0fpXgPXrFpcPX6Xul8xnrjSdGB4KPBVYG/R5+fXWdCM8qBoiULWGPQ== + "@types/normalize-package-data@^2.4.0": version "2.4.0" resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" @@ -3717,6 +4155,11 @@ console-control-strings@^1.0.0, console-control-strings@~1.1.0: resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= +constructs@^3.0.2: + version "3.2.89" + resolved "https://registry.yarnpkg.com/constructs/-/constructs-3.2.89.tgz#f2cc9525100ea6f4224f251c67026b95b589b5b6" + integrity sha512-b8tn6ttheQz51fnoUqLO1/ubHxH+ycnrt089BQY1b6T9QbyX1hXGeqCEiVZxBfuYUaMFg64dOdr/tHu4e+LUDw== + constructs@^3.2.0: version "3.2.38" resolved "https://registry.yarnpkg.com/constructs/-/constructs-3.2.38.tgz#40168c33ddf56948ece101775223e5c0f2cb3388" @@ -4147,6 +4590,11 @@ diff-sequences@^26.3.0: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.3.0.tgz#62a59b1b29ab7fd27cef2a33ae52abe73042d0a2" integrity sha512-5j5vdRcw3CNctePNYN0Wy2e/JbWT6cAYnXv5OuqPhDpyCGc0uLu2TK0zOCJWNB9kOIfYMSpIulRaDgIi4HJ6Ig== +diff-sequences@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" + integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== + diff@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" @@ -5962,6 +6410,16 @@ jest-diff@^25.2.1: jest-get-type "^25.2.6" pretty-format "^25.5.0" +jest-diff@^26.0.0: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" + integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA== + dependencies: + chalk "^4.0.0" + diff-sequences "^26.6.2" + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + jest-diff@^26.4.0: version "26.4.0" resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.4.0.tgz#d073a0a11952b5bd9f1ff39bb9ad24304a0c55f7" @@ -6412,7 +6870,7 @@ jsonparse@^1.2.0: resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" integrity sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA= -jsonschema@^1.4.0: +jsonschema@^1.2.5, jsonschema@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.4.0.tgz#1afa34c4bc22190d8e42271ec17ac8b3404f87b2" integrity sha512-/YgW6pRMr6M7C+4o8kS+B/2myEpHCrxO4PEWnqJNBFMjn7EWXqlQ4tGwL6xTHeRplwuZmcAncdvfOad1nT2yMw== @@ -6734,6 +7192,13 @@ lru-cache@^5.1.1: dependencies: yallist "^3.0.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" + macos-release@^2.2.0: version "2.4.1" resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-2.4.1.tgz#64033d0ec6a5e6375155a74b1a1eba8e509820ac" @@ -7810,6 +8275,16 @@ pretty-format@^25.2.1, pretty-format@^25.5.0: ansi-styles "^4.0.0" react-is "^16.12.0" +pretty-format@^26.0.0, pretty-format@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" + integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg== + dependencies: + "@jest/types" "^26.6.2" + ansi-regex "^5.0.0" + ansi-styles "^4.0.0" + react-is "^17.0.1" + pretty-format@^26.4.0: version "26.4.0" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.4.0.tgz#c08073f531429e9e5024049446f42ecc9f933a3b" @@ -7997,6 +8472,11 @@ react-is@^16.12.0: resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== +react-is@^17.0.1: + version "17.0.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.1.tgz#5b3531bd76a645a4c9fb6e693ed36419e3301339" + integrity sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA== + read-cmd-shim@^1.0.1: version "1.0.5" resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-1.0.5.tgz#87e43eba50098ba5a32d0ceb583ab8e43b961c16" @@ -8505,6 +8985,13 @@ semver@^6.0.0, semver@^6.2.0, semver@^6.3.0: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== +semver@^7.2.2: + version "7.3.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.4.tgz#27aaa7d2e4ca76452f98d3add093a72c943edc97" + integrity sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw== + dependencies: + lru-cache "^6.0.0" + set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" @@ -9855,6 +10342,11 @@ yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3: resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== +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@1.10.0, yaml@^1.10.0: version "1.10.0" resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" From d08502c13550fa19dd96bf1ef9a2f5771da5bd99 Mon Sep 17 00:00:00 2001 From: Jay Date: Fri, 1 Jan 2021 23:10:32 -0500 Subject: [PATCH 047/123] Handling another case in the symlink script --- packages/cli/test/helpers/copy-symlinks.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/cli/test/helpers/copy-symlinks.js b/packages/cli/test/helpers/copy-symlinks.js index 7dc23797a1..fe5053f0aa 100644 --- a/packages/cli/test/helpers/copy-symlinks.js +++ b/packages/cli/test/helpers/copy-symlinks.js @@ -12,6 +12,10 @@ const rootBin = path.join(__dirname, "../../../../node_modules", ".bin"); const appBin = path.join("node_modules", ".bin"); +if (!fs.existsSync("node_modules")) { + fs.mkdirSync("node_modules"); +} + if (!fs.existsSync(appBin)) { fs.mkdirSync(appBin); } From d77eb1c9aa06b9260419970cd04fcee3b42ceb16 Mon Sep 17 00:00:00 2001 From: Jay Date: Fri, 1 Jan 2021 23:29:31 -0500 Subject: [PATCH 048/123] Using cwd for the appPath --- packages/cli/assets/cdk-wrapper/run.js | 18 +++++---------- packages/resources/src/App.ts | 31 +++++--------------------- packages/resources/src/Function.ts | 1 - packages/resources/src/util/builder.ts | 4 ++-- 4 files changed, 13 insertions(+), 41 deletions(-) diff --git a/packages/cli/assets/cdk-wrapper/run.js b/packages/cli/assets/cdk-wrapper/run.js index 334fa6122f..2959be14be 100644 --- a/packages/cli/assets/cdk-wrapper/run.js +++ b/packages/cli/assets/cdk-wrapper/run.js @@ -29,18 +29,12 @@ if (!handler.default) { } handler.default( - new sst.App( - { - name: config.name, - stage: config.stage, - region: config.region, - }, - {}, - { - appPath, - debugEndpoint: config.debugEndpoint, - } - ) + new sst.App({ + name: config.name, + stage: config.stage, + region: config.region, + debugEndpoint: config.debugEndpoint, + }) ); function handlerNotFound(importFailed) { diff --git a/packages/resources/src/App.ts b/packages/resources/src/App.ts index 1ed6942855..3b4cca7623 100644 --- a/packages/resources/src/App.ts +++ b/packages/resources/src/App.ts @@ -25,16 +25,6 @@ export interface DeployProps { * @default - Defaults to us-east-1 */ readonly region?: string; -} - -/** - * Local build props for apps. - */ -export interface BuildProps { - /** - * The root path for the SST app. - */ - readonly appPath?: string; /** * The local WebSockets debug enpoint used by `sst start`. @@ -68,36 +58,25 @@ export class App extends cdk.App { public readonly region: string; /** - * The root path for the SST app + * The local WebSockets debug endpoint */ - public readonly appPath: string; + public readonly debugEndpoint?: string; /** * The build dir for the SST app */ public readonly buildDir: string = ".build"; - /** - * The local WebSockets debug endpoint - */ - public readonly debugEndpoint?: string; - - constructor( - deployProps: DeployProps = {}, - props: AppProps = {}, - buildProps: BuildProps = {}, - ) { + constructor(deployProps: DeployProps = {}, props: AppProps = {}) { super(props); this.stage = deployProps.stage || "dev"; this.name = deployProps.name || "my-app"; this.region = deployProps.region || "us-east-1"; - this.appPath = buildProps.appPath || ""; - - if (buildProps.debugEndpoint) { + if (deployProps.debugEndpoint) { this.local = true; - this.debugEndpoint = buildProps.debugEndpoint; + this.debugEndpoint = deployProps.debugEndpoint; } } diff --git a/packages/resources/src/Function.ts b/packages/resources/src/Function.ts index 3d4864688f..9ab073377e 100644 --- a/packages/resources/src/Function.ts +++ b/packages/resources/src/Function.ts @@ -52,7 +52,6 @@ export class Function extends lambda.Function { } else { const builderOutput = builder({ srcPath: code.path, - appPath: root.appPath, handler: props.handler, buildDir: root.buildDir, }); diff --git a/packages/resources/src/util/builder.ts b/packages/resources/src/util/builder.ts index 7985f06325..4e1a7399cd 100644 --- a/packages/resources/src/util/builder.ts +++ b/packages/resources/src/util/builder.ts @@ -4,7 +4,6 @@ import * as esbuild from "esbuild"; import { execSync } from "child_process"; interface BuilderProps { - readonly appPath: string; readonly srcPath: string; readonly handler: string; readonly buildDir: string; @@ -33,10 +32,11 @@ function getEsbuildMetafileName(srcPath: string, handler: string): string { } export function builder(builderProps: BuilderProps) { - const { srcPath, handler, appPath, buildDir } = builderProps; + const { srcPath, handler, buildDir } = builderProps; const external = ["aws-sdk"]; + const appPath = process.cwd(); const tsconfig = path.join(srcPath, "tsconfig.json"); const isTs = fs.existsSync(tsconfig); const extension = isTs ? ".ts" : ".js"; From 02338492b8d34aa030b06f920290cf634602b9ab Mon Sep 17 00:00:00 2001 From: Frank Date: Sun, 3 Jan 2021 16:03:19 -0500 Subject: [PATCH 049/123] Working on sst start --- packages/cli/lib/logger.js | 69 +- packages/cli/package.json | 1 + packages/cli/scripts/add-cdk.js | 4 +- packages/cli/scripts/build.js | 10 +- packages/cli/scripts/deploy.js | 22 +- packages/cli/scripts/remove.js | 16 +- packages/cli/scripts/start.js | 1169 ++++++++++++----------- packages/cli/scripts/util/cdkHelpers.js | 22 +- yarn.lock | 136 ++- 9 files changed, 808 insertions(+), 641 deletions(-) diff --git a/packages/cli/lib/logger.js b/packages/cli/lib/logger.js index 675fe6577b..dcb74cc2a9 100644 --- a/packages/cli/lib/logger.js +++ b/packages/cli/lib/logger.js @@ -1,24 +1,57 @@ -const chalk = require("chalk"); +const { createLogger, format, transports } = require("winston"); +const LEVEL = Symbol.for("level"); +const paths = require("../scripts/util/paths"); -function debug(message) { - if (!process.env.DEBUG) { - return; +const consoleLogFormat = format.printf( + ({ level, message, label, timestamp, [LEVEL]: rawLevel }) => { + if (process.env.DEBUG) { + return `${timestamp} [${label}] ${level}: ${message}`; + } else { + // logger.info('hi') => hi + // logger.warn('hi') => warn hi + // childLogger.warn('hi') => [child] warn hi + if (rawLevel === "info") { + return message; + } else { + return label ? `[${label}] ${level} ${message}` : `${level} ${message}`; + } + } } - console.debug(chalk.grey("debug ") + message); -} -function log(message) { - console.log(message); -} -function warn(message) { - console.warn(chalk.yellow("warn ") + message); -} -function error(message) { - console.error(chalk.red("error ") + message); +); + +const fileLogFormat = format.printf(({ level, message, label, timestamp }) => { + return `${timestamp} [${label}] ${level}: ${message}`; +}); + +const logger = createLogger({ + transports: [ + new transports.Console({ + level: process.env.DEBUG ? "debug" : "info", + format: format.combine( + format.colorize(), + format.timestamp(), + consoleLogFormat + ), + }), + ], +}); + +function addFileTransport() { + logger.add( + new transports.File({ + filename: `${paths.appBuildPath}/sst-debug.log`, + maxsize: 1024 * 1024 * 10, + maxFiles: 5, + tailable: true, + level: "silly", + format: format.combine(format.timestamp(), fileLogFormat), + handleExceptions: true, + handleRejections: true, + }) + ); } module.exports = { - log, - warn, - debug, - error, + addFileTransport, + logger, }; diff --git a/packages/cli/package.json b/packages/cli/package.json index 09ebe2f4d3..a4bdacf8ac 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -65,6 +65,7 @@ "source-map-support": "^0.5.19", "ts-jest": "^26.1.4", "typescript": "^3.9.7", + "winston": "^3.3.3", "ws": "^7.4.0", "yargs": "^15.4.1" }, diff --git a/packages/cli/scripts/add-cdk.js b/packages/cli/scripts/add-cdk.js index 01c4c06903..11d264c493 100644 --- a/packages/cli/scripts/add-cdk.js +++ b/packages/cli/scripts/add-cdk.js @@ -3,7 +3,7 @@ const chalk = require("chalk"); const spawn = require("cross-spawn"); -const logger = require("../lib/logger"); +const { logger } = require("../lib/logger"); module.exports = async function (argv, cliInfo) { const npm = cliInfo.npm; @@ -22,7 +22,7 @@ module.exports = async function (argv, cliInfo) { args = args.concat(packages); - logger.log(chalk.grey(`${helperCopy}: ${command} ${args.join(" ")}`)); + logger.info(chalk.grey(`${helperCopy}: ${command} ${args.join(" ")}`)); if (dryRun) { return; diff --git a/packages/cli/scripts/build.js b/packages/cli/scripts/build.js index ccb40a790b..05854dc832 100644 --- a/packages/cli/scripts/build.js +++ b/packages/cli/scripts/build.js @@ -2,7 +2,7 @@ const chalk = require("chalk"); -const logger = require("../lib/logger"); +const { logger } = require("../lib/logger"); const { synth } = require("./util/cdkHelpers"); function printResults(results, usingYarn) { @@ -11,7 +11,7 @@ function printResults(results, usingYarn) { const stacksCopy = l === 1 ? "stack" : "stacks"; const deployCmd = usingYarn ? "yarn sst deploy" : "npx sst deploy"; - logger.log( + logger.info( `\nSuccessfully compiled ${l} ${stacksCopy} to ${chalk.cyan( "build/cdk.out" )}:\n` @@ -19,14 +19,14 @@ function printResults(results, usingYarn) { for (var i = 0; i < l; i++) { const stack = stacks[i]; - logger.log(` ${chalk.cyan(stack.id)}`); + logger.info(` ${chalk.cyan(stack.id)}`); } - logger.log(`\nRun ${chalk.cyan(deployCmd)} to deploy to AWS.`); + logger.info(`\nRun ${chalk.cyan(deployCmd)} to deploy to AWS.`); } module.exports = async function (argv, config, cliInfo) { - logger.log(chalk.grey("Synthesizing CDK")); + logger.info(chalk.grey("Synthesizing CDK")); const results = await synth(cliInfo.cdkOptions); printResults(results, cliInfo.yarn); diff --git a/packages/cli/scripts/deploy.js b/packages/cli/scripts/deploy.js index 93f393fd1b..dd54c4aff7 100644 --- a/packages/cli/scripts/deploy.js +++ b/packages/cli/scripts/deploy.js @@ -3,10 +3,10 @@ const chalk = require("chalk"); const { parallelDeploy } = require("./util/cdkHelpers"); -const logger = require("../lib/logger"); +const { logger } = require("../lib/logger"); module.exports = async function (argv, config, cliInfo) { - logger.log(chalk.grey("Deploying " + (argv.stack ? argv.stack : "stacks"))); + logger.info(chalk.grey("Deploying " + (argv.stack ? argv.stack : "stacks"))); // Wait for deploy to complete let stackStates; @@ -27,7 +27,7 @@ module.exports = async function (argv, config, cliInfo) { // message to let users know we are still checking. const currEventCount = getEventCount(stackStates); if (currEventCount === prevEventCount) { - logger.log("Checking deploy status..."); + logger.info("Checking deploy status..."); } await new Promise((resolve) => setTimeout(resolve, 5000)); @@ -36,27 +36,27 @@ module.exports = async function (argv, config, cliInfo) { // Print deploy result stackStates.forEach(({ name, status, errorMessage, outputs, exports }) => { - logger.log(`\nStack ${name}`); - logger.log(` Status: ${formatStackStatus(status)}`); + logger.info(`\nStack ${name}`); + logger.info(` Status: ${formatStackStatus(status)}`); if (errorMessage) { - logger.log(` Error: ${errorMessage}`); + logger.info(` Error: ${errorMessage}`); } if (Object.keys(outputs || {}).length > 0) { - logger.log(" Outputs:"); + logger.info(" Outputs:"); Object.keys(outputs).forEach((name) => - logger.log(` ${name}: ${outputs[name]}`) + logger.info(` ${name}: ${outputs[name]}`) ); } if (Object.keys(exports || {}).length > 0) { - logger.log(" Exports:"); + logger.info(" Exports:"); Object.keys(exports).forEach((name) => - logger.log(` ${name}: ${exports[name]}`) + logger.info(` ${name}: ${exports[name]}`) ); } }); - logger.log(""); + logger.info(""); return stackStates.map((stackState) => ({ name: stackState.name, diff --git a/packages/cli/scripts/remove.js b/packages/cli/scripts/remove.js index 9ac5e9f6f4..b86c8236db 100644 --- a/packages/cli/scripts/remove.js +++ b/packages/cli/scripts/remove.js @@ -6,7 +6,7 @@ const { parallelDestroy } = require("@serverless-stack/core"); const paths = require("./util/paths"); const { destroy: cdkDestroy } = require("./util/cdkHelpers"); -const logger = require("../lib/logger"); +const { logger } = require("../lib/logger"); module.exports = async function (argv, config, cliInfo) { const stackName = `${config.stage}-debug-stack`; @@ -14,7 +14,7 @@ module.exports = async function (argv, config, cliInfo) { //////////////////////// // Remove debug stack // //////////////////////// - logger.log(chalk.grey("Removing " + stackName + " stack")); + logger.info(chalk.grey("Removing " + stackName + " stack")); const debugAppArgs = [stackName, config.stage, config.region]; // Note: When deploying the debug stack, the current working directory is user's app. // Setting the current working directory to debug stack cdk app directory to allow @@ -31,7 +31,7 @@ module.exports = async function (argv, config, cliInfo) { //////////////// // Remove app // //////////////// - logger.log(chalk.grey("Removing " + (argv.stack ? argv.stack : "stacks"))); + logger.info(chalk.grey("Removing " + (argv.stack ? argv.stack : "stacks"))); // Wait for remove to complete let stackStates; @@ -45,20 +45,20 @@ module.exports = async function (argv, config, cliInfo) { // Wait for 5 seconds if (!isCompleted) { - logger.log("Checking remove status..."); + logger.info("Checking remove status..."); await new Promise((resolve) => setTimeout(resolve, 5000)); } } while (!isCompleted); // Print remove result stackStates.forEach(({ name, status, errorMessage }) => { - logger.log(`\nStack ${name}`); - logger.log(` Status: ${formatStackStatus(status)}`); + logger.info(`\nStack ${name}`); + logger.info(` Status: ${formatStackStatus(status)}`); if (errorMessage) { - logger.log(` Error: ${errorMessage}`); + logger.info(` Error: ${errorMessage}`); } }); - logger.log(""); + logger.info(""); return stackStates.map((stackState) => ({ name: stackState.name, diff --git a/packages/cli/scripts/start.js b/packages/cli/scripts/start.js index 45f4f31e70..b0ad5fbb76 100644 --- a/packages/cli/scripts/start.js +++ b/packages/cli/scripts/start.js @@ -17,7 +17,12 @@ const { deploy: cdkDeploy, } = require("./util/cdkHelpers"); const array = require("../lib/array"); -const logger = require("../lib/logger"); +const { logger, addFileTransport } = require("../lib/logger"); + +// Setup logger +addFileTransport(); +const clientLogger = logger.child({ label: "client" }); +const builderLogger = logger.child({ label: "builder" }); // Create Promise.allSettled shim allSettled.shim(); @@ -36,425 +41,432 @@ const WEBSOCKET_CLOSE_CODE = { NEW_CLIENT_CONNECTED: 4901, }; -const transpilerTemplateObject = { +let ws; +let watcher; +let tscExec; +let eslintExec; +let esbuildService; + +const builderState = { + isRebuilding: false, + entryPointsData: {}, + srcPathsData: {}, + watchedFilesIndex: {}, +}; +const entryPointDataTemplateObject = { srcPath: null, handler: null, tsconfig: null, + hasError: false, esbuilder: null, inputFiles: null, outHandler: null, + transpilePromise: null, + needsReTranspile: false, + pendingRequestCallbacks: [], }; -const srcPathsIndexTemplateObject = { +const srcPathDataTemplateObject = { + srcPath: null, tsconfig: null, inputFiles: null, + lintProcess: null, + typeCheckProcess: null, + needsReCheck: false, }; -let ws; -let watcher; -let tscExec; -let eslintExec; -let esbuildService; - -let transpilers = {}; -let srcPathsIndex = {}; -let inputFilesIndex = {}; +const MOCK_SLOW_ESBUILD_RETRANSPILE_IN_MS = 0; -const rebuildTranspilerQ = createPromiseQueue(function (srcPath, handler) { - const transpiler = getTranspiler(srcPath, handler); - return makeCancelable(rebuildTranspiler(transpiler)); +process.on("uncaughtException", (err, origin) => { + logger.info("===== Unhandled Exception at:", err, "origin:", origin); }); -const lintQ = createPromiseQueue(function (srcPath) { - // Esnure that only the srcPath is used for indexing the queue - return lint(srcPath); +process.on("unhandledRejection", (reason, promise) => { + logger.info("===== Unhandled Rejection at:", promise, "reason:", reason); }); -const typeCheckQ = createPromiseQueue(function (srcPath) { - // Esnure that only the srcPath is used for indexing the queue - return typeCheck(srcPath); +process.on("rejectionHandled", (promise) => { + logger.info("===== Rejection Handled at:", promise); }); -function makeCancelable(promise, onCancel) { - let hasCanceled_ = false; - - function cancelError() { - return { cancelled: true }; - } - - const wrappedPromise = new Promise((resolve, reject) => { - promise.then( - // Don't do anything if cancelled - (val) => (hasCanceled_ ? reject(cancelError()) : resolve(val)), - (error) => (hasCanceled_ ? reject(cancelError()) : reject(error)) - ); - }); +module.exports = async function (argv, cliInfo) { + const config = applyConfig(argv); - wrappedPromise.cancel = function () { - onCancel && onCancel(); - hasCanceled_ = true; - }; + // Deploy debug stack + config.debugEndpoint = await deployDebugStack(cliInfo, config); - return wrappedPromise; -} + // Deploy app + await deployApp(argv, cliInfo, config); -function createPromiseQueue(fn) { - const callStatus = { - IDLE: "idle", - BUSY: "busy", - }; - const callTemplate = { - sig: null, - args: null, - promise: null, - callbacks: [], - status: callStatus.IDLE, - }; + // Start client + try { + await startBuilder([ + { srcPath: "src/api", handler: "api.handler" }, + { srcPath: "src/sns", handler: "sns.handler" }, + ]); + } catch (e) { + return; + } - const calls = {}; + startClient(config.debugEndpoint); +}; - function getCallSignature(args) { - return args.map((arg) => arg.toString()).join(" "); - } +async function deployDebugStack(cliInfo, config) { + const stackName = `${config.stage}-debug-stack`; - function getCall(args) { - const sig = getCallSignature(args); + logger.info(""); + logger.info("======================="); + logger.info(" Deploying debug stack"); + logger.info("======================="); + logger.info(""); - return calls[sig] - ? calls[sig] - : (calls[sig] = { ...callTemplate, sig, args }); - } + const debugAppArgs = [stackName, config.stage, config.region]; + // Note: When deploying the debug stack, the current working directory is user's app. + // Setting the current working directory to debug stack cdk app directory to allow + // Lambda Function construct be able to reference code with relative path. + process.chdir(path.join(paths.ownPath, "assets", "debug-stack")); + const debugStackRet = await cdkDeploy({ + ...cliInfo.cdkOptions, + app: `node bin/index.js ${debugAppArgs.join(" ")}`, + output: "cdk.out", + }); + // Note: Restore working directory + process.chdir(paths.appPath); - function addToCallbacks(call) { - return new Promise((resolve, reject) => - call.callbacks.push({ resolve, reject }) + // Get WebSocket endpoint + if ( + !debugStackRet || + !debugStackRet.outputs || + !debugStackRet.outputs.Endpoint + ) { + throw new Error( + `Failed to get the endpoint from the deployed debug stack ${stackName}` ); } - function setIdle(call) { - call.status = callStatus.IDLE; - call.promise = null; - call.callbacks = []; - } + return debugStackRet.outputs.Endpoint; +} +async function deployApp(argv, cliInfo, config) { + logger.info(""); + logger.info("==============="); + logger.info(" Deploying app"); + logger.info("==============="); + logger.info(""); - function setBusy(call) { - call.status = callStatus.BUSY; + prepareCdk(argv, cliInfo, config); + await sstDeploy(argv, config, cliInfo); +} - if (call.promise) { - call.promise.cancel && call.promise.cancel(); - call.promise = null; - } +/////////////////////// +// Builder functions // +/////////////////////// - const promise = (call.promise = fn(...call.args)); +async function startBuilder(entryPoints) { + builderLogger.info(""); + builderLogger.info("==================="); + builderLogger.info(" Starting debugger"); + builderLogger.info("==================="); + builderLogger.info(""); - promise.then( - (value) => handleNext(call, "fulfilled", value), - (reason) => handleNext(call, "rejected", reason) - ); + initializeBuilderState(entryPoints); - return promise; - } + // Run transpiler + builderLogger.info("Transpiling Lambda code..."); - function onBusyComplete(call, resultStatus, result) { - call.callbacks.forEach(({ resolve, reject }) => - resultStatus === "fulfilled" ? resolve(result) : reject(result) - ); + esbuildService = await esbuild.startService(); + const results = await Promise.allSettled( + entryPoints.map(({ srcPath, handler }) => + // Not catching esbuild errors + // Letting it handle the error messages for now + transpile(srcPath, handler) + ) + ); + esbuildService.stop(); - setIdle(call); + const hasError = results.some((result) => result.status === "rejected"); + if (hasError) { + Object.keys(builderState.entryPointsData).forEach((key) => { + if (builderState.entryPointsData[key].esbuilder !== null) { + builderState.entryPointsData[key].esbuilder.rebuild.dispose(); + } + }); + throw new Error("Error transpiling"); } - function handleNext(call, resultStatus, result) { - if (resultStatus === "rejected" && result && result.cancelled) { - console.log("Discard cancelled promise"); - // Discard cancelled promises - return; - } - - switch (call.status) { - case callStatus.IDLE: - break; - case callStatus.BUSY: - onBusyComplete(call, resultStatus, result); - break; - } + // Validate transpiled + const srcPaths = getAllSrcPaths(); + if (srcPaths.length === 0) { + builderLogger.info("Nothing has been transpiled"); + return; } - return { - queue: function (...args) { - const call = getCall(args); + // Run linter and type checker + tscExec = await getCmdPath("tsc"); + eslintExec = await getCmdPath("eslint"); - return setBusy(call); - }, + srcPaths.forEach((srcPath) => { + const lintProcess = lint(srcPath); + const typeCheckProcess = typeCheck(srcPath); + onLintAndTypeCheckStarted({ srcPath, lintProcess, typeCheckProcess }); + }); - complete: function (...args) { - const call = getCall(args); + // Run watcher + const allInputFiles = getAllWatchedFiles(); - switch (call.status) { - case callStatus.IDLE: - return Promise.resolve(); - case callStatus.BUSY: - return addToCallbacks(call); - } - }, - }; + watcher = chokidar + .watch(allInputFiles, chokidarOptions) + .on("all", onFileChange) + .on("error", (error) => builderLogger.info(`Watch ${error}`)) + .on("ready", () => { + builderLogger.debug(`Watcher ready for ${allInputFiles.length} files...`); + }); } +async function updateBuilder() { + builderLogger.silly(serializeState()); -// TODO: Remove -//function sleep(ms) { -// return new Promise(resolve => setTimeout(resolve, ms)); -//} + const { entryPointsData, srcPathsData } = builderState; -function setTimer(lambda, handleResponse, timeoutInMs) { - return setTimeout(function () { - handleResponse({ type: "timeout" }); - - try { - process.kill(lambda.pid, "SIGKILL"); - } catch (e) { - logger.log(e); - logger.error("Cannot kill timed out Lambda"); + // Run transpiler + Object.keys(entryPointsData).forEach((key) => { + let { + srcPath, + handler, + transpilePromise, + needsReTranspile, + } = entryPointsData[key]; + if (!transpilePromise && needsReTranspile) { + const transpilePromise = reTranspiler(srcPath, handler); + onReTranspileStarted({ srcPath, handler, transpilePromise }); } - }, timeoutInMs); -} + }); -function getInputFilesForTranspiler(transpiler) { - return transpiler.inputFiles; -} + // Check all entrypoints transpiled, if not => wait + const isTranspiling = Object.keys(entryPointsData).some( + (key) => entryPointsData[key].transpilePromise + ); + if (isTranspiling) { + return; + } -function getTsconfigForTranspiler(transpiler) { - return transpiler.tsconfig; -} + // Check all entrypoints successfully transpiled, if not => do not run lint and checker + const hasError = Object.keys(entryPointsData).some( + (key) => entryPointsData[key].hasError + ); + if (hasError) { + return; + } -function getSrcPathForTranspiler(transpiler) { - return transpiler.srcPath; -} + // Run linter and type checker + Object.keys(srcPathsData).forEach((srcPath) => { + let { lintProcess, typeCheckProcess, needsReCheck } = srcPathsData[srcPath]; + if (needsReCheck) { + // stop existing linter & type checker + lintProcess && lintProcess.kill(); + typeCheckProcess && typeCheckProcess.kill(); -function getHandlerForTranspiler(transpiler) { - return transpiler.handler; -} + // start new linter & type checker + lintProcess = lint(srcPath); + typeCheckProcess = typeCheck(srcPath); -function getEntryPointKeys() { - return Object.keys(transpilers); + onLintAndTypeCheckStarted({ srcPath, lintProcess, typeCheckProcess }); + } + }); } -function getTranspilerForKey(key) { - return transpilers[key]; -} +async function onFileChange(ev, file) { + builderLogger.debug(`File change: ${file}`); -function getEsbuilderForTranspiler(transpiler) { - return transpiler.esbuilder; -} + // Get entrypoints changed + const entryPointKeys = builderState.watchedFilesIndex[file]; + if (!entryPointKeys) { + builderLogger.debug("File is not linked to the entry points"); + return; + } + + // Mark changed entrypoints + entryPointKeys.map((key) => { + builderState.entryPointsData[key].needsReTranspile = true; + }); -function addTranspiler({ + await updateBuilder(); +} +function onTranspileSucceeded( srcPath, handler, - tsconfig, - esbuilder, - outHandler, - inputFiles, -}) { - const transpiler = { - ...transpilerTemplateObject, - srcPath, - handler, + { tsconfig, esbuilder, outHandler, inputFiles } +) { + const key = `${srcPath}/${handler}`; + // Update entryPointsData + builderState.entryPointsData[key] = { + ...builderState.entryPointsData[key], tsconfig, esbuilder, - inputFiles, outHandler, + inputFiles, }; - return (transpilers[`${srcPath}/${handler}`] = transpiler); -} - -function updateTranspilerInputFile(transpiler, inputFiles) { - transpiler.inputFiles = inputFiles; -} - -function getTranspiler(srcPath, handler) { - return transpilers[`${srcPath}/${handler}`]; -} - -function getAllInputFiles() { - return Object.keys(inputFilesIndex); -} - -function diffInputFiles(list1, list2) { - const remove = []; - const add = []; - - list1.forEach((item) => list2.indexOf(item) === -1 && remove.push(item)); - list2.forEach((item) => list1.indexOf(item) === -1 && add.push(item)); + // Update srcPath index + builderState.srcPathsData[srcPath] = { + ...srcPathDataTemplateObject, + srcPath, + tsconfig, + inputFiles, + }; - return { add, remove }; + // Update inputFiles + inputFiles.forEach((file) => { + builderState.watchedFilesIndex[file] = + builderState.watchedFilesIndex[file] || []; + builderState.watchedFilesIndex[file].push(key); + }); } +function onReTranspileStarted({ srcPath, handler, transpilePromise }) { + const key = `${srcPath}/${handler}`; -function addEntryPointKeyForInputFile(file, key) { - if (inputFilesIndex[file]) { - inputFilesIndex[file].push(key); - } else { - inputFilesIndex[file] = [key]; + // Print rebuilding message + if (!builderState.isRebuilding) { + builderState.isRebuilding = true; + builderLogger.info("Rebuilding..."); } -} -function getEntryPointKeysForInputFile(file) { - return inputFilesIndex[file]; + // Update entryPointsData + builderState.entryPointsData[key] = { + ...builderState.entryPointsData[key], + needsReTranspile: false, + transpilePromise, + }; } +async function onReTranspileSucceeded(srcPath, handler, { inputFiles }) { + const key = `${srcPath}/${handler}`; -function addToSrcPathIndex(srcPath, inputFiles, tsconfig) { - function addToInputFilesIndex(index, inputFiles) { - inputFiles.forEach((file) => (index[file] = true)); - return index; - } - - const srcPathObject = srcPathsIndex[srcPath]; + // Note: If the handler included new files, while re-transpiling, the new files + // might have been updated. And because the new files has not been added to + // the watcher yet, onFileChange() wouldn't get called. We need to re-transpile + // again. + const oldInputFiles = builderState.entryPointsData[key].inputFiles; + const inputFilesDiff = diffInputFiles(oldInputFiles, inputFiles); + const hasNewInputFiles = inputFilesDiff.add.length > 0; - if (srcPathObject) { - srcPathObject.inputFiles = addToInputFilesIndex( - srcPathObject.inputFiles, - inputFiles - ); - srcPathObject.tsconfig = srcPathObject.tsconfig || tsconfig; - } else { - srcPathsIndex[srcPath] = { - ...srcPathsIndexTemplateObject, - tsconfig, - inputFiles: addToInputFilesIndex({}, inputFiles), - }; - } -} - -function getUniqueSrcPaths() { - return Object.keys(srcPathsIndex); -} + // Update entryPointsData + builderState.entryPointsData[key] = { + ...builderState.entryPointsData[key], + inputFiles, + hasError: false, + transpilePromise: null, + needsReTranspile: + builderState.entryPointsData[key].needsReTranspile || hasNewInputFiles, + }; -function getUniqueSrcPathsForEntryPointKeys(entryPointKeys) { - const srcPaths = {}; + // Update srcPathsData + const srcPathInputFiles = Object.keys(builderState.entryPointsData) + .filter((key) => builderState.entryPointsData[key].srcPath === srcPath) + .map((key) => builderState.entryPointsData[key].inputFiles) + .flat(); + builderState.srcPathsData[srcPath] = { + ...builderState.srcPathsData[srcPath], + inputFiles: array.unique(srcPathInputFiles), + needsReCheck: true, + }; - entryPointKeys.forEach((key) => { - const srcPath = getSrcPathForTranspiler(getTranspilerForKey(key)); - srcPaths[srcPath] = true; + // Update watched files index + inputFilesDiff.add.forEach((file) => { + builderState.watchedFilesIndex[file] = + builderState.watchedFilesIndex[file] || []; + builderState.watchedFilesIndex[file].push(key); + }); + inputFilesDiff.remove.forEach((file) => { + const index = builderState.watchedFilesIndex[file].indexOf(key); + if (index > -1) { + builderState.watchedFilesIndex[file].splice(index, 1); + } + if (builderState.watchedFilesIndex[file] === 0) { + delete builderState.watchedFilesIndex[file]; + } }); - return Object.keys(srcPaths); -} - -function getInputFilesForSrcPath(srcPath) { - return Object.keys(srcPathsIndex[srcPath].inputFiles); -} - -function getTsconfigForSrcPath(srcPath) { - return srcPathsIndex[srcPath].tsconfig; -} - -async function getTranspiledHandler(srcPath, handler) { - const transpiler = getTranspiler(srcPath, handler); - - console.log(`Getting latest transpiler output for ${handler}...`); - - // Wait for transpiler queue to complete - await rebuildTranspilerQ.complete(srcPath, handler); - - return transpiler.outHandler; -} - -async function checkFileExists(file) { - return fs.promises - .access(file, fs.constants.F_OK) - .then(() => true) - .catch(() => false); -} - -async function getCmdPath(cmd) { - const appPath = path.join(paths.appNodeModules, ".bin", cmd); - const ownPath = path.join(paths.ownNodeModules, ".bin", cmd); - - // Fallback to own node modules, in case of tests that don't install the cli - return (await checkFileExists(appPath)) ? appPath : ownPath; -} - -async function getHandlerFilePath(srcPath, handler) { - const parts = handler.split("."); - const name = parts[0]; - - const jsFile = path.join(paths.appPath, srcPath, `${name}.js`); - - if (await checkFileExists(jsFile)) { - return jsFile; + // Update watcher + if (inputFilesDiff.add.length > 0) { + watcher.add(inputFilesDiff.add); } - - const tsFile = path.join(paths.appPath, srcPath, `${name}.ts`); - - if (await checkFileExists(tsFile)) { - return tsFile; + if (inputFilesDiff.remove.length > 0) { + await watcher.unwatch(inputFilesDiff.remove); } - return jsFile; -} - -function getEsbuildMetafilePath(srcPath, handler) { - const key = `${srcPath}/${handler}`.replace(/[/.]/g, "-"); - const outSrcFullPath = path.join(paths.appPath, srcPath, paths.appBuildDir); - - return path.join(outSrcFullPath, `.esbuild.${key}.json`); -} - -async function getAllExternalsForHandler(srcPath) { - let externals; - - try { - const packageJson = JSON.parse( - await fs.promises.readFile(path.join(srcPath, "package.json"), { - encoding: "utf-8", - }) + // Fullfil pending requests + if (!builderState.entryPointsData[key].needsReTranspile) { + builderState.entryPointsData[key].pendingRequestCallbacks.forEach( + ({ resolve }) => { + resolve(); + } ); - externals = Object.keys({ - ...(packageJson.dependencies || {}), - ...(packageJson.devDependencies || {}), - ...(packageJson.peerDependencies || {}), - }); - } catch (e) { - console.log(`No package.json found in ${srcPath}`); - externals = []; } - return externals; + await updateBuilder(); } +async function onReTranspileFailed(srcPath, handler) { + const key = `${srcPath}/${handler}`; -async function getInputFilesFromEsbuildMetafile(file) { - let metaJson; + // Update entryPointsData + builderState.entryPointsData[key] = { + ...builderState.entryPointsData[key], + hasError: true, + transpilePromise: null, + }; - try { - metaJson = JSON.parse( - await fs.promises.readFile(file, { encoding: "utf-8" }) + // Fullfil pending requests + if (!builderState.entryPointsData[key].needsReTranspile) { + builderState.entryPointsData[key].pendingRequestCallbacks.forEach( + ({ reject }) => { + reject(`Failed to transpile srcPath ${srcPath} handler ${handler}`); + } ); - } catch (e) { - console.log("There was a problem reading the build metafile"); - console.log(e); } - return Object.keys(metaJson.inputs).map((input) => path.resolve(input)); + await updateBuilder(); } - -function reIndexInputFiles() { - srcPathsIndex = {}; - inputFilesIndex = {}; - - indexInputFiles(); +function onLintAndTypeCheckStarted({ srcPath, lintProcess, typeCheckProcess }) { + // Update srcPath index + builderState.srcPathsData[srcPath] = { + ...builderState.srcPathsData[srcPath], + lintProcess, + typeCheckProcess, + needsReCheck: false, + }; } +async function onLintDone(srcPath) { + builderState.srcPathsData[srcPath] = { + ...builderState.srcPathsData[srcPath], + lintProcess: null, + }; -function indexInputFiles() { - getEntryPointKeys().forEach((key) => { - const transpiler = getTranspilerForKey(key); - - const tsconfig = getTsconfigForTranspiler(transpiler); - const srcPath = getSrcPathForTranspiler(transpiler); - const inputFiles = getInputFilesForTranspiler(transpiler); + // Print rebuilding message + const isChecking = Object.keys(builderState.srcPathsData).some( + (key) => + builderState.srcPathsData[key].lintProcess || + builderState.srcPathsData[key].typeCheckProcess + ); + if (!isChecking && builderState.isRebuilding) { + builderState.isRebuilding = false; + builderLogger.info("Done building"); + } - if (!inputFiles) { - return; - } + await updateBuilder(); +} +async function onTypeCheckDone(srcPath) { + builderState.srcPathsData[srcPath] = { + ...builderState.srcPathsData[srcPath], + typeCheckProcess: null, + }; - addToSrcPathIndex(srcPath, inputFiles, tsconfig); + // Print rebuilding message + const isChecking = Object.keys(builderState.srcPathsData).some( + (key) => + builderState.srcPathsData[key].lintProcess || + builderState.srcPathsData[key].typeCheckProcess + ); + if (!isChecking && builderState.isRebuilding) { + builderState.isRebuilding = false; + builderLogger.info("Done building"); + } - inputFiles.forEach((file) => addEntryPointKeyForInputFile(file, key)); - }); + await updateBuilder(); } async function transpile(srcPath, handler) { @@ -482,13 +494,11 @@ async function transpile(srcPath, handler) { outdir: path.join(paths.appPath, outSrcPath), }; - console.log(`Transpiling ${handler}...`); + builderLogger.debug(`Transpiling ${handler}...`); const esbuilder = await esbuild.build(esbuildOptions); - return addTranspiler({ - srcPath, - handler, + return onTranspileSucceeded(srcPath, handler, { tsconfig, esbuilder, outHandler: { @@ -498,275 +508,319 @@ async function transpile(srcPath, handler) { inputFiles: await getInputFilesFromEsbuildMetafile(metafile), }); } +async function reTranspiler(srcPath, handler) { + try { + const key = buildEntryPointKey(srcPath, handler); + const { esbuilder } = builderState.entryPointsData[key]; + await esbuilder.rebuild(); + + // Mock esbuild taking long to rebuild + if (MOCK_SLOW_ESBUILD_RETRANSPILE_IN_MS) { + builderLogger.debug( + `Mock rebuild wait (${MOCK_SLOW_ESBUILD_RETRANSPILE_IN_MS}ms)...` + ); + await sleep(MOCK_SLOW_ESBUILD_RETRANSPILE_IN_MS); + builderLogger.debug(`Mock rebuild wait done`); + } -async function rebuildTranspiler(transpiler) { - const metafile = getEsbuildMetafilePath( - getSrcPathForTranspiler(transpiler), - getHandlerForTranspiler(transpiler) - ); - - await getEsbuilderForTranspiler(transpiler).rebuild(); - - const inputFiles = await getInputFilesFromEsbuildMetafile(metafile); - updateTranspilerInputFile(transpiler, inputFiles); - //return makeCancelable(); - //return makeCancelable(function() { - //return transpiler.esbuilder.rebuild(); - // TODO: Remove - //console.log("Fake rebuild..."); - //return sleep(3000); - //}()); + const metafile = getEsbuildMetafilePath(srcPath, handler); + const inputFiles = await getInputFilesFromEsbuildMetafile(metafile); + await onReTranspileSucceeded(srcPath, handler, { inputFiles }); + } catch (e) { + builderLogger.error("reTranspiler error", e); + await onReTranspileFailed(srcPath, handler); + } } - function lint(srcPath) { - const inputFiles = getInputFilesForSrcPath(srcPath); - - // Need the ref for a closure - let linter = { ref: null }; - - const promise = new Promise((resolve) => { - linter.ref = spawn( - eslintExec, - [ - "--no-error-on-unmatched-pattern", - "--config", - path.join(paths.ownPath, "scripts", "util", ".eslintrc.internal.js"), - "--ext", - ".js,.ts", - "--fix", - // Handling nested ESLint projects in Yarn Workspaces - // https://github.com/serverless-stack/serverless-stack/issues/11 - "--resolve-plugins-relative-to", - ".", - ...inputFiles, - ], - // TODO: Check if setting the cwd to the root is okay - { stdio: "inherit", cwd: paths.appPath } - ); - - linter.ref.on("close", (code) => { - console.log(`child process exited with code ${code}`); - resolve(); - return; - }); - }); - - return makeCancelable(promise, function () { - console.log("Cancelling Linter"); - linter.ref && linter.ref.kill(); - }); -} + const { inputFiles } = builderState.srcPathsData[srcPath]; -function typeCheck(srcPath) { - const tsconfig = getTsconfigForSrcPath(srcPath); - const inputFiles = getInputFilesForSrcPath(srcPath).filter((file) => - file.endsWith(".ts") + const process = spawn( + eslintExec, + [ + "--no-error-on-unmatched-pattern", + "--config", + path.join(paths.ownPath, "scripts", "util", ".eslintrc.internal.js"), + "--ext", + ".js,.ts", + "--fix", + // Handling nested ESLint projects in Yarn Workspaces + // https://github.com/serverless-stack/serverless-stack/issues/11 + "--resolve-plugins-relative-to", + ".", + ...inputFiles, + ], + // TODO: Check if setting the cwd to the root is okay + { stdio: "inherit", cwd: paths.appPath } ); - // Need the ref for a closure - let typeChecker = { ref: null }; - - const promise = new Promise((resolve) => { - if (!tsconfig) { - resolve(); - return; - } - - typeChecker.ref = spawn(tscExec, ["--noEmit", ...inputFiles], { - stdio: "inherit", - cwd: path.join(paths.appPath, srcPath), - }); - - typeChecker.ref.on("close", (code) => { - console.log(`child process exited with code ${code}`); - resolve(); - return; - }); + process.on("close", (code) => { + builderLogger.debug(`linter exited with code ${code}`); + onLintDone(srcPath); }); - return makeCancelable(promise, function () { - console.log("Cancelling Type Checker"); - typeChecker.ref && typeChecker.ref.kill(); - }); + return process; } +function typeCheck(srcPath) { + const { tsconfig, inputFiles } = builderState.srcPathsData[srcPath]; + const tsFiles = inputFiles.filter((file) => file.endsWith(".ts")); -async function onFileChange(ev, file) { - let hasError = false; - - console.log(`File change: ${file}`); - - const entryPointKeys = getEntryPointKeysForInputFile(file); - - if (!entryPointKeys) { - console.log("File is not linked to the entry points"); - return; + if (!tsconfig) { + return null; } - const transpilerPromises = entryPointKeys.map((key) => { - const transpiler = getTranspilerForKey(key); - const srcPath = getSrcPathForTranspiler(transpiler); - const handler = getHandlerForTranspiler(transpiler); + const process = spawn(tscExec, ["--noEmit", ...tsFiles], { + stdio: "inherit", + cwd: path.join(paths.appPath, srcPath), + }); - return rebuildTranspilerQ.queue(srcPath, handler); + process.on("close", (code) => { + builderLogger.debug(`type checker exited with code ${code}`); + onTypeCheckDone(srcPath); }); - console.log("Rebuilding..."); + return process; +} - (await Promise.allSettled(transpilerPromises)).forEach((result) => { - if (result.status === "rejected") { - hasError = true; - console.log("Error transpiling"); - console.log(result); - } +///////////////////////////// +// Builder State functions // +///////////////////////////// + +function initializeBuilderState(entryPoints) { + entryPoints.forEach(({ srcPath, handler }) => { + const key = buildEntryPointKey(srcPath, handler); + builderState.entryPointsData[key] = { + ...entryPointDataTemplateObject, + srcPath, + handler, + }; }); +} - if (hasError) { - return; - } +function buildEntryPointKey(srcPath, handler) { + return `${srcPath}/${handler}`; +} +function getAllWatchedFiles() { + return Object.keys(builderState.watchedFilesIndex); +} +function getAllSrcPaths() { + return Object.keys(builderState.srcPathsData); +} +function serializeState() { + const { + isRebuilding, + entryPointsData, + srcPathsData, + watchedFilesIndex, + } = builderState; + return JSON.stringify( + { + isRebuilding, + entryPointsData: Object.keys(entryPointsData).reduce( + (acc, key) => ({ + ...acc, + [key]: { + hasError: entryPointsData[key].hasError, + inputFiles: entryPointsData[key].inputFiles, + transpilePromise: + entryPointsData[key].transpilePromise && "", + needsReTranspile: entryPointsData[key].needsReTranspile, + }, + //[key]: { ...entryPointsData[key], + // transpilePromise: entryPointsData[key].transpilePromise && '' + //}, + }), + {} + ), + srcPathsData: Object.keys(srcPathsData).reduce( + (acc, key) => ({ + ...acc, + [key]: { + inputFiles: srcPathsData[key].inputFiles, + lintProcess: srcPathsData[key].lintProcess && "", + typeCheckProcess: + srcPathsData[key].typeCheckProcess && "", + needsReCheck: srcPathsData[key].needsReCheck, + }, + //[key]: { ...srcPathsData[key], + // lintProcess: srcPathsData[key].lintProcess && '', + // typeCheckProcess: srcPathsData[key].typeCheckProcess && '', + //}, + }), + {} + ), + watchedFilesIndex, + }, + null, + 2 + ); +} - const srcPaths = getUniqueSrcPathsForEntryPointKeys(entryPointKeys); +//////////////////////////// +// Builder Util functions // +//////////////////////////// - srcPaths.forEach((srcPath) => { - lintQ.queue(srcPath); - typeCheckQ.queue(srcPath); - }); +async function checkFileExists(file) { + return fs.promises + .access(file, fs.constants.F_OK) + .then(() => true) + .catch(() => false); +} - const oldInputFiles = getAllInputFiles(); +async function getCmdPath(cmd) { + const appPath = path.join(paths.appNodeModules, ".bin", cmd); + const ownPath = path.join(paths.ownNodeModules, ".bin", cmd); - // Re-index all input files - reIndexInputFiles(); + // Fallback to own node modules, in case of tests that don't install the cli + return (await checkFileExists(appPath)) ? appPath : ownPath; +} - const newInputFiles = getAllInputFiles(); +async function getHandlerFilePath(srcPath, handler) { + const parts = handler.split("."); + const name = parts[0]; - const diff = diffInputFiles(oldInputFiles, newInputFiles); + const jsFile = path.join(paths.appPath, srcPath, `${name}.js`); - if (diff.add.length > 0) { - watcher.add(diff.add); + if (await checkFileExists(jsFile)) { + return jsFile; } - if (diff.remove.length > 0) { - await watcher.unwatch(diff.remove); + const tsFile = path.join(paths.appPath, srcPath, `${name}.ts`); + + if (await checkFileExists(tsFile)) { + return tsFile; } - console.log("Done building"); + return jsFile; } -async function startBuilder(entryPoints) { - esbuildService = await esbuild.startService(); - - const transpilerPromises = entryPoints.map((entryPoint) => { - const srcPath = entryPoint.debugSrcPath; - const handler = entryPoint.debugSrcHandler; +async function getAllExternalsForHandler(srcPath) { + let externals; - // Not catching esbuild errors - // Letting it handle the error messages for now - return transpile(srcPath, handler); - }); + try { + const packageJson = JSON.parse( + await fs.promises.readFile(path.join(srcPath, "package.json"), { + encoding: "utf-8", + }) + ); + externals = Object.keys({ + ...(packageJson.dependencies || {}), + ...(packageJson.devDependencies || {}), + ...(packageJson.peerDependencies || {}), + }); + } catch (e) { + builderLogger.debug(`No package.json found in ${srcPath}`); + externals = []; + } - logger.log("Transpiling Lambda code..."); + return externals; +} - const results = await Promise.allSettled(transpilerPromises); +async function getTranspiledHandler(srcPath, handler) { + const key = buildEntryPointKey(srcPath, handler); + const entryPointData = builderState.entryPointsData[key]; + if (entryPointData.transpilePromise || entryPointData.needsReTranspile) { + builderLogger.debug(`Waiting for re-transpiler output for ${handler}...`); + await new Promise((resolve, reject) => + entryPointData.pendingRequestCallbacks.push({ resolve, reject }) + ); + builderLogger.debug(`Waited for re-transpiler output for ${handler}`); + } - esbuildService.stop(); + return entryPointData.outHandler; +} - results.forEach((result) => { - if (result.status === "rejected") { - console.log("Error transpiling"); - console.log(result); - } - }); +function getEsbuildMetafilePath(srcPath, handler) { + const key = `${srcPath}/${handler}`.replace(/[/.]/g, "-"); + const outSrcFullPath = path.join(paths.appPath, srcPath, paths.appBuildDir); - // Create an index of all the input files detected - indexInputFiles(); + return path.join(outSrcFullPath, `.esbuild.${key}.json`); +} - const srcPaths = getUniqueSrcPaths(); +async function getInputFilesFromEsbuildMetafile(file) { + let metaJson; - if (srcPaths.length === 0) { - console.log("Nothing has been transpiled"); - return; + try { + metaJson = JSON.parse( + await fs.promises.readFile(file, { encoding: "utf-8" }) + ); + } catch (e) { + builderLogger.error("There was a problem reading the build metafile", e); } - const lintPromises = []; - const typeCheckPromises = []; - - tscExec = await getCmdPath("tsc"); - eslintExec = await getCmdPath("eslint"); - - srcPaths.forEach((srcPath) => { - lintPromises.push(lintQ.queue(srcPath)); - typeCheckPromises.push(typeCheckQ.queue(srcPath)); - }); + return Object.keys(metaJson.inputs).map((input) => path.resolve(input)); +} - const allInputFiles = getAllInputFiles(); +function diffInputFiles(oldList, newList) { + const remove = []; + const add = []; - watcher = chokidar - .watch(allInputFiles, chokidarOptions) - .on("all", onFileChange) - .on("error", (error) => console.log(`Watch ${error}`)) - .on("ready", () => { - console.log(`Watcher ready for ${allInputFiles.length} files...`); - }); + oldList.forEach((item) => newList.indexOf(item) === -1 && remove.push(item)); + newList.forEach((item) => oldList.indexOf(item) === -1 && add.push(item)); - // await Promise.allSettled(lintPromises.concat(typeCheckPromises)); - // - // console.log("Done building"); + return { add, remove }; } +function sleep(ms) { + return new Promise((resolve) => setTimeout(resolve, ms)); +} + +/////////////////////////////// +// Websocke Client functions // +/////////////////////////////// function startClient(debugEndpoint) { ws = new WebSocket(debugEndpoint); ws.on("open", () => { ws.send(JSON.stringify({ action: "connectClient" })); - logger.debug("WebSocket opened"); + clientLogger.debug("WebSocket opened"); }); ws.on("close", (code, reason) => { - logger.debug("Websocket closed"); - logger.log("Debug session closed", { code, reason }); + clientLogger.debug("Websocket closed"); + clientLogger.debug("Debug session closed", { code, reason }); // Case: disconnected due to new client connected => do not reconnect // Case: disconnected due to 10min idle or 2hr WebSocket connection limit => reconnect if (code !== WEBSOCKET_CLOSE_CODE.NEW_CLIENT_CONNECTED) { - logger.log("Debug session reconnecting..."); + clientLogger.debug("Debug session reconnecting..."); startClient(debugEndpoint); } }); ws.on("error", (e) => { - logger.debug(`WebSocket error: ${e}`); - logger.error(`Debug session error: ${e}`); + clientLogger.error(`WebSocket error: ${e}`); }); - ws.on("message", onMessage); + ws.on("message", onClientMessage); } -async function onMessage(message) { - logger.debug(`Message received: ${message}`); +async function onClientMessage(message) { + clientLogger.debug(`Message received: ${message}`); const data = JSON.parse(message); // Handle actions if (data.action === "clientConnected") { - logger.log("Debug session started. Listening for requests..."); - logger.debug(`Client connection id: ${data.clientConnectionId}`); + clientLogger.info("Debug session started. Listening for requests..."); + clientLogger.debug(`Client connection id: ${data.clientConnectionId}`); return; } if (data.action === "clientDisconnectedDueToNewClient") { - logger.warn( + clientLogger.warn( "A new debug session has been started. This session will be closed..." ); ws.close(WEBSOCKET_CLOSE_CODE.NEW_CLIENT_CONNECTED); return; } if (data.action === "failedToSendResponseDueToStubDisconnected") { - logger.error( + clientLogger.error( chalk.grey(data.debugRequestId) + " Failed to send a response because the Lambda function is disconnected" ); return; } if (data.action === "failedToSendResponseDueToUnknown") { - logger.error( + clientLogger.error( chalk.grey(data.debugRequestId) + " Failed to send a response to the Lambda function" ); @@ -776,6 +830,7 @@ async function onMessage(message) { return; } + clientLogger.debug(`=== onClientMessage: ${message}`); const { stubConnectionId, event, @@ -793,14 +848,14 @@ async function onMessage(message) { eventSource === null ? " invoked" : ` invoked by ${chalk.cyan(eventSource)}`; - logger.log( + clientLogger.info( chalk.grey( `${context.awsRequestId} REQUEST ${chalk.cyan( env.AWS_LAMBDA_FUNCTION_NAME )} [${debugSrcPath}/${debugSrcHandler}]${eventSourceDesc}` ) ); - logger.debug(chalk.grey(JSON.stringify(event))); + clientLogger.debug(chalk.grey(JSON.stringify(event))); // From Lambda /var/runtime/bootstrap // https://link.medium.com/7ir11kKjwbb @@ -815,9 +870,8 @@ async function onMessage(message) { debugSrcPath, debugSrcHandler ); - console.log(transpiledHandler); } catch (e) { - console.log(e); + clientLogger.error("Get trasnspiler handler error", e); // TODO: Handle esbuild transpilation error return; } @@ -891,7 +945,7 @@ async function onMessage(message) { } } } catch (e) { - logger.debug(`Failed to parse event source ${e}`); + clientLogger.debug(`Failed to parse event source ${e}`); } return null; @@ -911,7 +965,7 @@ async function onMessage(message) { function returnLambdaResponse() { // Handle timeout: do not send a response, let stub timeout if (lambdaResponse.type === "timeout") { - logger.log( + clientLogger.info( chalk.grey( `${context.awsRequestId} ${chalk.red("ERROR")} Lambda timed out` ) @@ -921,7 +975,7 @@ async function onMessage(message) { // handle success/failure if (lambdaResponse.type === "success") { - logger.log( + clientLogger.info( chalk.grey( `${context.awsRequestId} RESPONSE ${JSON.stringify( lambdaResponse.data @@ -930,8 +984,8 @@ async function onMessage(message) { ); } else if (lambdaResponse.type === "failure") { const errorMessage = lambdaResponse.error.message || lambdaResponse.error; - console.log(lambdaResponse.error); - logger.error(chalk.grey(context.awsRequestId) + ` ${errorMessage}`); + clientLogger.info(lambdaResponse.error); + clientLogger.error(chalk.grey(context.awsRequestId) + ` ${errorMessage}`); } ws.send( JSON.stringify({ @@ -951,61 +1005,14 @@ async function onMessage(message) { }); } -module.exports = async function (argv, cliInfo) { - const config = applyConfig(argv); - const stackName = `${config.stage}-debug-stack`; - - // Deploy debug stack - logger.log(""); - logger.log("======================="); - logger.log(" Deploying debug stack"); - logger.log("======================="); - logger.log(""); - const debugAppArgs = [stackName, config.stage, config.region]; - // Note: When deploying the debug stack, the current working directory is user's app. - // Setting the current working directory to debug stack cdk app directory to allow - // Lambda Function construct be able to reference code with relative path. - process.chdir(path.join(paths.ownPath, "assets", "debug-stack")); - const debugStackRet = await cdkDeploy({ - ...cliInfo.cdkOptions, - app: `node bin/index.js ${debugAppArgs.join(" ")}`, - output: "cdk.out", - }); - // Note: Restore working directory - process.chdir(paths.appPath); - - // Get WebSocket endpoint - if ( - !debugStackRet || - !debugStackRet.outputs || - !debugStackRet.outputs.Endpoint - ) { - throw new Error( - `Failed to get the endpoint from the deployed debug stack ${stackName}` - ); - } - config.debugEndpoint = debugStackRet.outputs.Endpoint; - - // Deploy app - logger.log(""); - logger.log("==============="); - logger.log(" Deploying app"); - logger.log("==============="); - logger.log(""); - prepareCdk(argv, cliInfo, config); - await sstDeploy(argv, config, cliInfo); - - // Start client - logger.log(""); - logger.log("==================="); - logger.log(" Starting debugger"); - logger.log("==================="); - logger.log(""); - - await startBuilder([ - { debugSrcPath: "src/api", debugSrcHandler: "api.handler" }, - { debugSrcPath: "src/sns", debugSrcHandler: "sns.handler" }, - ]); +function setTimer(lambda, handleResponse, timeoutInMs) { + return setTimeout(function () { + handleResponse({ type: "timeout" }); - startClient(config.debugEndpoint); -}; + try { + process.kill(lambda.pid, "SIGKILL"); + } catch (e) { + clientLogger.error("Cannot kill timed out Lambda", e); + } + }, timeoutInMs); +} diff --git a/packages/cli/scripts/util/cdkHelpers.js b/packages/cli/scripts/util/cdkHelpers.js index fed238b398..40f0733c02 100644 --- a/packages/cli/scripts/util/cdkHelpers.js +++ b/packages/cli/scripts/util/cdkHelpers.js @@ -7,7 +7,7 @@ const spawn = require("cross-spawn"); const sstCore = require("@serverless-stack/core"); const paths = require("./paths"); -const logger = require("../../lib/logger"); +const { logger } = require("../../lib/logger"); const { isSubProcessError } = require("../../lib/errors"); const isTs = fs.existsSync(path.join(paths.appPath, "tsconfig.json")); @@ -24,7 +24,7 @@ function exitWithMessage(message, shortMessage) { // Move newline before message if (message.indexOf("\n") === 0) { - logger.log(""); + logger.info(""); } logger.error(message.trimStart()); process.exit(1); @@ -87,7 +87,7 @@ function runCdkVersionMatch(cliInfo) { return; } - logger.log(""); + logger.info(""); logger.error( `Mismatched versions of AWS CDK packages. Serverless Stack currently supports ${chalk.bold( cdkVersion @@ -96,7 +96,7 @@ function runCdkVersionMatch(cliInfo) { if (mismatchedDeps.length > 0) { const depString = formatDepsForInstall(mismatchedDeps, cdkVersion); - logger.log( + logger.info( usingYarn ? ` yarn add ${depString} --exact` : ` npm install ${depString} --save-exact` @@ -104,20 +104,20 @@ function runCdkVersionMatch(cliInfo) { } if (mismatchedDevDeps.length > 0) { const devDepString = formatDepsForInstall(mismatchedDevDeps, cdkVersion); - logger.log( + logger.info( usingYarn ? ` yarn add ${devDepString} --dev --exact` : ` npm install ${devDepString} --save-dev --save-exact` ); } - logger.log(`\nLearn more about it here — ${helpUrl}\n`); + logger.info(`\nLearn more about it here — ${helpUrl}\n`); } function lint() { const config = isTs ? ".eslintrc.typescript.js" : ".eslintrc.babel.js"; - logger.log(chalk.grey("Linting source")); + logger.info(chalk.grey("Linting source")); const results = spawn.sync( getCmdPath("eslint"), [ @@ -151,14 +151,14 @@ function transpile(cliInfo) { runCdkVersionMatch(cliInfo); if (isTs) { - logger.log(chalk.grey("Detected tsconfig.json")); - logger.log(chalk.grey("Compiling TypeScript")); + logger.info(chalk.grey("Detected tsconfig.json")); + logger.info(chalk.grey("Compiling TypeScript")); cmd = getCmdPath("tsc"); args = ["--outDir", paths.appBuildPath, "--rootDir", paths.appLibPath]; opts = { stdio: "inherit", cwd: paths.appPath }; } else { - logger.log(chalk.grey("Compiling with Babel")); + logger.info(chalk.grey("Compiling with Babel")); cmd = getCmdPath("babel"); args = [ @@ -255,7 +255,7 @@ function applyConfig(argv) { function writeConfig(config) { const type = config.type.trim(); - logger.log(chalk.grey(`Preparing ${type}`)); + logger.info(chalk.grey(`Preparing ${type}`)); fs.writeFileSync( path.join(paths.appBuildPath, "sst-merged.json"), diff --git a/yarn.lock b/yarn.lock index 8d40a1f707..af3d97a153 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1233,6 +1233,15 @@ exec-sh "^0.3.2" minimist "^1.2.0" +"@dabh/diagnostics@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@dabh/diagnostics/-/diagnostics-2.0.2.tgz#290d08f7b381b8f94607dc8f471a12c675f9db31" + integrity sha512-+A1YivoVDNNVCdfozHSR8v/jyuuLTMXwjWuxPFlFlUapXoGc+Gj9mDlTDDfrwl7rXCl2tNZ0kE8sIBO6YOn96Q== + dependencies: + colorspace "1.1.x" + enabled "2.0.x" + kuler "^2.0.0" + "@eslint/eslintrc@^0.2.2": version "0.2.2" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.2.2.tgz#d01fc791e2fc33e88a29d6f3dc7e93d0cd784b76" @@ -2901,7 +2910,7 @@ async-each@^1.0.1: resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== -async@^3.2.0: +async@^3.1.0, async@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/async/-/async-3.2.0.tgz#b3a2685c5ebb641d3de02d161002c60fc9f85720" integrity sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw== @@ -3590,7 +3599,7 @@ collection-visit@^1.0.0: map-visit "^1.0.0" object-visit "^1.0.0" -color-convert@^1.9.0: +color-convert@^1.9.0, color-convert@^1.9.1: 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== @@ -3609,16 +3618,40 @@ color-name@1.1.3: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= -color-name@~1.1.4: +color-name@^1.0.0, 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== -colors@^1.4.0: +color-string@^1.5.2: + version "1.5.4" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.4.tgz#dd51cd25cfee953d138fe4002372cc3d0e504cb6" + integrity sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw== + dependencies: + color-name "^1.0.0" + simple-swizzle "^0.2.2" + +color@3.0.x: + version "3.0.0" + resolved "https://registry.yarnpkg.com/color/-/color-3.0.0.tgz#d920b4328d534a3ac8295d68f7bd4ba6c427be9a" + integrity sha512-jCpd5+s0s0t7p3pHQKpnJ0TpQKKdleP71LWcA0aqiljpiuAkOSUFN/dyH8ZwF0hRmFlrIuRhufds1QyEP9EB+w== + dependencies: + color-convert "^1.9.1" + color-string "^1.5.2" + +colors@^1.2.1, colors@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== +colorspace@1.1.x: + version "1.1.2" + resolved "https://registry.yarnpkg.com/colorspace/-/colorspace-1.1.2.tgz#e0128950d082b86a2168580796a0aa5d6c68d8c5" + integrity sha512-vt+OoIP2d76xLhjwbBaucYlNSpPsrJWPlBTtwCpQKIu6/CSMutyzX93O/Do0qzpH3YoHEes8YEFXyZ797rEhzQ== + dependencies: + color "3.0.x" + text-hex "1.0.x" + columnify@^1.5.4: version "1.5.4" resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.5.4.tgz#4737ddf1c7b69a8a7c340570782e947eec8e78bb" @@ -4237,6 +4270,11 @@ emoji-regex@^8.0.0: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== +enabled@2.0.x: + version "2.0.0" + resolved "https://registry.yarnpkg.com/enabled/-/enabled-2.0.0.tgz#f9dd92ec2d6f4bbc0d5d1e64e21d61cd4665e7c2" + integrity sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ== + encoding@^0.1.11: version "0.1.13" resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" @@ -4752,6 +4790,11 @@ fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= +fast-safe-stringify@^2.0.4: + version "2.0.7" + resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz#124aa885899261f68aedb42a7c080de9da608743" + integrity sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA== + fb-watchman@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" @@ -4759,6 +4802,11 @@ fb-watchman@^2.0.0: dependencies: bser "2.1.1" +fecha@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/fecha/-/fecha-4.2.0.tgz#3ffb6395453e3f3efff850404f0a59b6747f5f41" + integrity sha512-aN3pcx/DSmtyoovUudctc8+6Hl4T+hI9GBBHLjA76jdZl7+b1sgh5g4k+u/GL3dTy1/pnYzKp69FpJ0OicE3Wg== + figgy-pudding@^3.4.1, figgy-pudding@^3.5.1: version "3.5.2" resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" @@ -4891,6 +4939,11 @@ flush-write-stream@^1.0.0: inherits "^2.0.3" readable-stream "^2.3.6" +fn.name@1.x.x: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fn.name/-/fn.name-1.1.0.tgz#26cad8017967aea8731bc42961d04a3d5988accc" + integrity sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw== + for-in@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" @@ -5629,6 +5682,11 @@ is-arrayish@^0.2.1: resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= +is-arrayish@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" + integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== + is-binary-path@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" @@ -6546,6 +6604,11 @@ kleur@^3.0.3: resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== +kuler@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/kuler/-/kuler-2.0.0.tgz#e2c570a3800388fb44407e851531c1d670b061b3" + integrity sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A== + lazystream@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4" @@ -6802,6 +6865,17 @@ log-update@^4.0.0: slice-ansi "^4.0.0" wrap-ansi "^6.2.0" +logform@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/logform/-/logform-2.2.0.tgz#40f036d19161fc76b68ab50fdc7fe495544492f2" + integrity sha512-N0qPlqfypFx7UHNn4B3lzS/b0uLqt2hmuoa+PpuXNYgozdJYAyauF5Ky0BWVjrxDlMWiT3qN4zPq3vVAfZy7Yg== + dependencies: + colors "^1.2.1" + fast-safe-stringify "^2.0.4" + fecha "^4.2.0" + ms "^2.1.1" + triple-beam "^1.3.0" + loose-envify@^1.0.0: version "1.4.0" resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" @@ -7482,6 +7556,13 @@ once@^1.3.0, once@^1.3.1, once@^1.4.0: dependencies: wrappy "1" +one-time@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/one-time/-/one-time-1.0.0.tgz#e06bc174aed214ed58edede573b433bbf827cb45" + integrity sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g== + dependencies: + fn.name "1.x.x" + onetime@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" @@ -8180,7 +8261,7 @@ read@1, read@^1.0.4, read@~1.0.1: dependencies: mute-stream "~0.0.4" -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.6, readable-stream@~2.3.6: +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.6, readable-stream@^2.3.7, readable-stream@~2.3.6: 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== @@ -8677,6 +8758,13 @@ signal-exit@^3.0.0, signal-exit@^3.0.2: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== +simple-swizzle@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" + integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= + dependencies: + is-arrayish "^0.3.1" + sisteransi@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" @@ -8941,6 +9029,11 @@ sst-cdk@1.74.0-rc.6: wrap-ansi "^7.0.0" yargs "^16.1.1" +stack-trace@0.0.x: + version "0.0.10" + resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" + integrity sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA= + stack-utils@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.2.tgz#5cf48b4557becb4638d0bc4f21d23f5d19586593" @@ -9269,6 +9362,11 @@ text-extensions@^1.0.0: resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.9.0.tgz#1853e45fee39c945ce6f6c36b2d659b5aabc2a26" integrity sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ== +text-hex@1.0.x: + version "1.0.0" + resolved "https://registry.yarnpkg.com/text-hex/-/text-hex-1.0.0.tgz#69dc9c1b17446ee79a92bf5b884bb4b9127506f5" + integrity sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg== + text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" @@ -9419,6 +9517,11 @@ trim-off-newlines@^1.0.0: resolved "https://registry.yarnpkg.com/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz#9f9ba9d9efa8764c387698bcbfeb2c848f11adb3" integrity sha1-n5up2e+odkw4dpi8v+sshI8RrbM= +triple-beam@^1.2.0, triple-beam@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/triple-beam/-/triple-beam-1.3.0.tgz#a595214c7298db8339eeeee083e4d10bd8cb8dd9" + integrity sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw== + ts-jest@^26.1.4: version "26.2.0" resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-26.2.0.tgz#7ec22faceb05ee1467fdb5265d1b33c27441f163" @@ -9834,6 +9937,29 @@ windows-release@^3.1.0: dependencies: execa "^1.0.0" +winston-transport@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/winston-transport/-/winston-transport-4.4.0.tgz#17af518daa690d5b2ecccaa7acf7b20ca7925e59" + integrity sha512-Lc7/p3GtqtqPBYYtS6KCN3c77/2QCev51DvcJKbkFPQNoj1sinkGwLGFDxkXY9J6p9+EPnYs+D90uwbnaiURTw== + dependencies: + readable-stream "^2.3.7" + triple-beam "^1.2.0" + +winston@^3.3.3: + version "3.3.3" + resolved "https://registry.yarnpkg.com/winston/-/winston-3.3.3.tgz#ae6172042cafb29786afa3d09c8ff833ab7c9170" + integrity sha512-oEXTISQnC8VlSAKf1KYSSd7J6IWuRPQqDdo8eoRNaYKLvwSb5+79Z3Yi1lrl6KDpU6/VWaxpakDAtb1oQ4n9aw== + dependencies: + "@dabh/diagnostics" "^2.0.2" + async "^3.1.0" + is-stream "^2.0.0" + logform "^2.2.0" + one-time "^1.0.0" + readable-stream "^3.4.0" + stack-trace "0.0.x" + triple-beam "^1.3.0" + winston-transport "^4.4.0" + word-wrap@^1.2.3, word-wrap@~1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" From e1c2838d84f03d203a3b428647093927ac8e6793 Mon Sep 17 00:00:00 2001 From: Frank Date: Mon, 4 Jan 2021 15:54:54 -0500 Subject: [PATCH 050/123] Adding ability for logger to log objects --- packages/cli/lib/logger.js | 14 ++++++++++++-- packages/cli/package.json | 1 + packages/resources/lambda/stub/index.js | 11 ++++++++++- 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/packages/cli/lib/logger.js b/packages/cli/lib/logger.js index dcb74cc2a9..2834827611 100644 --- a/packages/cli/lib/logger.js +++ b/packages/cli/lib/logger.js @@ -1,9 +1,12 @@ const { createLogger, format, transports } = require("winston"); +const jsonStringify = require('fast-safe-stringify'); const LEVEL = Symbol.for("level"); +const SPLAT = Symbol.for("splat"); const paths = require("../scripts/util/paths"); const consoleLogFormat = format.printf( - ({ level, message, label, timestamp, [LEVEL]: rawLevel }) => { + ({ level, message, label, timestamp, [SPLAT]: splat, [LEVEL]: rawLevel }) => { + message = joinMessageAndSplat(message, splat); if (process.env.DEBUG) { return `${timestamp} [${label}] ${level}: ${message}`; } else { @@ -19,7 +22,8 @@ const consoleLogFormat = format.printf( } ); -const fileLogFormat = format.printf(({ level, message, label, timestamp }) => { +const fileLogFormat = format.printf(({ level, message, [SPLAT]: splat, label, timestamp }) => { + message = joinMessageAndSplat(message, splat); return `${timestamp} [${label}] ${level}: ${message}`; }); @@ -51,6 +55,12 @@ function addFileTransport() { ); } +function joinMessageAndSplat(message, splat) { + return [ message ].concat(splat || []) + .map(arg => typeof arg === 'string' ? arg : jsonStringify(arg)) + .join(' '); +} + module.exports = { addFileTransport, logger, diff --git a/packages/cli/package.json b/packages/cli/package.json index c50f9820ba..e19f84ebc1 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -58,6 +58,7 @@ "cross-spawn": "^7.0.3", "esbuild": "^0.8.26", "eslint": "^7.16.0", + "fast-safe-stringify": "^2.0.6", "fs-extra": "^9.0.1", "jest": "^26.1.0", "promise.allsettled": "^1.0.2", diff --git a/packages/resources/lambda/stub/index.js b/packages/resources/lambda/stub/index.js index c3cdaee3b2..f5ca882d13 100644 --- a/packages/resources/lambda/stub/index.js +++ b/packages/resources/lambda/stub/index.js @@ -169,6 +169,10 @@ exports.main = function (event, context, callback) { } }; +/////////////////////////////// +// Util Functions +/////////////////////////////// + function constructEnvs() { const envs = {}; Object.keys(process.env) @@ -219,8 +223,13 @@ function constructEnvs() { return envs; } -// Serialize error + +/////////////////////////////// +// Serialize Error Functions +// // https://github.com/sindresorhus/serialize-error/blob/master/index.js +/////////////////////////////// + const commonProperties = [ { property: "name", enumerable: false }, { property: "message", enumerable: false }, From 51e385ee0a5f9ecb36f1b5813e6140ab3c3d77d1 Mon Sep 17 00:00:00 2001 From: Jay Date: Mon, 4 Jan 2021 17:26:51 -0500 Subject: [PATCH 051/123] - Fix console.log format inside Lambda function - Remove eslint internal from scripts/util - Remove getCmdPath in sst start --- packages/cli/scripts/start.js | 42 +++++++++---------- .../cli/scripts/util/.eslintrc.internal.js | 18 -------- packages/cli/scripts/util/cdkHelpers.js | 9 +++- packages/resources/package.json | 2 + packages/resources/src/Function.ts | 4 +- packages/resources/src/util/builder.ts | 36 +++++++++++----- 6 files changed, 56 insertions(+), 55 deletions(-) delete mode 100644 packages/cli/scripts/util/.eslintrc.internal.js diff --git a/packages/cli/scripts/start.js b/packages/cli/scripts/start.js index f617cdaa3e..9d6f6d5d00 100644 --- a/packages/cli/scripts/start.js +++ b/packages/cli/scripts/start.js @@ -42,8 +42,6 @@ const WEBSOCKET_CLOSE_CODE = { }; let watcher; -let tscExec; -let eslintExec; let esbuildService; const builderState = { @@ -201,10 +199,6 @@ async function startBuilder(entryPoints) { return; } - // Run linter and type checker - tscExec = await getCmdPath("tsc"); - eslintExec = await getCmdPath("eslint"); - srcPaths.forEach((srcPath) => { const lintProcess = lint(srcPath); const typeCheckProcess = typeCheck(srcPath); @@ -535,14 +529,16 @@ async function reTranspiler(srcPath, handler) { await onReTranspileFailed(srcPath, handler); } } + function lint(srcPath) { const { inputFiles } = builderState.srcPathsData[srcPath]; const process = spawn( - eslintExec, + path.join(paths.appNodeModules, ".bin", "eslint"), [ "--no-error-on-unmatched-pattern", "--config", + path.join(paths.appBuildPath, ".eslintrc.internal.js"), path.join(paths.ownPath, "scripts", "util", ".eslintrc.internal.js"), "--ext", ".js,.ts", @@ -572,10 +568,14 @@ function typeCheck(srcPath) { return null; } - const process = spawn(tscExec, ["--noEmit", ...tsFiles], { - stdio: "inherit", - cwd: path.join(paths.appPath, srcPath), - }); + const process = spawn( + path.join(paths.appNodeModules, ".bin", "tsc"), + ["--noEmit", ...tsFiles], + { + stdio: "inherit", + cwd: path.join(paths.appPath, srcPath), + } + ); process.on("close", (code) => { builderLogger.debug(`type checker exited with code ${code}`); @@ -670,14 +670,6 @@ async function checkFileExists(file) { .catch(() => false); } -async function getCmdPath(cmd) { - const appPath = path.join(paths.appNodeModules, ".bin", cmd); - const ownPath = path.join(paths.ownNodeModules, ".bin", cmd); - - // Fallback to own node modules, in case of tests that don't install the cli - return (await checkFileExists(appPath)) ? appPath : ownPath; -} - async function getHandlerFilePath(srcPath, handler) { const parts = handler.split("."); const name = parts[0]; @@ -798,9 +790,9 @@ function startClient(debugEndpoint) { clientState.ws.on("message", onClientMessage); } -function startWsKeepAliveWatcher() { - setInterval(); -} +//function startWsKeepAliveWatcher() { +// setInterval(); +//} async function onClientMessage(message) { clientLogger.debug(`Message received: ${message}`); @@ -905,7 +897,11 @@ async function onClientMessage(message) { env: { ...process.env, ...env }, } ); - const timer = setLambdaTimeoutTimer(lambda, handleResponse, debugRequestTimeoutInMs); + const timer = setLambdaTimeoutTimer( + lambda, + handleResponse, + debugRequestTimeoutInMs + ); function parseEventSource(event) { try { diff --git a/packages/cli/scripts/util/.eslintrc.internal.js b/packages/cli/scripts/util/.eslintrc.internal.js deleted file mode 100644 index 301298b292..0000000000 --- a/packages/cli/scripts/util/.eslintrc.internal.js +++ /dev/null @@ -1,18 +0,0 @@ -module.exports = { - root: true, - parser: "@babel/eslint-parser", - parserOptions: { - babelOptions: { - configFile: "./.build/.babelrc.json", - }, - }, - plugins: ["@babel"], - overrides: [ - { - files: ["*.ts", "*.tsx"], - parser: "@typescript-eslint/parser", - plugins: ["@typescript-eslint"], - extends: ["eslint:recommended", "plugin:@typescript-eslint/recommended"], - }, - ], -}; diff --git a/packages/cli/scripts/util/cdkHelpers.js b/packages/cli/scripts/util/cdkHelpers.js index 3feebaea19..798209f171 100644 --- a/packages/cli/scripts/util/cdkHelpers.js +++ b/packages/cli/scripts/util/cdkHelpers.js @@ -152,7 +152,7 @@ async function lint(inputFiles) { try { const { stdout, stderr } = await exec( [ - "$(npm bin)/eslint", + path.join(paths.appNodeModules, ".bin", "eslint"), "--color", "--no-error-on-unmatched-pattern", "--config", @@ -191,7 +191,12 @@ async function typeCheck(inputFiles) { try { const { stdout, stderr } = await exec( - ["$(npm bin)/tsc", "--pretty", "--noEmit", ...inputFiles].join(" "), + [ + path.join(paths.appNodeModules, ".bin", "tsc"), + "--pretty", + "--noEmit", + ...inputFiles, + ].join(" "), { cwd: paths.appPath } ); if (stdout) { diff --git a/packages/resources/package.json b/packages/resources/package.json index 7dfdfddde5..7d5e93719c 100644 --- a/packages/resources/package.json +++ b/packages/resources/package.json @@ -28,6 +28,8 @@ "@aws-cdk/aws-lambda": "1.74.0", "@aws-cdk/aws-lambda-nodejs": "1.74.0", "@aws-cdk/core": "1.74.0", + "chalk": "^4.1.0", + "esbuild": "^0.8.26", "eslint": "^7.16.0", "fs-extra": "^9.0.1", "typescript": "^3.9.7" diff --git a/packages/resources/src/Function.ts b/packages/resources/src/Function.ts index 9ab073377e..ede8b1d1bf 100644 --- a/packages/resources/src/Function.ts +++ b/packages/resources/src/Function.ts @@ -50,7 +50,7 @@ export class Function extends lambda.Function { }); // func.node.defaultChild.cfnOptions.metadata = { 'sst:lambda:src': 'src/hello.handler' }; } else { - const builderOutput = builder({ + const buildPath = builder({ srcPath: code.path, handler: props.handler, buildDir: root.buildDir, @@ -58,7 +58,7 @@ export class Function extends lambda.Function { super(scope, id, { ...props, - code: lambda.Code.fromAsset(builderOutput.outPath), + code: lambda.Code.fromAsset(buildPath), }); } } diff --git a/packages/resources/src/util/builder.ts b/packages/resources/src/util/builder.ts index 4e1a7399cd..86a3573ce1 100644 --- a/packages/resources/src/util/builder.ts +++ b/packages/resources/src/util/builder.ts @@ -1,3 +1,4 @@ +import chalk from "chalk"; import * as path from "path"; import * as fs from "fs-extra"; import * as esbuild from "esbuild"; @@ -31,12 +32,16 @@ function getEsbuildMetafileName(srcPath: string, handler: string): string { return `.esbuild.${key}.json`; } -export function builder(builderProps: BuilderProps) { +export function builder(builderProps: BuilderProps): string { const { srcPath, handler, buildDir } = builderProps; + console.log(chalk.grey(`Building Lambda function ${srcPath}/${handler}`)); + const external = ["aws-sdk"]; const appPath = process.cwd(); + const appNodeModules = path.join(appPath, "node_modules"); + const tsconfig = path.join(srcPath, "tsconfig.json"); const isTs = fs.existsSync(tsconfig); const extension = isTs ? ".ts" : ".js"; @@ -57,10 +62,12 @@ export function builder(builderProps: BuilderProps) { (file: string) => file.indexOf("node_modules") === -1 ); + console.log(chalk.grey("Linting Lambda function source")); + try { const stdout = execSync( [ - "$(npm bin)/eslint", + path.join(appNodeModules, ".bin", "eslint"), "--color", "--no-error-on-unmatched-pattern", "--config", @@ -76,7 +83,10 @@ export function builder(builderProps: BuilderProps) { ].join(" "), { cwd: appPath } ); - console.log(stdout.toString()); + const output = stdout.toString(); + if (output.trim() !== "") { + console.log(output); + } } catch (e) { console.log(e.stdout.toString()); throw new Error("There was a problem linting the source."); @@ -90,12 +100,22 @@ export function builder(builderProps: BuilderProps) { return; } + console.log(chalk.grey("Type checking Lambda function source")); + try { const stdout = execSync( - ["$(npm bin)/tsc", "--pretty", "--noEmit", ...inputFiles].join(" "), + [ + path.join(appNodeModules, ".bin", "tsc"), + "--pretty", + "--noEmit", + ...inputFiles, + ].join(" "), { cwd: appPath } ); - console.log(stdout.toString()); + const output = stdout.toString(); + if (output.trim() !== "") { + console.log(output); + } } catch (e) { console.log(e.stdout.toString()); throw new Error("There was a problem type checking the source."); @@ -130,9 +150,5 @@ export function builder(builderProps: BuilderProps) { typeCheck(inputFiles); } - return { - isTs, - handler, - outPath: buildPath, - }; + return buildPath; } From aa59c0dca9e2b9eab2474438c2faf496deddeeb4 Mon Sep 17 00:00:00 2001 From: Jay Date: Mon, 4 Jan 2021 17:51:39 -0500 Subject: [PATCH 052/123] Fixing jest-ts test case --- packages/cli/test/jest-ts/tsconfig.json | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/cli/test/jest-ts/tsconfig.json b/packages/cli/test/jest-ts/tsconfig.json index 7d659db8a8..9712081ce9 100644 --- a/packages/cli/test/jest-ts/tsconfig.json +++ b/packages/cli/test/jest-ts/tsconfig.json @@ -16,8 +16,9 @@ "inlineSourceMap": true, "inlineSources": true, "experimentalDecorators": true, - "strictPropertyInitialization": false, - "typeRoots": ["./node_modules/@types"] + "strictPropertyInitialization": false + // Disabling for tests because we are using Yarn Workspaces + // "typeRoots": ["./node_modules/@types"] }, - "include": ["lib"] + "include": ["lib", "test"] } From 3150435c24fcfd9b2e28bc84ba1f57cd4bd42cbd Mon Sep 17 00:00:00 2001 From: Frank Date: Mon, 4 Jan 2021 21:39:24 -0500 Subject: [PATCH 053/123] Handling websocket 10min idle timeout --- .../assets/debug-stack/lambda/wsDefault.js | 238 +++++++++++------- packages/cli/lib/logger.js | 12 +- packages/cli/scripts/start.js | 46 ++-- packages/resources/lambda/stub/index.js | 13 +- 4 files changed, 188 insertions(+), 121 deletions(-) diff --git a/packages/cli/assets/debug-stack/lambda/wsDefault.js b/packages/cli/assets/debug-stack/lambda/wsDefault.js index 3438bd99b8..37ae84e973 100644 --- a/packages/cli/assets/debug-stack/lambda/wsDefault.js +++ b/packages/cli/assets/debug-stack/lambda/wsDefault.js @@ -4,118 +4,164 @@ const ddb = new AWS.DynamoDB.DocumentClient({ region: process.env.AWS_REGION }); exports.main = async function (event) { console.log(event); - const eventData = JSON.parse(event.body); - if (eventData.action === "connectClient") { - // register client + const eventBody = JSON.parse(event.body); + + console.log('Event action:', eventBody.action); + + switch (eventBody.action) { + case "client.register": + await onClientRegister(event); + break; + case "client.lambdaResponse": + await onClientLambdaResponse(event, eventBody); + break; + case "stub.lambdaRequest": + await onStubLambdaRequest(event, eventBody); + break; + } + + return { statusCode: 200, body: "Data sent." }; +}; + +async function onClientRegister(event) { + // store client in DB + console.log('Registering new client.'); + const clientConnectionId = event.requestContext.connectionId; + const oldConnectionId = await setClientConnectionId(clientConnectionId); + + // notify new client is registered + console.log('Notifying client connected.'); + await postToConnection( + event, + JSON.stringify({ + action: "server.clientRegistered", + clientConnectionId, + }), + clientConnectionId + ); + + // notify old client is replaced by the newer client + if (oldConnectionId) { + console.log('Existing client found. Notify existing client to disconnect.'); + try { + await postToConnection( + event, + JSON.stringify({ action: "server.clientDisconnectedDueToNewClient" }), + oldConnectionId + ); + } catch(e) { + } + } +}; + +async function onClientLambdaResponse(event, eventBody) { + // send response to stub + try { + console.log('Sending response to stub.'); + await postToConnection(event, event.body, eventBody.stubConnectionId); + } catch (e) { + console.error(e); + + console.log('Notifying client response failed to send to stub.'); const clientConnectionId = event.requestContext.connectionId; - const oldConnectionId = await setClientConnectionId(clientConnectionId); + const action = + e.statusCode === 410 + ? "server.failedToSendResponseDueToStubDisconnected" + : "server.failedToSendResponseDueToUnknown"; await postToConnection( + event, JSON.stringify({ - action: "clientConnected", - clientConnectionId, + action, + debugRequestId: eventBody.debugRequestId, }), clientConnectionId ); - // notify old client is replaced by the newer client - if (oldConnectionId) { - try { - await postToConnection( - JSON.stringify({ action: "clientDisconnectedDueToNewClient" }), - oldConnectionId - ); - } catch (e) { - console.log(e); - } - } - } else if (eventData.action === "newRequest") { - // send request to client - const stubConnectionId = event.requestContext.connectionId; - const clientConnectionId = await getClientConnectionId(); - if (clientConnectionId) { - try { - await postToConnection( - JSON.stringify({ ...eventData, stubConnectionId }), - clientConnectionId - ); - } catch (e) { - // handle failed to send - console.log(e); - const action = - e.statusCode === 410 - ? "failedToSendRequestDueToClientNotConnected" - : "failedToSendRequestDueToUnknown"; - await postToConnection(JSON.stringify({ action }), stubConnectionId); - } - } else { - // handle client connection not exist + throw e; + } +} + +async function onStubLambdaRequest(event, eventBody) { + const stubConnectionId = event.requestContext.connectionId; + + // get connected client + console.log('Getting connected client id.'); + const clientConnectionId = await getClientConnectionId(); + + // send request to client + if (clientConnectionId) { + console.log('Sending request to client.'); + try { await postToConnection( - JSON.stringify({ - action: "failedToSendRequestDueToClientNotConnected", - }), - stubConnectionId + event, + JSON.stringify({ ...eventBody, stubConnectionId }), + clientConnectionId ); - } - } else if (eventData.action === "newResponse") { - try { - await postToConnection(event.body, eventData.stubConnectionId); } catch (e) { - const clientConnectionId = event.requestContext.connectionId; + console.error(e); + + console.log('Notifying stub request failed to send to client.'); const action = e.statusCode === 410 - ? "failedToSendResponseDueToStubDisconnected" - : "failedToSendResponseDueToUnknown"; - await postToConnection( - JSON.stringify({ - action, - debugRequestId: eventData.debugRequestId, - }), - clientConnectionId - ); + ? "server.failedToSendRequestDueToClientNotConnected" + : "server.failedToSendRequestDueToUnknown"; + await postToConnection(event, JSON.stringify({ action }), stubConnectionId); } + } else { + // handle no connected client + console.log('Notifying stub no connected client.'); + await postToConnection( + event, + JSON.stringify({ + action: "server.failedToSendRequestDueToClientNotConnected", + }), + stubConnectionId + ); } +} - async function getClientConnectionId() { - const ret = await ddb - .get({ - TableName: process.env.TABLE_NAME, - Key: { pk: "client" }, - ConsistentRead: true, - }) - .promise(); - return ret.Item && ret.Item.connectionId; - } +/////////////////////////////// +// Util Functions +/////////////////////////////// - async function setClientConnectionId(connectionId) { - const ret = await ddb - .update({ - TableName: process.env.TABLE_NAME, - Key: { pk: "client" }, - UpdateExpression: "SET connectionId = :connectionId", - ExpressionAttributeValues: { - ":connectionId": connectionId, - }, - ReturnValues: "UPDATED_OLD", - }) - .promise(); - return ret.Attributes && ret.Attributes.connectionId; - } +async function getClientConnectionId() { + const ret = await ddb + .get({ + TableName: process.env.TABLE_NAME, + Key: { pk: "client" }, + ConsistentRead: true, + }) + .promise(); + return ret.Item && ret.Item.connectionId; +} - async function postToConnection(data, connectionId) { - const apigwManagementApi = new AWS.ApiGatewayManagementApi({ - apiVersion: "2018-11-29", - endpoint: - event.requestContext.domainName + "/" + event.requestContext.stage, - }); - - await apigwManagementApi - .postToConnection({ - ConnectionId: connectionId, - Data: data, - }) - .promise(); - } +async function setClientConnectionId(connectionId) { + const ret = await ddb + .update({ + TableName: process.env.TABLE_NAME, + Key: { pk: "client" }, + UpdateExpression: "SET connectionId = :connectionId", + ExpressionAttributeValues: { + ":connectionId": connectionId, + }, + ReturnValues: "UPDATED_OLD", + }) + .promise(); + return ret.Attributes && ret.Attributes.connectionId; +} + +async function postToConnection(event, data, connectionId) { + const apigwManagementApi = new AWS.ApiGatewayManagementApi({ + apiVersion: "2018-11-29", + endpoint: `${event.requestContext.domainName}/${event.requestContext.stage}`, + }); + + await apigwManagementApi + .postToConnection({ + ConnectionId: connectionId, + Data: data, + }) + .promise(); +} - return { statusCode: 200, body: "Data sent." }; -}; diff --git a/packages/cli/lib/logger.js b/packages/cli/lib/logger.js index 2834827611..3c07481068 100644 --- a/packages/cli/lib/logger.js +++ b/packages/cli/lib/logger.js @@ -8,7 +8,9 @@ const consoleLogFormat = format.printf( ({ level, message, label, timestamp, [SPLAT]: splat, [LEVEL]: rawLevel }) => { message = joinMessageAndSplat(message, splat); if (process.env.DEBUG) { - return `${timestamp} [${label}] ${level}: ${message}`; + return label + ? `${timestamp} [${label}] ${level}: ${message}` + : `${timestamp} ${level}: ${message}`; } else { // logger.info('hi') => hi // logger.warn('hi') => warn hi @@ -16,7 +18,9 @@ const consoleLogFormat = format.printf( if (rawLevel === "info") { return message; } else { - return label ? `[${label}] ${level} ${message}` : `${level} ${message}`; + return label + ? `[${label}] ${level} ${message}` + : `${level} ${message}`; } } } @@ -24,7 +28,9 @@ const consoleLogFormat = format.printf( const fileLogFormat = format.printf(({ level, message, [SPLAT]: splat, label, timestamp }) => { message = joinMessageAndSplat(message, splat); - return `${timestamp} [${label}] ${level}: ${message}`; + return label + ? `${timestamp} [${label}] ${level}: ${message}` + : `${timestamp} ${level}: ${message}`; }); const logger = createLogger({ diff --git a/packages/cli/scripts/start.js b/packages/cli/scripts/start.js index f617cdaa3e..17745458a0 100644 --- a/packages/cli/scripts/start.js +++ b/packages/cli/scripts/start.js @@ -75,7 +75,7 @@ const srcPathDataTemplateObject = { const clientState = { ws: null, - wsKeepaliveTimer: null, + wsKeepAliveTimer: null, }; const MOCK_SLOW_ESBUILD_RETRANSPILE_IN_MS = 0; @@ -775,8 +775,9 @@ function startClient(debugEndpoint) { clientState.ws = new WebSocket(debugEndpoint); clientState.ws.on("open", () => { - clientState.ws.send(JSON.stringify({ action: "connectClient" })); + clientState.ws.send(JSON.stringify({ action: "client.register" })); clientLogger.debug("WebSocket opened"); + startKeepAliveMonitor(); }); clientState.ws.on("close", (code, reason) => { @@ -784,11 +785,13 @@ function startClient(debugEndpoint) { clientLogger.debug("Debug session closed", { code, reason }); // Case: disconnected due to new client connected => do not reconnect - // Case: disconnected due to 10min idle or 2hr WebSocket connection limit => reconnect - if (code !== WEBSOCKET_CLOSE_CODE.NEW_CLIENT_CONNECTED) { - clientLogger.debug("Debug session reconnecting..."); - startClient(debugEndpoint); + if (code === WEBSOCKET_CLOSE_CODE.NEW_CLIENT_CONNECTED) { + return; } + + // Case: disconnected due to 10min idle or 2hr WebSocket connection limit => reconnect + clientLogger.debug("Debug session reconnecting..."); + startClient(debugEndpoint); }); clientState.ws.on("error", (e) => { @@ -798,8 +801,22 @@ function startClient(debugEndpoint) { clientState.ws.on("message", onClientMessage); } -function startWsKeepAliveWatcher() { - setInterval(); +function startKeepAliveMonitor() { + // Cancel existing keep-alive timer + if (clientState.wsKeepAliveTimer) { + clientLogger.debug("Clearing existing keep-alive timer..."); + clearTimeout(clientState.wsKeepAliveTimer); + } + + // Create keep-alive timer + clientLogger.debug("Creating keep-alive timer..."); + clientState.ws.send(JSON.stringify({ action: "client.heartbeat" })); + clientState.wsKeepAliveTimer = setInterval(() => { + if (clientState.ws) { + clientLogger.debug('Sending keep-alive call'); + clientState.ws.send(JSON.stringify({ action: 'client.keepAlive' })); + } + }, 60000); } async function onClientMessage(message) { @@ -808,37 +825,36 @@ async function onClientMessage(message) { const data = JSON.parse(message); // Handle actions - if (data.action === "clientConnected") { + if (data.action === "server.clientRegistered") { clientLogger.info("Debug session started. Listening for requests..."); clientLogger.debug(`Client connection id: ${data.clientConnectionId}`); return; } - if (data.action === "clientDisconnectedDueToNewClient") { + if (data.action === "server.clientDisconnectedDueToNewClient") { clientLogger.warn( "A new debug session has been started. This session will be closed..." ); clientState.ws.close(WEBSOCKET_CLOSE_CODE.NEW_CLIENT_CONNECTED); return; } - if (data.action === "failedToSendResponseDueToStubDisconnected") { + if (data.action === "server.failedToSendResponseDueToStubDisconnected") { clientLogger.error( chalk.grey(data.debugRequestId) + " Failed to send a response because the Lambda function is disconnected" ); return; } - if (data.action === "failedToSendResponseDueToUnknown") { + if (data.action === "server.failedToSendResponseDueToUnknown") { clientLogger.error( chalk.grey(data.debugRequestId) + " Failed to send a response to the Lambda function" ); return; } - if (data.action !== "newRequest") { + if (data.action !== "stub.lambdaRequest") { return; } - clientLogger.debug(`=== onClientMessage: ${message}`); const { stubConnectionId, event, @@ -999,7 +1015,7 @@ async function onClientMessage(message) { JSON.stringify({ debugRequestId, stubConnectionId, - action: "newResponse", + action: "client.lambdaResponse", responseData: lambdaResponse.data, responseError: lambdaResponse.error, }) diff --git a/packages/resources/lambda/stub/index.js b/packages/resources/lambda/stub/index.js index f5ca882d13..87afec09bf 100644 --- a/packages/resources/lambda/stub/index.js +++ b/packages/resources/lambda/stub/index.js @@ -105,7 +105,7 @@ exports.main = function (event, context, callback) { _ref.ws.send( JSON.stringify({ - action: "newRequest", + action: "stub.lambdaRequest", debugRequestId, debugRequestTimeoutInMs: context.getRemainingTimeInMillis(), debugSrcPath: process.env.SST_DEBUG_SRC_PATH, @@ -125,8 +125,8 @@ exports.main = function (event, context, callback) { // Start timer to send keep-alive message if still waiting for response after 9 minutes console.log("sendMessage() - start keep alive timer"); _ref.keepAliveTimer = setTimeout(function () { - _ref.ws.send(JSON.stringify({ action: "keepalive" })); - console.log("sent keepalive message"); + _ref.ws.send(JSON.stringify({ action: "stub.keepAlive" })); + console.log("sent keepAlive message"); }, 540000); } @@ -137,15 +137,15 @@ exports.main = function (event, context, callback) { ); // handle failed to send requests - if (action === "failedToSendRequestDueToClientNotConnected") { + if (action === "server.failedToSendRequestDueToClientNotConnected") { throw new Error("Debug client not connected."); } - if (action === "failedToSendRequestDueToUnknown") { + if (action === "server.failedToSendRequestDueToUnknown") { throw new Error("Failed to send request to debug client."); } // handle invalid and expired response - if (action !== "newResponse" || debugRequestId !== _ref.debugRequestId) { + if (action !== "client.lambdaResponse" || debugRequestId !== _ref.debugRequestId) { console.log("receiveMessage() - discard response"); return; } @@ -223,7 +223,6 @@ function constructEnvs() { return envs; } - /////////////////////////////// // Serialize Error Functions // From c9e7f7978d311417c58db9c93fc706cfdf603961 Mon Sep 17 00:00:00 2001 From: Jay Date: Mon, 4 Jan 2021 22:27:02 -0500 Subject: [PATCH 054/123] Changing the props for sst.Function --- .../cli/assets/lambda-invoke/bootstrap.js | 11 +-- packages/cli/scripts/start.js | 8 +- packages/cli/test/start/lib/index.js | 11 ++- packages/cli/test/start/src/api/lib.ts | 2 +- packages/resources/lambda/stub/index.js | 2 +- packages/resources/src/Function.ts | 72 ++++++++++++++---- packages/resources/src/util/builder.ts | 75 ++++++++++++------- 7 files changed, 124 insertions(+), 57 deletions(-) diff --git a/packages/cli/assets/lambda-invoke/bootstrap.js b/packages/cli/assets/lambda-invoke/bootstrap.js index 42e8f46185..4f4df0b4c9 100644 --- a/packages/cli/assets/lambda-invoke/bootstrap.js +++ b/packages/cli/assets/lambda-invoke/bootstrap.js @@ -53,15 +53,10 @@ async function processEvents(handler) { } function getHandler() { - const appParts = HANDLER.split("."); + const modulePath = TASK_ROOT; + const handlerName = HANDLER; - if (appParts.length !== 2) { - throw new Error(`Bad handler ${HANDLER}`); - } - - const [modulePath, handlerName] = appParts; - - const app = require(path.resolve(TASK_ROOT, modulePath)); + const app = require(path.resolve(modulePath)); const userHandler = app[handlerName]; diff --git a/packages/cli/scripts/start.js b/packages/cli/scripts/start.js index 9d6f6d5d00..18e45b2444 100644 --- a/packages/cli/scripts/start.js +++ b/packages/cli/scripts/start.js @@ -839,6 +839,7 @@ async function onClientMessage(message) { debugRequestId, debugRequestTimeoutInMs, debugSrcPath, + debugSrcEntry, debugSrcHandler, } = data; @@ -852,7 +853,7 @@ async function onClientMessage(message) { chalk.grey( `${context.awsRequestId} REQUEST ${chalk.cyan( env.AWS_LAMBDA_FUNCTION_NAME - )} [${debugSrcPath}/${debugSrcHandler}]${eventSourceDesc}` + )} [${debugSrcPath}/${debugSrcEntry}:${debugSrcHandler}]${eventSourceDesc}` ) ); clientLogger.debug(chalk.grey(JSON.stringify(event))); @@ -867,6 +868,7 @@ async function onClientMessage(message) { try { transpiledHandler = await getTranspiledHandler( + // TODO: Add debugSrcEntry debugSrcPath, debugSrcHandler ); @@ -886,9 +888,9 @@ async function onClientMessage(message) { path.join(paths.ownPath, "assets", "lambda-invoke", "bootstrap.js"), JSON.stringify(event), JSON.stringify(context), - //"./src", // Local path to the Lambda functions + //"./src/index.js", // Local path to the Lambda functions transpiledHandler.srcPath, - //"hello.handler", + //"handler", // Function name of the handler function transpiledHandler.handler, ], { diff --git a/packages/cli/test/start/lib/index.js b/packages/cli/test/start/lib/index.js index 51bb8cf379..cf58ca882a 100644 --- a/packages/cli/test/start/lib/index.js +++ b/packages/cli/test/start/lib/index.js @@ -18,16 +18,19 @@ class MySampleStack extends sst.Stack { // Create a Lambda function subscribed to the topic const snsFunc = new sst.Function(this, "MySnsLambda", { - code: lambda.Code.fromAsset("src/sns"), - handler: "sns.handler", + entry: "sns.js", + srcPath: "src/sns", + handler: "handler", runtime: lambda.Runtime.NODEJS_12_X, }); topic.addSubscription(new subscriptions.LambdaSubscription(snsFunc)); // Create a Lambda function triggered by an HTTP API const apiFunc = new sst.Function(this, "MyApiLambda", { - code: lambda.Code.fromAsset("src/api"), - handler: "api.handler", + bundle: true, + entry: "api.ts", + srcPath: "src/api", + handler: "handler", runtime: lambda.Runtime.NODEJS_12_X, timeout: cdk.Duration.seconds(10), environment: { diff --git a/packages/cli/test/start/src/api/lib.ts b/packages/cli/test/start/src/api/lib.ts index 4d7c3d8fb0..c304f24cd1 100644 --- a/packages/cli/test/start/src/api/lib.ts +++ b/packages/cli/test/start/src/api/lib.ts @@ -1,3 +1,3 @@ -export default function(name: number): string { +export default function (name: string): string { return name; } diff --git a/packages/resources/lambda/stub/index.js b/packages/resources/lambda/stub/index.js index f5ca882d13..faaf16adbb 100644 --- a/packages/resources/lambda/stub/index.js +++ b/packages/resources/lambda/stub/index.js @@ -109,6 +109,7 @@ exports.main = function (event, context, callback) { debugRequestId, debugRequestTimeoutInMs: context.getRemainingTimeInMillis(), debugSrcPath: process.env.SST_DEBUG_SRC_PATH, + debugSrcEntry: process.env.SST_DEBUG_SRC_ENTRY, debugSrcHandler: process.env.SST_DEBUG_SRC_HANDLER, event, context: { @@ -223,7 +224,6 @@ function constructEnvs() { return envs; } - /////////////////////////////// // Serialize Error Functions // diff --git a/packages/resources/src/Function.ts b/packages/resources/src/Function.ts index ede8b1d1bf..5ef4514e1a 100644 --- a/packages/resources/src/Function.ts +++ b/packages/resources/src/Function.ts @@ -5,12 +5,54 @@ import * as lambda from "@aws-cdk/aws-lambda"; import { App } from "./App"; import { builder } from "./util/builder"; -export type FunctionProps = lambda.FunctionProps; +export interface FunctionProps extends lambda.FunctionOptions { + /** + * Path to the entry point of the function. A .js or .ts file. + */ + readonly entry: string; + /** + * The exported function in the entry file. + * + * @default - Defaults to "handler" + */ + readonly handler?: string; + /** + * The source directory where the entry point is located. The node_modules in this + * directory is used to generate the bundle. + * + * @default - Defaults to project root + */ + readonly srcPath?: string; + /** + * The runtime environment. Only runtimes of the Node.js family are + * supported. + * + * @default - Defaults to NODEJS_12_X + */ + readonly runtime?: lambda.Runtime; + /** + * Disable bundling with esbuild. + * + * @default - Defaults to true + */ + readonly bundle?: boolean; +} export class Function extends lambda.Function { constructor(scope: cdk.Construct, id: string, props: FunctionProps) { const root = scope.node.root as App; + // Set defaults + const handler = props.handler || "handler"; + const srcPath = props.srcPath || process.cwd(); + const runtime = props.runtime || lambda.Runtime.NODEJS_12_X; + const bundle = props.bundle === undefined ? true : props.bundle; + + // Validate entry file + if (!props.entry) { + throw new Error(`No entry point defined for the ${id} Lambda function`); + } + // Validate NodeJS runtime if ( ![ @@ -20,45 +62,45 @@ export class Function extends lambda.Function { lambda.Runtime.NODEJS_4_3, lambda.Runtime.NODEJS_6_10, lambda.Runtime.NODEJS_8_10, - ].includes(props.runtime) + ].includes(runtime) ) { throw new Error( `sst.Function does not support ${props.runtime}. Only NodeJS runtimes are currently supported.` ); } - // Validate a plain file is specified - if (!(props.code instanceof lambda.AssetCode)) { - throw new Error(`sst.Function only supports AssetCode type for code.`); - } - - const code = props.code as lambda.AssetCode; - if (root.local) { super(scope, id, { ...props, + runtime, code: lambda.Code.fromAsset( path.resolve(__dirname, "../dist/stub.zip") ), handler: "index.main", environment: { ...(props.environment || {}), - SST_DEBUG_SRC_PATH: code.path, - SST_DEBUG_SRC_HANDLER: props.handler, + SST_DEBUG_SRC_PATH: srcPath, + SST_DEBUG_SRC_HANDLER: handler, + SST_DEBUG_SRC_ENTRY: props.entry, SST_DEBUG_ENDPOINT: root.debugEndpoint || "", }, }); // func.node.defaultChild.cfnOptions.metadata = { 'sst:lambda:src': 'src/hello.handler' }; } else { - const buildPath = builder({ - srcPath: code.path, - handler: props.handler, + const { outDir, outHandler } = builder({ + bundle: bundle, + srcPath: srcPath, + handler: handler, + entry: props.entry, buildDir: root.buildDir, }); + console.log(outDir); super(scope, id, { ...props, - code: lambda.Code.fromAsset(buildPath), + runtime, + handler: outHandler, + code: lambda.Code.fromAsset(outDir), }); } } diff --git a/packages/resources/src/util/builder.ts b/packages/resources/src/util/builder.ts index 86a3573ce1..e0e9dabf82 100644 --- a/packages/resources/src/util/builder.ts +++ b/packages/resources/src/util/builder.ts @@ -5,13 +5,21 @@ import * as esbuild from "esbuild"; import { execSync } from "child_process"; interface BuilderProps { + readonly entry: string; readonly srcPath: string; readonly handler: string; + readonly bundle: boolean; readonly buildDir: string; } -function addExtensionToHandler(handler: string, extension: string): string { - return handler.replace(/\.[\w\d]+$/, extension); +interface BuilderOutput { + readonly outDir: string; + readonly outHandler: string; +} + +function getHandlerString(entry: string, handler: string): string { + const parts = entry.split("/"); + return parts[parts.length - 1].replace(/\.[\w\d]+$/, `.${handler}`); } function getInputFilesFromEsbuildMetafile(file: string): Array { @@ -26,36 +34,55 @@ function getInputFilesFromEsbuildMetafile(file: string): Array { return Object.keys(metaJson.inputs).map((input) => path.resolve(input)); } -function getEsbuildMetafileName(srcPath: string, handler: string): string { - const key = `${srcPath}/${handler}`.replace(/[/.]/g, "-"); +function getEsbuildMetafileName(entry: string, handler: string): string { + const key = `${entry}/${handler}`.replace(/[/.]/g, "-"); return `.esbuild.${key}.json`; } -export function builder(builderProps: BuilderProps): string { - const { srcPath, handler, buildDir } = builderProps; +function getAllExternalsForHandler(srcPath: string, bundle: boolean): Array { + let externals = ['aws-sdk']; - console.log(chalk.grey(`Building Lambda function ${srcPath}/${handler}`)); + if (bundle) { + return externals; + } - const external = ["aws-sdk"]; + try { + const packageJson = fs.readJsonSync(path.join(srcPath, "package.json")); + externals = Object.keys({ + ...(packageJson.dependencies || {}), + ...(packageJson.devDependencies || {}), + ...(packageJson.peerDependencies || {}), + }); + } catch (e) { + console.log(chalk.grey(`No package.json found in ${srcPath}`)); + } + return externals; +} + +export function builder(builderProps: BuilderProps): BuilderOutput { + const { entry, srcPath, bundle, handler, buildDir } = builderProps; + + console.log(chalk.grey(`Building Lambda function ${srcPath}/${entry}:${handler}`)); + + const outFile = 'index'; const appPath = process.cwd(); + + const external = getAllExternalsForHandler(srcPath, bundle); + const appNodeModules = path.join(appPath, "node_modules"); const tsconfig = path.join(srcPath, "tsconfig.json"); - const isTs = fs.existsSync(tsconfig); - const extension = isTs ? ".ts" : ".js"; + const hasTsconfig = fs.existsSync(tsconfig); const buildPath = path.join(srcPath, buildDir); const metafile = path.join( buildPath, - getEsbuildMetafileName(srcPath, handler) + getEsbuildMetafileName(entry, handler) ); - const entryPoint = path.join( - srcPath, - addExtensionToHandler(handler, extension) - ); + const entryPath = path.join(srcPath, entry); function lint(inputFiles: Array) { inputFiles = inputFiles.filter( @@ -122,9 +149,9 @@ export function builder(builderProps: BuilderProps): string { } } - function transpile(entryPoint: string): Array { - if (!fs.existsSync(entryPoint)) { - throw new Error(`Cannot find a handler file at ${entryPoint}".`); + function transpile(entryPath: string): Array { + if (!fs.existsSync(entryPath)) { + throw new Error(`Cannot find a handler file at ${entryPath}".`); } esbuild.buildSync({ @@ -135,20 +162,18 @@ export function builder(builderProps: BuilderProps): string { sourcemap: true, platform: "node", outdir: buildPath, - entryPoints: [entryPoint], - tsconfig: isTs ? tsconfig : undefined, + entryPoints: [entryPath], + tsconfig: hasTsconfig ? tsconfig : undefined, }); return getInputFilesFromEsbuildMetafile(metafile); } - const inputFiles = transpile(entryPoint); + const inputFiles = transpile(entryPath); lint(inputFiles); - if (isTs) { - typeCheck(inputFiles); - } + typeCheck(inputFiles); - return buildPath; + return { outDir: srcPath, outHandler: `${buildDir}/${getHandlerString(entry, handler)}` }; } From a7240bc0adc9dd5525b27d8499adf8924109eb53 Mon Sep 17 00:00:00 2001 From: Frank Date: Tue, 5 Jan 2021 00:01:40 -0500 Subject: [PATCH 055/123] Synthesizing app spit out srcPath and srcHandler mapping when running sst start --- packages/cli/assets/cdk-wrapper/run.js | 9 ++++++++ packages/cli/scripts/start.js | 20 +++++++++------- packages/resources/src/App.ts | 32 +++++++++++++++++++++++++- packages/resources/src/Function.ts | 24 ++++++++++++++++--- 4 files changed, 73 insertions(+), 12 deletions(-) diff --git a/packages/cli/assets/cdk-wrapper/run.js b/packages/cli/assets/cdk-wrapper/run.js index 2959be14be..46f4490c05 100644 --- a/packages/cli/assets/cdk-wrapper/run.js +++ b/packages/cli/assets/cdk-wrapper/run.js @@ -28,12 +28,21 @@ if (!handler.default) { handlerNotFound(false); } +// When run inside `sst start`, we need to store a list of handlers to file for `sst start` to use +let synthCallback; +if (config.debugEndpoint) { + synthCallback = (lambdaHandlers) => { + fs.writeFileSync(path.join(appPath, ".build", "lambda-handlers.json"), JSON.stringify(lambdaHandlers)); + } +} + handler.default( new sst.App({ name: config.name, stage: config.stage, region: config.region, debugEndpoint: config.debugEndpoint, + synthCallback, }) ); diff --git a/packages/cli/scripts/start.js b/packages/cli/scripts/start.js index cff8fe57ce..bd61b8be6c 100644 --- a/packages/cli/scripts/start.js +++ b/packages/cli/scripts/start.js @@ -767,14 +767,13 @@ function startClient(debugEndpoint) { clientState.ws = new WebSocket(debugEndpoint); clientState.ws.on("open", () => { + clientLogger.debug("WebSocket connection opened"); clientState.ws.send(JSON.stringify({ action: "client.register" })); - clientLogger.debug("WebSocket opened"); startKeepAliveMonitor(); }); clientState.ws.on("close", (code, reason) => { - clientLogger.debug("Websocket closed"); - clientLogger.debug("Debug session closed", { code, reason }); + clientLogger.debug("Websocket connection closed", { code, reason }); // Case: disconnected due to new client connected => do not reconnect if (code === WEBSOCKET_CLOSE_CODE.NEW_CLIENT_CONNECTED) { @@ -782,12 +781,12 @@ function startClient(debugEndpoint) { } // Case: disconnected due to 10min idle or 2hr WebSocket connection limit => reconnect - clientLogger.debug("Debug session reconnecting..."); + clientLogger.debug("Reconnecting to websocket server..."); startClient(debugEndpoint); }); clientState.ws.on("error", (e) => { - clientLogger.error(`WebSocket error: ${e}`); + clientLogger.error('WebSocket connection error', e); }); clientState.ws.on("message", onClientMessage); @@ -812,7 +811,7 @@ function startKeepAliveMonitor() { } async function onClientMessage(message) { - clientLogger.debug(`Message received: ${message}`); + clientLogger.debug(`Websocket message received: ${message}`); const data = JSON.parse(message); @@ -830,20 +829,25 @@ async function onClientMessage(message) { return; } if (data.action === "server.failedToSendResponseDueToStubDisconnected") { + // TODO help user find out why the stub function was disconnected. Maybe pull up + // CloudWatch logs for websocket server and the stub. clientLogger.error( chalk.grey(data.debugRequestId) + - " Failed to send a response because the Lambda function is disconnected" + " Failed to send response because the Lambda function is disconnected" ); return; } if (data.action === "server.failedToSendResponseDueToUnknown") { + // TODO help user find out why the stub function was disconnected. Maybe pull up + // CloudWatch logs for websocket server and the stub. clientLogger.error( chalk.grey(data.debugRequestId) + - " Failed to send a response to the Lambda function" + " Failed to send response to the Lambda function" ); return; } if (data.action !== "stub.lambdaRequest") { + clientLogger.debug('Unkonwn websocket message received.'); return; } diff --git a/packages/resources/src/App.ts b/packages/resources/src/App.ts index 3b4cca7623..afa87eb9fa 100644 --- a/packages/resources/src/App.ts +++ b/packages/resources/src/App.ts @@ -1,5 +1,6 @@ import * as cdk from "@aws-cdk/core"; import * as cxapi from "@aws-cdk/cx-api"; +import { HandlerProps } from "./Function"; /** * Deploy props for apps. @@ -32,6 +33,13 @@ export interface DeployProps { * @default - Defaults to undefined */ readonly debugEndpoint?: string; + + /** + * The callback after synth completes, used by `sst start`. + * + * @default - Defaults to undefined + */ + readonly synthCallback?: (lambdaHandlers: Array) => void; } export type AppProps = cdk.AppProps; @@ -67,6 +75,16 @@ export class App extends cdk.App { */ public readonly buildDir: string = ".build"; + /** + * The callback after synth completes. + */ + private readonly synthCallback?: (lambdaHandlers: Array) => void; + + /** + * A list of Lambda functions in the app + */ + private readonly lambdaHandlers: Array = []; + constructor(deployProps: DeployProps = {}, props: AppProps = {}) { super(props); @@ -77,6 +95,7 @@ export class App extends cdk.App { if (deployProps.debugEndpoint) { this.local = true; this.debugEndpoint = deployProps.debugEndpoint; + this.synthCallback = deployProps.synthCallback; } } @@ -96,6 +115,17 @@ export class App extends cdk.App { ); } } - return super.synth(options); + const cloudAssembly = super.synth(options); + + // Run callback after synth has finished + if (this.synthCallback) { + this.synthCallback(this.lambdaHandlers); + } + + return cloudAssembly; + } + + registerLambdaHandler(handler: HandlerProps) { + this.lambdaHandlers.push(handler); } } diff --git a/packages/resources/src/Function.ts b/packages/resources/src/Function.ts index ede8b1d1bf..2ef44c6572 100644 --- a/packages/resources/src/Function.ts +++ b/packages/resources/src/Function.ts @@ -7,6 +7,21 @@ import { builder } from "./util/builder"; export type FunctionProps = lambda.FunctionProps; +/** + * Doe props for Lambda function. + */ +export interface HandlerProps { + /** + * Source path + */ + readonly srcPath: string; + + /** + * Source handler + */ + readonly srcHandler: string; +} + export class Function extends lambda.Function { constructor(scope: cdk.Construct, id: string, props: FunctionProps) { const root = scope.node.root as App; @@ -35,6 +50,8 @@ export class Function extends lambda.Function { const code = props.code as lambda.AssetCode; if (root.local) { + const srcPath = code.path; + const srcHandler = props.handler; super(scope, id, { ...props, code: lambda.Code.fromAsset( @@ -43,12 +60,13 @@ export class Function extends lambda.Function { handler: "index.main", environment: { ...(props.environment || {}), - SST_DEBUG_SRC_PATH: code.path, - SST_DEBUG_SRC_HANDLER: props.handler, + SST_DEBUG_SRC_PATH: srcPath, + SST_DEBUG_SRC_HANDLER: srcHandler, SST_DEBUG_ENDPOINT: root.debugEndpoint || "", }, }); - // func.node.defaultChild.cfnOptions.metadata = { 'sst:lambda:src': 'src/hello.handler' }; + // register Lambda function in app + root.registerLambdaHandler({ srcPath, srcHandler } as HandlerProps); } else { const buildPath = builder({ srcPath: code.path, From 6f980c212b0d96cff7c9c803d71a83c770b7175a Mon Sep 17 00:00:00 2001 From: Frank Date: Tue, 5 Jan 2021 02:25:48 -0500 Subject: [PATCH 056/123] Updating sst start with new Function construct handler and entry format --- packages/cli/scripts/start.js | 99 +++++++++++++----------------- packages/resources/src/Function.ts | 13 ++-- 2 files changed, 50 insertions(+), 62 deletions(-) diff --git a/packages/cli/scripts/start.js b/packages/cli/scripts/start.js index b819230b7d..e9b8b84259 100644 --- a/packages/cli/scripts/start.js +++ b/packages/cli/scripts/start.js @@ -52,6 +52,7 @@ const builderState = { }; const entryPointDataTemplateObject = { srcPath: null, + entry: null, handler: null, tsconfig: null, hasError: false, @@ -98,12 +99,15 @@ module.exports = async function (argv, cliInfo) { await deployApp(argv, cliInfo, config); // Start client + const lambdaHandlersPath = path.join(paths.appPath, paths.appBuildDir, "lambda-handlers.json"); + if ( ! await checkFileExists(lambdaHandlersPath)) { + throw new Error(`Failed to get the Lambda handlers info from the app`); + } try { - await startBuilder([ - { srcPath: "src/api", handler: "api.handler" }, - { srcPath: "src/sns", handler: "sns.handler" }, - ]); + // ie. { srcPath: "src/api", entry: "api.js", handler: "handler" }, + await startBuilder(JSON.parse(fs.readFileSync(lambdaHandlersPath))); } catch (e) { + console.error(e); return; } @@ -174,10 +178,10 @@ async function startBuilder(entryPoints) { esbuildService = await esbuild.startService(); const results = await Promise.allSettled( - entryPoints.map(({ srcPath, handler }) => + entryPoints.map(({ srcPath, entry, handler }) => // Not catching esbuild errors // Letting it handle the error messages for now - transpile(srcPath, handler) + transpile(srcPath, entry, handler) ) ); esbuildService.stop(); @@ -225,13 +229,14 @@ async function updateBuilder() { Object.keys(entryPointsData).forEach((key) => { let { srcPath, + entry, handler, transpilePromise, needsReTranspile, } = entryPointsData[key]; if (!transpilePromise && needsReTranspile) { - const transpilePromise = reTranspiler(srcPath, handler); - onReTranspileStarted({ srcPath, handler, transpilePromise }); + const transpilePromise = reTranspiler(srcPath, entry, handler); + onReTranspileStarted({ srcPath, entry, handler, transpilePromise }); } }); @@ -287,10 +292,11 @@ async function onFileChange(ev, file) { } function onTranspileSucceeded( srcPath, + entry, handler, { tsconfig, esbuilder, outHandler, inputFiles } ) { - const key = `${srcPath}/${handler}`; + const key = buildEntryPointKey(srcPath, entry, handler); // Update entryPointsData builderState.entryPointsData[key] = { ...builderState.entryPointsData[key], @@ -315,8 +321,8 @@ function onTranspileSucceeded( builderState.watchedFilesIndex[file].push(key); }); } -function onReTranspileStarted({ srcPath, handler, transpilePromise }) { - const key = `${srcPath}/${handler}`; +function onReTranspileStarted({ srcPath, entry, handler, transpilePromise }) { + const key = buildEntryPointKey(srcPath, entry, handler); // Print rebuilding message if (!builderState.isRebuilding) { @@ -331,8 +337,8 @@ function onReTranspileStarted({ srcPath, handler, transpilePromise }) { transpilePromise, }; } -async function onReTranspileSucceeded(srcPath, handler, { inputFiles }) { - const key = `${srcPath}/${handler}`; +async function onReTranspileSucceeded(srcPath, entry, handler, { inputFiles }) { + const key = buildEntryPointKey(srcPath, entry, handler); // Note: If the handler included new files, while re-transpiling, the new files // might have been updated. And because the new files has not been added to @@ -398,8 +404,8 @@ async function onReTranspileSucceeded(srcPath, handler, { inputFiles }) { await updateBuilder(); } -async function onReTranspileFailed(srcPath, handler) { - const key = `${srcPath}/${handler}`; +async function onReTranspileFailed(srcPath, entry, handler) { + const key = buildEntryPointKey(srcPath, entry, handler); // Update entryPointsData builderState.entryPointsData[key] = { @@ -412,7 +418,7 @@ async function onReTranspileFailed(srcPath, handler) { if (!builderState.entryPointsData[key].needsReTranspile) { builderState.entryPointsData[key].pendingRequestCallbacks.forEach( ({ reject }) => { - reject(`Failed to transpile srcPath ${srcPath} handler ${handler}`); + reject(`Failed to transpile srcPath ${srcPath} entry ${entry} handler ${handler}`); } ); } @@ -467,11 +473,10 @@ async function onTypeCheckDone(srcPath) { await updateBuilder(); } -async function transpile(srcPath, handler) { - const metafile = getEsbuildMetafilePath(srcPath, handler); +async function transpile(srcPath, entry, handler) { + const metafile = getEsbuildMetafilePath(srcPath, entry, handler); const outSrcPath = path.join(srcPath, paths.appBuildDir); - - const fullPath = await getHandlerFilePath(srcPath, handler); + const fullPath = path.join(paths.appPath, srcPath, entry); const tsconfigPath = path.join(paths.appPath, srcPath, "tsconfig.json"); const isTs = await checkFileExists(tsconfigPath); @@ -496,19 +501,20 @@ async function transpile(srcPath, handler) { const esbuilder = await esbuild.build(esbuildOptions); - return onTranspileSucceeded(srcPath, handler, { + return onTranspileSucceeded(srcPath, entry, handler, { tsconfig, esbuilder, outHandler: { + entry: entry.split(".").slice(0, -1).concat(['js']).join("."), handler, srcPath: outSrcPath, }, inputFiles: await getInputFilesFromEsbuildMetafile(metafile), }); } -async function reTranspiler(srcPath, handler) { +async function reTranspiler(srcPath, entry, handler) { try { - const key = buildEntryPointKey(srcPath, handler); + const key = buildEntryPointKey(srcPath, entry, handler); const { esbuilder } = builderState.entryPointsData[key]; await esbuilder.rebuild(); @@ -521,12 +527,12 @@ async function reTranspiler(srcPath, handler) { builderLogger.debug(`Mock rebuild wait done`); } - const metafile = getEsbuildMetafilePath(srcPath, handler); + const metafile = getEsbuildMetafilePath(srcPath, entry, handler); const inputFiles = await getInputFilesFromEsbuildMetafile(metafile); - await onReTranspileSucceeded(srcPath, handler, { inputFiles }); + await onReTranspileSucceeded(srcPath, entry, handler, { inputFiles }); } catch (e) { builderLogger.error("reTranspiler error", e); - await onReTranspileFailed(srcPath, handler); + await onReTranspileFailed(srcPath, entry, handler); } } @@ -590,18 +596,19 @@ function typeCheck(srcPath) { ///////////////////////////// function initializeBuilderState(entryPoints) { - entryPoints.forEach(({ srcPath, handler }) => { - const key = buildEntryPointKey(srcPath, handler); + entryPoints.forEach(({ srcPath, entry, handler }) => { + const key = buildEntryPointKey(srcPath, entry, handler); builderState.entryPointsData[key] = { ...entryPointDataTemplateObject, srcPath, + entry, handler, }; }); } -function buildEntryPointKey(srcPath, handler) { - return `${srcPath}/${handler}`; +function buildEntryPointKey(srcPath, entry, handler) { + return `${srcPath}/${entry}/${handler}`; } function getAllWatchedFiles() { return Object.keys(builderState.watchedFilesIndex); @@ -670,25 +677,6 @@ async function checkFileExists(file) { .catch(() => false); } -async function getHandlerFilePath(srcPath, handler) { - const parts = handler.split("."); - const name = parts[0]; - - const jsFile = path.join(paths.appPath, srcPath, `${name}.js`); - - if (await checkFileExists(jsFile)) { - return jsFile; - } - - const tsFile = path.join(paths.appPath, srcPath, `${name}.ts`); - - if (await checkFileExists(tsFile)) { - return tsFile; - } - - return jsFile; -} - async function getAllExternalsForHandler(srcPath) { let externals; @@ -711,8 +699,8 @@ async function getAllExternalsForHandler(srcPath) { return externals; } -async function getTranspiledHandler(srcPath, handler) { - const key = buildEntryPointKey(srcPath, handler); +async function getTranspiledHandler(srcPath, entry, handler) { + const key = buildEntryPointKey(srcPath, entry, handler); const entryPointData = builderState.entryPointsData[key]; if (entryPointData.transpilePromise || entryPointData.needsReTranspile) { builderLogger.debug(`Waiting for re-transpiler output for ${handler}...`); @@ -725,8 +713,8 @@ async function getTranspiledHandler(srcPath, handler) { return entryPointData.outHandler; } -function getEsbuildMetafilePath(srcPath, handler) { - const key = `${srcPath}/${handler}`.replace(/[/.]/g, "-"); +function getEsbuildMetafilePath(srcPath, entry, handler) { + const key = `${srcPath}/${entry}/${handler}`.replace(/[/.]/g, "-"); const outSrcFullPath = path.join(paths.appPath, srcPath, paths.appBuildDir); return path.join(outSrcFullPath, `.esbuild.${key}.json`); @@ -888,10 +876,11 @@ async function onClientMessage(message) { try { transpiledHandler = await getTranspiledHandler( - // TODO: Add debugSrcEntry debugSrcPath, + debugSrcEntry, debugSrcHandler ); + console.log({ transpiledHandler }); } catch (e) { clientLogger.error("Get trasnspiler handler error", e); // TODO: Handle esbuild transpilation error @@ -909,7 +898,7 @@ async function onClientMessage(message) { JSON.stringify(event), JSON.stringify(context), //"./src/index.js", // Local path to the Lambda functions - transpiledHandler.srcPath, + `${transpiledHandler.srcPath}/${transpiledHandler.entry}`, //"handler", // Function name of the handler function transpiledHandler.handler, ], diff --git a/packages/resources/src/Function.ts b/packages/resources/src/Function.ts index ecae67c9a0..e3af423bfc 100644 --- a/packages/resources/src/Function.ts +++ b/packages/resources/src/Function.ts @@ -50,12 +50,12 @@ export interface HandlerProps { /** * Source handler */ - readonly srcHandler: string; + readonly handler: string; /** * Source entry */ - readonly srcEntry: string; + readonly entry: string; } export class Function extends lambda.Function { @@ -90,8 +90,7 @@ export class Function extends lambda.Function { } if (root.local) { - const srcHandler = handler; - const srcEntry = props.entry; + const entry = props.entry; super(scope, id, { ...props, runtime, @@ -102,13 +101,13 @@ export class Function extends lambda.Function { environment: { ...(props.environment || {}), SST_DEBUG_SRC_PATH: srcPath, - SST_DEBUG_SRC_ENTRY: srcEntry, - SST_DEBUG_SRC_HANDLER: srcHandler, + SST_DEBUG_SRC_ENTRY: entry, + SST_DEBUG_SRC_HANDLER: handler, SST_DEBUG_ENDPOINT: root.debugEndpoint || "", }, }); // register Lambda function in app - root.registerLambdaHandler({ srcPath, srcEntry, srcHandler } as HandlerProps); + root.registerLambdaHandler({ srcPath, entry, handler } as HandlerProps); } else { const { outDir, outHandler } = builder({ bundle: bundle, From 39d0cdc43b226dbc804a77edffc6348012fd9a3c Mon Sep 17 00:00:00 2001 From: Jay Date: Tue, 5 Jan 2021 16:14:06 -0500 Subject: [PATCH 057/123] - Use node-fs-extra for reading JSON - Figure out which dir to run eslint and tsc in - Fix eslint babel configs --- packages/cli/assets/cdk-wrapper/.babelrc.json | 13 ----- .../assets/cdk-wrapper/.eslintrc.internal.js | 15 +++++- packages/cli/assets/cdk-wrapper/run.js | 28 ++++++----- packages/cli/scripts/start.js | 47 +++++++++---------- packages/cli/scripts/util/cdkHelpers.js | 28 +++-------- packages/resources/src/Function.ts | 1 - packages/resources/src/util/builder.ts | 27 ++++++----- 7 files changed, 75 insertions(+), 84 deletions(-) delete mode 100644 packages/cli/assets/cdk-wrapper/.babelrc.json diff --git a/packages/cli/assets/cdk-wrapper/.babelrc.json b/packages/cli/assets/cdk-wrapper/.babelrc.json deleted file mode 100644 index 40b948d1b5..0000000000 --- a/packages/cli/assets/cdk-wrapper/.babelrc.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "presets": [ - [ - "@babel/preset-env", - { - "targets": { - "node": "10" - } - } - ] - ], - "plugins": ["@babel/plugin-proposal-class-properties"] -} diff --git a/packages/cli/assets/cdk-wrapper/.eslintrc.internal.js b/packages/cli/assets/cdk-wrapper/.eslintrc.internal.js index 301298b292..cc16db7e96 100644 --- a/packages/cli/assets/cdk-wrapper/.eslintrc.internal.js +++ b/packages/cli/assets/cdk-wrapper/.eslintrc.internal.js @@ -2,16 +2,27 @@ module.exports = { root: true, parser: "@babel/eslint-parser", parserOptions: { + requireConfigFile: false, babelOptions: { - configFile: "./.build/.babelrc.json", + presets: [ + [ + "@babel/preset-env", + { + targets: { + node: "10", + }, + }, + ], + ], + plugins: ["@babel/plugin-proposal-class-properties"], }, }, plugins: ["@babel"], overrides: [ { files: ["*.ts", "*.tsx"], - parser: "@typescript-eslint/parser", plugins: ["@typescript-eslint"], + parser: "@typescript-eslint/parser", extends: ["eslint:recommended", "plugin:@typescript-eslint/recommended"], }, ], diff --git a/packages/cli/assets/cdk-wrapper/run.js b/packages/cli/assets/cdk-wrapper/run.js index 46f4490c05..6e8f773643 100644 --- a/packages/cli/assets/cdk-wrapper/run.js +++ b/packages/cli/assets/cdk-wrapper/run.js @@ -15,7 +15,7 @@ const sst = require("@serverless-stack/resources"); const config = require("./sst-merged.json"); -const appPath = path.join(__dirname, "../"); +const appPath = process.cwd(); // Check first and throw an error if (!fs.existsSync(path.join(__dirname, "lib", "index.js"))) { @@ -32,19 +32,23 @@ if (!handler.default) { let synthCallback; if (config.debugEndpoint) { synthCallback = (lambdaHandlers) => { - fs.writeFileSync(path.join(appPath, ".build", "lambda-handlers.json"), JSON.stringify(lambdaHandlers)); - } + fs.writeFileSync( + path.join(appPath, app.buildDir, "lambda-handlers.json"), + JSON.stringify(lambdaHandlers) + ); + }; } -handler.default( - new sst.App({ - name: config.name, - stage: config.stage, - region: config.region, - debugEndpoint: config.debugEndpoint, - synthCallback, - }) -); +const app = new sst.App({ + synthCallback, + name: config.name, + stage: config.stage, + region: config.region, + debugEndpoint: config.debugEndpoint, +}); + +// Run the handler +handler.default(app); function handlerNotFound(importFailed) { const extCopy = fs.existsSync(path.join(appPath, "tsconfig.json")) diff --git a/packages/cli/scripts/start.js b/packages/cli/scripts/start.js index e9b8b84259..71d2cf8daf 100644 --- a/packages/cli/scripts/start.js +++ b/packages/cli/scripts/start.js @@ -68,8 +68,8 @@ const srcPathDataTemplateObject = { tsconfig: null, inputFiles: null, lintProcess: null, - typeCheckProcess: null, needsReCheck: false, + typeCheckProcess: null, }; const clientState = { @@ -99,13 +99,18 @@ module.exports = async function (argv, cliInfo) { await deployApp(argv, cliInfo, config); // Start client - const lambdaHandlersPath = path.join(paths.appPath, paths.appBuildDir, "lambda-handlers.json"); - if ( ! await checkFileExists(lambdaHandlersPath)) { + const lambdaHandlersPath = path.join( + paths.appPath, + paths.appBuildDir, + "lambda-handlers.json" + ); + if (!(await checkFileExists(lambdaHandlersPath))) { throw new Error(`Failed to get the Lambda handlers info from the app`); } try { // ie. { srcPath: "src/api", entry: "api.js", handler: "handler" }, - await startBuilder(JSON.parse(fs.readFileSync(lambdaHandlersPath))); + const entryPoints = await fs.readJson(lambdaHandlersPath); + await startBuilder(entryPoints); } catch (e) { console.error(e); return; @@ -156,7 +161,7 @@ async function deployApp(argv, cliInfo, config) { logger.info("==============="); logger.info(""); - prepareCdk(argv, cliInfo, config); + await prepareCdk(argv, cliInfo, config); await sstDeploy(argv, config, cliInfo); } @@ -418,7 +423,9 @@ async function onReTranspileFailed(srcPath, entry, handler) { if (!builderState.entryPointsData[key].needsReTranspile) { builderState.entryPointsData[key].pendingRequestCallbacks.forEach( ({ reject }) => { - reject(`Failed to transpile srcPath ${srcPath} entry ${entry} handler ${handler}`); + reject( + `Failed to transpile srcPath ${srcPath} entry ${entry} handler ${handler}` + ); } ); } @@ -505,7 +512,7 @@ async function transpile(srcPath, entry, handler) { tsconfig, esbuilder, outHandler: { - entry: entry.split(".").slice(0, -1).concat(['js']).join("."), + entry: entry.split(".").slice(0, -1).concat(["js"]).join("."), handler, srcPath: outSrcPath, }, @@ -555,8 +562,7 @@ function lint(srcPath) { ".", ...inputFiles, ], - // TODO: Check if setting the cwd to the root is okay - { stdio: "inherit", cwd: paths.appPath } + { stdio: "inherit", cwd: path.join(paths.appPath, srcPath) } ); process.on("close", (code) => { @@ -567,10 +573,10 @@ function lint(srcPath) { return process; } function typeCheck(srcPath) { - const { tsconfig, inputFiles } = builderState.srcPathsData[srcPath]; + const { inputFiles } = builderState.srcPathsData[srcPath]; const tsFiles = inputFiles.filter((file) => file.endsWith(".ts")); - if (!tsconfig) { + if (tsFiles.length === 0) { return null; } @@ -681,11 +687,7 @@ async function getAllExternalsForHandler(srcPath) { let externals; try { - const packageJson = JSON.parse( - await fs.promises.readFile(path.join(srcPath, "package.json"), { - encoding: "utf-8", - }) - ); + const packageJson = await fs.readJson(path.join(srcPath, "package.json")); externals = Object.keys({ ...(packageJson.dependencies || {}), ...(packageJson.devDependencies || {}), @@ -724,9 +726,7 @@ async function getInputFilesFromEsbuildMetafile(file) { let metaJson; try { - metaJson = JSON.parse( - await fs.promises.readFile(file, { encoding: "utf-8" }) - ); + metaJson = await fs.readJson(file); } catch (e) { builderLogger.error("There was a problem reading the build metafile", e); } @@ -774,7 +774,7 @@ function startClient(debugEndpoint) { }); clientState.ws.on("error", (e) => { - clientLogger.error('WebSocket connection error', e); + clientLogger.error("WebSocket connection error", e); }); clientState.ws.on("message", onClientMessage); @@ -792,8 +792,8 @@ function startKeepAliveMonitor() { clientState.ws.send(JSON.stringify({ action: "client.heartbeat" })); clientState.wsKeepAliveTimer = setInterval(() => { if (clientState.ws) { - clientLogger.debug('Sending keep-alive call'); - clientState.ws.send(JSON.stringify({ action: 'client.keepAlive' })); + clientLogger.debug("Sending keep-alive call"); + clientState.ws.send(JSON.stringify({ action: "client.keepAlive" })); } }, 60000); } @@ -835,7 +835,7 @@ async function onClientMessage(message) { return; } if (data.action !== "stub.lambdaRequest") { - clientLogger.debug('Unkonwn websocket message received.'); + clientLogger.debug("Unkonwn websocket message received."); return; } @@ -880,7 +880,6 @@ async function onClientMessage(message) { debugSrcEntry, debugSrcHandler ); - console.log({ transpiledHandler }); } catch (e) { clientLogger.error("Get trasnspiler handler error", e); // TODO: Handle esbuild transpilation error diff --git a/packages/cli/scripts/util/cdkHelpers.js b/packages/cli/scripts/util/cdkHelpers.js index 798209f171..0d15b380d3 100644 --- a/packages/cli/scripts/util/cdkHelpers.js +++ b/packages/cli/scripts/util/cdkHelpers.js @@ -175,6 +175,7 @@ async function lint(inputFiles) { logger.info(stderr); } } catch (e) { + console.log(e); logger.info(e.stdout); exitWithMessage("There was a problem linting the source."); } @@ -211,16 +212,8 @@ async function typeCheck(inputFiles) { } } -function runChecks(isTs, inputFiles) { - const checks = []; - - checks.push(lint(inputFiles)); - - if (isTs) { - checks.push(typeCheck(inputFiles)); - } - - return Promise.allSettled(checks); +function runChecks(inputFiles) { + return Promise.allSettled([lint(inputFiles), typeCheck(inputFiles)]); } async function transpile(cliInfo) { @@ -265,21 +258,14 @@ async function transpile(cliInfo) { exitWithMessage("There was a problem transpiling the source."); } - return { - isTs, - inputFiles: await getInputFilesFromEsbuildMetafile(metafile), - }; + return await getInputFilesFromEsbuildMetafile(metafile); } async function copyConfigFiles() { - await fs.copy( + return await fs.copy( path.join(paths.ownPath, "assets", "cdk-wrapper", ".eslintrc.internal.js"), path.join(paths.appBuildPath, ".eslintrc.internal.js") ); - return await fs.copy( - path.join(paths.ownPath, "assets", "cdk-wrapper", ".babelrc.json"), - path.join(paths.appBuildPath, ".babelrc.json") - ); } function copyWrapperFiles() { @@ -363,9 +349,9 @@ async function prepareCdk(argv, cliInfo, config) { await copyConfigFiles(); await copyWrapperFiles(); - const { isTs, inputFiles } = await transpile(cliInfo); + const inputFiles = await transpile(cliInfo); - await runChecks(isTs, inputFiles); + await runChecks(inputFiles); return appliedConfig; } diff --git a/packages/resources/src/Function.ts b/packages/resources/src/Function.ts index e3af423bfc..346403af23 100644 --- a/packages/resources/src/Function.ts +++ b/packages/resources/src/Function.ts @@ -117,7 +117,6 @@ export class Function extends lambda.Function { buildDir: root.buildDir, }); - console.log(outDir); super(scope, id, { ...props, runtime, diff --git a/packages/resources/src/util/builder.ts b/packages/resources/src/util/builder.ts index e0e9dabf82..4546cf284b 100644 --- a/packages/resources/src/util/builder.ts +++ b/packages/resources/src/util/builder.ts @@ -40,8 +40,11 @@ function getEsbuildMetafileName(entry: string, handler: string): string { return `.esbuild.${key}.json`; } -function getAllExternalsForHandler(srcPath: string, bundle: boolean): Array { - let externals = ['aws-sdk']; +function getAllExternalsForHandler( + srcPath: string, + bundle: boolean +): Array { + let externals = ["aws-sdk"]; if (bundle) { return externals; @@ -64,9 +67,11 @@ function getAllExternalsForHandler(srcPath: string, bundle: boolean): Array Date: Tue, 5 Jan 2021 16:27:25 -0500 Subject: [PATCH 058/123] Fixing lint errors --- .eslintignore | 9 ++++++ .../assets/debug-stack/lambda/wsDefault.js | 32 +++++++++++-------- packages/resources/src/App.ts | 6 ++-- packages/resources/src/util/builder.ts | 1 - 4 files changed, 31 insertions(+), 17 deletions(-) diff --git a/.eslintignore b/.eslintignore index 9f4f115416..6ff47e1f7f 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,15 +1,24 @@ # Don't ever lint node_modules node_modules + # Don't lint build output (make sure it's set to your correct build folder name) dist + # Don't lint nyc coverage output coverage + +# Don't lint cdk.out +cdk.out + # Don't lint build outputs in test /packages/cli/test/*/.build/** /packages/cli/test/*/cdk.out/** + # Don't lint templates /packages/create-serverless-stack/templates/** + # Don't lint eslint tests that need to fail /packages/cli/test/eslint-ignore/** /packages/cli/test/eslint-ts/** /packages/cli/test/eslint/** +/packages/cli/test/start/src/** diff --git a/packages/cli/assets/debug-stack/lambda/wsDefault.js b/packages/cli/assets/debug-stack/lambda/wsDefault.js index 37ae84e973..d567e53c5a 100644 --- a/packages/cli/assets/debug-stack/lambda/wsDefault.js +++ b/packages/cli/assets/debug-stack/lambda/wsDefault.js @@ -7,7 +7,7 @@ exports.main = async function (event) { const eventBody = JSON.parse(event.body); - console.log('Event action:', eventBody.action); + console.log("Event action:", eventBody.action); switch (eventBody.action) { case "client.register": @@ -26,12 +26,12 @@ exports.main = async function (event) { async function onClientRegister(event) { // store client in DB - console.log('Registering new client.'); + console.log("Registering new client."); const clientConnectionId = event.requestContext.connectionId; const oldConnectionId = await setClientConnectionId(clientConnectionId); // notify new client is registered - console.log('Notifying client connected.'); + console.log("Notifying client connected."); await postToConnection( event, JSON.stringify({ @@ -43,27 +43,28 @@ async function onClientRegister(event) { // notify old client is replaced by the newer client if (oldConnectionId) { - console.log('Existing client found. Notify existing client to disconnect.'); + console.log("Existing client found. Notify existing client to disconnect."); try { await postToConnection( event, JSON.stringify({ action: "server.clientDisconnectedDueToNewClient" }), oldConnectionId ); - } catch(e) { + } catch (e) { + // empty } } -}; +} async function onClientLambdaResponse(event, eventBody) { // send response to stub try { - console.log('Sending response to stub.'); + console.log("Sending response to stub."); await postToConnection(event, event.body, eventBody.stubConnectionId); } catch (e) { console.error(e); - console.log('Notifying client response failed to send to stub.'); + console.log("Notifying client response failed to send to stub."); const clientConnectionId = event.requestContext.connectionId; const action = e.statusCode === 410 @@ -86,12 +87,12 @@ async function onStubLambdaRequest(event, eventBody) { const stubConnectionId = event.requestContext.connectionId; // get connected client - console.log('Getting connected client id.'); + console.log("Getting connected client id."); const clientConnectionId = await getClientConnectionId(); // send request to client if (clientConnectionId) { - console.log('Sending request to client.'); + console.log("Sending request to client."); try { await postToConnection( event, @@ -101,16 +102,20 @@ async function onStubLambdaRequest(event, eventBody) { } catch (e) { console.error(e); - console.log('Notifying stub request failed to send to client.'); + console.log("Notifying stub request failed to send to client."); const action = e.statusCode === 410 ? "server.failedToSendRequestDueToClientNotConnected" : "server.failedToSendRequestDueToUnknown"; - await postToConnection(event, JSON.stringify({ action }), stubConnectionId); + await postToConnection( + event, + JSON.stringify({ action }), + stubConnectionId + ); } } else { // handle no connected client - console.log('Notifying stub no connected client.'); + console.log("Notifying stub no connected client."); await postToConnection( event, JSON.stringify({ @@ -164,4 +169,3 @@ async function postToConnection(event, data, connectionId) { }) .promise(); } - diff --git a/packages/resources/src/App.ts b/packages/resources/src/App.ts index afa87eb9fa..ccca279c3e 100644 --- a/packages/resources/src/App.ts +++ b/packages/resources/src/App.ts @@ -78,7 +78,9 @@ export class App extends cdk.App { /** * The callback after synth completes. */ - private readonly synthCallback?: (lambdaHandlers: Array) => void; + private readonly synthCallback?: ( + lambdaHandlers: Array + ) => void; /** * A list of Lambda functions in the app @@ -125,7 +127,7 @@ export class App extends cdk.App { return cloudAssembly; } - registerLambdaHandler(handler: HandlerProps) { + registerLambdaHandler(handler: HandlerProps): void { this.lambdaHandlers.push(handler); } } diff --git a/packages/resources/src/util/builder.ts b/packages/resources/src/util/builder.ts index 4546cf284b..2d7c269605 100644 --- a/packages/resources/src/util/builder.ts +++ b/packages/resources/src/util/builder.ts @@ -71,7 +71,6 @@ export function builder(builderProps: BuilderProps): BuilderOutput { chalk.grey(`Building Lambda function ${srcPath}/${entry}:${handler}`) ); - const outFile = "index"; const appPath = process.cwd(); const external = getAllExternalsForHandler(srcPath, bundle); From 30617a899c9307362a88ad68f893d8f4c8300bfa Mon Sep 17 00:00:00 2001 From: Frank Date: Tue, 5 Jan 2021 17:27:05 -0500 Subject: [PATCH 059/123] Watching for cdk file changes in sst start --- packages/cli/bin/scripts.js | 2 +- packages/cli/scripts/start.js | 77 +++++++++++++++---------- packages/cli/scripts/util/cdkHelpers.js | 2 +- packages/cli/test/start/src/api/lib.ts | 2 +- 4 files changed, 51 insertions(+), 32 deletions(-) diff --git a/packages/cli/bin/scripts.js b/packages/cli/bin/scripts.js index 6472718ecc..73c9d5159f 100755 --- a/packages/cli/bin/scripts.js +++ b/packages/cli/bin/scripts.js @@ -187,7 +187,7 @@ switch (script) { const cliInfo = getCliInfo(); // Prepare app - prepareCdk(argv, cliInfo).then((config) => + prepareCdk(argv, cliInfo).then(({ config }) => internals[script](argv, config, cliInfo) ); diff --git a/packages/cli/scripts/start.js b/packages/cli/scripts/start.js index 71d2cf8daf..b5afb3dc61 100644 --- a/packages/cli/scripts/start.js +++ b/packages/cli/scripts/start.js @@ -46,9 +46,10 @@ let esbuildService; const builderState = { isRebuilding: false, - entryPointsData: {}, - srcPathsData: {}, - watchedFilesIndex: {}, + entryPointsData: {}, // KEY: $srcPath/$entry/$handler + srcPathsData: {}, // KEY: $srcPath + watchedFilesIndex: {}, // KEY: /path/to/lambda.js VALUE: [ entryPoint ] + watchedCdkFilesIndex: {}, // KEY: /path/to//MyStack.js VALUE: true }; const entryPointDataTemplateObject = { srcPath: null, @@ -80,13 +81,13 @@ const clientState = { const MOCK_SLOW_ESBUILD_RETRANSPILE_IN_MS = 0; process.on("uncaughtException", (err, origin) => { - logger.info("===== Unhandled Exception at:", err, "origin:", origin); + logger.error("Unhandled Exception at:", err, "origin:", origin); }); process.on("unhandledRejection", (reason, promise) => { - logger.info("===== Unhandled Rejection at:", promise, "reason:", reason); + logger.error("Unhandled Rejection at:", promise, "reason:", reason); }); process.on("rejectionHandled", (promise) => { - logger.info("===== Rejection Handled at:", promise); + logger.error("Rejection Handled at:", promise); }); module.exports = async function (argv, cliInfo) { @@ -96,26 +97,12 @@ module.exports = async function (argv, cliInfo) { config.debugEndpoint = await deployDebugStack(cliInfo, config); // Deploy app - await deployApp(argv, cliInfo, config); + const cdkInputFiles = await deployApp(argv, cliInfo, config); - // Start client - const lambdaHandlersPath = path.join( - paths.appPath, - paths.appBuildDir, - "lambda-handlers.json" - ); - if (!(await checkFileExists(lambdaHandlersPath))) { - throw new Error(`Failed to get the Lambda handlers info from the app`); - } - try { - // ie. { srcPath: "src/api", entry: "api.js", handler: "handler" }, - const entryPoints = await fs.readJson(lambdaHandlersPath); - await startBuilder(entryPoints); - } catch (e) { - console.error(e); - return; - } + // Start builder + await startBuilder(cdkInputFiles); + // Start client startClient(config.debugEndpoint); }; @@ -161,22 +148,37 @@ async function deployApp(argv, cliInfo, config) { logger.info("==============="); logger.info(""); - await prepareCdk(argv, cliInfo, config); + const { inputFiles } = await prepareCdk(argv, cliInfo, config); await sstDeploy(argv, config, cliInfo); + + return inputFiles; } /////////////////////// // Builder functions // /////////////////////// -async function startBuilder(entryPoints) { +async function startBuilder(cdkInputFiles) { builderLogger.info(""); builderLogger.info("==================="); builderLogger.info(" Starting debugger"); builderLogger.info("==================="); builderLogger.info(""); - initializeBuilderState(entryPoints); + // Load Lambda handlers to watch + // ie. { srcPath: "src/api", entry: "api.js", handler: "handler" }, + const lambdaHandlersPath = path.join( + paths.appPath, + paths.appBuildDir, + "lambda-handlers.json" + ); + const entryPoints = await fs.readJson(lambdaHandlersPath); + if (!(await checkFileExists(lambdaHandlersPath))) { + throw new Error(`Failed to get the Lambda handlers info from the app`); + } + + // Initialize state + initializeBuilderState(entryPoints, cdkInputFiles); // Run transpiler builderLogger.info("Transpiling Lambda code..."); @@ -281,6 +283,14 @@ async function updateBuilder() { async function onFileChange(ev, file) { builderLogger.debug(`File change: ${file}`); + // Handle CDK code changed + if (builderState.watchedCdkFilesIndex[file]) { + builderLogger.info( + "Detected a change in your CDK constructs. Restart the debugger to deploy the changes." + ); + return; + } + // Get entrypoints changed const entryPointKeys = builderState.watchedFilesIndex[file]; if (!entryPointKeys) { @@ -601,7 +611,8 @@ function typeCheck(srcPath) { // Builder State functions // ///////////////////////////// -function initializeBuilderState(entryPoints) { +function initializeBuilderState(entryPoints, cdkInputFiles) { + // Initialize 'entryPointsData' state entryPoints.forEach(({ srcPath, entry, handler }) => { const key = buildEntryPointKey(srcPath, entry, handler); builderState.entryPointsData[key] = { @@ -611,13 +622,21 @@ function initializeBuilderState(entryPoints) { handler, }; }); + + // Initialize 'watchedCdkFilesIndex' state + cdkInputFiles.forEach((file) => { + builderState.watchedCdkFilesIndex[file] = true; + }); } function buildEntryPointKey(srcPath, entry, handler) { return `${srcPath}/${entry}/${handler}`; } function getAllWatchedFiles() { - return Object.keys(builderState.watchedFilesIndex); + return [ + ...Object.keys(builderState.watchedFilesIndex), + ...Object.keys(builderState.watchedCdkFilesIndex), + ]; } function getAllSrcPaths() { return Object.keys(builderState.srcPathsData); diff --git a/packages/cli/scripts/util/cdkHelpers.js b/packages/cli/scripts/util/cdkHelpers.js index 0d15b380d3..4e28481364 100644 --- a/packages/cli/scripts/util/cdkHelpers.js +++ b/packages/cli/scripts/util/cdkHelpers.js @@ -353,7 +353,7 @@ async function prepareCdk(argv, cliInfo, config) { await runChecks(inputFiles); - return appliedConfig; + return { appliedConfig, inputFiles }; } function handleCdkErrors(e) { diff --git a/packages/cli/test/start/src/api/lib.ts b/packages/cli/test/start/src/api/lib.ts index c304f24cd1..f3fb0892c5 100644 --- a/packages/cli/test/start/src/api/lib.ts +++ b/packages/cli/test/start/src/api/lib.ts @@ -1,3 +1,3 @@ -export default function (name: string): string { +export default function (name: number): string { return name; } From 1ee79038d2117e8e64a26e24d0cef8728d3cbc95 Mon Sep 17 00:00:00 2001 From: Jay Date: Tue, 5 Jan 2021 21:46:30 -0500 Subject: [PATCH 060/123] Update README.md --- README.md | 83 ++++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 67 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 97ee97031b..1482682893 100644 --- a/README.md +++ b/README.md @@ -3,16 +3,16 @@ Serverless Stack Toolkit (SST) is an extension of [AWS CDK](https://aws.amazon.com/cdk/) that: - Allows you to use [**CDK with Serverless Framework**](https://serverless-stack.com/chapters/using-aws-cdk-with-serverless-framework.html) -- And speeds up your deployments by **deploying all your stacks concurrently**! +- And develop your Lambdas **locally without mocking or deploying**! ## Quick Start -Create and deploy your first SST app. +Create your first SST app. ```bash $ npx create-serverless-stack resources my-sst-app $ cd my-sst-app -$ npx sst deploy +$ npx sst start ``` ## Table of Contents @@ -21,6 +21,7 @@ $ npx sst deploy - [Usage](#usage) - [Creating an app](#creating-an-app) - [Working on your app](#working-on-your-app) + - [Developing your Lambdas](#developing-your-lambdas) - [Building your app](#building-your-app) - [Deploying your app](#deploying-your-app) - [Removing an app](#removing-an-app) @@ -43,7 +44,7 @@ $ npx sst deploy ## Background -Serverless Framework is great for deploying your Lambda functions. But deploying any other AWS resources requires you to write CloudFormation templates in YAML. CloudFormation templates are incredibly verbose and even creating simple resources can take hundreds of lines of YAML. AWS CDK solves this by allowing you to generate CloudFormation templates using modern programming languages. Making it truly, _infrastructure as code_. +Serverless Framework is great but deploying any other AWS resources requires you to write CloudFormation templates in YAML. CloudFormation templates are incredibly verbose and even creating simple resources can take hundreds of lines of YAML. AWS CDK solves this by allowing you to generate CloudFormation templates using modern programming languages. Making it truly, _infrastructure as code_. ### Using Serverless Framework with CDK @@ -57,7 +58,7 @@ However, to use AWS CDK (to define your non-Lambda resources) alongside your Ser Since the same app is deployed to multiple environments, the AWS resource names might thrash if you are using the same AWS account across environments. To avoid this, Serverless Framework adopts the practice of prefixing the stack (and other resource) names with the stage name. On the other hand, to deploy a CDK app to the multiple stages, you'd need to manually ensure that the stack names and resource names don't thrash. -SST provides the above out-of-the-box. So you can deploy your Lambda functions using: +SST provides the above out-of-the-box. So you can deploy your Serverless services using: ```bash $ AWS_PROFILE=production serverless deploy --stage prod --region us-east-1 @@ -71,9 +72,25 @@ $ AWS_PROFILE=production npx sst deploy --stage prod --region us-east-1 Making it really easy for you to start using CDK to create your AWS infrastructure. While still continuing to use Serverless Framework for your Lambda functions. You can [read more about this here](https://serverless-stack.com/chapters/using-aws-cdk-with-serverless-framework.html). -### Speeding up CDK +### Developing Lambdas locally + +Developing Lambdas locally usually requires you to either: + +1. Mock all the services you are using +2. Or, constantly deploy your changes to test them + +Both these approaches don't work well in practice. Mocking all the AWS services can be really hard and mocking asynchronous workflows can be flaky. And constantly deploying your Lambda functions or infrastructure can be simply too slow. + +The `sst start` command starts up a local development environment that opens a WebSocket connection to your deployed app and proxies any Lambda requests to your local machine. This allows you to: + +- Work on your Lambda functions locally +- While, interacting with your entire deployed AWS infrastructure +- Supports all Lambda triggers, so there's no need to mock API Gateway, SQS, SNS, etc. +- Supports real Lambda environment variables and Lambda IAM permissions +- So if a Lambda fails on AWS due to lack of IAM permissions, it would fail locally as well +- And it's fast. There's nothing to deploy when you make a change! -Finally, AWS CDK deployments are currently very slow. CDK deploys your CloudFormation stacks in sequence. It'll submit a CloudFormation template for deployment and wait till it completes before starting the next one. This means that CDK deployments for large apps can easily take at least half an hour. SST fixes this by deploying your CloudFormation stacks concurrently. It uses [a forked version of AWS CDK](https://github.com/serverless-stack/sst-cdk) internally to do this. +You can read more about the [**sst start** command here](https://github.com/serverless-stack/serverless-stack/tree/master/packages/cli#start). ### And more @@ -81,10 +98,12 @@ As a bonus, SST also supports deploying your CloudFormation stacks asynchronousl SST also comes with a few other niceties: -- Supports ES6 (and TypeScript) out-of-the-box -- Automatically lints your CDK code using [ESLint](https://eslint.org/) +- Supports ES6 and TypeScript out-of-the-box +- Automatically lints your CDK and Lambda code using [ESLint](https://eslint.org/) - Runs your CDK unit tests using [Jest](https://jestjs.io/) +Behind the scenes, SST uses [a lightweight fork of AWS CDK](https://github.com/serverless-stack/sst-cdk) to programmatically invoke the various CDK commands. + ## Usage ### Creating an app @@ -131,9 +150,11 @@ my-sst-app ├── sst.json ├── test │ └── MyStack.test.js -└── lib - ├── MyStack.js - └── index.js +├── lib +| ├── MyStack.js +| └── index.js +└── src + └── lambda.js ``` It includes a config file in `sst.json`. @@ -199,8 +220,32 @@ And if you need to prefix certain resource names so that they don't thrash when this.node.root.logicalPrefixedName("MyResource"); // "dev-my-sst-app-MyResource" ``` +Finally, in the `src/` directory we have a Lambda function that's being deployed as a part of this stack. + +``` js +new sst.Function(this, "MyLambda", { + entry: "src/lambda.js", + handler: "handler" +}); +``` + +Notice that we are using the `sst.Function` instead of the `cdk.lambda.Function`. This allows SST to locally invoke a deployed Lambda function. + You can read more about [**@serverless-stack/resources** here](https://github.com/serverless-stack/serverless-stack/tree/master/packages/resources). +### Developing your Lambdas + +After you've defined your app in CDK and you are ready to work on your Lambda functions, start the local development environment using. + +```bash +# With npm +$ npx sst start +# Or with Yarn +$ yarn sst start +``` + +This will first deploy your app and then start up a debugger. It'll allow you to make changes to your Lambda functions and to test them right away without having to deploy them. + ### Building your app Once you are ready to build your app and convert your CDK code to CloudFormation, run the following from your project root. @@ -212,7 +257,7 @@ $ npx sst build $ yarn sst build ``` -This will compile your ES6 (or TS) code to the `build/` directory in your app. And the synthesized CloudFormation templates are outputted to `build/cdk.out/`. Note that, you shouldn't commit the `build/` directory to source control and it's ignored by default in your project's `.gitignore`. +This will compile your ES6 (or TS) code to the `.build/` directory in your app. And the synthesized CloudFormation templates are outputted to `.build/cdk.out/`. Note that, you shouldn't commit the `.build/` directory to source control and it's ignored by default in your project's `.gitignore`. ### Deploying your app @@ -246,7 +291,7 @@ Note that, this permanently removes your resources from AWS. ### Package scripts -The above commands (`build`, `deploy`, and `remove`) are also available in your `package.json`. So you can run them using. +The above commands (`start`, `build`, `deploy`, and `remove`) are also available in your `package.json`. So you can run them using. ```bash # With npm @@ -276,6 +321,8 @@ $ yarn test Your code is automatically linted when building or deploying. If you'd like to customize the lint rules, add a `.eslintrc.json` in your project root. If you'd like to turn off linting, add `*` to an `.eslintignore` file in your project root. +Note that, this applies to the Lambda functions in your app as well. + ## Example Project We use SST as a part of the [Serverless Stack guide](https://serverless-stack.com). We build a [simple notes app](http://demo2.serverless-stack.com/) in the guide and the backend for it is created using Serverless Framework and CDK with SST. You can check out the repo here — [serverless-stack-demo-api](https://github.com/AnomalyInnovations/serverless-stack-demo-api). @@ -333,7 +380,11 @@ It's fairly simple to move a CDK app to SST. There are a couple of small differe } ``` -4. Include the right packages +4. Lambdas extend `sst.Function` + + Use the `sst.Function` construct instead to the `cdk.lambda.Function`. You can read more about this over on [`@serverless-stack/resources`](https://github.com/serverless-stack/serverless-stack/tree/master/packages/resources) docs. + +5. Include the right packages You don't need the `aws-cdk` package in your `package.json`. Instead you'll need `@serverless-stack/cli` and `@serverless-stack/resources`. @@ -371,7 +422,7 @@ You can learn more about these issues [here](https://github.com/aws/aws-cdk/issu ## Future Roadmap -- Add support for other AWS CDK languages +Check out [the public SST roadmap here](https://github.com/serverless-stack/serverless-stack/projects/1). ## Contributing From cb59f2b6aaccd5e2b0ed9a4d6a7f3335e39dd462 Mon Sep 17 00:00:00 2001 From: Jay Date: Tue, 5 Jan 2021 22:22:26 -0500 Subject: [PATCH 061/123] Update README.md --- packages/cli/README.md | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/packages/cli/README.md b/packages/cli/README.md index c8eacf80b4..bcc3195991 100644 --- a/packages/cli/README.md +++ b/packages/cli/README.md @@ -26,6 +26,24 @@ $ yarn sst ## Commands +### `start` + +Starts up a local development environment for your Lambda functions. It allows you to make changes and test your functions without having to deploy them. Here is how it works: + +1. Before deploying your app, SST first deploys a stack with a Lambda powered WebSocket API. +2. While deploying your app, it replaces all the `sst.Function` constructs with a _stub_ Lambda function. +3. SST starts up a local client that connects to the WebSocket API. +4. When your Lambda functions are invoked, the stub Lambdas send the request to the WebSocket API. +5. This in turn sends the request to your local SST client. +6. The client then invokes the local version of your Lambda function and sends back the results to the WebSocket API. +7. The WebSocket API responds to the stub Lambda with the results and the original request continues. + +This means that for any new requests, the local version of your Lambdas will be invoked. Without having to deploy them. + +Note that all this is deployed to your AWS account. There are no 3rd party services involved and your data never leaves your account. And since the WebSocket API is completely serverless, it's basically free for most use cases. + +`sst start` also starts up a watcher to transpile, lint, and type check your Lambda functions. So you can use ES or TypeScript directly. + ### `build` Build your app and synthesize your stacks. @@ -38,7 +56,7 @@ Deploy all your stacks to AWS. Or optionally deploy a specific stack. ### `remove [stack]` -Remove all your stacks and all of their resources from AWS. Or optionally remove a specific stack. +Remove all your stacks and all of their resources from AWS. Or optionally remove a specific stack. Also removes the debug stack that might've been deployed along with `sst start`. ### `add-cdk [packages..]` From cdecdfedfd2c0dcf30903ef2e07b4835b4167980 Mon Sep 17 00:00:00 2001 From: Jay Date: Tue, 5 Jan 2021 22:32:48 -0500 Subject: [PATCH 062/123] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1482682893..0d4a253e36 100644 --- a/README.md +++ b/README.md @@ -229,7 +229,7 @@ new sst.Function(this, "MyLambda", { }); ``` -Notice that we are using the `sst.Function` instead of the `cdk.lambda.Function`. This allows SST to locally invoke a deployed Lambda function. +Notice that we are using the `sst.Function` instead of the `cdk.lambda.NodejsFunction`. This allows SST to locally invoke a deployed Lambda function. You can read more about [**@serverless-stack/resources** here](https://github.com/serverless-stack/serverless-stack/tree/master/packages/resources). @@ -382,7 +382,7 @@ It's fairly simple to move a CDK app to SST. There are a couple of small differe 4. Lambdas extend `sst.Function` - Use the `sst.Function` construct instead to the `cdk.lambda.Function`. You can read more about this over on [`@serverless-stack/resources`](https://github.com/serverless-stack/serverless-stack/tree/master/packages/resources) docs. + Use the `sst.Function` construct instead to the `cdk.lambda.NodejsFunction`. You can read more about this over on [`@serverless-stack/resources`](https://github.com/serverless-stack/serverless-stack/tree/master/packages/resources) docs. 5. Include the right packages From 8079076e93cdafd2870b313b1399439bcd3c7c4b Mon Sep 17 00:00:00 2001 From: Jay Date: Tue, 5 Jan 2021 22:48:24 -0500 Subject: [PATCH 063/123] Update README.md --- packages/resources/README.md | 46 +++++++++++++++++++++++++++++++++--- 1 file changed, 43 insertions(+), 3 deletions(-) diff --git a/packages/resources/README.md b/packages/resources/README.md index a5f2e7866e..8a3856e496 100644 --- a/packages/resources/README.md +++ b/packages/resources/README.md @@ -1,13 +1,19 @@ # @serverless-stack/resources [![npm](https://img.shields.io/npm/v/@serverless-stack/resources.svg)](https://www.npmjs.com/package/@serverless-stack/resources) -Part of the **[Serverless Stack Toolkit](https://github.com/serverless-stack/serverless-stack)**. Provides a couple of simple AWS CDK Constructs that allow you to: +Part of the **[Serverless Stack Toolkit](https://github.com/serverless-stack/serverless-stack)**. Provides a couple of simple AWS CDK Constructs: + +- `sst.App` +- `sst.Stack` +- `sst.Function` + +## `sst.Stack` + +The `sst.Stack` and `sst.App` constructs allow you to: - Automatically prefix stack names with the stage - Optionally prefix resource names with the stage - Deploy the entire app using the same AWS profile and region -## Usage - ### Creating a new stack Create a new stack by adding this in `lib/MyStack.js`. @@ -90,3 +96,37 @@ this.node.root.logicalPrefixedName("MyResource") // Returns "dev-my-sst-app-MyR ``` This invokes the `logicalPrefixedName` method in `sst.App` that your stack is added to. This'll return `dev-my-sst-app-MyResource`, where `dev` is the current stage and `my-sst-app` is the name of the app. + +## `sst.Function` + +A replacement for the [`cdk.lambda.NodejsFunction`](https://docs.aws.amazon.com/cdk/api/latest/docs/aws-lambda-nodejs-readme.html) that allows you to develop your Lambda functions locally while using [`sst start`](https://github.com/serverless-stack/serverless-stack/tree/master/packages/cli#start). Supports ES and TypeScript out-of-the-box. + +Takes props (`sst.FunctionProps`) that extends [`cdk.lambda.FunctionOptions`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionOptions.html) and adds the following props to it: + +### `entry` + +Relative path to the entry point of the function. Either based of the project root or the `srcPath`. A `.js` or `.ts` file. + +### `srcPath` + +The source directory where the entry point file is located. The `node_modules` in this directory is used to generate the bundle. The `tsconfig.json` is expected to be here as well. + +Defaults to `""` (project root). + +### `handler` + +The exported function in the entry file. + +Defaults to `"handler"`. + +### `runtime` + +The runtime environment. Only runtimes of the Node.js family are supported. + +Defaults to `lambda.NODEJS_12_X`. + +### `bundle` + +Bundles your Lambda functions with [esbuild](https://esbuild.github.io). + +Defaults to `true`. From 67e4fc4032cef9808a977230a610a819b56cfe74 Mon Sep 17 00:00:00 2001 From: Jay Date: Tue, 5 Jan 2021 23:25:51 -0500 Subject: [PATCH 064/123] Updating release commands --- package.json | 9 +- yarn.lock | 267 +++++++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 267 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index dd8419faa5..b2a3360054 100644 --- a/package.json +++ b/package.json @@ -9,17 +9,24 @@ ], "scripts": { "lint": "eslint . --fix --ext .js,.ts", - "npm-publish": "lerna publish --force-publish", + "changelog": "lerna-changelog", + "release": "lerna publish --force-publish", + "release-alpha": "lerna publish --force-publish --dist-tag alpha", "clean": "lerna run clean", "postinstall": "lerna run prepare --scope='{@serverless-stack/resources,@serverless-stack/cli,create-serverless-stack}'", "test": "lerna run test --stream --scope=@serverless-stack/cli" }, + "repository": { + "type": "git", + "url": "https://github.com/serverless-stack/serverless-stack.git" + }, "devDependencies": { "@typescript-eslint/eslint-plugin": "^3.9.1", "@typescript-eslint/parser": "^3.9.1", "eslint": "^7.16.0", "husky": "^4.3.6", "lerna": "^3.22.1", + "lerna-changelog": "^1.0.1", "lint-staged": "^10.5.3", "prettier": "^2.2.1", "typescript": "^3.9.7" diff --git a/yarn.lock b/yarn.lock index 33d896823a..c86b595fcc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3056,6 +3056,11 @@ agent-base@4, agent-base@^4.3.0: dependencies: es6-promisify "^5.0.0" +agent-base@5: + version "5.1.1" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-5.1.1.tgz#e8fb3f242959db44d63be665db7a8e739537a32c" + integrity sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g== + agent-base@6, agent-base@^6.0.0: version "6.0.2" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" @@ -3077,6 +3082,15 @@ agentkeepalive@^3.4.1: dependencies: humanize-ms "^1.2.1" +agentkeepalive@^4.1.0: + version "4.1.3" + resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.1.3.tgz#360a09d743a1f4fde749f9ba07caa6575d08259a" + integrity sha512-wn8fw19xKZwdGPO47jivonaHRTd+nGOMP1z11sgGeQzDy2xd5FG0R67dIMcKHDE2cJ5y+YXV30XVGUBPRSY7Hg== + dependencies: + debug "^4.1.0" + depd "^1.1.2" + humanize-ms "^1.2.1" + aggregate-error@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" @@ -3663,6 +3677,31 @@ cacache@^12.0.0, cacache@^12.0.3: unique-filename "^1.1.1" y18n "^4.0.0" +cacache@^14.0.0: + version "14.0.0" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-14.0.0.tgz#97c10fc87c4c7ee41d45e32631c26761c2687caa" + integrity sha512-+Nr/BnA/tjAUXza9gH8F+FSP+1HvWqCKt4c95dQr4EDVJVafbzmPZpLKCkLYexs6vSd2B/1TOXrAoNnqVPfvRA== + dependencies: + chownr "^1.1.2" + figgy-pudding "^3.5.1" + fs-minipass "^2.0.0" + glob "^7.1.4" + graceful-fs "^4.2.2" + infer-owner "^1.0.4" + lru-cache "^5.1.1" + minipass "^3.0.0" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.2" + mkdirp "^1.0.3" + move-concurrently "^1.0.1" + p-map "^3.0.0" + promise-inflight "^1.0.1" + rimraf "^2.7.1" + ssri "^7.0.0" + tar "^6.0.0" + unique-filename "^1.1.1" + cache-base@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" @@ -3790,7 +3829,7 @@ cdk-assets@1.74.0: glob "^7.1.6" yargs "^16.1.1" -chalk@^2.0.0, chalk@^2.3.1, chalk@^2.4.2: +chalk@^2.0.0, chalk@^2.3.1, chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -3842,6 +3881,11 @@ chownr@^1.1.1, chownr@^1.1.2: resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== +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@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" @@ -3888,6 +3932,18 @@ cli-cursor@^3.1.0: dependencies: restore-cursor "^3.1.0" +cli-highlight@^2.1.4: + version "2.1.9" + resolved "https://registry.yarnpkg.com/cli-highlight/-/cli-highlight-2.1.9.tgz#4f4ecb05326d70d56d4b4249fabf9a70fb002497" + integrity sha512-t8RNIZgiI24i/mslZ8XT8o660RUj5ZbUJpEZrZa/BNekTzdC2LfMRAnt0Y7sgzNM4FGW5tmWg/YnbTH8o1eIOQ== + dependencies: + chalk "^4.0.0" + highlight.js "^10.0.0" + mz "^2.4.0" + parse5 "^5.1.1" + parse5-htmlparser2-tree-adapter "^6.0.0" + yargs "^15.0.0" + cli-truncate@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" @@ -4494,7 +4550,7 @@ delegates@^1.0.0: resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= -depd@~1.1.2: +depd@^1.1.2, depd@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= @@ -4629,7 +4685,7 @@ enabled@2.0.x: resolved "https://registry.yarnpkg.com/enabled/-/enabled-2.0.0.tgz#f9dd92ec2d6f4bbc0d5d1e64e21d61cd4665e7c2" integrity sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ== -encoding@^0.1.11: +encoding@^0.1.11, encoding@^0.1.12: version "0.1.13" resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== @@ -5259,6 +5315,13 @@ fs-minipass@^1.2.5: dependencies: minipass "^2.6.0" +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-write-stream-atomic@^1.0.8: version "1.0.10" resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" @@ -5619,6 +5682,11 @@ has@^1.0.3: resolved "https://registry.yarnpkg.com/heap/-/heap-0.2.6.tgz#087e1f10b046932fc8594dd9e6d378afc9d1e5ac" integrity sha1-CH4fELBGky/IWU3Z5tN4r8nR5aw= +highlight.js@^10.0.0: + version "10.5.0" + resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-10.5.0.tgz#3f09fede6a865757378f2d9ebdcbc15ba268f98f" + integrity sha512-xTmvd9HiIHR6L53TMC7TKolEj65zG1XU+Onr8oi86mYa+nLcIbxTTWkpW7CsEwv/vK7u1zb8alZIMLDqqN6KTw== + hosted-git-info@^2.1.4, hosted-git-info@^2.7.1: version "2.8.8" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" @@ -5648,6 +5716,11 @@ http-cache-semantics@^3.8.1: resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz#39b0e16add9b605bf0a9ef3d9daaf4843b4cacd2" integrity sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w== +http-cache-semantics@^4.0.3: + version "4.1.0" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" + integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== + http-errors@1.7.3: version "1.7.3" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" @@ -5667,6 +5740,14 @@ http-proxy-agent@^2.1.0: agent-base "4" debug "3.1.0" +http-proxy-agent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-3.0.0.tgz#598f42dc815949a11e2c6dbfdf24cd8a4c165327" + integrity sha512-uGuJaBWQWDQCJI5ip0d/VTYZW0nRrlLWXA4A7P1jrsa+f77rW2yXz315oBt6zGCF6l8C2tlMxY7ffULCj+5FhA== + dependencies: + agent-base "5" + debug "4" + http-proxy-agent@^4.0.0, http-proxy-agent@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" @@ -5701,6 +5782,14 @@ https-proxy-agent@^2.2.3: agent-base "^4.3.0" debug "^3.1.0" +https-proxy-agent@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz#702b71fb5520a132a66de1f67541d9e62154d82b" + integrity sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg== + dependencies: + agent-base "5" + debug "4" + human-signals@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" @@ -6062,6 +6151,11 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: dependencies: is-extglob "^2.1.1" +is-lambda@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-lambda/-/is-lambda-1.0.1.tgz#3d9877899e6a53efc0160504cde15f82e6f061d5" + integrity sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU= + is-map@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.2.tgz#00922db8c9bf73e81b7a335827bc2a43f2b91127" @@ -6848,6 +6942,20 @@ lazystream@^1.0.0: dependencies: readable-stream "^2.0.5" +lerna-changelog@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/lerna-changelog/-/lerna-changelog-1.0.1.tgz#53090ab7f047730ec88d32087762164626269d3a" + integrity sha512-E7ewsfQknBmQcUspCqd5b8Hbbp5SX768y6vEiIdXXui9pPhZS1WlrKtiAUPs0CeGd8Pv4gtIC/h3wSWIZuvqaA== + dependencies: + chalk "^2.4.1" + cli-highlight "^2.1.4" + execa "^1.0.0" + make-fetch-happen "^7.1.1" + normalize-git-url "^3.0.2" + p-map "^3.0.0" + progress "^2.0.0" + yargs "^13.0.0" + lerna@^3.22.1: version "3.22.1" resolved "https://registry.yarnpkg.com/lerna/-/lerna-3.22.1.tgz#82027ac3da9c627fd8bf02ccfeff806a98e65b62" @@ -7172,6 +7280,27 @@ make-fetch-happen@^5.0.0: socks-proxy-agent "^4.0.0" ssri "^6.0.0" +make-fetch-happen@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-7.1.1.tgz#89ac8112eaa9d4361541deb591329e9238a531b1" + integrity sha512-7fNjiOXNZhNGQzG5P15nU97aZQtzPU2GVgVd7pnqnl5gnpLzMAD8bAe5YG4iW2s0PTqaZy9xGv4Wfqe872kRNQ== + dependencies: + agentkeepalive "^4.1.0" + cacache "^14.0.0" + http-cache-semantics "^4.0.3" + http-proxy-agent "^3.0.0" + https-proxy-agent "^4.0.0" + is-lambda "^1.0.1" + lru-cache "^5.1.1" + minipass "^3.0.0" + minipass-collect "^1.0.2" + minipass-fetch "^1.1.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.2" + promise-retry "^1.1.1" + socks-proxy-agent "^4.0.0" + ssri "^7.0.1" + makeerror@1.0.x: version "1.0.11" resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" @@ -7356,6 +7485,45 @@ minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5: resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== +minipass-collect@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" + integrity sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA== + dependencies: + minipass "^3.0.0" + +minipass-fetch@^1.1.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-1.3.2.tgz#573766fb1ae86e30df916a6b060bc2e801bf8f37" + integrity sha512-/i4fX1ss+Dtwyk++OsAI6SEV+eE1dvI6W+0hORdjfruQ7VD5uYTetJIHcEMjWiEiszWjn2aAtP1CB/Q4KfeoYA== + dependencies: + minipass "^3.1.0" + minipass-sized "^1.0.3" + minizlib "^2.0.0" + optionalDependencies: + encoding "^0.1.12" + +minipass-flush@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/minipass-flush/-/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373" + integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== + dependencies: + minipass "^3.0.0" + +minipass-pipeline@^1.2.2: + version "1.2.4" + resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c" + integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== + dependencies: + minipass "^3.0.0" + +minipass-sized@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/minipass-sized/-/minipass-sized-1.0.3.tgz#70ee5a7c5052070afacfbc22977ea79def353b70" + integrity sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g== + dependencies: + minipass "^3.0.0" + minipass@^2.3.5, minipass@^2.6.0, minipass@^2.8.6, minipass@^2.9.0: version "2.9.0" resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6" @@ -7364,6 +7532,13 @@ minipass@^2.3.5, minipass@^2.6.0, minipass@^2.8.6, minipass@^2.9.0: safe-buffer "^5.1.2" yallist "^3.0.0" +minipass@^3.0.0, minipass@^3.1.0, minipass@^3.1.1: + version "3.1.3" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.3.tgz#7d42ff1f39635482e15f9cdb53184deebd5815fd" + integrity sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg== + dependencies: + yallist "^4.0.0" + minizlib@^1.2.1: version "1.3.3" resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d" @@ -7371,6 +7546,14 @@ minizlib@^1.2.1: dependencies: minipass "^2.9.0" +minizlib@^2.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" + mississippi@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" @@ -7402,7 +7585,7 @@ mkdirp-promise@^5.0.1: dependencies: mkdirp "*" -mkdirp@*, mkdirp@1.x: +mkdirp@*, mkdirp@1.x, mkdirp@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== @@ -7466,7 +7649,7 @@ mute-stream@~0.0.4: resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== -mz@^2.5.0: +mz@^2.4.0, mz@^2.5.0: version "2.7.0" resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== @@ -7578,6 +7761,11 @@ nopt@^4.0.1: abbrev "1" osenv "^0.1.4" +normalize-git-url@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/normalize-git-url/-/normalize-git-url-3.0.2.tgz#8e5f14be0bdaedb73e07200310aa416c27350fc4" + integrity sha1-jl8Uvgva7bc+ByADEKpBbCc1D8Q= + normalize-package-data@^2.0.0, normalize-package-data@^2.3.0, normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.3.5, normalize-package-data@^2.4.0, normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" @@ -7910,6 +8098,13 @@ p-map@^2.1.0: resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== +p-map@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-3.0.0.tgz#d704d9af8a2ba684e2600d9a215983d4141a979d" + integrity sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ== + dependencies: + aggregate-error "^3.0.0" + p-map@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" @@ -8039,11 +8234,23 @@ parse-url@^5.0.0: parse-path "^4.0.0" protocols "^1.4.0" -parse5@5.1.1: +parse5-htmlparser2-tree-adapter@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz#2cdf9ad823321140370d4dbf5d3e92c7c8ddc6e6" + integrity sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA== + dependencies: + parse5 "^6.0.1" + +parse5@5.1.1, parse5@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== +parse5@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" + integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== + pascalcase@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" @@ -8767,7 +8974,7 @@ retry@^0.10.0: resolved "https://registry.yarnpkg.com/retry/-/retry-0.10.1.tgz#e76388d217992c252750241d3d3956fed98d8ff4" integrity sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q= -rimraf@^2.5.4, rimraf@^2.6.2, rimraf@^2.6.3: +rimraf@^2.5.4, rimraf@^2.6.2, rimraf@^2.6.3, rimraf@^2.7.1: version "2.7.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== @@ -9185,6 +9392,14 @@ ssri@^6.0.0, ssri@^6.0.1: dependencies: figgy-pudding "^3.5.1" +ssri@^7.0.0, ssri@^7.0.1: + version "7.1.0" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-7.1.0.tgz#92c241bf6de82365b5c7fb4bd76e975522e1294d" + integrity sha512-77/WrDZUWocK0mvA5NTRQyveUf+wsrIc6vyrxpS8tVvYBcX215QbafrJR3KtkpskIzoFLqqNuuYQvxaMjXJ/0g== + dependencies: + figgy-pudding "^3.5.1" + minipass "^3.1.1" + sst-cdk@1.74.0-rc.6: version "1.74.0-rc.6" resolved "https://registry.yarnpkg.com/sst-cdk/-/sst-cdk-1.74.0-rc.6.tgz#581a9c0ff8204a0f480c4cbe02b1f8ffd5b05180" @@ -9498,6 +9713,18 @@ tar@^4.4.10, tar@^4.4.12, tar@^4.4.8: safe-buffer "^5.1.2" yallist "^3.0.3" +tar@^6.0.0: + version "6.0.5" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.0.5.tgz#bde815086e10b39f1dcd298e89d596e1535e200f" + integrity sha512-0b4HOimQHj9nXNEAA7zWwMM91Zhhba3pspja6sQbgTpynOJf+bkjBnfybNYzbpLbnwXnbyB4LOREvlyXLkCHSg== + 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" + temp-dir@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-1.0.0.tgz#0a7c0ea26d3a39afa7e0ebea9c1fc0bc4daa011d" @@ -10303,6 +10530,14 @@ yargs-parser@20.x, yargs-parser@^20.2.2, yargs-parser@^20.2.3: resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== +yargs-parser@^13.1.2: + version "13.1.2" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" + integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + yargs-parser@^15.0.1: version "15.0.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-15.0.1.tgz#54786af40b820dcb2fb8025b11b4d659d76323b3" @@ -10319,6 +10554,22 @@ yargs-parser@^18.1.2: camelcase "^5.0.0" decamelize "^1.2.0" +yargs@^13.0.0: + version "13.3.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" + integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== + dependencies: + cliui "^5.0.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 "^13.1.2" + yargs@^14.2.2: version "14.2.3" resolved "https://registry.yarnpkg.com/yargs/-/yargs-14.2.3.tgz#1a1c3edced1afb2a2fea33604bc6d1d8d688a414" @@ -10336,7 +10587,7 @@ yargs@^14.2.2: y18n "^4.0.0" yargs-parser "^15.0.1" -yargs@^15.3.1, yargs@^15.4.1: +yargs@^15.0.0, yargs@^15.3.1, yargs@^15.4.1: version "15.4.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== From 78a32845e5fd9b15ba2560d7f5fecba83c622d4d Mon Sep 17 00:00:00 2001 From: Jay Date: Wed, 6 Jan 2021 17:03:06 -0500 Subject: [PATCH 065/123] Adding logo to README --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 0d4a253e36..6046de3542 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # Serverless Stack Toolkit (SST) [![npm](https://img.shields.io/npm/v/@serverless-stack/cli.svg)](https://www.npmjs.com/package/@serverless-stack/cli) [![Build Status](https://github.com/serverless-stack/serverless-stack/workflows/CI/badge.svg)](https://github.com/serverless-stack/serverless-stack/actions) +Logo + Serverless Stack Toolkit (SST) is an extension of [AWS CDK](https://aws.amazon.com/cdk/) that: - Allows you to use [**CDK with Serverless Framework**](https://serverless-stack.com/chapters/using-aws-cdk-with-serverless-framework.html) From bc56c47de147c12e93b393f8d48fa8687719bd13 Mon Sep 17 00:00:00 2001 From: Jay Date: Wed, 6 Jan 2021 17:27:21 -0500 Subject: [PATCH 066/123] Adding GIF to README --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 6046de3542..3c2f4fb419 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,10 @@ $ cd my-sst-app $ npx sst start ``` +

+sst start +

+ ## Table of Contents - [Background](#background) From d826d06cc23f1b8e90f87ea3a51970e0afc21e4d Mon Sep 17 00:00:00 2001 From: Jay Date: Wed, 6 Jan 2021 17:30:30 -0500 Subject: [PATCH 067/123] Update README.md --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 3c2f4fb419..a36e353f6a 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ $ npx sst start - [Usage](#usage) - [Creating an app](#creating-an-app) - [Working on your app](#working-on-your-app) - - [Developing your Lambdas](#developing-your-lambdas) + - [Developing locally](#developing-locally) - [Building your app](#building-your-app) - [Deploying your app](#deploying-your-app) - [Removing an app](#removing-an-app) @@ -96,7 +96,7 @@ The `sst start` command starts up a local development environment that opens a W - So if a Lambda fails on AWS due to lack of IAM permissions, it would fail locally as well - And it's fast. There's nothing to deploy when you make a change! -You can read more about the [**sst start** command here](https://github.com/serverless-stack/serverless-stack/tree/master/packages/cli#start). +You can read more about the [**sst start** command here](https://github.com/serverless-stack/serverless-stack/tree/master/packages/cli#start) and [try out a demo here](https://github.com/serverless-stack/sst-start-demo). ### And more @@ -239,7 +239,7 @@ Notice that we are using the `sst.Function` instead of the `cdk.lambda.NodejsFun You can read more about [**@serverless-stack/resources** here](https://github.com/serverless-stack/serverless-stack/tree/master/packages/resources). -### Developing your Lambdas +### Developing locally After you've defined your app in CDK and you are ready to work on your Lambda functions, start the local development environment using. From 6d75b934df962b23b5eb5f6c2dc0484faf920472 Mon Sep 17 00:00:00 2001 From: Jay Date: Wed, 6 Jan 2021 17:38:15 -0500 Subject: [PATCH 068/123] Update README.md --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a36e353f6a..8ca21f2029 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,9 @@ Serverless Stack Toolkit (SST) is an extension of [AWS CDK](https://aws.amazon.com/cdk/) that: - Allows you to use [**CDK with Serverless Framework**](https://serverless-stack.com/chapters/using-aws-cdk-with-serverless-framework.html) -- And develop your Lambdas **locally without mocking or deploying**! +- And develop your Lambdas **locally without mocking**! + +Join our community: [**Chat**](https://gitter.im/serverless-stack/Lobby) / [**Forums**](https://discourse.serverless-stack.com/) / [**Twitter**](https://twitter.com/ServerlessStack) ## Quick Start From c0991574259c096159c5f8b593f05949ff0f7494 Mon Sep 17 00:00:00 2001 From: Jay Date: Wed, 6 Jan 2021 17:39:49 -0500 Subject: [PATCH 069/123] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8ca21f2029..9efdd789bb 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ Serverless Stack Toolkit (SST) is an extension of [AWS CDK](https://aws.amazon.c - Allows you to use [**CDK with Serverless Framework**](https://serverless-stack.com/chapters/using-aws-cdk-with-serverless-framework.html) - And develop your Lambdas **locally without mocking**! -Join our community: [**Chat**](https://gitter.im/serverless-stack/Lobby) / [**Forums**](https://discourse.serverless-stack.com/) / [**Twitter**](https://twitter.com/ServerlessStack) +Join our community: [**Chat**](https://gitter.im/serverless-stack/Lobby) / [**Twitter**](https://twitter.com/ServerlessStack) / [**Forums**](https://discourse.serverless-stack.com/) / [**Newsletter**](https://emailoctopus.com/lists/1c11b9a8-1500-11e8-a3c9-06b79b628af2/forms/subscribe) ## Quick Start From 0dfa4b120551ebefca173b2762a15cce9beda83d Mon Sep 17 00:00:00 2001 From: Jay Date: Wed, 6 Jan 2021 19:34:52 -0500 Subject: [PATCH 070/123] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 9efdd789bb..0cb7679fb7 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ Serverless Stack Toolkit (SST) is an extension of [AWS CDK](https://aws.amazon.c - Allows you to use [**CDK with Serverless Framework**](https://serverless-stack.com/chapters/using-aws-cdk-with-serverless-framework.html) - And develop your Lambdas **locally without mocking**! -Join our community: [**Chat**](https://gitter.im/serverless-stack/Lobby) / [**Twitter**](https://twitter.com/ServerlessStack) / [**Forums**](https://discourse.serverless-stack.com/) / [**Newsletter**](https://emailoctopus.com/lists/1c11b9a8-1500-11e8-a3c9-06b79b628af2/forms/subscribe) +Getting help: [**Chat**](https://gitter.im/serverless-stack/Lobby) / [**Forums**](https://discourse.serverless-stack.com/) / [**Twitter**](https://twitter.com/ServerlessStack) ## Quick Start @@ -461,7 +461,7 @@ $ yarn test ## Community -[Follow us on Twitter](https://twitter.com/ServerlessStack), [join our chatroom](https://gitter.im/serverless-stack/Lobby), or [post on our forums](https://discourse.serverless-stack.com). +[Follow us on Twitter](https://twitter.com/ServerlessStack), [join our chatroom](https://gitter.im/serverless-stack/Lobby), [post on our forums](https://discourse.serverless-stack.com), and [subscribe to our newsletter](https://emailoctopus.com/lists/1c11b9a8-1500-11e8-a3c9-06b79b628af2/forms/subscribe). ## Thanks From da68e17ec3f152f3285db416d572f381e2a62d28 Mon Sep 17 00:00:00 2001 From: Jay Date: Wed, 6 Jan 2021 20:37:25 -0500 Subject: [PATCH 071/123] Update README.md --- packages/resources/README.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/resources/README.md b/packages/resources/README.md index 8a3856e496..b9dfddb6de 100644 --- a/packages/resources/README.md +++ b/packages/resources/README.md @@ -109,9 +109,7 @@ Relative path to the entry point of the function. Either based of the project ro ### `srcPath` -The source directory where the entry point file is located. The `node_modules` in this directory is used to generate the bundle. The `tsconfig.json` is expected to be here as well. - -Defaults to `""` (project root). +The source directory where the entry point file is located. The `node_modules` in this directory is used to generate the bundle. The `tsconfig.json` is expected to be here as well. Cannot be set to the project root. ### `handler` From 6e3910ece1b9f04dc74c558c61875cdebb434104 Mon Sep 17 00:00:00 2001 From: Frank Date: Wed, 6 Jan 2021 21:09:36 -0500 Subject: [PATCH 072/123] Adding tests for sst start --- packages/cli/scripts/deploy.js | 1 + packages/cli/scripts/start.js | 47 +++++++++++++++---- packages/cli/scripts/util/cdkHelpers.js | 13 +++++ packages/cli/test/helpers/index.js | 2 + .../cli/test/helpers/run-start-command.js | 28 +++++++++++ packages/cli/test/start-no-src-path/lambda.js | 9 ++++ packages/cli/test/start-no-src-path/lib.js | 3 ++ .../cli/test/start-no-src-path/lib/index.js | 25 ++++++++++ .../cli/test/start-no-src-path/package.json | 24 ++++++++++ packages/cli/test/start-no-src-path/sst.json | 6 +++ .../start-no-src-path.test.js | 20 ++++++++ packages/core/index.js | 5 ++ packages/resources/src/Function.ts | 21 ++++++--- yarn.lock | 5 ++ 14 files changed, 194 insertions(+), 15 deletions(-) create mode 100644 packages/cli/test/helpers/run-start-command.js create mode 100644 packages/cli/test/start-no-src-path/lambda.js create mode 100644 packages/cli/test/start-no-src-path/lib.js create mode 100644 packages/cli/test/start-no-src-path/lib/index.js create mode 100644 packages/cli/test/start-no-src-path/package.json create mode 100644 packages/cli/test/start-no-src-path/sst.json create mode 100644 packages/cli/test/start-no-src-path/start-no-src-path.test.js diff --git a/packages/cli/scripts/deploy.js b/packages/cli/scripts/deploy.js index dd54c4aff7..c59d292652 100644 --- a/packages/cli/scripts/deploy.js +++ b/packages/cli/scripts/deploy.js @@ -61,6 +61,7 @@ module.exports = async function (argv, config, cliInfo) { return stackStates.map((stackState) => ({ name: stackState.name, status: stackState.status, + outputs: stackState.outputs, })); }; diff --git a/packages/cli/scripts/start.js b/packages/cli/scripts/start.js index b5afb3dc61..eccb3c6df5 100644 --- a/packages/cli/scripts/start.js +++ b/packages/cli/scripts/start.js @@ -10,11 +10,13 @@ const spawn = require("cross-spawn"); const allSettled = require("promise.allsettled"); const sstDeploy = require("./deploy"); +const sstBuild = require("./build"); const paths = require("./util/paths"); const { prepareCdk, applyConfig, deploy: cdkDeploy, + bootstrap: cdkBootstrap, } = require("./util/cdkHelpers"); const array = require("../lib/array"); const { logger, addFileTransport } = require("../lib/logger"); @@ -79,6 +81,7 @@ const clientState = { }; const MOCK_SLOW_ESBUILD_RETRANSPILE_IN_MS = 0; +const IS_TEST = process.env.__TEST__ === "true"; process.on("uncaughtException", (err, origin) => { logger.error("Unhandled Exception at:", err, "origin:", origin); @@ -94,7 +97,7 @@ module.exports = async function (argv, cliInfo) { const config = await applyConfig(argv); // Deploy debug stack - config.debugEndpoint = await deployDebugStack(cliInfo, config); + config.debugEndpoint = await deployDebugStack(argv, cliInfo, config); // Deploy app const cdkInputFiles = await deployApp(argv, cliInfo, config); @@ -106,7 +109,12 @@ module.exports = async function (argv, cliInfo) { startClient(config.debugEndpoint); }; -async function deployDebugStack(cliInfo, config) { +async function deployDebugStack(argv, cliInfo, config) { + // Do not deploy if running test + if (IS_TEST) { + return; + } + const stackName = `${config.stage}-debug-stack`; logger.info(""); @@ -120,11 +128,19 @@ async function deployDebugStack(cliInfo, config) { // Setting the current working directory to debug stack cdk app directory to allow // Lambda Function construct be able to reference code with relative path. process.chdir(path.join(paths.ownPath, "assets", "debug-stack")); - const debugStackRet = await cdkDeploy({ - ...cliInfo.cdkOptions, - app: `node bin/index.js ${debugAppArgs.join(" ")}`, - output: "cdk.out", - }); + let debugStackRet; + try { + const cdkOptions = { + ...cliInfo.cdkOptions, + app: `node bin/index.js ${debugAppArgs.join(" ")}`, + output: "cdk.out", + }; + await cdkBootstrap(cdkOptions); + debugStackRet = await cdkDeploy(cdkOptions); + } catch (e) { + logger.error(e); + } + // Note: Restore working directory process.chdir(paths.appPath); @@ -149,7 +165,11 @@ async function deployApp(argv, cliInfo, config) { logger.info(""); const { inputFiles } = await prepareCdk(argv, cliInfo, config); - await sstDeploy(argv, config, cliInfo); + + // When testing, we will do a build call to generate the lambda-handler.json + IS_TEST + ? await sstBuild(argv, config, cliInfo) + : await sstDeploy(argv, config, cliInfo); return inputFiles; } @@ -226,6 +246,12 @@ async function startBuilder(cdkInputFiles) { .on("ready", () => { builderLogger.debug(`Watcher ready for ${allInputFiles.length} files...`); }); + + // Terminate if running inside test + if (IS_TEST) { + console.log("===== IS_TEST DONE"); + return; + } } async function updateBuilder() { builderLogger.silly(serializeState()); @@ -771,6 +797,11 @@ function sleep(ms) { /////////////////////////////// function startClient(debugEndpoint) { + // Do not deploy if running test + if (IS_TEST) { + return; + } + clientState.ws = new WebSocket(debugEndpoint); clientState.ws.on("open", () => { diff --git a/packages/cli/scripts/util/cdkHelpers.js b/packages/cli/scripts/util/cdkHelpers.js index 4e28481364..ae9623685a 100644 --- a/packages/cli/scripts/util/cdkHelpers.js +++ b/packages/cli/scripts/util/cdkHelpers.js @@ -376,6 +376,18 @@ async function synth(options) { return results; } +async function bootstrap(options) { + let results; + + try { + results = await sstCore.bootstrap(options); + } catch (e) { + handleCdkErrors(e); + } + + return results; +} + async function deploy(options) { let results; @@ -428,6 +440,7 @@ module.exports = { synth, deploy, destroy, + bootstrap, prepareCdk, applyConfig, parallelDeploy, diff --git a/packages/cli/test/helpers/index.js b/packages/cli/test/helpers/index.js index d43ea9bba6..eabcf6274e 100644 --- a/packages/cli/test/helpers/index.js +++ b/packages/cli/test/helpers/index.js @@ -3,6 +3,7 @@ const yarnInstall = require("./yarn-install"); const runCdkCommand = require("./run-cdk-command"); const runJestCommand = require("./run-jest-command"); const runBuildCommand = require("./run-build-command"); +const runStartCommand = require("./run-start-command"); const runAddCdkCommand = require("./run-add-cdk-command"); const clearBuildOutput = require("./clear-build-output"); @@ -19,6 +20,7 @@ module.exports = { runCdkCommand, runJestCommand, runBuildCommand, + runStartCommand, runAddCdkCommand, clearBuildOutput, diff --git a/packages/cli/test/helpers/run-start-command.js b/packages/cli/test/helpers/run-start-command.js new file mode 100644 index 0000000000..f6d14500f7 --- /dev/null +++ b/packages/cli/test/helpers/run-start-command.js @@ -0,0 +1,28 @@ +const { promisify } = require("util"); +const { exec } = require("child_process"); +const yarnInstall = require("./yarn-install"); + +const execPromise = promisify(exec); +const TIMEOUT = 30000; + +async function runStartCommand(cwd) { + await yarnInstall(cwd); + + let result, error; + + try { + result = await execPromise(`yarn run start`, { + cwd, + env: { ...process.env, __TEST__: "true" }, + TIMEOUT, + }); + } catch (e) { + error = e.toString() + e.stdout; + } + + return error + ? error + : result.stdout.toString("utf8") + result.stderr.toString("utf8"); +} + +module.exports = runStartCommand; diff --git a/packages/cli/test/start-no-src-path/lambda.js b/packages/cli/test/start-no-src-path/lambda.js new file mode 100644 index 0000000000..60235b1568 --- /dev/null +++ b/packages/cli/test/start-no-src-path/lambda.js @@ -0,0 +1,9 @@ +import mirrarray from "mirrarray"; + +import str from "./lib"; + +export async function handler() { + mirrarray(["this", "that", "another"]); + + return "Hello World: " + str("Spongebob"); +} diff --git a/packages/cli/test/start-no-src-path/lib.js b/packages/cli/test/start-no-src-path/lib.js new file mode 100644 index 0000000000..f1e79568a3 --- /dev/null +++ b/packages/cli/test/start-no-src-path/lib.js @@ -0,0 +1,3 @@ +export default function (name) { + return name; +} diff --git a/packages/cli/test/start-no-src-path/lib/index.js b/packages/cli/test/start-no-src-path/lib/index.js new file mode 100644 index 0000000000..b80c7c4516 --- /dev/null +++ b/packages/cli/test/start-no-src-path/lib/index.js @@ -0,0 +1,25 @@ +import * as cdk from "@aws-cdk/core"; +import * as lambda from "@aws-cdk/aws-lambda"; + +import * as sst from "@serverless-stack/resources"; + +class MySampleStack extends sst.Stack { + constructor(scope, id, props) { + super(scope, id, props); + + // Create a Lambda function + new sst.Function(this, "MyLambda", { + bundle: true, + srcPath: ".", + entry: "lambda.js", + // srcPath: "src/api", + // handler: "handler", + runtime: lambda.Runtime.NODEJS_12_X, + timeout: cdk.Duration.seconds(10), + }); + } +} + +export default function main(app) { + new MySampleStack(app, "sample"); +} diff --git a/packages/cli/test/start-no-src-path/package.json b/packages/cli/test/start-no-src-path/package.json new file mode 100644 index 0000000000..9fc5304b22 --- /dev/null +++ b/packages/cli/test/start-no-src-path/package.json @@ -0,0 +1,24 @@ +{ + "name": "start-no-src-path", + "private": true, + "description": "tests", + "version": "0.0.1", + "scripts": { + "postinstall": "node ../helpers/copy-symlinks.js", + "start": "sst start", + "build": "sst build", + "deploy": "sst deploy", + "remove": "sst remove", + "cdk": "sst cdk" + }, + "dependencies": { + "@aws-cdk/aws-apigatewayv2": "1.74.0", + "@aws-cdk/aws-apigatewayv2-integrations": "1.74.0", + "@aws-cdk/aws-lambda": "1.74.0", + "@aws-cdk/core": "1.74.0", + "@serverless-stack/cli": "^1.0.0-alpha.5", + "@serverless-stack/resources": "^1.0.0-alpha.5", + "mirrarray": "^2.0.0" + }, + "license": "ISC" +} diff --git a/packages/cli/test/start-no-src-path/sst.json b/packages/cli/test/start-no-src-path/sst.json new file mode 100644 index 0000000000..550b59d5db --- /dev/null +++ b/packages/cli/test/start-no-src-path/sst.json @@ -0,0 +1,6 @@ +{ + "type": "@serverless-stack/resources", + "name": "cdknotes", + "stage": "prod", + "region": "us-east-1" +} diff --git a/packages/cli/test/start-no-src-path/start-no-src-path.test.js b/packages/cli/test/start-no-src-path/start-no-src-path.test.js new file mode 100644 index 0000000000..d144ad54f4 --- /dev/null +++ b/packages/cli/test/start-no-src-path/start-no-src-path.test.js @@ -0,0 +1,20 @@ +const { runStartCommand, clearBuildOutput } = require("../helpers"); + +beforeEach(async () => { + await clearBuildOutput(__dirname); +}); + +afterAll(async () => { + await clearBuildOutput(__dirname); +}); + +/** + * Test that the synth command ran successfully + */ +test("start-no-src-path", async () => { + const result = await runStartCommand(__dirname); + + expect(result).toMatch( + /Error: Source path cannot be the project root for the MyLambda Lambda function/ + ); +}); diff --git a/packages/core/index.js b/packages/core/index.js index faaca7220a..263fc5e247 100644 --- a/packages/core/index.js +++ b/packages/core/index.js @@ -16,6 +16,10 @@ async function synth(cdkOptions) { return await cdk.synth(cdkOptions); } +async function bootstrap(cdkOptions) { + return await cdk.bootstrap(cdkOptions); +} + async function deploy(cdkOptions) { return await cdk.deploy(cdkOptions); } @@ -806,6 +810,7 @@ module.exports = { synth, deploy, destroy, + bootstrap, getCdkVersion, parallelDeploy, parallelDestroy, diff --git a/packages/resources/src/Function.ts b/packages/resources/src/Function.ts index 346403af23..969c132904 100644 --- a/packages/resources/src/Function.ts +++ b/packages/resources/src/Function.ts @@ -19,10 +19,8 @@ export interface FunctionProps extends lambda.FunctionOptions { /** * The source directory where the entry point is located. The node_modules in this * directory is used to generate the bundle. - * - * @default - Defaults to project root */ - readonly srcPath?: string; + readonly srcPath: string; /** * The runtime environment. Only runtimes of the Node.js family are * supported. @@ -64,12 +62,22 @@ export class Function extends lambda.Function { // Set defaults const handler = props.handler || "handler"; - const srcPath = props.srcPath || process.cwd(); const runtime = props.runtime || lambda.Runtime.NODEJS_12_X; const bundle = props.bundle === undefined ? true : props.bundle; + const srcPath = props.srcPath; + const entry = props.entry; + + // Validate source path + if (!srcPath) { + throw new Error(`No source path defined for the ${id} Lambda function`); + } else if (path.resolve(srcPath) === process.cwd()) { + throw new Error( + `Source path cannot be the project root for the ${id} Lambda function` + ); + } // Validate entry file - if (!props.entry) { + if (!entry) { throw new Error(`No entry point defined for the ${id} Lambda function`); } @@ -90,7 +98,6 @@ export class Function extends lambda.Function { } if (root.local) { - const entry = props.entry; super(scope, id, { ...props, runtime, @@ -113,7 +120,7 @@ export class Function extends lambda.Function { bundle: bundle, srcPath: srcPath, handler: handler, - entry: props.entry, + entry: entry, buildDir: root.buildDir, }); diff --git a/yarn.lock b/yarn.lock index 33d896823a..e36faaf4d3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7371,6 +7371,11 @@ minizlib@^1.2.1: dependencies: minipass "^2.9.0" +mirrarray@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/mirrarray/-/mirrarray-2.0.0.tgz#f712a091269b79d4b3c8d3344242756bb0a5c671" + integrity sha512-z7YW6OC9zWriGlC+pM01GEnaqnzzAXwrNtaV2mPl2J0BmCRexAPLiWoaPH5zNvdrpZdijHD9/IQAovptiLPe5w== + mississippi@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" From 230b365a6642819fa4702b6adba57ced0b3414fb Mon Sep 17 00:00:00 2001 From: Jay Date: Wed, 6 Jan 2021 21:58:55 -0500 Subject: [PATCH 073/123] Updating to 1.79.0 --- packages/cli/package.json | 12 +- packages/cli/test/base-ts/package.json | 6 +- packages/cli/test/base/package.json | 12 +- packages/cli/test/config/package.json | 2 +- packages/cli/test/context/package.json | 2 +- packages/cli/test/jest-ts/package.json | 12 +- packages/cli/test/jest/package.json | 6 +- .../cli/test/stack-no-prefix/package.json | 2 +- .../cli/test/start-no-src-path/package.json | 8 +- packages/cli/test/start/package.json | 12 +- packages/core/package.json | 2 +- packages/resources/package.json | 6 +- yarn.lock | 733 +++++++++--------- 13 files changed, 422 insertions(+), 393 deletions(-) diff --git a/packages/cli/package.json b/packages/cli/package.json index e19f84ebc1..838da40707 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -35,11 +35,11 @@ }, "homepage": "https://serverless-stack.com", "dependencies": { - "@aws-cdk/aws-apigatewayv2": "1.74.0", - "@aws-cdk/aws-dynamodb": "1.74.0", - "@aws-cdk/aws-iam": "1.74.0", - "@aws-cdk/aws-lambda": "1.74.0", - "@aws-cdk/core": "1.74.0", + "@aws-cdk/aws-apigatewayv2": "1.79.0", + "@aws-cdk/aws-dynamodb": "1.79.0", + "@aws-cdk/aws-iam": "1.79.0", + "@aws-cdk/aws-lambda": "1.79.0", + "@aws-cdk/core": "1.79.0", "@babel/core": "^7.10.5", "@babel/eslint-parser": "^7.11.3", "@babel/eslint-plugin": "^7.11.3", @@ -51,7 +51,7 @@ "@types/node": "^14.0.27", "@typescript-eslint/eslint-plugin": "^3.9.1", "@typescript-eslint/parser": "^3.9.1", - "aws-cdk": "1.74.0", + "aws-cdk": "1.79.0", "chalk": "^4.1.0", "chokidar": "^3.4.3", "core-js": "^3.6.5", diff --git a/packages/cli/test/base-ts/package.json b/packages/cli/test/base-ts/package.json index 0d7a2be90f..e9d5293f57 100644 --- a/packages/cli/test/base-ts/package.json +++ b/packages/cli/test/base-ts/package.json @@ -12,13 +12,13 @@ "cdk": "sst cdk" }, "dependencies": { - "@aws-cdk/aws-s3": "1.74.0", - "@aws-cdk/core": "1.74.0", + "@aws-cdk/aws-s3": "1.79.0", + "@aws-cdk/core": "1.79.0", "@serverless-stack/cli": "^1.0.0-alpha.5", "@serverless-stack/resources": "^1.0.0-alpha.5" }, "license": "ISC", "devDependencies": { - "@aws-cdk/assert": "1.74.0" + "@aws-cdk/assert": "1.79.0" } } diff --git a/packages/cli/test/base/package.json b/packages/cli/test/base/package.json index 1d576ab262..9308882418 100644 --- a/packages/cli/test/base/package.json +++ b/packages/cli/test/base/package.json @@ -12,12 +12,12 @@ "cdk": "sst cdk" }, "dependencies": { - "@aws-cdk/aws-cloudformation": "1.74.0", - "@aws-cdk/aws-cognito": "1.74.0", - "@aws-cdk/aws-dynamodb": "1.74.0", - "@aws-cdk/aws-iam": "1.74.0", - "@aws-cdk/aws-s3": "1.74.0", - "@aws-cdk/core": "1.74.0", + "@aws-cdk/aws-cloudformation": "1.79.0", + "@aws-cdk/aws-cognito": "1.79.0", + "@aws-cdk/aws-dynamodb": "1.79.0", + "@aws-cdk/aws-iam": "1.79.0", + "@aws-cdk/aws-s3": "1.79.0", + "@aws-cdk/core": "1.79.0", "@serverless-stack/cli": "^1.0.0-alpha.5", "@serverless-stack/resources": "^1.0.0-alpha.5" }, diff --git a/packages/cli/test/config/package.json b/packages/cli/test/config/package.json index d9c6da7050..10bb95f4d4 100644 --- a/packages/cli/test/config/package.json +++ b/packages/cli/test/config/package.json @@ -8,7 +8,7 @@ "build": "sst build" }, "dependencies": { - "@aws-cdk/aws-dynamodb": "1.74.0", + "@aws-cdk/aws-dynamodb": "1.79.0", "@serverless-stack/cli": "^1.0.0-alpha.5", "@serverless-stack/resources": "^1.0.0-alpha.5" }, diff --git a/packages/cli/test/context/package.json b/packages/cli/test/context/package.json index e1ce87edca..2a89320f19 100644 --- a/packages/cli/test/context/package.json +++ b/packages/cli/test/context/package.json @@ -8,7 +8,7 @@ "build": "sst build" }, "dependencies": { - "@aws-cdk/aws-dynamodb": "1.74.0", + "@aws-cdk/aws-dynamodb": "1.79.0", "@serverless-stack/cli": "^1.0.0-alpha.5", "@serverless-stack/resources": "^1.0.0-alpha.5" }, diff --git a/packages/cli/test/jest-ts/package.json b/packages/cli/test/jest-ts/package.json index c41dfe12e5..48c9d247d6 100644 --- a/packages/cli/test/jest-ts/package.json +++ b/packages/cli/test/jest-ts/package.json @@ -14,17 +14,17 @@ ] }, "dependencies": { - "@aws-cdk/aws-dynamodb": "1.74.0", - "@aws-cdk/aws-sns": "1.74.0", - "@aws-cdk/aws-sns-subscriptions": "1.74.0", - "@aws-cdk/aws-sqs": "1.74.0", - "@aws-cdk/core": "1.74.0", + "@aws-cdk/aws-dynamodb": "1.79.0", + "@aws-cdk/aws-sns": "1.79.0", + "@aws-cdk/aws-sns-subscriptions": "1.79.0", + "@aws-cdk/aws-sqs": "1.79.0", + "@aws-cdk/core": "1.79.0", "@serverless-stack/cli": "^1.0.0-alpha.5", "@serverless-stack/resources": "^1.0.0-alpha.5" }, "license": "ISC", "devDependencies": { - "@aws-cdk/assert": "1.74.0", + "@aws-cdk/assert": "1.79.0", "@types/jest": "^26.0.19", "@types/node": "^14.14.19" } diff --git a/packages/cli/test/jest/package.json b/packages/cli/test/jest/package.json index 684baec95e..bfb1d8309f 100644 --- a/packages/cli/test/jest/package.json +++ b/packages/cli/test/jest/package.json @@ -15,11 +15,11 @@ "dependencies": { "@serverless-stack/cli": "^1.0.0-alpha.5", "@serverless-stack/resources": "^1.0.0-alpha.5", - "@aws-cdk/aws-dynamodb": "1.74.0", - "@aws-cdk/core": "1.74.0" + "@aws-cdk/aws-dynamodb": "1.79.0", + "@aws-cdk/core": "1.79.0" }, "license": "ISC", "devDependencies": { - "@aws-cdk/assert": "1.74.0" + "@aws-cdk/assert": "1.79.0" } } diff --git a/packages/cli/test/stack-no-prefix/package.json b/packages/cli/test/stack-no-prefix/package.json index 4285133cfa..89c8106542 100644 --- a/packages/cli/test/stack-no-prefix/package.json +++ b/packages/cli/test/stack-no-prefix/package.json @@ -10,7 +10,7 @@ "dependencies": { "@serverless-stack/cli": "^1.0.0-alpha.5", "@serverless-stack/resources": "^1.0.0-alpha.5", - "@aws-cdk/core": "1.74.0" + "@aws-cdk/core": "1.79.0" }, "license": "ISC" } diff --git a/packages/cli/test/start-no-src-path/package.json b/packages/cli/test/start-no-src-path/package.json index 9fc5304b22..d666d946e3 100644 --- a/packages/cli/test/start-no-src-path/package.json +++ b/packages/cli/test/start-no-src-path/package.json @@ -12,10 +12,10 @@ "cdk": "sst cdk" }, "dependencies": { - "@aws-cdk/aws-apigatewayv2": "1.74.0", - "@aws-cdk/aws-apigatewayv2-integrations": "1.74.0", - "@aws-cdk/aws-lambda": "1.74.0", - "@aws-cdk/core": "1.74.0", + "@aws-cdk/aws-apigatewayv2": "1.79.0", + "@aws-cdk/aws-apigatewayv2-integrations": "1.79.0", + "@aws-cdk/aws-lambda": "1.79.0", + "@aws-cdk/core": "1.79.0", "@serverless-stack/cli": "^1.0.0-alpha.5", "@serverless-stack/resources": "^1.0.0-alpha.5", "mirrarray": "^2.0.0" diff --git a/packages/cli/test/start/package.json b/packages/cli/test/start/package.json index 920b309a06..1a273ec95f 100644 --- a/packages/cli/test/start/package.json +++ b/packages/cli/test/start/package.json @@ -12,12 +12,12 @@ "cdk": "sst cdk" }, "dependencies": { - "@aws-cdk/aws-apigatewayv2": "1.74.0", - "@aws-cdk/aws-apigatewayv2-integrations": "1.74.0", - "@aws-cdk/aws-lambda": "1.74.0", - "@aws-cdk/aws-sns": "1.74.0", - "@aws-cdk/aws-sns-subscriptions": "1.74.0", - "@aws-cdk/core": "1.74.0", + "@aws-cdk/aws-apigatewayv2": "1.79.0", + "@aws-cdk/aws-apigatewayv2-integrations": "1.79.0", + "@aws-cdk/aws-lambda": "1.79.0", + "@aws-cdk/aws-sns": "1.79.0", + "@aws-cdk/aws-sns-subscriptions": "1.79.0", + "@aws-cdk/core": "1.79.0", "@serverless-stack/cli": "^1.0.0-alpha.5", "@serverless-stack/resources": "^1.0.0-alpha.5" }, diff --git a/packages/core/package.json b/packages/core/package.json index 7cd370ec0c..fc035343ac 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -20,7 +20,7 @@ "dependencies": { "aws-sdk": "^2.761.0", "chalk": "^4.1.0", - "sst-cdk": "1.74.0-rc.6" + "sst-cdk": "1.79.0-rc.1" }, "gitHead": "0a586f786aca7e7d498a80c4dda680159831f959" } diff --git a/packages/resources/package.json b/packages/resources/package.json index 7d5e93719c..aedede4634 100644 --- a/packages/resources/package.json +++ b/packages/resources/package.json @@ -25,9 +25,9 @@ "access": "public" }, "dependencies": { - "@aws-cdk/aws-lambda": "1.74.0", - "@aws-cdk/aws-lambda-nodejs": "1.74.0", - "@aws-cdk/core": "1.74.0", + "@aws-cdk/aws-lambda": "1.79.0", + "@aws-cdk/aws-lambda-nodejs": "1.79.0", + "@aws-cdk/core": "1.79.0", "chalk": "^4.1.0", "esbuild": "^0.8.26", "eslint": "^7.16.0", diff --git a/yarn.lock b/yarn.lock index 081e94edd7..b1aea20089 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,24 +2,24 @@ # yarn lockfile v1 -"@aws-cdk/assert@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/assert/-/assert-1.74.0.tgz#82795a3bb21ede93288a60322804f6f4e2d4959e" - integrity sha512-5M3M4lcSS2dGPgVANhv5GjqC6nNBy9bL1XECAJj3lg7q+6zJ00+0wq4bB0wyvm/mE+S0axkGZ4LVHF5QA2gCfQ== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.74.0" - "@aws-cdk/cloudformation-diff" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" +"@aws-cdk/assert@1.79.0": + version "1.79.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/assert/-/assert-1.79.0.tgz#c30e904bff8dbabcc3ca6ee01904da1fc7a980e7" + integrity sha512-wCiMyxhtUz82blUlSnfoqpHdSjgFOkjpunjgxT2aG5Y6RTN0ExOOm9pdKDdXnul0zml6ZvfOL51wDG0Udg7zFg== + dependencies: + "@aws-cdk/cloud-assembly-schema" "1.79.0" + "@aws-cdk/cloudformation-diff" "1.79.0" + "@aws-cdk/core" "1.79.0" + "@aws-cdk/cx-api" "1.79.0" constructs "^3.2.0" -"@aws-cdk/assets@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/assets/-/assets-1.74.0.tgz#8aea948a32afcf7c60449346a087c4b5aecff251" - integrity sha512-ZXmiJ9Qf0odTJWQPEvN+41wI1MAOK0PS5E/CTTOc9qSZufHKxpF0UPNu+8G/cMUnmKoonih8eglUCR8mmVzGrQ== +"@aws-cdk/assets@1.79.0": + version "1.79.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/assets/-/assets-1.79.0.tgz#e97548a20e7fe9af8ebda8639ff275058211b128" + integrity sha512-h4FVseJK2lZ+FB8reFm0V37x0HEyg4mD8DGTb0akIz2A3U0ltmML+PN8EPANxLpSDOPYg2OLNAgPw5MOqXNC5A== dependencies: - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" + "@aws-cdk/core" "1.79.0" + "@aws-cdk/cx-api" "1.79.0" constructs "^3.2.0" "@aws-cdk/assets@1.83.0": @@ -31,41 +31,41 @@ "@aws-cdk/cx-api" "1.83.0" constructs "^3.2.0" -"@aws-cdk/aws-apigatewayv2-integrations@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-apigatewayv2-integrations/-/aws-apigatewayv2-integrations-1.74.0.tgz#a242aaa74e0f294da9b3beefd46a28fb53de5355" - integrity sha512-DkhmqK5VrYPOdCu75fzUCFX1ZXS+JcMq28MSW6chre23aDWDpLmFR3yoJ5+AxqgqxCmM2O5kqyIkjh5YaKC1Xg== - dependencies: - "@aws-cdk/aws-apigatewayv2" "1.74.0" - "@aws-cdk/aws-ec2" "1.74.0" - "@aws-cdk/aws-elasticloadbalancingv2" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-lambda" "1.74.0" - "@aws-cdk/aws-servicediscovery" "1.74.0" - "@aws-cdk/core" "1.74.0" +"@aws-cdk/aws-apigatewayv2-integrations@1.79.0": + version "1.79.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-apigatewayv2-integrations/-/aws-apigatewayv2-integrations-1.79.0.tgz#79bb0e39feb5630ed2493a8bdfe5e9f478b04798" + integrity sha512-/nlMJeSuji++LbW6HfJpibqzP0vq9Ia72O5YuohqxSj11p/l0bw9IaAuVE4e2Epv26pIY8DHkjhqZvIQ/seUrQ== + dependencies: + "@aws-cdk/aws-apigatewayv2" "1.79.0" + "@aws-cdk/aws-ec2" "1.79.0" + "@aws-cdk/aws-elasticloadbalancingv2" "1.79.0" + "@aws-cdk/aws-iam" "1.79.0" + "@aws-cdk/aws-lambda" "1.79.0" + "@aws-cdk/aws-servicediscovery" "1.79.0" + "@aws-cdk/core" "1.79.0" constructs "^3.2.0" -"@aws-cdk/aws-apigatewayv2@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-apigatewayv2/-/aws-apigatewayv2-1.74.0.tgz#c65c94e25b70fcee53a3e15e211f74819eff4d77" - integrity sha512-Z8GRXYZX6MHZeyKQpiiCUvtxIKh6y9UGRM9f6+xfjMa75WwjoM8cFm9h41720LwKcUXYj0TlKiqEyeL12UIAYA== +"@aws-cdk/aws-apigatewayv2@1.79.0": + version "1.79.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-apigatewayv2/-/aws-apigatewayv2-1.79.0.tgz#a1e0303b432f154ec464c2fe2e8c1a9e51a193ad" + integrity sha512-+ktXFADC8fQ6Wnt7taTOBu+C5D0FClZ0oBWkIm+IUduLS0UQn2/4Qk1TWvrH64FMqPYSZ2b4dDQR4clv+on6wA== dependencies: - "@aws-cdk/aws-certificatemanager" "1.74.0" - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-ec2" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" + "@aws-cdk/aws-certificatemanager" "1.79.0" + "@aws-cdk/aws-cloudwatch" "1.79.0" + "@aws-cdk/aws-ec2" "1.79.0" + "@aws-cdk/aws-iam" "1.79.0" + "@aws-cdk/core" "1.79.0" constructs "^3.2.0" -"@aws-cdk/aws-applicationautoscaling@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-applicationautoscaling/-/aws-applicationautoscaling-1.74.0.tgz#ad5e946e68bd4094c3236e983d36f67d66135dfc" - integrity sha512-QqEm+jN2zQyficWAQWIIJTN+HwonBx5lS+Ccgx8vR+lXAPW9BORtsuEd0jKzMs2LVF+eiRQcwgD1WqH99HFPXw== +"@aws-cdk/aws-applicationautoscaling@1.79.0": + version "1.79.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-applicationautoscaling/-/aws-applicationautoscaling-1.79.0.tgz#1211274a8c4a2a15e7a97cacc096eb775b9c207d" + integrity sha512-ctgfkgKorVui7xF01U9djVCnhMrtvnSl0B7LUAnI6gy6uFrzpg9rfaW845c8O+6211OP2v9zrBl06GGPeACkCQ== dependencies: - "@aws-cdk/aws-autoscaling-common" "1.74.0" - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" + "@aws-cdk/aws-autoscaling-common" "1.79.0" + "@aws-cdk/aws-cloudwatch" "1.79.0" + "@aws-cdk/aws-iam" "1.79.0" + "@aws-cdk/core" "1.79.0" constructs "^3.2.0" "@aws-cdk/aws-applicationautoscaling@1.83.0": @@ -79,13 +79,13 @@ "@aws-cdk/core" "1.83.0" constructs "^3.2.0" -"@aws-cdk/aws-autoscaling-common@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-common/-/aws-autoscaling-common-1.74.0.tgz#f6bcbb987830f299b6e2ef454944afdde9a8a82e" - integrity sha512-UHqhMxGjGe00XaZfb7+OtAbY48vU2PdjYxIiRlFqrvJ7w6ws2dW7trKRHfpmbIF6M8h3Jtys1y69UuijaIHTlg== +"@aws-cdk/aws-autoscaling-common@1.79.0": + version "1.79.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-common/-/aws-autoscaling-common-1.79.0.tgz#aa0516cafe8a5d9cf9ca642d05cf8fa0ce5fb79a" + integrity sha512-ZgprhHWRVvBz8Vh0sXYGdRiUm7cga4IzwHftuVu4MUWYu3IlQSm92tj9wv7dfttIT8v4z5idXsDzu3Og91lcjA== dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" + "@aws-cdk/aws-iam" "1.79.0" + "@aws-cdk/core" "1.79.0" constructs "^3.2.0" "@aws-cdk/aws-autoscaling-common@1.83.0": @@ -97,15 +97,15 @@ "@aws-cdk/core" "1.83.0" constructs "^3.2.0" -"@aws-cdk/aws-certificatemanager@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-certificatemanager/-/aws-certificatemanager-1.74.0.tgz#35b07c4b396a3db96da5d431e549460d1edc2251" - integrity sha512-Ve1SYM6qpUysHLD5bzHiE4kXBeo7VAEQlUti0cjkkjkuPh+dKHti/TqYhA0tkfUIMjZylnvkogBzMYdIUBTNxg== +"@aws-cdk/aws-certificatemanager@1.79.0": + version "1.79.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-certificatemanager/-/aws-certificatemanager-1.79.0.tgz#7989b7553c059d0d96814832badaaf49b32b3d87" + integrity sha512-8uBXTQXunDZlO2hvMZTnPr3tLM8ayPu/VuMX/Uh1deRf/UmlHyplT/ePwKoyRpeZcHfrGcTTVoQgli2saQxCtg== dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-lambda" "1.74.0" - "@aws-cdk/aws-route53" "1.74.0" - "@aws-cdk/core" "1.74.0" + "@aws-cdk/aws-iam" "1.79.0" + "@aws-cdk/aws-lambda" "1.79.0" + "@aws-cdk/aws-route53" "1.79.0" + "@aws-cdk/core" "1.79.0" constructs "^3.2.0" "@aws-cdk/aws-certificatemanager@1.83.0": @@ -119,17 +119,17 @@ "@aws-cdk/core" "1.83.0" constructs "^3.2.0" -"@aws-cdk/aws-cloudformation@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudformation/-/aws-cloudformation-1.74.0.tgz#04fffb02403fb52ee05ec43172b845a29a903a9e" - integrity sha512-VOyuMhoxA9vk3zSUfzqSg1YjYYgc+qyB0bpaOJIW/iinXYXhA64z5YQnTxdwd/exlFgA59chOanA7aRrNM2YIg== - dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-lambda" "1.74.0" - "@aws-cdk/aws-s3" "1.74.0" - "@aws-cdk/aws-sns" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" +"@aws-cdk/aws-cloudformation@1.79.0": + version "1.79.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudformation/-/aws-cloudformation-1.79.0.tgz#9f15101c3e1230d2ee1111d0e9ea9cade851b8ee" + integrity sha512-Rayo5xGbfE1gtsgXDcxun1vJJRDbA7VPJtfuMdh0cikpTeTA0/iMfpmg96Rgg+Ry/cxkHV8AFQAU0Va6uHiR2w== + dependencies: + "@aws-cdk/aws-iam" "1.79.0" + "@aws-cdk/aws-lambda" "1.79.0" + "@aws-cdk/aws-s3" "1.79.0" + "@aws-cdk/aws-sns" "1.79.0" + "@aws-cdk/core" "1.79.0" + "@aws-cdk/cx-api" "1.79.0" constructs "^3.2.0" "@aws-cdk/aws-cloudformation@1.83.0": @@ -145,13 +145,13 @@ "@aws-cdk/cx-api" "1.83.0" constructs "^3.2.0" -"@aws-cdk/aws-cloudwatch@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.74.0.tgz#94a29d2998a5c08412084b346d404b3a8b90f8a8" - integrity sha512-FqkU9JNM63JzdKVwmI07UJ2upDLrqByEs6kXMNOv0RxfvLIe73DNfBp8T+WxJ23G38sCLfeTsPIIG5K2XzOQGg== +"@aws-cdk/aws-cloudwatch@1.79.0": + version "1.79.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.79.0.tgz#3bbeb41369d250470e87adc7e78d9f3d12a442ff" + integrity sha512-lbcrfUwI/9rvFCMyRa7g8DskqAXThDVrRM4SAdHAX/MCV5cBcb3GA1HzFfnILsq5RXPwoC4WT7hhxMibM4A0iA== dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" + "@aws-cdk/aws-iam" "1.79.0" + "@aws-cdk/core" "1.79.0" constructs "^3.2.0" "@aws-cdk/aws-cloudwatch@1.83.0": @@ -163,13 +163,13 @@ "@aws-cdk/core" "1.83.0" constructs "^3.2.0" -"@aws-cdk/aws-codeguruprofiler@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codeguruprofiler/-/aws-codeguruprofiler-1.74.0.tgz#d749688e9edb252ce6fc68efa4f9977f7ba02cb6" - integrity sha512-CF4NqFSPeFnqbVG23+BozGNVha2Pk7vXaLGCPZPlHmx2jwaxZHCdxK+VvtOtV3fVPr6CI97SsTq9TwiFciv+zg== +"@aws-cdk/aws-codeguruprofiler@1.79.0": + version "1.79.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codeguruprofiler/-/aws-codeguruprofiler-1.79.0.tgz#5aee986accca91b966e1a91ddc69d75d6c15721e" + integrity sha512-DF7MCJOCSGy9RV6X1ebhHOIggXOsJ21pQUs0mAClTt3/DPNEr0EQuiN30VhaiPxgUnbN3FTppLSLUzjIJSWbQA== dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" + "@aws-cdk/aws-iam" "1.79.0" + "@aws-cdk/core" "1.79.0" constructs "^3.2.0" "@aws-cdk/aws-codeguruprofiler@1.83.0": @@ -181,16 +181,16 @@ "@aws-cdk/core" "1.83.0" constructs "^3.2.0" -"@aws-cdk/aws-cognito@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cognito/-/aws-cognito-1.74.0.tgz#740f51269cbe00b46ae6327814dd8c0dbb470912" - integrity sha512-t8XZbWQd8gMgn6FfYlPBmb3HDBVFHZI3tEODgc4mu/qRZAn2GH+pka4l1kdsgfzsBekvBLsOQosp7xJ6XaABsA== +"@aws-cdk/aws-cognito@1.79.0": + version "1.79.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cognito/-/aws-cognito-1.79.0.tgz#b9263085c64415205ec07959ef34db47bbc01d66" + integrity sha512-m/Xu9VFXetB5DEtxM5irN0NsZK0p1RNh7WgIIoRoym1nQ8pwPvBegQTMaRVgNBnINSyyUtV/GtpArayey5V5Sg== dependencies: - "@aws-cdk/aws-certificatemanager" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-lambda" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/custom-resources" "1.74.0" + "@aws-cdk/aws-certificatemanager" "1.79.0" + "@aws-cdk/aws-iam" "1.79.0" + "@aws-cdk/aws-lambda" "1.79.0" + "@aws-cdk/core" "1.79.0" + "@aws-cdk/custom-resources" "1.79.0" constructs "^3.2.0" punycode "^2.1.1" @@ -207,18 +207,18 @@ constructs "^3.2.0" punycode "^2.1.1" -"@aws-cdk/aws-dynamodb@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-dynamodb/-/aws-dynamodb-1.74.0.tgz#7e0ef530e9c3d7301a9db616ddf6d650f7acb76f" - integrity sha512-YU38dFYLMyMe5u2GLy8sFCFTVxwDgWZ67HzFg41kSj8WpAsVQEE5Zxh1nf0+8Ai1J4MNeLeMCaXtuliHipoQSw== - dependencies: - "@aws-cdk/aws-applicationautoscaling" "1.74.0" - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/aws-lambda" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/custom-resources" "1.74.0" +"@aws-cdk/aws-dynamodb@1.79.0": + version "1.79.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-dynamodb/-/aws-dynamodb-1.79.0.tgz#a7c03b3d28dddcb7430fbc3ef813dbb94796b214" + integrity sha512-4JYtuN67hdmyAVd0vcG8QkfxBf8RA4hv5sMwFRmxG0GuN2/iTa6Acp2XQstVk/nK8bE3BUioRRRNRK1/5amlDw== + dependencies: + "@aws-cdk/aws-applicationautoscaling" "1.79.0" + "@aws-cdk/aws-cloudwatch" "1.79.0" + "@aws-cdk/aws-iam" "1.79.0" + "@aws-cdk/aws-kms" "1.79.0" + "@aws-cdk/aws-lambda" "1.79.0" + "@aws-cdk/core" "1.79.0" + "@aws-cdk/custom-resources" "1.79.0" constructs "^3.2.0" "@aws-cdk/aws-dynamodb@^1.55.0": @@ -235,22 +235,22 @@ "@aws-cdk/custom-resources" "1.83.0" constructs "^3.2.0" -"@aws-cdk/aws-ec2@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ec2/-/aws-ec2-1.74.0.tgz#eae31df9045ca9374daf6b1562674e31d8053aff" - integrity sha512-TcJtdSFur8Pkhfz39nhPZH2LBiugBhSrDkAUfeEVVwDEa4kvNys7xkcwvvBouFhM6YhitjZ53j9d7d4CEBc73g== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/aws-logs" "1.74.0" - "@aws-cdk/aws-s3" "1.74.0" - "@aws-cdk/aws-s3-assets" "1.74.0" - "@aws-cdk/aws-ssm" "1.74.0" - "@aws-cdk/cloud-assembly-schema" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - "@aws-cdk/region-info" "1.74.0" +"@aws-cdk/aws-ec2@1.79.0": + version "1.79.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ec2/-/aws-ec2-1.79.0.tgz#9c1ae84f374980f2456acdc57985a6612c1ae897" + integrity sha512-A2pbynk5o18gKeCy/epMiaD9R4OKrXlWzaqAOvUlHOom+SkxIyZMcALdxgU26nCty0DxGfgQiNHWTgNttLuRJQ== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.79.0" + "@aws-cdk/aws-iam" "1.79.0" + "@aws-cdk/aws-kms" "1.79.0" + "@aws-cdk/aws-logs" "1.79.0" + "@aws-cdk/aws-s3" "1.79.0" + "@aws-cdk/aws-s3-assets" "1.79.0" + "@aws-cdk/aws-ssm" "1.79.0" + "@aws-cdk/cloud-assembly-schema" "1.79.0" + "@aws-cdk/core" "1.79.0" + "@aws-cdk/cx-api" "1.79.0" + "@aws-cdk/region-info" "1.79.0" constructs "^3.2.0" "@aws-cdk/aws-ec2@1.83.0": @@ -271,6 +271,20 @@ "@aws-cdk/region-info" "1.83.0" constructs "^3.2.0" +"@aws-cdk/aws-ecr-assets@1.79.0": + version "1.79.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ecr-assets/-/aws-ecr-assets-1.79.0.tgz#1367783f50fc0974ee3f1f99e881b8682ac91221" + integrity sha512-pM6X3Q+Uybq9RlX5DSAKfLygyZqYA9eNFvQKmTtuiwt9A+SDAonHrv6xT9EvFQaPHpFnxESpBiuspJTr9hZggQ== + dependencies: + "@aws-cdk/assets" "1.79.0" + "@aws-cdk/aws-ecr" "1.79.0" + "@aws-cdk/aws-iam" "1.79.0" + "@aws-cdk/aws-s3" "1.79.0" + "@aws-cdk/core" "1.79.0" + "@aws-cdk/cx-api" "1.79.0" + constructs "^3.2.0" + minimatch "^3.0.4" + "@aws-cdk/aws-ecr-assets@1.83.0": version "1.83.0" resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ecr-assets/-/aws-ecr-assets-1.83.0.tgz#491407610dfd6cd831463eb214b60d1d478d5008" @@ -285,6 +299,16 @@ constructs "^3.2.0" minimatch "^3.0.4" +"@aws-cdk/aws-ecr@1.79.0": + version "1.79.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ecr/-/aws-ecr-1.79.0.tgz#2257475e7a8ef103e9f9f7c7eff389430b4494e3" + integrity sha512-ZidVw6sdwNvMp+y75aH5k4IFMiIDCgpJ11d7tkSk1WKwoVu/pU/ZYLih/clTvFwzqzmh2A63rIyeC4+t5ziAvQ== + dependencies: + "@aws-cdk/aws-events" "1.79.0" + "@aws-cdk/aws-iam" "1.79.0" + "@aws-cdk/core" "1.79.0" + constructs "^3.2.0" + "@aws-cdk/aws-ecr@1.83.0": version "1.83.0" resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ecr/-/aws-ecr-1.83.0.tgz#68b12106dac3b97388af7ef9714d5159bbd45a37" @@ -295,16 +319,16 @@ "@aws-cdk/core" "1.83.0" constructs "^3.2.0" -"@aws-cdk/aws-efs@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-efs/-/aws-efs-1.74.0.tgz#367b89f14ccd090f98227dbc975076571b31faac" - integrity sha512-ghzwm/e8qQlOM/PKgfscbVFny9qhQNrXZltxckhHdTEX3Wtx9RXpveWzEOGBoHBJHSv49gkvAwtvzTbxCss4QA== +"@aws-cdk/aws-efs@1.79.0": + version "1.79.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-efs/-/aws-efs-1.79.0.tgz#429163c5334977ea4d63fec70b8f076dc8432647" + integrity sha512-iWjyRFKMIvf1tcwFhwcHaLhmLFeC+iknE36t1UvRFxcBV4K8mrHxkXCsJzqZTHpaAFP/LU0pFX04o03508NRWQ== dependencies: - "@aws-cdk/aws-ec2" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/cloud-assembly-schema" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" + "@aws-cdk/aws-ec2" "1.79.0" + "@aws-cdk/aws-kms" "1.79.0" + "@aws-cdk/cloud-assembly-schema" "1.79.0" + "@aws-cdk/core" "1.79.0" + "@aws-cdk/cx-api" "1.79.0" constructs "^3.2.0" "@aws-cdk/aws-efs@1.83.0": @@ -319,30 +343,30 @@ "@aws-cdk/cx-api" "1.83.0" constructs "^3.2.0" -"@aws-cdk/aws-elasticloadbalancingv2@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-elasticloadbalancingv2/-/aws-elasticloadbalancingv2-1.74.0.tgz#794ee49baac329e43884748ecda3e66348fd5088" - integrity sha512-+Zx6/7CqZcsubSwxFC6rTq+uyzzQjIOGOh8RN/q93EZ9+snSJM/mRdZ/1DyNIjfSFbwyYQ1usE9rbYi1XWDPVA== - dependencies: - "@aws-cdk/aws-certificatemanager" "1.74.0" - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-ec2" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-lambda" "1.74.0" - "@aws-cdk/aws-s3" "1.74.0" - "@aws-cdk/cloud-assembly-schema" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - "@aws-cdk/region-info" "1.74.0" +"@aws-cdk/aws-elasticloadbalancingv2@1.79.0": + version "1.79.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-elasticloadbalancingv2/-/aws-elasticloadbalancingv2-1.79.0.tgz#e20094caaf87be3302aad2083611206027e92342" + integrity sha512-kCEt2uKd8cyX7dvrbXOTqDFB8Isf75HI2Bj4I/GX6asnb9kK7DUEfvSDCFshEw6OJMAWEhL4TNPhIYJ94G3Eww== + dependencies: + "@aws-cdk/aws-certificatemanager" "1.79.0" + "@aws-cdk/aws-cloudwatch" "1.79.0" + "@aws-cdk/aws-ec2" "1.79.0" + "@aws-cdk/aws-iam" "1.79.0" + "@aws-cdk/aws-lambda" "1.79.0" + "@aws-cdk/aws-s3" "1.79.0" + "@aws-cdk/cloud-assembly-schema" "1.79.0" + "@aws-cdk/core" "1.79.0" + "@aws-cdk/cx-api" "1.79.0" + "@aws-cdk/region-info" "1.79.0" constructs "^3.2.0" -"@aws-cdk/aws-events@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events/-/aws-events-1.74.0.tgz#2ed5a4cdd737ce4c8950506df496d0b43ac6aa12" - integrity sha512-dmVswvSBd2jZzgPJCQell+u9bRYNg63p1e57bXmql6Rm1UJDPTbvESPXsdwwFW2WpJyXwHOOM+qe98r5CbcTUw== +"@aws-cdk/aws-events@1.79.0": + version "1.79.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events/-/aws-events-1.79.0.tgz#fa676d751de3aceb4bb408f00dab6e085ca90ea6" + integrity sha512-9fyvKqSC/Sa5cVe2SyvTrTBNw8MuZ8w29JX6O9McMff1i50ZMpdSFh/r/Hq4ImfcoRJvZcyXDYJmTUI8PYR6Fg== dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" + "@aws-cdk/aws-iam" "1.79.0" + "@aws-cdk/core" "1.79.0" constructs "^3.2.0" "@aws-cdk/aws-events@1.83.0": @@ -363,13 +387,13 @@ "@aws-cdk/region-info" "1.57.0" constructs "^3.0.2" -"@aws-cdk/aws-iam@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-iam/-/aws-iam-1.74.0.tgz#c255c9676fb6048ab27c00d111ed5e7d8b46877c" - integrity sha512-5Eq4e4/be2HMFZXc1sCeNjqgTyjlWgvIjbLh0Q4c01V05r7MbPdmfZRurbeEA6NohGf+zYFQrCzPnTaqvFPFHA== +"@aws-cdk/aws-iam@1.79.0": + version "1.79.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-iam/-/aws-iam-1.79.0.tgz#456f0cc824c6e248378fcddfecb49637d7656089" + integrity sha512-lGgmOpdE2f05vQ3oT3pWlybTNb/PQcqkbdiBfvBPRYrg5p3lCGBDFSI3bv7Bjvl7lHhFRnxHnRb4CJRAXcUQqw== dependencies: - "@aws-cdk/core" "1.74.0" - "@aws-cdk/region-info" "1.74.0" + "@aws-cdk/core" "1.79.0" + "@aws-cdk/region-info" "1.79.0" constructs "^3.2.0" "@aws-cdk/aws-iam@1.83.0": @@ -381,13 +405,14 @@ "@aws-cdk/region-info" "1.83.0" constructs "^3.2.0" -"@aws-cdk/aws-kms@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kms/-/aws-kms-1.74.0.tgz#73531f7b5d2542eb5e3f7bb54604944921e34995" - integrity sha512-4cTNqzNkml3RV6uobSwq7ZtPBjwNovOxv75vzGNNRw1GO6hxqDzoPRIsgfwNvVii8tv27eR0xTK0t6WlKqoVzg== +"@aws-cdk/aws-kms@1.79.0": + version "1.79.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kms/-/aws-kms-1.79.0.tgz#7c358ecd3823a7f965a7a091929c0afbc472d4d5" + integrity sha512-vYZUYO9GdOaalkVdJ8/7/f9KzCQh1XtU+MsKgxvXbjhLcjpt1mhPuxs0T+7fNuXbW8YVz1d6Y+BNjv4lEHz2Jw== dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/core" "1.74.0" + "@aws-cdk/aws-iam" "1.79.0" + "@aws-cdk/core" "1.79.0" + "@aws-cdk/cx-api" "1.79.0" constructs "^3.2.0" "@aws-cdk/aws-kms@1.83.0": @@ -400,33 +425,36 @@ "@aws-cdk/cx-api" "1.83.0" constructs "^3.2.0" -"@aws-cdk/aws-lambda-nodejs@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda-nodejs/-/aws-lambda-nodejs-1.74.0.tgz#aa818270e4dcd74be51d402cdb114da311b3c966" - integrity sha512-1mc8I+Yz43El8O8SjsfkABsI31tcpO5e3fAz7/40DKuFgM9jkL6vyiL55MLIckAqmE2N9mRYU0xF4RC7uRZdmQ== +"@aws-cdk/aws-lambda-nodejs@1.79.0": + version "1.79.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda-nodejs/-/aws-lambda-nodejs-1.79.0.tgz#f5a9b113a2dec4235a3b98084df285fa25e0880e" + integrity sha512-uopHiZaxbGspkb7h8+ziW8sDNaMoZjPVPXaWxSNqUuPSy6tBBi7vqXN0VfJzr1Ll4zL1cm9h6R2saMTgs4nn2Q== dependencies: - "@aws-cdk/aws-lambda" "1.74.0" - "@aws-cdk/core" "1.74.0" + "@aws-cdk/aws-lambda" "1.79.0" + "@aws-cdk/core" "1.79.0" constructs "^3.2.0" -"@aws-cdk/aws-lambda@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda/-/aws-lambda-1.74.0.tgz#52175fbc9e679ca5c0f4d15e0666c99fc4a953d0" - integrity sha512-Ju3/mhnli33xnO2qvJUs11djva12SHnmJPGtbx4Nz33z577/pCwLZYWa7noP8eUzAyBglfNlPG8JWH+fNHPbew== - dependencies: - "@aws-cdk/aws-applicationautoscaling" "1.74.0" - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-codeguruprofiler" "1.74.0" - "@aws-cdk/aws-ec2" "1.74.0" - "@aws-cdk/aws-efs" "1.74.0" - "@aws-cdk/aws-events" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-logs" "1.74.0" - "@aws-cdk/aws-s3" "1.74.0" - "@aws-cdk/aws-s3-assets" "1.74.0" - "@aws-cdk/aws-sqs" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" +"@aws-cdk/aws-lambda@1.79.0": + version "1.79.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda/-/aws-lambda-1.79.0.tgz#dfdfd699d376d79a04e399a023b126e2904f5117" + integrity sha512-K6A0nnYRO5MGq+0UdAXk1DRcOELWSPri4f6SNaWu0zhOEBKSAzcVRTJi/cNDs5VniGbGik4/3C5Hd6+8bp5nxA== + dependencies: + "@aws-cdk/aws-applicationautoscaling" "1.79.0" + "@aws-cdk/aws-cloudwatch" "1.79.0" + "@aws-cdk/aws-codeguruprofiler" "1.79.0" + "@aws-cdk/aws-ec2" "1.79.0" + "@aws-cdk/aws-ecr" "1.79.0" + "@aws-cdk/aws-ecr-assets" "1.79.0" + "@aws-cdk/aws-efs" "1.79.0" + "@aws-cdk/aws-events" "1.79.0" + "@aws-cdk/aws-iam" "1.79.0" + "@aws-cdk/aws-kms" "1.79.0" + "@aws-cdk/aws-logs" "1.79.0" + "@aws-cdk/aws-s3" "1.79.0" + "@aws-cdk/aws-s3-assets" "1.79.0" + "@aws-cdk/aws-sqs" "1.79.0" + "@aws-cdk/core" "1.79.0" + "@aws-cdk/cx-api" "1.79.0" constructs "^3.2.0" "@aws-cdk/aws-lambda@1.83.0": @@ -452,16 +480,16 @@ "@aws-cdk/cx-api" "1.83.0" constructs "^3.2.0" -"@aws-cdk/aws-logs@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-logs/-/aws-logs-1.74.0.tgz#cd40afe70ffeb5250ecea1db0ee0a2f68fb2084a" - integrity sha512-wMpjXdJBN3S0gYO3pMjjKxSTlIs0ZUH64k6BnOxDvnltWbBJomD0/qLKMVHShOddm9MMNdD8AaYpCqZsrplZHA== +"@aws-cdk/aws-logs@1.79.0": + version "1.79.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-logs/-/aws-logs-1.79.0.tgz#b7ac08de2e1c3872a6bdf49488d92bf6b7425d55" + integrity sha512-J3iYGun//JsqpMl75/b6c+yxA5nY+Dxn0s72TA/BBYzaU4wI2NohwVaqe2X4HIuHniRBVVHBfJ36B3GMKdi4cQ== dependencies: - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/aws-s3-assets" "1.74.0" - "@aws-cdk/core" "1.74.0" + "@aws-cdk/aws-cloudwatch" "1.79.0" + "@aws-cdk/aws-iam" "1.79.0" + "@aws-cdk/aws-kms" "1.79.0" + "@aws-cdk/aws-s3-assets" "1.79.0" + "@aws-cdk/core" "1.79.0" constructs "^3.2.0" "@aws-cdk/aws-logs@1.83.0": @@ -476,15 +504,16 @@ "@aws-cdk/core" "1.83.0" constructs "^3.2.0" -"@aws-cdk/aws-route53@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-route53/-/aws-route53-1.74.0.tgz#f9b3c770cf613227bba31c4a7499c8f19966f3e4" - integrity sha512-TYnAByXLc6B/uAG03bYLV0kPi1TU8G95kW6wNhfiqvPCSwfizbsg5rztbUoydJpBocbOs9qbtCM7v6gbDsB2bQ== +"@aws-cdk/aws-route53@1.79.0": + version "1.79.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-route53/-/aws-route53-1.79.0.tgz#877e568089f397989f0be59e7eb57742e9f03399" + integrity sha512-IJ32fcC6l1aKhI46wGH7HMUBRMQi8R8Cy9re3kmY4cVdAAfh8UJhIdr8jpaLs2iU0mrJPc4R0tHiCka4aNo2dQ== dependencies: - "@aws-cdk/aws-ec2" "1.74.0" - "@aws-cdk/aws-logs" "1.74.0" - "@aws-cdk/cloud-assembly-schema" "1.74.0" - "@aws-cdk/core" "1.74.0" + "@aws-cdk/aws-ec2" "1.79.0" + "@aws-cdk/aws-logs" "1.79.0" + "@aws-cdk/cloud-assembly-schema" "1.79.0" + "@aws-cdk/core" "1.79.0" + "@aws-cdk/custom-resources" "1.79.0" constructs "^3.2.0" "@aws-cdk/aws-route53@1.83.0": @@ -499,17 +528,17 @@ "@aws-cdk/custom-resources" "1.83.0" constructs "^3.2.0" -"@aws-cdk/aws-s3-assets@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.74.0.tgz#7f1988f3931e95d88a8c1357f98c47f7f9b73dee" - integrity sha512-uewjgTOr5q60UbPKHo3qgYApXxFKUIgP6eUZi7v8mhfnZUDw9H9B4rRJ7rHRZ4gYj9ZtiWq1o3hpvWnoHsR+zg== - dependencies: - "@aws-cdk/assets" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/aws-s3" "1.74.0" - "@aws-cdk/core" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" +"@aws-cdk/aws-s3-assets@1.79.0": + version "1.79.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.79.0.tgz#9351a396125a4a24227e071e29228c3ff9710d0b" + integrity sha512-P5ktD44LadqqX86IO/5q+cc38BsEeEaUBVCtymagCqYgZvDnkicuSMulcrbMefxUgQ6GLy+F7FuI4o9DHGb0nA== + dependencies: + "@aws-cdk/assets" "1.79.0" + "@aws-cdk/aws-iam" "1.79.0" + "@aws-cdk/aws-kms" "1.79.0" + "@aws-cdk/aws-s3" "1.79.0" + "@aws-cdk/core" "1.79.0" + "@aws-cdk/cx-api" "1.79.0" constructs "^3.2.0" "@aws-cdk/aws-s3-assets@1.83.0": @@ -525,15 +554,15 @@ "@aws-cdk/cx-api" "1.83.0" constructs "^3.2.0" -"@aws-cdk/aws-s3@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3/-/aws-s3-1.74.0.tgz#5b53839c3af0f67bfb1e96061f6a1ea5be445fe9" - integrity sha512-xbRbI90hUvmVwGHHMr4dPWv0TXBxr/HeeaLzqLDHv36+TKA0wMR7ttRm3pbT3Kf/YjqSty788rom6lVqaAu81Q== +"@aws-cdk/aws-s3@1.79.0": + version "1.79.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3/-/aws-s3-1.79.0.tgz#2de74f669d9cd058679c98c701f640412e2de3da" + integrity sha512-hJM+5jZWoOS4kJ8kXLLOVwjTkWY/BvpkOxuZSLcQV3eq2RFUCwtakx+NTnu+M98eezzme9wAXnKzDFsBcocuHQ== dependencies: - "@aws-cdk/aws-events" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/core" "1.74.0" + "@aws-cdk/aws-events" "1.79.0" + "@aws-cdk/aws-iam" "1.79.0" + "@aws-cdk/aws-kms" "1.79.0" + "@aws-cdk/core" "1.79.0" constructs "^3.2.0" "@aws-cdk/aws-s3@1.83.0", "@aws-cdk/aws-s3@^1.57.0": @@ -547,40 +576,40 @@ "@aws-cdk/core" "1.83.0" constructs "^3.2.0" -"@aws-cdk/aws-servicediscovery@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-servicediscovery/-/aws-servicediscovery-1.74.0.tgz#6e1145a4b85371431e8f6b21ce6ca7c9d855680c" - integrity sha512-5pABov1sNs0bgOb4UZKT+5H+OR3+0/8oxefFCiGxcGG4Kxsq4d4XJbmwx1oDUjCJclxlzOTuuCyay5NnoZ+6fg== +"@aws-cdk/aws-servicediscovery@1.79.0": + version "1.79.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-servicediscovery/-/aws-servicediscovery-1.79.0.tgz#b5a940a6591024bed859103565bfd83ae1a38679" + integrity sha512-3M+CiD1WfH5y/QSoYSkJIBYrQi65iFDq71mT0Ot8KBmERBTxcSgJjgQCqN45XhU522dr2cI9Gu/F03Sl3Reveg== dependencies: - "@aws-cdk/aws-ec2" "1.74.0" - "@aws-cdk/aws-elasticloadbalancingv2" "1.74.0" - "@aws-cdk/aws-route53" "1.74.0" - "@aws-cdk/core" "1.74.0" + "@aws-cdk/aws-ec2" "1.79.0" + "@aws-cdk/aws-elasticloadbalancingv2" "1.79.0" + "@aws-cdk/aws-route53" "1.79.0" + "@aws-cdk/core" "1.79.0" constructs "^3.2.0" -"@aws-cdk/aws-sns-subscriptions@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns-subscriptions/-/aws-sns-subscriptions-1.74.0.tgz#6cdad4a409359122e8a410543e33da59d21b54cc" - integrity sha512-MOuArbCx1nxL5B40RMQzHNnU0SZWkaQfRDTURTQbX4e0OHyq5DnQrtXTu/XyI/MYPBU+ZnC/FXP+hynCatn+nw== +"@aws-cdk/aws-sns-subscriptions@1.79.0": + version "1.79.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns-subscriptions/-/aws-sns-subscriptions-1.79.0.tgz#c61248808e7aef9f49cdfdd4409336cc4af0e4b4" + integrity sha512-FeLsdUnwMCqyWP0ymQqa3VwLpFReAO8Hp5rihLsHI7dFXNaRflyaeXXbLbffn9AjeqbvqPhwIjTk3fb11STf6A== dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-lambda" "1.74.0" - "@aws-cdk/aws-sns" "1.74.0" - "@aws-cdk/aws-sqs" "1.74.0" - "@aws-cdk/core" "1.74.0" + "@aws-cdk/aws-iam" "1.79.0" + "@aws-cdk/aws-lambda" "1.79.0" + "@aws-cdk/aws-sns" "1.79.0" + "@aws-cdk/aws-sqs" "1.79.0" + "@aws-cdk/core" "1.79.0" constructs "^3.2.0" -"@aws-cdk/aws-sns@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns/-/aws-sns-1.74.0.tgz#c9289b34cb2512010a0b6813f684c93398502bdd" - integrity sha512-O0HDGvl1WjCTU53auNJKCW5/6vpbVYlj0RwLgGaOOlTeKnfuq53kGvL/t3QdZQlJWxSvkbN61O+rZB7GacXV0g== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-events" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/aws-sqs" "1.74.0" - "@aws-cdk/core" "1.74.0" +"@aws-cdk/aws-sns@1.79.0": + version "1.79.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns/-/aws-sns-1.79.0.tgz#e5ebfa22f344e8eaab29045e1e19b78c364d5228" + integrity sha512-Kmmj0A4anar8JUk8+SZZVJqyqMfsu+9jCMhU3AkKkfpHsnDTj+qz4aPKH+36XIijCQa9A55pjgy5v+k/8WJ81A== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.79.0" + "@aws-cdk/aws-events" "1.79.0" + "@aws-cdk/aws-iam" "1.79.0" + "@aws-cdk/aws-kms" "1.79.0" + "@aws-cdk/aws-sqs" "1.79.0" + "@aws-cdk/core" "1.79.0" constructs "^3.2.0" "@aws-cdk/aws-sns@1.83.0": @@ -596,15 +625,15 @@ "@aws-cdk/core" "1.83.0" constructs "^3.2.0" -"@aws-cdk/aws-sqs@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sqs/-/aws-sqs-1.74.0.tgz#998da5838d4310805432f0cf55fcc7c8f34657e2" - integrity sha512-qlj7ZapoL9oneLu4wh7DfQDypCo6QFlyGzd3nlmn+C9UbCscBkpSJnmYSGi2m0TVCKbd3tP1EpfdU36LTahYBg== +"@aws-cdk/aws-sqs@1.79.0": + version "1.79.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sqs/-/aws-sqs-1.79.0.tgz#237f16f8e18ca99e65d2909c91a7815022fa88d0" + integrity sha512-+rWIIHvygEwKmI2hyBXmoYo2sATpwzJw604Bp7stTQKcfp43vls5oq4SKjt87Gld2BO4cavF/ZCaEJO3pXMXyg== dependencies: - "@aws-cdk/aws-cloudwatch" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/core" "1.74.0" + "@aws-cdk/aws-cloudwatch" "1.79.0" + "@aws-cdk/aws-iam" "1.79.0" + "@aws-cdk/aws-kms" "1.79.0" + "@aws-cdk/core" "1.79.0" constructs "^3.2.0" "@aws-cdk/aws-sqs@1.83.0": @@ -618,15 +647,15 @@ "@aws-cdk/core" "1.83.0" constructs "^3.2.0" -"@aws-cdk/aws-ssm@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ssm/-/aws-ssm-1.74.0.tgz#426dd65c0b933618d5c196cb38386c1035b0fdc4" - integrity sha512-uok/D4ooEVXst0HZYQkcPIM5xlHAVjGjF44Gt68hbdZknBhMbfZP2EWqSZHhSW9HdVoNFTNkIxcI2AemCnt2Qg== +"@aws-cdk/aws-ssm@1.79.0": + version "1.79.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ssm/-/aws-ssm-1.79.0.tgz#0731a8681b072e720d430365fb7000c8e313a3f9" + integrity sha512-92DAyXS7sZa58LMDz9Or3IlmjgS1etHCBAHM5ombbKOFFwkBdd7A41y2QNXmtv2b61yJYcyetkLkDtmjEwNMaw== dependencies: - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-kms" "1.74.0" - "@aws-cdk/cloud-assembly-schema" "1.74.0" - "@aws-cdk/core" "1.74.0" + "@aws-cdk/aws-iam" "1.79.0" + "@aws-cdk/aws-kms" "1.79.0" + "@aws-cdk/cloud-assembly-schema" "1.79.0" + "@aws-cdk/core" "1.79.0" constructs "^3.2.0" "@aws-cdk/aws-ssm@1.83.0": @@ -640,10 +669,10 @@ "@aws-cdk/core" "1.83.0" constructs "^3.2.0" -"@aws-cdk/cfnspec@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cfnspec/-/cfnspec-1.74.0.tgz#03577e266721fe87287f9fc710a95d7b7e5886cd" - integrity sha512-9rdFgRUoV3lbAD6lnU+hGdkit8ILmUq+XCXzRdc9xWHUXIKxMmFK9frXTT+wGmjgdz/GpPyfSbFjzyqk4QE5+w== +"@aws-cdk/cfnspec@1.79.0": + version "1.79.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/cfnspec/-/cfnspec-1.79.0.tgz#b5fe241290f20ed1a3911ba8f0a9807aab0ec749" + integrity sha512-rbBhox7hzXPXk2n+1BDjsmiz/0W9ZHv3NeCKiq94WfHW6Jj4mSjtGs7ZUBFq8JkkgYVsE9ktH1634wt9A9fbRg== dependencies: md5 "^2.3.0" @@ -663,10 +692,10 @@ jsonschema "^1.2.5" semver "^7.2.2" -"@aws-cdk/cloud-assembly-schema@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.74.0.tgz#f1bbd8411ec320dd9e14ef2dce626a05019c42bc" - integrity sha512-TOfruzx7zIirRpfL9r5tGcOPdfXQatD3/kgXq4I1px12oH3jmuiEcNxGdvEYgVMPaZGMrx0rtqyT2sGDWBycKw== +"@aws-cdk/cloud-assembly-schema@1.79.0": + version "1.79.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.79.0.tgz#e089ed386f47b4e24e12e398b66d1df7894e5109" + integrity sha512-n2ARtOXIUq3FdJ1EBuHzsM0DQau6ZwHprPhpk1xc5bv21s7D5X5ECe06eC0K5xC5ZyfC13BDWu1f+xFh+krnYA== dependencies: jsonschema "^1.4.0" semver "^7.3.2" @@ -679,17 +708,17 @@ jsonschema "^1.4.0" semver "^7.3.2" -"@aws-cdk/cloudformation-diff@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cloudformation-diff/-/cloudformation-diff-1.74.0.tgz#d86199db530f9df641cff7f3996939c47645d59f" - integrity sha512-aYAg85fkpX39euUo5HjsGtqOpyD5fAz1+jZ/F/5erA8Y/+rB4ifCVJH0cLYHVdYwo8oc3poB6jW4tVMxNYxbrg== +"@aws-cdk/cloudformation-diff@1.79.0": + version "1.79.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/cloudformation-diff/-/cloudformation-diff-1.79.0.tgz#e26f2eaf93b26df14240c8704e056790aa0abe9b" + integrity sha512-GsX8Br7E0/2W2ugntO4zXodbApVi2C+AP/6QtTX6fasZbgZSwe8gjiXYPQ6EvtgjlWnYxPTn6vHRlb53vDFzMg== dependencies: - "@aws-cdk/cfnspec" "1.74.0" + "@aws-cdk/cfnspec" "1.79.0" colors "^1.4.0" diff "^5.0.0" fast-deep-equal "^3.1.3" string-width "^4.2.0" - table "^6.0.3" + table "^6.0.4" "@aws-cdk/core@1.56.0": version "1.56.0" @@ -713,14 +742,14 @@ fs-extra "^9.0.1" minimatch "^3.0.4" -"@aws-cdk/core@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.74.0.tgz#132d31c0ab9d39394827431ccd804cf10de34273" - integrity sha512-1iKRIRKyMQ8ZmPvkAAjSIGl4Fh7tLIE7D23ht25ayNGp0XVG1Hd858x2GmDzI/J1ZK6xsuTsEDGbi5/saR69ng== +"@aws-cdk/core@1.79.0": + version "1.79.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.79.0.tgz#164b2f01877259eeb1ba16617be103522ae934d6" + integrity sha512-I+2GbQfbPy6TewnGbviE1W8cUhgBEA1mQLYm5gBj/Rzix1tCyaNvfYsBU3ipg3jIATpHsg1CzUq0zrumUnmnTg== dependencies: - "@aws-cdk/cloud-assembly-schema" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - "@aws-cdk/region-info" "1.74.0" + "@aws-cdk/cloud-assembly-schema" "1.79.0" + "@aws-cdk/cx-api" "1.79.0" + "@aws-cdk/region-info" "1.79.0" "@balena/dockerignore" "^1.0.2" constructs "^3.2.0" fs-extra "^9.0.1" @@ -741,17 +770,17 @@ ignore "^5.1.8" minimatch "^3.0.4" -"@aws-cdk/custom-resources@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/custom-resources/-/custom-resources-1.74.0.tgz#19329e8a9b9bc0ca66e00c791b008c416a67265f" - integrity sha512-KDXgyRCeCMIj42nQcd2RXc4GYQpd7SWtx2iw0G4Wvs/wG4i3nR1qdlvEJvAlNgsYeqM4pp3mIp3PgdX341HsCg== - dependencies: - "@aws-cdk/aws-cloudformation" "1.74.0" - "@aws-cdk/aws-iam" "1.74.0" - "@aws-cdk/aws-lambda" "1.74.0" - "@aws-cdk/aws-logs" "1.74.0" - "@aws-cdk/aws-sns" "1.74.0" - "@aws-cdk/core" "1.74.0" +"@aws-cdk/custom-resources@1.79.0": + version "1.79.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/custom-resources/-/custom-resources-1.79.0.tgz#2b68ee4e03a7d517693d0009e8380c045b968e90" + integrity sha512-+F4dpo/vju7kfNnajw9Fl2XwTmVG7qzYZ6weuKtfr0iFDHrBCZ5auGP45u8gHeNebnCdq51TNG9gskQ3ct5Aiw== + dependencies: + "@aws-cdk/aws-cloudformation" "1.79.0" + "@aws-cdk/aws-iam" "1.79.0" + "@aws-cdk/aws-lambda" "1.79.0" + "@aws-cdk/aws-logs" "1.79.0" + "@aws-cdk/aws-sns" "1.79.0" + "@aws-cdk/core" "1.79.0" constructs "^3.2.0" "@aws-cdk/custom-resources@1.83.0": @@ -784,12 +813,12 @@ "@aws-cdk/cloud-assembly-schema" "1.57.0" semver "^7.2.2" -"@aws-cdk/cx-api@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.74.0.tgz#922c11389d723eadef2bc12666ced4980fe9e4cc" - integrity sha512-Xhq9col3syHmxC3Zl1igrWwvOzwJzwTKwpLLL8ENF8u2n8x4eneAN+OLrRlB/rhAQ+KUL6B8toUsd4pcJMkSOQ== +"@aws-cdk/cx-api@1.79.0": + version "1.79.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.79.0.tgz#c9770fdd9b14a64e7ef350aa020969902b8a182d" + integrity sha512-ymQOqHcPzYhrcQ4swMgw5JzAaOm+PehH1cepsxi/Wq2zNOXkyN9o6Hw6l+eDpezFvNIKFy4mMAo6FR9xRCUiow== dependencies: - "@aws-cdk/cloud-assembly-schema" "1.74.0" + "@aws-cdk/cloud-assembly-schema" "1.79.0" semver "^7.3.2" "@aws-cdk/cx-api@1.83.0": @@ -805,20 +834,20 @@ resolved "https://registry.yarnpkg.com/@aws-cdk/region-info/-/region-info-1.57.0.tgz#ae45fcf82fe7c66348c8b7ecfbb738dfb08bde9d" integrity sha512-U2V2f/PdD2VDGVwGGShb+7dqhmEEmShlOOdvDQvTmAg2SW6HwOt/rsz+va6EzvWV7fmxtFEfMiJVpnheZ1Vwyg== -"@aws-cdk/region-info@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/region-info/-/region-info-1.74.0.tgz#e53eabe2d8980c360e63ea956615253551005182" - integrity sha512-xF0etW01PyUNxL9F4xiA2y/pEG9e+0EJpOL7O9gVZ0IxOkIW+J0MljR6O8nx4yCx6j2/dXTs6INZ/zVn0DsydA== +"@aws-cdk/region-info@1.79.0": + version "1.79.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/region-info/-/region-info-1.79.0.tgz#2a47339ca2dd48b9ecae46e985c8c3dcb83de577" + integrity sha512-klnXCc1Cd/krE4VOXJ1Blvey8ucPRzuwgGacPsCV2ugMSlaJSbdGqKzTUNxcK2o8g9PaEuJ5lNjfwqqyvp571g== "@aws-cdk/region-info@1.83.0": version "1.83.0" resolved "https://registry.yarnpkg.com/@aws-cdk/region-info/-/region-info-1.83.0.tgz#aec59f22469192f19aa4df5f94f8d65cdd07d8e0" integrity sha512-5gwX1xhEPFb9eFFGNdHm99vSCJqrYIEvwIjFmoG8zpjV8TWtiY7D8WbhxED7Q2pejEMnuUtvmMXKgSH+lo6ung== -"@aws-cdk/yaml-cfn@1.74.0": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/yaml-cfn/-/yaml-cfn-1.74.0.tgz#ea66da39391acf4d2f385845bb1c3466779bb90c" - integrity sha512-fJyS9apCC6lk3MHramd8Kjz4UwGWqM5gDRBci68Vs/nfXcpXY2ekHGjUMUfcel7VPobNKWszxWAMxXttAHa1zg== +"@aws-cdk/yaml-cfn@1.79.0": + version "1.79.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/yaml-cfn/-/yaml-cfn-1.79.0.tgz#6d888417e8bd94bf192acfae19f7ab5e3ab75519" + integrity sha512-ABi7TSKtKl9iCN9F4OqxyDCJYGhKea8/QjLkGpZTFzi1wa512rAQBGSOrHxLvpdJFx7RH59oszrSd/kAGHwrgQ== dependencies: yaml "1.10.0" @@ -3217,7 +3246,7 @@ archiver-utils@^2.1.0: normalize-path "^3.0.0" readable-stream "^2.0.0" -archiver@^5.0.2: +archiver@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/archiver/-/archiver-5.1.0.tgz#05b0f6f7836f3e6356a0532763d2bb91017a7e37" integrity sha512-iKuQUP1nuKzBC2PFlGet5twENzCfyODmvkxwDV0cEFXavwcLrIW5ssTuHi9dyTPvpWr6Faweo2eQaQiLIwyXTA== @@ -3367,20 +3396,20 @@ atob@^2.1.2: resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== -aws-cdk@1.74.0: - version "1.74.0" - resolved "https://registry.yarnpkg.com/aws-cdk/-/aws-cdk-1.74.0.tgz#d049631ea578a8b75244b13a3028134ebb56add2" - integrity sha512-D4LKNlmvLHv+CWI/35Esaoij4v5VSqKyc+Gvnjhj1K3I4lG/AAxEy1CmRBhN/w1LJt70U9jnBpIsb6hGUlrV8A== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.74.0" - "@aws-cdk/cloudformation-diff" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - "@aws-cdk/region-info" "1.74.0" - "@aws-cdk/yaml-cfn" "1.74.0" - archiver "^5.0.2" - aws-sdk "^2.792.0" +aws-cdk@1.79.0: + version "1.79.0" + resolved "https://registry.yarnpkg.com/aws-cdk/-/aws-cdk-1.79.0.tgz#56521f87a6e9e6eafc940b39f9632d3bd95f4174" + integrity sha512-7cnEk963IUKbk0SiLEBH86MBl7TFvzYiJLaY/gyWp0hFGayd5C9RmJ/QDkw/caT5GIjYiGSnoyFWyMSV0o47fQ== + dependencies: + "@aws-cdk/cloud-assembly-schema" "1.79.0" + "@aws-cdk/cloudformation-diff" "1.79.0" + "@aws-cdk/cx-api" "1.79.0" + "@aws-cdk/region-info" "1.79.0" + "@aws-cdk/yaml-cfn" "1.79.0" + archiver "^5.1.0" + aws-sdk "^2.804.0" camelcase "^6.2.0" - cdk-assets "1.74.0" + cdk-assets "1.79.0" colors "^1.4.0" decamelize "^4.0.0" fs-extra "^9.0.1" @@ -3391,12 +3420,12 @@ aws-cdk@1.74.0: proxy-agent "^4.0.0" semver "^7.3.2" source-map-support "^0.5.19" - table "^6.0.3" + table "^6.0.4" uuid "^8.3.1" wrap-ansi "^7.0.0" - yargs "^16.1.1" + yargs "^16.2.0" -aws-sdk@^2.761.0, aws-sdk@^2.792.0: +aws-sdk@^2.761.0, aws-sdk@^2.804.0: version "2.823.0" resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.823.0.tgz#bbf7feaeb63959a451ec964b19cef6ea7128097a" integrity sha512-djrTmGu9MqsoUoaVRXjIjNPCfHBsrBBGFyZtgRhUGz9toa1ubZb2W2buUnT3ncws/bhOj5+7nO+qxAf/JzH9NA== @@ -3817,17 +3846,17 @@ caseless@~0.12.0: resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= -cdk-assets@1.74.0: - version "1.74.0" - resolved "https://registry.yarnpkg.com/cdk-assets/-/cdk-assets-1.74.0.tgz#d70d5d5351181d91d9ee91791a858c2eb5d5e723" - integrity sha512-YF3nE1zAJU4dlWVnY30a4ALNzHhSTMMoAMv4bYkwXTLqzu+QB2v3MQdPpCLdGTGUYDaeRZy/Z/4R4MqM+/KPAA== +cdk-assets@1.79.0: + version "1.79.0" + resolved "https://registry.yarnpkg.com/cdk-assets/-/cdk-assets-1.79.0.tgz#e786037816823a46a1beb8cd66f29598122b6bd5" + integrity sha512-sV0dD5KF16CYuJ38Paori/jVP1ORTTB3gnv2Gw8VqA3nTK0F8JyfzIxNLNuUKsKBl7ASvlt5ldDiA7RDQHmQBA== dependencies: - "@aws-cdk/cloud-assembly-schema" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - archiver "^5.0.2" - aws-sdk "^2.792.0" + "@aws-cdk/cloud-assembly-schema" "1.79.0" + "@aws-cdk/cx-api" "1.79.0" + archiver "^5.1.0" + aws-sdk "^2.804.0" glob "^7.1.6" - yargs "^16.1.1" + yargs "^16.2.0" chalk@^2.0.0, chalk@^2.3.1, chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" @@ -9436,20 +9465,20 @@ ssri@^7.0.0, ssri@^7.0.1: figgy-pudding "^3.5.1" minipass "^3.1.1" -sst-cdk@1.74.0-rc.6: - version "1.74.0-rc.6" - resolved "https://registry.yarnpkg.com/sst-cdk/-/sst-cdk-1.74.0-rc.6.tgz#581a9c0ff8204a0f480c4cbe02b1f8ffd5b05180" - integrity sha512-VpDcqd1NOxSSwQ3Hk81YcWuDLscaRLzgGdgZ1UvA4EK2x66BPA8l1WHZesImQUKVsiqNB6115U4XNiUMCeWLIg== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.74.0" - "@aws-cdk/cloudformation-diff" "1.74.0" - "@aws-cdk/cx-api" "1.74.0" - "@aws-cdk/region-info" "1.74.0" - "@aws-cdk/yaml-cfn" "1.74.0" - archiver "^5.0.2" - aws-sdk "^2.792.0" +sst-cdk@1.79.0-rc.1: + version "1.79.0-rc.1" + resolved "https://registry.yarnpkg.com/sst-cdk/-/sst-cdk-1.79.0-rc.1.tgz#25111ce3c3b521710f20b3d6a47ee477313ed635" + integrity sha512-pg+4xuWqgEnpsixY68vXamCmr7OsVW10zSLt6IeorYBvPQphTxAPOgPC3OGwGUk48BVNVVMR5p2f3MIEtWSNEA== + dependencies: + "@aws-cdk/cloud-assembly-schema" "1.79.0" + "@aws-cdk/cloudformation-diff" "1.79.0" + "@aws-cdk/cx-api" "1.79.0" + "@aws-cdk/region-info" "1.79.0" + "@aws-cdk/yaml-cfn" "1.79.0" + archiver "^5.1.0" + aws-sdk "^2.804.0" camelcase "^6.2.0" - cdk-assets "1.74.0" + cdk-assets "1.79.0" colors "^1.4.0" decamelize "^4.0.0" fs-extra "^9.0.1" @@ -9460,10 +9489,10 @@ sst-cdk@1.74.0-rc.6: proxy-agent "^4.0.0" semver "^7.3.2" source-map-support "^0.5.19" - table "^6.0.3" + table "^6.0.4" uuid "^8.3.1" wrap-ansi "^7.0.0" - yargs "^16.1.1" + yargs "^16.2.0" stack-trace@0.0.x: version "0.0.10" @@ -9715,7 +9744,7 @@ symbol-tree@^3.2.4: resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== -table@^6.0.3, table@^6.0.4: +table@^6.0.4: version "6.0.7" resolved "https://registry.yarnpkg.com/table/-/table-6.0.7.tgz#e45897ffbcc1bcf9e8a87bf420f2c9e5a7a52a34" integrity sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g== @@ -10640,7 +10669,7 @@ yargs@^15.0.0, yargs@^15.3.1, yargs@^15.4.1: y18n "^4.0.0" yargs-parser "^18.1.2" -yargs@^16.1.1: +yargs@^16.2.0: version "16.2.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== From 7ac5b1918cb9082b650660911fbe891565f4d7f2 Mon Sep 17 00:00:00 2001 From: Jay Date: Wed, 6 Jan 2021 22:16:22 -0500 Subject: [PATCH 074/123] v1.0.0-alpha.6 --- lerna.json | 6 ++++-- packages/cli/package.json | 6 +++--- packages/cli/test/add-cdk/package.json | 4 ++-- packages/cli/test/base-ts/package.json | 6 +++--- packages/cli/test/base/package.json | 6 +++--- packages/cli/test/cdk-command/package.json | 6 +++--- packages/cli/test/config-invalid/package.json | 6 +++--- packages/cli/test/config-no-name/package.json | 6 +++--- packages/cli/test/config-no-type/package.json | 6 +++--- packages/cli/test/config-not-found/package.json | 6 +++--- packages/cli/test/config/package.json | 6 +++--- packages/cli/test/context/package.json | 6 +++--- packages/cli/test/eslint-ignore-rule/package.json | 6 +++--- packages/cli/test/eslint-ignore/package.json | 6 +++--- packages/cli/test/eslint-ts/package.json | 6 +++--- packages/cli/test/eslint/package.json | 6 +++--- packages/cli/test/handler-function-not-found/package.json | 6 +++--- packages/cli/test/handler-not-found/package.json | 6 +++--- packages/cli/test/jest-ts/package.json | 6 +++--- packages/cli/test/jest/package.json | 8 ++++---- packages/cli/test/mismatched-cdk-versions/package.json | 8 ++++---- packages/cli/test/stack-no-prefix/package.json | 8 ++++---- packages/cli/test/stack-set-env/package.json | 6 +++--- packages/cli/test/start-no-src-path/package.json | 6 +++--- packages/cli/test/start/package.json | 6 +++--- packages/core/package.json | 2 +- packages/create-serverless-stack/package.json | 2 +- packages/resources/package.json | 2 +- 28 files changed, 81 insertions(+), 79 deletions(-) diff --git a/lerna.json b/lerna.json index 0e6c64f5de..57ebdb5f3f 100644 --- a/lerna.json +++ b/lerna.json @@ -1,6 +1,8 @@ { - "packages": ["packages/*"], + "packages": [ + "packages/*" + ], "npmClient": "yarn", "useWorkspaces": true, - "version": "1.0.0-alpha.5" + "version": "1.0.0-alpha.6" } diff --git a/packages/cli/package.json b/packages/cli/package.json index 838da40707..169badb752 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@serverless-stack/cli", - "version": "1.0.0-alpha.5", + "version": "1.0.0-alpha.6", "description": "A CLI to help deploy Serverless Stack apps.", "scripts": { "prepare": "./bin/sync-cdk-version.js", @@ -45,8 +45,8 @@ "@babel/eslint-plugin": "^7.11.3", "@babel/plugin-proposal-class-properties": "^7.10.4", "@babel/preset-env": "^7.10.4", - "@serverless-stack/core": "^1.0.0-alpha.5", - "@serverless-stack/resources": "^1.0.0-alpha.5", + "@serverless-stack/core": "^1.0.0-alpha.6", + "@serverless-stack/resources": "^1.0.0-alpha.6", "@types/jest": "^26.0.7", "@types/node": "^14.0.27", "@typescript-eslint/eslint-plugin": "^3.9.1", diff --git a/packages/cli/test/add-cdk/package.json b/packages/cli/test/add-cdk/package.json index 3c966f35df..866d46bbf3 100644 --- a/packages/cli/test/add-cdk/package.json +++ b/packages/cli/test/add-cdk/package.json @@ -2,13 +2,13 @@ "name": "add-cdk", "private": true, "description": "tests", - "version": "0.0.1", + "version": "1.0.0-alpha.6", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "add-cdk": "sst add-cdk" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.5" + "@serverless-stack/cli": "^1.0.0-alpha.6" }, "license": "ISC" } diff --git a/packages/cli/test/base-ts/package.json b/packages/cli/test/base-ts/package.json index e9d5293f57..10a6e7db80 100644 --- a/packages/cli/test/base-ts/package.json +++ b/packages/cli/test/base-ts/package.json @@ -2,7 +2,7 @@ "name": "base-ts", "private": true, "description": "tests", - "version": "0.0.1", + "version": "1.0.0-alpha.6", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "start": "sst start", @@ -14,8 +14,8 @@ "dependencies": { "@aws-cdk/aws-s3": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.5", - "@serverless-stack/resources": "^1.0.0-alpha.5" + "@serverless-stack/cli": "^1.0.0-alpha.6", + "@serverless-stack/resources": "^1.0.0-alpha.6" }, "license": "ISC", "devDependencies": { diff --git a/packages/cli/test/base/package.json b/packages/cli/test/base/package.json index 9308882418..6885d9d294 100644 --- a/packages/cli/test/base/package.json +++ b/packages/cli/test/base/package.json @@ -2,7 +2,7 @@ "name": "base", "private": true, "description": "tests", - "version": "0.0.1", + "version": "1.0.0-alpha.6", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "start": "sst start", @@ -18,8 +18,8 @@ "@aws-cdk/aws-iam": "1.79.0", "@aws-cdk/aws-s3": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.5", - "@serverless-stack/resources": "^1.0.0-alpha.5" + "@serverless-stack/cli": "^1.0.0-alpha.6", + "@serverless-stack/resources": "^1.0.0-alpha.6" }, "license": "ISC" } diff --git a/packages/cli/test/cdk-command/package.json b/packages/cli/test/cdk-command/package.json index 9974356da6..e8b07ccfd6 100644 --- a/packages/cli/test/cdk-command/package.json +++ b/packages/cli/test/cdk-command/package.json @@ -2,14 +2,14 @@ "name": "cdk-command", "private": true, "description": "tests", - "version": "0.0.1", + "version": "1.0.0-alpha.6", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "cdk": "sst cdk" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.5", - "@serverless-stack/resources": "^1.0.0-alpha.5" + "@serverless-stack/cli": "^1.0.0-alpha.6", + "@serverless-stack/resources": "^1.0.0-alpha.6" }, "license": "ISC" } diff --git a/packages/cli/test/config-invalid/package.json b/packages/cli/test/config-invalid/package.json index 7adde81969..3828c02a62 100644 --- a/packages/cli/test/config-invalid/package.json +++ b/packages/cli/test/config-invalid/package.json @@ -2,14 +2,14 @@ "name": "config-invalid", "private": true, "description": "tests", - "version": "0.0.1", + "version": "1.0.0-alpha.6", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.5", - "@serverless-stack/resources": "^1.0.0-alpha.5" + "@serverless-stack/cli": "^1.0.0-alpha.6", + "@serverless-stack/resources": "^1.0.0-alpha.6" }, "license": "ISC" } diff --git a/packages/cli/test/config-no-name/package.json b/packages/cli/test/config-no-name/package.json index 3b0c44e459..521d046bab 100644 --- a/packages/cli/test/config-no-name/package.json +++ b/packages/cli/test/config-no-name/package.json @@ -2,14 +2,14 @@ "name": "config-no-name", "private": true, "description": "tests", - "version": "0.0.1", + "version": "1.0.0-alpha.6", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.5", - "@serverless-stack/resources": "^1.0.0-alpha.5" + "@serverless-stack/cli": "^1.0.0-alpha.6", + "@serverless-stack/resources": "^1.0.0-alpha.6" }, "license": "ISC" } diff --git a/packages/cli/test/config-no-type/package.json b/packages/cli/test/config-no-type/package.json index f3673caa1f..256d634d65 100644 --- a/packages/cli/test/config-no-type/package.json +++ b/packages/cli/test/config-no-type/package.json @@ -2,14 +2,14 @@ "name": "config-no-type", "private": true, "description": "tests", - "version": "0.0.1", + "version": "1.0.0-alpha.6", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.5", - "@serverless-stack/resources": "^1.0.0-alpha.5" + "@serverless-stack/cli": "^1.0.0-alpha.6", + "@serverless-stack/resources": "^1.0.0-alpha.6" }, "license": "ISC" } diff --git a/packages/cli/test/config-not-found/package.json b/packages/cli/test/config-not-found/package.json index 37bcdf6914..dfd92c6962 100644 --- a/packages/cli/test/config-not-found/package.json +++ b/packages/cli/test/config-not-found/package.json @@ -2,14 +2,14 @@ "name": "config-not-found", "private": true, "description": "tests", - "version": "0.0.1", + "version": "1.0.0-alpha.6", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.5", - "@serverless-stack/resources": "^1.0.0-alpha.5" + "@serverless-stack/cli": "^1.0.0-alpha.6", + "@serverless-stack/resources": "^1.0.0-alpha.6" }, "license": "ISC" } diff --git a/packages/cli/test/config/package.json b/packages/cli/test/config/package.json index 10bb95f4d4..10ffc0bee4 100644 --- a/packages/cli/test/config/package.json +++ b/packages/cli/test/config/package.json @@ -2,15 +2,15 @@ "name": "config-test", "private": true, "description": "tests", - "version": "0.0.1", + "version": "1.0.0-alpha.6", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { "@aws-cdk/aws-dynamodb": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.5", - "@serverless-stack/resources": "^1.0.0-alpha.5" + "@serverless-stack/cli": "^1.0.0-alpha.6", + "@serverless-stack/resources": "^1.0.0-alpha.6" }, "license": "ISC" } diff --git a/packages/cli/test/context/package.json b/packages/cli/test/context/package.json index 2a89320f19..8fb47b2b52 100644 --- a/packages/cli/test/context/package.json +++ b/packages/cli/test/context/package.json @@ -2,15 +2,15 @@ "name": "context", "private": true, "description": "tests", - "version": "0.0.1", + "version": "1.0.0-alpha.6", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { "@aws-cdk/aws-dynamodb": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.5", - "@serverless-stack/resources": "^1.0.0-alpha.5" + "@serverless-stack/cli": "^1.0.0-alpha.6", + "@serverless-stack/resources": "^1.0.0-alpha.6" }, "license": "ISC" } diff --git a/packages/cli/test/eslint-ignore-rule/package.json b/packages/cli/test/eslint-ignore-rule/package.json index ea3e0a49b8..0b94ee1c6b 100644 --- a/packages/cli/test/eslint-ignore-rule/package.json +++ b/packages/cli/test/eslint-ignore-rule/package.json @@ -2,14 +2,14 @@ "name": "eslint-ignore-rule", "private": true, "description": "tests", - "version": "0.0.1", + "version": "1.0.0-alpha.6", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.5", - "@serverless-stack/resources": "^1.0.0-alpha.5" + "@serverless-stack/cli": "^1.0.0-alpha.6", + "@serverless-stack/resources": "^1.0.0-alpha.6" }, "license": "ISC" } diff --git a/packages/cli/test/eslint-ignore/package.json b/packages/cli/test/eslint-ignore/package.json index e312ede97d..2b3e419282 100644 --- a/packages/cli/test/eslint-ignore/package.json +++ b/packages/cli/test/eslint-ignore/package.json @@ -2,14 +2,14 @@ "name": "eslint-ignore", "private": true, "description": "tests", - "version": "0.0.1", + "version": "1.0.0-alpha.6", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.5", - "@serverless-stack/resources": "^1.0.0-alpha.5" + "@serverless-stack/cli": "^1.0.0-alpha.6", + "@serverless-stack/resources": "^1.0.0-alpha.6" }, "license": "ISC" } diff --git a/packages/cli/test/eslint-ts/package.json b/packages/cli/test/eslint-ts/package.json index c89068a063..c10ea37419 100644 --- a/packages/cli/test/eslint-ts/package.json +++ b/packages/cli/test/eslint-ts/package.json @@ -2,14 +2,14 @@ "name": "eslint-ts", "private": true, "description": "tests", - "version": "0.0.1", + "version": "1.0.0-alpha.6", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.5", - "@serverless-stack/resources": "^1.0.0-alpha.5" + "@serverless-stack/cli": "^1.0.0-alpha.6", + "@serverless-stack/resources": "^1.0.0-alpha.6" }, "license": "ISC" } diff --git a/packages/cli/test/eslint/package.json b/packages/cli/test/eslint/package.json index c814d95b65..92459758e6 100644 --- a/packages/cli/test/eslint/package.json +++ b/packages/cli/test/eslint/package.json @@ -2,14 +2,14 @@ "name": "eslint", "private": true, "description": "tests", - "version": "0.0.1", + "version": "1.0.0-alpha.6", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.5", - "@serverless-stack/resources": "^1.0.0-alpha.5" + "@serverless-stack/cli": "^1.0.0-alpha.6", + "@serverless-stack/resources": "^1.0.0-alpha.6" }, "license": "ISC" } diff --git a/packages/cli/test/handler-function-not-found/package.json b/packages/cli/test/handler-function-not-found/package.json index d091620349..18b5285e50 100644 --- a/packages/cli/test/handler-function-not-found/package.json +++ b/packages/cli/test/handler-function-not-found/package.json @@ -2,14 +2,14 @@ "name": "handler-function-not-found", "private": true, "description": "tests", - "version": "0.0.1", + "version": "1.0.0-alpha.6", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.5", - "@serverless-stack/resources": "^1.0.0-alpha.5" + "@serverless-stack/cli": "^1.0.0-alpha.6", + "@serverless-stack/resources": "^1.0.0-alpha.6" }, "license": "ISC" } diff --git a/packages/cli/test/handler-not-found/package.json b/packages/cli/test/handler-not-found/package.json index 44e5371b91..01f1a015f7 100644 --- a/packages/cli/test/handler-not-found/package.json +++ b/packages/cli/test/handler-not-found/package.json @@ -2,14 +2,14 @@ "name": "handler-not-found", "private": true, "description": "tests", - "version": "0.0.1", + "version": "1.0.0-alpha.6", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.5", - "@serverless-stack/resources": "^1.0.0-alpha.5" + "@serverless-stack/cli": "^1.0.0-alpha.6", + "@serverless-stack/resources": "^1.0.0-alpha.6" }, "license": "ISC" } diff --git a/packages/cli/test/jest-ts/package.json b/packages/cli/test/jest-ts/package.json index 48c9d247d6..92cf8e734e 100644 --- a/packages/cli/test/jest-ts/package.json +++ b/packages/cli/test/jest-ts/package.json @@ -2,7 +2,7 @@ "name": "jest-ts", "private": true, "description": "tests", - "version": "0.0.1", + "version": "1.0.0-alpha.6", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build", @@ -19,8 +19,8 @@ "@aws-cdk/aws-sns-subscriptions": "1.79.0", "@aws-cdk/aws-sqs": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.5", - "@serverless-stack/resources": "^1.0.0-alpha.5" + "@serverless-stack/cli": "^1.0.0-alpha.6", + "@serverless-stack/resources": "^1.0.0-alpha.6" }, "license": "ISC", "devDependencies": { diff --git a/packages/cli/test/jest/package.json b/packages/cli/test/jest/package.json index bfb1d8309f..ad33224d1d 100644 --- a/packages/cli/test/jest/package.json +++ b/packages/cli/test/jest/package.json @@ -2,7 +2,7 @@ "name": "jest", "private": true, "description": "tests", - "version": "0.0.1", + "version": "1.0.0-alpha.6", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "test": "sst test" @@ -13,10 +13,10 @@ ] }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.5", - "@serverless-stack/resources": "^1.0.0-alpha.5", "@aws-cdk/aws-dynamodb": "1.79.0", - "@aws-cdk/core": "1.79.0" + "@aws-cdk/core": "1.79.0", + "@serverless-stack/cli": "^1.0.0-alpha.6", + "@serverless-stack/resources": "^1.0.0-alpha.6" }, "license": "ISC", "devDependencies": { diff --git a/packages/cli/test/mismatched-cdk-versions/package.json b/packages/cli/test/mismatched-cdk-versions/package.json index d2e0983f0f..e48810c527 100644 --- a/packages/cli/test/mismatched-cdk-versions/package.json +++ b/packages/cli/test/mismatched-cdk-versions/package.json @@ -2,19 +2,19 @@ "name": "mismatched-cdk-versions", "private": true, "description": "tests", - "version": "0.0.1", + "version": "1.0.0-alpha.6", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.5", - "@serverless-stack/resources": "^1.0.0-alpha.5", "@aws-cdk/aws-cognito": "^1.55.0", "@aws-cdk/aws-dynamodb": "^1.55.0", "@aws-cdk/aws-iam": "1.57.0", "@aws-cdk/aws-s3": "^1.57.0", - "@aws-cdk/core": "1.56.0" + "@aws-cdk/core": "1.56.0", + "@serverless-stack/cli": "^1.0.0-alpha.6", + "@serverless-stack/resources": "^1.0.0-alpha.6" }, "license": "ISC" } diff --git a/packages/cli/test/stack-no-prefix/package.json b/packages/cli/test/stack-no-prefix/package.json index 89c8106542..20bf25a948 100644 --- a/packages/cli/test/stack-no-prefix/package.json +++ b/packages/cli/test/stack-no-prefix/package.json @@ -2,15 +2,15 @@ "name": "stack-no-prefix", "private": true, "description": "tests", - "version": "0.0.1", + "version": "1.0.0-alpha.6", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.5", - "@serverless-stack/resources": "^1.0.0-alpha.5", - "@aws-cdk/core": "1.79.0" + "@aws-cdk/core": "1.79.0", + "@serverless-stack/cli": "^1.0.0-alpha.6", + "@serverless-stack/resources": "^1.0.0-alpha.6" }, "license": "ISC" } diff --git a/packages/cli/test/stack-set-env/package.json b/packages/cli/test/stack-set-env/package.json index ce1f95cd94..451af1fee4 100644 --- a/packages/cli/test/stack-set-env/package.json +++ b/packages/cli/test/stack-set-env/package.json @@ -2,14 +2,14 @@ "name": "stack-set-env", "private": true, "description": "tests", - "version": "0.0.1", + "version": "1.0.0-alpha.6", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.5", - "@serverless-stack/resources": "^1.0.0-alpha.5" + "@serverless-stack/cli": "^1.0.0-alpha.6", + "@serverless-stack/resources": "^1.0.0-alpha.6" }, "license": "ISC" } diff --git a/packages/cli/test/start-no-src-path/package.json b/packages/cli/test/start-no-src-path/package.json index d666d946e3..65677bb9f2 100644 --- a/packages/cli/test/start-no-src-path/package.json +++ b/packages/cli/test/start-no-src-path/package.json @@ -2,7 +2,7 @@ "name": "start-no-src-path", "private": true, "description": "tests", - "version": "0.0.1", + "version": "1.0.0-alpha.6", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "start": "sst start", @@ -16,8 +16,8 @@ "@aws-cdk/aws-apigatewayv2-integrations": "1.79.0", "@aws-cdk/aws-lambda": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.5", - "@serverless-stack/resources": "^1.0.0-alpha.5", + "@serverless-stack/cli": "^1.0.0-alpha.6", + "@serverless-stack/resources": "^1.0.0-alpha.6", "mirrarray": "^2.0.0" }, "license": "ISC" diff --git a/packages/cli/test/start/package.json b/packages/cli/test/start/package.json index 1a273ec95f..33a1a4ee68 100644 --- a/packages/cli/test/start/package.json +++ b/packages/cli/test/start/package.json @@ -2,7 +2,7 @@ "name": "start", "private": true, "description": "tests", - "version": "0.0.1", + "version": "1.0.0-alpha.6", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "start": "sst start", @@ -18,8 +18,8 @@ "@aws-cdk/aws-sns": "1.79.0", "@aws-cdk/aws-sns-subscriptions": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.5", - "@serverless-stack/resources": "^1.0.0-alpha.5" + "@serverless-stack/cli": "^1.0.0-alpha.6", + "@serverless-stack/resources": "^1.0.0-alpha.6" }, "license": "ISC" } diff --git a/packages/core/package.json b/packages/core/package.json index fc035343ac..9292dec685 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@serverless-stack/core", - "version": "1.0.0-alpha.5", + "version": "1.0.0-alpha.6", "homepage": "https://serverless-stack.com", "description": "Core of the Serverless Stack Toolkit.", "main": "index.js", diff --git a/packages/create-serverless-stack/package.json b/packages/create-serverless-stack/package.json index 1fdb6c5a0d..0b92fb478d 100644 --- a/packages/create-serverless-stack/package.json +++ b/packages/create-serverless-stack/package.json @@ -1,6 +1,6 @@ { "name": "create-serverless-stack", - "version": "1.0.0-alpha.5", + "version": "1.0.0-alpha.6", "homepage": "https://serverless-stack.com", "description": "Create Serverless Stack apps.", "bin": { diff --git a/packages/resources/package.json b/packages/resources/package.json index aedede4634..d3695b89e9 100644 --- a/packages/resources/package.json +++ b/packages/resources/package.json @@ -1,6 +1,6 @@ { "name": "@serverless-stack/resources", - "version": "1.0.0-alpha.5", + "version": "1.0.0-alpha.6", "homepage": "https://serverless-stack.com", "description": "Helper AWS CDK constructs for Serverless Stack apps.", "main": "dist/index.js", From 19ec22aeac1499cb9a9e00d12866ab3e39881777 Mon Sep 17 00:00:00 2001 From: Jay Date: Wed, 6 Jan 2021 22:18:10 -0500 Subject: [PATCH 075/123] Updating npm ignore --- packages/cli/.npmignore | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/cli/.npmignore b/packages/cli/.npmignore index 6453e09014..6512c44ea9 100644 --- a/packages/cli/.npmignore +++ b/packages/cli/.npmignore @@ -1,3 +1,4 @@ +cdk.out node_modules test *.test.js From cdbc38ea6c2d4e6b4fe709773b3ecd6ed6694780 Mon Sep 17 00:00:00 2001 From: Frank Date: Thu, 7 Jan 2021 01:34:05 -0500 Subject: [PATCH 076/123] Adding tests for sst start --- packages/cli/bin/scripts.js | 12 ++--- packages/cli/scripts/start.js | 44 +++++++++--------- .../dynamodb.js => jest-ts/lib/mystack.js} | 10 ++++- packages/cli/test/{start => jest-ts}/sst.json | 0 packages/cli/test/jest/lib/index.js | 6 +++ packages/cli/test/jest/lib/mystack.js | 38 ++++++++++++++++ packages/cli/test/jest/src/lambda.js | 3 ++ packages/cli/test/jest/sst.json | 6 +++ .../{dynamodb.test.js => mystack.test.js} | 6 +-- .../test/{start => start-base}/lib/index.js | 8 +--- .../test/{start => start-base}/package.json | 9 ++-- .../test/{start => start-base}/src/api/api.ts | 10 +++-- packages/cli/test/start-base/src/api/lib.ts | 3 ++ .../src/api/package.json | 0 .../src/api/tsconfig.json | 0 .../{start => start-base}/src/api/yarn.lock | 0 .../src/sns/sub-folder}/sns.js | 0 packages/cli/test/start-base/sst.json | 6 +++ .../cli/test/start-base/start-base.test.js | 45 +++++++++++++++++++ packages/cli/test/start/src/api/import.js | 1 - packages/cli/test/start/src/api/lib.ts | 3 -- 21 files changed, 156 insertions(+), 54 deletions(-) rename packages/cli/test/{jest/lib/dynamodb.js => jest-ts/lib/mystack.js} (80%) rename packages/cli/test/{start => jest-ts}/sst.json (100%) create mode 100644 packages/cli/test/jest/lib/index.js create mode 100644 packages/cli/test/jest/lib/mystack.js create mode 100644 packages/cli/test/jest/src/lambda.js create mode 100644 packages/cli/test/jest/sst.json rename packages/cli/test/jest/test/{dynamodb.test.js => mystack.test.js} (78%) rename packages/cli/test/{start => start-base}/lib/index.js (88%) rename packages/cli/test/{start => start-base}/package.json (73%) rename packages/cli/test/{start => start-base}/src/api/api.ts (77%) create mode 100644 packages/cli/test/start-base/src/api/lib.ts rename packages/cli/test/{start => start-base}/src/api/package.json (100%) rename packages/cli/test/{start => start-base}/src/api/tsconfig.json (100%) rename packages/cli/test/{start => start-base}/src/api/yarn.lock (100%) rename packages/cli/test/{start/src/sns => start-base/src/sns/sub-folder}/sns.js (100%) create mode 100644 packages/cli/test/start-base/sst.json create mode 100644 packages/cli/test/start-base/start-base.test.js delete mode 100644 packages/cli/test/start/src/api/import.js delete mode 100644 packages/cli/test/start/src/api/lib.ts diff --git a/packages/cli/bin/scripts.js b/packages/cli/bin/scripts.js index 73c9d5159f..58e4830103 100755 --- a/packages/cli/bin/scripts.js +++ b/packages/cli/bin/scripts.js @@ -202,15 +202,9 @@ switch (script) { } case cmd.cdk: case cmd.test: { - let promise = Promise.resolve(1); - - if (script === cmd.cdk) { - // Prepare app before running forked CDK commands - const cliInfo = getCliInfo(); - promise = prepareCdk(argv, cliInfo); - } - - promise.then(() => { + // Prepare app before running forked CDK commands + const cliInfo = getCliInfo(); + prepareCdk(argv, cliInfo).then(() => { const result = spawn.sync( "node", [require.resolve("../scripts/" + script)].concat(scriptArgs), diff --git a/packages/cli/scripts/start.js b/packages/cli/scripts/start.js index eccb3c6df5..0f306c3ada 100644 --- a/packages/cli/scripts/start.js +++ b/packages/cli/scripts/start.js @@ -83,16 +83,6 @@ const clientState = { const MOCK_SLOW_ESBUILD_RETRANSPILE_IN_MS = 0; const IS_TEST = process.env.__TEST__ === "true"; -process.on("uncaughtException", (err, origin) => { - logger.error("Unhandled Exception at:", err, "origin:", origin); -}); -process.on("unhandledRejection", (reason, promise) => { - logger.error("Unhandled Rejection at:", promise, "reason:", reason); -}); -process.on("rejectionHandled", (promise) => { - logger.error("Rejection Handled at:", promise); -}); - module.exports = async function (argv, cliInfo) { const config = await applyConfig(argv); @@ -112,7 +102,7 @@ module.exports = async function (argv, cliInfo) { async function deployDebugStack(argv, cliInfo, config) { // Do not deploy if running test if (IS_TEST) { - return; + return "ws://test-endpoint"; } const stackName = `${config.stage}-debug-stack`; @@ -215,14 +205,22 @@ async function startBuilder(cdkInputFiles) { const hasError = results.some((result) => result.status === "rejected"); if (hasError) { - Object.keys(builderState.entryPointsData).forEach((key) => { - if (builderState.entryPointsData[key].esbuilder !== null) { - builderState.entryPointsData[key].esbuilder.rebuild.dispose(); - } - }); + stopBuilder(); throw new Error("Error transpiling"); } + // Running inside test => stop builder + if (IS_TEST) { + const testOutputPath = path.join( + paths.appPath, + paths.appBuildDir, + "test-output.json" + ); + fs.writeFileSync(testOutputPath, JSON.stringify(builderState)); + stopBuilder(); + return; + } + // Validate transpiled const srcPaths = getAllSrcPaths(); if (srcPaths.length === 0) { @@ -238,7 +236,6 @@ async function startBuilder(cdkInputFiles) { // Run watcher const allInputFiles = getAllWatchedFiles(); - watcher = chokidar .watch(allInputFiles, chokidarOptions) .on("all", onFileChange) @@ -246,12 +243,13 @@ async function startBuilder(cdkInputFiles) { .on("ready", () => { builderLogger.debug(`Watcher ready for ${allInputFiles.length} files...`); }); - - // Terminate if running inside test - if (IS_TEST) { - console.log("===== IS_TEST DONE"); - return; - } +} +function stopBuilder() { + Object.keys(builderState.entryPointsData).forEach((key) => { + if (builderState.entryPointsData[key].esbuilder !== null) { + builderState.entryPointsData[key].esbuilder.rebuild.dispose(); + } + }); } async function updateBuilder() { builderLogger.silly(serializeState()); diff --git a/packages/cli/test/jest/lib/dynamodb.js b/packages/cli/test/jest-ts/lib/mystack.js similarity index 80% rename from packages/cli/test/jest/lib/dynamodb.js rename to packages/cli/test/jest-ts/lib/mystack.js index ba34d282a4..f25bc99b79 100644 --- a/packages/cli/test/jest/lib/dynamodb.js +++ b/packages/cli/test/jest-ts/lib/mystack.js @@ -4,12 +4,13 @@ import * as sst from "@serverless-stack/resources"; const service = "cdknotes"; -export default class DynamoDBStack extends sst.Stack { +export default class MyStack extends sst.Stack { constructor(scope, id, props) { super(scope, id, props); const stage = this.node.root.stage; + // Create a DynamoDb table const stageTableName = this.node.root.logicalPrefixedName("notes"); const table = new dynamodb.Table(this, stageTableName, { partitionKey: { name: "userId", type: dynamodb.AttributeType.STRING }, @@ -17,6 +18,13 @@ export default class DynamoDBStack extends sst.Stack { billingMode: dynamodb.BillingMode.PAY_PER_REQUEST, }); + // Create a Lambda function + new sst.Function(this, "MyLambda", { + bundle: true, + srcPath: "src", + entry: "lambda.js", + }); + // Export values new CfnOutput(this, "notesTableName", { exportName: `${stage}-${service}-ExtNotesTableName`, diff --git a/packages/cli/test/start/sst.json b/packages/cli/test/jest-ts/sst.json similarity index 100% rename from packages/cli/test/start/sst.json rename to packages/cli/test/jest-ts/sst.json diff --git a/packages/cli/test/jest/lib/index.js b/packages/cli/test/jest/lib/index.js new file mode 100644 index 0000000000..a350c710e1 --- /dev/null +++ b/packages/cli/test/jest/lib/index.js @@ -0,0 +1,6 @@ +import MyStack from "./mystack"; + +// Add stacks +export default function main(app) { + new MyStack(app, "mystack"); +} diff --git a/packages/cli/test/jest/lib/mystack.js b/packages/cli/test/jest/lib/mystack.js new file mode 100644 index 0000000000..f25bc99b79 --- /dev/null +++ b/packages/cli/test/jest/lib/mystack.js @@ -0,0 +1,38 @@ +import { CfnOutput } from "@aws-cdk/core"; +import * as dynamodb from "@aws-cdk/aws-dynamodb"; +import * as sst from "@serverless-stack/resources"; + +const service = "cdknotes"; + +export default class MyStack extends sst.Stack { + constructor(scope, id, props) { + super(scope, id, props); + + const stage = this.node.root.stage; + + // Create a DynamoDb table + const stageTableName = this.node.root.logicalPrefixedName("notes"); + const table = new dynamodb.Table(this, stageTableName, { + partitionKey: { name: "userId", type: dynamodb.AttributeType.STRING }, + sortKey: { name: "noteId", type: dynamodb.AttributeType.STRING }, + billingMode: dynamodb.BillingMode.PAY_PER_REQUEST, + }); + + // Create a Lambda function + new sst.Function(this, "MyLambda", { + bundle: true, + srcPath: "src", + entry: "lambda.js", + }); + + // Export values + new CfnOutput(this, "notesTableName", { + exportName: `${stage}-${service}-ExtNotesTableName`, + value: table.tableName, + }); + new CfnOutput(this, "notesTableArn", { + exportName: `${stage}-${service}-ExtNotesTableArn`, + value: table.tableArn, + }); + } +} diff --git a/packages/cli/test/jest/src/lambda.js b/packages/cli/test/jest/src/lambda.js new file mode 100644 index 0000000000..d002cd6aae --- /dev/null +++ b/packages/cli/test/jest/src/lambda.js @@ -0,0 +1,3 @@ +export function handler() { + return "Hello World!"; +} diff --git a/packages/cli/test/jest/sst.json b/packages/cli/test/jest/sst.json new file mode 100644 index 0000000000..550b59d5db --- /dev/null +++ b/packages/cli/test/jest/sst.json @@ -0,0 +1,6 @@ +{ + "type": "@serverless-stack/resources", + "name": "cdknotes", + "stage": "prod", + "region": "us-east-1" +} diff --git a/packages/cli/test/jest/test/dynamodb.test.js b/packages/cli/test/jest/test/mystack.test.js similarity index 78% rename from packages/cli/test/jest/test/dynamodb.test.js rename to packages/cli/test/jest/test/mystack.test.js index 6a343b444f..d9a4962cf4 100644 --- a/packages/cli/test/jest/test/dynamodb.test.js +++ b/packages/cli/test/jest/test/mystack.test.js @@ -1,11 +1,11 @@ import { expect, haveResource } from "@aws-cdk/assert"; import * as sst from "@serverless-stack/resources"; -import DynamoDBStack from "../lib/dynamodb"; +import MyStack from "../lib/mystack"; -test("DynamoDB Stack", () => { +test("My Stack", () => { const app = new sst.App({ stage: "dev", region: "us-east-1" }); // WHEN - const stack = new DynamoDBStack(app, "MyTestStack"); + const stack = new MyStack(app, "MyTestStack"); // THEN try { expect(stack).to( diff --git a/packages/cli/test/start/lib/index.js b/packages/cli/test/start-base/lib/index.js similarity index 88% rename from packages/cli/test/start/lib/index.js rename to packages/cli/test/start-base/lib/index.js index cf58ca882a..7088a3b9bf 100644 --- a/packages/cli/test/start/lib/index.js +++ b/packages/cli/test/start-base/lib/index.js @@ -1,6 +1,5 @@ import * as cdk from "@aws-cdk/core"; import * as sns from "@aws-cdk/aws-sns"; -import * as lambda from "@aws-cdk/aws-lambda"; import * as apig from "@aws-cdk/aws-apigatewayv2"; import * as subscriptions from "@aws-cdk/aws-sns-subscriptions"; import * as apigIntegrations from "@aws-cdk/aws-apigatewayv2-integrations"; @@ -18,10 +17,8 @@ class MySampleStack extends sst.Stack { // Create a Lambda function subscribed to the topic const snsFunc = new sst.Function(this, "MySnsLambda", { - entry: "sns.js", + entry: "sub-folder/sns.js", srcPath: "src/sns", - handler: "handler", - runtime: lambda.Runtime.NODEJS_12_X, }); topic.addSubscription(new subscriptions.LambdaSubscription(snsFunc)); @@ -30,8 +27,7 @@ class MySampleStack extends sst.Stack { bundle: true, entry: "api.ts", srcPath: "src/api", - handler: "handler", - runtime: lambda.Runtime.NODEJS_12_X, + handler: "main", timeout: cdk.Duration.seconds(10), environment: { TOPIC_ARN: topic.topicArn, diff --git a/packages/cli/test/start/package.json b/packages/cli/test/start-base/package.json similarity index 73% rename from packages/cli/test/start/package.json rename to packages/cli/test/start-base/package.json index 33a1a4ee68..625f387e0c 100644 --- a/packages/cli/test/start/package.json +++ b/packages/cli/test/start-base/package.json @@ -1,8 +1,8 @@ { - "name": "start", + "name": "start-base", "private": true, "description": "tests", - "version": "1.0.0-alpha.6", + "version": "0.0.1", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "start": "sst start", @@ -14,12 +14,11 @@ "dependencies": { "@aws-cdk/aws-apigatewayv2": "1.79.0", "@aws-cdk/aws-apigatewayv2-integrations": "1.79.0", - "@aws-cdk/aws-lambda": "1.79.0", "@aws-cdk/aws-sns": "1.79.0", "@aws-cdk/aws-sns-subscriptions": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.6", - "@serverless-stack/resources": "^1.0.0-alpha.6" + "@serverless-stack/cli": "^1.0.0-alpha.5", + "@serverless-stack/resources": "^1.0.0-alpha.5" }, "license": "ISC" } diff --git a/packages/cli/test/start/src/api/api.ts b/packages/cli/test/start-base/src/api/api.ts similarity index 77% rename from packages/cli/test/start/src/api/api.ts rename to packages/cli/test/start-base/src/api/api.ts index 9fe9342dac..8ff1b568e5 100644 --- a/packages/cli/test/start/src/api/api.ts +++ b/packages/cli/test/start-base/src/api/api.ts @@ -3,12 +3,16 @@ import mirrarray from "mirrarray"; import { APIGatewayEvent } from "aws-lambda"; import str from "./lib"; -//import dummy from "./import"; const sns = new AWS.SNS(); -export async function handler(event: APIGatewayEvent) { - //dummy(); +interface APIResponse { + statusCode: number; + body: string; + headers: { [key: string]: string }; +} + +export async function main(event: APIGatewayEvent): Promise { console.log( `Logging from inside the API Lambda for route: ${event.routeKey}` ); diff --git a/packages/cli/test/start-base/src/api/lib.ts b/packages/cli/test/start-base/src/api/lib.ts new file mode 100644 index 0000000000..c304f24cd1 --- /dev/null +++ b/packages/cli/test/start-base/src/api/lib.ts @@ -0,0 +1,3 @@ +export default function (name: string): string { + return name; +} diff --git a/packages/cli/test/start/src/api/package.json b/packages/cli/test/start-base/src/api/package.json similarity index 100% rename from packages/cli/test/start/src/api/package.json rename to packages/cli/test/start-base/src/api/package.json diff --git a/packages/cli/test/start/src/api/tsconfig.json b/packages/cli/test/start-base/src/api/tsconfig.json similarity index 100% rename from packages/cli/test/start/src/api/tsconfig.json rename to packages/cli/test/start-base/src/api/tsconfig.json diff --git a/packages/cli/test/start/src/api/yarn.lock b/packages/cli/test/start-base/src/api/yarn.lock similarity index 100% rename from packages/cli/test/start/src/api/yarn.lock rename to packages/cli/test/start-base/src/api/yarn.lock diff --git a/packages/cli/test/start/src/sns/sns.js b/packages/cli/test/start-base/src/sns/sub-folder/sns.js similarity index 100% rename from packages/cli/test/start/src/sns/sns.js rename to packages/cli/test/start-base/src/sns/sub-folder/sns.js diff --git a/packages/cli/test/start-base/sst.json b/packages/cli/test/start-base/sst.json new file mode 100644 index 0000000000..550b59d5db --- /dev/null +++ b/packages/cli/test/start-base/sst.json @@ -0,0 +1,6 @@ +{ + "type": "@serverless-stack/resources", + "name": "cdknotes", + "stage": "prod", + "region": "us-east-1" +} diff --git a/packages/cli/test/start-base/start-base.test.js b/packages/cli/test/start-base/start-base.test.js new file mode 100644 index 0000000000..edf4452180 --- /dev/null +++ b/packages/cli/test/start-base/start-base.test.js @@ -0,0 +1,45 @@ +const fs = require("fs"); +const path = require("path"); +const { runStartCommand, clearBuildOutput } = require("../helpers"); +const paths = require("../../scripts/util/paths"); + +beforeEach(async () => { + await clearBuildOutput(__dirname); +}); + +afterAll(async () => { + await clearBuildOutput(__dirname); +}); + +/** + * Test that the synth command ran successfully + */ +test("start-base", async () => { + await runStartCommand(__dirname); + + const testOutputPath = path.join( + __dirname, + paths.appBuildDir, + "test-output.json" + ); + const testOutput = JSON.parse(fs.readFileSync(testOutputPath, "utf8")); + + expect(testOutput).toMatchObject({ + entryPointsData: { + "src/sns/sub-folder/sns.js/handler": { + outHandler: { + entry: "sub-folder/sns.js", + handler: "handler", + srcPath: "src/sns/.build", + }, + }, + "src/api/api.ts/main": { + outHandler: { + entry: "api.js", + handler: "main", + srcPath: "src/api/.build", + }, + }, + }, + }); +}); diff --git a/packages/cli/test/start/src/api/import.js b/packages/cli/test/start/src/api/import.js deleted file mode 100644 index ea9b101e1c..0000000000 --- a/packages/cli/test/start/src/api/import.js +++ /dev/null @@ -1 +0,0 @@ -export default function () {} diff --git a/packages/cli/test/start/src/api/lib.ts b/packages/cli/test/start/src/api/lib.ts deleted file mode 100644 index f3fb0892c5..0000000000 --- a/packages/cli/test/start/src/api/lib.ts +++ /dev/null @@ -1,3 +0,0 @@ -export default function (name: number): string { - return name; -} From 51df6e3b6c6741ce77c58583e4f59aed66d06d49 Mon Sep 17 00:00:00 2001 From: Frank Date: Thu, 7 Jan 2021 01:47:04 -0500 Subject: [PATCH 077/123] Fixing sst start did not handle entry with path --- packages/cli/scripts/start.js | 7 ++++++- packages/cli/test/start-base/start-base.test.js | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/cli/scripts/start.js b/packages/cli/scripts/start.js index 0f306c3ada..e6930c6558 100644 --- a/packages/cli/scripts/start.js +++ b/packages/cli/scripts/start.js @@ -546,7 +546,12 @@ async function transpile(srcPath, entry, handler) { tsconfig, esbuilder, outHandler: { - entry: entry.split(".").slice(0, -1).concat(["js"]).join("."), + entry: path + .basename(entry) + .split(".") + .slice(0, -1) + .concat(["js"]) + .join("."), handler, srcPath: outSrcPath, }, diff --git a/packages/cli/test/start-base/start-base.test.js b/packages/cli/test/start-base/start-base.test.js index edf4452180..4e692e52a1 100644 --- a/packages/cli/test/start-base/start-base.test.js +++ b/packages/cli/test/start-base/start-base.test.js @@ -28,7 +28,7 @@ test("start-base", async () => { entryPointsData: { "src/sns/sub-folder/sns.js/handler": { outHandler: { - entry: "sub-folder/sns.js", + entry: "sns.js", handler: "handler", srcPath: "src/sns/.build", }, From b5d8bae39ba9dc3d1a7843dea19791467ab5f943 Mon Sep 17 00:00:00 2001 From: Frank Date: Thu, 7 Jan 2021 02:31:02 -0500 Subject: [PATCH 078/123] Updating create-serverless-stack script --- .../lib/%stack-name.PascalCased%.template.js | 24 ++++++++++++++++++- .../javascript/package.template.json | 3 +++ .../resources/javascript/src/lambda.js | 7 ++++++ .../lib/%stack-name.PascalCased%.template.ts | 24 ++++++++++++++++++- .../typescript/package.template.json | 3 +++ .../resources/typescript/src/lambda.ts | 7 ++++++ 6 files changed, 66 insertions(+), 2 deletions(-) create mode 100644 packages/create-serverless-stack/templates/resources/javascript/src/lambda.js create mode 100644 packages/create-serverless-stack/templates/resources/typescript/src/lambda.ts diff --git a/packages/create-serverless-stack/templates/resources/javascript/lib/%stack-name.PascalCased%.template.js b/packages/create-serverless-stack/templates/resources/javascript/lib/%stack-name.PascalCased%.template.js index f755e45d98..b3a684289b 100644 --- a/packages/create-serverless-stack/templates/resources/javascript/lib/%stack-name.PascalCased%.template.js +++ b/packages/create-serverless-stack/templates/resources/javascript/lib/%stack-name.PascalCased%.template.js @@ -1,9 +1,31 @@ +import * as cdk from "@aws-cdk/core"; +import * as apig from "@aws-cdk/aws-apigatewayv2"; +import * as apigIntegrations from "@aws-cdk/aws-apigatewayv2-integrations"; + import * as sst from "@serverless-stack/resources"; export default class %stack-name.PascalCased% extends sst.Stack { constructor(scope, id, props) { super(scope, id, props); - // Define your stack + // Create a Lambda function triggered by an HTTP API + const lambda = new sst.Function(this, "Lambda", { + entry: "lambda.js", + srcPath: "src", + }); + + // Create the HTTP API + const api = new apig.HttpApi(this, "Api"); + api.addRoutes({ + path: "/", + integration: new apigIntegrations.LambdaProxyIntegration({ + handler: lambda, + }), + }); + + // Show API endpoint in output + new cdk.CfnOutput(this, "ApiEndpoint", { + value: api.apiEndpoint, + }); } } diff --git a/packages/create-serverless-stack/templates/resources/javascript/package.template.json b/packages/create-serverless-stack/templates/resources/javascript/package.template.json index 275463fe9e..074e87030c 100644 --- a/packages/create-serverless-stack/templates/resources/javascript/package.template.json +++ b/packages/create-serverless-stack/templates/resources/javascript/package.template.json @@ -4,6 +4,7 @@ "private": true, "scripts": { "test": "sst test", + "start": "sst start", "build": "sst build", "deploy": "sst deploy", "remove": "sst remove" @@ -14,6 +15,8 @@ "dependencies": { "@serverless-stack/cli": "%sst-version%", "@serverless-stack/resources": "%sst-version%", + "@aws-cdk/aws-apigatewayv2": "%cdk-version%", + "@aws-cdk/aws-apigatewayv2-integrations": "%cdk-version%", "@aws-cdk/core": "%cdk-version%" } } diff --git a/packages/create-serverless-stack/templates/resources/javascript/src/lambda.js b/packages/create-serverless-stack/templates/resources/javascript/src/lambda.js new file mode 100644 index 0000000000..3b26bcf3ee --- /dev/null +++ b/packages/create-serverless-stack/templates/resources/javascript/src/lambda.js @@ -0,0 +1,7 @@ +export async function handler() { + return { + statusCode: 200, + body: "Hello World!", + headers: { "Content-Type": "text/plain" }, + }; +} diff --git a/packages/create-serverless-stack/templates/resources/typescript/lib/%stack-name.PascalCased%.template.ts b/packages/create-serverless-stack/templates/resources/typescript/lib/%stack-name.PascalCased%.template.ts index 405e42a6e8..da1cd40654 100644 --- a/packages/create-serverless-stack/templates/resources/typescript/lib/%stack-name.PascalCased%.template.ts +++ b/packages/create-serverless-stack/templates/resources/typescript/lib/%stack-name.PascalCased%.template.ts @@ -1,9 +1,31 @@ +import * as cdk from "@aws-cdk/core"; +import * as apig from "@aws-cdk/aws-apigatewayv2"; +import * as apigIntegrations from "@aws-cdk/aws-apigatewayv2-integrations"; + import * as sst from "@serverless-stack/resources"; export default class %stack-name.PascalCased% extends sst.Stack { constructor(scope: sst.App, id: string, props?: sst.StackProps) { super(scope, id, props); - // The code that defines your stack goes here + // Create a Lambda function triggered by an HTTP API + const lambda = new sst.Function(this, "Lambda", { + entry: "lambda.js", + srcPath: "src", + }); + + // Create the HTTP API + const api = new apig.HttpApi(this, "Api"); + api.addRoutes({ + path: "/", + integration: new apigIntegrations.LambdaProxyIntegration({ + handler: lambda, + }), + }); + + // Show API endpoint in output + new cdk.CfnOutput(this, "ApiEndpoint", { + value: api.apiEndpoint, + }); } } diff --git a/packages/create-serverless-stack/templates/resources/typescript/package.template.json b/packages/create-serverless-stack/templates/resources/typescript/package.template.json index 275463fe9e..074e87030c 100644 --- a/packages/create-serverless-stack/templates/resources/typescript/package.template.json +++ b/packages/create-serverless-stack/templates/resources/typescript/package.template.json @@ -4,6 +4,7 @@ "private": true, "scripts": { "test": "sst test", + "start": "sst start", "build": "sst build", "deploy": "sst deploy", "remove": "sst remove" @@ -14,6 +15,8 @@ "dependencies": { "@serverless-stack/cli": "%sst-version%", "@serverless-stack/resources": "%sst-version%", + "@aws-cdk/aws-apigatewayv2": "%cdk-version%", + "@aws-cdk/aws-apigatewayv2-integrations": "%cdk-version%", "@aws-cdk/core": "%cdk-version%" } } diff --git a/packages/create-serverless-stack/templates/resources/typescript/src/lambda.ts b/packages/create-serverless-stack/templates/resources/typescript/src/lambda.ts new file mode 100644 index 0000000000..3b26bcf3ee --- /dev/null +++ b/packages/create-serverless-stack/templates/resources/typescript/src/lambda.ts @@ -0,0 +1,7 @@ +export async function handler() { + return { + statusCode: 200, + body: "Hello World!", + headers: { "Content-Type": "text/plain" }, + }; +} From 8b2ba0e7564188d69b49cb2ed9d1c2e05553e7b3 Mon Sep 17 00:00:00 2001 From: Frank Date: Thu, 7 Jan 2021 03:04:05 -0500 Subject: [PATCH 079/123] Updating build to .build in sst build copy --- packages/cli/scripts/build.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/cli/scripts/build.js b/packages/cli/scripts/build.js index 05854dc832..cfe5bddde3 100644 --- a/packages/cli/scripts/build.js +++ b/packages/cli/scripts/build.js @@ -13,7 +13,7 @@ function printResults(results, usingYarn) { logger.info( `\nSuccessfully compiled ${l} ${stacksCopy} to ${chalk.cyan( - "build/cdk.out" + ".build/cdk.out" )}:\n` ); From c36acb75c8ce8097559e65d8da11419f3b466c42 Mon Sep 17 00:00:00 2001 From: Frank Date: Thu, 7 Jan 2021 17:20:23 -0500 Subject: [PATCH 080/123] Fixing cdk code built twice when running deploy --- packages/cli/scripts/deploy.js | 47 ++++++++++++++++++++++------------ 1 file changed, 30 insertions(+), 17 deletions(-) diff --git a/packages/cli/scripts/deploy.js b/packages/cli/scripts/deploy.js index c59d292652..8ebf6c70ab 100644 --- a/packages/cli/scripts/deploy.js +++ b/packages/cli/scripts/deploy.js @@ -1,14 +1,21 @@ "use strict"; +const path = require("path"); const chalk = require("chalk"); -const { parallelDeploy } = require("./util/cdkHelpers"); +const paths = require("./util/paths"); +const { synth, parallelDeploy } = require("./util/cdkHelpers"); const { logger } = require("../lib/logger"); module.exports = async function (argv, config, cliInfo) { logger.info(chalk.grey("Deploying " + (argv.stack ? argv.stack : "stacks"))); - // Wait for deploy to complete + const cdkOutputPath = path.join(paths.appPath, paths.appBuildDir, "cdk.out"); + + // Build + await synth(cliInfo.cdkOptions); + + // Loop until deployment is complete let stackStates; let isCompleted; do { @@ -16,8 +23,10 @@ module.exports = async function (argv, config, cliInfo) { const prevEventCount = stackStates ? getEventCount(stackStates) : 0; // Update deploy status - const cdkOptions = { ...cliInfo.cdkOptions, stackName: argv.stack }; - const response = await parallelDeploy(cdkOptions, stackStates); + const response = await parallelDeploy( + { ...cliInfo.cdkOptions, stackName: argv.stack, cdkOutputPath }, + stackStates + ); stackStates = response.stackStates; isCompleted = response.isCompleted; @@ -35,6 +44,23 @@ module.exports = async function (argv, config, cliInfo) { } while (!isCompleted); // Print deploy result + printResults(stackStates); + + return stackStates.map((stackState) => ({ + name: stackState.name, + status: stackState.status, + outputs: stackState.outputs, + })); +}; + +function getEventCount(stackStates) { + return stackStates.reduce( + (acc, stackState) => acc + (stackState.events || []).length, + 0 + ); +} + +function printResults(stackStates) { stackStates.forEach(({ name, status, errorMessage, outputs, exports }) => { logger.info(`\nStack ${name}`); logger.info(` Status: ${formatStackStatus(status)}`); @@ -57,19 +83,6 @@ module.exports = async function (argv, config, cliInfo) { } }); logger.info(""); - - return stackStates.map((stackState) => ({ - name: stackState.name, - status: stackState.status, - outputs: stackState.outputs, - })); -}; - -function getEventCount(stackStates) { - return stackStates.reduce( - (acc, stackState) => acc + (stackState.events || []).length, - 0 - ); } function formatStackStatus(status) { From 54fbc7e386da37b45af1f6b1969374fe326ebf86 Mon Sep 17 00:00:00 2001 From: Frank Date: Thu, 7 Jan 2021 20:52:46 -0500 Subject: [PATCH 081/123] Updating logger to respect --verbose flag --- packages/cli/bin/scripts.js | 9 ++- packages/cli/lib/logger.js | 96 +++++++++++-------------- packages/cli/scripts/start.js | 3 +- packages/cli/scripts/util/cdkHelpers.js | 6 -- 4 files changed, 52 insertions(+), 62 deletions(-) diff --git a/packages/cli/bin/scripts.js b/packages/cli/bin/scripts.js index 58e4830103..f2d360c7c2 100755 --- a/packages/cli/bin/scripts.js +++ b/packages/cli/bin/scripts.js @@ -13,13 +13,14 @@ process.on("unhandledRejection", (err) => { require("source-map-support").install(); -const fs = require("fs"); const path = require("path"); +const fs = require("fs-extra"); const yargs = require("yargs"); const chalk = require("chalk"); const spawn = require("cross-spawn"); const packageJson = require("../package.json"); +const { initializeLogger } = require("../lib/logger"); const paths = require("../scripts/util/paths"); const cdkOptions = require("../scripts/util/cdkOptions"); const { getCdkVersion } = require("@serverless-stack/core"); @@ -180,6 +181,12 @@ if (argv.verbose) { process.env.DEBUG = true; } +// Empty and recreate the .build directory +fs.emptyDirSync(paths.appBuildPath); + +// Initialize logger after .build diretory is created, in which the debug log will be written +initializeLogger(); + switch (script) { case cmd.build: case cmd.deploy: diff --git a/packages/cli/lib/logger.js b/packages/cli/lib/logger.js index 3c07481068..efe80e34ae 100644 --- a/packages/cli/lib/logger.js +++ b/packages/cli/lib/logger.js @@ -1,73 +1,63 @@ const { createLogger, format, transports } = require("winston"); -const jsonStringify = require('fast-safe-stringify'); -const LEVEL = Symbol.for("level"); +const jsonStringify = require("fast-safe-stringify"); const SPLAT = Symbol.for("splat"); const paths = require("../scripts/util/paths"); -const consoleLogFormat = format.printf( - ({ level, message, label, timestamp, [SPLAT]: splat, [LEVEL]: rawLevel }) => { +const consoleLogFormat = format.printf(({ message, label, [SPLAT]: splat }) => { + message = joinMessageAndSplat(message, splat); + + // handle label + // childLogger.info('hi') => [child] hi + message = label ? `[${label}] ${message}` : message; + + return message; +}); + +const fileLogFormat = format.printf( + ({ level, message, [SPLAT]: splat, label, timestamp }) => { message = joinMessageAndSplat(message, splat); - if (process.env.DEBUG) { - return label - ? `${timestamp} [${label}] ${level}: ${message}` - : `${timestamp} ${level}: ${message}`; - } else { - // logger.info('hi') => hi - // logger.warn('hi') => warn hi - // childLogger.warn('hi') => [child] warn hi - if (rawLevel === "info") { - return message; - } else { - return label - ? `[${label}] ${level} ${message}` - : `${level} ${message}`; - } - } + return label + ? `${timestamp} [${label}] ${level}: ${message}` + : `${timestamp} ${level}: ${message}`; } ); -const fileLogFormat = format.printf(({ level, message, [SPLAT]: splat, label, timestamp }) => { - message = joinMessageAndSplat(message, splat); - return label - ? `${timestamp} [${label}] ${level}: ${message}` - : `${timestamp} ${level}: ${message}`; +const consoleTransport = new transports.Console({ + level: "info", + format: format.combine(format.colorize(), consoleLogFormat), +}); + +const fileTransport = new transports.File({ + filename: `${paths.appBuildPath}/sst-debug.log`, + maxsize: 1024 * 1024 * 10, + maxFiles: 5, + tailable: true, + level: "silly", + format: format.combine(format.timestamp(), fileLogFormat), + handleExceptions: true, + handleRejections: true, }); const logger = createLogger({ - transports: [ - new transports.Console({ - level: process.env.DEBUG ? "debug" : "info", - format: format.combine( - format.colorize(), - format.timestamp(), - consoleLogFormat - ), - }), - ], + transports: [consoleTransport], }); -function addFileTransport() { - logger.add( - new transports.File({ - filename: `${paths.appBuildPath}/sst-debug.log`, - maxsize: 1024 * 1024 * 10, - maxFiles: 5, - tailable: true, - level: "silly", - format: format.combine(format.timestamp(), fileLogFormat), - handleExceptions: true, - handleRejections: true, - }) - ); -} +const initializeLogger = function () { + // Update level for console transport + consoleTransport.level = process.env.DEBUG ? "debug" : "info"; + + // Add file transport + logger.add(fileTransport); +}; function joinMessageAndSplat(message, splat) { - return [ message ].concat(splat || []) - .map(arg => typeof arg === 'string' ? arg : jsonStringify(arg)) - .join(' '); + return [message] + .concat(splat || []) + .map((arg) => (typeof arg === "string" ? arg : jsonStringify(arg))) + .join(" "); } module.exports = { - addFileTransport, logger, + initializeLogger, }; diff --git a/packages/cli/scripts/start.js b/packages/cli/scripts/start.js index e6930c6558..37a37d6c4f 100644 --- a/packages/cli/scripts/start.js +++ b/packages/cli/scripts/start.js @@ -19,10 +19,9 @@ const { bootstrap: cdkBootstrap, } = require("./util/cdkHelpers"); const array = require("../lib/array"); -const { logger, addFileTransport } = require("../lib/logger"); +const { logger } = require("../lib/logger"); // Setup logger -addFileTransport(); const clientLogger = logger.child({ label: "client" }); const builderLogger = logger.child({ label: "builder" }); diff --git a/packages/cli/scripts/util/cdkHelpers.js b/packages/cli/scripts/util/cdkHelpers.js index ae9623685a..44e0b93f6f 100644 --- a/packages/cli/scripts/util/cdkHelpers.js +++ b/packages/cli/scripts/util/cdkHelpers.js @@ -40,10 +40,6 @@ function exitWithMessage(message, shortMessage) { process.exit(1); } -async function createBuildPath() { - await fs.emptyDir(paths.appBuildPath); -} - async function getAppPackageJson() { const srcPath = paths.appPackageJson; @@ -338,8 +334,6 @@ async function writeConfig(config) { async function prepareCdk(argv, cliInfo, config) { let appliedConfig = config; - await createBuildPath(); - if (!config) { appliedConfig = await applyConfig(argv); } From bce25e64a76b11c03862f20496429254f26ba3c2 Mon Sep 17 00:00:00 2001 From: Jay Date: Thu, 7 Jan 2021 20:56:56 -0500 Subject: [PATCH 082/123] Removing type from sst config --- packages/cli/scripts/util/cdkHelpers.js | 15 +-------------- packages/cli/test/base/sst.json | 1 - .../test/config-no-type/config-no-type.test.js | 18 ------------------ packages/cli/test/config-no-type/lib/index.js | 1 - packages/cli/test/config-no-type/package.json | 15 --------------- packages/cli/test/config-no-type/sst.json | 5 ----- .../cli/test/helpers/clear-build-output.js | 2 +- packages/create-serverless-stack/bin/index.js | 8 ++------ 8 files changed, 4 insertions(+), 61 deletions(-) delete mode 100644 packages/cli/test/config-no-type/config-no-type.test.js delete mode 100644 packages/cli/test/config-no-type/lib/index.js delete mode 100644 packages/cli/test/config-no-type/package.json delete mode 100644 packages/cli/test/config-no-type/sst.json diff --git a/packages/cli/scripts/util/cdkHelpers.js b/packages/cli/scripts/util/cdkHelpers.js index ae9623685a..e950c29afa 100644 --- a/packages/cli/scripts/util/cdkHelpers.js +++ b/packages/cli/scripts/util/cdkHelpers.js @@ -300,17 +300,6 @@ async function applyConfig(argv) { ); } - if (!config.type || config.type.trim() !== "@serverless-stack/resources") { - exitWithMessage( - `\nCannot detect the ${chalk.bold( - "type" - )} of Serverless Stack app. Make sure to set the following in your ${chalk.bold( - "sst.json" - )}.\n\n "type": "@serverless-stack/resources"\n`, - "Cannot detect the type of Serverless Stack app." - ); - } - if (!config.name || config.name.trim() === "") { exitWithMessage( `\nGive your Serverless Stack app a ${chalk.bold( @@ -328,9 +317,7 @@ async function applyConfig(argv) { } async function writeConfig(config) { - const type = config.type.trim(); - - logger.info(chalk.grey(`Preparing ${type}`)); + logger.info(chalk.grey("Preparing your SST app")); await fs.writeJson(path.join(paths.appBuildPath, "sst-merged.json"), config); } diff --git a/packages/cli/test/base/sst.json b/packages/cli/test/base/sst.json index 550b59d5db..9c8f7ed0ba 100644 --- a/packages/cli/test/base/sst.json +++ b/packages/cli/test/base/sst.json @@ -1,5 +1,4 @@ { - "type": "@serverless-stack/resources", "name": "cdknotes", "stage": "prod", "region": "us-east-1" diff --git a/packages/cli/test/config-no-type/config-no-type.test.js b/packages/cli/test/config-no-type/config-no-type.test.js deleted file mode 100644 index 80e9d31bdb..0000000000 --- a/packages/cli/test/config-no-type/config-no-type.test.js +++ /dev/null @@ -1,18 +0,0 @@ -const { runBuildCommand, clearBuildOutput } = require("../helpers"); - -beforeEach(async () => { - await clearBuildOutput(__dirname); -}); - -afterAll(async () => { - await clearBuildOutput(__dirname); -}); - -/** - * Test that the synth command ran successfully - */ -test("config-no-type", async () => { - const result = await runBuildCommand(__dirname); - - expect(result).toMatch(/Cannot detect the type of Serverless Stack app/); -}); diff --git a/packages/cli/test/config-no-type/lib/index.js b/packages/cli/test/config-no-type/lib/index.js deleted file mode 100644 index c857a02040..0000000000 --- a/packages/cli/test/config-no-type/lib/index.js +++ /dev/null @@ -1 +0,0 @@ -export default function main() {} diff --git a/packages/cli/test/config-no-type/package.json b/packages/cli/test/config-no-type/package.json deleted file mode 100644 index 256d634d65..0000000000 --- a/packages/cli/test/config-no-type/package.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "name": "config-no-type", - "private": true, - "description": "tests", - "version": "1.0.0-alpha.6", - "scripts": { - "postinstall": "node ../helpers/copy-symlinks.js", - "build": "sst build" - }, - "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.6", - "@serverless-stack/resources": "^1.0.0-alpha.6" - }, - "license": "ISC" -} diff --git a/packages/cli/test/config-no-type/sst.json b/packages/cli/test/config-no-type/sst.json deleted file mode 100644 index dc2fd52942..0000000000 --- a/packages/cli/test/config-no-type/sst.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "notes", - "stage": "prod", - "region": "us-west-1" -} diff --git a/packages/cli/test/helpers/clear-build-output.js b/packages/cli/test/helpers/clear-build-output.js index 94ba05e101..cb1d99afb7 100644 --- a/packages/cli/test/helpers/clear-build-output.js +++ b/packages/cli/test/helpers/clear-build-output.js @@ -5,7 +5,7 @@ const execPromise = promisify(exec); const TIMEOUT = 30000; async function clearBuildOutput(cwd) { - await execPromise("rm -rf build/", { + await execPromise("rm -rf .build/", { cwd, TIMEOUT, }); diff --git a/packages/create-serverless-stack/bin/index.js b/packages/create-serverless-stack/bin/index.js index 1966de9808..099beb3ad5 100755 --- a/packages/create-serverless-stack/bin/index.js +++ b/packages/create-serverless-stack/bin/index.js @@ -25,9 +25,6 @@ const cmd = { r: "resources", }; -const templateTypeCopy = { - resources: "Resources", -}; const languageTypeCopy = { javascript: "JavaScript", typescript: "TypeScript", @@ -97,11 +94,10 @@ const templatePath = path.join( ); (async function () { - const templateCopy = templateTypeCopy[templateType]; const languageCopy = languageTypeCopy[templateLanguage]; info( - `\nInitializing a new Serverless Stack ${templateCopy} ${languageCopy} project` + `\nInitializing a new Serverless Stack ${languageCopy} project` ); info(`Creating ${appName}/ directory`); @@ -237,7 +233,7 @@ function printSuccess() { console.log(" Deploy all your stacks and create your AWS resources"); console.log(""); console.log(" " + chalk.cyan(getUserCmd("remove"))); - console.log(" Remove all your stacks and all of their resources from AWS"); + console.log(" Remove all your stacks and all their resources from AWS"); console.log(""); console.log("Have fun!"); } From 357b03e359162794bba02617aa1527627d5046f9 Mon Sep 17 00:00:00 2001 From: Jay Date: Thu, 7 Jan 2021 21:04:50 -0500 Subject: [PATCH 083/123] Scaffold new logger package --- packages/cli/package.json | 1 + packages/logger/index.js | 6 ++++++ packages/logger/package.json | 18 ++++++++++++++++++ 3 files changed, 25 insertions(+) create mode 100644 packages/logger/index.js create mode 100644 packages/logger/package.json diff --git a/packages/cli/package.json b/packages/cli/package.json index 169badb752..0f0e5991f6 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -61,6 +61,7 @@ "fast-safe-stringify": "^2.0.6", "fs-extra": "^9.0.1", "jest": "^26.1.0", + "logger": "^1.0.0-alpha.6", "promise.allsettled": "^1.0.2", "source-map-support": "^0.5.19", "ts-jest": "^26.1.4", diff --git a/packages/logger/index.js b/packages/logger/index.js new file mode 100644 index 0000000000..5038104825 --- /dev/null +++ b/packages/logger/index.js @@ -0,0 +1,6 @@ +"use strict"; + +module.exports = function(str) { + console.log(str); +}; + diff --git a/packages/logger/package.json b/packages/logger/package.json new file mode 100644 index 0000000000..b271d2121e --- /dev/null +++ b/packages/logger/package.json @@ -0,0 +1,18 @@ +{ + "name": "logger", + "private": true, + "version": "1.0.0-alpha.6", + "homepage": "https://serverless-stack.com", + "description": "A logger package for Serverless Stack Toolkit.", + "main": "index.js", + "author": { + "name": "Anomaly Innovations", + "url": "https://anoma.ly" + }, + "repository": { + "type": "git", + "url": "https://github.com/serverless-stack/serverless-stack.git", + "directory": "packages/logger" + }, + "license": "MIT" +} From 52bdb4dbf410b2dba5fc061ead029207c0f6c838 Mon Sep 17 00:00:00 2001 From: Frank Date: Thu, 7 Jan 2021 22:06:59 -0500 Subject: [PATCH 084/123] Adding logger for core --- packages/cli/bin/scripts.js | 4 +- packages/cli/lib/logger.js | 63 ------------------------- packages/cli/package.json | 1 - packages/cli/scripts/add-cdk.js | 3 +- packages/cli/scripts/build.js | 2 +- packages/cli/scripts/deploy.js | 3 +- packages/cli/scripts/remove.js | 2 +- packages/cli/scripts/start.js | 2 +- packages/cli/scripts/util/cdkHelpers.js | 2 +- packages/core/index.js | 46 +++++++++--------- packages/core/util/logger.js | 24 ---------- packages/logger/index.js | 58 ++++++++++++++++++++++- packages/logger/package.json | 6 ++- 13 files changed, 92 insertions(+), 124 deletions(-) delete mode 100644 packages/cli/lib/logger.js delete mode 100644 packages/core/util/logger.js diff --git a/packages/cli/bin/scripts.js b/packages/cli/bin/scripts.js index f2d360c7c2..686a1e4d39 100755 --- a/packages/cli/bin/scripts.js +++ b/packages/cli/bin/scripts.js @@ -18,9 +18,9 @@ const fs = require("fs-extra"); const yargs = require("yargs"); const chalk = require("chalk"); const spawn = require("cross-spawn"); +const { initializeLogger } = require("logger"); const packageJson = require("../package.json"); -const { initializeLogger } = require("../lib/logger"); const paths = require("../scripts/util/paths"); const cdkOptions = require("../scripts/util/cdkOptions"); const { getCdkVersion } = require("@serverless-stack/core"); @@ -185,7 +185,7 @@ if (argv.verbose) { fs.emptyDirSync(paths.appBuildPath); // Initialize logger after .build diretory is created, in which the debug log will be written -initializeLogger(); +initializeLogger(paths.appBuildPath); switch (script) { case cmd.build: diff --git a/packages/cli/lib/logger.js b/packages/cli/lib/logger.js deleted file mode 100644 index efe80e34ae..0000000000 --- a/packages/cli/lib/logger.js +++ /dev/null @@ -1,63 +0,0 @@ -const { createLogger, format, transports } = require("winston"); -const jsonStringify = require("fast-safe-stringify"); -const SPLAT = Symbol.for("splat"); -const paths = require("../scripts/util/paths"); - -const consoleLogFormat = format.printf(({ message, label, [SPLAT]: splat }) => { - message = joinMessageAndSplat(message, splat); - - // handle label - // childLogger.info('hi') => [child] hi - message = label ? `[${label}] ${message}` : message; - - return message; -}); - -const fileLogFormat = format.printf( - ({ level, message, [SPLAT]: splat, label, timestamp }) => { - message = joinMessageAndSplat(message, splat); - return label - ? `${timestamp} [${label}] ${level}: ${message}` - : `${timestamp} ${level}: ${message}`; - } -); - -const consoleTransport = new transports.Console({ - level: "info", - format: format.combine(format.colorize(), consoleLogFormat), -}); - -const fileTransport = new transports.File({ - filename: `${paths.appBuildPath}/sst-debug.log`, - maxsize: 1024 * 1024 * 10, - maxFiles: 5, - tailable: true, - level: "silly", - format: format.combine(format.timestamp(), fileLogFormat), - handleExceptions: true, - handleRejections: true, -}); - -const logger = createLogger({ - transports: [consoleTransport], -}); - -const initializeLogger = function () { - // Update level for console transport - consoleTransport.level = process.env.DEBUG ? "debug" : "info"; - - // Add file transport - logger.add(fileTransport); -}; - -function joinMessageAndSplat(message, splat) { - return [message] - .concat(splat || []) - .map((arg) => (typeof arg === "string" ? arg : jsonStringify(arg))) - .join(" "); -} - -module.exports = { - logger, - initializeLogger, -}; diff --git a/packages/cli/package.json b/packages/cli/package.json index 0f0e5991f6..a574533bab 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -66,7 +66,6 @@ "source-map-support": "^0.5.19", "ts-jest": "^26.1.4", "typescript": "^3.9.7", - "winston": "^3.3.3", "ws": "^7.4.0", "yargs": "^15.4.1" }, diff --git a/packages/cli/scripts/add-cdk.js b/packages/cli/scripts/add-cdk.js index 11d264c493..aa3db9ebab 100644 --- a/packages/cli/scripts/add-cdk.js +++ b/packages/cli/scripts/add-cdk.js @@ -2,8 +2,7 @@ const chalk = require("chalk"); const spawn = require("cross-spawn"); - -const { logger } = require("../lib/logger"); +const { logger } = require("logger"); module.exports = async function (argv, cliInfo) { const npm = cliInfo.npm; diff --git a/packages/cli/scripts/build.js b/packages/cli/scripts/build.js index cfe5bddde3..221e562b72 100644 --- a/packages/cli/scripts/build.js +++ b/packages/cli/scripts/build.js @@ -2,7 +2,7 @@ const chalk = require("chalk"); -const { logger } = require("../lib/logger"); +const { logger } = require("logger"); const { synth } = require("./util/cdkHelpers"); function printResults(results, usingYarn) { diff --git a/packages/cli/scripts/deploy.js b/packages/cli/scripts/deploy.js index 8ebf6c70ab..5f4f1ed9a6 100644 --- a/packages/cli/scripts/deploy.js +++ b/packages/cli/scripts/deploy.js @@ -2,11 +2,10 @@ const path = require("path"); const chalk = require("chalk"); +const { logger } = require("logger"); const paths = require("./util/paths"); const { synth, parallelDeploy } = require("./util/cdkHelpers"); -const { logger } = require("../lib/logger"); - module.exports = async function (argv, config, cliInfo) { logger.info(chalk.grey("Deploying " + (argv.stack ? argv.stack : "stacks"))); diff --git a/packages/cli/scripts/remove.js b/packages/cli/scripts/remove.js index b86c8236db..8457161ed6 100644 --- a/packages/cli/scripts/remove.js +++ b/packages/cli/scripts/remove.js @@ -2,11 +2,11 @@ const path = require("path"); const chalk = require("chalk"); +const { logger } = require("logger"); const { parallelDestroy } = require("@serverless-stack/core"); const paths = require("./util/paths"); const { destroy: cdkDestroy } = require("./util/cdkHelpers"); -const { logger } = require("../lib/logger"); module.exports = async function (argv, config, cliInfo) { const stackName = `${config.stage}-debug-stack`; diff --git a/packages/cli/scripts/start.js b/packages/cli/scripts/start.js index 37a37d6c4f..0a2af7a87b 100644 --- a/packages/cli/scripts/start.js +++ b/packages/cli/scripts/start.js @@ -7,6 +7,7 @@ const WebSocket = require("ws"); const esbuild = require("esbuild"); const chokidar = require("chokidar"); const spawn = require("cross-spawn"); +const { logger } = require("logger"); const allSettled = require("promise.allsettled"); const sstDeploy = require("./deploy"); @@ -19,7 +20,6 @@ const { bootstrap: cdkBootstrap, } = require("./util/cdkHelpers"); const array = require("../lib/array"); -const { logger } = require("../lib/logger"); // Setup logger const clientLogger = logger.child({ label: "client" }); diff --git a/packages/cli/scripts/util/cdkHelpers.js b/packages/cli/scripts/util/cdkHelpers.js index 2e49cc8073..9783b37f7a 100644 --- a/packages/cli/scripts/util/cdkHelpers.js +++ b/packages/cli/scripts/util/cdkHelpers.js @@ -9,7 +9,7 @@ const sstCore = require("@serverless-stack/core"); const exec = util.promisify(require("child_process").exec); const paths = require("./paths"); -const { logger } = require("../../lib/logger"); +const { logger } = require("logger"); const { isSubProcessError } = require("../../lib/errors"); const buildDir = path.join(paths.appBuildPath, "lib"); diff --git a/packages/core/index.js b/packages/core/index.js index 263fc5e247..4da509a796 100644 --- a/packages/core/index.js +++ b/packages/core/index.js @@ -4,7 +4,7 @@ const cdk = require("sst-cdk"); const aws = require("aws-sdk"); const chalk = require("chalk"); -const logger = require("./util/logger"); +const { logger } = require("logger"); const packageJson = require("./package.json"); function getCdkVersion() { @@ -84,7 +84,7 @@ async function parallelDeploy(cdkOptions, stackStates) { stackState.status = STACK_DEPLOY_STATUS_UNCHANGED; stackState.endedAt = stackState.startedAt; hasSucceededStack = true; - logger.log( + logger.info( chalk.green(`\n ✅ ${stackState.name} (no changes)\n`) ); } else if (status === "no_resources") { @@ -92,7 +92,7 @@ async function parallelDeploy(cdkOptions, stackStates) { stackState.endedAt = stackState.startedAt; stackState.errorMessage = `The ${stackState.name} stack contains no resources.`; skipPendingStacks(); - logger.log( + logger.info( chalk.red( `\n ❌ ${chalk.bold(stackState.name)} failed: ${ stackState.errorMessage @@ -106,7 +106,7 @@ async function parallelDeploy(cdkOptions, stackStates) { stackState.endedAt = stackState.startedAt; stackState.errorMessage = `The ${stackState.name} stack failed to deploy.`; skipPendingStacks(); - logger.log( + logger.info( chalk.red( `\n ❌ ${chalk.bold(stackState.name)} failed: ${ stackState.errorMessage @@ -137,7 +137,7 @@ async function parallelDeploy(cdkOptions, stackStates) { stackState.endedAt = stackState.startedAt; stackState.errorMessage = bootstrapEx.message; skipPendingStacks(); - logger.log( + logger.info( chalk.red( `\n ❌ ${chalk.bold( stackState.name @@ -152,7 +152,7 @@ async function parallelDeploy(cdkOptions, stackStates) { stackState.endedAt = stackState.startedAt; stackState.errorMessage = deployEx.message; skipPendingStacks(); - logger.log( + logger.info( chalk.red( `\n ❌ ${chalk.bold(stackState.name)} failed: ${deployEx}\n` ) @@ -202,7 +202,7 @@ async function parallelDeploy(cdkOptions, stackStates) { if (isDeployed) { stackState.status = STACK_DEPLOY_STATUS_SUCCEEDED; stackState.endedAt = Date.now(); - logger.log(chalk.green(`\n ✅ ${stackState.name}\n`)); + logger.info(chalk.green(`\n ✅ ${stackState.name}\n`)); } } catch (statusEx) { logger.debug(statusEx); @@ -214,7 +214,7 @@ async function parallelDeploy(cdkOptions, stackStates) { stackState.errorMessage = stackState.eventsLatestErrorMessage || statusEx.message; skipPendingStacks(); - logger.log( + logger.info( chalk.red( `\n ❌ ${chalk.bold(stackState.name)} failed: ${ stackState.errorMessage @@ -352,7 +352,7 @@ async function parallelDeploy(cdkOptions, stackStates) { } // Print new events const statusColor = colorFromStatusResult(event.ResourceStatus); - logger.log( + logger.info( `${stackState.name}` + ` | ${statusColor(event.ResourceStatus || "")}` + ` | ${event.ResourceType}` + @@ -439,11 +439,11 @@ async function parallelDeploy(cdkOptions, stackStates) { })); } - logger.debug(`Initial stack states: ${JSON.stringify(stackStates)}`); + logger.silly(`Initial stack states: ${JSON.stringify(stackStates)}`); await updateDeployStatuses(); - logger.debug(`After update deploy statuses: ${JSON.stringify(stackStates)}`); + logger.silly(`After update deploy statuses: ${JSON.stringify(stackStates)}`); await deployStacks(); - logger.debug(`After deploy stacks: ${JSON.stringify(stackStates)}`); + logger.silly(`After deploy stacks: ${JSON.stringify(stackStates)}`); const isCompleted = stackStates.every( (stackState) => @@ -495,14 +495,14 @@ async function parallelDestroy(cdkOptions, stackStates) { if (status === "destroyed") { stackState.status = STACK_DESTROY_STATUS_SUCCEEDED; hasSucceededStack = true; - logger.log(chalk.green(`\n ✅ ${stackState.name}\n`)); + logger.info(chalk.green(`\n ✅ ${stackState.name}\n`)); } else if (status === "destroying") { stackState.status = STACK_DESTROY_STATUS_REMOVING; } else { stackState.status = STACK_DESTROY_STATUS_FAILED; stackState.errorMessage = `The ${stackState.name} stack failed to destroy.`; skipPendingStacks(); - logger.log( + logger.info( chalk.red( `\n ❌ ${chalk.bold(stackState.name)} failed: ${ stackState.errorMessage @@ -518,7 +518,7 @@ async function parallelDestroy(cdkOptions, stackStates) { stackState.status = STACK_DESTROY_STATUS_FAILED; stackState.errorMessage = e.message; skipPendingStacks(); - logger.log( + logger.info( chalk.red( `\n ❌ ${chalk.bold(stackState.name)} failed: ${e}\n` ) @@ -555,7 +555,7 @@ async function parallelDestroy(cdkOptions, stackStates) { } else if (isStackNotExistException(eventsEx)) { // ignore stackState.status = STACK_DESTROY_STATUS_SUCCEEDED; - logger.log(chalk.green(`\n ✅ ${stackState.name}\n`)); + logger.info(chalk.green(`\n ✅ ${stackState.name}\n`)); return; } // ignore error @@ -568,7 +568,7 @@ async function parallelDestroy(cdkOptions, stackStates) { if (isDestroyed) { stackState.status = STACK_DESTROY_STATUS_SUCCEEDED; - logger.log(chalk.green(`\n ✅ ${stackState.name}\n`)); + logger.info(chalk.green(`\n ✅ ${stackState.name}\n`)); } } catch (statusEx) { logger.debug(statusEx); @@ -576,13 +576,13 @@ async function parallelDestroy(cdkOptions, stackStates) { // retry } else if (isStackNotExistException(statusEx)) { stackState.status = STACK_DESTROY_STATUS_SUCCEEDED; - logger.log(chalk.green(`\n ✅ ${stackState.name}\n`)); + logger.info(chalk.green(`\n ✅ ${stackState.name}\n`)); } else { stackState.status = STACK_DESTROY_STATUS_FAILED; stackState.errorMessage = stackState.eventsLatestErrorMessage || statusEx.message; skipPendingStacks(); - logger.log( + logger.info( chalk.red( `\n ❌ ${chalk.bold(stackState.name)} failed: ${ stackState.errorMessage @@ -699,7 +699,7 @@ async function parallelDestroy(cdkOptions, stackStates) { } // Print new events const statusColor = colorFromStatusResult(event.ResourceStatus); - logger.log( + logger.info( `${stackState.name}` + ` | ${statusColor(event.ResourceStatus || "")}` + ` | ${event.ResourceType}` + @@ -790,11 +790,11 @@ async function parallelDestroy(cdkOptions, stackStates) { })); } - logger.debug(`Initial stack states: ${JSON.stringify(stackStates)}`); + logger.silly(`Initial stack states: ${JSON.stringify(stackStates)}`); await updateDestroyStatuses(); - logger.debug(`After update destroy statuses: ${JSON.stringify(stackStates)}`); + logger.silly(`After update destroy statuses: ${JSON.stringify(stackStates)}`); await destroyStacks(); - logger.debug(`After destroy stacks: ${JSON.stringify(stackStates)}`); + logger.silly(`After destroy stacks: ${JSON.stringify(stackStates)}`); const isCompleted = stackStates.every( (stackState) => diff --git a/packages/core/util/logger.js b/packages/core/util/logger.js deleted file mode 100644 index 675fe6577b..0000000000 --- a/packages/core/util/logger.js +++ /dev/null @@ -1,24 +0,0 @@ -const chalk = require("chalk"); - -function debug(message) { - if (!process.env.DEBUG) { - return; - } - console.debug(chalk.grey("debug ") + message); -} -function log(message) { - console.log(message); -} -function warn(message) { - console.warn(chalk.yellow("warn ") + message); -} -function error(message) { - console.error(chalk.red("error ") + message); -} - -module.exports = { - log, - warn, - debug, - error, -}; diff --git a/packages/logger/index.js b/packages/logger/index.js index 5038104825..9fccf7116e 100644 --- a/packages/logger/index.js +++ b/packages/logger/index.js @@ -1,6 +1,60 @@ "use strict"; -module.exports = function(str) { - console.log(str); +const path = require("path"); +const jsonStringify = require("fast-safe-stringify"); +const { createLogger, format, transports } = require("winston"); +const SPLAT = Symbol.for("splat"); + +const consoleLogFormat = format.printf(({ message, label, [SPLAT]: splat }) => { + return joinMessageAndSplat(message, splat); +}); + +const fileLogFormat = format.printf( + ({ level, message, [SPLAT]: splat, label, timestamp }) => { + message = joinMessageAndSplat(message, splat); + return label + ? `${timestamp} [${label}] ${level}: ${message}` + : `${timestamp} ${level}: ${message}`; + } +); + +const consoleTransport = new transports.Console({ + level: "info", + format: format.combine(format.colorize(), consoleLogFormat), +}); + +const logger = createLogger({ + transports: [ consoleTransport ], +}); + +const initializeLogger = function (appBuildPath) { + // Update level for console transport + consoleTransport.level = process.env.DEBUG ? "debug" : "info"; + + // Add file transport + logger.add( + new transports.File({ + filename: path.join(appBuildPath, 'sst-debug.log'), + maxsize: 1024 * 1024 * 10, + maxFiles: 5, + tailable: true, + level: "silly", + format: format.combine(format.timestamp(), fileLogFormat), + handleExceptions: true, + handleRejections: true, + }) + ); + }; +function joinMessageAndSplat(message, splat) { + return [message] + .concat(splat || []) + .map((arg) => (typeof arg === "string" ? arg : jsonStringify(arg))) + .join(" "); +} + +module.exports = { + logger, + initializeLogger, +}; diff --git a/packages/logger/package.json b/packages/logger/package.json index b271d2121e..33d8ff056a 100644 --- a/packages/logger/package.json +++ b/packages/logger/package.json @@ -14,5 +14,9 @@ "url": "https://github.com/serverless-stack/serverless-stack.git", "directory": "packages/logger" }, - "license": "MIT" + "license": "MIT", + "dependencies": { + "logger": "^1.0.0-alpha.6", + "winston": "^3.3.3" + } } From ac74ce02880f19b231be93421af0399c94b6d0c6 Mon Sep 17 00:00:00 2001 From: Jay Date: Fri, 8 Jan 2021 15:48:27 -0500 Subject: [PATCH 085/123] Moving away from "resources" keyword --- packages/cli/scripts/util/cdkHelpers.js | 2 +- packages/create-serverless-stack/bin/index.js | 11 +++++------ .../{resources => }/javascript/.template.gitignore | 0 .../{resources => }/javascript/README.template.md | 0 .../lib/%stack-name.PascalCased%.template.js | 0 .../{resources => }/javascript/lib/index.template.js | 0 .../{resources => }/javascript/package.template.json | 0 .../{resources => }/javascript/src/lambda.js | 0 .../{resources => }/javascript/sst.template.json | 0 .../test/%stack-name.PascalCased%.test.template.js | 0 .../{resources => }/typescript/.template.gitignore | 0 .../{resources => }/typescript/README.template.md | 0 .../lib/%stack-name.PascalCased%.template.ts | 0 .../{resources => }/typescript/lib/index.template.ts | 0 .../{resources => }/typescript/package.template.json | 0 .../{resources => }/typescript/src/lambda.ts | 4 +++- .../{resources => }/typescript/sst.template.json | 0 .../test/%stack-name.PascalCased%.test.template.ts | 0 .../{resources => }/typescript/tsconfig.json | 0 19 files changed, 9 insertions(+), 8 deletions(-) rename packages/create-serverless-stack/templates/{resources => }/javascript/.template.gitignore (100%) rename packages/create-serverless-stack/templates/{resources => }/javascript/README.template.md (100%) rename packages/create-serverless-stack/templates/{resources => }/javascript/lib/%stack-name.PascalCased%.template.js (100%) rename packages/create-serverless-stack/templates/{resources => }/javascript/lib/index.template.js (100%) rename packages/create-serverless-stack/templates/{resources => }/javascript/package.template.json (100%) rename packages/create-serverless-stack/templates/{resources => }/javascript/src/lambda.js (100%) rename packages/create-serverless-stack/templates/{resources => }/javascript/sst.template.json (100%) rename packages/create-serverless-stack/templates/{resources => }/javascript/test/%stack-name.PascalCased%.test.template.js (100%) rename packages/create-serverless-stack/templates/{resources => }/typescript/.template.gitignore (100%) rename packages/create-serverless-stack/templates/{resources => }/typescript/README.template.md (100%) rename packages/create-serverless-stack/templates/{resources => }/typescript/lib/%stack-name.PascalCased%.template.ts (100%) rename packages/create-serverless-stack/templates/{resources => }/typescript/lib/index.template.ts (100%) rename packages/create-serverless-stack/templates/{resources => }/typescript/package.template.json (100%) rename packages/create-serverless-stack/templates/{resources => }/typescript/src/lambda.ts (50%) rename packages/create-serverless-stack/templates/{resources => }/typescript/sst.template.json (100%) rename packages/create-serverless-stack/templates/{resources => }/typescript/test/%stack-name.PascalCased%.test.template.ts (100%) rename packages/create-serverless-stack/templates/{resources => }/typescript/tsconfig.json (100%) diff --git a/packages/cli/scripts/util/cdkHelpers.js b/packages/cli/scripts/util/cdkHelpers.js index 2e49cc8073..c96f72a076 100644 --- a/packages/cli/scripts/util/cdkHelpers.js +++ b/packages/cli/scripts/util/cdkHelpers.js @@ -30,7 +30,7 @@ function exitWithMessage(message, shortMessage) { shortMessage = shortMessage || message; // Formatted error to grep - logger.debug(`SST Resources Error: ${shortMessage.trim()}`); + logger.debug(`SST Error: ${shortMessage.trim()}`); // Move newline before message if (message.indexOf("\n") === 0) { diff --git a/packages/create-serverless-stack/bin/index.js b/packages/create-serverless-stack/bin/index.js index 099beb3ad5..d337fd3131 100755 --- a/packages/create-serverless-stack/bin/index.js +++ b/packages/create-serverless-stack/bin/index.js @@ -31,12 +31,11 @@ const languageTypeCopy = { }; const argv = yargs - .usage(`${cmd.i} `) - .demandCommand(1) + .usage(`${cmd.i} [name]`) .command( - `${cmd.r} [name]`, - "Initialize a template for the resources in your Serverless Stack", + "* [name]", + "Initialize a template for your Serverless Stack app", function (yargs) { yargs.positional("name", { type: "string", @@ -79,7 +78,6 @@ const argv = yargs .parse(); const appName = argv.name; -const templateType = argv._[0]; const templateLanguage = argv.language; const useYarn = argv.useYarn; @@ -89,7 +87,6 @@ const cdkVersion = fs.readFileSync(path.join(paths.ownPath, "CDK_VERSION")); const appPath = path.join(paths.parentPath, appName); const templatePath = path.join( paths.ownTemplatesPath, - templateType, templateLanguage ); @@ -117,6 +114,8 @@ const templatePath = path.join( info("Installing packages"); +return; + // Install dependencies let cmd; let args; diff --git a/packages/create-serverless-stack/templates/resources/javascript/.template.gitignore b/packages/create-serverless-stack/templates/javascript/.template.gitignore similarity index 100% rename from packages/create-serverless-stack/templates/resources/javascript/.template.gitignore rename to packages/create-serverless-stack/templates/javascript/.template.gitignore diff --git a/packages/create-serverless-stack/templates/resources/javascript/README.template.md b/packages/create-serverless-stack/templates/javascript/README.template.md similarity index 100% rename from packages/create-serverless-stack/templates/resources/javascript/README.template.md rename to packages/create-serverless-stack/templates/javascript/README.template.md diff --git a/packages/create-serverless-stack/templates/resources/javascript/lib/%stack-name.PascalCased%.template.js b/packages/create-serverless-stack/templates/javascript/lib/%stack-name.PascalCased%.template.js similarity index 100% rename from packages/create-serverless-stack/templates/resources/javascript/lib/%stack-name.PascalCased%.template.js rename to packages/create-serverless-stack/templates/javascript/lib/%stack-name.PascalCased%.template.js diff --git a/packages/create-serverless-stack/templates/resources/javascript/lib/index.template.js b/packages/create-serverless-stack/templates/javascript/lib/index.template.js similarity index 100% rename from packages/create-serverless-stack/templates/resources/javascript/lib/index.template.js rename to packages/create-serverless-stack/templates/javascript/lib/index.template.js diff --git a/packages/create-serverless-stack/templates/resources/javascript/package.template.json b/packages/create-serverless-stack/templates/javascript/package.template.json similarity index 100% rename from packages/create-serverless-stack/templates/resources/javascript/package.template.json rename to packages/create-serverless-stack/templates/javascript/package.template.json diff --git a/packages/create-serverless-stack/templates/resources/javascript/src/lambda.js b/packages/create-serverless-stack/templates/javascript/src/lambda.js similarity index 100% rename from packages/create-serverless-stack/templates/resources/javascript/src/lambda.js rename to packages/create-serverless-stack/templates/javascript/src/lambda.js diff --git a/packages/create-serverless-stack/templates/resources/javascript/sst.template.json b/packages/create-serverless-stack/templates/javascript/sst.template.json similarity index 100% rename from packages/create-serverless-stack/templates/resources/javascript/sst.template.json rename to packages/create-serverless-stack/templates/javascript/sst.template.json diff --git a/packages/create-serverless-stack/templates/resources/javascript/test/%stack-name.PascalCased%.test.template.js b/packages/create-serverless-stack/templates/javascript/test/%stack-name.PascalCased%.test.template.js similarity index 100% rename from packages/create-serverless-stack/templates/resources/javascript/test/%stack-name.PascalCased%.test.template.js rename to packages/create-serverless-stack/templates/javascript/test/%stack-name.PascalCased%.test.template.js diff --git a/packages/create-serverless-stack/templates/resources/typescript/.template.gitignore b/packages/create-serverless-stack/templates/typescript/.template.gitignore similarity index 100% rename from packages/create-serverless-stack/templates/resources/typescript/.template.gitignore rename to packages/create-serverless-stack/templates/typescript/.template.gitignore diff --git a/packages/create-serverless-stack/templates/resources/typescript/README.template.md b/packages/create-serverless-stack/templates/typescript/README.template.md similarity index 100% rename from packages/create-serverless-stack/templates/resources/typescript/README.template.md rename to packages/create-serverless-stack/templates/typescript/README.template.md diff --git a/packages/create-serverless-stack/templates/resources/typescript/lib/%stack-name.PascalCased%.template.ts b/packages/create-serverless-stack/templates/typescript/lib/%stack-name.PascalCased%.template.ts similarity index 100% rename from packages/create-serverless-stack/templates/resources/typescript/lib/%stack-name.PascalCased%.template.ts rename to packages/create-serverless-stack/templates/typescript/lib/%stack-name.PascalCased%.template.ts diff --git a/packages/create-serverless-stack/templates/resources/typescript/lib/index.template.ts b/packages/create-serverless-stack/templates/typescript/lib/index.template.ts similarity index 100% rename from packages/create-serverless-stack/templates/resources/typescript/lib/index.template.ts rename to packages/create-serverless-stack/templates/typescript/lib/index.template.ts diff --git a/packages/create-serverless-stack/templates/resources/typescript/package.template.json b/packages/create-serverless-stack/templates/typescript/package.template.json similarity index 100% rename from packages/create-serverless-stack/templates/resources/typescript/package.template.json rename to packages/create-serverless-stack/templates/typescript/package.template.json diff --git a/packages/create-serverless-stack/templates/resources/typescript/src/lambda.ts b/packages/create-serverless-stack/templates/typescript/src/lambda.ts similarity index 50% rename from packages/create-serverless-stack/templates/resources/typescript/src/lambda.ts rename to packages/create-serverless-stack/templates/typescript/src/lambda.ts index 3b26bcf3ee..c037139ff9 100644 --- a/packages/create-serverless-stack/templates/resources/typescript/src/lambda.ts +++ b/packages/create-serverless-stack/templates/typescript/src/lambda.ts @@ -1,4 +1,6 @@ -export async function handler() { +import { APIGatewayEvent } from "aws-lambda"; + +export async function handler(event: APIGatewayEvent): any { return { statusCode: 200, body: "Hello World!", diff --git a/packages/create-serverless-stack/templates/resources/typescript/sst.template.json b/packages/create-serverless-stack/templates/typescript/sst.template.json similarity index 100% rename from packages/create-serverless-stack/templates/resources/typescript/sst.template.json rename to packages/create-serverless-stack/templates/typescript/sst.template.json diff --git a/packages/create-serverless-stack/templates/resources/typescript/test/%stack-name.PascalCased%.test.template.ts b/packages/create-serverless-stack/templates/typescript/test/%stack-name.PascalCased%.test.template.ts similarity index 100% rename from packages/create-serverless-stack/templates/resources/typescript/test/%stack-name.PascalCased%.test.template.ts rename to packages/create-serverless-stack/templates/typescript/test/%stack-name.PascalCased%.test.template.ts diff --git a/packages/create-serverless-stack/templates/resources/typescript/tsconfig.json b/packages/create-serverless-stack/templates/typescript/tsconfig.json similarity index 100% rename from packages/create-serverless-stack/templates/resources/typescript/tsconfig.json rename to packages/create-serverless-stack/templates/typescript/tsconfig.json From d63efa967109b915292d599ea78f7abf6bc3927c Mon Sep 17 00:00:00 2001 From: Jay Date: Fri, 8 Jan 2021 16:05:31 -0500 Subject: [PATCH 086/123] Deprecating old resources keyword --- packages/create-serverless-stack/bin/index.js | 46 ++++++++----------- 1 file changed, 20 insertions(+), 26 deletions(-) diff --git a/packages/create-serverless-stack/bin/index.js b/packages/create-serverless-stack/bin/index.js index d337fd3131..f18b104e52 100755 --- a/packages/create-serverless-stack/bin/index.js +++ b/packages/create-serverless-stack/bin/index.js @@ -20,30 +20,31 @@ const camelCase = require("camelcase"); const paths = require("../config/paths"); -const cmd = { - i: "create-serverless-stack", - r: "resources", -}; +const cmd = "create-serverless-stack"; const languageTypeCopy = { javascript: "JavaScript", typescript: "TypeScript", }; +const commandDesc = "Initialize a template for your Serverless Stack app"; +const argBuilder = (yargs) => + yargs.positional("name", { + type: "string", + default: "my-sst-app", + describe: "The name of your Serverless Stack app", + }); + const argv = yargs - .usage(`${cmd.i} [name]`) - - .command( - "* [name]", - "Initialize a template for your Serverless Stack app", - function (yargs) { - yargs.positional("name", { - type: "string", - default: "my-sst-app", - describe: "The name of your Serverless Stack app", - }); - } - ) + .usage(`${cmd} [name]`) + + .command("* [name]", commandDesc, argBuilder) + .command({ + command: "resources [name]", + desc: commandDesc, + deprecated: true, + builder: argBuilder, + }) .option("use-yarn", { type: "boolean", @@ -85,17 +86,12 @@ const sstVersion = require("../package.json").version; const cdkVersion = fs.readFileSync(path.join(paths.ownPath, "CDK_VERSION")); const appPath = path.join(paths.parentPath, appName); -const templatePath = path.join( - paths.ownTemplatesPath, - templateLanguage -); +const templatePath = path.join(paths.ownTemplatesPath, templateLanguage); (async function () { const languageCopy = languageTypeCopy[templateLanguage]; - info( - `\nInitializing a new Serverless Stack ${languageCopy} project` - ); + info(`\nInitializing a new Serverless Stack ${languageCopy} project`); info(`Creating ${appName}/ directory`); @@ -114,8 +110,6 @@ const templatePath = path.join( info("Installing packages"); -return; - // Install dependencies let cmd; let args; From c6384025c4c1d1e13b3f04c0f86c904c604a6d77 Mon Sep 17 00:00:00 2001 From: Jay Date: Fri, 8 Jan 2021 16:09:33 -0500 Subject: [PATCH 087/123] Fixing formatting --- lerna.json | 4 +--- packages/cli/test/base/cdk.context.json | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/lerna.json b/lerna.json index 57ebdb5f3f..4b35eb2c1f 100644 --- a/lerna.json +++ b/lerna.json @@ -1,7 +1,5 @@ { - "packages": [ - "packages/*" - ], + "packages": ["packages/*"], "npmClient": "yarn", "useWorkspaces": true, "version": "1.0.0-alpha.6" diff --git a/packages/cli/test/base/cdk.context.json b/packages/cli/test/base/cdk.context.json index 391c9f9a49..ceb5f0afc5 100644 --- a/packages/cli/test/base/cdk.context.json +++ b/packages/cli/test/base/cdk.context.json @@ -2,4 +2,4 @@ "bootstrappedEnvs": { "aws://087220554750/us-west-1": true } -} \ No newline at end of file +} From 95b4c790f2c10d46a0f7ee1691fde10e869d53e5 Mon Sep 17 00:00:00 2001 From: Jay Date: Fri, 8 Jan 2021 16:10:32 -0500 Subject: [PATCH 088/123] Adding prettier script --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index b2a3360054..a7cc3cbe95 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ ], "scripts": { "lint": "eslint . --fix --ext .js,.ts", + "prettier": "prettier --write **/*.{js,ts,json,md}", "changelog": "lerna-changelog", "release": "lerna publish --force-publish", "release-alpha": "lerna publish --force-publish --dist-tag alpha", From cf93fc0fc85cbf21d745a45d666e0eda2e65d46a Mon Sep 17 00:00:00 2001 From: Jay Date: Fri, 8 Jan 2021 20:42:31 -0500 Subject: [PATCH 089/123] Removing input files from tsc --- packages/cli/scripts/start.js | 2 +- packages/cli/scripts/util/cdkHelpers.js | 1 - packages/cli/test/start-base/package.json | 4 ++-- packages/cli/test/start-base/sst.json | 1 - packages/resources/src/util/builder.ts | 1 - 5 files changed, 3 insertions(+), 6 deletions(-) diff --git a/packages/cli/scripts/start.js b/packages/cli/scripts/start.js index 37a37d6c4f..b6fe1f4307 100644 --- a/packages/cli/scripts/start.js +++ b/packages/cli/scripts/start.js @@ -620,7 +620,7 @@ function typeCheck(srcPath) { const process = spawn( path.join(paths.appNodeModules, ".bin", "tsc"), - ["--noEmit", ...tsFiles], + ["--noEmit"], { stdio: "inherit", cwd: path.join(paths.appPath, srcPath), diff --git a/packages/cli/scripts/util/cdkHelpers.js b/packages/cli/scripts/util/cdkHelpers.js index c96f72a076..8dafbb8947 100644 --- a/packages/cli/scripts/util/cdkHelpers.js +++ b/packages/cli/scripts/util/cdkHelpers.js @@ -192,7 +192,6 @@ async function typeCheck(inputFiles) { path.join(paths.appNodeModules, ".bin", "tsc"), "--pretty", "--noEmit", - ...inputFiles, ].join(" "), { cwd: paths.appPath } ); diff --git a/packages/cli/test/start-base/package.json b/packages/cli/test/start-base/package.json index 625f387e0c..398c9fb62b 100644 --- a/packages/cli/test/start-base/package.json +++ b/packages/cli/test/start-base/package.json @@ -17,8 +17,8 @@ "@aws-cdk/aws-sns": "1.79.0", "@aws-cdk/aws-sns-subscriptions": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.5", - "@serverless-stack/resources": "^1.0.0-alpha.5" + "@serverless-stack/cli": "^1.0.0-alpha.6", + "@serverless-stack/resources": "^1.0.0-alpha.6" }, "license": "ISC" } diff --git a/packages/cli/test/start-base/sst.json b/packages/cli/test/start-base/sst.json index 550b59d5db..9c8f7ed0ba 100644 --- a/packages/cli/test/start-base/sst.json +++ b/packages/cli/test/start-base/sst.json @@ -1,5 +1,4 @@ { - "type": "@serverless-stack/resources", "name": "cdknotes", "stage": "prod", "region": "us-east-1" diff --git a/packages/resources/src/util/builder.ts b/packages/resources/src/util/builder.ts index 2d7c269605..dc35d7a920 100644 --- a/packages/resources/src/util/builder.ts +++ b/packages/resources/src/util/builder.ts @@ -136,7 +136,6 @@ export function builder(builderProps: BuilderProps): BuilderOutput { path.join(appNodeModules, ".bin", "tsc"), "--pretty", "--noEmit", - ...inputFiles, ].join(" "), { cwd: srcPath } ); From eae08ebf070e8277bb514ce736d17288d9e2a0b8 Mon Sep 17 00:00:00 2001 From: Frank Date: Fri, 8 Jan 2021 22:40:04 -0500 Subject: [PATCH 090/123] Support --no-color flag in all packages --- packages/cli/assets/cdk-wrapper/run.js | 6 ++++++ packages/cli/bin/scripts.js | 8 +++++--- packages/cli/scripts/start.js | 22 ++++++++++++++-------- packages/cli/scripts/util/cdkHelpers.js | 4 +++- packages/resources/src/util/builder.ts | 4 +++- 5 files changed, 31 insertions(+), 13 deletions(-) diff --git a/packages/cli/assets/cdk-wrapper/run.js b/packages/cli/assets/cdk-wrapper/run.js index 6e8f773643..32b32d24b9 100644 --- a/packages/cli/assets/cdk-wrapper/run.js +++ b/packages/cli/assets/cdk-wrapper/run.js @@ -11,12 +11,18 @@ process.on("uncaughtException", function (err) { const fs = require("fs"); const path = require("path"); +const chalk = require("chalk"); const sst = require("@serverless-stack/resources"); const config = require("./sst-merged.json"); const appPath = process.cwd(); +// Disable color +if (process.env.NO_COLOR === 'true') { + chalk.level = 0; +} + // Check first and throw an error if (!fs.existsSync(path.join(__dirname, "lib", "index.js"))) { handlerNotFound(true); diff --git a/packages/cli/bin/scripts.js b/packages/cli/bin/scripts.js index 686a1e4d39..3437308ba8 100755 --- a/packages/cli/bin/scripts.js +++ b/packages/cli/bin/scripts.js @@ -64,7 +64,7 @@ function getCliInfo() { cdkOptions: { ...cdkOptions, verbose: argv.verbose ? 2 : 0, - noColor: argv.noColor || chalk.level === 0, + noColor: process.env.NO_COLOR === 'true', }, }; } @@ -173,12 +173,14 @@ const argv = yargs }) .parse(); -if (!process.stdout.isTTY) { +// Disable color +if (!process.stdout.isTTY || argv.noColor) { + process.env.NO_COLOR = 'true'; chalk.level = 0; } if (argv.verbose) { - process.env.DEBUG = true; + process.env.DEBUG = 'true'; } // Empty and recreate the .build directory diff --git a/packages/cli/scripts/start.js b/packages/cli/scripts/start.js index 865fb7deb1..da94831841 100644 --- a/packages/cli/scripts/start.js +++ b/packages/cli/scripts/start.js @@ -190,7 +190,7 @@ async function startBuilder(cdkInputFiles) { initializeBuilderState(entryPoints, cdkInputFiles); // Run transpiler - builderLogger.info("Transpiling Lambda code..."); + builderLogger.info(chalk.grey("Transpiling Lambda code...")); esbuildService = await esbuild.startService(); const results = await Promise.allSettled( @@ -534,6 +534,7 @@ async function transpile(srcPath, entry, handler) { platform: "node", incremental: true, entryPoints: [fullPath], + color: process.env.NO_COLOR !== 'true', outdir: path.join(paths.appPath, outSrcPath), }; @@ -584,10 +585,11 @@ async function reTranspiler(srcPath, entry, handler) { function lint(srcPath) { const { inputFiles } = builderState.srcPathsData[srcPath]; - const process = spawn( + const cp = spawn( path.join(paths.appNodeModules, ".bin", "eslint"), [ "--no-error-on-unmatched-pattern", + process.env.NO_COLOR === "true" ? "--no-color" : "--color", "--config", path.join(paths.appBuildPath, ".eslintrc.internal.js"), path.join(paths.ownPath, "scripts", "util", ".eslintrc.internal.js"), @@ -603,12 +605,12 @@ function lint(srcPath) { { stdio: "inherit", cwd: path.join(paths.appPath, srcPath) } ); - process.on("close", (code) => { + cp.on("close", (code) => { builderLogger.debug(`linter exited with code ${code}`); onLintDone(srcPath); }); - return process; + return cp; } function typeCheck(srcPath) { const { inputFiles } = builderState.srcPathsData[srcPath]; @@ -618,21 +620,25 @@ function typeCheck(srcPath) { return null; } - const process = spawn( + const cp = spawn( path.join(paths.appNodeModules, ".bin", "tsc"), - ["--noEmit"], + [ + "--noEmit", + "--pretty", + process.env.NO_COLOR === "true" ? "false" : "true", + ], { stdio: "inherit", cwd: path.join(paths.appPath, srcPath), } ); - process.on("close", (code) => { + cp.on("close", (code) => { builderLogger.debug(`type checker exited with code ${code}`); onTypeCheckDone(srcPath); }); - return process; + return cp; } ///////////////////////////// diff --git a/packages/cli/scripts/util/cdkHelpers.js b/packages/cli/scripts/util/cdkHelpers.js index d1034bde17..1f383a2107 100644 --- a/packages/cli/scripts/util/cdkHelpers.js +++ b/packages/cli/scripts/util/cdkHelpers.js @@ -149,7 +149,7 @@ async function lint(inputFiles) { const { stdout, stderr } = await exec( [ path.join(paths.appNodeModules, ".bin", "eslint"), - "--color", + process.env.NO_COLOR === "true" ? "--no-color" : "--color", "--no-error-on-unmatched-pattern", "--config", path.join(paths.appBuildPath, ".eslintrc.internal.js"), @@ -191,6 +191,7 @@ async function typeCheck(inputFiles) { [ path.join(paths.appNodeModules, ".bin", "tsc"), "--pretty", + process.env.NO_COLOR === "true" ? "false" : "true", "--noEmit", ].join(" "), { cwd: paths.appPath } @@ -247,6 +248,7 @@ async function transpile(cliInfo) { outdir: buildDir, entryPoints: [entryPoint], tsconfig: isTs ? tsconfig : undefined, + color: process.env.NO_COLOR !== 'true', }); } catch (e) { logger.debug(e); diff --git a/packages/resources/src/util/builder.ts b/packages/resources/src/util/builder.ts index dc35d7a920..f5c74cd4ef 100644 --- a/packages/resources/src/util/builder.ts +++ b/packages/resources/src/util/builder.ts @@ -96,7 +96,7 @@ export function builder(builderProps: BuilderProps): BuilderOutput { const stdout = execSync( [ path.join(appNodeModules, ".bin", "eslint"), - "--color", + process.env.NO_COLOR === "true" ? "--no-color" : "--color", "--no-error-on-unmatched-pattern", "--config", path.join(appPath, buildDir, ".eslintrc.internal.js"), @@ -135,6 +135,7 @@ export function builder(builderProps: BuilderProps): BuilderOutput { [ path.join(appNodeModules, ".bin", "tsc"), "--pretty", + process.env.NO_COLOR === "true" ? "false" : "true", "--noEmit", ].join(" "), { cwd: srcPath } @@ -163,6 +164,7 @@ export function builder(builderProps: BuilderProps): BuilderOutput { platform: "node", outdir: buildPath, entryPoints: [entryPath], + color: process.env.NO_COLOR !== 'true', tsconfig: hasTsconfig ? tsconfig : undefined, }); From 589b3c1df0690682f557c140069c256ff0e7eeef Mon Sep 17 00:00:00 2001 From: Frank Date: Fri, 8 Jan 2021 22:45:50 -0500 Subject: [PATCH 091/123] Fixing lint error --- packages/logger/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/logger/index.js b/packages/logger/index.js index 9fccf7116e..cb8dcd1462 100644 --- a/packages/logger/index.js +++ b/packages/logger/index.js @@ -5,7 +5,7 @@ const jsonStringify = require("fast-safe-stringify"); const { createLogger, format, transports } = require("winston"); const SPLAT = Symbol.for("splat"); -const consoleLogFormat = format.printf(({ message, label, [SPLAT]: splat }) => { +const consoleLogFormat = format.printf(({ message, [SPLAT]: splat }) => { return joinMessageAndSplat(message, splat); }); From b22ff7bd573fab84a01e9584b9af4a9b77bc3023 Mon Sep 17 00:00:00 2001 From: Jay Date: Fri, 8 Jan 2021 22:47:09 -0500 Subject: [PATCH 092/123] Adding tests for eslint ignore --- .eslintignore | 2 + .prettierignore | 4 ++ packages/cli/scripts/util/cdkHelpers.js | 1 - packages/cli/test/helpers/copy-symlinks.js | 3 ++ .../lambda-override-eslintrc/.eslintrc.json | 5 +++ .../lambda-override-eslintrc.test.js | 22 +++++++++++ .../lambda-override-eslintrc/lib/index.js | 37 ++++++++++++++++++ .../lambda-override-eslintrc/package.json | 19 ++++++++++ .../src/.eslintrc.json | 5 +++ .../lambda-override-eslintrc/src/lambda.js | 8 ++++ .../test/lambda-override-eslintrc/sst.json | 5 +++ .../lambda-override-tsconfig.test.js | 23 +++++++++++ .../lambda-override-tsconfig/lib/index.ts | 38 +++++++++++++++++++ .../lambda-override-tsconfig/package.json | 22 +++++++++++ .../lambda-override-tsconfig/src/lambda.ts | 11 ++++++ .../src/tsconfig.json | 21 ++++++++++ .../test/lambda-override-tsconfig/sst.json | 5 +++ .../lambda-override-tsconfig/tsconfig.json | 22 +++++++++++ packages/create-serverless-stack/bin/index.js | 1 + .../lib/%stack-name.PascalCased%.template.ts | 2 +- .../typescript/package.template.json | 3 +- .../templates/typescript/src/lambda.ts | 4 +- packages/resources/src/util/builder.ts | 8 ++-- yarn.lock | 5 +++ 24 files changed, 266 insertions(+), 10 deletions(-) create mode 100644 packages/cli/test/lambda-override-eslintrc/.eslintrc.json create mode 100644 packages/cli/test/lambda-override-eslintrc/lambda-override-eslintrc.test.js create mode 100644 packages/cli/test/lambda-override-eslintrc/lib/index.js create mode 100644 packages/cli/test/lambda-override-eslintrc/package.json create mode 100644 packages/cli/test/lambda-override-eslintrc/src/.eslintrc.json create mode 100644 packages/cli/test/lambda-override-eslintrc/src/lambda.js create mode 100644 packages/cli/test/lambda-override-eslintrc/sst.json create mode 100644 packages/cli/test/lambda-override-tsconfig/lambda-override-tsconfig.test.js create mode 100644 packages/cli/test/lambda-override-tsconfig/lib/index.ts create mode 100644 packages/cli/test/lambda-override-tsconfig/package.json create mode 100644 packages/cli/test/lambda-override-tsconfig/src/lambda.ts create mode 100644 packages/cli/test/lambda-override-tsconfig/src/tsconfig.json create mode 100644 packages/cli/test/lambda-override-tsconfig/sst.json create mode 100644 packages/cli/test/lambda-override-tsconfig/tsconfig.json diff --git a/.eslintignore b/.eslintignore index 6ff47e1f7f..7ce7c29cb3 100644 --- a/.eslintignore +++ b/.eslintignore @@ -21,4 +21,6 @@ cdk.out /packages/cli/test/eslint-ignore/** /packages/cli/test/eslint-ts/** /packages/cli/test/eslint/** +/packages/cli/test/lambda-override-tsconfig/** +/packages/cli/test/lambda-override-eslintrc/** /packages/cli/test/start/src/** diff --git a/.prettierignore b/.prettierignore index 337cd77a5a..d24d386838 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,3 +1,7 @@ +# Ignore CDK outputs +cdk.out +# Ignore SST outputs +.build # Ignore templates /packages/create-serverless-stack/templates/** diff --git a/packages/cli/scripts/util/cdkHelpers.js b/packages/cli/scripts/util/cdkHelpers.js index d1034bde17..dd8e92ee99 100644 --- a/packages/cli/scripts/util/cdkHelpers.js +++ b/packages/cli/scripts/util/cdkHelpers.js @@ -171,7 +171,6 @@ async function lint(inputFiles) { logger.info(stderr); } } catch (e) { - console.log(e); logger.info(e.stdout); exitWithMessage("There was a problem linting the source."); } diff --git a/packages/cli/test/helpers/copy-symlinks.js b/packages/cli/test/helpers/copy-symlinks.js index fe5053f0aa..989af45fbe 100644 --- a/packages/cli/test/helpers/copy-symlinks.js +++ b/packages/cli/test/helpers/copy-symlinks.js @@ -26,6 +26,9 @@ const files = fs.readdirSync(rootBin, { }); files.forEach((file) => { + if (file.name !== "eslint" && file.name !== "tsc") { + return; + } if (file.isSymbolicLink()) { const name = file.name; const relPath = fs.readlinkSync(path.join(rootBin, name)); diff --git a/packages/cli/test/lambda-override-eslintrc/.eslintrc.json b/packages/cli/test/lambda-override-eslintrc/.eslintrc.json new file mode 100644 index 0000000000..a1294e008d --- /dev/null +++ b/packages/cli/test/lambda-override-eslintrc/.eslintrc.json @@ -0,0 +1,5 @@ +{ + "rules": { + "no-unused-vars": "off" + } +} diff --git a/packages/cli/test/lambda-override-eslintrc/lambda-override-eslintrc.test.js b/packages/cli/test/lambda-override-eslintrc/lambda-override-eslintrc.test.js new file mode 100644 index 0000000000..77473b6751 --- /dev/null +++ b/packages/cli/test/lambda-override-eslintrc/lambda-override-eslintrc.test.js @@ -0,0 +1,22 @@ +const { + runBuildCommand, + clearBuildOutput, + successRegex, +} = require("../helpers"); + +beforeEach(async () => { + await clearBuildOutput(__dirname); +}); + +afterAll(async () => { + await clearBuildOutput(__dirname); +}); + +/** + * Test that the tsconfig inside the Lambda srcPath overrides the root tsconfig + */ +test("lambda-override-eslintrc", async () => { + const result = await runBuildCommand(__dirname); + + expect(result).toMatch("2:9 error 'a' is assigned a value but never used"); +}); diff --git a/packages/cli/test/lambda-override-eslintrc/lib/index.js b/packages/cli/test/lambda-override-eslintrc/lib/index.js new file mode 100644 index 0000000000..08c6bd56bf --- /dev/null +++ b/packages/cli/test/lambda-override-eslintrc/lib/index.js @@ -0,0 +1,37 @@ +import * as cdk from "@aws-cdk/core"; +import * as apig from "@aws-cdk/aws-apigatewayv2"; +import * as apigIntegrations from "@aws-cdk/aws-apigatewayv2-integrations"; + +import * as sst from "@serverless-stack/resources"; + +class ApiStack extends sst.Stack { + constructor(scope, id, props) { + super(scope, id, props); + + const a = 1; + + // Create a Lambda function triggered by an HTTP API + const lambda = new sst.Function(this, "Lambda", { + entry: "lambda.js", + srcPath: "src", + }); + + // Create the HTTP API + const api = new apig.HttpApi(this, "Api"); + api.addRoutes({ + path: "/", + integration: new apigIntegrations.LambdaProxyIntegration({ + handler: lambda, + }), + }); + + // Show API endpoint in output + new cdk.CfnOutput(this, "ApiEndpoint", { + value: api.apiEndpoint, + }); + } +} + +export default function(app) { + new ApiStack(app, "api-stack"); +} diff --git a/packages/cli/test/lambda-override-eslintrc/package.json b/packages/cli/test/lambda-override-eslintrc/package.json new file mode 100644 index 0000000000..22032d6cb4 --- /dev/null +++ b/packages/cli/test/lambda-override-eslintrc/package.json @@ -0,0 +1,19 @@ +{ + "name": "lambda-override-eslintrc", + "private": true, + "description": "tests", + "version": "0.0.1", + "scripts": { + "postinstall": "node ../helpers/copy-symlinks.js", + "build": "sst build", + "start": "sst start" + }, + "dependencies": { + "@aws-cdk/aws-apigatewayv2": "1.79.0", + "@aws-cdk/aws-apigatewayv2-integrations": "1.79.0", + "@aws-cdk/core": "1.79.0", + "@serverless-stack/cli": "^1.0.0-alpha.6", + "@serverless-stack/resources": "^1.0.0-alpha.6" + }, + "license": "ISC" +} diff --git a/packages/cli/test/lambda-override-eslintrc/src/.eslintrc.json b/packages/cli/test/lambda-override-eslintrc/src/.eslintrc.json new file mode 100644 index 0000000000..0eb0592cdb --- /dev/null +++ b/packages/cli/test/lambda-override-eslintrc/src/.eslintrc.json @@ -0,0 +1,5 @@ +{ + "rules": { + "no-unused-vars": "error" + } +} diff --git a/packages/cli/test/lambda-override-eslintrc/src/lambda.js b/packages/cli/test/lambda-override-eslintrc/src/lambda.js new file mode 100644 index 0000000000..54a5bc7889 --- /dev/null +++ b/packages/cli/test/lambda-override-eslintrc/src/lambda.js @@ -0,0 +1,8 @@ +export async function handler() { + const a = 1; + return { + statusCode: 200, + body: "Hello World!", + headers: { "Content-Type": "text/plain" }, + }; +} diff --git a/packages/cli/test/lambda-override-eslintrc/sst.json b/packages/cli/test/lambda-override-eslintrc/sst.json new file mode 100644 index 0000000000..9c8f7ed0ba --- /dev/null +++ b/packages/cli/test/lambda-override-eslintrc/sst.json @@ -0,0 +1,5 @@ +{ + "name": "cdknotes", + "stage": "prod", + "region": "us-east-1" +} diff --git a/packages/cli/test/lambda-override-tsconfig/lambda-override-tsconfig.test.js b/packages/cli/test/lambda-override-tsconfig/lambda-override-tsconfig.test.js new file mode 100644 index 0000000000..4654f03df5 --- /dev/null +++ b/packages/cli/test/lambda-override-tsconfig/lambda-override-tsconfig.test.js @@ -0,0 +1,23 @@ +const { + runBuildCommand, + clearBuildOutput, + successRegex, +} = require("../helpers"); + +beforeEach(async () => { + await clearBuildOutput(__dirname); +}); + +afterAll(async () => { + await clearBuildOutput(__dirname); +}); + +/** + * Test that the tsconfig inside the Lambda srcPath overrides the root tsconfig + */ +test("lambda-override-tsconfig", async () => { + const result = await runBuildCommand(__dirname); + + expect(result).not.toMatch("lib/index.ts:12:5 - error TS2322: Type 'null' is not assignable to type 'number'"); + expect(result).toMatch("lambda.ts(3,3): error TS2322: Type 'null' is not assignable to type 'number'"); +}); diff --git a/packages/cli/test/lambda-override-tsconfig/lib/index.ts b/packages/cli/test/lambda-override-tsconfig/lib/index.ts new file mode 100644 index 0000000000..b92d1fbed9 --- /dev/null +++ b/packages/cli/test/lambda-override-tsconfig/lib/index.ts @@ -0,0 +1,38 @@ +import * as cdk from "@aws-cdk/core"; +import * as apig from "@aws-cdk/aws-apigatewayv2"; +import * as apigIntegrations from "@aws-cdk/aws-apigatewayv2-integrations"; + +import * as sst from "@serverless-stack/resources"; + +class ApiStack extends sst.Stack { + constructor(scope: sst.App, id: string, props?: sst.StackProps) { + super(scope, id, props); + + let x: number; // eslint-disable-line prefer-const + x = null; // eslint-disable-line prefer-const, @typescript-eslint/no-unused-vars + + // Create a Lambda function triggered by an HTTP API + const lambda = new sst.Function(this, "Lambda", { + entry: "lambda.ts", + srcPath: "src", + }); + + // Create the HTTP API + const api = new apig.HttpApi(this, "Api"); + api.addRoutes({ + path: "/", + integration: new apigIntegrations.LambdaProxyIntegration({ + handler: lambda, + }), + }); + + // Show API endpoint in output + new cdk.CfnOutput(this, "ApiEndpoint", { + value: api.apiEndpoint, + }); + } +} + +export default function (app: sst.App): void { + new ApiStack(app, "api-stack"); +} diff --git a/packages/cli/test/lambda-override-tsconfig/package.json b/packages/cli/test/lambda-override-tsconfig/package.json new file mode 100644 index 0000000000..52c1c6611c --- /dev/null +++ b/packages/cli/test/lambda-override-tsconfig/package.json @@ -0,0 +1,22 @@ +{ + "name": "lambda-override-tsconfig", + "private": true, + "description": "tests", + "version": "0.0.1", + "scripts": { + "postinstall": "node ../helpers/copy-symlinks.js", + "build": "sst build", + "start": "sst start" + }, + "dependencies": { + "@aws-cdk/aws-apigatewayv2": "1.79.0", + "@aws-cdk/aws-apigatewayv2-integrations": "1.79.0", + "@aws-cdk/core": "1.79.0", + "@serverless-stack/cli": "^1.0.0-alpha.6", + "@serverless-stack/resources": "^1.0.0-alpha.6" + }, + "license": "ISC", + "devDependencies": { + "@types/aws-lambda": "^8.10.70" + } +} diff --git a/packages/cli/test/lambda-override-tsconfig/src/lambda.ts b/packages/cli/test/lambda-override-tsconfig/src/lambda.ts new file mode 100644 index 0000000000..eac544bfe6 --- /dev/null +++ b/packages/cli/test/lambda-override-tsconfig/src/lambda.ts @@ -0,0 +1,11 @@ +import { APIGatewayProxyResult } from "aws-lambda"; + +export async function handler(): Promise { + let y: number; // eslint-disable-line prefer-const + y = null; // eslint-disable-line prefer-const, @typescript-eslint/no-unused-vars + return { + statusCode: 200, + body: "Hello World!", + headers: { "Content-Type": "text/plain" }, + }; +} diff --git a/packages/cli/test/lambda-override-tsconfig/src/tsconfig.json b/packages/cli/test/lambda-override-tsconfig/src/tsconfig.json new file mode 100644 index 0000000000..9d1973ade9 --- /dev/null +++ b/packages/cli/test/lambda-override-tsconfig/src/tsconfig.json @@ -0,0 +1,21 @@ +{ + "compilerOptions": { + "target": "ES2018", + "module": "commonjs", + "lib": ["es2018"], + "declaration": true, + "strict": true, + "noImplicitAny": true, + "strictNullChecks": true, + "noImplicitThis": true, + "alwaysStrict": true, + "noUnusedLocals": false, + "noUnusedParameters": false, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": false, + "inlineSourceMap": true, + "inlineSources": true, + "experimentalDecorators": true, + "strictPropertyInitialization": false + } +} diff --git a/packages/cli/test/lambda-override-tsconfig/sst.json b/packages/cli/test/lambda-override-tsconfig/sst.json new file mode 100644 index 0000000000..9c8f7ed0ba --- /dev/null +++ b/packages/cli/test/lambda-override-tsconfig/sst.json @@ -0,0 +1,5 @@ +{ + "name": "cdknotes", + "stage": "prod", + "region": "us-east-1" +} diff --git a/packages/cli/test/lambda-override-tsconfig/tsconfig.json b/packages/cli/test/lambda-override-tsconfig/tsconfig.json new file mode 100644 index 0000000000..415acf9843 --- /dev/null +++ b/packages/cli/test/lambda-override-tsconfig/tsconfig.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "target": "ES2018", + "module": "commonjs", + "lib": ["es2018"], + "declaration": true, + "strict": true, + "noImplicitAny": true, + "strictNullChecks": false, + "noImplicitThis": true, + "alwaysStrict": true, + "noUnusedLocals": false, + "noUnusedParameters": false, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": false, + "inlineSourceMap": true, + "inlineSources": true, + "experimentalDecorators": true, + "strictPropertyInitialization": false, + "typeRoots": ["./node_modules/@types"] + } +} diff --git a/packages/create-serverless-stack/bin/index.js b/packages/create-serverless-stack/bin/index.js index f18b104e52..327896f902 100755 --- a/packages/create-serverless-stack/bin/index.js +++ b/packages/create-serverless-stack/bin/index.js @@ -39,6 +39,7 @@ const argv = yargs .usage(`${cmd} [name]`) .command("* [name]", commandDesc, argBuilder) + // TODO: Remove deprecated command later .command({ command: "resources [name]", desc: commandDesc, diff --git a/packages/create-serverless-stack/templates/typescript/lib/%stack-name.PascalCased%.template.ts b/packages/create-serverless-stack/templates/typescript/lib/%stack-name.PascalCased%.template.ts index da1cd40654..8a1ea3557c 100644 --- a/packages/create-serverless-stack/templates/typescript/lib/%stack-name.PascalCased%.template.ts +++ b/packages/create-serverless-stack/templates/typescript/lib/%stack-name.PascalCased%.template.ts @@ -10,7 +10,7 @@ export default class %stack-name.PascalCased% extends sst.Stack { // Create a Lambda function triggered by an HTTP API const lambda = new sst.Function(this, "Lambda", { - entry: "lambda.js", + entry: "lambda.ts", srcPath: "src", }); diff --git a/packages/create-serverless-stack/templates/typescript/package.template.json b/packages/create-serverless-stack/templates/typescript/package.template.json index 074e87030c..5d6845d17e 100644 --- a/packages/create-serverless-stack/templates/typescript/package.template.json +++ b/packages/create-serverless-stack/templates/typescript/package.template.json @@ -10,7 +10,8 @@ "remove": "sst remove" }, "devDependencies": { - "@aws-cdk/assert": "%cdk-version%" + "@aws-cdk/assert": "%cdk-version%", + "@types/aws-lambda": "^8.10.70" }, "dependencies": { "@serverless-stack/cli": "%sst-version%", diff --git a/packages/create-serverless-stack/templates/typescript/src/lambda.ts b/packages/create-serverless-stack/templates/typescript/src/lambda.ts index c037139ff9..66909a498e 100644 --- a/packages/create-serverless-stack/templates/typescript/src/lambda.ts +++ b/packages/create-serverless-stack/templates/typescript/src/lambda.ts @@ -1,6 +1,6 @@ -import { APIGatewayEvent } from "aws-lambda"; +import { APIGatewayProxyResult } from "aws-lambda"; -export async function handler(event: APIGatewayEvent): any { +export async function handler(): Promise { return { statusCode: 200, body: "Hello World!", diff --git a/packages/resources/src/util/builder.ts b/packages/resources/src/util/builder.ts index dc35d7a920..328daa861d 100644 --- a/packages/resources/src/util/builder.ts +++ b/packages/resources/src/util/builder.ts @@ -132,11 +132,9 @@ export function builder(builderProps: BuilderProps): BuilderOutput { try { const stdout = execSync( - [ - path.join(appNodeModules, ".bin", "tsc"), - "--pretty", - "--noEmit", - ].join(" "), + [path.join(appNodeModules, ".bin", "tsc"), "--pretty", "--noEmit"].join( + " " + ), { cwd: srcPath } ); const output = stdout.toString(); diff --git a/yarn.lock b/yarn.lock index b1aea20089..79628238bd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2829,6 +2829,11 @@ resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== +"@types/aws-lambda@^8.10.70": + version "8.10.70" + resolved "https://registry.yarnpkg.com/@types/aws-lambda/-/aws-lambda-8.10.70.tgz#1d1c79730669b337208e3476f7a16150d43fcaf5" + integrity sha512-adaPn39OKMIzCxaf2KHBu4d3MJKLGdm27zxAyag+rAI1UTwgtgEgrwRpuzN1NDMZn/i6vRxJZRbsSmlw7I0/Sg== + "@types/babel__core@^7.0.0", "@types/babel__core@^7.1.7": version "7.1.12" resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.12.tgz#4d8e9e51eb265552a7e4f1ff2219ab6133bdfb2d" From 9488f0e1f7054a4fce31eb4f74210f35c69e2a02 Mon Sep 17 00:00:00 2001 From: Jay Date: Fri, 8 Jan 2021 23:02:45 -0500 Subject: [PATCH 093/123] Fixing test --- .../lambda-override-tsconfig/lambda-override-tsconfig.test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/cli/test/lambda-override-tsconfig/lambda-override-tsconfig.test.js b/packages/cli/test/lambda-override-tsconfig/lambda-override-tsconfig.test.js index 4654f03df5..26d1a66fe8 100644 --- a/packages/cli/test/lambda-override-tsconfig/lambda-override-tsconfig.test.js +++ b/packages/cli/test/lambda-override-tsconfig/lambda-override-tsconfig.test.js @@ -19,5 +19,5 @@ test("lambda-override-tsconfig", async () => { const result = await runBuildCommand(__dirname); expect(result).not.toMatch("lib/index.ts:12:5 - error TS2322: Type 'null' is not assignable to type 'number'"); - expect(result).toMatch("lambda.ts(3,3): error TS2322: Type 'null' is not assignable to type 'number'"); + expect(result).toMatch("lambda.ts(5,3): error TS2322: Type 'null' is not assignable to type 'number'"); }); From 6ba0ac482bb762417ae6210d269ba3e96442375d Mon Sep 17 00:00:00 2001 From: Jay Date: Sat, 9 Jan 2021 16:03:07 -0500 Subject: [PATCH 094/123] Updating esbuild. Fixing create CLI copy. --- packages/cli/package.json | 2 +- packages/create-serverless-stack/bin/index.js | 16 +++++++++------- packages/resources/package.json | 2 +- yarn.lock | 2 +- 4 files changed, 12 insertions(+), 10 deletions(-) diff --git a/packages/cli/package.json b/packages/cli/package.json index a574533bab..e32262133a 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -56,7 +56,7 @@ "chokidar": "^3.4.3", "core-js": "^3.6.5", "cross-spawn": "^7.0.3", - "esbuild": "^0.8.26", + "esbuild": "^0.8.31", "eslint": "^7.16.0", "fast-safe-stringify": "^2.0.6", "fs-extra": "^9.0.1", diff --git a/packages/create-serverless-stack/bin/index.js b/packages/create-serverless-stack/bin/index.js index 327896f902..c3b15b9363 100755 --- a/packages/create-serverless-stack/bin/index.js +++ b/packages/create-serverless-stack/bin/index.js @@ -138,8 +138,7 @@ const templatePath = path.join(paths.ownTemplatesPath, templateLanguage); })(); function getUserCmd(action) { - const run = action === "test" ? "" : "run "; - return useYarn ? `yarn ${run}${action}` : `npm ${run}${action}`; + return useYarn ? `yarn run ${action}` : `npm run ${action}`; } /* eslint-disable no-unused-vars */ @@ -210,12 +209,10 @@ function copyFiles(sourceDirectory, targetDirectory) { function printSuccess() { console.log(`Success! Created ${appName} in ${appPath}`); + console.log("You can run:"); console.log(""); - console.log("To get started:"); - console.log(""); - console.log(" " + chalk.cyan("cd ") + appName); - console.log(""); - console.log("And run:"); + console.log(" " + chalk.cyan(getUserCmd("start"))); + console.log(" Start the local development environment"); console.log(""); console.log(" " + chalk.cyan(getUserCmd("test"))); console.log(" Run your tests"); @@ -229,5 +226,10 @@ function printSuccess() { console.log(" " + chalk.cyan(getUserCmd("remove"))); console.log(" Remove all your stacks and all their resources from AWS"); console.log(""); + console.log("To get started:"); + console.log(""); + console.log(" " + chalk.cyan("cd ") + appName); + console.log(" " + chalk.cyan(getUserCmd("start"))); + console.log(""); console.log("Have fun!"); } diff --git a/packages/resources/package.json b/packages/resources/package.json index d3695b89e9..3eb0e84c4f 100644 --- a/packages/resources/package.json +++ b/packages/resources/package.json @@ -29,7 +29,7 @@ "@aws-cdk/aws-lambda-nodejs": "1.79.0", "@aws-cdk/core": "1.79.0", "chalk": "^4.1.0", - "esbuild": "^0.8.26", + "esbuild": "^0.8.31", "eslint": "^7.16.0", "fs-extra": "^9.0.1", "typescript": "^3.9.7" diff --git a/yarn.lock b/yarn.lock index 79628238bd..ee758dcb71 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4842,7 +4842,7 @@ es6-promisify@^5.0.0: dependencies: es6-promise "^4.0.3" -esbuild@^0.8.26: +esbuild@^0.8.31: version "0.8.31" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.8.31.tgz#c21e7adb3ad283c951a53de7ad64a5ae2df2ed34" integrity sha512-7EIU0VdUxltwivjVezX3HgeNzeIVR1snkrAo57WdUnuBMykdzin5rTrxwCDM6xQqj0RL/HjOEm3wFr2ijHKeaA== From 605b77b7db9739316110e8988579e56f3784c7ed Mon Sep 17 00:00:00 2001 From: Jay Date: Sat, 9 Jan 2021 16:04:14 -0500 Subject: [PATCH 095/123] v1.0.0-alpha.7 --- lerna.json | 6 ++++-- packages/cli/package.json | 8 ++++---- packages/cli/test/add-cdk/package.json | 4 ++-- packages/cli/test/base-ts/package.json | 6 +++--- packages/cli/test/base/package.json | 6 +++--- packages/cli/test/cdk-command/package.json | 6 +++--- packages/cli/test/config-invalid/package.json | 6 +++--- packages/cli/test/config-no-name/package.json | 6 +++--- packages/cli/test/config-not-found/package.json | 6 +++--- packages/cli/test/config/package.json | 6 +++--- packages/cli/test/context/package.json | 6 +++--- packages/cli/test/eslint-ignore-rule/package.json | 6 +++--- packages/cli/test/eslint-ignore/package.json | 6 +++--- packages/cli/test/eslint-ts/package.json | 6 +++--- packages/cli/test/eslint/package.json | 6 +++--- packages/cli/test/handler-function-not-found/package.json | 6 +++--- packages/cli/test/handler-not-found/package.json | 6 +++--- packages/cli/test/jest-ts/package.json | 6 +++--- packages/cli/test/jest/package.json | 6 +++--- packages/cli/test/lambda-override-eslintrc/package.json | 6 +++--- packages/cli/test/lambda-override-tsconfig/package.json | 6 +++--- packages/cli/test/mismatched-cdk-versions/package.json | 6 +++--- packages/cli/test/stack-no-prefix/package.json | 6 +++--- packages/cli/test/stack-set-env/package.json | 6 +++--- packages/cli/test/start-base/package.json | 6 +++--- packages/cli/test/start-no-src-path/package.json | 6 +++--- packages/core/package.json | 2 +- packages/create-serverless-stack/package.json | 2 +- packages/logger/package.json | 4 ++-- packages/resources/package.json | 2 +- 30 files changed, 84 insertions(+), 82 deletions(-) diff --git a/lerna.json b/lerna.json index 4b35eb2c1f..5cfa05235a 100644 --- a/lerna.json +++ b/lerna.json @@ -1,6 +1,8 @@ { - "packages": ["packages/*"], + "packages": [ + "packages/*" + ], "npmClient": "yarn", "useWorkspaces": true, - "version": "1.0.0-alpha.6" + "version": "1.0.0-alpha.7" } diff --git a/packages/cli/package.json b/packages/cli/package.json index e32262133a..d605e47ccf 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@serverless-stack/cli", - "version": "1.0.0-alpha.6", + "version": "1.0.0-alpha.7", "description": "A CLI to help deploy Serverless Stack apps.", "scripts": { "prepare": "./bin/sync-cdk-version.js", @@ -45,8 +45,8 @@ "@babel/eslint-plugin": "^7.11.3", "@babel/plugin-proposal-class-properties": "^7.10.4", "@babel/preset-env": "^7.10.4", - "@serverless-stack/core": "^1.0.0-alpha.6", - "@serverless-stack/resources": "^1.0.0-alpha.6", + "@serverless-stack/core": "^1.0.0-alpha.7", + "@serverless-stack/resources": "^1.0.0-alpha.7", "@types/jest": "^26.0.7", "@types/node": "^14.0.27", "@typescript-eslint/eslint-plugin": "^3.9.1", @@ -61,7 +61,7 @@ "fast-safe-stringify": "^2.0.6", "fs-extra": "^9.0.1", "jest": "^26.1.0", - "logger": "^1.0.0-alpha.6", + "logger": "^1.0.0-alpha.7", "promise.allsettled": "^1.0.2", "source-map-support": "^0.5.19", "ts-jest": "^26.1.4", diff --git a/packages/cli/test/add-cdk/package.json b/packages/cli/test/add-cdk/package.json index 866d46bbf3..a4890617db 100644 --- a/packages/cli/test/add-cdk/package.json +++ b/packages/cli/test/add-cdk/package.json @@ -2,13 +2,13 @@ "name": "add-cdk", "private": true, "description": "tests", - "version": "1.0.0-alpha.6", + "version": "1.0.0-alpha.7", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "add-cdk": "sst add-cdk" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.6" + "@serverless-stack/cli": "^1.0.0-alpha.7" }, "license": "ISC" } diff --git a/packages/cli/test/base-ts/package.json b/packages/cli/test/base-ts/package.json index 10a6e7db80..4a0eb82a70 100644 --- a/packages/cli/test/base-ts/package.json +++ b/packages/cli/test/base-ts/package.json @@ -2,7 +2,7 @@ "name": "base-ts", "private": true, "description": "tests", - "version": "1.0.0-alpha.6", + "version": "1.0.0-alpha.7", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "start": "sst start", @@ -14,8 +14,8 @@ "dependencies": { "@aws-cdk/aws-s3": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.6", - "@serverless-stack/resources": "^1.0.0-alpha.6" + "@serverless-stack/cli": "^1.0.0-alpha.7", + "@serverless-stack/resources": "^1.0.0-alpha.7" }, "license": "ISC", "devDependencies": { diff --git a/packages/cli/test/base/package.json b/packages/cli/test/base/package.json index 6885d9d294..977b889d1d 100644 --- a/packages/cli/test/base/package.json +++ b/packages/cli/test/base/package.json @@ -2,7 +2,7 @@ "name": "base", "private": true, "description": "tests", - "version": "1.0.0-alpha.6", + "version": "1.0.0-alpha.7", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "start": "sst start", @@ -18,8 +18,8 @@ "@aws-cdk/aws-iam": "1.79.0", "@aws-cdk/aws-s3": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.6", - "@serverless-stack/resources": "^1.0.0-alpha.6" + "@serverless-stack/cli": "^1.0.0-alpha.7", + "@serverless-stack/resources": "^1.0.0-alpha.7" }, "license": "ISC" } diff --git a/packages/cli/test/cdk-command/package.json b/packages/cli/test/cdk-command/package.json index e8b07ccfd6..212a4c80f7 100644 --- a/packages/cli/test/cdk-command/package.json +++ b/packages/cli/test/cdk-command/package.json @@ -2,14 +2,14 @@ "name": "cdk-command", "private": true, "description": "tests", - "version": "1.0.0-alpha.6", + "version": "1.0.0-alpha.7", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "cdk": "sst cdk" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.6", - "@serverless-stack/resources": "^1.0.0-alpha.6" + "@serverless-stack/cli": "^1.0.0-alpha.7", + "@serverless-stack/resources": "^1.0.0-alpha.7" }, "license": "ISC" } diff --git a/packages/cli/test/config-invalid/package.json b/packages/cli/test/config-invalid/package.json index 3828c02a62..9a5e177050 100644 --- a/packages/cli/test/config-invalid/package.json +++ b/packages/cli/test/config-invalid/package.json @@ -2,14 +2,14 @@ "name": "config-invalid", "private": true, "description": "tests", - "version": "1.0.0-alpha.6", + "version": "1.0.0-alpha.7", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.6", - "@serverless-stack/resources": "^1.0.0-alpha.6" + "@serverless-stack/cli": "^1.0.0-alpha.7", + "@serverless-stack/resources": "^1.0.0-alpha.7" }, "license": "ISC" } diff --git a/packages/cli/test/config-no-name/package.json b/packages/cli/test/config-no-name/package.json index 521d046bab..132627249f 100644 --- a/packages/cli/test/config-no-name/package.json +++ b/packages/cli/test/config-no-name/package.json @@ -2,14 +2,14 @@ "name": "config-no-name", "private": true, "description": "tests", - "version": "1.0.0-alpha.6", + "version": "1.0.0-alpha.7", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.6", - "@serverless-stack/resources": "^1.0.0-alpha.6" + "@serverless-stack/cli": "^1.0.0-alpha.7", + "@serverless-stack/resources": "^1.0.0-alpha.7" }, "license": "ISC" } diff --git a/packages/cli/test/config-not-found/package.json b/packages/cli/test/config-not-found/package.json index dfd92c6962..6f510acf70 100644 --- a/packages/cli/test/config-not-found/package.json +++ b/packages/cli/test/config-not-found/package.json @@ -2,14 +2,14 @@ "name": "config-not-found", "private": true, "description": "tests", - "version": "1.0.0-alpha.6", + "version": "1.0.0-alpha.7", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.6", - "@serverless-stack/resources": "^1.0.0-alpha.6" + "@serverless-stack/cli": "^1.0.0-alpha.7", + "@serverless-stack/resources": "^1.0.0-alpha.7" }, "license": "ISC" } diff --git a/packages/cli/test/config/package.json b/packages/cli/test/config/package.json index 10ffc0bee4..678a10fc05 100644 --- a/packages/cli/test/config/package.json +++ b/packages/cli/test/config/package.json @@ -2,15 +2,15 @@ "name": "config-test", "private": true, "description": "tests", - "version": "1.0.0-alpha.6", + "version": "1.0.0-alpha.7", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { "@aws-cdk/aws-dynamodb": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.6", - "@serverless-stack/resources": "^1.0.0-alpha.6" + "@serverless-stack/cli": "^1.0.0-alpha.7", + "@serverless-stack/resources": "^1.0.0-alpha.7" }, "license": "ISC" } diff --git a/packages/cli/test/context/package.json b/packages/cli/test/context/package.json index 8fb47b2b52..24197427d2 100644 --- a/packages/cli/test/context/package.json +++ b/packages/cli/test/context/package.json @@ -2,15 +2,15 @@ "name": "context", "private": true, "description": "tests", - "version": "1.0.0-alpha.6", + "version": "1.0.0-alpha.7", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { "@aws-cdk/aws-dynamodb": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.6", - "@serverless-stack/resources": "^1.0.0-alpha.6" + "@serverless-stack/cli": "^1.0.0-alpha.7", + "@serverless-stack/resources": "^1.0.0-alpha.7" }, "license": "ISC" } diff --git a/packages/cli/test/eslint-ignore-rule/package.json b/packages/cli/test/eslint-ignore-rule/package.json index 0b94ee1c6b..f2306d70f2 100644 --- a/packages/cli/test/eslint-ignore-rule/package.json +++ b/packages/cli/test/eslint-ignore-rule/package.json @@ -2,14 +2,14 @@ "name": "eslint-ignore-rule", "private": true, "description": "tests", - "version": "1.0.0-alpha.6", + "version": "1.0.0-alpha.7", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.6", - "@serverless-stack/resources": "^1.0.0-alpha.6" + "@serverless-stack/cli": "^1.0.0-alpha.7", + "@serverless-stack/resources": "^1.0.0-alpha.7" }, "license": "ISC" } diff --git a/packages/cli/test/eslint-ignore/package.json b/packages/cli/test/eslint-ignore/package.json index 2b3e419282..3bdd208726 100644 --- a/packages/cli/test/eslint-ignore/package.json +++ b/packages/cli/test/eslint-ignore/package.json @@ -2,14 +2,14 @@ "name": "eslint-ignore", "private": true, "description": "tests", - "version": "1.0.0-alpha.6", + "version": "1.0.0-alpha.7", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.6", - "@serverless-stack/resources": "^1.0.0-alpha.6" + "@serverless-stack/cli": "^1.0.0-alpha.7", + "@serverless-stack/resources": "^1.0.0-alpha.7" }, "license": "ISC" } diff --git a/packages/cli/test/eslint-ts/package.json b/packages/cli/test/eslint-ts/package.json index c10ea37419..0c0e7244df 100644 --- a/packages/cli/test/eslint-ts/package.json +++ b/packages/cli/test/eslint-ts/package.json @@ -2,14 +2,14 @@ "name": "eslint-ts", "private": true, "description": "tests", - "version": "1.0.0-alpha.6", + "version": "1.0.0-alpha.7", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.6", - "@serverless-stack/resources": "^1.0.0-alpha.6" + "@serverless-stack/cli": "^1.0.0-alpha.7", + "@serverless-stack/resources": "^1.0.0-alpha.7" }, "license": "ISC" } diff --git a/packages/cli/test/eslint/package.json b/packages/cli/test/eslint/package.json index 92459758e6..7c1eef0dc8 100644 --- a/packages/cli/test/eslint/package.json +++ b/packages/cli/test/eslint/package.json @@ -2,14 +2,14 @@ "name": "eslint", "private": true, "description": "tests", - "version": "1.0.0-alpha.6", + "version": "1.0.0-alpha.7", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.6", - "@serverless-stack/resources": "^1.0.0-alpha.6" + "@serverless-stack/cli": "^1.0.0-alpha.7", + "@serverless-stack/resources": "^1.0.0-alpha.7" }, "license": "ISC" } diff --git a/packages/cli/test/handler-function-not-found/package.json b/packages/cli/test/handler-function-not-found/package.json index 18b5285e50..8b8b2d43de 100644 --- a/packages/cli/test/handler-function-not-found/package.json +++ b/packages/cli/test/handler-function-not-found/package.json @@ -2,14 +2,14 @@ "name": "handler-function-not-found", "private": true, "description": "tests", - "version": "1.0.0-alpha.6", + "version": "1.0.0-alpha.7", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.6", - "@serverless-stack/resources": "^1.0.0-alpha.6" + "@serverless-stack/cli": "^1.0.0-alpha.7", + "@serverless-stack/resources": "^1.0.0-alpha.7" }, "license": "ISC" } diff --git a/packages/cli/test/handler-not-found/package.json b/packages/cli/test/handler-not-found/package.json index 01f1a015f7..9b8e8fc2f7 100644 --- a/packages/cli/test/handler-not-found/package.json +++ b/packages/cli/test/handler-not-found/package.json @@ -2,14 +2,14 @@ "name": "handler-not-found", "private": true, "description": "tests", - "version": "1.0.0-alpha.6", + "version": "1.0.0-alpha.7", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.6", - "@serverless-stack/resources": "^1.0.0-alpha.6" + "@serverless-stack/cli": "^1.0.0-alpha.7", + "@serverless-stack/resources": "^1.0.0-alpha.7" }, "license": "ISC" } diff --git a/packages/cli/test/jest-ts/package.json b/packages/cli/test/jest-ts/package.json index 92cf8e734e..3b6e13d088 100644 --- a/packages/cli/test/jest-ts/package.json +++ b/packages/cli/test/jest-ts/package.json @@ -2,7 +2,7 @@ "name": "jest-ts", "private": true, "description": "tests", - "version": "1.0.0-alpha.6", + "version": "1.0.0-alpha.7", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build", @@ -19,8 +19,8 @@ "@aws-cdk/aws-sns-subscriptions": "1.79.0", "@aws-cdk/aws-sqs": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.6", - "@serverless-stack/resources": "^1.0.0-alpha.6" + "@serverless-stack/cli": "^1.0.0-alpha.7", + "@serverless-stack/resources": "^1.0.0-alpha.7" }, "license": "ISC", "devDependencies": { diff --git a/packages/cli/test/jest/package.json b/packages/cli/test/jest/package.json index ad33224d1d..ed21be9a31 100644 --- a/packages/cli/test/jest/package.json +++ b/packages/cli/test/jest/package.json @@ -2,7 +2,7 @@ "name": "jest", "private": true, "description": "tests", - "version": "1.0.0-alpha.6", + "version": "1.0.0-alpha.7", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "test": "sst test" @@ -15,8 +15,8 @@ "dependencies": { "@aws-cdk/aws-dynamodb": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.6", - "@serverless-stack/resources": "^1.0.0-alpha.6" + "@serverless-stack/cli": "^1.0.0-alpha.7", + "@serverless-stack/resources": "^1.0.0-alpha.7" }, "license": "ISC", "devDependencies": { diff --git a/packages/cli/test/lambda-override-eslintrc/package.json b/packages/cli/test/lambda-override-eslintrc/package.json index 22032d6cb4..4107cf850f 100644 --- a/packages/cli/test/lambda-override-eslintrc/package.json +++ b/packages/cli/test/lambda-override-eslintrc/package.json @@ -2,7 +2,7 @@ "name": "lambda-override-eslintrc", "private": true, "description": "tests", - "version": "0.0.1", + "version": "1.0.0-alpha.7", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build", @@ -12,8 +12,8 @@ "@aws-cdk/aws-apigatewayv2": "1.79.0", "@aws-cdk/aws-apigatewayv2-integrations": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.6", - "@serverless-stack/resources": "^1.0.0-alpha.6" + "@serverless-stack/cli": "^1.0.0-alpha.7", + "@serverless-stack/resources": "^1.0.0-alpha.7" }, "license": "ISC" } diff --git a/packages/cli/test/lambda-override-tsconfig/package.json b/packages/cli/test/lambda-override-tsconfig/package.json index 52c1c6611c..7352d2ed68 100644 --- a/packages/cli/test/lambda-override-tsconfig/package.json +++ b/packages/cli/test/lambda-override-tsconfig/package.json @@ -2,7 +2,7 @@ "name": "lambda-override-tsconfig", "private": true, "description": "tests", - "version": "0.0.1", + "version": "1.0.0-alpha.7", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build", @@ -12,8 +12,8 @@ "@aws-cdk/aws-apigatewayv2": "1.79.0", "@aws-cdk/aws-apigatewayv2-integrations": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.6", - "@serverless-stack/resources": "^1.0.0-alpha.6" + "@serverless-stack/cli": "^1.0.0-alpha.7", + "@serverless-stack/resources": "^1.0.0-alpha.7" }, "license": "ISC", "devDependencies": { diff --git a/packages/cli/test/mismatched-cdk-versions/package.json b/packages/cli/test/mismatched-cdk-versions/package.json index e48810c527..f492f0ebe5 100644 --- a/packages/cli/test/mismatched-cdk-versions/package.json +++ b/packages/cli/test/mismatched-cdk-versions/package.json @@ -2,7 +2,7 @@ "name": "mismatched-cdk-versions", "private": true, "description": "tests", - "version": "1.0.0-alpha.6", + "version": "1.0.0-alpha.7", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" @@ -13,8 +13,8 @@ "@aws-cdk/aws-iam": "1.57.0", "@aws-cdk/aws-s3": "^1.57.0", "@aws-cdk/core": "1.56.0", - "@serverless-stack/cli": "^1.0.0-alpha.6", - "@serverless-stack/resources": "^1.0.0-alpha.6" + "@serverless-stack/cli": "^1.0.0-alpha.7", + "@serverless-stack/resources": "^1.0.0-alpha.7" }, "license": "ISC" } diff --git a/packages/cli/test/stack-no-prefix/package.json b/packages/cli/test/stack-no-prefix/package.json index 20bf25a948..9fca430a76 100644 --- a/packages/cli/test/stack-no-prefix/package.json +++ b/packages/cli/test/stack-no-prefix/package.json @@ -2,15 +2,15 @@ "name": "stack-no-prefix", "private": true, "description": "tests", - "version": "1.0.0-alpha.6", + "version": "1.0.0-alpha.7", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.6", - "@serverless-stack/resources": "^1.0.0-alpha.6" + "@serverless-stack/cli": "^1.0.0-alpha.7", + "@serverless-stack/resources": "^1.0.0-alpha.7" }, "license": "ISC" } diff --git a/packages/cli/test/stack-set-env/package.json b/packages/cli/test/stack-set-env/package.json index 451af1fee4..bc9081446b 100644 --- a/packages/cli/test/stack-set-env/package.json +++ b/packages/cli/test/stack-set-env/package.json @@ -2,14 +2,14 @@ "name": "stack-set-env", "private": true, "description": "tests", - "version": "1.0.0-alpha.6", + "version": "1.0.0-alpha.7", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.6", - "@serverless-stack/resources": "^1.0.0-alpha.6" + "@serverless-stack/cli": "^1.0.0-alpha.7", + "@serverless-stack/resources": "^1.0.0-alpha.7" }, "license": "ISC" } diff --git a/packages/cli/test/start-base/package.json b/packages/cli/test/start-base/package.json index 398c9fb62b..c424707d9b 100644 --- a/packages/cli/test/start-base/package.json +++ b/packages/cli/test/start-base/package.json @@ -2,7 +2,7 @@ "name": "start-base", "private": true, "description": "tests", - "version": "0.0.1", + "version": "1.0.0-alpha.7", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "start": "sst start", @@ -17,8 +17,8 @@ "@aws-cdk/aws-sns": "1.79.0", "@aws-cdk/aws-sns-subscriptions": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.6", - "@serverless-stack/resources": "^1.0.0-alpha.6" + "@serverless-stack/cli": "^1.0.0-alpha.7", + "@serverless-stack/resources": "^1.0.0-alpha.7" }, "license": "ISC" } diff --git a/packages/cli/test/start-no-src-path/package.json b/packages/cli/test/start-no-src-path/package.json index 65677bb9f2..1cd4e9f5a0 100644 --- a/packages/cli/test/start-no-src-path/package.json +++ b/packages/cli/test/start-no-src-path/package.json @@ -2,7 +2,7 @@ "name": "start-no-src-path", "private": true, "description": "tests", - "version": "1.0.0-alpha.6", + "version": "1.0.0-alpha.7", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "start": "sst start", @@ -16,8 +16,8 @@ "@aws-cdk/aws-apigatewayv2-integrations": "1.79.0", "@aws-cdk/aws-lambda": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.6", - "@serverless-stack/resources": "^1.0.0-alpha.6", + "@serverless-stack/cli": "^1.0.0-alpha.7", + "@serverless-stack/resources": "^1.0.0-alpha.7", "mirrarray": "^2.0.0" }, "license": "ISC" diff --git a/packages/core/package.json b/packages/core/package.json index 9292dec685..0ef2178dd4 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@serverless-stack/core", - "version": "1.0.0-alpha.6", + "version": "1.0.0-alpha.7", "homepage": "https://serverless-stack.com", "description": "Core of the Serverless Stack Toolkit.", "main": "index.js", diff --git a/packages/create-serverless-stack/package.json b/packages/create-serverless-stack/package.json index 0b92fb478d..7a96772a75 100644 --- a/packages/create-serverless-stack/package.json +++ b/packages/create-serverless-stack/package.json @@ -1,6 +1,6 @@ { "name": "create-serverless-stack", - "version": "1.0.0-alpha.6", + "version": "1.0.0-alpha.7", "homepage": "https://serverless-stack.com", "description": "Create Serverless Stack apps.", "bin": { diff --git a/packages/logger/package.json b/packages/logger/package.json index 33d8ff056a..ca65830048 100644 --- a/packages/logger/package.json +++ b/packages/logger/package.json @@ -1,7 +1,7 @@ { "name": "logger", "private": true, - "version": "1.0.0-alpha.6", + "version": "1.0.0-alpha.7", "homepage": "https://serverless-stack.com", "description": "A logger package for Serverless Stack Toolkit.", "main": "index.js", @@ -16,7 +16,7 @@ }, "license": "MIT", "dependencies": { - "logger": "^1.0.0-alpha.6", + "logger": "^1.0.0-alpha.7", "winston": "^3.3.3" } } diff --git a/packages/resources/package.json b/packages/resources/package.json index 3eb0e84c4f..d4f59614a7 100644 --- a/packages/resources/package.json +++ b/packages/resources/package.json @@ -1,6 +1,6 @@ { "name": "@serverless-stack/resources", - "version": "1.0.0-alpha.6", + "version": "1.0.0-alpha.7", "homepage": "https://serverless-stack.com", "description": "Helper AWS CDK constructs for Serverless Stack apps.", "main": "dist/index.js", From 4ef7f5e79053d31eb8c410b29486469b9c9662fd Mon Sep 17 00:00:00 2001 From: Jay Date: Sat, 9 Jan 2021 16:33:14 -0500 Subject: [PATCH 096/123] Fixing dependencies --- packages/logger/package.json | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/logger/package.json b/packages/logger/package.json index ca65830048..c5a5a45eac 100644 --- a/packages/logger/package.json +++ b/packages/logger/package.json @@ -16,7 +16,6 @@ }, "license": "MIT", "dependencies": { - "logger": "^1.0.0-alpha.7", "winston": "^3.3.3" } } From 3a6ff7b4cf24a4f4e230219642125dc8601d58f7 Mon Sep 17 00:00:00 2001 From: Jay Date: Sat, 9 Jan 2021 16:34:14 -0500 Subject: [PATCH 097/123] v1.0.0-alpha.8 --- lerna.json | 2 +- packages/cli/package.json | 8 ++++---- packages/cli/test/add-cdk/package.json | 4 ++-- packages/cli/test/base-ts/package.json | 6 +++--- packages/cli/test/base/package.json | 6 +++--- packages/cli/test/cdk-command/package.json | 6 +++--- packages/cli/test/config-invalid/package.json | 6 +++--- packages/cli/test/config-no-name/package.json | 6 +++--- packages/cli/test/config-not-found/package.json | 6 +++--- packages/cli/test/config/package.json | 6 +++--- packages/cli/test/context/package.json | 6 +++--- packages/cli/test/eslint-ignore-rule/package.json | 6 +++--- packages/cli/test/eslint-ignore/package.json | 6 +++--- packages/cli/test/eslint-ts/package.json | 6 +++--- packages/cli/test/eslint/package.json | 6 +++--- packages/cli/test/handler-function-not-found/package.json | 6 +++--- packages/cli/test/handler-not-found/package.json | 6 +++--- packages/cli/test/jest-ts/package.json | 6 +++--- packages/cli/test/jest/package.json | 6 +++--- packages/cli/test/lambda-override-eslintrc/package.json | 6 +++--- packages/cli/test/lambda-override-tsconfig/package.json | 6 +++--- packages/cli/test/mismatched-cdk-versions/package.json | 6 +++--- packages/cli/test/stack-no-prefix/package.json | 6 +++--- packages/cli/test/stack-set-env/package.json | 6 +++--- packages/cli/test/start-base/package.json | 6 +++--- packages/cli/test/start-no-src-path/package.json | 6 +++--- packages/core/package.json | 2 +- packages/create-serverless-stack/package.json | 2 +- packages/logger/package.json | 2 +- packages/resources/package.json | 2 +- 30 files changed, 80 insertions(+), 80 deletions(-) diff --git a/lerna.json b/lerna.json index 5cfa05235a..144cd7d779 100644 --- a/lerna.json +++ b/lerna.json @@ -4,5 +4,5 @@ ], "npmClient": "yarn", "useWorkspaces": true, - "version": "1.0.0-alpha.7" + "version": "1.0.0-alpha.8" } diff --git a/packages/cli/package.json b/packages/cli/package.json index d605e47ccf..306acfe057 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@serverless-stack/cli", - "version": "1.0.0-alpha.7", + "version": "1.0.0-alpha.8", "description": "A CLI to help deploy Serverless Stack apps.", "scripts": { "prepare": "./bin/sync-cdk-version.js", @@ -45,8 +45,8 @@ "@babel/eslint-plugin": "^7.11.3", "@babel/plugin-proposal-class-properties": "^7.10.4", "@babel/preset-env": "^7.10.4", - "@serverless-stack/core": "^1.0.0-alpha.7", - "@serverless-stack/resources": "^1.0.0-alpha.7", + "@serverless-stack/core": "^1.0.0-alpha.8", + "@serverless-stack/resources": "^1.0.0-alpha.8", "@types/jest": "^26.0.7", "@types/node": "^14.0.27", "@typescript-eslint/eslint-plugin": "^3.9.1", @@ -61,7 +61,7 @@ "fast-safe-stringify": "^2.0.6", "fs-extra": "^9.0.1", "jest": "^26.1.0", - "logger": "^1.0.0-alpha.7", + "logger": "^1.0.0-alpha.8", "promise.allsettled": "^1.0.2", "source-map-support": "^0.5.19", "ts-jest": "^26.1.4", diff --git a/packages/cli/test/add-cdk/package.json b/packages/cli/test/add-cdk/package.json index a4890617db..460adff97d 100644 --- a/packages/cli/test/add-cdk/package.json +++ b/packages/cli/test/add-cdk/package.json @@ -2,13 +2,13 @@ "name": "add-cdk", "private": true, "description": "tests", - "version": "1.0.0-alpha.7", + "version": "1.0.0-alpha.8", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "add-cdk": "sst add-cdk" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.7" + "@serverless-stack/cli": "^1.0.0-alpha.8" }, "license": "ISC" } diff --git a/packages/cli/test/base-ts/package.json b/packages/cli/test/base-ts/package.json index 4a0eb82a70..a8b845a021 100644 --- a/packages/cli/test/base-ts/package.json +++ b/packages/cli/test/base-ts/package.json @@ -2,7 +2,7 @@ "name": "base-ts", "private": true, "description": "tests", - "version": "1.0.0-alpha.7", + "version": "1.0.0-alpha.8", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "start": "sst start", @@ -14,8 +14,8 @@ "dependencies": { "@aws-cdk/aws-s3": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.7", - "@serverless-stack/resources": "^1.0.0-alpha.7" + "@serverless-stack/cli": "^1.0.0-alpha.8", + "@serverless-stack/resources": "^1.0.0-alpha.8" }, "license": "ISC", "devDependencies": { diff --git a/packages/cli/test/base/package.json b/packages/cli/test/base/package.json index 977b889d1d..3fdb0bcec1 100644 --- a/packages/cli/test/base/package.json +++ b/packages/cli/test/base/package.json @@ -2,7 +2,7 @@ "name": "base", "private": true, "description": "tests", - "version": "1.0.0-alpha.7", + "version": "1.0.0-alpha.8", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "start": "sst start", @@ -18,8 +18,8 @@ "@aws-cdk/aws-iam": "1.79.0", "@aws-cdk/aws-s3": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.7", - "@serverless-stack/resources": "^1.0.0-alpha.7" + "@serverless-stack/cli": "^1.0.0-alpha.8", + "@serverless-stack/resources": "^1.0.0-alpha.8" }, "license": "ISC" } diff --git a/packages/cli/test/cdk-command/package.json b/packages/cli/test/cdk-command/package.json index 212a4c80f7..318c3cbe3b 100644 --- a/packages/cli/test/cdk-command/package.json +++ b/packages/cli/test/cdk-command/package.json @@ -2,14 +2,14 @@ "name": "cdk-command", "private": true, "description": "tests", - "version": "1.0.0-alpha.7", + "version": "1.0.0-alpha.8", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "cdk": "sst cdk" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.7", - "@serverless-stack/resources": "^1.0.0-alpha.7" + "@serverless-stack/cli": "^1.0.0-alpha.8", + "@serverless-stack/resources": "^1.0.0-alpha.8" }, "license": "ISC" } diff --git a/packages/cli/test/config-invalid/package.json b/packages/cli/test/config-invalid/package.json index 9a5e177050..c7e087a393 100644 --- a/packages/cli/test/config-invalid/package.json +++ b/packages/cli/test/config-invalid/package.json @@ -2,14 +2,14 @@ "name": "config-invalid", "private": true, "description": "tests", - "version": "1.0.0-alpha.7", + "version": "1.0.0-alpha.8", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.7", - "@serverless-stack/resources": "^1.0.0-alpha.7" + "@serverless-stack/cli": "^1.0.0-alpha.8", + "@serverless-stack/resources": "^1.0.0-alpha.8" }, "license": "ISC" } diff --git a/packages/cli/test/config-no-name/package.json b/packages/cli/test/config-no-name/package.json index 132627249f..91e7d30a73 100644 --- a/packages/cli/test/config-no-name/package.json +++ b/packages/cli/test/config-no-name/package.json @@ -2,14 +2,14 @@ "name": "config-no-name", "private": true, "description": "tests", - "version": "1.0.0-alpha.7", + "version": "1.0.0-alpha.8", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.7", - "@serverless-stack/resources": "^1.0.0-alpha.7" + "@serverless-stack/cli": "^1.0.0-alpha.8", + "@serverless-stack/resources": "^1.0.0-alpha.8" }, "license": "ISC" } diff --git a/packages/cli/test/config-not-found/package.json b/packages/cli/test/config-not-found/package.json index 6f510acf70..da9cba115c 100644 --- a/packages/cli/test/config-not-found/package.json +++ b/packages/cli/test/config-not-found/package.json @@ -2,14 +2,14 @@ "name": "config-not-found", "private": true, "description": "tests", - "version": "1.0.0-alpha.7", + "version": "1.0.0-alpha.8", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.7", - "@serverless-stack/resources": "^1.0.0-alpha.7" + "@serverless-stack/cli": "^1.0.0-alpha.8", + "@serverless-stack/resources": "^1.0.0-alpha.8" }, "license": "ISC" } diff --git a/packages/cli/test/config/package.json b/packages/cli/test/config/package.json index 678a10fc05..c4b18740c5 100644 --- a/packages/cli/test/config/package.json +++ b/packages/cli/test/config/package.json @@ -2,15 +2,15 @@ "name": "config-test", "private": true, "description": "tests", - "version": "1.0.0-alpha.7", + "version": "1.0.0-alpha.8", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { "@aws-cdk/aws-dynamodb": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.7", - "@serverless-stack/resources": "^1.0.0-alpha.7" + "@serverless-stack/cli": "^1.0.0-alpha.8", + "@serverless-stack/resources": "^1.0.0-alpha.8" }, "license": "ISC" } diff --git a/packages/cli/test/context/package.json b/packages/cli/test/context/package.json index 24197427d2..d0e4f647f9 100644 --- a/packages/cli/test/context/package.json +++ b/packages/cli/test/context/package.json @@ -2,15 +2,15 @@ "name": "context", "private": true, "description": "tests", - "version": "1.0.0-alpha.7", + "version": "1.0.0-alpha.8", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { "@aws-cdk/aws-dynamodb": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.7", - "@serverless-stack/resources": "^1.0.0-alpha.7" + "@serverless-stack/cli": "^1.0.0-alpha.8", + "@serverless-stack/resources": "^1.0.0-alpha.8" }, "license": "ISC" } diff --git a/packages/cli/test/eslint-ignore-rule/package.json b/packages/cli/test/eslint-ignore-rule/package.json index f2306d70f2..9c9ec0e1bf 100644 --- a/packages/cli/test/eslint-ignore-rule/package.json +++ b/packages/cli/test/eslint-ignore-rule/package.json @@ -2,14 +2,14 @@ "name": "eslint-ignore-rule", "private": true, "description": "tests", - "version": "1.0.0-alpha.7", + "version": "1.0.0-alpha.8", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.7", - "@serverless-stack/resources": "^1.0.0-alpha.7" + "@serverless-stack/cli": "^1.0.0-alpha.8", + "@serverless-stack/resources": "^1.0.0-alpha.8" }, "license": "ISC" } diff --git a/packages/cli/test/eslint-ignore/package.json b/packages/cli/test/eslint-ignore/package.json index 3bdd208726..078f788f85 100644 --- a/packages/cli/test/eslint-ignore/package.json +++ b/packages/cli/test/eslint-ignore/package.json @@ -2,14 +2,14 @@ "name": "eslint-ignore", "private": true, "description": "tests", - "version": "1.0.0-alpha.7", + "version": "1.0.0-alpha.8", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.7", - "@serverless-stack/resources": "^1.0.0-alpha.7" + "@serverless-stack/cli": "^1.0.0-alpha.8", + "@serverless-stack/resources": "^1.0.0-alpha.8" }, "license": "ISC" } diff --git a/packages/cli/test/eslint-ts/package.json b/packages/cli/test/eslint-ts/package.json index 0c0e7244df..e7ccc0c27f 100644 --- a/packages/cli/test/eslint-ts/package.json +++ b/packages/cli/test/eslint-ts/package.json @@ -2,14 +2,14 @@ "name": "eslint-ts", "private": true, "description": "tests", - "version": "1.0.0-alpha.7", + "version": "1.0.0-alpha.8", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.7", - "@serverless-stack/resources": "^1.0.0-alpha.7" + "@serverless-stack/cli": "^1.0.0-alpha.8", + "@serverless-stack/resources": "^1.0.0-alpha.8" }, "license": "ISC" } diff --git a/packages/cli/test/eslint/package.json b/packages/cli/test/eslint/package.json index 7c1eef0dc8..557cdd8ad5 100644 --- a/packages/cli/test/eslint/package.json +++ b/packages/cli/test/eslint/package.json @@ -2,14 +2,14 @@ "name": "eslint", "private": true, "description": "tests", - "version": "1.0.0-alpha.7", + "version": "1.0.0-alpha.8", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.7", - "@serverless-stack/resources": "^1.0.0-alpha.7" + "@serverless-stack/cli": "^1.0.0-alpha.8", + "@serverless-stack/resources": "^1.0.0-alpha.8" }, "license": "ISC" } diff --git a/packages/cli/test/handler-function-not-found/package.json b/packages/cli/test/handler-function-not-found/package.json index 8b8b2d43de..7d4d783e04 100644 --- a/packages/cli/test/handler-function-not-found/package.json +++ b/packages/cli/test/handler-function-not-found/package.json @@ -2,14 +2,14 @@ "name": "handler-function-not-found", "private": true, "description": "tests", - "version": "1.0.0-alpha.7", + "version": "1.0.0-alpha.8", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.7", - "@serverless-stack/resources": "^1.0.0-alpha.7" + "@serverless-stack/cli": "^1.0.0-alpha.8", + "@serverless-stack/resources": "^1.0.0-alpha.8" }, "license": "ISC" } diff --git a/packages/cli/test/handler-not-found/package.json b/packages/cli/test/handler-not-found/package.json index 9b8e8fc2f7..6d68f609a6 100644 --- a/packages/cli/test/handler-not-found/package.json +++ b/packages/cli/test/handler-not-found/package.json @@ -2,14 +2,14 @@ "name": "handler-not-found", "private": true, "description": "tests", - "version": "1.0.0-alpha.7", + "version": "1.0.0-alpha.8", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.7", - "@serverless-stack/resources": "^1.0.0-alpha.7" + "@serverless-stack/cli": "^1.0.0-alpha.8", + "@serverless-stack/resources": "^1.0.0-alpha.8" }, "license": "ISC" } diff --git a/packages/cli/test/jest-ts/package.json b/packages/cli/test/jest-ts/package.json index 3b6e13d088..c8ca00324b 100644 --- a/packages/cli/test/jest-ts/package.json +++ b/packages/cli/test/jest-ts/package.json @@ -2,7 +2,7 @@ "name": "jest-ts", "private": true, "description": "tests", - "version": "1.0.0-alpha.7", + "version": "1.0.0-alpha.8", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build", @@ -19,8 +19,8 @@ "@aws-cdk/aws-sns-subscriptions": "1.79.0", "@aws-cdk/aws-sqs": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.7", - "@serverless-stack/resources": "^1.0.0-alpha.7" + "@serverless-stack/cli": "^1.0.0-alpha.8", + "@serverless-stack/resources": "^1.0.0-alpha.8" }, "license": "ISC", "devDependencies": { diff --git a/packages/cli/test/jest/package.json b/packages/cli/test/jest/package.json index ed21be9a31..1724a83047 100644 --- a/packages/cli/test/jest/package.json +++ b/packages/cli/test/jest/package.json @@ -2,7 +2,7 @@ "name": "jest", "private": true, "description": "tests", - "version": "1.0.0-alpha.7", + "version": "1.0.0-alpha.8", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "test": "sst test" @@ -15,8 +15,8 @@ "dependencies": { "@aws-cdk/aws-dynamodb": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.7", - "@serverless-stack/resources": "^1.0.0-alpha.7" + "@serverless-stack/cli": "^1.0.0-alpha.8", + "@serverless-stack/resources": "^1.0.0-alpha.8" }, "license": "ISC", "devDependencies": { diff --git a/packages/cli/test/lambda-override-eslintrc/package.json b/packages/cli/test/lambda-override-eslintrc/package.json index 4107cf850f..a92e22c3d2 100644 --- a/packages/cli/test/lambda-override-eslintrc/package.json +++ b/packages/cli/test/lambda-override-eslintrc/package.json @@ -2,7 +2,7 @@ "name": "lambda-override-eslintrc", "private": true, "description": "tests", - "version": "1.0.0-alpha.7", + "version": "1.0.0-alpha.8", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build", @@ -12,8 +12,8 @@ "@aws-cdk/aws-apigatewayv2": "1.79.0", "@aws-cdk/aws-apigatewayv2-integrations": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.7", - "@serverless-stack/resources": "^1.0.0-alpha.7" + "@serverless-stack/cli": "^1.0.0-alpha.8", + "@serverless-stack/resources": "^1.0.0-alpha.8" }, "license": "ISC" } diff --git a/packages/cli/test/lambda-override-tsconfig/package.json b/packages/cli/test/lambda-override-tsconfig/package.json index 7352d2ed68..91f758c946 100644 --- a/packages/cli/test/lambda-override-tsconfig/package.json +++ b/packages/cli/test/lambda-override-tsconfig/package.json @@ -2,7 +2,7 @@ "name": "lambda-override-tsconfig", "private": true, "description": "tests", - "version": "1.0.0-alpha.7", + "version": "1.0.0-alpha.8", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build", @@ -12,8 +12,8 @@ "@aws-cdk/aws-apigatewayv2": "1.79.0", "@aws-cdk/aws-apigatewayv2-integrations": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.7", - "@serverless-stack/resources": "^1.0.0-alpha.7" + "@serverless-stack/cli": "^1.0.0-alpha.8", + "@serverless-stack/resources": "^1.0.0-alpha.8" }, "license": "ISC", "devDependencies": { diff --git a/packages/cli/test/mismatched-cdk-versions/package.json b/packages/cli/test/mismatched-cdk-versions/package.json index f492f0ebe5..057d5c6f56 100644 --- a/packages/cli/test/mismatched-cdk-versions/package.json +++ b/packages/cli/test/mismatched-cdk-versions/package.json @@ -2,7 +2,7 @@ "name": "mismatched-cdk-versions", "private": true, "description": "tests", - "version": "1.0.0-alpha.7", + "version": "1.0.0-alpha.8", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" @@ -13,8 +13,8 @@ "@aws-cdk/aws-iam": "1.57.0", "@aws-cdk/aws-s3": "^1.57.0", "@aws-cdk/core": "1.56.0", - "@serverless-stack/cli": "^1.0.0-alpha.7", - "@serverless-stack/resources": "^1.0.0-alpha.7" + "@serverless-stack/cli": "^1.0.0-alpha.8", + "@serverless-stack/resources": "^1.0.0-alpha.8" }, "license": "ISC" } diff --git a/packages/cli/test/stack-no-prefix/package.json b/packages/cli/test/stack-no-prefix/package.json index 9fca430a76..f9e10921b7 100644 --- a/packages/cli/test/stack-no-prefix/package.json +++ b/packages/cli/test/stack-no-prefix/package.json @@ -2,15 +2,15 @@ "name": "stack-no-prefix", "private": true, "description": "tests", - "version": "1.0.0-alpha.7", + "version": "1.0.0-alpha.8", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.7", - "@serverless-stack/resources": "^1.0.0-alpha.7" + "@serverless-stack/cli": "^1.0.0-alpha.8", + "@serverless-stack/resources": "^1.0.0-alpha.8" }, "license": "ISC" } diff --git a/packages/cli/test/stack-set-env/package.json b/packages/cli/test/stack-set-env/package.json index bc9081446b..66390688f4 100644 --- a/packages/cli/test/stack-set-env/package.json +++ b/packages/cli/test/stack-set-env/package.json @@ -2,14 +2,14 @@ "name": "stack-set-env", "private": true, "description": "tests", - "version": "1.0.0-alpha.7", + "version": "1.0.0-alpha.8", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.7", - "@serverless-stack/resources": "^1.0.0-alpha.7" + "@serverless-stack/cli": "^1.0.0-alpha.8", + "@serverless-stack/resources": "^1.0.0-alpha.8" }, "license": "ISC" } diff --git a/packages/cli/test/start-base/package.json b/packages/cli/test/start-base/package.json index c424707d9b..14d07e9e09 100644 --- a/packages/cli/test/start-base/package.json +++ b/packages/cli/test/start-base/package.json @@ -2,7 +2,7 @@ "name": "start-base", "private": true, "description": "tests", - "version": "1.0.0-alpha.7", + "version": "1.0.0-alpha.8", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "start": "sst start", @@ -17,8 +17,8 @@ "@aws-cdk/aws-sns": "1.79.0", "@aws-cdk/aws-sns-subscriptions": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.7", - "@serverless-stack/resources": "^1.0.0-alpha.7" + "@serverless-stack/cli": "^1.0.0-alpha.8", + "@serverless-stack/resources": "^1.0.0-alpha.8" }, "license": "ISC" } diff --git a/packages/cli/test/start-no-src-path/package.json b/packages/cli/test/start-no-src-path/package.json index 1cd4e9f5a0..c44578659a 100644 --- a/packages/cli/test/start-no-src-path/package.json +++ b/packages/cli/test/start-no-src-path/package.json @@ -2,7 +2,7 @@ "name": "start-no-src-path", "private": true, "description": "tests", - "version": "1.0.0-alpha.7", + "version": "1.0.0-alpha.8", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "start": "sst start", @@ -16,8 +16,8 @@ "@aws-cdk/aws-apigatewayv2-integrations": "1.79.0", "@aws-cdk/aws-lambda": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.7", - "@serverless-stack/resources": "^1.0.0-alpha.7", + "@serverless-stack/cli": "^1.0.0-alpha.8", + "@serverless-stack/resources": "^1.0.0-alpha.8", "mirrarray": "^2.0.0" }, "license": "ISC" diff --git a/packages/core/package.json b/packages/core/package.json index 0ef2178dd4..0985f9d8a3 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@serverless-stack/core", - "version": "1.0.0-alpha.7", + "version": "1.0.0-alpha.8", "homepage": "https://serverless-stack.com", "description": "Core of the Serverless Stack Toolkit.", "main": "index.js", diff --git a/packages/create-serverless-stack/package.json b/packages/create-serverless-stack/package.json index 7a96772a75..7ae5766de6 100644 --- a/packages/create-serverless-stack/package.json +++ b/packages/create-serverless-stack/package.json @@ -1,6 +1,6 @@ { "name": "create-serverless-stack", - "version": "1.0.0-alpha.7", + "version": "1.0.0-alpha.8", "homepage": "https://serverless-stack.com", "description": "Create Serverless Stack apps.", "bin": { diff --git a/packages/logger/package.json b/packages/logger/package.json index c5a5a45eac..179dcb89e4 100644 --- a/packages/logger/package.json +++ b/packages/logger/package.json @@ -1,7 +1,7 @@ { "name": "logger", "private": true, - "version": "1.0.0-alpha.7", + "version": "1.0.0-alpha.8", "homepage": "https://serverless-stack.com", "description": "A logger package for Serverless Stack Toolkit.", "main": "index.js", diff --git a/packages/resources/package.json b/packages/resources/package.json index d4f59614a7..71ced52d57 100644 --- a/packages/resources/package.json +++ b/packages/resources/package.json @@ -1,6 +1,6 @@ { "name": "@serverless-stack/resources", - "version": "1.0.0-alpha.7", + "version": "1.0.0-alpha.8", "homepage": "https://serverless-stack.com", "description": "Helper AWS CDK constructs for Serverless Stack apps.", "main": "dist/index.js", From 6827e998e22ab0e56f06f9d64c4ae3d901fd5d85 Mon Sep 17 00:00:00 2001 From: Jay Date: Sat, 9 Jan 2021 19:46:04 -0500 Subject: [PATCH 098/123] Moving logger to core --- packages/cli/bin/scripts.js | 2 +- packages/cli/package.json | 1 - packages/cli/scripts/add-cdk.js | 2 +- packages/cli/scripts/build.js | 2 +- packages/cli/scripts/deploy.js | 3 ++- packages/cli/scripts/remove.js | 3 +-- packages/cli/scripts/start.js | 2 +- packages/cli/scripts/util/cdkHelpers.js | 3 ++- packages/core/index.js | 5 ++++- packages/{logger/index.js => core/logger.js} | 0 packages/core/package.json | 3 ++- packages/logger/package.json | 21 -------------------- 12 files changed, 15 insertions(+), 32 deletions(-) rename packages/{logger/index.js => core/logger.js} (100%) delete mode 100644 packages/logger/package.json diff --git a/packages/cli/bin/scripts.js b/packages/cli/bin/scripts.js index 3437308ba8..c82f8886ac 100755 --- a/packages/cli/bin/scripts.js +++ b/packages/cli/bin/scripts.js @@ -18,7 +18,7 @@ const fs = require("fs-extra"); const yargs = require("yargs"); const chalk = require("chalk"); const spawn = require("cross-spawn"); -const { initializeLogger } = require("logger"); +const { initializeLogger } = require("@serverless-stack/core"); const packageJson = require("../package.json"); const paths = require("../scripts/util/paths"); diff --git a/packages/cli/package.json b/packages/cli/package.json index 306acfe057..ff1e15d0cf 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -61,7 +61,6 @@ "fast-safe-stringify": "^2.0.6", "fs-extra": "^9.0.1", "jest": "^26.1.0", - "logger": "^1.0.0-alpha.8", "promise.allsettled": "^1.0.2", "source-map-support": "^0.5.19", "ts-jest": "^26.1.4", diff --git a/packages/cli/scripts/add-cdk.js b/packages/cli/scripts/add-cdk.js index aa3db9ebab..729d5daee8 100644 --- a/packages/cli/scripts/add-cdk.js +++ b/packages/cli/scripts/add-cdk.js @@ -2,7 +2,7 @@ const chalk = require("chalk"); const spawn = require("cross-spawn"); -const { logger } = require("logger"); +const { logger } = require("@serverless-stack/core"); module.exports = async function (argv, cliInfo) { const npm = cliInfo.npm; diff --git a/packages/cli/scripts/build.js b/packages/cli/scripts/build.js index 221e562b72..1a4745b248 100644 --- a/packages/cli/scripts/build.js +++ b/packages/cli/scripts/build.js @@ -1,8 +1,8 @@ "use strict"; const chalk = require("chalk"); +const { logger } = require("@serverless-stack/core"); -const { logger } = require("logger"); const { synth } = require("./util/cdkHelpers"); function printResults(results, usingYarn) { diff --git a/packages/cli/scripts/deploy.js b/packages/cli/scripts/deploy.js index 5f4f1ed9a6..50a4f1bbb0 100644 --- a/packages/cli/scripts/deploy.js +++ b/packages/cli/scripts/deploy.js @@ -2,7 +2,8 @@ const path = require("path"); const chalk = require("chalk"); -const { logger } = require("logger"); +const { logger } = require("@serverless-stack/core"); + const paths = require("./util/paths"); const { synth, parallelDeploy } = require("./util/cdkHelpers"); diff --git a/packages/cli/scripts/remove.js b/packages/cli/scripts/remove.js index 8457161ed6..f307ec3968 100644 --- a/packages/cli/scripts/remove.js +++ b/packages/cli/scripts/remove.js @@ -2,8 +2,7 @@ const path = require("path"); const chalk = require("chalk"); -const { logger } = require("logger"); -const { parallelDestroy } = require("@serverless-stack/core"); +const { logger, parallelDestroy } = require("@serverless-stack/core"); const paths = require("./util/paths"); const { destroy: cdkDestroy } = require("./util/cdkHelpers"); diff --git a/packages/cli/scripts/start.js b/packages/cli/scripts/start.js index da94831841..34f520a603 100644 --- a/packages/cli/scripts/start.js +++ b/packages/cli/scripts/start.js @@ -7,8 +7,8 @@ const WebSocket = require("ws"); const esbuild = require("esbuild"); const chokidar = require("chokidar"); const spawn = require("cross-spawn"); -const { logger } = require("logger"); const allSettled = require("promise.allsettled"); +const { logger } = require("@serverless-stack/core"); const sstDeploy = require("./deploy"); const sstBuild = require("./build"); diff --git a/packages/cli/scripts/util/cdkHelpers.js b/packages/cli/scripts/util/cdkHelpers.js index d03c00afc2..1358c90a67 100644 --- a/packages/cli/scripts/util/cdkHelpers.js +++ b/packages/cli/scripts/util/cdkHelpers.js @@ -9,9 +9,10 @@ const sstCore = require("@serverless-stack/core"); const exec = util.promisify(require("child_process").exec); const paths = require("./paths"); -const { logger } = require("logger"); const { isSubProcessError } = require("../../lib/errors"); +const logger = sstCore.logger; + const buildDir = path.join(paths.appBuildPath, "lib"); const tsconfig = path.join(paths.appPath, "tsconfig.json"); diff --git a/packages/core/index.js b/packages/core/index.js index 4da509a796..15331086c7 100644 --- a/packages/core/index.js +++ b/packages/core/index.js @@ -4,7 +4,8 @@ const cdk = require("sst-cdk"); const aws = require("aws-sdk"); const chalk = require("chalk"); -const { logger } = require("logger"); +const { logger, initializeLogger } = require("./logger"); + const packageJson = require("./package.json"); function getCdkVersion() { @@ -809,9 +810,11 @@ async function parallelDestroy(cdkOptions, stackStates) { module.exports = { synth, deploy, + logger, destroy, bootstrap, getCdkVersion, parallelDeploy, parallelDestroy, + initializeLogger, }; diff --git a/packages/logger/index.js b/packages/core/logger.js similarity index 100% rename from packages/logger/index.js rename to packages/core/logger.js diff --git a/packages/core/package.json b/packages/core/package.json index 0985f9d8a3..7742eae8a8 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -20,7 +20,8 @@ "dependencies": { "aws-sdk": "^2.761.0", "chalk": "^4.1.0", - "sst-cdk": "1.79.0-rc.1" + "sst-cdk": "1.79.0-rc.1", + "winston": "^3.3.3" }, "gitHead": "0a586f786aca7e7d498a80c4dda680159831f959" } diff --git a/packages/logger/package.json b/packages/logger/package.json deleted file mode 100644 index 179dcb89e4..0000000000 --- a/packages/logger/package.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "name": "logger", - "private": true, - "version": "1.0.0-alpha.8", - "homepage": "https://serverless-stack.com", - "description": "A logger package for Serverless Stack Toolkit.", - "main": "index.js", - "author": { - "name": "Anomaly Innovations", - "url": "https://anoma.ly" - }, - "repository": { - "type": "git", - "url": "https://github.com/serverless-stack/serverless-stack.git", - "directory": "packages/logger" - }, - "license": "MIT", - "dependencies": { - "winston": "^3.3.3" - } -} From 5118ec7c0b296521c566d040e357787faadbc25b Mon Sep 17 00:00:00 2001 From: Jay Date: Sat, 9 Jan 2021 19:59:59 -0500 Subject: [PATCH 099/123] Fixing test package names --- packages/cli/test/add-cdk/package.json | 2 +- packages/cli/test/base-ts/package.json | 2 +- packages/cli/test/base/package.json | 2 +- packages/cli/test/cdk-command/package.json | 2 +- packages/cli/test/config-invalid/package.json | 2 +- packages/cli/test/config-no-name/package.json | 2 +- packages/cli/test/config-not-found/package.json | 2 +- packages/cli/test/config/package.json | 2 +- packages/cli/test/context/package.json | 2 +- packages/cli/test/eslint-ignore-rule/package.json | 2 +- packages/cli/test/eslint-ignore/package.json | 2 +- packages/cli/test/eslint-ts/package.json | 2 +- packages/cli/test/eslint/package.json | 2 +- packages/cli/test/handler-function-not-found/package.json | 2 +- packages/cli/test/handler-not-found/package.json | 2 +- packages/cli/test/jest-ts/package.json | 2 +- packages/cli/test/jest/package.json | 2 +- packages/cli/test/lambda-override-eslintrc/package.json | 2 +- packages/cli/test/lambda-override-tsconfig/package.json | 2 +- packages/cli/test/mismatched-cdk-versions/package.json | 2 +- packages/cli/test/stack-no-prefix/package.json | 2 +- packages/cli/test/stack-set-env/package.json | 2 +- packages/cli/test/start-base/package.json | 2 +- packages/cli/test/start-no-src-path/package.json | 2 +- 24 files changed, 24 insertions(+), 24 deletions(-) diff --git a/packages/cli/test/add-cdk/package.json b/packages/cli/test/add-cdk/package.json index 460adff97d..85ab1fa744 100644 --- a/packages/cli/test/add-cdk/package.json +++ b/packages/cli/test/add-cdk/package.json @@ -1,5 +1,5 @@ { - "name": "add-cdk", + "name": "@serverless-stack/cli-test-add-cdk", "private": true, "description": "tests", "version": "1.0.0-alpha.8", diff --git a/packages/cli/test/base-ts/package.json b/packages/cli/test/base-ts/package.json index a8b845a021..d09c670303 100644 --- a/packages/cli/test/base-ts/package.json +++ b/packages/cli/test/base-ts/package.json @@ -1,5 +1,5 @@ { - "name": "base-ts", + "name": "@serverless-stack/cli-test-base-ts", "private": true, "description": "tests", "version": "1.0.0-alpha.8", diff --git a/packages/cli/test/base/package.json b/packages/cli/test/base/package.json index 3fdb0bcec1..cb6c0f68fc 100644 --- a/packages/cli/test/base/package.json +++ b/packages/cli/test/base/package.json @@ -1,5 +1,5 @@ { - "name": "base", + "name": "@serverless-stack/cli-test-base", "private": true, "description": "tests", "version": "1.0.0-alpha.8", diff --git a/packages/cli/test/cdk-command/package.json b/packages/cli/test/cdk-command/package.json index 318c3cbe3b..83418fb59c 100644 --- a/packages/cli/test/cdk-command/package.json +++ b/packages/cli/test/cdk-command/package.json @@ -1,5 +1,5 @@ { - "name": "cdk-command", + "name": "@serverless-stack/cli-test-cdk-command", "private": true, "description": "tests", "version": "1.0.0-alpha.8", diff --git a/packages/cli/test/config-invalid/package.json b/packages/cli/test/config-invalid/package.json index c7e087a393..b54c26e800 100644 --- a/packages/cli/test/config-invalid/package.json +++ b/packages/cli/test/config-invalid/package.json @@ -1,5 +1,5 @@ { - "name": "config-invalid", + "name": "@serverless-stack/cli-test-config-invalid", "private": true, "description": "tests", "version": "1.0.0-alpha.8", diff --git a/packages/cli/test/config-no-name/package.json b/packages/cli/test/config-no-name/package.json index 91e7d30a73..2d27a87336 100644 --- a/packages/cli/test/config-no-name/package.json +++ b/packages/cli/test/config-no-name/package.json @@ -1,5 +1,5 @@ { - "name": "config-no-name", + "name": "@serverless-stack/cli-test-config-no-name", "private": true, "description": "tests", "version": "1.0.0-alpha.8", diff --git a/packages/cli/test/config-not-found/package.json b/packages/cli/test/config-not-found/package.json index da9cba115c..c46fc23acb 100644 --- a/packages/cli/test/config-not-found/package.json +++ b/packages/cli/test/config-not-found/package.json @@ -1,5 +1,5 @@ { - "name": "config-not-found", + "name": "@serverless-stack/cli-test-config-not-found", "private": true, "description": "tests", "version": "1.0.0-alpha.8", diff --git a/packages/cli/test/config/package.json b/packages/cli/test/config/package.json index c4b18740c5..0a1e50cb69 100644 --- a/packages/cli/test/config/package.json +++ b/packages/cli/test/config/package.json @@ -1,5 +1,5 @@ { - "name": "config-test", + "name": "@serverless-stack/cli-test-config-test", "private": true, "description": "tests", "version": "1.0.0-alpha.8", diff --git a/packages/cli/test/context/package.json b/packages/cli/test/context/package.json index d0e4f647f9..689ac7a2d8 100644 --- a/packages/cli/test/context/package.json +++ b/packages/cli/test/context/package.json @@ -1,5 +1,5 @@ { - "name": "context", + "name": "@serverless-stack/cli-test-context", "private": true, "description": "tests", "version": "1.0.0-alpha.8", diff --git a/packages/cli/test/eslint-ignore-rule/package.json b/packages/cli/test/eslint-ignore-rule/package.json index 9c9ec0e1bf..b2e79bc694 100644 --- a/packages/cli/test/eslint-ignore-rule/package.json +++ b/packages/cli/test/eslint-ignore-rule/package.json @@ -1,5 +1,5 @@ { - "name": "eslint-ignore-rule", + "name": "@serverless-stack/cli-test-eslint-ignore-rule", "private": true, "description": "tests", "version": "1.0.0-alpha.8", diff --git a/packages/cli/test/eslint-ignore/package.json b/packages/cli/test/eslint-ignore/package.json index 078f788f85..e74c4af3bc 100644 --- a/packages/cli/test/eslint-ignore/package.json +++ b/packages/cli/test/eslint-ignore/package.json @@ -1,5 +1,5 @@ { - "name": "eslint-ignore", + "name": "@serverless-stack/cli-test-eslint-ignore", "private": true, "description": "tests", "version": "1.0.0-alpha.8", diff --git a/packages/cli/test/eslint-ts/package.json b/packages/cli/test/eslint-ts/package.json index e7ccc0c27f..2e79b9d31f 100644 --- a/packages/cli/test/eslint-ts/package.json +++ b/packages/cli/test/eslint-ts/package.json @@ -1,5 +1,5 @@ { - "name": "eslint-ts", + "name": "@serverless-stack/cli-test-eslint-ts", "private": true, "description": "tests", "version": "1.0.0-alpha.8", diff --git a/packages/cli/test/eslint/package.json b/packages/cli/test/eslint/package.json index 557cdd8ad5..315275e238 100644 --- a/packages/cli/test/eslint/package.json +++ b/packages/cli/test/eslint/package.json @@ -1,5 +1,5 @@ { - "name": "eslint", + "name": "@serverless-stack/cli-test-eslint", "private": true, "description": "tests", "version": "1.0.0-alpha.8", diff --git a/packages/cli/test/handler-function-not-found/package.json b/packages/cli/test/handler-function-not-found/package.json index 7d4d783e04..e058c17d4a 100644 --- a/packages/cli/test/handler-function-not-found/package.json +++ b/packages/cli/test/handler-function-not-found/package.json @@ -1,5 +1,5 @@ { - "name": "handler-function-not-found", + "name": "@serverless-stack/cli-test-handler-function-not-found", "private": true, "description": "tests", "version": "1.0.0-alpha.8", diff --git a/packages/cli/test/handler-not-found/package.json b/packages/cli/test/handler-not-found/package.json index 6d68f609a6..80556290ff 100644 --- a/packages/cli/test/handler-not-found/package.json +++ b/packages/cli/test/handler-not-found/package.json @@ -1,5 +1,5 @@ { - "name": "handler-not-found", + "name": "@serverless-stack/cli-test-handler-not-found", "private": true, "description": "tests", "version": "1.0.0-alpha.8", diff --git a/packages/cli/test/jest-ts/package.json b/packages/cli/test/jest-ts/package.json index c8ca00324b..41fccb5581 100644 --- a/packages/cli/test/jest-ts/package.json +++ b/packages/cli/test/jest-ts/package.json @@ -1,5 +1,5 @@ { - "name": "jest-ts", + "name": "@serverless-stack/cli-test-jest-ts", "private": true, "description": "tests", "version": "1.0.0-alpha.8", diff --git a/packages/cli/test/jest/package.json b/packages/cli/test/jest/package.json index 1724a83047..eeb143a572 100644 --- a/packages/cli/test/jest/package.json +++ b/packages/cli/test/jest/package.json @@ -1,5 +1,5 @@ { - "name": "jest", + "name": "@serverless-stack/cli-test-jest", "private": true, "description": "tests", "version": "1.0.0-alpha.8", diff --git a/packages/cli/test/lambda-override-eslintrc/package.json b/packages/cli/test/lambda-override-eslintrc/package.json index a92e22c3d2..eb535568aa 100644 --- a/packages/cli/test/lambda-override-eslintrc/package.json +++ b/packages/cli/test/lambda-override-eslintrc/package.json @@ -1,5 +1,5 @@ { - "name": "lambda-override-eslintrc", + "name": "@serverless-stack/cli-test-lambda-override-eslintrc", "private": true, "description": "tests", "version": "1.0.0-alpha.8", diff --git a/packages/cli/test/lambda-override-tsconfig/package.json b/packages/cli/test/lambda-override-tsconfig/package.json index 91f758c946..c9030cf7c4 100644 --- a/packages/cli/test/lambda-override-tsconfig/package.json +++ b/packages/cli/test/lambda-override-tsconfig/package.json @@ -1,5 +1,5 @@ { - "name": "lambda-override-tsconfig", + "name": "@serverless-stack/cli-test-lambda-override-tsconfig", "private": true, "description": "tests", "version": "1.0.0-alpha.8", diff --git a/packages/cli/test/mismatched-cdk-versions/package.json b/packages/cli/test/mismatched-cdk-versions/package.json index 057d5c6f56..1544001b61 100644 --- a/packages/cli/test/mismatched-cdk-versions/package.json +++ b/packages/cli/test/mismatched-cdk-versions/package.json @@ -1,5 +1,5 @@ { - "name": "mismatched-cdk-versions", + "name": "@serverless-stack/cli-test-mismatched-cdk-versions", "private": true, "description": "tests", "version": "1.0.0-alpha.8", diff --git a/packages/cli/test/stack-no-prefix/package.json b/packages/cli/test/stack-no-prefix/package.json index f9e10921b7..a72d11d525 100644 --- a/packages/cli/test/stack-no-prefix/package.json +++ b/packages/cli/test/stack-no-prefix/package.json @@ -1,5 +1,5 @@ { - "name": "stack-no-prefix", + "name": "@serverless-stack/cli-test-stack-no-prefix", "private": true, "description": "tests", "version": "1.0.0-alpha.8", diff --git a/packages/cli/test/stack-set-env/package.json b/packages/cli/test/stack-set-env/package.json index 66390688f4..df5611d98a 100644 --- a/packages/cli/test/stack-set-env/package.json +++ b/packages/cli/test/stack-set-env/package.json @@ -1,5 +1,5 @@ { - "name": "stack-set-env", + "name": "@serverless-stack/cli-test-stack-set-env", "private": true, "description": "tests", "version": "1.0.0-alpha.8", diff --git a/packages/cli/test/start-base/package.json b/packages/cli/test/start-base/package.json index 14d07e9e09..19f5e9d4e0 100644 --- a/packages/cli/test/start-base/package.json +++ b/packages/cli/test/start-base/package.json @@ -1,5 +1,5 @@ { - "name": "start-base", + "name": "@serverless-stack/cli-test-start-base", "private": true, "description": "tests", "version": "1.0.0-alpha.8", diff --git a/packages/cli/test/start-no-src-path/package.json b/packages/cli/test/start-no-src-path/package.json index c44578659a..5ff8fa34f4 100644 --- a/packages/cli/test/start-no-src-path/package.json +++ b/packages/cli/test/start-no-src-path/package.json @@ -1,5 +1,5 @@ { - "name": "start-no-src-path", + "name": "@serverless-stack/cli-test-start-no-src-path", "private": true, "description": "tests", "version": "1.0.0-alpha.8", From 9ad1e68e6cf2919702090353e12a325c3dcd529f Mon Sep 17 00:00:00 2001 From: Jay Date: Sat, 9 Jan 2021 20:06:40 -0500 Subject: [PATCH 100/123] v1.0.0-alpha.9 --- lerna.json | 2 +- packages/cli/package.json | 6 +++--- packages/cli/test/add-cdk/package.json | 4 ++-- packages/cli/test/base-ts/package.json | 6 +++--- packages/cli/test/base/package.json | 6 +++--- packages/cli/test/cdk-command/package.json | 6 +++--- packages/cli/test/config-invalid/package.json | 6 +++--- packages/cli/test/config-no-name/package.json | 6 +++--- packages/cli/test/config-not-found/package.json | 6 +++--- packages/cli/test/config/package.json | 6 +++--- packages/cli/test/context/package.json | 6 +++--- packages/cli/test/eslint-ignore-rule/package.json | 6 +++--- packages/cli/test/eslint-ignore/package.json | 6 +++--- packages/cli/test/eslint-ts/package.json | 6 +++--- packages/cli/test/eslint/package.json | 6 +++--- packages/cli/test/handler-function-not-found/package.json | 6 +++--- packages/cli/test/handler-not-found/package.json | 6 +++--- packages/cli/test/jest-ts/package.json | 6 +++--- packages/cli/test/jest/package.json | 6 +++--- packages/cli/test/lambda-override-eslintrc/package.json | 6 +++--- packages/cli/test/lambda-override-tsconfig/package.json | 6 +++--- packages/cli/test/mismatched-cdk-versions/package.json | 6 +++--- packages/cli/test/stack-no-prefix/package.json | 6 +++--- packages/cli/test/stack-set-env/package.json | 6 +++--- packages/cli/test/start-base/package.json | 6 +++--- packages/cli/test/start-no-src-path/package.json | 6 +++--- packages/core/package.json | 2 +- packages/create-serverless-stack/package.json | 2 +- packages/resources/package.json | 2 +- 29 files changed, 78 insertions(+), 78 deletions(-) diff --git a/lerna.json b/lerna.json index 144cd7d779..9b0d4fd3ba 100644 --- a/lerna.json +++ b/lerna.json @@ -4,5 +4,5 @@ ], "npmClient": "yarn", "useWorkspaces": true, - "version": "1.0.0-alpha.8" + "version": "1.0.0-alpha.9" } diff --git a/packages/cli/package.json b/packages/cli/package.json index ff1e15d0cf..de0414d694 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@serverless-stack/cli", - "version": "1.0.0-alpha.8", + "version": "1.0.0-alpha.9", "description": "A CLI to help deploy Serverless Stack apps.", "scripts": { "prepare": "./bin/sync-cdk-version.js", @@ -45,8 +45,8 @@ "@babel/eslint-plugin": "^7.11.3", "@babel/plugin-proposal-class-properties": "^7.10.4", "@babel/preset-env": "^7.10.4", - "@serverless-stack/core": "^1.0.0-alpha.8", - "@serverless-stack/resources": "^1.0.0-alpha.8", + "@serverless-stack/core": "^1.0.0-alpha.9", + "@serverless-stack/resources": "^1.0.0-alpha.9", "@types/jest": "^26.0.7", "@types/node": "^14.0.27", "@typescript-eslint/eslint-plugin": "^3.9.1", diff --git a/packages/cli/test/add-cdk/package.json b/packages/cli/test/add-cdk/package.json index 85ab1fa744..51708c445f 100644 --- a/packages/cli/test/add-cdk/package.json +++ b/packages/cli/test/add-cdk/package.json @@ -2,13 +2,13 @@ "name": "@serverless-stack/cli-test-add-cdk", "private": true, "description": "tests", - "version": "1.0.0-alpha.8", + "version": "1.0.0-alpha.9", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "add-cdk": "sst add-cdk" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.8" + "@serverless-stack/cli": "^1.0.0-alpha.9" }, "license": "ISC" } diff --git a/packages/cli/test/base-ts/package.json b/packages/cli/test/base-ts/package.json index d09c670303..a08bb4f5e5 100644 --- a/packages/cli/test/base-ts/package.json +++ b/packages/cli/test/base-ts/package.json @@ -2,7 +2,7 @@ "name": "@serverless-stack/cli-test-base-ts", "private": true, "description": "tests", - "version": "1.0.0-alpha.8", + "version": "1.0.0-alpha.9", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "start": "sst start", @@ -14,8 +14,8 @@ "dependencies": { "@aws-cdk/aws-s3": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.8", - "@serverless-stack/resources": "^1.0.0-alpha.8" + "@serverless-stack/cli": "^1.0.0-alpha.9", + "@serverless-stack/resources": "^1.0.0-alpha.9" }, "license": "ISC", "devDependencies": { diff --git a/packages/cli/test/base/package.json b/packages/cli/test/base/package.json index cb6c0f68fc..d6be01b40a 100644 --- a/packages/cli/test/base/package.json +++ b/packages/cli/test/base/package.json @@ -2,7 +2,7 @@ "name": "@serverless-stack/cli-test-base", "private": true, "description": "tests", - "version": "1.0.0-alpha.8", + "version": "1.0.0-alpha.9", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "start": "sst start", @@ -18,8 +18,8 @@ "@aws-cdk/aws-iam": "1.79.0", "@aws-cdk/aws-s3": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.8", - "@serverless-stack/resources": "^1.0.0-alpha.8" + "@serverless-stack/cli": "^1.0.0-alpha.9", + "@serverless-stack/resources": "^1.0.0-alpha.9" }, "license": "ISC" } diff --git a/packages/cli/test/cdk-command/package.json b/packages/cli/test/cdk-command/package.json index 83418fb59c..8967bb7831 100644 --- a/packages/cli/test/cdk-command/package.json +++ b/packages/cli/test/cdk-command/package.json @@ -2,14 +2,14 @@ "name": "@serverless-stack/cli-test-cdk-command", "private": true, "description": "tests", - "version": "1.0.0-alpha.8", + "version": "1.0.0-alpha.9", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "cdk": "sst cdk" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.8", - "@serverless-stack/resources": "^1.0.0-alpha.8" + "@serverless-stack/cli": "^1.0.0-alpha.9", + "@serverless-stack/resources": "^1.0.0-alpha.9" }, "license": "ISC" } diff --git a/packages/cli/test/config-invalid/package.json b/packages/cli/test/config-invalid/package.json index b54c26e800..093114dac5 100644 --- a/packages/cli/test/config-invalid/package.json +++ b/packages/cli/test/config-invalid/package.json @@ -2,14 +2,14 @@ "name": "@serverless-stack/cli-test-config-invalid", "private": true, "description": "tests", - "version": "1.0.0-alpha.8", + "version": "1.0.0-alpha.9", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.8", - "@serverless-stack/resources": "^1.0.0-alpha.8" + "@serverless-stack/cli": "^1.0.0-alpha.9", + "@serverless-stack/resources": "^1.0.0-alpha.9" }, "license": "ISC" } diff --git a/packages/cli/test/config-no-name/package.json b/packages/cli/test/config-no-name/package.json index 2d27a87336..2d45eb80f3 100644 --- a/packages/cli/test/config-no-name/package.json +++ b/packages/cli/test/config-no-name/package.json @@ -2,14 +2,14 @@ "name": "@serverless-stack/cli-test-config-no-name", "private": true, "description": "tests", - "version": "1.0.0-alpha.8", + "version": "1.0.0-alpha.9", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.8", - "@serverless-stack/resources": "^1.0.0-alpha.8" + "@serverless-stack/cli": "^1.0.0-alpha.9", + "@serverless-stack/resources": "^1.0.0-alpha.9" }, "license": "ISC" } diff --git a/packages/cli/test/config-not-found/package.json b/packages/cli/test/config-not-found/package.json index c46fc23acb..ff7e8fb2be 100644 --- a/packages/cli/test/config-not-found/package.json +++ b/packages/cli/test/config-not-found/package.json @@ -2,14 +2,14 @@ "name": "@serverless-stack/cli-test-config-not-found", "private": true, "description": "tests", - "version": "1.0.0-alpha.8", + "version": "1.0.0-alpha.9", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.8", - "@serverless-stack/resources": "^1.0.0-alpha.8" + "@serverless-stack/cli": "^1.0.0-alpha.9", + "@serverless-stack/resources": "^1.0.0-alpha.9" }, "license": "ISC" } diff --git a/packages/cli/test/config/package.json b/packages/cli/test/config/package.json index 0a1e50cb69..98f5b051e9 100644 --- a/packages/cli/test/config/package.json +++ b/packages/cli/test/config/package.json @@ -2,15 +2,15 @@ "name": "@serverless-stack/cli-test-config-test", "private": true, "description": "tests", - "version": "1.0.0-alpha.8", + "version": "1.0.0-alpha.9", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { "@aws-cdk/aws-dynamodb": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.8", - "@serverless-stack/resources": "^1.0.0-alpha.8" + "@serverless-stack/cli": "^1.0.0-alpha.9", + "@serverless-stack/resources": "^1.0.0-alpha.9" }, "license": "ISC" } diff --git a/packages/cli/test/context/package.json b/packages/cli/test/context/package.json index 689ac7a2d8..b98b0fd5ad 100644 --- a/packages/cli/test/context/package.json +++ b/packages/cli/test/context/package.json @@ -2,15 +2,15 @@ "name": "@serverless-stack/cli-test-context", "private": true, "description": "tests", - "version": "1.0.0-alpha.8", + "version": "1.0.0-alpha.9", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { "@aws-cdk/aws-dynamodb": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.8", - "@serverless-stack/resources": "^1.0.0-alpha.8" + "@serverless-stack/cli": "^1.0.0-alpha.9", + "@serverless-stack/resources": "^1.0.0-alpha.9" }, "license": "ISC" } diff --git a/packages/cli/test/eslint-ignore-rule/package.json b/packages/cli/test/eslint-ignore-rule/package.json index b2e79bc694..6d1d776e78 100644 --- a/packages/cli/test/eslint-ignore-rule/package.json +++ b/packages/cli/test/eslint-ignore-rule/package.json @@ -2,14 +2,14 @@ "name": "@serverless-stack/cli-test-eslint-ignore-rule", "private": true, "description": "tests", - "version": "1.0.0-alpha.8", + "version": "1.0.0-alpha.9", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.8", - "@serverless-stack/resources": "^1.0.0-alpha.8" + "@serverless-stack/cli": "^1.0.0-alpha.9", + "@serverless-stack/resources": "^1.0.0-alpha.9" }, "license": "ISC" } diff --git a/packages/cli/test/eslint-ignore/package.json b/packages/cli/test/eslint-ignore/package.json index e74c4af3bc..70f719c58f 100644 --- a/packages/cli/test/eslint-ignore/package.json +++ b/packages/cli/test/eslint-ignore/package.json @@ -2,14 +2,14 @@ "name": "@serverless-stack/cli-test-eslint-ignore", "private": true, "description": "tests", - "version": "1.0.0-alpha.8", + "version": "1.0.0-alpha.9", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.8", - "@serverless-stack/resources": "^1.0.0-alpha.8" + "@serverless-stack/cli": "^1.0.0-alpha.9", + "@serverless-stack/resources": "^1.0.0-alpha.9" }, "license": "ISC" } diff --git a/packages/cli/test/eslint-ts/package.json b/packages/cli/test/eslint-ts/package.json index 2e79b9d31f..7121d6257a 100644 --- a/packages/cli/test/eslint-ts/package.json +++ b/packages/cli/test/eslint-ts/package.json @@ -2,14 +2,14 @@ "name": "@serverless-stack/cli-test-eslint-ts", "private": true, "description": "tests", - "version": "1.0.0-alpha.8", + "version": "1.0.0-alpha.9", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.8", - "@serverless-stack/resources": "^1.0.0-alpha.8" + "@serverless-stack/cli": "^1.0.0-alpha.9", + "@serverless-stack/resources": "^1.0.0-alpha.9" }, "license": "ISC" } diff --git a/packages/cli/test/eslint/package.json b/packages/cli/test/eslint/package.json index 315275e238..ea44ad63bc 100644 --- a/packages/cli/test/eslint/package.json +++ b/packages/cli/test/eslint/package.json @@ -2,14 +2,14 @@ "name": "@serverless-stack/cli-test-eslint", "private": true, "description": "tests", - "version": "1.0.0-alpha.8", + "version": "1.0.0-alpha.9", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.8", - "@serverless-stack/resources": "^1.0.0-alpha.8" + "@serverless-stack/cli": "^1.0.0-alpha.9", + "@serverless-stack/resources": "^1.0.0-alpha.9" }, "license": "ISC" } diff --git a/packages/cli/test/handler-function-not-found/package.json b/packages/cli/test/handler-function-not-found/package.json index e058c17d4a..e0a000c32f 100644 --- a/packages/cli/test/handler-function-not-found/package.json +++ b/packages/cli/test/handler-function-not-found/package.json @@ -2,14 +2,14 @@ "name": "@serverless-stack/cli-test-handler-function-not-found", "private": true, "description": "tests", - "version": "1.0.0-alpha.8", + "version": "1.0.0-alpha.9", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.8", - "@serverless-stack/resources": "^1.0.0-alpha.8" + "@serverless-stack/cli": "^1.0.0-alpha.9", + "@serverless-stack/resources": "^1.0.0-alpha.9" }, "license": "ISC" } diff --git a/packages/cli/test/handler-not-found/package.json b/packages/cli/test/handler-not-found/package.json index 80556290ff..3727760642 100644 --- a/packages/cli/test/handler-not-found/package.json +++ b/packages/cli/test/handler-not-found/package.json @@ -2,14 +2,14 @@ "name": "@serverless-stack/cli-test-handler-not-found", "private": true, "description": "tests", - "version": "1.0.0-alpha.8", + "version": "1.0.0-alpha.9", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.8", - "@serverless-stack/resources": "^1.0.0-alpha.8" + "@serverless-stack/cli": "^1.0.0-alpha.9", + "@serverless-stack/resources": "^1.0.0-alpha.9" }, "license": "ISC" } diff --git a/packages/cli/test/jest-ts/package.json b/packages/cli/test/jest-ts/package.json index 41fccb5581..daa4abe81a 100644 --- a/packages/cli/test/jest-ts/package.json +++ b/packages/cli/test/jest-ts/package.json @@ -2,7 +2,7 @@ "name": "@serverless-stack/cli-test-jest-ts", "private": true, "description": "tests", - "version": "1.0.0-alpha.8", + "version": "1.0.0-alpha.9", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build", @@ -19,8 +19,8 @@ "@aws-cdk/aws-sns-subscriptions": "1.79.0", "@aws-cdk/aws-sqs": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.8", - "@serverless-stack/resources": "^1.0.0-alpha.8" + "@serverless-stack/cli": "^1.0.0-alpha.9", + "@serverless-stack/resources": "^1.0.0-alpha.9" }, "license": "ISC", "devDependencies": { diff --git a/packages/cli/test/jest/package.json b/packages/cli/test/jest/package.json index eeb143a572..6e243e87ba 100644 --- a/packages/cli/test/jest/package.json +++ b/packages/cli/test/jest/package.json @@ -2,7 +2,7 @@ "name": "@serverless-stack/cli-test-jest", "private": true, "description": "tests", - "version": "1.0.0-alpha.8", + "version": "1.0.0-alpha.9", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "test": "sst test" @@ -15,8 +15,8 @@ "dependencies": { "@aws-cdk/aws-dynamodb": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.8", - "@serverless-stack/resources": "^1.0.0-alpha.8" + "@serverless-stack/cli": "^1.0.0-alpha.9", + "@serverless-stack/resources": "^1.0.0-alpha.9" }, "license": "ISC", "devDependencies": { diff --git a/packages/cli/test/lambda-override-eslintrc/package.json b/packages/cli/test/lambda-override-eslintrc/package.json index eb535568aa..921019455b 100644 --- a/packages/cli/test/lambda-override-eslintrc/package.json +++ b/packages/cli/test/lambda-override-eslintrc/package.json @@ -2,7 +2,7 @@ "name": "@serverless-stack/cli-test-lambda-override-eslintrc", "private": true, "description": "tests", - "version": "1.0.0-alpha.8", + "version": "1.0.0-alpha.9", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build", @@ -12,8 +12,8 @@ "@aws-cdk/aws-apigatewayv2": "1.79.0", "@aws-cdk/aws-apigatewayv2-integrations": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.8", - "@serverless-stack/resources": "^1.0.0-alpha.8" + "@serverless-stack/cli": "^1.0.0-alpha.9", + "@serverless-stack/resources": "^1.0.0-alpha.9" }, "license": "ISC" } diff --git a/packages/cli/test/lambda-override-tsconfig/package.json b/packages/cli/test/lambda-override-tsconfig/package.json index c9030cf7c4..6d137345be 100644 --- a/packages/cli/test/lambda-override-tsconfig/package.json +++ b/packages/cli/test/lambda-override-tsconfig/package.json @@ -2,7 +2,7 @@ "name": "@serverless-stack/cli-test-lambda-override-tsconfig", "private": true, "description": "tests", - "version": "1.0.0-alpha.8", + "version": "1.0.0-alpha.9", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build", @@ -12,8 +12,8 @@ "@aws-cdk/aws-apigatewayv2": "1.79.0", "@aws-cdk/aws-apigatewayv2-integrations": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.8", - "@serverless-stack/resources": "^1.0.0-alpha.8" + "@serverless-stack/cli": "^1.0.0-alpha.9", + "@serverless-stack/resources": "^1.0.0-alpha.9" }, "license": "ISC", "devDependencies": { diff --git a/packages/cli/test/mismatched-cdk-versions/package.json b/packages/cli/test/mismatched-cdk-versions/package.json index 1544001b61..2f3940524b 100644 --- a/packages/cli/test/mismatched-cdk-versions/package.json +++ b/packages/cli/test/mismatched-cdk-versions/package.json @@ -2,7 +2,7 @@ "name": "@serverless-stack/cli-test-mismatched-cdk-versions", "private": true, "description": "tests", - "version": "1.0.0-alpha.8", + "version": "1.0.0-alpha.9", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" @@ -13,8 +13,8 @@ "@aws-cdk/aws-iam": "1.57.0", "@aws-cdk/aws-s3": "^1.57.0", "@aws-cdk/core": "1.56.0", - "@serverless-stack/cli": "^1.0.0-alpha.8", - "@serverless-stack/resources": "^1.0.0-alpha.8" + "@serverless-stack/cli": "^1.0.0-alpha.9", + "@serverless-stack/resources": "^1.0.0-alpha.9" }, "license": "ISC" } diff --git a/packages/cli/test/stack-no-prefix/package.json b/packages/cli/test/stack-no-prefix/package.json index a72d11d525..4dc7e04ecd 100644 --- a/packages/cli/test/stack-no-prefix/package.json +++ b/packages/cli/test/stack-no-prefix/package.json @@ -2,15 +2,15 @@ "name": "@serverless-stack/cli-test-stack-no-prefix", "private": true, "description": "tests", - "version": "1.0.0-alpha.8", + "version": "1.0.0-alpha.9", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.8", - "@serverless-stack/resources": "^1.0.0-alpha.8" + "@serverless-stack/cli": "^1.0.0-alpha.9", + "@serverless-stack/resources": "^1.0.0-alpha.9" }, "license": "ISC" } diff --git a/packages/cli/test/stack-set-env/package.json b/packages/cli/test/stack-set-env/package.json index df5611d98a..38062a1c16 100644 --- a/packages/cli/test/stack-set-env/package.json +++ b/packages/cli/test/stack-set-env/package.json @@ -2,14 +2,14 @@ "name": "@serverless-stack/cli-test-stack-set-env", "private": true, "description": "tests", - "version": "1.0.0-alpha.8", + "version": "1.0.0-alpha.9", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.8", - "@serverless-stack/resources": "^1.0.0-alpha.8" + "@serverless-stack/cli": "^1.0.0-alpha.9", + "@serverless-stack/resources": "^1.0.0-alpha.9" }, "license": "ISC" } diff --git a/packages/cli/test/start-base/package.json b/packages/cli/test/start-base/package.json index 19f5e9d4e0..09d6b11f1f 100644 --- a/packages/cli/test/start-base/package.json +++ b/packages/cli/test/start-base/package.json @@ -2,7 +2,7 @@ "name": "@serverless-stack/cli-test-start-base", "private": true, "description": "tests", - "version": "1.0.0-alpha.8", + "version": "1.0.0-alpha.9", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "start": "sst start", @@ -17,8 +17,8 @@ "@aws-cdk/aws-sns": "1.79.0", "@aws-cdk/aws-sns-subscriptions": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.8", - "@serverless-stack/resources": "^1.0.0-alpha.8" + "@serverless-stack/cli": "^1.0.0-alpha.9", + "@serverless-stack/resources": "^1.0.0-alpha.9" }, "license": "ISC" } diff --git a/packages/cli/test/start-no-src-path/package.json b/packages/cli/test/start-no-src-path/package.json index 5ff8fa34f4..9b6ab43bc8 100644 --- a/packages/cli/test/start-no-src-path/package.json +++ b/packages/cli/test/start-no-src-path/package.json @@ -2,7 +2,7 @@ "name": "@serverless-stack/cli-test-start-no-src-path", "private": true, "description": "tests", - "version": "1.0.0-alpha.8", + "version": "1.0.0-alpha.9", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "start": "sst start", @@ -16,8 +16,8 @@ "@aws-cdk/aws-apigatewayv2-integrations": "1.79.0", "@aws-cdk/aws-lambda": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.8", - "@serverless-stack/resources": "^1.0.0-alpha.8", + "@serverless-stack/cli": "^1.0.0-alpha.9", + "@serverless-stack/resources": "^1.0.0-alpha.9", "mirrarray": "^2.0.0" }, "license": "ISC" diff --git a/packages/core/package.json b/packages/core/package.json index 7742eae8a8..ef95e3777e 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@serverless-stack/core", - "version": "1.0.0-alpha.8", + "version": "1.0.0-alpha.9", "homepage": "https://serverless-stack.com", "description": "Core of the Serverless Stack Toolkit.", "main": "index.js", diff --git a/packages/create-serverless-stack/package.json b/packages/create-serverless-stack/package.json index 7ae5766de6..ef85f2a6f2 100644 --- a/packages/create-serverless-stack/package.json +++ b/packages/create-serverless-stack/package.json @@ -1,6 +1,6 @@ { "name": "create-serverless-stack", - "version": "1.0.0-alpha.8", + "version": "1.0.0-alpha.9", "homepage": "https://serverless-stack.com", "description": "Create Serverless Stack apps.", "bin": { diff --git a/packages/resources/package.json b/packages/resources/package.json index 71ced52d57..0a795121c3 100644 --- a/packages/resources/package.json +++ b/packages/resources/package.json @@ -1,6 +1,6 @@ { "name": "@serverless-stack/resources", - "version": "1.0.0-alpha.8", + "version": "1.0.0-alpha.9", "homepage": "https://serverless-stack.com", "description": "Helper AWS CDK constructs for Serverless Stack apps.", "main": "dist/index.js", From ed8450be05e51c0c2f701be270c91dade16c0c2d Mon Sep 17 00:00:00 2001 From: Jay Date: Sat, 9 Jan 2021 21:03:39 -0500 Subject: [PATCH 101/123] Updating teamplates. Fixing remove script. --- .prettierignore | 1 - lerna.json | 4 +--- packages/cli/scripts/util/cdkHelpers.js | 2 +- .../templates/javascript/README.template.md | 8 ++++++-- .../templates/javascript/sst.template.json | 1 - .../test/%stack-name.PascalCased%.test.template.js | 10 ++++------ .../templates/typescript/README.template.md | 8 ++++++-- .../templates/typescript/sst.template.json | 1 - .../test/%stack-name.PascalCased%.test.template.ts | 6 +++--- .../templates/typescript/tsconfig.json | 2 +- packages/resources/src/util/builder.ts | 2 +- 11 files changed, 23 insertions(+), 22 deletions(-) diff --git a/.prettierignore b/.prettierignore index d24d386838..6ec664b251 100644 --- a/.prettierignore +++ b/.prettierignore @@ -4,4 +4,3 @@ cdk.out .build # Ignore templates /packages/create-serverless-stack/templates/** - diff --git a/lerna.json b/lerna.json index 9b0d4fd3ba..c7a55e2e40 100644 --- a/lerna.json +++ b/lerna.json @@ -1,7 +1,5 @@ { - "packages": [ - "packages/*" - ], + "packages": ["packages/*"], "npmClient": "yarn", "useWorkspaces": true, "version": "1.0.0-alpha.9" diff --git a/packages/cli/scripts/util/cdkHelpers.js b/packages/cli/scripts/util/cdkHelpers.js index 1358c90a67..ad05db6547 100644 --- a/packages/cli/scripts/util/cdkHelpers.js +++ b/packages/cli/scripts/util/cdkHelpers.js @@ -335,7 +335,7 @@ async function prepareCdk(argv, cliInfo, config) { await runChecks(inputFiles); - return { appliedConfig, inputFiles }; + return { config: appliedConfig, inputFiles }; } function handleCdkErrors(e) { diff --git a/packages/create-serverless-stack/templates/javascript/README.template.md b/packages/create-serverless-stack/templates/javascript/README.template.md index 073c65f1b0..3401b3509c 100644 --- a/packages/create-serverless-stack/templates/javascript/README.template.md +++ b/packages/create-serverless-stack/templates/javascript/README.template.md @@ -10,11 +10,15 @@ $ %package-manager% install ## Commands +### `%package-manager% run start` + +Starts the local Lambda development environment. + ### `%package-manager% run build` Build your app and synthesize your stacks. -Generates a `build/` directory with the compiled files and a `build/cdk.out/` directory with the synthesized CloudFormation stacks. +Generates a `.build/` directory with the compiled files and a `.build/cdk.out/` directory with the synthesized CloudFormation stacks. ### `%package-manager% run deploy [stack]` @@ -24,7 +28,7 @@ Deploy all your stacks to AWS. Or optionally deploy, a specific stack. Remove all your stacks and all of their resources from AWS. Or optionally removes, a specific stack. -### `%package-manager% test` +### `%package-manager% run test` Runs your tests using Jest. Takes all the [Jest CLI options](https://jestjs.io/docs/en/cli). diff --git a/packages/create-serverless-stack/templates/javascript/sst.template.json b/packages/create-serverless-stack/templates/javascript/sst.template.json index 6f5cbea99a..fd6577b946 100644 --- a/packages/create-serverless-stack/templates/javascript/sst.template.json +++ b/packages/create-serverless-stack/templates/javascript/sst.template.json @@ -1,6 +1,5 @@ { "name": "%name%", - "type": "@serverless-stack/resources", "stage": "dev", "region": "us-east-1" } diff --git a/packages/create-serverless-stack/templates/javascript/test/%stack-name.PascalCased%.test.template.js b/packages/create-serverless-stack/templates/javascript/test/%stack-name.PascalCased%.test.template.js index d0b4ebd09d..cec544eb0c 100644 --- a/packages/create-serverless-stack/templates/javascript/test/%stack-name.PascalCased%.test.template.js +++ b/packages/create-serverless-stack/templates/javascript/test/%stack-name.PascalCased%.test.template.js @@ -1,13 +1,11 @@ -import { expect, matchTemplate, MatchStyle } from "@aws-cdk/assert"; +import { expect, haveResource } from "@aws-cdk/assert"; import * as sst from "@serverless-stack/resources"; import %stack-name.PascalCased% from "../lib/%stack-name.PascalCased%"; -test('Test Stack', () => { +test("Test Stack", () => { const app = new sst.App(); // WHEN - const stack = new %stack-name.PascalCased%(app, 'test-stack'); + const stack = new %stack-name.PascalCased%(app, "test-stack"); // THEN - expect(stack).to(matchTemplate({ - "Resources": {} - }, MatchStyle.EXACT)) + expect(stack).to(haveResource("AWS::Lambda::Function")); }); diff --git a/packages/create-serverless-stack/templates/typescript/README.template.md b/packages/create-serverless-stack/templates/typescript/README.template.md index 03f99672ae..c13323349b 100644 --- a/packages/create-serverless-stack/templates/typescript/README.template.md +++ b/packages/create-serverless-stack/templates/typescript/README.template.md @@ -10,11 +10,15 @@ $ %package-manager% install ## Commands +### `%package-manager% run start` + +Starts the local Lambda development environment. + ### `%package-manager% run build` Build your app and synthesize your stacks. -Generates a `build/` directory with the compiled files and a `build/cdk.out/` directory with the synthesized CloudFormation stacks. +Generates a `.build/` directory with the compiled files and a `.build/cdk.out/` directory with the synthesized CloudFormation stacks. ### `%package-manager% run deploy [stack]` @@ -24,7 +28,7 @@ Deploy all your stacks to AWS. Or optionally deploy a specific stack. Remove all your stacks and all of their resources from AWS. Or optionally remove a specific stack. -### `%package-manager% test` +### `%package-manager% run test` Runs your tests using Jest. Takes all the [Jest CLI options](https://jestjs.io/docs/en/cli). diff --git a/packages/create-serverless-stack/templates/typescript/sst.template.json b/packages/create-serverless-stack/templates/typescript/sst.template.json index 6f5cbea99a..fd6577b946 100644 --- a/packages/create-serverless-stack/templates/typescript/sst.template.json +++ b/packages/create-serverless-stack/templates/typescript/sst.template.json @@ -1,6 +1,5 @@ { "name": "%name%", - "type": "@serverless-stack/resources", "stage": "dev", "region": "us-east-1" } diff --git a/packages/create-serverless-stack/templates/typescript/test/%stack-name.PascalCased%.test.template.ts b/packages/create-serverless-stack/templates/typescript/test/%stack-name.PascalCased%.test.template.ts index d0b4ebd09d..ede5164c13 100644 --- a/packages/create-serverless-stack/templates/typescript/test/%stack-name.PascalCased%.test.template.ts +++ b/packages/create-serverless-stack/templates/typescript/test/%stack-name.PascalCased%.test.template.ts @@ -2,12 +2,12 @@ import { expect, matchTemplate, MatchStyle } from "@aws-cdk/assert"; import * as sst from "@serverless-stack/resources"; import %stack-name.PascalCased% from "../lib/%stack-name.PascalCased%"; -test('Test Stack', () => { +test("Test Stack", () => { const app = new sst.App(); // WHEN - const stack = new %stack-name.PascalCased%(app, 'test-stack'); + const stack = new %stack-name.PascalCased%(app, "test-stack"); // THEN expect(stack).to(matchTemplate({ "Resources": {} - }, MatchStyle.EXACT)) + }, MatchStyle.EXACT)); }); diff --git a/packages/create-serverless-stack/templates/typescript/tsconfig.json b/packages/create-serverless-stack/templates/typescript/tsconfig.json index 7d659db8a8..cc8a352940 100644 --- a/packages/create-serverless-stack/templates/typescript/tsconfig.json +++ b/packages/create-serverless-stack/templates/typescript/tsconfig.json @@ -19,5 +19,5 @@ "strictPropertyInitialization": false, "typeRoots": ["./node_modules/@types"] }, - "include": ["lib"] + "include": ["lib","src"] } diff --git a/packages/resources/src/util/builder.ts b/packages/resources/src/util/builder.ts index f5c74cd4ef..f95379996c 100644 --- a/packages/resources/src/util/builder.ts +++ b/packages/resources/src/util/builder.ts @@ -164,7 +164,7 @@ export function builder(builderProps: BuilderProps): BuilderOutput { platform: "node", outdir: buildPath, entryPoints: [entryPath], - color: process.env.NO_COLOR !== 'true', + color: process.env.NO_COLOR !== "true", tsconfig: hasTsconfig ? tsconfig : undefined, }); From 4aba41363a3acc4980a27bd30bea8ff52ebfc116 Mon Sep 17 00:00:00 2001 From: Jay Date: Sat, 9 Jan 2021 21:04:12 -0500 Subject: [PATCH 102/123] v1.0.0-alpha.10 --- lerna.json | 6 ++++-- packages/cli/package.json | 6 +++--- packages/cli/test/add-cdk/package.json | 4 ++-- packages/cli/test/base-ts/package.json | 6 +++--- packages/cli/test/base/package.json | 6 +++--- packages/cli/test/cdk-command/package.json | 6 +++--- packages/cli/test/config-invalid/package.json | 6 +++--- packages/cli/test/config-no-name/package.json | 6 +++--- packages/cli/test/config-not-found/package.json | 6 +++--- packages/cli/test/config/package.json | 6 +++--- packages/cli/test/context/package.json | 6 +++--- packages/cli/test/eslint-ignore-rule/package.json | 6 +++--- packages/cli/test/eslint-ignore/package.json | 6 +++--- packages/cli/test/eslint-ts/package.json | 6 +++--- packages/cli/test/eslint/package.json | 6 +++--- packages/cli/test/handler-function-not-found/package.json | 6 +++--- packages/cli/test/handler-not-found/package.json | 6 +++--- packages/cli/test/jest-ts/package.json | 6 +++--- packages/cli/test/jest/package.json | 6 +++--- packages/cli/test/lambda-override-eslintrc/package.json | 6 +++--- packages/cli/test/lambda-override-tsconfig/package.json | 6 +++--- packages/cli/test/mismatched-cdk-versions/package.json | 6 +++--- packages/cli/test/stack-no-prefix/package.json | 6 +++--- packages/cli/test/stack-set-env/package.json | 6 +++--- packages/cli/test/start-base/package.json | 6 +++--- packages/cli/test/start-no-src-path/package.json | 6 +++--- packages/core/package.json | 2 +- packages/create-serverless-stack/package.json | 2 +- packages/resources/package.json | 2 +- 29 files changed, 81 insertions(+), 79 deletions(-) diff --git a/lerna.json b/lerna.json index c7a55e2e40..e5bff9c818 100644 --- a/lerna.json +++ b/lerna.json @@ -1,6 +1,8 @@ { - "packages": ["packages/*"], + "packages": [ + "packages/*" + ], "npmClient": "yarn", "useWorkspaces": true, - "version": "1.0.0-alpha.9" + "version": "1.0.0-alpha.10" } diff --git a/packages/cli/package.json b/packages/cli/package.json index de0414d694..6790c1969f 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@serverless-stack/cli", - "version": "1.0.0-alpha.9", + "version": "1.0.0-alpha.10", "description": "A CLI to help deploy Serverless Stack apps.", "scripts": { "prepare": "./bin/sync-cdk-version.js", @@ -45,8 +45,8 @@ "@babel/eslint-plugin": "^7.11.3", "@babel/plugin-proposal-class-properties": "^7.10.4", "@babel/preset-env": "^7.10.4", - "@serverless-stack/core": "^1.0.0-alpha.9", - "@serverless-stack/resources": "^1.0.0-alpha.9", + "@serverless-stack/core": "^1.0.0-alpha.10", + "@serverless-stack/resources": "^1.0.0-alpha.10", "@types/jest": "^26.0.7", "@types/node": "^14.0.27", "@typescript-eslint/eslint-plugin": "^3.9.1", diff --git a/packages/cli/test/add-cdk/package.json b/packages/cli/test/add-cdk/package.json index 51708c445f..9529fca889 100644 --- a/packages/cli/test/add-cdk/package.json +++ b/packages/cli/test/add-cdk/package.json @@ -2,13 +2,13 @@ "name": "@serverless-stack/cli-test-add-cdk", "private": true, "description": "tests", - "version": "1.0.0-alpha.9", + "version": "1.0.0-alpha.10", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "add-cdk": "sst add-cdk" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.9" + "@serverless-stack/cli": "^1.0.0-alpha.10" }, "license": "ISC" } diff --git a/packages/cli/test/base-ts/package.json b/packages/cli/test/base-ts/package.json index a08bb4f5e5..b5ca3babec 100644 --- a/packages/cli/test/base-ts/package.json +++ b/packages/cli/test/base-ts/package.json @@ -2,7 +2,7 @@ "name": "@serverless-stack/cli-test-base-ts", "private": true, "description": "tests", - "version": "1.0.0-alpha.9", + "version": "1.0.0-alpha.10", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "start": "sst start", @@ -14,8 +14,8 @@ "dependencies": { "@aws-cdk/aws-s3": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.9", - "@serverless-stack/resources": "^1.0.0-alpha.9" + "@serverless-stack/cli": "^1.0.0-alpha.10", + "@serverless-stack/resources": "^1.0.0-alpha.10" }, "license": "ISC", "devDependencies": { diff --git a/packages/cli/test/base/package.json b/packages/cli/test/base/package.json index d6be01b40a..d236f2698f 100644 --- a/packages/cli/test/base/package.json +++ b/packages/cli/test/base/package.json @@ -2,7 +2,7 @@ "name": "@serverless-stack/cli-test-base", "private": true, "description": "tests", - "version": "1.0.0-alpha.9", + "version": "1.0.0-alpha.10", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "start": "sst start", @@ -18,8 +18,8 @@ "@aws-cdk/aws-iam": "1.79.0", "@aws-cdk/aws-s3": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.9", - "@serverless-stack/resources": "^1.0.0-alpha.9" + "@serverless-stack/cli": "^1.0.0-alpha.10", + "@serverless-stack/resources": "^1.0.0-alpha.10" }, "license": "ISC" } diff --git a/packages/cli/test/cdk-command/package.json b/packages/cli/test/cdk-command/package.json index 8967bb7831..e2b2af405d 100644 --- a/packages/cli/test/cdk-command/package.json +++ b/packages/cli/test/cdk-command/package.json @@ -2,14 +2,14 @@ "name": "@serverless-stack/cli-test-cdk-command", "private": true, "description": "tests", - "version": "1.0.0-alpha.9", + "version": "1.0.0-alpha.10", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "cdk": "sst cdk" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.9", - "@serverless-stack/resources": "^1.0.0-alpha.9" + "@serverless-stack/cli": "^1.0.0-alpha.10", + "@serverless-stack/resources": "^1.0.0-alpha.10" }, "license": "ISC" } diff --git a/packages/cli/test/config-invalid/package.json b/packages/cli/test/config-invalid/package.json index 093114dac5..8480597ee0 100644 --- a/packages/cli/test/config-invalid/package.json +++ b/packages/cli/test/config-invalid/package.json @@ -2,14 +2,14 @@ "name": "@serverless-stack/cli-test-config-invalid", "private": true, "description": "tests", - "version": "1.0.0-alpha.9", + "version": "1.0.0-alpha.10", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.9", - "@serverless-stack/resources": "^1.0.0-alpha.9" + "@serverless-stack/cli": "^1.0.0-alpha.10", + "@serverless-stack/resources": "^1.0.0-alpha.10" }, "license": "ISC" } diff --git a/packages/cli/test/config-no-name/package.json b/packages/cli/test/config-no-name/package.json index 2d45eb80f3..8647f4624d 100644 --- a/packages/cli/test/config-no-name/package.json +++ b/packages/cli/test/config-no-name/package.json @@ -2,14 +2,14 @@ "name": "@serverless-stack/cli-test-config-no-name", "private": true, "description": "tests", - "version": "1.0.0-alpha.9", + "version": "1.0.0-alpha.10", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.9", - "@serverless-stack/resources": "^1.0.0-alpha.9" + "@serverless-stack/cli": "^1.0.0-alpha.10", + "@serverless-stack/resources": "^1.0.0-alpha.10" }, "license": "ISC" } diff --git a/packages/cli/test/config-not-found/package.json b/packages/cli/test/config-not-found/package.json index ff7e8fb2be..498dc5558d 100644 --- a/packages/cli/test/config-not-found/package.json +++ b/packages/cli/test/config-not-found/package.json @@ -2,14 +2,14 @@ "name": "@serverless-stack/cli-test-config-not-found", "private": true, "description": "tests", - "version": "1.0.0-alpha.9", + "version": "1.0.0-alpha.10", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.9", - "@serverless-stack/resources": "^1.0.0-alpha.9" + "@serverless-stack/cli": "^1.0.0-alpha.10", + "@serverless-stack/resources": "^1.0.0-alpha.10" }, "license": "ISC" } diff --git a/packages/cli/test/config/package.json b/packages/cli/test/config/package.json index 98f5b051e9..eba8ea9fa4 100644 --- a/packages/cli/test/config/package.json +++ b/packages/cli/test/config/package.json @@ -2,15 +2,15 @@ "name": "@serverless-stack/cli-test-config-test", "private": true, "description": "tests", - "version": "1.0.0-alpha.9", + "version": "1.0.0-alpha.10", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { "@aws-cdk/aws-dynamodb": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.9", - "@serverless-stack/resources": "^1.0.0-alpha.9" + "@serverless-stack/cli": "^1.0.0-alpha.10", + "@serverless-stack/resources": "^1.0.0-alpha.10" }, "license": "ISC" } diff --git a/packages/cli/test/context/package.json b/packages/cli/test/context/package.json index b98b0fd5ad..e4f359a740 100644 --- a/packages/cli/test/context/package.json +++ b/packages/cli/test/context/package.json @@ -2,15 +2,15 @@ "name": "@serverless-stack/cli-test-context", "private": true, "description": "tests", - "version": "1.0.0-alpha.9", + "version": "1.0.0-alpha.10", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { "@aws-cdk/aws-dynamodb": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.9", - "@serverless-stack/resources": "^1.0.0-alpha.9" + "@serverless-stack/cli": "^1.0.0-alpha.10", + "@serverless-stack/resources": "^1.0.0-alpha.10" }, "license": "ISC" } diff --git a/packages/cli/test/eslint-ignore-rule/package.json b/packages/cli/test/eslint-ignore-rule/package.json index 6d1d776e78..2db6c371da 100644 --- a/packages/cli/test/eslint-ignore-rule/package.json +++ b/packages/cli/test/eslint-ignore-rule/package.json @@ -2,14 +2,14 @@ "name": "@serverless-stack/cli-test-eslint-ignore-rule", "private": true, "description": "tests", - "version": "1.0.0-alpha.9", + "version": "1.0.0-alpha.10", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.9", - "@serverless-stack/resources": "^1.0.0-alpha.9" + "@serverless-stack/cli": "^1.0.0-alpha.10", + "@serverless-stack/resources": "^1.0.0-alpha.10" }, "license": "ISC" } diff --git a/packages/cli/test/eslint-ignore/package.json b/packages/cli/test/eslint-ignore/package.json index 70f719c58f..c9486a8541 100644 --- a/packages/cli/test/eslint-ignore/package.json +++ b/packages/cli/test/eslint-ignore/package.json @@ -2,14 +2,14 @@ "name": "@serverless-stack/cli-test-eslint-ignore", "private": true, "description": "tests", - "version": "1.0.0-alpha.9", + "version": "1.0.0-alpha.10", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.9", - "@serverless-stack/resources": "^1.0.0-alpha.9" + "@serverless-stack/cli": "^1.0.0-alpha.10", + "@serverless-stack/resources": "^1.0.0-alpha.10" }, "license": "ISC" } diff --git a/packages/cli/test/eslint-ts/package.json b/packages/cli/test/eslint-ts/package.json index 7121d6257a..5819efc656 100644 --- a/packages/cli/test/eslint-ts/package.json +++ b/packages/cli/test/eslint-ts/package.json @@ -2,14 +2,14 @@ "name": "@serverless-stack/cli-test-eslint-ts", "private": true, "description": "tests", - "version": "1.0.0-alpha.9", + "version": "1.0.0-alpha.10", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.9", - "@serverless-stack/resources": "^1.0.0-alpha.9" + "@serverless-stack/cli": "^1.0.0-alpha.10", + "@serverless-stack/resources": "^1.0.0-alpha.10" }, "license": "ISC" } diff --git a/packages/cli/test/eslint/package.json b/packages/cli/test/eslint/package.json index ea44ad63bc..d961cab023 100644 --- a/packages/cli/test/eslint/package.json +++ b/packages/cli/test/eslint/package.json @@ -2,14 +2,14 @@ "name": "@serverless-stack/cli-test-eslint", "private": true, "description": "tests", - "version": "1.0.0-alpha.9", + "version": "1.0.0-alpha.10", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.9", - "@serverless-stack/resources": "^1.0.0-alpha.9" + "@serverless-stack/cli": "^1.0.0-alpha.10", + "@serverless-stack/resources": "^1.0.0-alpha.10" }, "license": "ISC" } diff --git a/packages/cli/test/handler-function-not-found/package.json b/packages/cli/test/handler-function-not-found/package.json index e0a000c32f..0eb4f1710d 100644 --- a/packages/cli/test/handler-function-not-found/package.json +++ b/packages/cli/test/handler-function-not-found/package.json @@ -2,14 +2,14 @@ "name": "@serverless-stack/cli-test-handler-function-not-found", "private": true, "description": "tests", - "version": "1.0.0-alpha.9", + "version": "1.0.0-alpha.10", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.9", - "@serverless-stack/resources": "^1.0.0-alpha.9" + "@serverless-stack/cli": "^1.0.0-alpha.10", + "@serverless-stack/resources": "^1.0.0-alpha.10" }, "license": "ISC" } diff --git a/packages/cli/test/handler-not-found/package.json b/packages/cli/test/handler-not-found/package.json index 3727760642..b2d2dd989a 100644 --- a/packages/cli/test/handler-not-found/package.json +++ b/packages/cli/test/handler-not-found/package.json @@ -2,14 +2,14 @@ "name": "@serverless-stack/cli-test-handler-not-found", "private": true, "description": "tests", - "version": "1.0.0-alpha.9", + "version": "1.0.0-alpha.10", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.9", - "@serverless-stack/resources": "^1.0.0-alpha.9" + "@serverless-stack/cli": "^1.0.0-alpha.10", + "@serverless-stack/resources": "^1.0.0-alpha.10" }, "license": "ISC" } diff --git a/packages/cli/test/jest-ts/package.json b/packages/cli/test/jest-ts/package.json index daa4abe81a..2091e4b874 100644 --- a/packages/cli/test/jest-ts/package.json +++ b/packages/cli/test/jest-ts/package.json @@ -2,7 +2,7 @@ "name": "@serverless-stack/cli-test-jest-ts", "private": true, "description": "tests", - "version": "1.0.0-alpha.9", + "version": "1.0.0-alpha.10", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build", @@ -19,8 +19,8 @@ "@aws-cdk/aws-sns-subscriptions": "1.79.0", "@aws-cdk/aws-sqs": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.9", - "@serverless-stack/resources": "^1.0.0-alpha.9" + "@serverless-stack/cli": "^1.0.0-alpha.10", + "@serverless-stack/resources": "^1.0.0-alpha.10" }, "license": "ISC", "devDependencies": { diff --git a/packages/cli/test/jest/package.json b/packages/cli/test/jest/package.json index 6e243e87ba..24890f92a6 100644 --- a/packages/cli/test/jest/package.json +++ b/packages/cli/test/jest/package.json @@ -2,7 +2,7 @@ "name": "@serverless-stack/cli-test-jest", "private": true, "description": "tests", - "version": "1.0.0-alpha.9", + "version": "1.0.0-alpha.10", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "test": "sst test" @@ -15,8 +15,8 @@ "dependencies": { "@aws-cdk/aws-dynamodb": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.9", - "@serverless-stack/resources": "^1.0.0-alpha.9" + "@serverless-stack/cli": "^1.0.0-alpha.10", + "@serverless-stack/resources": "^1.0.0-alpha.10" }, "license": "ISC", "devDependencies": { diff --git a/packages/cli/test/lambda-override-eslintrc/package.json b/packages/cli/test/lambda-override-eslintrc/package.json index 921019455b..3a080496e9 100644 --- a/packages/cli/test/lambda-override-eslintrc/package.json +++ b/packages/cli/test/lambda-override-eslintrc/package.json @@ -2,7 +2,7 @@ "name": "@serverless-stack/cli-test-lambda-override-eslintrc", "private": true, "description": "tests", - "version": "1.0.0-alpha.9", + "version": "1.0.0-alpha.10", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build", @@ -12,8 +12,8 @@ "@aws-cdk/aws-apigatewayv2": "1.79.0", "@aws-cdk/aws-apigatewayv2-integrations": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.9", - "@serverless-stack/resources": "^1.0.0-alpha.9" + "@serverless-stack/cli": "^1.0.0-alpha.10", + "@serverless-stack/resources": "^1.0.0-alpha.10" }, "license": "ISC" } diff --git a/packages/cli/test/lambda-override-tsconfig/package.json b/packages/cli/test/lambda-override-tsconfig/package.json index 6d137345be..84c83e55c9 100644 --- a/packages/cli/test/lambda-override-tsconfig/package.json +++ b/packages/cli/test/lambda-override-tsconfig/package.json @@ -2,7 +2,7 @@ "name": "@serverless-stack/cli-test-lambda-override-tsconfig", "private": true, "description": "tests", - "version": "1.0.0-alpha.9", + "version": "1.0.0-alpha.10", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build", @@ -12,8 +12,8 @@ "@aws-cdk/aws-apigatewayv2": "1.79.0", "@aws-cdk/aws-apigatewayv2-integrations": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.9", - "@serverless-stack/resources": "^1.0.0-alpha.9" + "@serverless-stack/cli": "^1.0.0-alpha.10", + "@serverless-stack/resources": "^1.0.0-alpha.10" }, "license": "ISC", "devDependencies": { diff --git a/packages/cli/test/mismatched-cdk-versions/package.json b/packages/cli/test/mismatched-cdk-versions/package.json index 2f3940524b..a05a8264ca 100644 --- a/packages/cli/test/mismatched-cdk-versions/package.json +++ b/packages/cli/test/mismatched-cdk-versions/package.json @@ -2,7 +2,7 @@ "name": "@serverless-stack/cli-test-mismatched-cdk-versions", "private": true, "description": "tests", - "version": "1.0.0-alpha.9", + "version": "1.0.0-alpha.10", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" @@ -13,8 +13,8 @@ "@aws-cdk/aws-iam": "1.57.0", "@aws-cdk/aws-s3": "^1.57.0", "@aws-cdk/core": "1.56.0", - "@serverless-stack/cli": "^1.0.0-alpha.9", - "@serverless-stack/resources": "^1.0.0-alpha.9" + "@serverless-stack/cli": "^1.0.0-alpha.10", + "@serverless-stack/resources": "^1.0.0-alpha.10" }, "license": "ISC" } diff --git a/packages/cli/test/stack-no-prefix/package.json b/packages/cli/test/stack-no-prefix/package.json index 4dc7e04ecd..0c9e5e5de6 100644 --- a/packages/cli/test/stack-no-prefix/package.json +++ b/packages/cli/test/stack-no-prefix/package.json @@ -2,15 +2,15 @@ "name": "@serverless-stack/cli-test-stack-no-prefix", "private": true, "description": "tests", - "version": "1.0.0-alpha.9", + "version": "1.0.0-alpha.10", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.9", - "@serverless-stack/resources": "^1.0.0-alpha.9" + "@serverless-stack/cli": "^1.0.0-alpha.10", + "@serverless-stack/resources": "^1.0.0-alpha.10" }, "license": "ISC" } diff --git a/packages/cli/test/stack-set-env/package.json b/packages/cli/test/stack-set-env/package.json index 38062a1c16..64cb62514e 100644 --- a/packages/cli/test/stack-set-env/package.json +++ b/packages/cli/test/stack-set-env/package.json @@ -2,14 +2,14 @@ "name": "@serverless-stack/cli-test-stack-set-env", "private": true, "description": "tests", - "version": "1.0.0-alpha.9", + "version": "1.0.0-alpha.10", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.9", - "@serverless-stack/resources": "^1.0.0-alpha.9" + "@serverless-stack/cli": "^1.0.0-alpha.10", + "@serverless-stack/resources": "^1.0.0-alpha.10" }, "license": "ISC" } diff --git a/packages/cli/test/start-base/package.json b/packages/cli/test/start-base/package.json index 09d6b11f1f..68f7e20d74 100644 --- a/packages/cli/test/start-base/package.json +++ b/packages/cli/test/start-base/package.json @@ -2,7 +2,7 @@ "name": "@serverless-stack/cli-test-start-base", "private": true, "description": "tests", - "version": "1.0.0-alpha.9", + "version": "1.0.0-alpha.10", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "start": "sst start", @@ -17,8 +17,8 @@ "@aws-cdk/aws-sns": "1.79.0", "@aws-cdk/aws-sns-subscriptions": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.9", - "@serverless-stack/resources": "^1.0.0-alpha.9" + "@serverless-stack/cli": "^1.0.0-alpha.10", + "@serverless-stack/resources": "^1.0.0-alpha.10" }, "license": "ISC" } diff --git a/packages/cli/test/start-no-src-path/package.json b/packages/cli/test/start-no-src-path/package.json index 9b6ab43bc8..c04dca1517 100644 --- a/packages/cli/test/start-no-src-path/package.json +++ b/packages/cli/test/start-no-src-path/package.json @@ -2,7 +2,7 @@ "name": "@serverless-stack/cli-test-start-no-src-path", "private": true, "description": "tests", - "version": "1.0.0-alpha.9", + "version": "1.0.0-alpha.10", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "start": "sst start", @@ -16,8 +16,8 @@ "@aws-cdk/aws-apigatewayv2-integrations": "1.79.0", "@aws-cdk/aws-lambda": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.9", - "@serverless-stack/resources": "^1.0.0-alpha.9", + "@serverless-stack/cli": "^1.0.0-alpha.10", + "@serverless-stack/resources": "^1.0.0-alpha.10", "mirrarray": "^2.0.0" }, "license": "ISC" diff --git a/packages/core/package.json b/packages/core/package.json index ef95e3777e..5dfa1a1361 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@serverless-stack/core", - "version": "1.0.0-alpha.9", + "version": "1.0.0-alpha.10", "homepage": "https://serverless-stack.com", "description": "Core of the Serverless Stack Toolkit.", "main": "index.js", diff --git a/packages/create-serverless-stack/package.json b/packages/create-serverless-stack/package.json index ef85f2a6f2..57451a0b1d 100644 --- a/packages/create-serverless-stack/package.json +++ b/packages/create-serverless-stack/package.json @@ -1,6 +1,6 @@ { "name": "create-serverless-stack", - "version": "1.0.0-alpha.9", + "version": "1.0.0-alpha.10", "homepage": "https://serverless-stack.com", "description": "Create Serverless Stack apps.", "bin": { diff --git a/packages/resources/package.json b/packages/resources/package.json index 0a795121c3..d509d3d1a8 100644 --- a/packages/resources/package.json +++ b/packages/resources/package.json @@ -1,6 +1,6 @@ { "name": "@serverless-stack/resources", - "version": "1.0.0-alpha.9", + "version": "1.0.0-alpha.10", "homepage": "https://serverless-stack.com", "description": "Helper AWS CDK constructs for Serverless Stack apps.", "main": "dist/index.js", From 23698ac90ad321152a09531f77dd9b8d7a666c52 Mon Sep 17 00:00:00 2001 From: Jay Date: Sat, 9 Jan 2021 22:55:44 -0500 Subject: [PATCH 103/123] Filtering for only js and ts files in lint --- lerna.json | 4 +--- packages/cli/scripts/start.js | 8 +++++--- packages/cli/scripts/util/cdkHelpers.js | 6 ++++-- packages/cli/test/start-base/src/api/api.ts | 14 ++------------ .../test/%stack-name.PascalCased%.test.template.ts | 6 ++---- packages/resources/src/util/builder.ts | 6 +++--- 6 files changed, 17 insertions(+), 27 deletions(-) diff --git a/lerna.json b/lerna.json index e5bff9c818..429881ab70 100644 --- a/lerna.json +++ b/lerna.json @@ -1,7 +1,5 @@ { - "packages": [ - "packages/*" - ], + "packages": ["packages/*"], "npmClient": "yarn", "useWorkspaces": true, "version": "1.0.0-alpha.10" diff --git a/packages/cli/scripts/start.js b/packages/cli/scripts/start.js index 34f520a603..66359fa88a 100644 --- a/packages/cli/scripts/start.js +++ b/packages/cli/scripts/start.js @@ -583,7 +583,11 @@ async function reTranspiler(srcPath, entry, handler) { } function lint(srcPath) { - const { inputFiles } = builderState.srcPathsData[srcPath]; + let { inputFiles } = builderState.srcPathsData[srcPath]; + + inputFiles = inputFiles.filter( + (file) => file.endsWith(".ts") || file.endsWith(".js") + ); const cp = spawn( path.join(paths.appNodeModules, ".bin", "eslint"), @@ -593,8 +597,6 @@ function lint(srcPath) { "--config", path.join(paths.appBuildPath, ".eslintrc.internal.js"), path.join(paths.ownPath, "scripts", "util", ".eslintrc.internal.js"), - "--ext", - ".js,.ts", "--fix", // Handling nested ESLint projects in Yarn Workspaces // https://github.com/serverless-stack/serverless-stack/issues/11 diff --git a/packages/cli/scripts/util/cdkHelpers.js b/packages/cli/scripts/util/cdkHelpers.js index ad05db6547..6ff906696b 100644 --- a/packages/cli/scripts/util/cdkHelpers.js +++ b/packages/cli/scripts/util/cdkHelpers.js @@ -144,6 +144,10 @@ function runCdkVersionMatch(packageJson, cliInfo) { } async function lint(inputFiles) { + inputFiles = inputFiles.filter( + (file) => file.endsWith(".ts") || file.endsWith(".js") + ); + logger.info(chalk.grey("Linting source")); try { @@ -154,8 +158,6 @@ async function lint(inputFiles) { "--no-error-on-unmatched-pattern", "--config", path.join(paths.appBuildPath, ".eslintrc.internal.js"), - "--ext", - ".js,.ts", "--fix", // Handling nested ESLint projects in Yarn Workspaces // https://github.com/serverless-stack/serverless-stack/issues/11 diff --git a/packages/cli/test/start-base/src/api/api.ts b/packages/cli/test/start-base/src/api/api.ts index 8ff1b568e5..666cb4c71b 100644 --- a/packages/cli/test/start-base/src/api/api.ts +++ b/packages/cli/test/start-base/src/api/api.ts @@ -1,22 +1,12 @@ import * as AWS from "aws-sdk"; import mirrarray from "mirrarray"; -import { APIGatewayEvent } from "aws-lambda"; +import { APIGatewayProxyResult } from "aws-lambda"; import str from "./lib"; const sns = new AWS.SNS(); -interface APIResponse { - statusCode: number; - body: string; - headers: { [key: string]: string }; -} - -export async function main(event: APIGatewayEvent): Promise { - console.log( - `Logging from inside the API Lambda for route: ${event.routeKey}` - ); - +export async function main(): Promise { mirrarray(["this", "that", "another"]); await sns diff --git a/packages/create-serverless-stack/templates/typescript/test/%stack-name.PascalCased%.test.template.ts b/packages/create-serverless-stack/templates/typescript/test/%stack-name.PascalCased%.test.template.ts index ede5164c13..cec544eb0c 100644 --- a/packages/create-serverless-stack/templates/typescript/test/%stack-name.PascalCased%.test.template.ts +++ b/packages/create-serverless-stack/templates/typescript/test/%stack-name.PascalCased%.test.template.ts @@ -1,4 +1,4 @@ -import { expect, matchTemplate, MatchStyle } from "@aws-cdk/assert"; +import { expect, haveResource } from "@aws-cdk/assert"; import * as sst from "@serverless-stack/resources"; import %stack-name.PascalCased% from "../lib/%stack-name.PascalCased%"; @@ -7,7 +7,5 @@ test("Test Stack", () => { // WHEN const stack = new %stack-name.PascalCased%(app, "test-stack"); // THEN - expect(stack).to(matchTemplate({ - "Resources": {} - }, MatchStyle.EXACT)); + expect(stack).to(haveResource("AWS::Lambda::Function")); }); diff --git a/packages/resources/src/util/builder.ts b/packages/resources/src/util/builder.ts index f95379996c..b6441f0b1a 100644 --- a/packages/resources/src/util/builder.ts +++ b/packages/resources/src/util/builder.ts @@ -87,7 +87,9 @@ export function builder(builderProps: BuilderProps): BuilderOutput { function lint(inputFiles: Array) { inputFiles = inputFiles.filter( - (file: string) => file.indexOf("node_modules") === -1 + (file: string) => + file.indexOf("node_modules") === -1 && + (file.endsWith(".ts") || file.endsWith(".js")) ); console.log(chalk.grey("Linting Lambda function source")); @@ -100,8 +102,6 @@ export function builder(builderProps: BuilderProps): BuilderOutput { "--no-error-on-unmatched-pattern", "--config", path.join(appPath, buildDir, ".eslintrc.internal.js"), - "--ext", - ".js,.ts", "--fix", // Handling nested ESLint projects in Yarn Workspaces // https://github.com/serverless-stack/serverless-stack/issues/11 From 5076cae3d769c602c65b7f9c2635e87689b16a07 Mon Sep 17 00:00:00 2001 From: Frank Date: Sat, 9 Jan 2021 22:57:36 -0500 Subject: [PATCH 104/123] Including app name in debug stack name --- packages/cli/scripts/start.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/cli/scripts/start.js b/packages/cli/scripts/start.js index 34f520a603..1fd06cca1a 100644 --- a/packages/cli/scripts/start.js +++ b/packages/cli/scripts/start.js @@ -104,7 +104,7 @@ async function deployDebugStack(argv, cliInfo, config) { return "ws://test-endpoint"; } - const stackName = `${config.stage}-debug-stack`; + const stackName = `${config.stage}-${config.name}-debug-stack`; logger.info(""); logger.info("======================="); From 425bff243baffa1e2c0548a2bb53548efacc81e1 Mon Sep 17 00:00:00 2001 From: Jay Date: Sat, 9 Jan 2021 23:08:21 -0500 Subject: [PATCH 105/123] v1.0.0-alpha.11 --- lerna.json | 6 ++++-- packages/cli/package.json | 6 +++--- packages/cli/test/add-cdk/package.json | 4 ++-- packages/cli/test/base-ts/package.json | 6 +++--- packages/cli/test/base/package.json | 6 +++--- packages/cli/test/cdk-command/package.json | 6 +++--- packages/cli/test/config-invalid/package.json | 6 +++--- packages/cli/test/config-no-name/package.json | 6 +++--- packages/cli/test/config-not-found/package.json | 6 +++--- packages/cli/test/config/package.json | 6 +++--- packages/cli/test/context/package.json | 6 +++--- packages/cli/test/eslint-ignore-rule/package.json | 6 +++--- packages/cli/test/eslint-ignore/package.json | 6 +++--- packages/cli/test/eslint-ts/package.json | 6 +++--- packages/cli/test/eslint/package.json | 6 +++--- packages/cli/test/handler-function-not-found/package.json | 6 +++--- packages/cli/test/handler-not-found/package.json | 6 +++--- packages/cli/test/jest-ts/package.json | 6 +++--- packages/cli/test/jest/package.json | 6 +++--- packages/cli/test/lambda-override-eslintrc/package.json | 6 +++--- packages/cli/test/lambda-override-tsconfig/package.json | 6 +++--- packages/cli/test/mismatched-cdk-versions/package.json | 6 +++--- packages/cli/test/stack-no-prefix/package.json | 6 +++--- packages/cli/test/stack-set-env/package.json | 6 +++--- packages/cli/test/start-base/package.json | 6 +++--- packages/cli/test/start-no-src-path/package.json | 6 +++--- packages/core/package.json | 2 +- packages/create-serverless-stack/package.json | 2 +- packages/resources/package.json | 2 +- 29 files changed, 81 insertions(+), 79 deletions(-) diff --git a/lerna.json b/lerna.json index 429881ab70..66c79b42c5 100644 --- a/lerna.json +++ b/lerna.json @@ -1,6 +1,8 @@ { - "packages": ["packages/*"], + "packages": [ + "packages/*" + ], "npmClient": "yarn", "useWorkspaces": true, - "version": "1.0.0-alpha.10" + "version": "1.0.0-alpha.11" } diff --git a/packages/cli/package.json b/packages/cli/package.json index 6790c1969f..38577b7b47 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@serverless-stack/cli", - "version": "1.0.0-alpha.10", + "version": "1.0.0-alpha.11", "description": "A CLI to help deploy Serverless Stack apps.", "scripts": { "prepare": "./bin/sync-cdk-version.js", @@ -45,8 +45,8 @@ "@babel/eslint-plugin": "^7.11.3", "@babel/plugin-proposal-class-properties": "^7.10.4", "@babel/preset-env": "^7.10.4", - "@serverless-stack/core": "^1.0.0-alpha.10", - "@serverless-stack/resources": "^1.0.0-alpha.10", + "@serverless-stack/core": "^1.0.0-alpha.11", + "@serverless-stack/resources": "^1.0.0-alpha.11", "@types/jest": "^26.0.7", "@types/node": "^14.0.27", "@typescript-eslint/eslint-plugin": "^3.9.1", diff --git a/packages/cli/test/add-cdk/package.json b/packages/cli/test/add-cdk/package.json index 9529fca889..accb305c35 100644 --- a/packages/cli/test/add-cdk/package.json +++ b/packages/cli/test/add-cdk/package.json @@ -2,13 +2,13 @@ "name": "@serverless-stack/cli-test-add-cdk", "private": true, "description": "tests", - "version": "1.0.0-alpha.10", + "version": "1.0.0-alpha.11", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "add-cdk": "sst add-cdk" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.10" + "@serverless-stack/cli": "^1.0.0-alpha.11" }, "license": "ISC" } diff --git a/packages/cli/test/base-ts/package.json b/packages/cli/test/base-ts/package.json index b5ca3babec..8d80542304 100644 --- a/packages/cli/test/base-ts/package.json +++ b/packages/cli/test/base-ts/package.json @@ -2,7 +2,7 @@ "name": "@serverless-stack/cli-test-base-ts", "private": true, "description": "tests", - "version": "1.0.0-alpha.10", + "version": "1.0.0-alpha.11", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "start": "sst start", @@ -14,8 +14,8 @@ "dependencies": { "@aws-cdk/aws-s3": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.10", - "@serverless-stack/resources": "^1.0.0-alpha.10" + "@serverless-stack/cli": "^1.0.0-alpha.11", + "@serverless-stack/resources": "^1.0.0-alpha.11" }, "license": "ISC", "devDependencies": { diff --git a/packages/cli/test/base/package.json b/packages/cli/test/base/package.json index d236f2698f..5780924d1e 100644 --- a/packages/cli/test/base/package.json +++ b/packages/cli/test/base/package.json @@ -2,7 +2,7 @@ "name": "@serverless-stack/cli-test-base", "private": true, "description": "tests", - "version": "1.0.0-alpha.10", + "version": "1.0.0-alpha.11", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "start": "sst start", @@ -18,8 +18,8 @@ "@aws-cdk/aws-iam": "1.79.0", "@aws-cdk/aws-s3": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.10", - "@serverless-stack/resources": "^1.0.0-alpha.10" + "@serverless-stack/cli": "^1.0.0-alpha.11", + "@serverless-stack/resources": "^1.0.0-alpha.11" }, "license": "ISC" } diff --git a/packages/cli/test/cdk-command/package.json b/packages/cli/test/cdk-command/package.json index e2b2af405d..4475602bc0 100644 --- a/packages/cli/test/cdk-command/package.json +++ b/packages/cli/test/cdk-command/package.json @@ -2,14 +2,14 @@ "name": "@serverless-stack/cli-test-cdk-command", "private": true, "description": "tests", - "version": "1.0.0-alpha.10", + "version": "1.0.0-alpha.11", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "cdk": "sst cdk" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.10", - "@serverless-stack/resources": "^1.0.0-alpha.10" + "@serverless-stack/cli": "^1.0.0-alpha.11", + "@serverless-stack/resources": "^1.0.0-alpha.11" }, "license": "ISC" } diff --git a/packages/cli/test/config-invalid/package.json b/packages/cli/test/config-invalid/package.json index 8480597ee0..d1a5f6d14f 100644 --- a/packages/cli/test/config-invalid/package.json +++ b/packages/cli/test/config-invalid/package.json @@ -2,14 +2,14 @@ "name": "@serverless-stack/cli-test-config-invalid", "private": true, "description": "tests", - "version": "1.0.0-alpha.10", + "version": "1.0.0-alpha.11", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.10", - "@serverless-stack/resources": "^1.0.0-alpha.10" + "@serverless-stack/cli": "^1.0.0-alpha.11", + "@serverless-stack/resources": "^1.0.0-alpha.11" }, "license": "ISC" } diff --git a/packages/cli/test/config-no-name/package.json b/packages/cli/test/config-no-name/package.json index 8647f4624d..8af7bcb18f 100644 --- a/packages/cli/test/config-no-name/package.json +++ b/packages/cli/test/config-no-name/package.json @@ -2,14 +2,14 @@ "name": "@serverless-stack/cli-test-config-no-name", "private": true, "description": "tests", - "version": "1.0.0-alpha.10", + "version": "1.0.0-alpha.11", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.10", - "@serverless-stack/resources": "^1.0.0-alpha.10" + "@serverless-stack/cli": "^1.0.0-alpha.11", + "@serverless-stack/resources": "^1.0.0-alpha.11" }, "license": "ISC" } diff --git a/packages/cli/test/config-not-found/package.json b/packages/cli/test/config-not-found/package.json index 498dc5558d..d62d9a6163 100644 --- a/packages/cli/test/config-not-found/package.json +++ b/packages/cli/test/config-not-found/package.json @@ -2,14 +2,14 @@ "name": "@serverless-stack/cli-test-config-not-found", "private": true, "description": "tests", - "version": "1.0.0-alpha.10", + "version": "1.0.0-alpha.11", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.10", - "@serverless-stack/resources": "^1.0.0-alpha.10" + "@serverless-stack/cli": "^1.0.0-alpha.11", + "@serverless-stack/resources": "^1.0.0-alpha.11" }, "license": "ISC" } diff --git a/packages/cli/test/config/package.json b/packages/cli/test/config/package.json index eba8ea9fa4..0961351b7c 100644 --- a/packages/cli/test/config/package.json +++ b/packages/cli/test/config/package.json @@ -2,15 +2,15 @@ "name": "@serverless-stack/cli-test-config-test", "private": true, "description": "tests", - "version": "1.0.0-alpha.10", + "version": "1.0.0-alpha.11", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { "@aws-cdk/aws-dynamodb": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.10", - "@serverless-stack/resources": "^1.0.0-alpha.10" + "@serverless-stack/cli": "^1.0.0-alpha.11", + "@serverless-stack/resources": "^1.0.0-alpha.11" }, "license": "ISC" } diff --git a/packages/cli/test/context/package.json b/packages/cli/test/context/package.json index e4f359a740..1a3a409796 100644 --- a/packages/cli/test/context/package.json +++ b/packages/cli/test/context/package.json @@ -2,15 +2,15 @@ "name": "@serverless-stack/cli-test-context", "private": true, "description": "tests", - "version": "1.0.0-alpha.10", + "version": "1.0.0-alpha.11", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { "@aws-cdk/aws-dynamodb": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.10", - "@serverless-stack/resources": "^1.0.0-alpha.10" + "@serverless-stack/cli": "^1.0.0-alpha.11", + "@serverless-stack/resources": "^1.0.0-alpha.11" }, "license": "ISC" } diff --git a/packages/cli/test/eslint-ignore-rule/package.json b/packages/cli/test/eslint-ignore-rule/package.json index 2db6c371da..a74d4bd5e0 100644 --- a/packages/cli/test/eslint-ignore-rule/package.json +++ b/packages/cli/test/eslint-ignore-rule/package.json @@ -2,14 +2,14 @@ "name": "@serverless-stack/cli-test-eslint-ignore-rule", "private": true, "description": "tests", - "version": "1.0.0-alpha.10", + "version": "1.0.0-alpha.11", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.10", - "@serverless-stack/resources": "^1.0.0-alpha.10" + "@serverless-stack/cli": "^1.0.0-alpha.11", + "@serverless-stack/resources": "^1.0.0-alpha.11" }, "license": "ISC" } diff --git a/packages/cli/test/eslint-ignore/package.json b/packages/cli/test/eslint-ignore/package.json index c9486a8541..b97a809995 100644 --- a/packages/cli/test/eslint-ignore/package.json +++ b/packages/cli/test/eslint-ignore/package.json @@ -2,14 +2,14 @@ "name": "@serverless-stack/cli-test-eslint-ignore", "private": true, "description": "tests", - "version": "1.0.0-alpha.10", + "version": "1.0.0-alpha.11", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.10", - "@serverless-stack/resources": "^1.0.0-alpha.10" + "@serverless-stack/cli": "^1.0.0-alpha.11", + "@serverless-stack/resources": "^1.0.0-alpha.11" }, "license": "ISC" } diff --git a/packages/cli/test/eslint-ts/package.json b/packages/cli/test/eslint-ts/package.json index 5819efc656..41b55e63e0 100644 --- a/packages/cli/test/eslint-ts/package.json +++ b/packages/cli/test/eslint-ts/package.json @@ -2,14 +2,14 @@ "name": "@serverless-stack/cli-test-eslint-ts", "private": true, "description": "tests", - "version": "1.0.0-alpha.10", + "version": "1.0.0-alpha.11", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.10", - "@serverless-stack/resources": "^1.0.0-alpha.10" + "@serverless-stack/cli": "^1.0.0-alpha.11", + "@serverless-stack/resources": "^1.0.0-alpha.11" }, "license": "ISC" } diff --git a/packages/cli/test/eslint/package.json b/packages/cli/test/eslint/package.json index d961cab023..1cf1a42785 100644 --- a/packages/cli/test/eslint/package.json +++ b/packages/cli/test/eslint/package.json @@ -2,14 +2,14 @@ "name": "@serverless-stack/cli-test-eslint", "private": true, "description": "tests", - "version": "1.0.0-alpha.10", + "version": "1.0.0-alpha.11", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.10", - "@serverless-stack/resources": "^1.0.0-alpha.10" + "@serverless-stack/cli": "^1.0.0-alpha.11", + "@serverless-stack/resources": "^1.0.0-alpha.11" }, "license": "ISC" } diff --git a/packages/cli/test/handler-function-not-found/package.json b/packages/cli/test/handler-function-not-found/package.json index 0eb4f1710d..d518fb7eb7 100644 --- a/packages/cli/test/handler-function-not-found/package.json +++ b/packages/cli/test/handler-function-not-found/package.json @@ -2,14 +2,14 @@ "name": "@serverless-stack/cli-test-handler-function-not-found", "private": true, "description": "tests", - "version": "1.0.0-alpha.10", + "version": "1.0.0-alpha.11", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.10", - "@serverless-stack/resources": "^1.0.0-alpha.10" + "@serverless-stack/cli": "^1.0.0-alpha.11", + "@serverless-stack/resources": "^1.0.0-alpha.11" }, "license": "ISC" } diff --git a/packages/cli/test/handler-not-found/package.json b/packages/cli/test/handler-not-found/package.json index b2d2dd989a..0f1ada24a7 100644 --- a/packages/cli/test/handler-not-found/package.json +++ b/packages/cli/test/handler-not-found/package.json @@ -2,14 +2,14 @@ "name": "@serverless-stack/cli-test-handler-not-found", "private": true, "description": "tests", - "version": "1.0.0-alpha.10", + "version": "1.0.0-alpha.11", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.10", - "@serverless-stack/resources": "^1.0.0-alpha.10" + "@serverless-stack/cli": "^1.0.0-alpha.11", + "@serverless-stack/resources": "^1.0.0-alpha.11" }, "license": "ISC" } diff --git a/packages/cli/test/jest-ts/package.json b/packages/cli/test/jest-ts/package.json index 2091e4b874..1739149c9c 100644 --- a/packages/cli/test/jest-ts/package.json +++ b/packages/cli/test/jest-ts/package.json @@ -2,7 +2,7 @@ "name": "@serverless-stack/cli-test-jest-ts", "private": true, "description": "tests", - "version": "1.0.0-alpha.10", + "version": "1.0.0-alpha.11", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build", @@ -19,8 +19,8 @@ "@aws-cdk/aws-sns-subscriptions": "1.79.0", "@aws-cdk/aws-sqs": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.10", - "@serverless-stack/resources": "^1.0.0-alpha.10" + "@serverless-stack/cli": "^1.0.0-alpha.11", + "@serverless-stack/resources": "^1.0.0-alpha.11" }, "license": "ISC", "devDependencies": { diff --git a/packages/cli/test/jest/package.json b/packages/cli/test/jest/package.json index 24890f92a6..472126275f 100644 --- a/packages/cli/test/jest/package.json +++ b/packages/cli/test/jest/package.json @@ -2,7 +2,7 @@ "name": "@serverless-stack/cli-test-jest", "private": true, "description": "tests", - "version": "1.0.0-alpha.10", + "version": "1.0.0-alpha.11", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "test": "sst test" @@ -15,8 +15,8 @@ "dependencies": { "@aws-cdk/aws-dynamodb": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.10", - "@serverless-stack/resources": "^1.0.0-alpha.10" + "@serverless-stack/cli": "^1.0.0-alpha.11", + "@serverless-stack/resources": "^1.0.0-alpha.11" }, "license": "ISC", "devDependencies": { diff --git a/packages/cli/test/lambda-override-eslintrc/package.json b/packages/cli/test/lambda-override-eslintrc/package.json index 3a080496e9..e9b355dff9 100644 --- a/packages/cli/test/lambda-override-eslintrc/package.json +++ b/packages/cli/test/lambda-override-eslintrc/package.json @@ -2,7 +2,7 @@ "name": "@serverless-stack/cli-test-lambda-override-eslintrc", "private": true, "description": "tests", - "version": "1.0.0-alpha.10", + "version": "1.0.0-alpha.11", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build", @@ -12,8 +12,8 @@ "@aws-cdk/aws-apigatewayv2": "1.79.0", "@aws-cdk/aws-apigatewayv2-integrations": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.10", - "@serverless-stack/resources": "^1.0.0-alpha.10" + "@serverless-stack/cli": "^1.0.0-alpha.11", + "@serverless-stack/resources": "^1.0.0-alpha.11" }, "license": "ISC" } diff --git a/packages/cli/test/lambda-override-tsconfig/package.json b/packages/cli/test/lambda-override-tsconfig/package.json index 84c83e55c9..f5bd542c87 100644 --- a/packages/cli/test/lambda-override-tsconfig/package.json +++ b/packages/cli/test/lambda-override-tsconfig/package.json @@ -2,7 +2,7 @@ "name": "@serverless-stack/cli-test-lambda-override-tsconfig", "private": true, "description": "tests", - "version": "1.0.0-alpha.10", + "version": "1.0.0-alpha.11", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build", @@ -12,8 +12,8 @@ "@aws-cdk/aws-apigatewayv2": "1.79.0", "@aws-cdk/aws-apigatewayv2-integrations": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.10", - "@serverless-stack/resources": "^1.0.0-alpha.10" + "@serverless-stack/cli": "^1.0.0-alpha.11", + "@serverless-stack/resources": "^1.0.0-alpha.11" }, "license": "ISC", "devDependencies": { diff --git a/packages/cli/test/mismatched-cdk-versions/package.json b/packages/cli/test/mismatched-cdk-versions/package.json index a05a8264ca..2567ce93b8 100644 --- a/packages/cli/test/mismatched-cdk-versions/package.json +++ b/packages/cli/test/mismatched-cdk-versions/package.json @@ -2,7 +2,7 @@ "name": "@serverless-stack/cli-test-mismatched-cdk-versions", "private": true, "description": "tests", - "version": "1.0.0-alpha.10", + "version": "1.0.0-alpha.11", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" @@ -13,8 +13,8 @@ "@aws-cdk/aws-iam": "1.57.0", "@aws-cdk/aws-s3": "^1.57.0", "@aws-cdk/core": "1.56.0", - "@serverless-stack/cli": "^1.0.0-alpha.10", - "@serverless-stack/resources": "^1.0.0-alpha.10" + "@serverless-stack/cli": "^1.0.0-alpha.11", + "@serverless-stack/resources": "^1.0.0-alpha.11" }, "license": "ISC" } diff --git a/packages/cli/test/stack-no-prefix/package.json b/packages/cli/test/stack-no-prefix/package.json index 0c9e5e5de6..5e29cbeeb8 100644 --- a/packages/cli/test/stack-no-prefix/package.json +++ b/packages/cli/test/stack-no-prefix/package.json @@ -2,15 +2,15 @@ "name": "@serverless-stack/cli-test-stack-no-prefix", "private": true, "description": "tests", - "version": "1.0.0-alpha.10", + "version": "1.0.0-alpha.11", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.10", - "@serverless-stack/resources": "^1.0.0-alpha.10" + "@serverless-stack/cli": "^1.0.0-alpha.11", + "@serverless-stack/resources": "^1.0.0-alpha.11" }, "license": "ISC" } diff --git a/packages/cli/test/stack-set-env/package.json b/packages/cli/test/stack-set-env/package.json index 64cb62514e..e680b80175 100644 --- a/packages/cli/test/stack-set-env/package.json +++ b/packages/cli/test/stack-set-env/package.json @@ -2,14 +2,14 @@ "name": "@serverless-stack/cli-test-stack-set-env", "private": true, "description": "tests", - "version": "1.0.0-alpha.10", + "version": "1.0.0-alpha.11", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.10", - "@serverless-stack/resources": "^1.0.0-alpha.10" + "@serverless-stack/cli": "^1.0.0-alpha.11", + "@serverless-stack/resources": "^1.0.0-alpha.11" }, "license": "ISC" } diff --git a/packages/cli/test/start-base/package.json b/packages/cli/test/start-base/package.json index 68f7e20d74..74c5acebed 100644 --- a/packages/cli/test/start-base/package.json +++ b/packages/cli/test/start-base/package.json @@ -2,7 +2,7 @@ "name": "@serverless-stack/cli-test-start-base", "private": true, "description": "tests", - "version": "1.0.0-alpha.10", + "version": "1.0.0-alpha.11", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "start": "sst start", @@ -17,8 +17,8 @@ "@aws-cdk/aws-sns": "1.79.0", "@aws-cdk/aws-sns-subscriptions": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.10", - "@serverless-stack/resources": "^1.0.0-alpha.10" + "@serverless-stack/cli": "^1.0.0-alpha.11", + "@serverless-stack/resources": "^1.0.0-alpha.11" }, "license": "ISC" } diff --git a/packages/cli/test/start-no-src-path/package.json b/packages/cli/test/start-no-src-path/package.json index c04dca1517..97796ad858 100644 --- a/packages/cli/test/start-no-src-path/package.json +++ b/packages/cli/test/start-no-src-path/package.json @@ -2,7 +2,7 @@ "name": "@serverless-stack/cli-test-start-no-src-path", "private": true, "description": "tests", - "version": "1.0.0-alpha.10", + "version": "1.0.0-alpha.11", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "start": "sst start", @@ -16,8 +16,8 @@ "@aws-cdk/aws-apigatewayv2-integrations": "1.79.0", "@aws-cdk/aws-lambda": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.10", - "@serverless-stack/resources": "^1.0.0-alpha.10", + "@serverless-stack/cli": "^1.0.0-alpha.11", + "@serverless-stack/resources": "^1.0.0-alpha.11", "mirrarray": "^2.0.0" }, "license": "ISC" diff --git a/packages/core/package.json b/packages/core/package.json index 5dfa1a1361..d7a31e665c 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@serverless-stack/core", - "version": "1.0.0-alpha.10", + "version": "1.0.0-alpha.11", "homepage": "https://serverless-stack.com", "description": "Core of the Serverless Stack Toolkit.", "main": "index.js", diff --git a/packages/create-serverless-stack/package.json b/packages/create-serverless-stack/package.json index 57451a0b1d..927e02d0c3 100644 --- a/packages/create-serverless-stack/package.json +++ b/packages/create-serverless-stack/package.json @@ -1,6 +1,6 @@ { "name": "create-serverless-stack", - "version": "1.0.0-alpha.10", + "version": "1.0.0-alpha.11", "homepage": "https://serverless-stack.com", "description": "Create Serverless Stack apps.", "bin": { diff --git a/packages/resources/package.json b/packages/resources/package.json index d509d3d1a8..3ef9b0763b 100644 --- a/packages/resources/package.json +++ b/packages/resources/package.json @@ -1,6 +1,6 @@ { "name": "@serverless-stack/resources", - "version": "1.0.0-alpha.10", + "version": "1.0.0-alpha.11", "homepage": "https://serverless-stack.com", "description": "Helper AWS CDK constructs for Serverless Stack apps.", "main": "dist/index.js", From 16c099445561e45b72e9857f6dd61ff778cea071 Mon Sep 17 00:00:00 2001 From: Frank Date: Mon, 11 Jan 2021 00:48:57 -0500 Subject: [PATCH 106/123] Supporting empty source path for Function construct --- packages/cli/scripts/start.js | 4 +-- packages/cli/test/start-no-src-path/.DS_Store | Bin 0 -> 6148 bytes .../cli/test/start-no-src-path/lib/index.js | 3 --- .../start-no-src-path.test.js | 24 +++++++++++++++--- packages/resources/package.json | 1 + packages/resources/src/Function.ts | 20 +++++---------- packages/resources/src/descs.d.ts | 1 + packages/resources/src/util/builder.ts | 8 ++++-- yarn.lock | 5 ++++ 9 files changed, 42 insertions(+), 24 deletions(-) create mode 100644 packages/cli/test/start-no-src-path/.DS_Store create mode 100644 packages/resources/src/descs.d.ts diff --git a/packages/cli/scripts/start.js b/packages/cli/scripts/start.js index fdf5b01b22..f6b20cc778 100644 --- a/packages/cli/scripts/start.js +++ b/packages/cli/scripts/start.js @@ -586,7 +586,7 @@ function lint(srcPath) { let { inputFiles } = builderState.srcPathsData[srcPath]; inputFiles = inputFiles.filter( - (file) => file.endsWith(".ts") || file.endsWith(".js") + file => file.indexOf("node_modules") === -1 && (file.endsWith(".ts") || file.endsWith(".js")) ); const cp = spawn( @@ -749,7 +749,7 @@ async function getAllExternalsForHandler(srcPath) { ...(packageJson.peerDependencies || {}), }); } catch (e) { - builderLogger.debug(`No package.json found in ${srcPath}`); + builderLogger.warn(`No package.json found in ${srcPath}`); externals = []; } diff --git a/packages/cli/test/start-no-src-path/.DS_Store b/packages/cli/test/start-no-src-path/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..ef5454b0afbc9cfad2327d9392cb6688a0c50e17 GIT binary patch literal 6148 zcmeHK!A=4(5N!dmi!pLAkz+63h=Cw-GT9&=yqT=ggBsY)64_+kC9t?r#O!bAANd9T zjx%i`A?U%2F*1`(-*h_Drf)Z$mNCZL6Ti+_nK33n5pxzaUkHw)u1L;!5V@KoWWJY< zhh7+aE79cmiwxkmE3yOTu?Y*<^7ni9hG8&HYPAoZ%NI6^n?jUCX}fgm4C2&D++;Ft zyQ6FDox91vGxkLshYQ>FE`xsBE$^PhQQ`(sf25KFzYifdS3%^*X*-@o{#ec9=m8-t zVRg%u>9o;oR%N4Jn^ons)v8tHVdH2vv&7zh{rIeR|M)b0p1r(kW;y(XN_Gs+;SG$X zO+GlID2$^!@XvGRv4q3`F+dEg0R!gf6I*MrSK1;mKn(nh0X!chD57mJ)2NOPXz==o z;{`+%u<MGmS6;!gVU3PUYr_!F4+LrHQi*W*T)m<7#D?$E?iF3x%uI!7o)f zi2-6@nSs3Sma+bye*gYoPNE($Kn(mV26&<4blR{bQ(IRyhqYFM_CQfEF4MS3 j0YjByh{aM|0aXHii3Xr;Fw+Pg5V{B`8mJ)#ewBews-RKV literal 0 HcmV?d00001 diff --git a/packages/cli/test/start-no-src-path/lib/index.js b/packages/cli/test/start-no-src-path/lib/index.js index b80c7c4516..42c4d8885f 100644 --- a/packages/cli/test/start-no-src-path/lib/index.js +++ b/packages/cli/test/start-no-src-path/lib/index.js @@ -10,10 +10,7 @@ class MySampleStack extends sst.Stack { // Create a Lambda function new sst.Function(this, "MyLambda", { bundle: true, - srcPath: ".", entry: "lambda.js", - // srcPath: "src/api", - // handler: "handler", runtime: lambda.Runtime.NODEJS_12_X, timeout: cdk.Duration.seconds(10), }); diff --git a/packages/cli/test/start-no-src-path/start-no-src-path.test.js b/packages/cli/test/start-no-src-path/start-no-src-path.test.js index d144ad54f4..aa1749b7cc 100644 --- a/packages/cli/test/start-no-src-path/start-no-src-path.test.js +++ b/packages/cli/test/start-no-src-path/start-no-src-path.test.js @@ -1,4 +1,7 @@ +const fs = require("fs"); +const path = require("path"); const { runStartCommand, clearBuildOutput } = require("../helpers"); +const paths = require("../../scripts/util/paths"); beforeEach(async () => { await clearBuildOutput(__dirname); @@ -12,9 +15,24 @@ afterAll(async () => { * Test that the synth command ran successfully */ test("start-no-src-path", async () => { - const result = await runStartCommand(__dirname); + await runStartCommand(__dirname); - expect(result).toMatch( - /Error: Source path cannot be the project root for the MyLambda Lambda function/ + const testOutputPath = path.join( + __dirname, + paths.appBuildDir, + "test-output.json" ); + const testOutput = JSON.parse(fs.readFileSync(testOutputPath, "utf8")); + + expect(testOutput).toMatchObject({ + entryPointsData: { + "./lambda.js/handler": { + outHandler: { + entry: "lambda.js", + handler: "handler", + srcPath: ".build", + }, + }, + }, + }); }); diff --git a/packages/resources/package.json b/packages/resources/package.json index 3ef9b0763b..5b5af7d6c2 100644 --- a/packages/resources/package.json +++ b/packages/resources/package.json @@ -29,6 +29,7 @@ "@aws-cdk/aws-lambda-nodejs": "1.79.0", "@aws-cdk/core": "1.79.0", "chalk": "^4.1.0", + "cross-zip": "^4.0.0", "esbuild": "^0.8.31", "eslint": "^7.16.0", "fs-extra": "^9.0.1", diff --git a/packages/resources/src/Function.ts b/packages/resources/src/Function.ts index 969c132904..a7735aa634 100644 --- a/packages/resources/src/Function.ts +++ b/packages/resources/src/Function.ts @@ -19,8 +19,10 @@ export interface FunctionProps extends lambda.FunctionOptions { /** * The source directory where the entry point is located. The node_modules in this * directory is used to generate the bundle. + * + * @default - Defaults to the app directory. */ - readonly srcPath: string; + readonly srcPath?: string; /** * The runtime environment. Only runtimes of the Node.js family are * supported. @@ -64,18 +66,9 @@ export class Function extends lambda.Function { const handler = props.handler || "handler"; const runtime = props.runtime || lambda.Runtime.NODEJS_12_X; const bundle = props.bundle === undefined ? true : props.bundle; - const srcPath = props.srcPath; + const srcPath = props.srcPath || "."; const entry = props.entry; - // Validate source path - if (!srcPath) { - throw new Error(`No source path defined for the ${id} Lambda function`); - } else if (path.resolve(srcPath) === process.cwd()) { - throw new Error( - `Source path cannot be the project root for the ${id} Lambda function` - ); - } - // Validate entry file if (!entry) { throw new Error(`No entry point defined for the ${id} Lambda function`); @@ -116,19 +109,18 @@ export class Function extends lambda.Function { // register Lambda function in app root.registerLambdaHandler({ srcPath, entry, handler } as HandlerProps); } else { - const { outDir, outHandler } = builder({ + const { outZip, outHandler } = builder({ bundle: bundle, srcPath: srcPath, handler: handler, entry: entry, buildDir: root.buildDir, }); - super(scope, id, { ...props, runtime, handler: outHandler, - code: lambda.Code.fromAsset(outDir), + code: lambda.Code.fromAsset(outZip), }); } } diff --git a/packages/resources/src/descs.d.ts b/packages/resources/src/descs.d.ts new file mode 100644 index 0000000000..e3f79e11f2 --- /dev/null +++ b/packages/resources/src/descs.d.ts @@ -0,0 +1 @@ +declare module "cross-zip" diff --git a/packages/resources/src/util/builder.ts b/packages/resources/src/util/builder.ts index b6441f0b1a..0dc0b84de1 100644 --- a/packages/resources/src/util/builder.ts +++ b/packages/resources/src/util/builder.ts @@ -1,4 +1,5 @@ import chalk from "chalk"; +import zip from "cross-zip"; import * as path from "path"; import * as fs from "fs-extra"; import * as esbuild from "esbuild"; @@ -13,7 +14,7 @@ interface BuilderProps { } interface BuilderOutput { - readonly outDir: string; + readonly outZip: string; readonly outHandler: string; } @@ -177,8 +178,11 @@ export function builder(builderProps: BuilderProps): BuilderOutput { typeCheck(inputFiles); + const zipFile = path.join(appPath, buildDir, `${entry.replace(/[\.\/]/g, '-')}-${handler}.zip`); + zip.zipSync(srcPath, zipFile); + return { - outDir: srcPath, + outZip: zipFile, outHandler: `${buildDir}/${getHandlerString(entry, handler)}`, }; } diff --git a/yarn.lock b/yarn.lock index ee758dcb71..05c88c05b7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4386,6 +4386,11 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: shebang-command "^2.0.0" which "^2.0.1" +cross-zip@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cross-zip/-/cross-zip-4.0.0.tgz#c29bfb2c001659a6d480ae9596f3bee83b48a230" + integrity sha512-MEzGfZo0rqE10O/B+AEcCSJLZsrWuRUvmqJTqHNqBtALhaJc3E3ixLGLJNTRzEA2K34wbmOHC4fwYs9sVsdcCA== + crypt@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b" From c112ca03d9f5d50301e0d9329c658635d686e293 Mon Sep 17 00:00:00 2001 From: Frank Date: Mon, 11 Jan 2021 00:51:34 -0500 Subject: [PATCH 107/123] Run lint & prettier --- lerna.json | 4 +--- packages/resources/src/descs.d.ts | 2 +- packages/resources/src/util/builder.ts | 6 +++++- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/lerna.json b/lerna.json index 66c79b42c5..f4512eab8d 100644 --- a/lerna.json +++ b/lerna.json @@ -1,7 +1,5 @@ { - "packages": [ - "packages/*" - ], + "packages": ["packages/*"], "npmClient": "yarn", "useWorkspaces": true, "version": "1.0.0-alpha.11" diff --git a/packages/resources/src/descs.d.ts b/packages/resources/src/descs.d.ts index e3f79e11f2..148c1307da 100644 --- a/packages/resources/src/descs.d.ts +++ b/packages/resources/src/descs.d.ts @@ -1 +1 @@ -declare module "cross-zip" +declare module "cross-zip"; diff --git a/packages/resources/src/util/builder.ts b/packages/resources/src/util/builder.ts index 0dc0b84de1..c07af57e91 100644 --- a/packages/resources/src/util/builder.ts +++ b/packages/resources/src/util/builder.ts @@ -178,7 +178,11 @@ export function builder(builderProps: BuilderProps): BuilderOutput { typeCheck(inputFiles); - const zipFile = path.join(appPath, buildDir, `${entry.replace(/[\.\/]/g, '-')}-${handler}.zip`); + const zipFile = path.join( + appPath, + buildDir, + `${entry.replace(/[./]/g, "-")}-${handler}.zip` + ); zip.zipSync(srcPath, zipFile); return { From aacd300354096985702d9b24b81c717ee13ee770 Mon Sep 17 00:00:00 2001 From: Jay Date: Mon, 11 Jan 2021 17:07:01 -0500 Subject: [PATCH 108/123] Update README.md --- README.md | 142 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 78 insertions(+), 64 deletions(-) diff --git a/README.md b/README.md index 05581c6ee2..49328f3b3d 100644 --- a/README.md +++ b/README.md @@ -4,10 +4,12 @@ Serverless Stack Toolkit (SST) is an extension of [AWS CDK](https://aws.amazon.com/cdk/) that: -- Allows you to use [**CDK with Serverless Framework**](https://serverless-stack.com/chapters/using-aws-cdk-with-serverless-framework.html) -- And develop your Lambdas **locally without mocking**! +- Includes a complete local development environment for Lambda + - Supports remotely invoking local functions + - Zero-config ES and TypeScript support using [esbuild](https://esbuild.github.io) +- Allows you to use [CDK with Serverless Framework](https://serverless-stack.com/chapters/using-aws-cdk-with-serverless-framework.html) -Getting help: [**Chat**](https://gitter.im/serverless-stack/Lobby) / [**Forums**](https://discourse.serverless-stack.com/) / [**Twitter**](https://twitter.com/ServerlessStack) +Getting help: [**Chat**](https://gitter.im/serverless-stack/Lobby)/ [**Twitter**](https://twitter.com/ServerlessStack) / [**Forums**](https://discourse.serverless-stack.com/) ## Quick Start @@ -31,11 +33,11 @@ $ npx sst start - [Working on your app](#working-on-your-app) - [Developing locally](#developing-locally) - [Building your app](#building-your-app) + - [Testing your app](#testing-your-app) - [Deploying your app](#deploying-your-app) - [Removing an app](#removing-an-app) - [Package scripts](#package-scripts) - - [Testing your app](#testing-your-app) - - [Linting your code](#linting-your-code) + - [Linting, type checking](#linting-type-checking) - [Example Project](#example-project) - [Migrating From CDK](#migrating-from-cdk) - [Known Issues](#known-issues) @@ -52,19 +54,39 @@ $ npx sst start ## Background -Serverless Framework is great but deploying any other AWS resources requires you to write CloudFormation templates in YAML. CloudFormation templates are incredibly verbose and even creating simple resources can take hundreds of lines of YAML. AWS CDK solves this by allowing you to generate CloudFormation templates using modern programming languages. Making it truly, _infrastructure as code_. +### Local Lambda Development + +Developing Lambdas locally is painful, you either: + +1. Locally mock all the AWS services you are using +2. Or, constantly deploy your changes to test them + +Both these approaches don't work well in practice. Locally mocking all the AWS services can be hard to do and most setups are really flaky. While, constantly deploying your Lambda functions or infrastructure can be simply too slow. + +The `sst start` command starts up a local development environment that opens a WebSocket connection to your deployed app and proxies any Lambda requests to your local machine. This allows you to: + +- Work on your Lambda functions locally +- While, interacting with your entire deployed AWS infrastructure +- Supports all Lambda triggers, so there's no need to mock API Gateway, SQS, SNS, etc. +- Supports real Lambda environment variables and Lambda IAM permissions +- So if a Lambda fails on AWS due to lack of IAM permissions, it would fail locally as well +- And it's fast. There's nothing to deploy when you make a change! + +You can read more about the [**sst start** command here](https://github.com/serverless-stack/serverless-stack/tree/master/packages/cli#start) and [try out a demo here](https://github.com/serverless-stack/sst-start-demo). ### Using Serverless Framework with CDK -However, to use AWS CDK (to define your non-Lambda resources) alongside your Serverless Framework services, requires you to follow certain conventions. +[Serverless Framework](https://github.com/serverless/serverless) is great but deploying any other AWS resources requires you to write CloudFormation templates in YAML. CloudFormation templates are incredibly verbose and even creating simple resources can take hundreds of lines of YAML. AWS CDK solves this by allowing you to generate CloudFormation templates using modern programming languages. Making it truly, _infrastructure as code_. + +However, to use AWS CDK alongside your Serverless Framework services, requires you to follow certain conventions. - **Deploying all the stacks to the same region and AWS account** - Serverless Framework apps are deployed multiple times to each environment. Where each deployment uses the same region and AWS account. This is done using the `--region` and `AWS_PROFILE=profile` options as a part of the deploy command. CDK apps on the other hand, contains CloudFormation stacks that are deployed to multiple regions and AWS accounts simultaneously. + Serverless Framework apps are deployed to multiple environments using the `--region` and `AWS_PROFILE=profile` options. CDK apps on the other hand, contain CloudFormation stacks that are deployed to multiple regions and AWS accounts simultaneously. - **Prefixing stage and resource names** - Since the same app is deployed to multiple environments, the AWS resource names might thrash if you are using the same AWS account across environments. To avoid this, Serverless Framework adopts the practice of prefixing the stack (and other resource) names with the stage name. On the other hand, to deploy a CDK app to the multiple stages, you'd need to manually ensure that the stack names and resource names don't thrash. + Since the same app is deployed to multiple environments, Serverless Framework adopts the practice of prefixing the stack names with the stage name. On the other hand, to deploy a CDK app to multiple stages, you'd need to manually ensure that the stack names and resource names don't thrash. SST provides the above out-of-the-box. So you can deploy your Serverless services using: @@ -78,27 +100,7 @@ And use CDK for the rest of your AWS infrastructure: $ AWS_PROFILE=production npx sst deploy --stage prod --region us-east-1 ``` -Making it really easy for you to start using CDK to create your AWS infrastructure. While still continuing to use Serverless Framework for your Lambda functions. You can [read more about this here](https://serverless-stack.com/chapters/using-aws-cdk-with-serverless-framework.html). - -### Developing Lambdas locally - -Developing Lambdas locally usually requires you to either: - -1. Mock all the services you are using -2. Or, constantly deploy your changes to test them - -Both these approaches don't work well in practice. Mocking all the AWS services can be really hard and mocking asynchronous workflows can be flaky. And constantly deploying your Lambda functions or infrastructure can be simply too slow. - -The `sst start` command starts up a local development environment that opens a WebSocket connection to your deployed app and proxies any Lambda requests to your local machine. This allows you to: - -- Work on your Lambda functions locally -- While, interacting with your entire deployed AWS infrastructure -- Supports all Lambda triggers, so there's no need to mock API Gateway, SQS, SNS, etc. -- Supports real Lambda environment variables and Lambda IAM permissions -- So if a Lambda fails on AWS due to lack of IAM permissions, it would fail locally as well -- And it's fast. There's nothing to deploy when you make a change! - -You can read more about the [**sst start** command here](https://github.com/serverless-stack/serverless-stack/tree/master/packages/cli#start) and [try out a demo here](https://github.com/serverless-stack/sst-start-demo). +You can [read more about this here](https://serverless-stack.com/chapters/using-aws-cdk-with-serverless-framework.html). ### And more @@ -106,9 +108,9 @@ As a bonus, SST also supports deploying your CloudFormation stacks asynchronousl SST also comes with a few other niceties: -- Supports ES6 and TypeScript out-of-the-box -- Automatically lints your CDK and Lambda code using [ESLint](https://eslint.org/) -- Runs your CDK unit tests using [Jest](https://jestjs.io/) +- Zero-config support for ES and TypeScript using [esbuild](http://esbuild.github.io) +- Automatically lints your code using [ESLint](https://eslint.org/) +- Runs your unit tests using [Jest](https://jestjs.io/) Behind the scenes, SST uses [a lightweight fork of AWS CDK](https://github.com/serverless-stack/sst-cdk) to programmatically invoke the various CDK commands. @@ -119,28 +121,28 @@ Behind the scenes, SST uses [a lightweight fork of AWS CDK](https://github.com/s Create a new project using. ```bash -$ npx create-serverless-stack resources my-sst-app +$ npx create-serverless-stack@latest my-sst-app ``` Or alternatively, with a newer version of npm or Yarn. ```bash # With npm 6+ -$ npm init serverless-stack resources my-sst-app +$ npm init serverless-stack@latest my-sst-app # Or with Yarn 0.25+ -$ yarn create serverless-stack resources my-sst-app +$ yarn create serverless-stack my-sst-app ``` -This by default creates a JavaScript/ES6 project. If you instead want to use **TypeScript**. +This by default creates a JavaScript/ES project. If you instead want to use **TypeScript**. ```bash -$ npm init serverless-stack resources my-sst-app --language typescript +$ npm init serverless-stack@latest my-sst-app --language typescript ``` By default your project is using npm as the package manager, if you'd like to use **Yarn**. ```bash -$ npm init serverless-stack resources my-sst-app --use-yarn +$ npm init serverless-stack@latest my-sst-app --use-yarn ``` You can read more about the [**create-serverless-stack** CLI here](https://github.com/serverless-stack/serverless-stack/tree/master/packages/create-serverless-stack). @@ -170,13 +172,12 @@ It includes a config file in `sst.json`. ```json { "name": "my-sst-app", - "type": "@serverless-stack/resources", "stage": "dev", "region": "us-east-1" } ``` -The **stage** and the **region** are defaults for your app and can be overridden using the `--stage` and `--region` options. The **name** is used while prefixing your stack and resource names. And the **type** just tells the CLI to know which type of SST app this is. +The **stage** and the **region** are defaults for your app and can be overridden using the `--stage` and `--region` options. The **name** is used while prefixing your stack and resource names. The `lib/index.js` file is the entry point for your app. It has a default export function to add your stacks. @@ -224,16 +225,15 @@ this.node.root.name; // "my-sst-app" And if you need to prefix certain resource names so that they don't thrash when deployed to multiple stages, you can do the following in your stacks. -```jsx +```js this.node.root.logicalPrefixedName("MyResource"); // "dev-my-sst-app-MyResource" ``` -Finally, in the `src/` directory we have a Lambda function that's being deployed as a part of this stack. +The sample stack also comes with a Lambda function and API endpoint. The Lambda function is in the `src/` directory. ```js -new sst.Function(this, "MyLambda", { - entry: "src/lambda.js", - handler: "handler", +new sst.Function(this, "Lambda", { + entry: "src/lambda.js" }); ``` @@ -243,7 +243,7 @@ You can read more about [**@serverless-stack/resources** here](https://github.co ### Developing locally -After you've defined your app in CDK and you are ready to work on your Lambda functions, start the local development environment using. +Let's start the local development environment. ```bash # With npm @@ -252,7 +252,18 @@ $ npx sst start $ yarn sst start ``` -This will first deploy your app and then start up a debugger. It'll allow you to make changes to your Lambda functions and to test them right away without having to deploy them. +The first time you run this, it'll deploy your app and a stack that sets up the debugger. This can take a couple of minutes. + +#### Making changes + +The sample stack will deploy a Lambda function with an API endpoint. You'll see something like this in the output. + +``` bash +Outputs: + ApiEndpoint: https://s8gecmmzxf.execute-api.us-east-1.amazonaws.com +``` + +If you head over to the endpoint, it'll invoke the Lambda function in `src/lambda.js`. You can try changing this file and hitting the endpoint again. You should **see your changes reflected right away**! ### Building your app @@ -265,7 +276,20 @@ $ npx sst build $ yarn sst build ``` -This will compile your ES6 (or TS) code to the `.build/` directory in your app. And the synthesized CloudFormation templates are outputted to `.build/cdk.out/`. Note that, you shouldn't commit the `.build/` directory to source control and it's ignored by default in your project's `.gitignore`. +This will compile your ES (or TS) code to the `.build/` directory in your app. And the synthesized CloudFormation templates are outputted to `.build/cdk.out/`. Note that, you shouldn't commit the `.build/` directory to source control and it's ignored by default in your project's `.gitignore`. + +### Testing your app + +You can run your tests using. + +```bash +# With npm +$ npm test +# Or with Yarn +$ yarn test +``` + +Internally, SST uses [Jest](https://jestjs.io/). You'll just need to add your tests to the `test/` directory. ### Deploying your app @@ -295,7 +319,7 @@ $ npx sst remove $ yarn sst remove ``` -Note that, this permanently removes your resources from AWS. +Note that, this permanently removes your resources from AWS. It also removes the stack that's created as a part of the debugger. ### Package scripts @@ -314,21 +338,12 @@ Just note that for `npm run`, you'll need to use an extra `--` for the options. $ npm run build -- --stage alpha ``` -### Testing your app - -You can run your tests using. - -```bash -# With npm -$ npm test -# Or with Yarn -$ yarn test -``` - -### Linting your code +### Linting, type checking Your code is automatically linted when building or deploying. If you'd like to customize the lint rules, add a `.eslintrc.json` in your project root. If you'd like to turn off linting, add `*` to an `.eslintignore` file in your project root. +If you are using TypeScript, SST also runs a separate TypeScript process to type check your code. It uses the `tsconfig.json` in your project root for this. + Note that, this applies to the Lambda functions in your app as well. ## Example Project @@ -346,7 +361,6 @@ It's fairly simple to move a CDK app to SST. There are a couple of small differe ```json { "name": "my-sst-app", - "type": "@serverless-stack/resources", "stage": "dev", "region": "us-east-1" } @@ -388,7 +402,7 @@ It's fairly simple to move a CDK app to SST. There are a couple of small differe } ``` -4. Lambdas extend `sst.Function` +4. Lambdas use `sst.Function` Use the `sst.Function` construct instead to the `cdk.lambda.NodejsFunction`. You can read more about this over on [`@serverless-stack/resources`](https://github.com/serverless-stack/serverless-stack/tree/master/packages/resources) docs. From 37cc21258556f337379edeb429b64e38668ff8a8 Mon Sep 17 00:00:00 2001 From: Jay Date: Mon, 11 Jan 2021 17:17:31 -0500 Subject: [PATCH 109/123] Update README.md --- packages/create-serverless-stack/README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/create-serverless-stack/README.md b/packages/create-serverless-stack/README.md index b29db91335..52747224d9 100644 --- a/packages/create-serverless-stack/README.md +++ b/packages/create-serverless-stack/README.md @@ -9,19 +9,19 @@ There's no need install this CLI. Just use it directly to create your projects. With npx. ```bash -$ npx create-serverless-stack resources my-sst-app +$ npx create-serverless-stack@latest my-sst-app ``` Or with npm 6+ ```bash -$ npm init serverless-stack resources my-sst-app +$ npm init serverless-stack@latest my-sst-app ``` Or with Yarn 0.25+ ```bash -$ yarn create serverless-stack resources my-sst-app +$ yarn create serverless-stack my-sst-app ``` This will create an app in the `my-sst-app/` directory. @@ -35,7 +35,7 @@ Pass in the following (optional) options. The language of the project: `javascript` or `typescript`. Defaults to `javascript`. For example: ```bash -$ npm init serverless-stack resources my-sst-app --language typescript +$ npm init serverless-stack@latest my-sst-app --language typescript ``` ### `--use-yarn` @@ -43,5 +43,5 @@ $ npm init serverless-stack resources my-sst-app --language typescript Use Yarn instead of npm as the packager. Defaults to npm. For example: ```bash -$ yarn create serverless-stack resources my-sst-app --use-yarn +$ yarn create serverless-stack my-sst-app --use-yarn ``` From 5961228c3c2593340a6e13376cb5a933e8af48dc Mon Sep 17 00:00:00 2001 From: Frank Date: Mon, 11 Jan 2021 17:17:54 -0500 Subject: [PATCH 110/123] Moving lint and type check inside App.ts --- packages/resources/src/App.ts | 111 ++++++++++++++++++++++++ packages/resources/src/Function.ts | 7 +- packages/resources/src/util/builder.ts | 114 +++++-------------------- 3 files changed, 135 insertions(+), 97 deletions(-) diff --git a/packages/resources/src/App.ts b/packages/resources/src/App.ts index ccca279c3e..2671bd206c 100644 --- a/packages/resources/src/App.ts +++ b/packages/resources/src/App.ts @@ -1,6 +1,14 @@ +import chalk from "chalk"; +import * as path from "path"; +import * as fs from "fs-extra"; import * as cdk from "@aws-cdk/core"; import * as cxapi from "@aws-cdk/cx-api"; +import { execSync } from "child_process"; import { HandlerProps } from "./Function"; +import { getEsbuildMetafileName } from "./util/builder"; + +const appPath = process.cwd(); +const appNodeModules = path.join(appPath, "node_modules"); /** * Deploy props for apps. @@ -119,6 +127,9 @@ export class App extends cdk.App { } const cloudAssembly = super.synth(options); + // Run lint and type check on handler input files + this.processInputFiles(); + // Run callback after synth has finished if (this.synthCallback) { this.synthCallback(this.lambdaHandlers); @@ -130,4 +141,104 @@ export class App extends cdk.App { registerLambdaHandler(handler: HandlerProps): void { this.lambdaHandlers.push(handler); } + + processInputFiles(): void { + // Get input files + const inputFilesBySrcPath: { [key: string]: { [key: string]: boolean } } = {}; + this.lambdaHandlers.forEach(({ srcPath, entry, handler }) => { + const buildPath = path.join(srcPath, this.buildDir); + const metafile = path.join(buildPath, getEsbuildMetafileName(entry, handler)); + const files = this.getInputFilesFromEsbuildMetafile(metafile); + files.forEach(file => { + inputFilesBySrcPath[srcPath] = inputFilesBySrcPath[srcPath] || {}; + inputFilesBySrcPath[srcPath][file] = true; + }); + }); + + // Process each srcPath + Object.keys(inputFilesBySrcPath).forEach(srcPath => { + const inputFiles = Object.keys(inputFilesBySrcPath[srcPath]); + this.lint(srcPath, inputFiles); + this.typeCheck(srcPath, inputFiles); + }); + } + + getInputFilesFromEsbuildMetafile(file: string): Array { + let metaJson; + + try { + metaJson = fs.readJsonSync(file); + } catch (e) { + throw new Error("There was a problem reading the esbuild metafile."); + } + + return Object.keys(metaJson.inputs).map((input) => path.resolve(input)); + } + + lint(srcPath: string, inputFiles: Array): void { + inputFiles = inputFiles.filter( + (file: string) => + file.indexOf("node_modules") === -1 && + (file.endsWith(".ts") || file.endsWith(".js")) + ); + + console.log(chalk.grey("Linting Lambda function source")); + + try { + const stdout = execSync( + [ + path.join(appNodeModules, ".bin", "eslint"), + process.env.NO_COLOR === "true" ? "--no-color" : "--color", + "--no-error-on-unmatched-pattern", + "--config", + path.join(appPath, this.buildDir, ".eslintrc.internal.js"), + "--fix", + // Handling nested ESLint projects in Yarn Workspaces + // https://github.com/serverless-stack/serverless-stack/issues/11 + "--resolve-plugins-relative-to", + ".", + ...inputFiles, + ].join(" "), + { cwd: srcPath } + ); + const output = stdout.toString(); + if (output.trim() !== "") { + console.log(output); + } + } catch (e) { + console.log(e.stdout.toString()); + throw new Error("There was a problem linting the source."); + } + } + + typeCheck(srcPath: string, inputFiles: Array): void { + inputFiles = inputFiles.filter((file: string) => file.endsWith(".ts")); + + if (inputFiles.length === 0) { + return; + } + + console.log(chalk.grey("Type checking Lambda function source")); + + try { + const stdout = execSync( + [ + path.join(appNodeModules, ".bin", "tsc"), + "--pretty", + process.env.NO_COLOR === "true" ? "false" : "true", + "--noEmit", + ].join(" "), + { cwd: srcPath } + ); + const output = stdout.toString(); + if (output.trim() !== "") { + console.log(output); + } + } catch (e) { + console.log(e.stdout.toString()); + throw new Error("There was a problem type checking the source."); + } + } + } + diff --git a/packages/resources/src/Function.ts b/packages/resources/src/Function.ts index a7735aa634..d4dc1f8cb2 100644 --- a/packages/resources/src/Function.ts +++ b/packages/resources/src/Function.ts @@ -106,14 +106,12 @@ export class Function extends lambda.Function { SST_DEBUG_ENDPOINT: root.debugEndpoint || "", }, }); - // register Lambda function in app - root.registerLambdaHandler({ srcPath, entry, handler } as HandlerProps); } else { const { outZip, outHandler } = builder({ + entry: entry, bundle: bundle, srcPath: srcPath, handler: handler, - entry: entry, buildDir: root.buildDir, }); super(scope, id, { @@ -123,5 +121,8 @@ export class Function extends lambda.Function { code: lambda.Code.fromAsset(outZip), }); } + + // register Lambda function in app + root.registerLambdaHandler({ srcPath, entry, handler } as HandlerProps); } } diff --git a/packages/resources/src/util/builder.ts b/packages/resources/src/util/builder.ts index c07af57e91..c300325d08 100644 --- a/packages/resources/src/util/builder.ts +++ b/packages/resources/src/util/builder.ts @@ -1,9 +1,8 @@ import chalk from "chalk"; -import zip from "cross-zip"; +import crossZip from "cross-zip"; import * as path from "path"; import * as fs from "fs-extra"; import * as esbuild from "esbuild"; -import { execSync } from "child_process"; interface BuilderProps { readonly entry: string; @@ -23,19 +22,7 @@ function getHandlerString(entry: string, handler: string): string { return parts[parts.length - 1].replace(/\.[\w\d]+$/, `.${handler}`); } -function getInputFilesFromEsbuildMetafile(file: string): Array { - let metaJson; - - try { - metaJson = fs.readJsonSync(file); - } catch (e) { - throw new Error("There was a problem reading the esbuild metafile."); - } - - return Object.keys(metaJson.inputs).map((input) => path.resolve(input)); -} - -function getEsbuildMetafileName(entry: string, handler: string): string { +export function getEsbuildMetafileName(entry: string, handler: string): string { const key = `${entry}/${handler}`.replace(/[/.]/g, "-"); return `.esbuild.${key}.json`; @@ -76,8 +63,6 @@ export function builder(builderProps: BuilderProps): BuilderOutput { const external = getAllExternalsForHandler(srcPath, bundle); - const appNodeModules = path.join(appPath, "node_modules"); - const tsconfig = path.join(srcPath, "tsconfig.json"); const hasTsconfig = fs.existsSync(tsconfig); @@ -86,72 +71,7 @@ export function builder(builderProps: BuilderProps): BuilderOutput { const entryPath = path.join(srcPath, entry); - function lint(inputFiles: Array) { - inputFiles = inputFiles.filter( - (file: string) => - file.indexOf("node_modules") === -1 && - (file.endsWith(".ts") || file.endsWith(".js")) - ); - - console.log(chalk.grey("Linting Lambda function source")); - - try { - const stdout = execSync( - [ - path.join(appNodeModules, ".bin", "eslint"), - process.env.NO_COLOR === "true" ? "--no-color" : "--color", - "--no-error-on-unmatched-pattern", - "--config", - path.join(appPath, buildDir, ".eslintrc.internal.js"), - "--fix", - // Handling nested ESLint projects in Yarn Workspaces - // https://github.com/serverless-stack/serverless-stack/issues/11 - "--resolve-plugins-relative-to", - ".", - ...inputFiles, - ].join(" "), - { cwd: srcPath } - ); - const output = stdout.toString(); - if (output.trim() !== "") { - console.log(output); - } - } catch (e) { - console.log(e.stdout.toString()); - throw new Error("There was a problem linting the source."); - } - } - - function typeCheck(inputFiles: Array) { - inputFiles = inputFiles.filter((file: string) => file.endsWith(".ts")); - - if (inputFiles.length === 0) { - return; - } - - console.log(chalk.grey("Type checking Lambda function source")); - - try { - const stdout = execSync( - [ - path.join(appNodeModules, ".bin", "tsc"), - "--pretty", - process.env.NO_COLOR === "true" ? "false" : "true", - "--noEmit", - ].join(" "), - { cwd: srcPath } - ); - const output = stdout.toString(); - if (output.trim() !== "") { - console.log(output); - } - } catch (e) { - console.log(e.stdout.toString()); - throw new Error("There was a problem type checking the source."); - } - } - - function transpile(entryPath: string): Array { + function transpile(entryPath: string) { if (!fs.existsSync(entryPath)) { throw new Error(`Cannot find a handler file at ${entryPath}".`); } @@ -168,22 +88,28 @@ export function builder(builderProps: BuilderProps): BuilderOutput { color: process.env.NO_COLOR !== "true", tsconfig: hasTsconfig ? tsconfig : undefined, }); - - return getInputFilesFromEsbuildMetafile(metafile); } - const inputFiles = transpile(entryPath); + function zip() { + const zipFile = path.join( + appPath, + buildDir, + `${entry.replace(/[./]/g, "-")}-${handler}.zip` + ); - lint(inputFiles); + try { + crossZip.zipSync(srcPath, zipFile); + } catch(e) { + console.log(e); + throw new Error("There was a problem generating Lambda package."); + } - typeCheck(inputFiles); + return zipFile; + } - const zipFile = path.join( - appPath, - buildDir, - `${entry.replace(/[./]/g, "-")}-${handler}.zip` - ); - zip.zipSync(srcPath, zipFile); + transpile(entryPath); + + const zipFile = zip(); return { outZip: zipFile, From 570013eee5aa03f738f85162aa97529e29e82f6d Mon Sep 17 00:00:00 2001 From: Jay Date: Mon, 11 Jan 2021 17:21:25 -0500 Subject: [PATCH 111/123] Update README.md --- packages/cli/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/cli/README.md b/packages/cli/README.md index bcc3195991..4b757ce179 100644 --- a/packages/cli/README.md +++ b/packages/cli/README.md @@ -42,7 +42,7 @@ This means that for any new requests, the local version of your Lambdas will be Note that all this is deployed to your AWS account. There are no 3rd party services involved and your data never leaves your account. And since the WebSocket API is completely serverless, it's basically free for most use cases. -`sst start` also starts up a watcher to transpile, lint, and type check your Lambda functions. So you can use ES or TypeScript directly. +`sst start` also starts up a watcher to transpile (using [esbuild](https://esbuild.github.io)), lint (with [ESLint](http://eslint.org)), and type check (using [TypeScript](https://www.typescriptlang.org)) your Lambda functions. So you can use ES or TypeScript directly. ### `build` From 356d44a3c831b96839882c4043b7f8a56631ac7f Mon Sep 17 00:00:00 2001 From: Frank Date: Mon, 11 Jan 2021 17:23:44 -0500 Subject: [PATCH 112/123] Template: removed srcPath from the templates --- .../templates/javascript/{src => }/lambda.js | 0 .../javascript/lib/%stack-name.PascalCased%.template.js | 1 - .../templates/typescript/{src => }/lambda.ts | 0 .../typescript/lib/%stack-name.PascalCased%.template.ts | 1 - 4 files changed, 2 deletions(-) rename packages/create-serverless-stack/templates/javascript/{src => }/lambda.js (100%) rename packages/create-serverless-stack/templates/typescript/{src => }/lambda.ts (100%) diff --git a/packages/create-serverless-stack/templates/javascript/src/lambda.js b/packages/create-serverless-stack/templates/javascript/lambda.js similarity index 100% rename from packages/create-serverless-stack/templates/javascript/src/lambda.js rename to packages/create-serverless-stack/templates/javascript/lambda.js diff --git a/packages/create-serverless-stack/templates/javascript/lib/%stack-name.PascalCased%.template.js b/packages/create-serverless-stack/templates/javascript/lib/%stack-name.PascalCased%.template.js index b3a684289b..2e05d329e1 100644 --- a/packages/create-serverless-stack/templates/javascript/lib/%stack-name.PascalCased%.template.js +++ b/packages/create-serverless-stack/templates/javascript/lib/%stack-name.PascalCased%.template.js @@ -11,7 +11,6 @@ export default class %stack-name.PascalCased% extends sst.Stack { // Create a Lambda function triggered by an HTTP API const lambda = new sst.Function(this, "Lambda", { entry: "lambda.js", - srcPath: "src", }); // Create the HTTP API diff --git a/packages/create-serverless-stack/templates/typescript/src/lambda.ts b/packages/create-serverless-stack/templates/typescript/lambda.ts similarity index 100% rename from packages/create-serverless-stack/templates/typescript/src/lambda.ts rename to packages/create-serverless-stack/templates/typescript/lambda.ts diff --git a/packages/create-serverless-stack/templates/typescript/lib/%stack-name.PascalCased%.template.ts b/packages/create-serverless-stack/templates/typescript/lib/%stack-name.PascalCased%.template.ts index 8a1ea3557c..5d875b18fb 100644 --- a/packages/create-serverless-stack/templates/typescript/lib/%stack-name.PascalCased%.template.ts +++ b/packages/create-serverless-stack/templates/typescript/lib/%stack-name.PascalCased%.template.ts @@ -11,7 +11,6 @@ export default class %stack-name.PascalCased% extends sst.Stack { // Create a Lambda function triggered by an HTTP API const lambda = new sst.Function(this, "Lambda", { entry: "lambda.ts", - srcPath: "src", }); // Create the HTTP API From 720f939310f724b4f9fef3db563adb5fb65c53d8 Mon Sep 17 00:00:00 2001 From: Jay Date: Mon, 11 Jan 2021 17:25:45 -0500 Subject: [PATCH 113/123] Update README.md --- packages/resources/README.md | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/packages/resources/README.md b/packages/resources/README.md index d79a6c80ea..3e5f0b26d7 100644 --- a/packages/resources/README.md +++ b/packages/resources/README.md @@ -2,7 +2,7 @@ Part of the **[Serverless Stack Toolkit](https://github.com/serverless-stack/serverless-stack)**. Provides a couple of simple AWS CDK Constructs: -- `sst.App` +- `sst.App` (used internally) - `sst.Stack` - `sst.Function` @@ -106,24 +106,26 @@ Takes props (`sst.FunctionProps`) that extends [`cdk.lambda.FunctionOptions`](ht Relative path to the entry point of the function. Either based of the project root or the `srcPath`. A `.js` or `.ts` file. -### `srcPath` - -The source directory where the entry point file is located. The `node_modules` in this directory is used to generate the bundle. The `tsconfig.json` is expected to be here as well. Cannot be set to the project root. - ### `handler` The exported function in the entry file. Defaults to `"handler"`. -### `runtime` +### `bundle` -The runtime environment. Only runtimes of the Node.js family are supported. +Bundles your Lambda functions with [esbuild](https://esbuild.github.io). Turn this off if you have NPM packages that cannot be bundled. -Defaults to `lambda.NODEJS_12_X`. +Defaults to `true`. -### `bundle` +### `srcPath` -Bundles your Lambda functions with [esbuild](https://esbuild.github.io). +The source directory where the entry point file is located. If the `bundle` option is turned off, SST zips up the entire `srcPath` directory and uses it as the Lambda function package. -Defaults to `true`. +Defaults to `""`, the project root. + +### `runtime` + +The runtime environment. Only runtimes of the Node.js family are supported. + +Defaults to `lambda.NODEJS_12_X`. From 52113efddf607eb6c9abf1c4159a8b0d9d09ee26 Mon Sep 17 00:00:00 2001 From: Jay Date: Mon, 11 Jan 2021 17:27:31 -0500 Subject: [PATCH 114/123] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 49328f3b3d..842c0f5f5b 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ Serverless Stack Toolkit (SST) is an extension of [AWS CDK](https://aws.amazon.com/cdk/) that: -- Includes a complete local development environment for Lambda +- Includes a complete [local development environment for Lambda](#local-lambda-development) - Supports remotely invoking local functions - Zero-config ES and TypeScript support using [esbuild](https://esbuild.github.io) - Allows you to use [CDK with Serverless Framework](https://serverless-stack.com/chapters/using-aws-cdk-with-serverless-framework.html) From e8a3540a5657386bc024b92da7b993cd47598e30 Mon Sep 17 00:00:00 2001 From: Frank Date: Mon, 11 Jan 2021 18:28:55 -0500 Subject: [PATCH 115/123] Moving lint and type check inside App.ts --- packages/resources/src/App.ts | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/packages/resources/src/App.ts b/packages/resources/src/App.ts index 2671bd206c..4560692f37 100644 --- a/packages/resources/src/App.ts +++ b/packages/resources/src/App.ts @@ -128,7 +128,11 @@ export class App extends cdk.App { const cloudAssembly = super.synth(options); // Run lint and type check on handler input files - this.processInputFiles(); + // Note: do not need to run while debugging because the Lambda functions are replaced by + // stubs and have not been transpiled. + if (!this.local) { + this.processInputFiles(); + } // Run callback after synth has finished if (this.synthCallback) { @@ -144,19 +148,24 @@ export class App extends cdk.App { processInputFiles(): void { // Get input files - const inputFilesBySrcPath: { [key: string]: { [key: string]: boolean } } = {}; + const inputFilesBySrcPath: { + [key: string]: { [key: string]: boolean }; + } = {}; this.lambdaHandlers.forEach(({ srcPath, entry, handler }) => { const buildPath = path.join(srcPath, this.buildDir); - const metafile = path.join(buildPath, getEsbuildMetafileName(entry, handler)); + const metafile = path.join( + buildPath, + getEsbuildMetafileName(entry, handler) + ); const files = this.getInputFilesFromEsbuildMetafile(metafile); - files.forEach(file => { + files.forEach((file) => { inputFilesBySrcPath[srcPath] = inputFilesBySrcPath[srcPath] || {}; inputFilesBySrcPath[srcPath][file] = true; }); }); // Process each srcPath - Object.keys(inputFilesBySrcPath).forEach(srcPath => { + Object.keys(inputFilesBySrcPath).forEach((srcPath) => { const inputFiles = Object.keys(inputFilesBySrcPath[srcPath]); this.lint(srcPath, inputFiles); this.typeCheck(srcPath, inputFiles); @@ -239,6 +248,4 @@ export class App extends cdk.App { throw new Error("There was a problem type checking the source."); } } - } - From 0189c92d24e0fa6949afa87889e15c93f16a2863 Mon Sep 17 00:00:00 2001 From: Jay Date: Mon, 11 Jan 2021 19:54:01 -0500 Subject: [PATCH 116/123] Adding slack link --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 842c0f5f5b..e450611cd1 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ Serverless Stack Toolkit (SST) is an extension of [AWS CDK](https://aws.amazon.c - Zero-config ES and TypeScript support using [esbuild](https://esbuild.github.io) - Allows you to use [CDK with Serverless Framework](https://serverless-stack.com/chapters/using-aws-cdk-with-serverless-framework.html) -Getting help: [**Chat**](https://gitter.im/serverless-stack/Lobby)/ [**Twitter**](https://twitter.com/ServerlessStack) / [**Forums**](https://discourse.serverless-stack.com/) +Getting help: [**Slack**][slack] / [**Twitter**](https://twitter.com/ServerlessStack) / [**Forums**](https://discourse.serverless-stack.com/) ## Quick Start @@ -475,7 +475,7 @@ $ yarn test ## Community -[Follow us on Twitter](https://twitter.com/ServerlessStack), [join our chatroom](https://gitter.im/serverless-stack/Lobby), [post on our forums](https://discourse.serverless-stack.com), and [subscribe to our newsletter](https://emailoctopus.com/lists/1c11b9a8-1500-11e8-a3c9-06b79b628af2/forms/subscribe). +[Follow us on Twitter](https://twitter.com/ServerlessStack), [join us on Slack][slack], [post on our forums](https://discourse.serverless-stack.com), and [subscribe to our newsletter](https://emailoctopus.com/lists/1c11b9a8-1500-11e8-a3c9-06b79b628af2/forms/subscribe). ## Thanks @@ -484,3 +484,5 @@ This project extends [AWS CDK](https://github.com/aws/aws-cdk) and is based on t --- Brought to you by [Anomaly Innovations](https://anoma.ly/); makers of [Seed](https://seed.run/) and the [Serverless Stack Guide](https://serverless-stack.com/). + +[slack]: https://join.slack.com/t/serverless-stack/shared_invite/zt-kqna615x-AFoTXvrglivZqJZcnTzKZA From 24ceeb2f845ee222ebee6308d95652abb0585f5e Mon Sep 17 00:00:00 2001 From: Jay Date: Mon, 11 Jan 2021 20:13:34 -0500 Subject: [PATCH 117/123] Add roadmap link --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index e450611cd1..c68e38725c 100644 --- a/README.md +++ b/README.md @@ -444,10 +444,12 @@ You can learn more about these issues [here](https://github.com/aws/aws-cdk/issu ## Future Roadmap -Check out [the public SST roadmap here](https://github.com/serverless-stack/serverless-stack/projects/1). +Check out [**the public SST roadmap here**][roadmap]. ## Contributing +Check out our [roadmap][roadmap] and [join our Slack][slack] to get started. + - Open [a new issue](https://github.com/serverless-stack/serverless-stack/issues/new) if you've found a bug or have some suggestions. - Or submit a pull request! @@ -486,3 +488,4 @@ This project extends [AWS CDK](https://github.com/aws/aws-cdk) and is based on t Brought to you by [Anomaly Innovations](https://anoma.ly/); makers of [Seed](https://seed.run/) and the [Serverless Stack Guide](https://serverless-stack.com/). [slack]: https://join.slack.com/t/serverless-stack/shared_invite/zt-kqna615x-AFoTXvrglivZqJZcnTzKZA +[roadmap]: https://github.com/serverless-stack/serverless-stack/milestones?direction=asc&sort=due_date&state=open From 227a2979da787069479c8d7ba0be9b500a1fbed0 Mon Sep 17 00:00:00 2001 From: Frank Date: Mon, 11 Jan 2021 20:37:05 -0500 Subject: [PATCH 118/123] Switch to use zip-local for zipping lambda functions --- packages/cli/scripts/start.js | 17 ++++++++---- packages/cli/test/start-base/.DS_Store | Bin 0 -> 6148 bytes packages/resources/package.json | 4 +-- packages/resources/src/descs.d.ts | 2 +- packages/resources/src/util/builder.ts | 25 ++++++++++------- yarn.lock | 36 ++++++++++++++++++++----- 6 files changed, 60 insertions(+), 24 deletions(-) create mode 100644 packages/cli/test/start-base/.DS_Store diff --git a/packages/cli/scripts/start.js b/packages/cli/scripts/start.js index f6b20cc778..ad93dddb12 100644 --- a/packages/cli/scripts/start.js +++ b/packages/cli/scripts/start.js @@ -156,9 +156,17 @@ async function deployApp(argv, cliInfo, config) { const { inputFiles } = await prepareCdk(argv, cliInfo, config); // When testing, we will do a build call to generate the lambda-handler.json - IS_TEST - ? await sstBuild(argv, config, cliInfo) - : await sstDeploy(argv, config, cliInfo); + if (IS_TEST) { + await sstBuild(argv, config, cliInfo) + } + else { + const stacks = await sstDeploy(argv, config, cliInfo); + + // Check all stacks deployed successfully + if (stacks.some(stack => stack.status === 'failed')) { + throw new Error(`Failed to deploy the app`); + } + } return inputFiles; } @@ -200,7 +208,6 @@ async function startBuilder(cdkInputFiles) { transpile(srcPath, entry, handler) ) ); - esbuildService.stop(); const hasError = results.some((result) => result.status === "rejected"); if (hasError) { @@ -540,7 +547,7 @@ async function transpile(srcPath, entry, handler) { builderLogger.debug(`Transpiling ${handler}...`); - const esbuilder = await esbuild.build(esbuildOptions); + const esbuilder = await esbuildService.build(esbuildOptions); return onTranspileSucceeded(srcPath, entry, handler, { tsconfig, diff --git a/packages/cli/test/start-base/.DS_Store b/packages/cli/test/start-base/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..35a3539a99e626c55281260c13ae54871fe26c5d GIT binary patch literal 6148 zcmeHK!Ab)$5KY=zvlX!iLA~YTtw?LNdJ&dd58i|oJ*c$1Y_SXLZfUm`t(E-_{Ud+C z-*F~M3rqFjMWoEYxaQGsa8LEE?-zFt_o2SrS;OC(~HMW;wGbE z(;eJk@4`)bp0O|EIGo$AcNKKU?egYn93^fLbq6Xr@VgLldmTi6JZ{FL$RDbC96ca} zC9HONXEJH*A6I0pQ9qnk z`iSENL=>>`ErBQv+6GgNFapALDxgl~=83^|I{2lDvkj&ibvol}WthjT%*_jhtJT3T zRXF3eMrw%xVj#;vUU$n_|IdDY|7Vk^M+^`HOT_>$w47EGwq$DS!sf8nO3)4{3dW@x l=P6*QQVg+Jinl?PfM22kXd6s5f(L{y0*VG|h=D(4;0qeoQW*dM literal 0 HcmV?d00001 diff --git a/packages/resources/package.json b/packages/resources/package.json index 5b5af7d6c2..3d72a64471 100644 --- a/packages/resources/package.json +++ b/packages/resources/package.json @@ -29,11 +29,11 @@ "@aws-cdk/aws-lambda-nodejs": "1.79.0", "@aws-cdk/core": "1.79.0", "chalk": "^4.1.0", - "cross-zip": "^4.0.0", "esbuild": "^0.8.31", "eslint": "^7.16.0", "fs-extra": "^9.0.1", - "typescript": "^3.9.7" + "typescript": "^3.9.7", + "zip-local": "^0.3.4" }, "devDependencies": { "@types/fs-extra": "^9.0.6", diff --git a/packages/resources/src/descs.d.ts b/packages/resources/src/descs.d.ts index 148c1307da..df77fbff1f 100644 --- a/packages/resources/src/descs.d.ts +++ b/packages/resources/src/descs.d.ts @@ -1 +1 @@ -declare module "cross-zip"; +declare module "zip-local"; diff --git a/packages/resources/src/util/builder.ts b/packages/resources/src/util/builder.ts index c300325d08..52a9044e8a 100644 --- a/packages/resources/src/util/builder.ts +++ b/packages/resources/src/util/builder.ts @@ -1,5 +1,6 @@ import chalk from "chalk"; -import crossZip from "cross-zip"; +//import crossZip from "cross-zip"; +import zipLocal from "zip-local"; import * as path from "path"; import * as fs from "fs-extra"; import * as esbuild from "esbuild"; @@ -90,7 +91,7 @@ export function builder(builderProps: BuilderProps): BuilderOutput { }); } - function zip() { + function zip(dir: string) { const zipFile = path.join( appPath, buildDir, @@ -98,8 +99,9 @@ export function builder(builderProps: BuilderProps): BuilderOutput { ); try { - crossZip.zipSync(srcPath, zipFile); - } catch(e) { + zipLocal.sync.zip(dir).compress().save(zipFile); + //crossZip.zipSync(dir, zipFile); + } catch (e) { console.log(e); throw new Error("There was a problem generating Lambda package."); } @@ -109,10 +111,15 @@ export function builder(builderProps: BuilderProps): BuilderOutput { transpile(entryPath); - const zipFile = zip(); + let outZip, outHandler; + if (bundle) { + outZip = zip(path.join(srcPath, buildDir)); + outHandler = getHandlerString(entry, handler); + } + else { + outZip = zip(srcPath); + outHandler = `${buildDir}/${getHandlerString(entry, handler)}`; + } - return { - outZip: zipFile, - outHandler: `${buildDir}/${getHandlerString(entry, handler)}`, - }; + return { outZip, outHandler }; } diff --git a/yarn.lock b/yarn.lock index 05c88c05b7..e9a36f1462 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3376,6 +3376,11 @@ astral-regex@^2.0.0: resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== +async@^1.4.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" + integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= + async@^3.1.0, async@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/async/-/async-3.2.0.tgz#b3a2685c5ebb641d3de02d161002c60fc9f85720" @@ -4386,11 +4391,6 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: shebang-command "^2.0.0" which "^2.0.1" -cross-zip@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/cross-zip/-/cross-zip-4.0.0.tgz#c29bfb2c001659a6d480ae9596f3bee83b48a230" - integrity sha512-MEzGfZo0rqE10O/B+AEcCSJLZsrWuRUvmqJTqHNqBtALhaJc3E3ixLGLJNTRzEA2K34wbmOHC4fwYs9sVsdcCA== - crypt@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b" @@ -5621,7 +5621,7 @@ globby@^9.2.0: pify "^4.0.1" slash "^2.0.0" -graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.4: +graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.4: version "4.2.4" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== @@ -6943,6 +6943,13 @@ jsprim@^1.2.2: json-schema "0.2.3" verror "1.10.0" +jszip@^2.5.0: + version "2.6.1" + resolved "https://registry.yarnpkg.com/jszip/-/jszip-2.6.1.tgz#b88f3a7b2e67a2a048152982c7a3756d9c4828f0" + integrity sha1-uI86ey5noqBIFSmCx6N1bZxIKPA= + dependencies: + pako "~1.0.2" + kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: version "3.2.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" @@ -8238,6 +8245,11 @@ pac-resolver@^4.1.0: ip "^1.1.5" netmask "^1.0.6" +pako@~1.0.2: + version "1.0.11" + resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" + integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== + parallel-transform@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc" @@ -8626,7 +8638,7 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -q@^1.5.1: +q@^1.4.1, q@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= @@ -10697,6 +10709,16 @@ yocto-queue@^0.1.0: resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== +zip-local@^0.3.4: + version "0.3.4" + resolved "https://registry.yarnpkg.com/zip-local/-/zip-local-0.3.4.tgz#e2931907257a946479ea5bd0d0e20adfeb2b5a07" + integrity sha1-4pMZByV6lGR56lvQ0OIK3+srWgc= + dependencies: + async "^1.4.2" + graceful-fs "^4.1.3" + jszip "^2.5.0" + q "^1.4.1" + zip-stream@^4.0.4: version "4.0.4" resolved "https://registry.yarnpkg.com/zip-stream/-/zip-stream-4.0.4.tgz#3a8f100b73afaa7d1ae9338d910b321dec77ff3a" From d5b7a19cd603763f929aca0e320f7c7f1d3bb690 Mon Sep 17 00:00:00 2001 From: Frank Date: Mon, 11 Jan 2021 20:39:41 -0500 Subject: [PATCH 119/123] Ran prettier --- README.md | 6 +++--- packages/resources/src/util/builder.ts | 3 +-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index c68e38725c..76710ac3f7 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ Serverless Stack Toolkit (SST) is an extension of [AWS CDK](https://aws.amazon.c - Zero-config ES and TypeScript support using [esbuild](https://esbuild.github.io) - Allows you to use [CDK with Serverless Framework](https://serverless-stack.com/chapters/using-aws-cdk-with-serverless-framework.html) -Getting help: [**Slack**][slack] / [**Twitter**](https://twitter.com/ServerlessStack) / [**Forums**](https://discourse.serverless-stack.com/) +Getting help: [**Slack**][slack] / [**Twitter**](https://twitter.com/ServerlessStack) / [**Forums**](https://discourse.serverless-stack.com/) ## Quick Start @@ -233,7 +233,7 @@ The sample stack also comes with a Lambda function and API endpoint. The Lambda ```js new sst.Function(this, "Lambda", { - entry: "src/lambda.js" + entry: "src/lambda.js", }); ``` @@ -258,7 +258,7 @@ The first time you run this, it'll deploy your app and a stack that sets up the The sample stack will deploy a Lambda function with an API endpoint. You'll see something like this in the output. -``` bash +```bash Outputs: ApiEndpoint: https://s8gecmmzxf.execute-api.us-east-1.amazonaws.com ``` diff --git a/packages/resources/src/util/builder.ts b/packages/resources/src/util/builder.ts index 52a9044e8a..21d521f71e 100644 --- a/packages/resources/src/util/builder.ts +++ b/packages/resources/src/util/builder.ts @@ -115,8 +115,7 @@ export function builder(builderProps: BuilderProps): BuilderOutput { if (bundle) { outZip = zip(path.join(srcPath, buildDir)); outHandler = getHandlerString(entry, handler); - } - else { + } else { outZip = zip(srcPath); outHandler = `${buildDir}/${getHandlerString(entry, handler)}`; } From 0fab8ab33d6a8c56bae34a6b1feb86655371e928 Mon Sep 17 00:00:00 2001 From: Frank Date: Mon, 11 Jan 2021 20:41:25 -0500 Subject: [PATCH 120/123] v1.0.0-alpha.12 --- lerna.json | 6 ++++-- packages/cli/package.json | 6 +++--- packages/cli/test/add-cdk/package.json | 4 ++-- packages/cli/test/base-ts/package.json | 6 +++--- packages/cli/test/base/package.json | 6 +++--- packages/cli/test/cdk-command/package.json | 6 +++--- packages/cli/test/config-invalid/package.json | 6 +++--- packages/cli/test/config-no-name/package.json | 6 +++--- packages/cli/test/config-not-found/package.json | 6 +++--- packages/cli/test/config/package.json | 6 +++--- packages/cli/test/context/package.json | 6 +++--- packages/cli/test/eslint-ignore-rule/package.json | 6 +++--- packages/cli/test/eslint-ignore/package.json | 6 +++--- packages/cli/test/eslint-ts/package.json | 6 +++--- packages/cli/test/eslint/package.json | 6 +++--- packages/cli/test/handler-function-not-found/package.json | 6 +++--- packages/cli/test/handler-not-found/package.json | 6 +++--- packages/cli/test/jest-ts/package.json | 6 +++--- packages/cli/test/jest/package.json | 6 +++--- packages/cli/test/lambda-override-eslintrc/package.json | 6 +++--- packages/cli/test/lambda-override-tsconfig/package.json | 6 +++--- packages/cli/test/mismatched-cdk-versions/package.json | 6 +++--- packages/cli/test/stack-no-prefix/package.json | 6 +++--- packages/cli/test/stack-set-env/package.json | 6 +++--- packages/cli/test/start-base/package.json | 6 +++--- packages/cli/test/start-no-src-path/package.json | 6 +++--- packages/core/package.json | 2 +- packages/create-serverless-stack/package.json | 2 +- packages/resources/package.json | 2 +- 29 files changed, 81 insertions(+), 79 deletions(-) diff --git a/lerna.json b/lerna.json index f4512eab8d..0eca008844 100644 --- a/lerna.json +++ b/lerna.json @@ -1,6 +1,8 @@ { - "packages": ["packages/*"], + "packages": [ + "packages/*" + ], "npmClient": "yarn", "useWorkspaces": true, - "version": "1.0.0-alpha.11" + "version": "1.0.0-alpha.12" } diff --git a/packages/cli/package.json b/packages/cli/package.json index 38577b7b47..556198d994 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@serverless-stack/cli", - "version": "1.0.0-alpha.11", + "version": "1.0.0-alpha.12", "description": "A CLI to help deploy Serverless Stack apps.", "scripts": { "prepare": "./bin/sync-cdk-version.js", @@ -45,8 +45,8 @@ "@babel/eslint-plugin": "^7.11.3", "@babel/plugin-proposal-class-properties": "^7.10.4", "@babel/preset-env": "^7.10.4", - "@serverless-stack/core": "^1.0.0-alpha.11", - "@serverless-stack/resources": "^1.0.0-alpha.11", + "@serverless-stack/core": "^1.0.0-alpha.12", + "@serverless-stack/resources": "^1.0.0-alpha.12", "@types/jest": "^26.0.7", "@types/node": "^14.0.27", "@typescript-eslint/eslint-plugin": "^3.9.1", diff --git a/packages/cli/test/add-cdk/package.json b/packages/cli/test/add-cdk/package.json index accb305c35..3f24465ebd 100644 --- a/packages/cli/test/add-cdk/package.json +++ b/packages/cli/test/add-cdk/package.json @@ -2,13 +2,13 @@ "name": "@serverless-stack/cli-test-add-cdk", "private": true, "description": "tests", - "version": "1.0.0-alpha.11", + "version": "1.0.0-alpha.12", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "add-cdk": "sst add-cdk" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.11" + "@serverless-stack/cli": "^1.0.0-alpha.12" }, "license": "ISC" } diff --git a/packages/cli/test/base-ts/package.json b/packages/cli/test/base-ts/package.json index 8d80542304..02dfb4aa75 100644 --- a/packages/cli/test/base-ts/package.json +++ b/packages/cli/test/base-ts/package.json @@ -2,7 +2,7 @@ "name": "@serverless-stack/cli-test-base-ts", "private": true, "description": "tests", - "version": "1.0.0-alpha.11", + "version": "1.0.0-alpha.12", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "start": "sst start", @@ -14,8 +14,8 @@ "dependencies": { "@aws-cdk/aws-s3": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.11", - "@serverless-stack/resources": "^1.0.0-alpha.11" + "@serverless-stack/cli": "^1.0.0-alpha.12", + "@serverless-stack/resources": "^1.0.0-alpha.12" }, "license": "ISC", "devDependencies": { diff --git a/packages/cli/test/base/package.json b/packages/cli/test/base/package.json index 5780924d1e..bdc0c4fc8d 100644 --- a/packages/cli/test/base/package.json +++ b/packages/cli/test/base/package.json @@ -2,7 +2,7 @@ "name": "@serverless-stack/cli-test-base", "private": true, "description": "tests", - "version": "1.0.0-alpha.11", + "version": "1.0.0-alpha.12", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "start": "sst start", @@ -18,8 +18,8 @@ "@aws-cdk/aws-iam": "1.79.0", "@aws-cdk/aws-s3": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.11", - "@serverless-stack/resources": "^1.0.0-alpha.11" + "@serverless-stack/cli": "^1.0.0-alpha.12", + "@serverless-stack/resources": "^1.0.0-alpha.12" }, "license": "ISC" } diff --git a/packages/cli/test/cdk-command/package.json b/packages/cli/test/cdk-command/package.json index 4475602bc0..ec5b388bed 100644 --- a/packages/cli/test/cdk-command/package.json +++ b/packages/cli/test/cdk-command/package.json @@ -2,14 +2,14 @@ "name": "@serverless-stack/cli-test-cdk-command", "private": true, "description": "tests", - "version": "1.0.0-alpha.11", + "version": "1.0.0-alpha.12", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "cdk": "sst cdk" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.11", - "@serverless-stack/resources": "^1.0.0-alpha.11" + "@serverless-stack/cli": "^1.0.0-alpha.12", + "@serverless-stack/resources": "^1.0.0-alpha.12" }, "license": "ISC" } diff --git a/packages/cli/test/config-invalid/package.json b/packages/cli/test/config-invalid/package.json index d1a5f6d14f..e5a0824644 100644 --- a/packages/cli/test/config-invalid/package.json +++ b/packages/cli/test/config-invalid/package.json @@ -2,14 +2,14 @@ "name": "@serverless-stack/cli-test-config-invalid", "private": true, "description": "tests", - "version": "1.0.0-alpha.11", + "version": "1.0.0-alpha.12", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.11", - "@serverless-stack/resources": "^1.0.0-alpha.11" + "@serverless-stack/cli": "^1.0.0-alpha.12", + "@serverless-stack/resources": "^1.0.0-alpha.12" }, "license": "ISC" } diff --git a/packages/cli/test/config-no-name/package.json b/packages/cli/test/config-no-name/package.json index 8af7bcb18f..6adbec4e31 100644 --- a/packages/cli/test/config-no-name/package.json +++ b/packages/cli/test/config-no-name/package.json @@ -2,14 +2,14 @@ "name": "@serverless-stack/cli-test-config-no-name", "private": true, "description": "tests", - "version": "1.0.0-alpha.11", + "version": "1.0.0-alpha.12", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.11", - "@serverless-stack/resources": "^1.0.0-alpha.11" + "@serverless-stack/cli": "^1.0.0-alpha.12", + "@serverless-stack/resources": "^1.0.0-alpha.12" }, "license": "ISC" } diff --git a/packages/cli/test/config-not-found/package.json b/packages/cli/test/config-not-found/package.json index d62d9a6163..f51bb4a878 100644 --- a/packages/cli/test/config-not-found/package.json +++ b/packages/cli/test/config-not-found/package.json @@ -2,14 +2,14 @@ "name": "@serverless-stack/cli-test-config-not-found", "private": true, "description": "tests", - "version": "1.0.0-alpha.11", + "version": "1.0.0-alpha.12", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.11", - "@serverless-stack/resources": "^1.0.0-alpha.11" + "@serverless-stack/cli": "^1.0.0-alpha.12", + "@serverless-stack/resources": "^1.0.0-alpha.12" }, "license": "ISC" } diff --git a/packages/cli/test/config/package.json b/packages/cli/test/config/package.json index 0961351b7c..000b99d402 100644 --- a/packages/cli/test/config/package.json +++ b/packages/cli/test/config/package.json @@ -2,15 +2,15 @@ "name": "@serverless-stack/cli-test-config-test", "private": true, "description": "tests", - "version": "1.0.0-alpha.11", + "version": "1.0.0-alpha.12", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { "@aws-cdk/aws-dynamodb": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.11", - "@serverless-stack/resources": "^1.0.0-alpha.11" + "@serverless-stack/cli": "^1.0.0-alpha.12", + "@serverless-stack/resources": "^1.0.0-alpha.12" }, "license": "ISC" } diff --git a/packages/cli/test/context/package.json b/packages/cli/test/context/package.json index 1a3a409796..6852909d3c 100644 --- a/packages/cli/test/context/package.json +++ b/packages/cli/test/context/package.json @@ -2,15 +2,15 @@ "name": "@serverless-stack/cli-test-context", "private": true, "description": "tests", - "version": "1.0.0-alpha.11", + "version": "1.0.0-alpha.12", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { "@aws-cdk/aws-dynamodb": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.11", - "@serverless-stack/resources": "^1.0.0-alpha.11" + "@serverless-stack/cli": "^1.0.0-alpha.12", + "@serverless-stack/resources": "^1.0.0-alpha.12" }, "license": "ISC" } diff --git a/packages/cli/test/eslint-ignore-rule/package.json b/packages/cli/test/eslint-ignore-rule/package.json index a74d4bd5e0..dfc8ee4abd 100644 --- a/packages/cli/test/eslint-ignore-rule/package.json +++ b/packages/cli/test/eslint-ignore-rule/package.json @@ -2,14 +2,14 @@ "name": "@serverless-stack/cli-test-eslint-ignore-rule", "private": true, "description": "tests", - "version": "1.0.0-alpha.11", + "version": "1.0.0-alpha.12", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.11", - "@serverless-stack/resources": "^1.0.0-alpha.11" + "@serverless-stack/cli": "^1.0.0-alpha.12", + "@serverless-stack/resources": "^1.0.0-alpha.12" }, "license": "ISC" } diff --git a/packages/cli/test/eslint-ignore/package.json b/packages/cli/test/eslint-ignore/package.json index b97a809995..fd0081f7b3 100644 --- a/packages/cli/test/eslint-ignore/package.json +++ b/packages/cli/test/eslint-ignore/package.json @@ -2,14 +2,14 @@ "name": "@serverless-stack/cli-test-eslint-ignore", "private": true, "description": "tests", - "version": "1.0.0-alpha.11", + "version": "1.0.0-alpha.12", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.11", - "@serverless-stack/resources": "^1.0.0-alpha.11" + "@serverless-stack/cli": "^1.0.0-alpha.12", + "@serverless-stack/resources": "^1.0.0-alpha.12" }, "license": "ISC" } diff --git a/packages/cli/test/eslint-ts/package.json b/packages/cli/test/eslint-ts/package.json index 41b55e63e0..69bc8f7b62 100644 --- a/packages/cli/test/eslint-ts/package.json +++ b/packages/cli/test/eslint-ts/package.json @@ -2,14 +2,14 @@ "name": "@serverless-stack/cli-test-eslint-ts", "private": true, "description": "tests", - "version": "1.0.0-alpha.11", + "version": "1.0.0-alpha.12", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.11", - "@serverless-stack/resources": "^1.0.0-alpha.11" + "@serverless-stack/cli": "^1.0.0-alpha.12", + "@serverless-stack/resources": "^1.0.0-alpha.12" }, "license": "ISC" } diff --git a/packages/cli/test/eslint/package.json b/packages/cli/test/eslint/package.json index 1cf1a42785..4b72d3adb7 100644 --- a/packages/cli/test/eslint/package.json +++ b/packages/cli/test/eslint/package.json @@ -2,14 +2,14 @@ "name": "@serverless-stack/cli-test-eslint", "private": true, "description": "tests", - "version": "1.0.0-alpha.11", + "version": "1.0.0-alpha.12", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.11", - "@serverless-stack/resources": "^1.0.0-alpha.11" + "@serverless-stack/cli": "^1.0.0-alpha.12", + "@serverless-stack/resources": "^1.0.0-alpha.12" }, "license": "ISC" } diff --git a/packages/cli/test/handler-function-not-found/package.json b/packages/cli/test/handler-function-not-found/package.json index d518fb7eb7..b364f4455b 100644 --- a/packages/cli/test/handler-function-not-found/package.json +++ b/packages/cli/test/handler-function-not-found/package.json @@ -2,14 +2,14 @@ "name": "@serverless-stack/cli-test-handler-function-not-found", "private": true, "description": "tests", - "version": "1.0.0-alpha.11", + "version": "1.0.0-alpha.12", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.11", - "@serverless-stack/resources": "^1.0.0-alpha.11" + "@serverless-stack/cli": "^1.0.0-alpha.12", + "@serverless-stack/resources": "^1.0.0-alpha.12" }, "license": "ISC" } diff --git a/packages/cli/test/handler-not-found/package.json b/packages/cli/test/handler-not-found/package.json index 0f1ada24a7..2ff8443323 100644 --- a/packages/cli/test/handler-not-found/package.json +++ b/packages/cli/test/handler-not-found/package.json @@ -2,14 +2,14 @@ "name": "@serverless-stack/cli-test-handler-not-found", "private": true, "description": "tests", - "version": "1.0.0-alpha.11", + "version": "1.0.0-alpha.12", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.11", - "@serverless-stack/resources": "^1.0.0-alpha.11" + "@serverless-stack/cli": "^1.0.0-alpha.12", + "@serverless-stack/resources": "^1.0.0-alpha.12" }, "license": "ISC" } diff --git a/packages/cli/test/jest-ts/package.json b/packages/cli/test/jest-ts/package.json index 1739149c9c..16c5bd7f21 100644 --- a/packages/cli/test/jest-ts/package.json +++ b/packages/cli/test/jest-ts/package.json @@ -2,7 +2,7 @@ "name": "@serverless-stack/cli-test-jest-ts", "private": true, "description": "tests", - "version": "1.0.0-alpha.11", + "version": "1.0.0-alpha.12", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build", @@ -19,8 +19,8 @@ "@aws-cdk/aws-sns-subscriptions": "1.79.0", "@aws-cdk/aws-sqs": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.11", - "@serverless-stack/resources": "^1.0.0-alpha.11" + "@serverless-stack/cli": "^1.0.0-alpha.12", + "@serverless-stack/resources": "^1.0.0-alpha.12" }, "license": "ISC", "devDependencies": { diff --git a/packages/cli/test/jest/package.json b/packages/cli/test/jest/package.json index 472126275f..8fd0940a13 100644 --- a/packages/cli/test/jest/package.json +++ b/packages/cli/test/jest/package.json @@ -2,7 +2,7 @@ "name": "@serverless-stack/cli-test-jest", "private": true, "description": "tests", - "version": "1.0.0-alpha.11", + "version": "1.0.0-alpha.12", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "test": "sst test" @@ -15,8 +15,8 @@ "dependencies": { "@aws-cdk/aws-dynamodb": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.11", - "@serverless-stack/resources": "^1.0.0-alpha.11" + "@serverless-stack/cli": "^1.0.0-alpha.12", + "@serverless-stack/resources": "^1.0.0-alpha.12" }, "license": "ISC", "devDependencies": { diff --git a/packages/cli/test/lambda-override-eslintrc/package.json b/packages/cli/test/lambda-override-eslintrc/package.json index e9b355dff9..6ef4e1c69a 100644 --- a/packages/cli/test/lambda-override-eslintrc/package.json +++ b/packages/cli/test/lambda-override-eslintrc/package.json @@ -2,7 +2,7 @@ "name": "@serverless-stack/cli-test-lambda-override-eslintrc", "private": true, "description": "tests", - "version": "1.0.0-alpha.11", + "version": "1.0.0-alpha.12", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build", @@ -12,8 +12,8 @@ "@aws-cdk/aws-apigatewayv2": "1.79.0", "@aws-cdk/aws-apigatewayv2-integrations": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.11", - "@serverless-stack/resources": "^1.0.0-alpha.11" + "@serverless-stack/cli": "^1.0.0-alpha.12", + "@serverless-stack/resources": "^1.0.0-alpha.12" }, "license": "ISC" } diff --git a/packages/cli/test/lambda-override-tsconfig/package.json b/packages/cli/test/lambda-override-tsconfig/package.json index f5bd542c87..9f4448ae3d 100644 --- a/packages/cli/test/lambda-override-tsconfig/package.json +++ b/packages/cli/test/lambda-override-tsconfig/package.json @@ -2,7 +2,7 @@ "name": "@serverless-stack/cli-test-lambda-override-tsconfig", "private": true, "description": "tests", - "version": "1.0.0-alpha.11", + "version": "1.0.0-alpha.12", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build", @@ -12,8 +12,8 @@ "@aws-cdk/aws-apigatewayv2": "1.79.0", "@aws-cdk/aws-apigatewayv2-integrations": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.11", - "@serverless-stack/resources": "^1.0.0-alpha.11" + "@serverless-stack/cli": "^1.0.0-alpha.12", + "@serverless-stack/resources": "^1.0.0-alpha.12" }, "license": "ISC", "devDependencies": { diff --git a/packages/cli/test/mismatched-cdk-versions/package.json b/packages/cli/test/mismatched-cdk-versions/package.json index 2567ce93b8..f4bd912dfd 100644 --- a/packages/cli/test/mismatched-cdk-versions/package.json +++ b/packages/cli/test/mismatched-cdk-versions/package.json @@ -2,7 +2,7 @@ "name": "@serverless-stack/cli-test-mismatched-cdk-versions", "private": true, "description": "tests", - "version": "1.0.0-alpha.11", + "version": "1.0.0-alpha.12", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" @@ -13,8 +13,8 @@ "@aws-cdk/aws-iam": "1.57.0", "@aws-cdk/aws-s3": "^1.57.0", "@aws-cdk/core": "1.56.0", - "@serverless-stack/cli": "^1.0.0-alpha.11", - "@serverless-stack/resources": "^1.0.0-alpha.11" + "@serverless-stack/cli": "^1.0.0-alpha.12", + "@serverless-stack/resources": "^1.0.0-alpha.12" }, "license": "ISC" } diff --git a/packages/cli/test/stack-no-prefix/package.json b/packages/cli/test/stack-no-prefix/package.json index 5e29cbeeb8..4e5964698b 100644 --- a/packages/cli/test/stack-no-prefix/package.json +++ b/packages/cli/test/stack-no-prefix/package.json @@ -2,15 +2,15 @@ "name": "@serverless-stack/cli-test-stack-no-prefix", "private": true, "description": "tests", - "version": "1.0.0-alpha.11", + "version": "1.0.0-alpha.12", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.11", - "@serverless-stack/resources": "^1.0.0-alpha.11" + "@serverless-stack/cli": "^1.0.0-alpha.12", + "@serverless-stack/resources": "^1.0.0-alpha.12" }, "license": "ISC" } diff --git a/packages/cli/test/stack-set-env/package.json b/packages/cli/test/stack-set-env/package.json index e680b80175..3a314b30d5 100644 --- a/packages/cli/test/stack-set-env/package.json +++ b/packages/cli/test/stack-set-env/package.json @@ -2,14 +2,14 @@ "name": "@serverless-stack/cli-test-stack-set-env", "private": true, "description": "tests", - "version": "1.0.0-alpha.11", + "version": "1.0.0-alpha.12", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "build": "sst build" }, "dependencies": { - "@serverless-stack/cli": "^1.0.0-alpha.11", - "@serverless-stack/resources": "^1.0.0-alpha.11" + "@serverless-stack/cli": "^1.0.0-alpha.12", + "@serverless-stack/resources": "^1.0.0-alpha.12" }, "license": "ISC" } diff --git a/packages/cli/test/start-base/package.json b/packages/cli/test/start-base/package.json index 74c5acebed..4edee53fae 100644 --- a/packages/cli/test/start-base/package.json +++ b/packages/cli/test/start-base/package.json @@ -2,7 +2,7 @@ "name": "@serverless-stack/cli-test-start-base", "private": true, "description": "tests", - "version": "1.0.0-alpha.11", + "version": "1.0.0-alpha.12", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "start": "sst start", @@ -17,8 +17,8 @@ "@aws-cdk/aws-sns": "1.79.0", "@aws-cdk/aws-sns-subscriptions": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.11", - "@serverless-stack/resources": "^1.0.0-alpha.11" + "@serverless-stack/cli": "^1.0.0-alpha.12", + "@serverless-stack/resources": "^1.0.0-alpha.12" }, "license": "ISC" } diff --git a/packages/cli/test/start-no-src-path/package.json b/packages/cli/test/start-no-src-path/package.json index 97796ad858..54b4b75e64 100644 --- a/packages/cli/test/start-no-src-path/package.json +++ b/packages/cli/test/start-no-src-path/package.json @@ -2,7 +2,7 @@ "name": "@serverless-stack/cli-test-start-no-src-path", "private": true, "description": "tests", - "version": "1.0.0-alpha.11", + "version": "1.0.0-alpha.12", "scripts": { "postinstall": "node ../helpers/copy-symlinks.js", "start": "sst start", @@ -16,8 +16,8 @@ "@aws-cdk/aws-apigatewayv2-integrations": "1.79.0", "@aws-cdk/aws-lambda": "1.79.0", "@aws-cdk/core": "1.79.0", - "@serverless-stack/cli": "^1.0.0-alpha.11", - "@serverless-stack/resources": "^1.0.0-alpha.11", + "@serverless-stack/cli": "^1.0.0-alpha.12", + "@serverless-stack/resources": "^1.0.0-alpha.12", "mirrarray": "^2.0.0" }, "license": "ISC" diff --git a/packages/core/package.json b/packages/core/package.json index d7a31e665c..954882b2c8 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@serverless-stack/core", - "version": "1.0.0-alpha.11", + "version": "1.0.0-alpha.12", "homepage": "https://serverless-stack.com", "description": "Core of the Serverless Stack Toolkit.", "main": "index.js", diff --git a/packages/create-serverless-stack/package.json b/packages/create-serverless-stack/package.json index 927e02d0c3..dc215c3ad3 100644 --- a/packages/create-serverless-stack/package.json +++ b/packages/create-serverless-stack/package.json @@ -1,6 +1,6 @@ { "name": "create-serverless-stack", - "version": "1.0.0-alpha.11", + "version": "1.0.0-alpha.12", "homepage": "https://serverless-stack.com", "description": "Create Serverless Stack apps.", "bin": { diff --git a/packages/resources/package.json b/packages/resources/package.json index 3d72a64471..5c86d8e406 100644 --- a/packages/resources/package.json +++ b/packages/resources/package.json @@ -1,6 +1,6 @@ { "name": "@serverless-stack/resources", - "version": "1.0.0-alpha.11", + "version": "1.0.0-alpha.12", "homepage": "https://serverless-stack.com", "description": "Helper AWS CDK constructs for Serverless Stack apps.", "main": "dist/index.js", From 20d90483a50ece20387b36e2c9eb16b209cfb693 Mon Sep 17 00:00:00 2001 From: Frank Date: Mon, 11 Jan 2021 21:02:01 -0500 Subject: [PATCH 121/123] Published v1.0.0-alpha.12 --- packages/cli/package.json | 2 +- packages/core/package.json | 2 +- packages/create-serverless-stack/package.json | 2 +- packages/resources/package.json | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/cli/package.json b/packages/cli/package.json index 556198d994..88dd4f2f3d 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -71,5 +71,5 @@ "devDependencies": { "replace-in-file": "^6.1.0" }, - "gitHead": "0a586f786aca7e7d498a80c4dda680159831f959" + "gitHead": "0fab8ab33d6a8c56bae34a6b1feb86655371e928" } diff --git a/packages/core/package.json b/packages/core/package.json index 954882b2c8..7ad96a5767 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -23,5 +23,5 @@ "sst-cdk": "1.79.0-rc.1", "winston": "^3.3.3" }, - "gitHead": "0a586f786aca7e7d498a80c4dda680159831f959" + "gitHead": "0fab8ab33d6a8c56bae34a6b1feb86655371e928" } diff --git a/packages/create-serverless-stack/package.json b/packages/create-serverless-stack/package.json index dc215c3ad3..15b24b05a1 100644 --- a/packages/create-serverless-stack/package.json +++ b/packages/create-serverless-stack/package.json @@ -28,5 +28,5 @@ "cross-spawn": "^7.0.3", "yargs": "^15.4.1" }, - "gitHead": "0a586f786aca7e7d498a80c4dda680159831f959" + "gitHead": "0fab8ab33d6a8c56bae34a6b1feb86655371e928" } diff --git a/packages/resources/package.json b/packages/resources/package.json index 5c86d8e406..302b4b9aee 100644 --- a/packages/resources/package.json +++ b/packages/resources/package.json @@ -39,5 +39,5 @@ "@types/fs-extra": "^9.0.6", "@types/node": "^14.0.27" }, - "gitHead": "0a586f786aca7e7d498a80c4dda680159831f959" + "gitHead": "0fab8ab33d6a8c56bae34a6b1feb86655371e928" } From b6dee7f8197a3612c6aefa27c6e33ad6faf6a3fb Mon Sep 17 00:00:00 2001 From: Jay Date: Mon, 11 Jan 2021 21:04:50 -0500 Subject: [PATCH 122/123] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 76710ac3f7..d96045e85c 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ Getting help: [**Slack**][slack] / [**Twitter**](https://twitter.com/ServerlessS Create your first SST app. ```bash -$ npx create-serverless-stack resources my-sst-app +$ npx create-serverless-stack@latest my-sst-app $ cd my-sst-app $ npx sst start ``` From 8d4466549b7904f5eef284afdf983d03770f8a97 Mon Sep 17 00:00:00 2001 From: Frank Date: Mon, 11 Jan 2021 21:52:48 -0500 Subject: [PATCH 123/123] Stop esbuild service when testing --- lerna.json | 4 +--- packages/cli/scripts/start.js | 6 ++++++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/lerna.json b/lerna.json index 0eca008844..5408f89b17 100644 --- a/lerna.json +++ b/lerna.json @@ -1,7 +1,5 @@ { - "packages": [ - "packages/*" - ], + "packages": ["packages/*"], "npmClient": "yarn", "useWorkspaces": true, "version": "1.0.0-alpha.12" diff --git a/packages/cli/scripts/start.js b/packages/cli/scripts/start.js index ad93dddb12..5079955af3 100644 --- a/packages/cli/scripts/start.js +++ b/packages/cli/scripts/start.js @@ -251,11 +251,17 @@ async function startBuilder(cdkInputFiles) { }); } function stopBuilder() { + // Stop esbuild rebuild processes Object.keys(builderState.entryPointsData).forEach((key) => { if (builderState.entryPointsData[key].esbuilder !== null) { builderState.entryPointsData[key].esbuilder.rebuild.dispose(); } }); + + // Stop esbuild service + if (esbuildService) { + esbuildService.stop(); + } } async function updateBuilder() { builderLogger.silly(serializeState());