From c5655931c22c691859bfea82785e27fba4263859 Mon Sep 17 00:00:00 2001 From: akshbhu <39866697+akshbhu@users.noreply.github.com> Date: Thu, 18 Nov 2021 18:44:43 -0800 Subject: [PATCH] feat: extensibility for Amplify API (#8954) --- .gitignore | 8 + packages/amplify-category-api/.npmignore | 1 + .../amplify-category-api/amplify-plugin.json | 14 +- packages/amplify-category-api/package.json | 10 +- .../AppSync/override.ts.sample | 5 + .../overrides-resource/AppSync/package.json | 15 + .../overrides-resource/AppSync/tsconfig.json | 10 + .../AppSync/tsconfig.resource.json | 13 + .../appsync/AppSyncCLIInputs.schema.json | 289 + .../scripts/generateApiSchemas.ts | 14 + .../appsync-api-input-state.test.ts | 48 + .../cfn-api-artifact-handler.test.ts | 120 +- .../get-appsync-auth-config.test.ts.snap | 28 + .../utils/get-appsync-auth-config.test.ts | 55 + .../migrate-api-override-resource.test.ts | 79 + .../src/commands/api/migrate.ts | 5 + .../src/commands/api/override.ts | 68 + packages/amplify-category-api/src/index.ts | 52 +- .../appsync-api-input-state.ts | 42 + .../cfn-api-artifact-handler.ts | 69 +- .../provider-utils/awscloudformation/index.ts | 12 +- .../appsync-user-input-types.ts | 175 + .../appSync-walkthrough.ts | 51 +- .../utils/check-appsync-api-migration.ts | 19 + .../utils/get-appsync-auth-config.ts | 18 + .../utils/get-appsync-resolver-config.ts | 15 + .../utils/migrate-api-override-resource.ts | 120 + packages/amplify-category-api/tsconfig.json | 4 +- .../utils/transform-user-pool-group.js | 1 - packages/amplify-cli-core/src/cliConstants.ts | 4 +- packages/amplify-cli-core/src/errors/index.ts | 10 +- .../src/state-manager/stateManager.ts | 8 + packages/amplify-cli-core/tsconfig.json | 1 + .../package.json | 2 + .../src/index.ts | 1 + .../api/amplify-api-resource-stack-types.ts | 91 + .../tsconfig.json | 1 + packages/amplify-cli/package.json | 4 +- .../amplify-helpers/remove-resource.test.ts | 4 +- .../amplify-helpers/push-resources.ts | 5 +- .../amplify-helpers/remove-resource.ts | 4 +- .../lib/ElasticContainer/index.js | 2 +- .../amplify-container-hosting/package.json | 2 +- .../src/init/overrideStack.ts | 17 + .../overrides/override-api.ts | 3 + .../schemas/simple_model_override.graphql | 5 + .../src/__tests__/api_7.test.ts | 93 + .../amplify-graphiql-explorer/tsconfig.json | 3 +- .../src/__tests__/conflict-resolution.test.ts | 22 +- .../package.json | 3 +- ...function-transformer-override.test.ts.snap | 348 ++ ...phql-function-transformer-override.test.ts | 29 + .../src/__tests__/overrides/build/override.js | 7 + .../package.json | 3 +- ...hql-http-transformer-override.test.ts.snap | 606 ++ ...lify-graphql-http-transformer.test.ts.snap | 2 + ...-graphql-http-transformer-override.test.ts | 31 + .../amplify-graphql-http-transformer.test.ts | 3 +- .../src/__tests__/overrides/build/override.js | 21 + .../amplify-graphql-index-transformer.test.ts | 6 +- .../package.json | 3 +- .../model-transformer-override.test.ts.snap | 3009 ++++++++++ .../model-transformer-override.test.ts | 41 + .../src/__tests__/model-transformer.test.ts | 35 +- .../src/__tests__/overrides/build/override.js | 8 + .../package.json | 3 +- ...dictions-transformer-override.test.ts.snap | 828 +++ ...l-predictions-transformer-override.test.ts | 25 + .../src/__tests__/overrides/build/override.js | 5 + .../package.json | 3 +- ...aphql-searchable-transformer.test.ts.snap} | 0 ...ql-searchable-transformer-override.test.ts | 114 + ...fy-graphql-searchable-transformer.test.ts} | 0 .../src/__tests__/overrides/build/override.js | 11 + .../package.json | 5 +- .../src/config/transformer-config.ts | 5 - .../src/transformation/transform.ts | 97 +- .../src/transformation/types.ts | 6 + .../types/amplify-api-resource-stack-types.ts | 91 + .../src/types/types.ts | 13 + .../src/types/utils.ts | 183 + .../resource-package/resource-export.test.ts | 3 +- .../transform-graphql-schema.ts | 123 +- .../src/graphql-transformer/utils.ts | 16 +- .../src/index.ts | 3 + .../src/push-resources.ts | 13 +- .../src/transform-graphql-schema.ts | 1 - .../src/RelationalDBSchemaTransformerUtils.ts | 8 +- tsconfig.base.json | 1 + yarn.lock | 5317 +++++++++++------ 90 files changed, 10550 insertions(+), 2121 deletions(-) create mode 100644 packages/amplify-category-api/resources/awscloudformation/overrides-resource/AppSync/override.ts.sample create mode 100644 packages/amplify-category-api/resources/awscloudformation/overrides-resource/AppSync/package.json create mode 100644 packages/amplify-category-api/resources/awscloudformation/overrides-resource/AppSync/tsconfig.json create mode 100644 packages/amplify-category-api/resources/awscloudformation/overrides-resource/AppSync/tsconfig.resource.json create mode 100644 packages/amplify-category-api/resources/schemas/appsync/AppSyncCLIInputs.schema.json create mode 100644 packages/amplify-category-api/scripts/generateApiSchemas.ts create mode 100644 packages/amplify-category-api/src/__tests__/provider-utils/awscloudformation/api-input-manager/appsync-api-input-state.test.ts create mode 100644 packages/amplify-category-api/src/__tests__/provider-utils/awscloudformation/utils/__snapshots__/get-appsync-auth-config.test.ts.snap create mode 100644 packages/amplify-category-api/src/__tests__/provider-utils/awscloudformation/utils/get-appsync-auth-config.test.ts create mode 100644 packages/amplify-category-api/src/__tests__/provider-utils/awscloudformation/utils/migrate-api-override-resource.test.ts create mode 100644 packages/amplify-category-api/src/commands/api/override.ts create mode 100644 packages/amplify-category-api/src/provider-utils/awscloudformation/api-input-manager/appsync-api-input-state.ts create mode 100644 packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthrough-types/appsync-user-input-types.ts create mode 100644 packages/amplify-category-api/src/provider-utils/awscloudformation/utils/check-appsync-api-migration.ts create mode 100644 packages/amplify-category-api/src/provider-utils/awscloudformation/utils/get-appsync-auth-config.ts create mode 100644 packages/amplify-category-api/src/provider-utils/awscloudformation/utils/get-appsync-resolver-config.ts create mode 100644 packages/amplify-category-api/src/provider-utils/awscloudformation/utils/migrate-api-override-resource.ts create mode 100644 packages/amplify-cli-extensibility-helper/src/types/api/amplify-api-resource-stack-types.ts create mode 100644 packages/amplify-e2e-tests/overrides/override-api.ts create mode 100644 packages/amplify-e2e-tests/schemas/simple_model_override.graphql create mode 100644 packages/amplify-e2e-tests/src/__tests__/api_7.test.ts create mode 100644 packages/amplify-graphql-function-transformer/src/__tests__/__snapshots__/amplify-graphql-function-transformer-override.test.ts.snap create mode 100644 packages/amplify-graphql-function-transformer/src/__tests__/amplify-graphql-function-transformer-override.test.ts create mode 100644 packages/amplify-graphql-function-transformer/src/__tests__/overrides/build/override.js create mode 100644 packages/amplify-graphql-http-transformer/src/__tests__/__snapshots__/amplify-graphql-http-transformer-override.test.ts.snap create mode 100644 packages/amplify-graphql-http-transformer/src/__tests__/amplify-graphql-http-transformer-override.test.ts create mode 100644 packages/amplify-graphql-http-transformer/src/__tests__/overrides/build/override.js create mode 100644 packages/amplify-graphql-model-transformer/src/__tests__/__snapshots__/model-transformer-override.test.ts.snap create mode 100644 packages/amplify-graphql-model-transformer/src/__tests__/model-transformer-override.test.ts create mode 100644 packages/amplify-graphql-model-transformer/src/__tests__/overrides/build/override.js create mode 100644 packages/amplify-graphql-predictions-transformer/src/__tests__/__snapshots__/amplify-graphql-predictions-transformer-override.test.ts.snap create mode 100644 packages/amplify-graphql-predictions-transformer/src/__tests__/amplify-graphql-predictions-transformer-override.test.ts create mode 100644 packages/amplify-graphql-predictions-transformer/src/__tests__/overrides/build/override.js rename packages/amplify-graphql-searchable-transformer/src/__tests__/__snapshots__/{amplify-graphql-searchable-transformer.tests.ts.snap => amplify-graphql-searchable-transformer.test.ts.snap} (100%) create mode 100644 packages/amplify-graphql-searchable-transformer/src/__tests__/amplify-graphql-searchable-transformer-override.test.ts rename packages/amplify-graphql-searchable-transformer/src/__tests__/{amplify-graphql-searchable-transformer.tests.ts => amplify-graphql-searchable-transformer.test.ts} (100%) create mode 100644 packages/amplify-graphql-searchable-transformer/src/__tests__/overrides/build/override.js create mode 100644 packages/amplify-graphql-transformer-core/src/types/amplify-api-resource-stack-types.ts create mode 100644 packages/amplify-graphql-transformer-core/src/types/types.ts create mode 100644 packages/amplify-graphql-transformer-core/src/types/utils.ts diff --git a/.gitignore b/.gitignore index 0b4b7628c72..f581a0f5c2e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,11 @@ **/.DS_Store .circleci/generated_config.yml build +!packages/amplify-graphql-model-transformer/src/__tests__/overrides/build/ +!packages/amplify-graphql-function-transformer/src/__tests__/overrides/build/ +!packages/amplify-graphql-predictions-transformer/src/__tests__/overrides/build/ +!packages/amplify-graphql-http-transformer/src/__tests__/overrides/build/ +!packages/amplify-graphql-searchable-transformer/src/__tests__/overrides/build/ node_modules out pkg/node_modules @@ -70,4 +75,7 @@ test.out.log *.tsbuildinfo packages/amplify-graphiql-explorer/.eslintcache packages/amplify-cli-extensibility-helper/lib +packages/amplify-cli-overrides-helper/lib +!packages/amplify-graphql-model-transformer/src/__tests__/overrides/build/override.js + diff --git a/packages/amplify-category-api/.npmignore b/packages/amplify-category-api/.npmignore index 89eeb1ee92a..8e312a609d9 100644 --- a/packages/amplify-category-api/.npmignore +++ b/packages/amplify-category-api/.npmignore @@ -2,4 +2,5 @@ **/__tests__/** ./src tsconfig.json +!resources/awscloudformation/overrides-resource/AppSync/tsconfig.json tsconfig.tsbuildinfo diff --git a/packages/amplify-category-api/amplify-plugin.json b/packages/amplify-category-api/amplify-plugin.json index 21548e0f397..d9cc64c3312 100644 --- a/packages/amplify-category-api/amplify-plugin.json +++ b/packages/amplify-category-api/amplify-plugin.json @@ -1,7 +1,19 @@ { "name": "api", "type": "category", - "commands": ["add-graphql-datasource", "add", "console", "gql-compile", "migrate", "push", "rebuild", "remove", "update", "help"], + "commands": [ + "add-graphql-datasource", + "add", + "console", + "gql-compile", + "migrate", + "push", + "rebuild", + "remove", + "update", + "help", + "override" + ], "commandAliases": { "configure": "update" }, diff --git a/packages/amplify-category-api/package.json b/packages/amplify-category-api/package.json index 6bf484d6bf9..051c4a72cf6 100644 --- a/packages/amplify-category-api/package.json +++ b/packages/amplify-category-api/package.json @@ -1,6 +1,6 @@ { - "name": "amplify-category-api", - "version": "3.3.5", + "name": "@aws-amplify/amplify-category-api", + "version": "1.0.0", "description": "amplify-cli api plugin", "repository": { "type": "git", @@ -14,7 +14,11 @@ "build": "tsc", "watch": "tsc -w", "clean": "rimraf lib tsconfig.tsbuildinfo", - "test": "jest" + "test": "jest", + "generateSchemas": "ts-node ./scripts/generateApiSchemas.ts" + }, + "publishConfig": { + "access": "public" }, "dependencies": { "@aws-amplify/graphql-transformer-migrator": "1.2.6", diff --git a/packages/amplify-category-api/resources/awscloudformation/overrides-resource/AppSync/override.ts.sample b/packages/amplify-category-api/resources/awscloudformation/overrides-resource/AppSync/override.ts.sample new file mode 100644 index 00000000000..a2584218431 --- /dev/null +++ b/packages/amplify-category-api/resources/awscloudformation/overrides-resource/AppSync/override.ts.sample @@ -0,0 +1,5 @@ +import { AppSyncServiceResourceStack } from '@aws-amplify/cli-extensibility-helper'; + +export function override(resource: AppSyncServiceResourceStack) { + +} diff --git a/packages/amplify-category-api/resources/awscloudformation/overrides-resource/AppSync/package.json b/packages/amplify-category-api/resources/awscloudformation/overrides-resource/AppSync/package.json new file mode 100644 index 00000000000..d8eb0d191de --- /dev/null +++ b/packages/amplify-category-api/resources/awscloudformation/overrides-resource/AppSync/package.json @@ -0,0 +1,15 @@ +{ + "name": "overrides", + "version": "1.0.0", + "description": "", + "scripts": { + "build": "tsc", + "watch": "tsc -w" + }, + "dependencies": { + "@aws-amplify/cli-extensibility-helper": "2.2.3-gql-ext1.0" + }, + "devDependencies": { + "typescript": "^4.2.4" + } +} \ No newline at end of file diff --git a/packages/amplify-category-api/resources/awscloudformation/overrides-resource/AppSync/tsconfig.json b/packages/amplify-category-api/resources/awscloudformation/overrides-resource/AppSync/tsconfig.json new file mode 100644 index 00000000000..b8a01f726a0 --- /dev/null +++ b/packages/amplify-category-api/resources/awscloudformation/overrides-resource/AppSync/tsconfig.json @@ -0,0 +1,10 @@ +{ + "compilerOptions": { + "target": "es6", + "module": "commonjs", + "strict": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "outDir": "build" + } +} \ No newline at end of file diff --git a/packages/amplify-category-api/resources/awscloudformation/overrides-resource/AppSync/tsconfig.resource.json b/packages/amplify-category-api/resources/awscloudformation/overrides-resource/AppSync/tsconfig.resource.json new file mode 100644 index 00000000000..6504da80283 --- /dev/null +++ b/packages/amplify-category-api/resources/awscloudformation/overrides-resource/AppSync/tsconfig.resource.json @@ -0,0 +1,13 @@ +{ + "compilerOptions": { + "target": "es6", + "module": "commonjs", + "strict": false, + "esModuleInterop": true, + "skipLibCheck": true, + "forceConsistentCasingInFileNames": true, + "outDir": "./", + "rootDir": "../" + }, + "include": ["../**/*"] +} diff --git a/packages/amplify-category-api/resources/schemas/appsync/AppSyncCLIInputs.schema.json b/packages/amplify-category-api/resources/schemas/appsync/AppSyncCLIInputs.schema.json new file mode 100644 index 00000000000..cb286b6dd0c --- /dev/null +++ b/packages/amplify-category-api/resources/schemas/appsync/AppSyncCLIInputs.schema.json @@ -0,0 +1,289 @@ +{ + "description": "Defines the json object expected by `amplify api category", + "type": "object", + "properties": { + "version": { + "description": "The schema version.", + "type": "number", + "enum": [1] + }, + "serviceConfiguration": { + "$ref": "#/definitions/AppSyncServiceConfig", + "description": "The service configuration that will be interpreted by Amplify." + } + }, + "required": ["serviceConfiguration", "version"], + "definitions": { + "AppSyncServiceConfig": { + "description": "Configuration exposed by AppSync. Currently this is the only API type supported by Amplify headless mode.", + "type": "object", + "properties": { + "serviceName": { + "description": "The service name of the resource provider.", + "type": "string", + "enum": ["AppSync"] + }, + "apiName": { + "description": "The name of the API that will be created.", + "type": "string" + }, + "gqlSchemaPath": { + "description": "Path to GraphQL schema that defines the AppSync API.", + "type": "string" + }, + "defaultAuthType": { + "description": "The auth type that will be used by default.", + "anyOf": [ + { + "$ref": "#/definitions/AppSyncAPIKeyAuthType" + }, + { + "$ref": "#/definitions/AppSyncAWSIAMAuthType" + }, + { + "$ref": "#/definitions/AppSyncCognitoUserPoolsAuthType" + }, + { + "$ref": "#/definitions/AppSyncOpenIDConnectAuthType" + }, + { + "$ref": "#/definitions/AppSyncLambdaAuthType" + } + ] + }, + "additionalAuthTypes": { + "description": "Additional methods of authenticating API requests.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/AppSyncAPIKeyAuthType" + }, + { + "$ref": "#/definitions/AppSyncAWSIAMAuthType" + }, + { + "$ref": "#/definitions/AppSyncCognitoUserPoolsAuthType" + }, + { + "$ref": "#/definitions/AppSyncOpenIDConnectAuthType" + }, + { + "$ref": "#/definitions/AppSyncLambdaAuthType" + } + ] + } + }, + "conflictResolution": { + "$ref": "#/definitions/ConflictResolution", + "description": "The strategy for resolving API write conflicts." + } + }, + "required": ["apiName", "defaultAuthType", "gqlSchemaPath", "serviceName"] + }, + "AppSyncAPIKeyAuthType": { + "description": "Specifies that the AppSync API should be secured using an API key.", + "type": "object", + "properties": { + "mode": { + "type": "string", + "enum": ["API_KEY"] + }, + "expirationTime": { + "type": "number" + }, + "apiKeyExpirationDate": { + "type": "string", + "format": "date-time" + }, + "keyDescription": { + "type": "string" + } + }, + "required": ["mode"] + }, + "AppSyncAWSIAMAuthType": { + "description": "Specifies that the AppSync API should be secured using AWS IAM.", + "type": "object", + "properties": { + "mode": { + "type": "string", + "enum": ["AWS_IAM"] + } + }, + "required": ["mode"] + }, + "AppSyncCognitoUserPoolsAuthType": { + "description": "Specifies that the AppSync API should be secured using Cognito.", + "type": "object", + "properties": { + "mode": { + "type": "string", + "enum": ["AMAZON_COGNITO_USER_POOLS"] + }, + "cognitoUserPoolId": { + "description": "The user pool that will be used to authenticate requests.", + "type": "string" + } + }, + "required": ["mode"] + }, + "AppSyncOpenIDConnectAuthType": { + "description": "Specifies that the AppSync API should be secured using OpenID.", + "type": "object", + "properties": { + "mode": { + "type": "string", + "enum": ["OPENID_CONNECT"] + }, + "openIDProviderName": { + "type": "string" + }, + "openIDIssuerURL": { + "type": "string" + }, + "openIDClientID": { + "type": "string" + }, + "openIDAuthTTL": { + "type": "string" + }, + "openIDIatTTL": { + "type": "string" + } + }, + "required": ["mode", "openIDClientID", "openIDIssuerURL", "openIDProviderName"] + }, + "AppSyncLambdaAuthType": { + "description": "Specifies that the AppSync API should be secured using Lambda.", + "type": "object", + "properties": { + "mode": { + "type": "string", + "enum": ["AWS_LAMBDA"] + }, + "lambdaFunction": { + "type": "string" + }, + "ttlSeconds": { + "type": "string" + } + }, + "required": ["lambdaFunction", "mode"] + }, + "ConflictResolution": { + "description": "Defines a strategy for resolving API write conflicts.", + "type": "object", + "properties": { + "defaultResolutionStrategy": { + "description": "The strategy that will be used for all models by default.", + "anyOf": [ + { + "$ref": "#/definitions/PredefinedResolutionStrategy" + }, + { + "$ref": "#/definitions/LambdaResolutionStrategy" + } + ] + }, + "perModelResolutionStrategy": { + "description": "Strategies that will be used for individual models.", + "type": "array", + "items": { + "$ref": "#/definitions/PerModelResolutionstrategy" + } + } + } + }, + "PredefinedResolutionStrategy": { + "description": "Resolution strategies provided by AppSync. See https://docs.aws.amazon.com/appsync/latest/devguide/conflict-detection-and-sync.html for details.", + "type": "object", + "properties": { + "type": { + "enum": ["AUTOMERGE", "NONE", "OPTIMISTIC_CONCURRENCY"], + "type": "string" + } + }, + "required": ["type"] + }, + "LambdaResolutionStrategy": { + "description": "Resolution strategy using a custom lambda function.", + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": ["LAMBDA"] + }, + "resolver": { + "description": "The lambda function used to resolve conflicts.", + "anyOf": [ + { + "$ref": "#/definitions/NewLambdaConflictResolver" + }, + { + "$ref": "#/definitions/ExistingLambdaConflictResolver" + } + ] + } + }, + "required": ["resolver", "type"] + }, + "NewLambdaConflictResolver": { + "description": "Defines a new lambda conflict resolver. Using this resolver type will create a new lambda function with boilerplate resolver logic.", + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": ["NEW"] + } + }, + "required": ["type"] + }, + "ExistingLambdaConflictResolver": { + "description": "Defines an lambda conflict resolver that uses an existing lambda function.", + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": ["EXISTING"] + }, + "name": { + "description": "The name of the lambda function (this must be a lambda function that exists in the Amplify project).", + "type": "string" + }, + "region": { + "description": "The lambda function region.", + "type": "string" + }, + "arn": { + "description": "A lambda function ARN. This could be an ARN outside of the Amplify project but in that case extra care must be taken to ensure the AppSync API has access to the Lambda.", + "type": "string" + } + }, + "required": ["name", "type"] + }, + "PerModelResolutionstrategy": { + "description": "Defines a resolution strategy for a single model.", + "type": "object", + "properties": { + "resolutionStrategy": { + "description": "The resolution strategy for the model.", + "anyOf": [ + { + "$ref": "#/definitions/PredefinedResolutionStrategy" + }, + { + "$ref": "#/definitions/LambdaResolutionStrategy" + } + ] + }, + "entityName": { + "description": "The model name.", + "type": "string" + } + }, + "required": ["entityName", "resolutionStrategy"] + } + }, + "$schema": "http://json-schema.org/draft-07/schema#" +} diff --git a/packages/amplify-category-api/scripts/generateApiSchemas.ts b/packages/amplify-category-api/scripts/generateApiSchemas.ts new file mode 100644 index 00000000000..465f8cf547e --- /dev/null +++ b/packages/amplify-category-api/scripts/generateApiSchemas.ts @@ -0,0 +1,14 @@ +import * as SchemaGenerator from 'amplify-cli-core'; + +type TypeDef = SchemaGenerator.TypeDef; + +const AppsyncApiTypeDef: TypeDef = { + typeName: 'AppSyncCLIInputs', + service: 'appsync', +}; + +// Defines the type names and the paths to the TS files that define them +const apiCategoryTypeDefs: TypeDef[] = [AppsyncApiTypeDef]; + +const schemaGenerator = new SchemaGenerator.CLIInputSchemaGenerator(apiCategoryTypeDefs); +schemaGenerator.generateJSONSchemas(); // convert CLI input data into json schemas. diff --git a/packages/amplify-category-api/src/__tests__/provider-utils/awscloudformation/api-input-manager/appsync-api-input-state.test.ts b/packages/amplify-category-api/src/__tests__/provider-utils/awscloudformation/api-input-manager/appsync-api-input-state.test.ts new file mode 100644 index 00000000000..97269c82e9f --- /dev/null +++ b/packages/amplify-category-api/src/__tests__/provider-utils/awscloudformation/api-input-manager/appsync-api-input-state.test.ts @@ -0,0 +1,48 @@ +import { AppsyncApiInputState } from '../../../../provider-utils/awscloudformation/api-input-manager/appsync-api-input-state'; + +jest.mock('fs-extra'); + +jest.mock('amplify-cli-core', () => ({ + ...(jest.requireActual('amplify-cli-core') as {}), + pathManager: { + getBackendDirPath: jest.fn().mockReturnValue('mockbackendDirPath'), + findProjectRoot: jest.fn().mockReturnValue('mockProject'), + }, + JSONUtilities: { + parse: JSON.parse, + readJson: jest + .fn() + .mockReturnValueOnce({ + version: 1, + serviceConfiguration: { + apiName: 'authv2migration1', + serviceName: 'AppSync', + gqlSchemaPath: 'mock/schema.graphql', + defaultAuthType: { + mode: 'AWS_IAM', + }, + conflictResolution: {}, + additionalAuthTypes: [ + { + mode: 'API_KEY', + expirationTime: 7, + keyDescription: '', + }, + ], + }, + }) + .mockReturnValueOnce({}), + }, +})); + +test('Api Input State -> validate cli payload manual payload', async () => { + const resourceName = 'mockResource'; + const apiState = new AppsyncApiInputState(resourceName); + expect(await apiState.isCLIInputsValid()).toBe(true); +}); + +test('Api Input State -> validate cli payload manual payload to throw error', async () => { + const resourceName = 'mockResource'; + const apiState = new AppsyncApiInputState(resourceName); + expect(apiState.isCLIInputsValid()).rejects.toThrowError(); +}); diff --git a/packages/amplify-category-api/src/__tests__/provider-utils/awscloudformation/cfn-api-artifact-handler.test.ts b/packages/amplify-category-api/src/__tests__/provider-utils/awscloudformation/cfn-api-artifact-handler.test.ts index e8dfa51770a..09a0c8808c3 100644 --- a/packages/amplify-category-api/src/__tests__/provider-utils/awscloudformation/cfn-api-artifact-handler.test.ts +++ b/packages/amplify-category-api/src/__tests__/provider-utils/awscloudformation/cfn-api-artifact-handler.test.ts @@ -1,20 +1,23 @@ -import path from 'path'; -import fs from 'fs-extra'; -import { ApiArtifactHandler } from '../../../provider-utils/api-artifact-handler'; -import { getCfnApiArtifactHandler } from '../../../provider-utils/awscloudformation/cfn-api-artifact-handler'; import { AddApiRequest, UpdateApiRequest } from 'amplify-headless-interface'; -import { category } from '../../../category-constants'; +import fs from 'fs-extra'; import { writeTransformerConfiguration } from 'graphql-transformer-core'; +import _ from 'lodash'; +import path from 'path'; +import { category } from '../../../category-constants'; +import { ApiArtifactHandler } from '../../../provider-utils/api-artifact-handler'; +import { AppsyncApiInputState } from '../../../provider-utils/awscloudformation/api-input-manager/appsync-api-input-state'; import { rootAssetDir } from '../../../provider-utils/awscloudformation/aws-constants'; +import { getCfnApiArtifactHandler } from '../../../provider-utils/awscloudformation/cfn-api-artifact-handler'; import { - getAppSyncResourceName, - getAppSyncAuthConfig, authConfigHasApiKey, + getAppSyncAuthConfig, + getAppSyncResourceName, } from '../../../provider-utils/awscloudformation/utils/amplify-meta-utils'; -import _ from 'lodash'; jest.mock('fs-extra'); +jest.mock('../../../provider-utils/awscloudformation/api-input-manager/appsync-api-input-state'); + jest.mock('graphql-transformer-core', () => ({ readTransformerConfiguration: jest.fn(async () => ({})), writeTransformerConfiguration: jest.fn(), @@ -28,7 +31,26 @@ jest.mock('../../../provider-utils/awscloudformation/utils/amplify-meta-utils', getImportedAuthUserPoolId: jest.fn(() => undefined), })); -jest.mock('amplify-cli-core'); +jest.mock('amplify-cli-core', () => ({ + pathManager: { + getBackendDirPath: jest.fn().mockReturnValue('mockbackendDirPath'), + findProjectRoot: jest.fn().mockReturnValue('mockProject'), + }, + stateManager: { + getMeta: jest.fn().mockReturnValue({}), + }, + AmplifyCategories: { + API: 'api', + }, + AmplifySupportedService: { + APPSYNC: 'Appsync', + }, + JSONUtilities: { + readJson: jest.fn(), + writeJson: jest.fn(), + }, + isResourceNameUnique: jest.fn(), +})); const fs_mock = fs as unknown as jest.Mocked; const writeTransformerConfiguration_mock = writeTransformerConfiguration as jest.MockedFunction; @@ -54,7 +76,8 @@ const context_stub = { getProjectMeta: jest.fn(), readJsonFile: jest.fn(), pathManager: { - getBackendDirPath: jest.fn(() => backendDirPathStub), + getBackendDirPath: jest.fn().mockReturnValue(backendDirPathStub), + findProjectRoot: jest.fn().mockReturnValue('mockProject'), }, }, }; @@ -114,6 +137,20 @@ describe('create artifacts', () => { ]); }); + it('creates correct cli-inputs', async () => { + jest.spyOn(AppsyncApiInputState.prototype, 'saveCLIInputPayload'); + await cfnApiArtifactHandler.createArtifacts(addRequestStub); + expect(AppsyncApiInputState.prototype.saveCLIInputPayload).toBeCalledWith({ + serviceConfiguration: { + apiName: 'testApiName', + defaultAuthType: { expirationTime: 10, keyDescription: 'api key description', mode: 'API_KEY' }, + gqlSchemaPath: 'backendDirPath/api/testApiName/schema.graphql', + serviceName: 'AppSync', + }, + version: 1, + }); + }); + it('writes the selected template schema to project', async () => { await cfnApiArtifactHandler.createArtifacts(addRequestStub); expect(fs_mock.writeFileSync.mock.calls.length).toBe(1); @@ -193,30 +230,73 @@ describe('update artifacts', () => { it('writes new schema if specified', async () => { const newSchemaContents = 'a new schema'; updateRequestStub.serviceModification.transformSchema = newSchemaContents; + jest.spyOn(AppsyncApiInputState.prototype, 'getCLIInputPayload').mockReturnValue({ + serviceConfiguration: { + apiName: 'testApiName', + defaultAuthType: { expirationTime: 10, keyDescription: 'api key description', mode: 'API_KEY' }, + gqlSchemaPath: 'backendDirPath/api/testApiName/schema.graphql', + serviceName: 'AppSync', + }, + version: 1, + }); await cfnApiArtifactHandler.updateArtifacts(updateRequestStub); expect(fs_mock.writeFileSync.mock.calls.length).toBe(1); expect(fs_mock.writeFileSync.mock.calls[0][1]).toBe(newSchemaContents); }); - it('updates resolver config if not empty', async () => { - updateRequestStub.serviceModification.conflictResolution = { - defaultResolutionStrategy: { - type: 'OPTIMISTIC_CONCURRENCY', - }, - }; - await cfnApiArtifactHandler.updateArtifacts(updateRequestStub); - expect(writeTransformerConfiguration_mock.mock.calls.length).toBe(1); - }); - it('updates default auth if not empty', async () => { updateRequestStub.serviceModification.defaultAuthType = { mode: 'AWS_IAM' }; + jest.spyOn(AppsyncApiInputState.prototype, 'getCLIInputPayload').mockReturnValue({ + serviceConfiguration: { + apiName: 'testApiName', + defaultAuthType: { expirationTime: 10, keyDescription: 'api key description', mode: 'API_KEY' }, + gqlSchemaPath: 'backendDirPath/api/testApiName/schema.graphql', + serviceName: 'AppSync', + }, + version: 1, + }); await cfnApiArtifactHandler.updateArtifacts(updateRequestStub); expect(context_stub.amplify.executeProviderUtils.mock.calls.length).toBe(1); expect(context_stub.amplify.executeProviderUtils.mock.calls[0][3].authConfig).toMatchSnapshot(); }); + it('updates correct cli-inputs', async () => { + updateRequestStub.serviceModification.additionalAuthTypes = [{ mode: 'AWS_IAM' }, { mode: 'API_KEY' }]; + jest.spyOn(AppsyncApiInputState.prototype, 'saveCLIInputPayload'); + jest.spyOn(AppsyncApiInputState.prototype, 'getCLIInputPayload').mockReturnValue({ + serviceConfiguration: { + apiName: 'testApiName', + defaultAuthType: { expirationTime: 10, keyDescription: 'api key description', mode: 'API_KEY' }, + gqlSchemaPath: 'backendDirPath/api/testApiName/schema.graphql', + serviceName: 'AppSync', + }, + version: 1, + }); + await cfnApiArtifactHandler.updateArtifacts(updateRequestStub); + expect(AppsyncApiInputState.prototype.saveCLIInputPayload).toBeCalledWith({ + serviceConfiguration: { + additionalAuthTypes: [{ mode: 'AWS_IAM' }, { mode: 'API_KEY' }], + apiName: 'testApiName', + defaultAuthType: { expirationTime: 10, keyDescription: 'api key description', mode: 'API_KEY' }, + gqlSchemaPath: 'backendDirPath/api/testApiName/schema.graphql', + serviceName: 'AppSync', + }, + version: 1, + }); + }); + it('updates additional auth if not empty', async () => { updateRequestStub.serviceModification.additionalAuthTypes = [{ mode: 'AWS_IAM' }, { mode: 'API_KEY' }]; + jest.spyOn(AppsyncApiInputState.prototype, 'getCLIInputPayload').mockReturnValue({ + serviceConfiguration: { + apiName: 'testApiName', + defaultAuthType: { expirationTime: 10, keyDescription: 'api key description', mode: 'API_KEY' }, + gqlSchemaPath: 'backendDirPath/api/testApiName/schema.graphql', + serviceName: 'AppSync', + }, + version: 1, + }); + await cfnApiArtifactHandler.updateArtifacts(updateRequestStub); expect(context_stub.amplify.executeProviderUtils.mock.calls.length).toBe(1); expect(context_stub.amplify.executeProviderUtils.mock.calls[0][3].authConfig).toMatchSnapshot(); diff --git a/packages/amplify-category-api/src/__tests__/provider-utils/awscloudformation/utils/__snapshots__/get-appsync-auth-config.test.ts.snap b/packages/amplify-category-api/src/__tests__/provider-utils/awscloudformation/utils/__snapshots__/get-appsync-auth-config.test.ts.snap new file mode 100644 index 00000000000..438e5b8a642 --- /dev/null +++ b/packages/amplify-category-api/src/__tests__/provider-utils/awscloudformation/utils/__snapshots__/get-appsync-auth-config.test.ts.snap @@ -0,0 +1,28 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`test function with default and additional auth config 1`] = ` +Object { + "additionalAuthenticationProviders": Array [ + Object { + "apiKeyConfig": Object { + "apiKeyExpirationDate": undefined, + "apiKeyExpirationDays": 7, + "description": "", + }, + "authenticationType": "API_KEY", + }, + ], + "defaultAuthentication": Object { + "authenticationType": "AWS_IAM", + }, +} +`; + +exports[`test function with default auth config 1`] = ` +Object { + "additionalAuthenticationProviders": Array [], + "defaultAuthentication": Object { + "authenticationType": "AWS_IAM", + }, +} +`; diff --git a/packages/amplify-category-api/src/__tests__/provider-utils/awscloudformation/utils/get-appsync-auth-config.test.ts b/packages/amplify-category-api/src/__tests__/provider-utils/awscloudformation/utils/get-appsync-auth-config.test.ts new file mode 100644 index 00000000000..3441f4df77a --- /dev/null +++ b/packages/amplify-category-api/src/__tests__/provider-utils/awscloudformation/utils/get-appsync-auth-config.test.ts @@ -0,0 +1,55 @@ +import { getAuthConfig } from '../../../../provider-utils/awscloudformation/utils/get-appsync-auth-config'; + +const getCLIInputPayload_mock = jest + .fn() + .mockReturnValueOnce({ + version: 1, + serviceConfiguration: { + apiName: 'authv2migration1', + serviceName: 'AppSync', + gqlSchemaPath: 'mock/schema.graphql', + defaultAuthType: { + mode: 'AWS_IAM', + }, + conflictResolution: {}, + additionalAuthTypes: [], + }, + }) + .mockReturnValueOnce({ + version: 1, + serviceConfiguration: { + apiName: 'authv2migration1', + serviceName: 'AppSync', + gqlSchemaPath: 'mock/schema.graphql', + defaultAuthType: { + mode: 'AWS_IAM', + }, + conflictResolution: {}, + additionalAuthTypes: [ + { + mode: 'API_KEY', + expirationTime: 7, + keyDescription: '', + }, + ], + }, + }); + +jest.mock('../../../../provider-utils/awscloudformation/api-input-manager/appsync-api-input-state.ts', () => { + return { + AppsyncApiInputState: jest.fn().mockImplementation(() => { + return { + getCLIInputPayload: getCLIInputPayload_mock, + cliInputFileExists: jest.fn().mockReturnValue(true), + }; + }), + }; +}); + +test('test function with default auth config', async () => { + expect(await getAuthConfig('mockapiResource')).toMatchSnapshot(); +}); + +test('test function with default and additional auth config', async () => { + expect(await getAuthConfig('mockapiResource')).toMatchSnapshot(); +}); diff --git a/packages/amplify-category-api/src/__tests__/provider-utils/awscloudformation/utils/migrate-api-override-resource.test.ts b/packages/amplify-category-api/src/__tests__/provider-utils/awscloudformation/utils/migrate-api-override-resource.test.ts new file mode 100644 index 00000000000..b91d4049f35 --- /dev/null +++ b/packages/amplify-category-api/src/__tests__/provider-utils/awscloudformation/utils/migrate-api-override-resource.test.ts @@ -0,0 +1,79 @@ +import { JSONUtilities } from 'amplify-cli-core'; +import { migrateResourceToSupportOverride } from '../../../../provider-utils/awscloudformation/utils/migrate-api-override-resource'; +import * as path from 'path'; + +jest.mock('amplify-prompts'); +jest.mock('fs-extra'); + +jest.mock('amplify-cli-core', () => ({ + ...(jest.requireActual('amplify-cli-core') as {}), + pathManager: { + findProjectRoot: jest.fn().mockReturnValue('somePath'), + getBackendDirPath: jest.fn().mockReturnValue('mockProjectPath'), + getResourceDirectoryPath: jest.fn().mockReturnValue('mockProjectPath'), + }, + stateManager: { + getMeta: jest.fn().mockReturnValue({ + api: { + apiunittests: { + service: 'AppSync', + providerPlugin: 'awscloudformation', + output: { + authConfig: { + defaultAuthentication: { + authenticationType: 'AMAZON_COGNITO_USER_POOLS', + userPoolConfig: { + userPoolId: 'authapiunittests2778e848', + }, + }, + additionalAuthenticationProviders: [ + { + authenticationType: 'AWS_IAM', + }, + ], + }, + }, + }, + }, + }), + }, + JSONUtilities: { + readJson: jest.fn().mockReturnValue({ + ResolverConfig: { + project: { + ConflictHandler: 'AUTOMERGE', + ConflictDetection: 'VERSION', + }, + }, + }), + writeJson: jest.fn(), + }, +})); +test('migrate resource', async () => { + const resourceName = 'apiunittests'; + migrateResourceToSupportOverride(resourceName); + const expectedPath = path.join('mockProjectPath', 'cli-inputs.json'); + const expectedPayload = { + version: 1, + serviceConfiguration: { + serviceName: 'AppSync', + defaultAuthType: { + mode: 'AMAZON_COGNITO_USER_POOLS', + cognitoUserPoolId: 'authapiunittests2778e848', + }, + additionalAuthTypes: [ + { + mode: 'AWS_IAM', + }, + ], + conflictResolution: { + defaultResolutionStrategy: { + type: 'AUTOMERGE', + }, + }, + apiName: 'apiunittests', + gqlSchemaPath: 'mockProjectPath/schema.graphql', + }, + }; + expect(JSONUtilities.writeJson).toBeCalledWith(expectedPath, expectedPayload); +}); diff --git a/packages/amplify-category-api/src/commands/api/migrate.ts b/packages/amplify-category-api/src/commands/api/migrate.ts index f5ea2857a11..63859fafa80 100644 --- a/packages/amplify-category-api/src/commands/api/migrate.ts +++ b/packages/amplify-category-api/src/commands/api/migrate.ts @@ -3,6 +3,7 @@ import { printer } from 'amplify-prompts'; import { attemptV2TransformerMigration, revertV2Migration } from '@aws-amplify/graphql-transformer-migrator'; import * as path from 'path'; import { category } from '../../category-constants'; +import { checkAppsyncApiResourceMigration } from '../../provider-utils/awscloudformation/utils/check-appsync-api-migration'; const subcommand = 'migrate'; @@ -28,6 +29,10 @@ export const run = async (context: $TSContext) => { const apiName = apiNames[0]; const apiResourceDir = path.join(pathManager.getBackendDirPath(), category, apiName); + if (await checkAppsyncApiResourceMigration(context, apiName, true)) { + await context.amplify.invokePluginMethod(context, 'awscloudformation', undefined, 'compileSchema', [context, { forceCompile: true }]); + } + if (context.parameters?.options?.revert) { await revertV2Migration(apiResourceDir, stateManager.getCurrentEnvName()); return; diff --git a/packages/amplify-category-api/src/commands/api/override.ts b/packages/amplify-category-api/src/commands/api/override.ts new file mode 100644 index 00000000000..857b80bd265 --- /dev/null +++ b/packages/amplify-category-api/src/commands/api/override.ts @@ -0,0 +1,68 @@ +import { + $TSContext, + AmplifyCategories, + AmplifySupportedService, + generateOverrideSkeleton, + pathManager, + stateManager, +} from 'amplify-cli-core'; +import { printer, prompter } from 'amplify-prompts'; +import * as path from 'path'; +import { checkAppsyncApiResourceMigration } from '../../provider-utils/awscloudformation/utils/check-appsync-api-migration'; + +export const name = 'override'; + +export const run = async (context: $TSContext) => { + const amplifyMeta = stateManager.getMeta(); + const apiResources: string[] = []; + + if (amplifyMeta[AmplifyCategories.API]) { + Object.keys(amplifyMeta[AmplifyCategories.API]).forEach(resourceName => { + apiResources.push(resourceName); + }); + } + + if (apiResources.length === 0) { + const errMessage = 'No resources to override. You need to add a resource.'; + printer.error(errMessage); + return; + } + + let selectedResourceName: string = apiResources[0]; + + if (apiResources.length > 1) { + selectedResourceName = await prompter.pick('Which resource would you like to add overrides for?', apiResources); + } + + const { service }: { service: string } = amplifyMeta[AmplifyCategories.API][selectedResourceName]; + const destPath = pathManager.getResourceDirectoryPath(undefined, AmplifyCategories.API, selectedResourceName); + + const srcPath = path.join( + __dirname, + '..', + '..', + '..', + 'resources', + 'awscloudformation', + 'overrides-resource', + service === AmplifySupportedService.APIGW ? 'APIGW' : service, // avoid space in filename + ); + + // Make sure to migrate first + if (service === AmplifySupportedService.APPSYNC) { + /** + * Below steps checks for TransformerV1 app and updates the FF { useexperimentalpipelinedtransformer , transformerversion} + */ + const transformerVersion = await context.amplify.invokePluginMethod(context, 'awscloudformation', undefined, 'getTransformerVersion', [ + context, + ]); + if (transformerVersion === 2 && (await checkAppsyncApiResourceMigration(context, selectedResourceName, false))) { + await context.amplify.invokePluginMethod(context, 'awscloudformation', undefined, 'compileSchema', [context, { forceCompile: true }]); + await generateOverrideSkeleton(context, srcPath, destPath); + } else { + printer.warn( + 'The GraphQL API is using transformer version 1. Run `amplify migrate api` to upgrade to transformer version 2 and rerun amplify override api to enable override functionality for API', + ); + } + } +}; diff --git a/packages/amplify-category-api/src/index.ts b/packages/amplify-category-api/src/index.ts index 96ce70e2d74..bb93e0e9bb6 100644 --- a/packages/amplify-category-api/src/index.ts +++ b/packages/amplify-category-api/src/index.ts @@ -1,23 +1,35 @@ +import { + $TSContext, + $TSObject, + AmplifyCategories, + AmplifySupportedService, + buildOverrideDir, + pathManager, + stateManager, +} from 'amplify-cli-core'; +import { printer } from 'amplify-prompts'; import { validateAddApiRequest, validateUpdateApiRequest } from 'amplify-util-headless-input'; import fs from 'fs-extra'; import path from 'path'; import { run } from './commands/api/console'; +import { getAppSyncAuthConfig, getAppSyncResourceName } from './provider-utils/awscloudformation//utils/amplify-meta-utils'; import { getCfnApiArtifactHandler } from './provider-utils/awscloudformation/cfn-api-artifact-handler'; import { askAuthQuestions } from './provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough'; -import { getAppSyncResourceName, getAppSyncAuthConfig } from './provider-utils/awscloudformation//utils/amplify-meta-utils'; import { authConfigToAppSyncAuthType } from './provider-utils/awscloudformation/utils/auth-config-to-app-sync-auth-type-bi-di-mapper'; export { NETWORK_STACK_LOGICAL_ID } from './category-constants'; export { DEPLOYMENT_MECHANISM } from './provider-utils/awscloudformation/base-api-stack'; -export { EcsStack } from './provider-utils/awscloudformation/ecs-apigw-stack'; +export { getContainers } from './provider-utils/awscloudformation/docker-compose'; export { EcsAlbStack } from './provider-utils/awscloudformation/ecs-alb-stack'; -export { getGitHubOwnerRepoFromPath } from './provider-utils/awscloudformation/utils/github'; +export { EcsStack } from './provider-utils/awscloudformation/ecs-apigw-stack'; +export { promptToAddApiKey } from './provider-utils/awscloudformation/prompt-to-add-api-key'; export { - generateContainersArtifacts, ApiResource, + generateContainersArtifacts, processDockerConfig, } from './provider-utils/awscloudformation/utils/containers-artifacts'; -export { getContainers } from './provider-utils/awscloudformation/docker-compose'; -export { promptToAddApiKey } from './provider-utils/awscloudformation/prompt-to-add-api-key'; +export { getAuthConfig } from './provider-utils/awscloudformation/utils/get-appsync-auth-config'; +export { getResolverConfig } from './provider-utils/awscloudformation/utils/get-appsync-resolver-config'; +export { getGitHubOwnerRepoFromPath } from './provider-utils/awscloudformation/utils/github'; const category = 'api'; @@ -249,3 +261,31 @@ export async function addGraphQLAuthorizationMode(context, args) { return addAuthConfig; } + +export async function transformCategoryStack(context: $TSContext, resource: $TSObject) { + if (resource.service === AmplifySupportedService.APPSYNC) { + if (canResourceBeTransformed(resource.resourceName)) { + const backendDir = pathManager.getBackendDirPath(); + const overrideDir = path.join(backendDir, resource.category, resource.resourceName); + const isBuild = await buildOverrideDir(backendDir, overrideDir).catch(error => { + printer.debug(`Skipping build due to ${error.message}`); + return false; + }); + await context.amplify.invokePluginMethod(context, 'awscloudformation', undefined, 'compileSchema', [ + context, + { + forceCompile: true, + overrideConfig: { + overrideFlag: isBuild, + overrideDir: overrideDir, + resourceName: resource.resourceName, + }, + }, + ]); + } + } +} + +function canResourceBeTransformed(resourceName: string) { + return stateManager.resourceInputsJsonExists(undefined, AmplifyCategories.API, resourceName); +} diff --git a/packages/amplify-category-api/src/provider-utils/awscloudformation/api-input-manager/appsync-api-input-state.ts b/packages/amplify-category-api/src/provider-utils/awscloudformation/api-input-manager/appsync-api-input-state.ts new file mode 100644 index 00000000000..1d0af5e205a --- /dev/null +++ b/packages/amplify-category-api/src/provider-utils/awscloudformation/api-input-manager/appsync-api-input-state.ts @@ -0,0 +1,42 @@ +import { AmplifyCategories, AmplifySupportedService, CLIInputSchemaValidator, JSONUtilities, pathManager } from 'amplify-cli-core'; +import * as fs from 'fs-extra'; +import * as path from 'path'; +import { AppSyncCLIInputs } from '../service-walkthrough-types/appsync-user-input-types'; + +export class AppsyncApiInputState { + #cliInputsFilePath: string; //cli-inputs.json (output) filepath + #resourceName: string; //user friendly name provided by user + #category: string; //category of the resource + #service: string; //AWS service for the resource + #buildFilePath: string; + + constructor(resourceName: string) { + this.#category = AmplifyCategories.API; + this.#service = AmplifySupportedService.APPSYNC; + this.#resourceName = resourceName; + + const projectBackendDirPath = pathManager.getBackendDirPath(); + this.#cliInputsFilePath = path.resolve(path.join(projectBackendDirPath, this.#category, this.#resourceName, 'cli-inputs.json')); + this.#buildFilePath = path.resolve(path.join(projectBackendDirPath, this.#category, this.#resourceName, 'build')); + } + + public async isCLIInputsValid(cliInputs: AppSyncCLIInputs = this.getCLIInputPayload()): Promise { + const schemaValidator = new CLIInputSchemaValidator('appsync', this.#category, 'AppSyncCLIInputs'); + return schemaValidator.validateInput(JSON.stringify(cliInputs)); + } + + public getCLIInputPayload(): AppSyncCLIInputs { + return JSONUtilities.readJson(this.#cliInputsFilePath, { throwIfNotExist: true })!; + } + + public cliInputFileExists(): boolean { + return fs.existsSync(this.#cliInputsFilePath); + } + + public async saveCLIInputPayload(cliInputs: AppSyncCLIInputs): Promise { + if (await this.isCLIInputsValid(cliInputs)) { + fs.ensureDirSync(path.join(pathManager.getBackendDirPath(), this.#category, this.#resourceName)); + JSONUtilities.writeJson(this.#cliInputsFilePath, cliInputs); + } + } +} diff --git a/packages/amplify-category-api/src/provider-utils/awscloudformation/cfn-api-artifact-handler.ts b/packages/amplify-category-api/src/provider-utils/awscloudformation/cfn-api-artifact-handler.ts index d18bbae607a..f07a57d7036 100644 --- a/packages/amplify-category-api/src/provider-utils/awscloudformation/cfn-api-artifact-handler.ts +++ b/packages/amplify-category-api/src/provider-utils/awscloudformation/cfn-api-artifact-handler.ts @@ -2,6 +2,7 @@ import { isResourceNameUnique } from 'amplify-cli-core'; import { AddApiRequest, AppSyncServiceConfiguration, + AppSyncServiceModification, ConflictResolution, ResolutionStrategy, UpdateApiRequest, @@ -13,7 +14,9 @@ import * as path from 'path'; import uuid from 'uuid'; import { category } from '../../category-constants'; import { ApiArtifactHandler, ApiArtifactHandlerOptions } from '../api-artifact-handler'; +import { AppsyncApiInputState } from './api-input-manager/appsync-api-input-state'; import { cfnParametersFilename, gqlSchemaFilename, provider, rootAssetDir } from './aws-constants'; +import { AppSyncCLIInputs, AppSyncServiceConfig } from './service-walkthrough-types/appsync-user-input-types'; import { authConfigHasApiKey, checkIfAuthExists, getAppSyncAuthConfig, getAppSyncResourceName } from './utils/amplify-meta-utils'; import { appSyncAuthTypeToAuthConfig } from './utils/auth-config-to-app-sync-auth-type-bi-di-mapper'; import { printApiKeyWarnings } from './utils/print-api-key-warnings'; @@ -70,9 +73,10 @@ class CfnApiArtifactHandler implements ApiArtifactHandler { await this.updateTransformerConfigVersion(resourceDir); serviceConfig.conflictResolution = await this.createResolverResources(serviceConfig.conflictResolution); - await writeResolverConfig(serviceConfig.conflictResolution, resourceDir); + const appsyncCLIInputs = await this.generateAppsyncCLIInputs(serviceConfig, resourceDir); + // Write the default custom resources stack out to disk. fs.copyFileSync( path.join(rootAssetDir, 'cloudformation-templates', 'defaultCustomResources.json'), @@ -80,9 +84,9 @@ class CfnApiArtifactHandler implements ApiArtifactHandler { ); // write the template buffer to the project folder - this.writeSchema(resourceDir, serviceConfig.transformSchema); + this.writeSchema(appsyncCLIInputs.serviceConfiguration.gqlSchemaPath, serviceConfig.transformSchema); - const authConfig = this.extractAuthConfig(serviceConfig); + const authConfig = this.extractAuthConfig(appsyncCLIInputs.serviceConfiguration); await this.context.amplify.executeProviderUtils(this.context, 'awscloudformation', 'compileSchema', { resourceDir, @@ -103,11 +107,13 @@ class CfnApiArtifactHandler implements ApiArtifactHandler { throw new Error(`No AppSync API configured in the project. Use 'amplify add api' to create an API.`); } const resourceDir = this.getResourceDir(apiName); + // update appsync cli-inputs + const appsyncCLIInputs = await this.updateAppsyncCLIInputs(updates, apiName); if (updates.transformSchema) { - this.writeSchema(resourceDir, updates.transformSchema); + this.writeSchema(appsyncCLIInputs.serviceConfiguration.gqlSchemaPath, updates.transformSchema); } if (updates.conflictResolution) { - updates.conflictResolution = await this.createResolverResources(updates.conflictResolution); + updates.conflictResolution = await this.createResolverResources(appsyncCLIInputs.serviceConfiguration.conflictResolution); await writeResolverConfig(updates.conflictResolution, resourceDir); } const authConfig = getAppSyncAuthConfig(this.context.amplify.getProjectMeta()); @@ -115,10 +121,11 @@ class CfnApiArtifactHandler implements ApiArtifactHandler { const oldConfigHadApiKey = authConfigHasApiKey(authConfig); if (updates.defaultAuthType) { - authConfig.defaultAuthentication = appSyncAuthTypeToAuthConfig(updates.defaultAuthType); + authConfig.defaultAuthentication = appSyncAuthTypeToAuthConfig(appsyncCLIInputs.serviceConfiguration.defaultAuthType); } if (updates.additionalAuthTypes) { - authConfig.additionalAuthenticationProviders = updates.additionalAuthTypes.map(appSyncAuthTypeToAuthConfig); + authConfig.additionalAuthenticationProviders = + appsyncCLIInputs.serviceConfiguration.additionalAuthTypes.map(appSyncAuthTypeToAuthConfig); } if (!opts?.skipCompile) { @@ -136,7 +143,7 @@ class CfnApiArtifactHandler implements ApiArtifactHandler { }; private writeSchema = (resourceDir: string, schema: string) => { - fs.writeFileSync(path.join(resourceDir, gqlSchemaFilename), schema); + fs.writeFileSync(resourceDir, schema); }; private getResourceDir = (apiName: string) => path.join(this.context.amplify.pathManager.getBackendDirPath(), category, apiName); @@ -149,7 +156,7 @@ class CfnApiArtifactHandler implements ApiArtifactHandler { }, }); - private extractAuthConfig = (config: AppSyncServiceConfiguration) => ({ + private extractAuthConfig = (config: AppSyncServiceConfig) => ({ defaultAuthentication: appSyncAuthTypeToAuthConfig(config.defaultAuthType), additionalAuthenticationProviders: (config.additionalAuthTypes || []).map(appSyncAuthTypeToAuthConfig), }); @@ -263,6 +270,50 @@ class CfnApiArtifactHandler implements ApiArtifactHandler { return functionName + '-${env}'; }; + + private generateAppsyncCLIInputs = async (serviceConfig: AppSyncServiceConfiguration, resourceDir: string) => { + const appsyncCLIInputs: AppSyncCLIInputs = { + version: 1, + serviceConfiguration: { + apiName: serviceConfig.apiName, + serviceName: serviceConfig.serviceName, + gqlSchemaPath: path.join(resourceDir, gqlSchemaFilename), + defaultAuthType: serviceConfig.defaultAuthType, + }, + }; + if (!_.isEmpty(serviceConfig.additionalAuthTypes)) { + appsyncCLIInputs.serviceConfiguration.additionalAuthTypes = serviceConfig.additionalAuthTypes; + } + + if (!_.isEmpty(serviceConfig.conflictResolution)) { + appsyncCLIInputs.serviceConfiguration.conflictResolution = { + defaultResolutionStrategy: serviceConfig.conflictResolution.defaultResolutionStrategy, + perModelResolutionStrategy: serviceConfig.conflictResolution.perModelResolutionStrategy, + }; + } + // deploy appsync inputs + const cliState = new AppsyncApiInputState(serviceConfig.apiName); + cliState.saveCLIInputPayload(appsyncCLIInputs); + return appsyncCLIInputs; + }; + + private updateAppsyncCLIInputs = async (updates: AppSyncServiceModification, apiName: string) => { + const cliState = new AppsyncApiInputState(apiName); + const prevAppsyncInputs = cliState.getCLIInputPayload(); + + const appsyncInputs: AppSyncCLIInputs = prevAppsyncInputs; + if (!_.isEmpty(updates.conflictResolution)) { + appsyncInputs.serviceConfiguration.conflictResolution = updates.conflictResolution; + } + if (!_.isEmpty(updates.defaultAuthType)) { + appsyncInputs.serviceConfiguration.defaultAuthType = updates.defaultAuthType; + } + if (!_.isEmpty(updates.additionalAuthTypes)) { + appsyncInputs.serviceConfiguration.additionalAuthTypes = updates.additionalAuthTypes; + } + cliState.saveCLIInputPayload(appsyncInputs); + return appsyncInputs; + }; } /** diff --git a/packages/amplify-category-api/src/provider-utils/awscloudformation/index.ts b/packages/amplify-category-api/src/provider-utils/awscloudformation/index.ts index 4ee7ce6fee8..cbe98d5b662 100644 --- a/packages/amplify-category-api/src/provider-utils/awscloudformation/index.ts +++ b/packages/amplify-category-api/src/provider-utils/awscloudformation/index.ts @@ -5,7 +5,7 @@ import { legacyAddResource } from './legacy-add-resource'; import { legacyUpdateResource } from './legacy-update-resource'; import { UpdateApiRequest } from 'amplify-headless-interface'; import { editSchemaFlow } from './utils/edit-schema-flow'; -import { NotImplementedError, exitOnNextTick } from 'amplify-cli-core'; +import { NotImplementedError, exitOnNextTick, $TSAny } from 'amplify-cli-core'; import { addResource as addContainer, updateResource as updateContainer } from './containers-handler'; import inquirer from 'inquirer'; import { @@ -45,7 +45,7 @@ async function addNonContainerResource(context, category, service, options) { const { serviceWalkthroughFilename, defaultValuesFilename } = serviceMetadata; const serviceWalkthrough = await getServiceWalkthrough(serviceWalkthroughFilename); - const serviceWalkthroughPromise: Promise = serviceWalkthrough(context, defaultValuesFilename, serviceMetadata); + const serviceWalkthroughPromise: Promise<$TSAny> = serviceWalkthrough(context, defaultValuesFilename, serviceMetadata); switch (service) { case 'AppSync': const walkthroughResult = await serviceWalkthroughPromise; @@ -140,12 +140,8 @@ export async function updateResource(context, category, service, options) { let useContainerResource = false; let apiType = API_TYPE.GRAPHQL; if (allowContainers && isContainersEnabled(context)) { - const { - hasAPIGatewayContainerResource, - hasAPIGatewayLambdaResource, - hasGraphQLAppSyncResource, - hasGraphqlContainerResource, - } = await describeApiResourcesBySubCategory(context); + const { hasAPIGatewayContainerResource, hasAPIGatewayLambdaResource, hasGraphQLAppSyncResource, hasGraphqlContainerResource } = + await describeApiResourcesBySubCategory(context); switch (service) { case 'AppSync': diff --git a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthrough-types/appsync-user-input-types.ts b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthrough-types/appsync-user-input-types.ts new file mode 100644 index 00000000000..81480d62d04 --- /dev/null +++ b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthrough-types/appsync-user-input-types.ts @@ -0,0 +1,175 @@ +/** + * Defines the json object expected by `amplify api category + */ +export interface AppSyncCLIInputs { + /** + * The schema version. + */ + version: 1; + /** + * The service configuration that will be interpreted by Amplify. + */ + serviceConfiguration: AppSyncServiceConfig; +} + +/** + * Configuration exposed by AppSync. Currently this is the only API type supported by Amplify headless mode. + */ +export interface AppSyncServiceConfig { + /** + * The service name of the resource provider. + */ + serviceName: 'AppSync'; + /** + * The name of the API that will be created. + */ + apiName: string; + /** + * Path to GraphQL schema that defines the AppSync API. + */ + gqlSchemaPath: string; + /** + * The auth type that will be used by default. + */ + defaultAuthType: AppSyncAuthType; + /** + * Additional methods of authenticating API requests. + */ + additionalAuthTypes?: AppSyncAuthType[]; + /** + * The strategy for resolving API write conflicts. + */ + conflictResolution?: ConflictResolution; +} + +/** + * Defines a strategy for resolving API write conflicts. + */ +export interface ConflictResolution { + /** + * The strategy that will be used for all models by default. + */ + defaultResolutionStrategy?: ResolutionStrategy; + /** + * Strategies that will be used for individual models. + */ + perModelResolutionStrategy?: PerModelResolutionstrategy[]; +} + +/** + * Defines a resolution strategy for a single model. + */ +export interface PerModelResolutionstrategy { + /** + * The resolution strategy for the model. + */ + resolutionStrategy: ResolutionStrategy; + /** + * The model name. + */ + entityName: string; +} + +/** + * Resolution strategies provided by AppSync. See https://docs.aws.amazon.com/appsync/latest/devguide/conflict-detection-and-sync.html for details. + */ +export interface PredefinedResolutionStrategy { + type: 'OPTIMISTIC_CONCURRENCY' | 'AUTOMERGE' | 'NONE'; +} + +/** + * Resolution strategy using a custom lambda function. + */ +export interface LambdaResolutionStrategy { + type: 'LAMBDA'; + /** + * The lambda function used to resolve conflicts. + */ + resolver: LambdaConflictResolver; +} + +export type LambdaConflictResolver = NewLambdaConflictResolver | ExistingLambdaConflictResolver; + +/** + * Defines a new lambda conflict resolver. Using this resolver type will create a new lambda function with boilerplate resolver logic. + */ +export interface NewLambdaConflictResolver { + type: 'NEW'; +} + +/** + * Defines an lambda conflict resolver that uses an existing lambda function. + */ +export interface ExistingLambdaConflictResolver { + type: 'EXISTING'; + /** + * The name of the lambda function (this must be a lambda function that exists in the Amplify project). + */ + name: string; + /** + * The lambda function region. + */ + region?: string; + /** + * A lambda function ARN. This could be an ARN outside of the Amplify project but in that case extra care must be taken to ensure the AppSync API has access to the Lambda. + */ + arn?: string; +} + +export type ResolutionStrategy = PredefinedResolutionStrategy | LambdaResolutionStrategy; + +export type AppSyncAuthType = + | AppSyncAPIKeyAuthType + | AppSyncAWSIAMAuthType + | AppSyncCognitoUserPoolsAuthType + | AppSyncOpenIDConnectAuthType + | AppSyncLambdaAuthType; + +/** + * Specifies that the AppSync API should be secured using an API key. + */ +export interface AppSyncAPIKeyAuthType { + mode: 'API_KEY'; + expirationTime?: number; + apiKeyExpirationDate?: Date; + keyDescription?: string; +} + +/** + * Specifies that the AppSync API should be secured using AWS IAM. + */ +export interface AppSyncAWSIAMAuthType { + mode: 'AWS_IAM'; +} + +/** + * Specifies that the AppSync API should be secured using Cognito. + */ +export interface AppSyncCognitoUserPoolsAuthType { + mode: 'AMAZON_COGNITO_USER_POOLS'; + /** + * The user pool that will be used to authenticate requests. + */ + cognitoUserPoolId?: string; +} + +/** + * Specifies that the AppSync API should be secured using OpenID. + */ +export interface AppSyncOpenIDConnectAuthType { + mode: 'OPENID_CONNECT'; + openIDProviderName: string; + openIDIssuerURL: string; + openIDClientID: string; + openIDAuthTTL?: string; + openIDIatTTL?: string; +} + +/** + * Specifies that the AppSync API should be secured using Lambda. + */ +export interface AppSyncLambdaAuthType { + mode: 'AWS_LAMBDA'; + lambdaFunction: string; + ttlSeconds?: string; +} diff --git a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts index 52de5b0701e..1faa24036c1 100644 --- a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts +++ b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts @@ -1,30 +1,31 @@ -import { ListQuestion, CheckboxQuestion, ListChoiceOptions } from 'inquirer'; -import { dataStoreLearnMore } from '../sync-conflict-handler-assets/syncAssets'; -import inquirer from 'inquirer'; -import fs from 'fs-extra'; -import path from 'path'; -import { rootAssetDir, provider } from '../aws-constants'; -import { collectDirectivesByTypeNames, readProjectConfiguration } from 'graphql-transformer-core'; -import { category } from '../../../category-constants'; -import { UpdateApiRequest } from '../../../../../amplify-headless-interface/lib/interface/api/update'; -import { authConfigToAppSyncAuthType } from '../utils/auth-config-to-app-sync-auth-type-bi-di-mapper'; -import { resolverConfigToConflictResolution } from '../utils/resolver-config-to-conflict-resolution-bi-di-mapper'; -import _ from 'lodash'; -import chalk from 'chalk'; -import uuid from 'uuid'; -import { getAppSyncAuthConfig, checkIfAuthExists, authConfigHasApiKey } from '../utils/amplify-meta-utils'; +import { Duration, Expiration } from '@aws-cdk/core'; import { - ResourceAlreadyExistsError, - ResourceDoesNotExistError, - UnknownResourceTypeError, + $TSContext, exitOnNextTick, - stateManager, FeatureFlags, - $TSContext, open, + ResourceAlreadyExistsError, + ResourceDoesNotExistError, + stateManager, + UnknownResourceTypeError, } from 'amplify-cli-core'; -import { Duration, Expiration } from '@aws-cdk/core'; +import { printer } from 'amplify-prompts'; +import chalk from 'chalk'; +import fs from 'fs-extra'; +import { collectDirectivesByTypeNames, readProjectConfiguration } from 'graphql-transformer-core'; +import inquirer, { CheckboxQuestion, ListChoiceOptions, ListQuestion } from 'inquirer'; +import _ from 'lodash'; +import path from 'path'; +import uuid from 'uuid'; +import { UpdateApiRequest } from '../../../../../amplify-headless-interface/lib/interface/api/update'; +import { category } from '../../../category-constants'; +import { provider, rootAssetDir } from '../aws-constants'; +import { dataStoreLearnMore } from '../sync-conflict-handler-assets/syncAssets'; +import { authConfigHasApiKey, checkIfAuthExists, getAppSyncAuthConfig } from '../utils/amplify-meta-utils'; +import { authConfigToAppSyncAuthType } from '../utils/auth-config-to-app-sync-auth-type-bi-di-mapper'; +import { checkAppsyncApiResourceMigration } from '../utils/check-appsync-api-migration'; import { defineGlobalSandboxMode } from '../utils/global-sandbox-mode'; +import { resolverConfigToConflictResolution } from '../utils/resolver-config-to-conflict-resolution-bi-di-mapper'; const serviceName = 'AppSync'; const elasticContainerServiceName = 'ElasticContainer'; @@ -459,6 +460,14 @@ export const updateWalkthrough = async (context): Promise => { exitOnNextTick(0); } + // migrate API project + if (await checkAppsyncApiResourceMigration(context, resourceName, true)) { + await context.amplify.invokePluginMethod(context, 'awscloudformation', undefined, 'compileSchema', [context, { forceCompile: true }]); + } else { + printer.error('Update operations only work on migrated projects. Run "amplify update api" and opt for migration.'); + exitOnNextTick(0); + } + // Get models const project = await readProjectConfiguration(resourceDir); let resolverConfig = project.config.ResolverConfig; diff --git a/packages/amplify-category-api/src/provider-utils/awscloudformation/utils/check-appsync-api-migration.ts b/packages/amplify-category-api/src/provider-utils/awscloudformation/utils/check-appsync-api-migration.ts new file mode 100644 index 00000000000..576956442dd --- /dev/null +++ b/packages/amplify-category-api/src/provider-utils/awscloudformation/utils/check-appsync-api-migration.ts @@ -0,0 +1,19 @@ +import { $TSContext, AmplifyCategories, getMigrateResourceMessageForOverride } from 'amplify-cli-core'; +import { printer, prompter } from 'amplify-prompts'; +import { AppsyncApiInputState } from '../api-input-manager/appsync-api-input-state'; +import { migrateResourceToSupportOverride } from './migrate-api-override-resource'; + +export const checkAppsyncApiResourceMigration = async (context: $TSContext, apiName: string, isUpdate: boolean): Promise => { + const cliState = new AppsyncApiInputState(apiName); + if (!cliState.cliInputFileExists()) { + printer.debug('cli-inputs.json doesnt exist'); + const headlessMigrate = context.input.options?.yes || context.input.options?.forcePush || context.input.options?.headless; + if (headlessMigrate || (await prompter.yesOrNo(getMigrateResourceMessageForOverride(AmplifyCategories.API, apiName, isUpdate), true))) { + // generate cli-inputs for migration from parameters.json + await migrateResourceToSupportOverride(apiName); + return true; + } + return false; + } + return true; +}; diff --git a/packages/amplify-category-api/src/provider-utils/awscloudformation/utils/get-appsync-auth-config.ts b/packages/amplify-category-api/src/provider-utils/awscloudformation/utils/get-appsync-auth-config.ts new file mode 100644 index 00000000000..7fb7eb88b29 --- /dev/null +++ b/packages/amplify-category-api/src/provider-utils/awscloudformation/utils/get-appsync-auth-config.ts @@ -0,0 +1,18 @@ +import { AppsyncApiInputState } from '../api-input-manager/appsync-api-input-state'; +import { appSyncAuthTypeToAuthConfig } from './auth-config-to-app-sync-auth-type-bi-di-mapper'; + +/** + * + * @param resourceName + * @returns authConfig + */ +export const getAuthConfig = async (resourceName: string) => { + const cliState = new AppsyncApiInputState(resourceName); + if (cliState.cliInputFileExists()) { + const appsyncInputs = cliState.getCLIInputPayload().serviceConfiguration; + return { + defaultAuthentication: appSyncAuthTypeToAuthConfig(appsyncInputs.defaultAuthType), + additionalAuthenticationProviders: (appsyncInputs.additionalAuthTypes || []).map(appSyncAuthTypeToAuthConfig), + }; + } +}; diff --git a/packages/amplify-category-api/src/provider-utils/awscloudformation/utils/get-appsync-resolver-config.ts b/packages/amplify-category-api/src/provider-utils/awscloudformation/utils/get-appsync-resolver-config.ts new file mode 100644 index 00000000000..089952ffbcc --- /dev/null +++ b/packages/amplify-category-api/src/provider-utils/awscloudformation/utils/get-appsync-resolver-config.ts @@ -0,0 +1,15 @@ +import { AppsyncApiInputState } from '../api-input-manager/appsync-api-input-state'; +import { conflictResolutionToResolverConfig } from './resolver-config-to-conflict-resolution-bi-di-mapper'; + +/** + * + * @param resourceName + * @returns resolverConfig + */ +export const getResolverConfig = async (resourceName: string) => { + const cliState = new AppsyncApiInputState(resourceName); + if (cliState.cliInputFileExists()) { + const appsyncInputs = cliState.getCLIInputPayload().serviceConfiguration; + return conflictResolutionToResolverConfig(appsyncInputs.conflictResolution); + } +}; diff --git a/packages/amplify-category-api/src/provider-utils/awscloudformation/utils/migrate-api-override-resource.ts b/packages/amplify-category-api/src/provider-utils/awscloudformation/utils/migrate-api-override-resource.ts new file mode 100644 index 00000000000..db91a37cdce --- /dev/null +++ b/packages/amplify-category-api/src/provider-utils/awscloudformation/utils/migrate-api-override-resource.ts @@ -0,0 +1,120 @@ +import { + $TSAny, + AmplifyCategories, + JSONUtilities, + NotInitializedError, + pathManager, + ResourceDoesNotExistError, + stateManager, +} from 'amplify-cli-core'; +import { printer } from 'amplify-prompts'; +import * as fs from 'fs-extra'; +import { ResolverConfig } from 'graphql-transformer-core'; +import _ from 'lodash'; +import * as path from 'path'; +import uuid from 'uuid'; +import { gqlSchemaFilename } from '../aws-constants'; +import { AppSyncCLIInputs } from '../service-walkthrough-types/appsync-user-input-types'; +import { authConfigToAppSyncAuthType } from './auth-config-to-app-sync-auth-type-bi-di-mapper'; +import { resolverConfigToConflictResolution } from './resolver-config-to-conflict-resolution-bi-di-mapper'; + +type ApiMetaData = { + resourceName: string; + authConfig: $TSAny; + resolverConfig: ResolverConfig; +}; +export const migrateResourceToSupportOverride = async (resourceName: string) => { + printer.debug('Starting Migration Process'); + /** + * backup resource folder + * get parameters.json + * generate and save cliInputs + * return cliInputs + * */ + const projectPath = pathManager.findProjectRoot(); + if (!projectPath) { + // New project, hence not able to find the amplify dir + throw new NotInitializedError(); + } + const apiresourceDirPath = pathManager.getResourceDirectoryPath(undefined, AmplifyCategories.API, resourceName); + const backupApiResourceFolder = backup(apiresourceDirPath, projectPath, resourceName); + + try { + let resolverConfig = {}; + const transformConfig = + JSONUtilities.readJson(path.join(apiresourceDirPath, 'transform.conf.json'), { throwIfNotExist: false }) ?? {}; + if (!_.isEmpty(transformConfig) && !_.isEmpty(transformConfig!.ResolverConfig)) { + resolverConfig = transformConfig!.ResolverConfig; + } + const authConfig = stateManager.getMeta()[AmplifyCategories.API][resourceName].output.authConfig; + if (_.isEmpty(authConfig)) { + throw new ResourceDoesNotExistError( + `auth configuration not present for ${resourceName}. Try amplify pull to sync your folder structure`, + ); + } + const parameters: ApiMetaData = { + authConfig, + resolverConfig, + resourceName, + }; + // convert parameters.json to cli-inputs.json + const cliInputs = generateCliInputs(parameters, apiresourceDirPath); + const cliInputsPath = path.join(apiresourceDirPath, 'cli-inputs.json'); + JSONUtilities.writeJson(cliInputsPath, cliInputs); + printer.debug('Migration is Successful'); + } catch (e) { + printer.error('There was an error migrating your project.'); + rollback(apiresourceDirPath, backupApiResourceFolder); + printer.debug('migration operations are rolled back.'); + throw e; + } finally { + cleanUp(backupApiResourceFolder); + } +}; + +function backup(authresourcePath: string, projectPath: string, resourceName: string) { + if (fs.existsSync(authresourcePath)) { + const backupauthResourceDirName = `${resourceName}-BACKUP-${uuid().split('-')[0]}`; + const backupauthResourceDirPath = path.join(projectPath, backupauthResourceDirName); + + if (fs.existsSync(backupauthResourceDirPath)) { + const error = new Error(`Backup folder at ${backupauthResourceDirPath} already exists, remove the folder and retry the operation.`); + + error.name = 'BackupFolderAlreadyExist'; + error.stack = undefined; + + throw error; + } + + fs.copySync(authresourcePath, backupauthResourceDirPath); + return backupauthResourceDirPath; + } +} + +function rollback(authresourcePath: string, backupauthResourceDirPath: string) { + if (fs.existsSync(authresourcePath) && fs.existsSync(backupauthResourceDirPath)) { + fs.removeSync(authresourcePath); + fs.moveSync(backupauthResourceDirPath, authresourcePath); + } +} + +function cleanUp(authresourcePath: string | undefined) { + if (!!authresourcePath && fs.existsSync(authresourcePath)) fs.removeSync(authresourcePath); +} + +const generateCliInputs = (parameters: ApiMetaData, apiResourceDir: string): AppSyncCLIInputs => { + return { + version: 1, + serviceConfiguration: { + serviceName: 'AppSync', + defaultAuthType: authConfigToAppSyncAuthType(parameters.authConfig ? parameters.authConfig.defaultAuthentication : undefined), + additionalAuthTypes: + parameters.authConfig && parameters.authConfig.additionalAuthenticationProviders + ? parameters.authConfig.additionalAuthenticationProviders.map(authConfigToAppSyncAuthType) + : undefined, + conflictResolution: resolverConfigToConflictResolution(parameters.resolverConfig), + apiName: parameters.resourceName, + gqlSchemaPath: path.join(apiResourceDir, gqlSchemaFilename), + }, + }; +}; diff --git a/packages/amplify-category-api/tsconfig.json b/packages/amplify-category-api/tsconfig.json index 5a69dbb23d1..f0bed12bfd2 100644 --- a/packages/amplify-category-api/tsconfig.json +++ b/packages/amplify-category-api/tsconfig.json @@ -9,9 +9,11 @@ "exclude": [ "coverage", "lib", + "scripts", "resources/awscloudformation/lambdas", "resources/awscloudformation/container-templates", "resources/awscloudformation/graphql-lambda-authorizer", + "resources/awscloudformation/overrides-resource", "src/__tests__" ], "references": [ @@ -22,4 +24,4 @@ {"path": "../amplify-util-headless-input"}, {"path": "../amplify-graphql-transformer-migrator"}, ] -} +} \ No newline at end of file diff --git a/packages/amplify-category-auth/src/provider-utils/awscloudformation/utils/transform-user-pool-group.js b/packages/amplify-category-auth/src/provider-utils/awscloudformation/utils/transform-user-pool-group.js index db846679831..b30dd5d7c4e 100644 --- a/packages/amplify-category-auth/src/provider-utils/awscloudformation/utils/transform-user-pool-group.js +++ b/packages/amplify-category-auth/src/provider-utils/awscloudformation/utils/transform-user-pool-group.js @@ -41,7 +41,6 @@ async function transformUserPoolGroupSchema(context) { }); } }); - await generateUserPoolGroupStackTemplate(context, authResourceName); } diff --git a/packages/amplify-cli-core/src/cliConstants.ts b/packages/amplify-cli-core/src/cliConstants.ts index 6377fb2bdca..414eb57f3c3 100644 --- a/packages/amplify-cli-core/src/cliConstants.ts +++ b/packages/amplify-cli-core/src/cliConstants.ts @@ -38,9 +38,11 @@ export const AmplifySupportedService = { COGNITO: 'Cognito', COGNITOUSERPOOLGROUPS: 'Cognito-UserPool-Groups', LAMBDA: 'Lambda', + APPSYNC: 'AppSync', + APIGW: 'API gateway', }; -export const overriddenCategories = [AmplifyCategories.AUTH, AmplifyCategories.STORAGE, AmplifyCategories.CUSTOM]; +export const overriddenCategories = [AmplifyCategories.AUTH, AmplifyCategories.STORAGE, AmplifyCategories.CUSTOM, AmplifyCategories.API]; export type IAmplifyResource = { category: string; diff --git a/packages/amplify-cli-core/src/errors/index.ts b/packages/amplify-cli-core/src/errors/index.ts index 843b1ed657d..a6ecc764bf7 100644 --- a/packages/amplify-cli-core/src/errors/index.ts +++ b/packages/amplify-cli-core/src/errors/index.ts @@ -1,6 +1,5 @@ export class NotImplementedError extends Error {} export class ResourceAlreadyExistsError extends Error {} -export class ResourceDoesNotExistError extends Error {} export class ResourceCredentialsNotFoundError extends Error {} export class UnknownResourceTypeError extends Error {} export class UnknownArgumentError extends Error {} @@ -36,3 +35,12 @@ export class NotInitializedError extends Error { this.stack = undefined; } } + +export class ResourceDoesNotExistError extends Error { + public constructor(errMessage: string) { + super(); + this.name = 'ResourceDoesNotExistError'; + this.message = errMessage; + this.stack = undefined; + } +} diff --git a/packages/amplify-cli-core/src/state-manager/stateManager.ts b/packages/amplify-cli-core/src/state-manager/stateManager.ts index c9793622ceb..d92ecbcb51c 100644 --- a/packages/amplify-cli-core/src/state-manager/stateManager.ts +++ b/packages/amplify-cli-core/src/state-manager/stateManager.ts @@ -394,6 +394,14 @@ export class StateManager { return data ?? options?.default; }; + + resourceInputsJsonExists = (projectPath: string | undefined, category: string, resourceName: string): boolean => { + try { + return fs.existsSync(pathManager.getResourceInputsJsonFilePath(projectPath, category, resourceName)); + } catch (e) { + return false; + } + }; } export const stateManager = new StateManager(); diff --git a/packages/amplify-cli-core/tsconfig.json b/packages/amplify-cli-core/tsconfig.json index 8600fe26b93..a4a1243c4e5 100644 --- a/packages/amplify-cli-core/tsconfig.json +++ b/packages/amplify-cli-core/tsconfig.json @@ -3,5 +3,6 @@ "compilerOptions": { "outDir": "./lib", "rootDir": "./src", + "useUnknownInCatchVariables":false } } diff --git a/packages/amplify-cli-extensibility-helper/package.json b/packages/amplify-cli-extensibility-helper/package.json index a1748a12a17..2841d59213b 100644 --- a/packages/amplify-cli-extensibility-helper/package.json +++ b/packages/amplify-cli-extensibility-helper/package.json @@ -33,6 +33,8 @@ "@aws-cdk/aws-iam": "~1.124.0", "@aws-cdk/aws-lambda": "~1.124.0", "@aws-cdk/aws-s3": "~1.124.0", + "@aws-cdk/aws-appsync": "~1.124.0", + "@aws-cdk/aws-elasticsearch":"~1.124.0", "@aws-cdk/core": "~1.124.0", "amplify-cli-core": "2.3.3", "amplify-prompts": "1.5.1" diff --git a/packages/amplify-cli-extensibility-helper/src/index.ts b/packages/amplify-cli-extensibility-helper/src/index.ts index 78f5106e190..d825e520789 100644 --- a/packages/amplify-cli-extensibility-helper/src/index.ts +++ b/packages/amplify-cli-extensibility-helper/src/index.ts @@ -4,5 +4,6 @@ import { addCDKResourceDependency } from '@aws-amplify/amplify-category-custom'; export { AmplifyDDBResourceTemplate, AmplifyS3ResourceTemplate, AmplifyCDKL1 } from './types/storage/types'; import { getProjectInfo } from './helpers/project-info'; import { AmplifyResourceProps } from '@aws-amplify/amplify-category-custom'; +export { AppSyncServiceResourceStack } from './types/api/amplify-api-resource-stack-types'; export { getProjectInfo, addCDKResourceDependency as addResourceDependency, AmplifyResourceProps }; diff --git a/packages/amplify-cli-extensibility-helper/src/types/api/amplify-api-resource-stack-types.ts b/packages/amplify-cli-extensibility-helper/src/types/api/amplify-api-resource-stack-types.ts new file mode 100644 index 00000000000..2f99c7c0bdc --- /dev/null +++ b/packages/amplify-cli-extensibility-helper/src/types/api/amplify-api-resource-stack-types.ts @@ -0,0 +1,91 @@ +// Amplify generated Types for API - override.ts + +import { CfnApiKey, CfnDataSource, CfnFunctionConfiguration, CfnGraphQLApi, CfnGraphQLSchema, CfnResolver } from '@aws-cdk/aws-appsync'; +import { CfnTable } from '@aws-cdk/aws-dynamodb'; +import { CfnPolicy, CfnRole } from '@aws-cdk/aws-iam'; +import { CfnDomain } from '@aws-cdk/aws-elasticsearch'; +import { CfnFunction, CfnEventSourceMapping } from '@aws-cdk/aws-lambda'; +import { CfnStack } from '@aws-cdk/core'; + +// Base template +// Customer can use these params to mutate the Cloudformation for the resource + +export interface AppSyncServiceResourceStack { + // directives stack + api?: Partial; + models?: Partial>; + http?: Partial; + opensearch?: Partial; + function?: Partial; + predictions?: Partial; +} + +export type AppsyncApiStack = { + rootstack: CfnStack; + GraphQLAPI: CfnGraphQLApi; + GraphQLAPIDefaultApiKey?: CfnApiKey; + GraphQLAPITransformerSchema?: CfnGraphQLSchema; + GraphQLAPINONEDS?: CfnDataSource; + AmplifyDataStore?: CfnTable; + AmplifyDataStoreIAMRole?: CfnRole; + DynamoDBAccess?: CfnPolicy; +}; + +export type ModelDirectiveStack = AppsyncStackCommon & DDBModelDirectiveStack; + +export type AppsyncStackCommon = { + resolvers?: Record; + appsyncFunctions?: Record; +}; + +export type DDBModelDirectiveStack = { + modelStack?: CfnStack; + modelDDBTable?: CfnTable; + modelIamRole?: CfnRole; + modelIamRoleDefaultPolicy?: CfnPolicy; + dynamoDBAccess?: CfnPolicy; + modelDatasource?: CfnDataSource; + invokeLambdaFunction?: CfnPolicy; +}; + +export interface HttpsDirectiveStack { + httpsDataSource?: Record; + httpDataSourceServiceRole?: Record; + httpDataSourceServiceRoleDefaultPolicy?: Record; +} + +export interface OpenSearchDirectiveStack { + OpenSearchDataSource?: CfnDataSource; + OpenSearchAccessIAMRole?: CfnRole; + OpenSearchAccessIAMRoleDefaultPolicy?: CfnPolicy; + OpenSearchDomain?: CfnDomain; + OpenSearchStreamingLambdaIAMRole?: CfnRole; + OpenSearchStreamingLambdaIAMRoleDefaultPolicy?: CfnPolicy; + CloudwatchLogsAccess?: CfnPolicy; + OpenSearchStreamingLambdaFunction?: CfnFunction; + OpenSearchModelLambdaMapping?: Record; +} + +export interface FunctionDirectiveStack { + lambdaDataSource: Record; + lambdaDataSourceRole: Record; + lambdaDataSourceServiceRoleDefaultPolicy: Record; +} + +export interface PredictionsDirectiveStack { + RekognitionDataSource: CfnDataSource; + RekognitionDataSourceServiceRole: CfnRole; + TranslateDataSource: CfnDataSource; + translateTextAccess: CfnPolicy; + LambdaDataSource: CfnDataSource; + LambdaDataSourceServiceRole: CfnRole; + LambdaDataSourceServiceRoleDefaultPolicy: CfnPolicy; + TranslateDataSourceServiceRole: CfnRole; + predictionsLambdaIAMRole: CfnRole; + predictionsLambdaFunction: CfnFunction; + PredictionsLambdaAccess: CfnRole; + predictionsIAMRole: CfnRole; + PredictionsStorageAccess: CfnPolicy; + identifyTextAccess: CfnPolicy; + identifyLabelsAccess: CfnPolicy; +} diff --git a/packages/amplify-cli-extensibility-helper/tsconfig.json b/packages/amplify-cli-extensibility-helper/tsconfig.json index 83e4c6d2771..37bc52e80d5 100644 --- a/packages/amplify-cli-extensibility-helper/tsconfig.json +++ b/packages/amplify-cli-extensibility-helper/tsconfig.json @@ -6,6 +6,7 @@ }, "references": [ { "path": "../amplify-provider-awscloudformation" }, + { "path": "../amplify-category-api" }, { "path": "../amplify-category-auth" }, { "path": "../amplify-category-storage" }, { "path": "../amplify-category-custom" }, diff --git a/packages/amplify-cli/package.json b/packages/amplify-cli/package.json index 1ecd83313b9..d0829583f7b 100644 --- a/packages/amplify-cli/package.json +++ b/packages/amplify-cli/package.json @@ -39,7 +39,7 @@ "@aws-cdk/cloudformation-diff": "~1.124.0", "amplify-app": "4.2.4", "amplify-category-analytics": "3.2.4", - "amplify-category-api": "3.3.5", + "@aws-amplify/amplify-category-api": "1.0.0", "amplify-category-function": "3.3.3", "amplify-category-geo": "2.2.4", "amplify-category-hosting": "3.2.4", @@ -160,7 +160,7 @@ "api": { "name": "api", "type": "category", - "packageName": "amplify-category-api" + "packageName": "@aws-amplify/amplify-category-api" }, "auth": [ { diff --git a/packages/amplify-cli/src/__tests__/extensions/amplify-helpers/remove-resource.test.ts b/packages/amplify-cli/src/__tests__/extensions/amplify-helpers/remove-resource.test.ts index e2f1f8e2781..a8e904a8658 100644 --- a/packages/amplify-cli/src/__tests__/extensions/amplify-helpers/remove-resource.test.ts +++ b/packages/amplify-cli/src/__tests__/extensions/amplify-helpers/remove-resource.test.ts @@ -114,7 +114,7 @@ describe('remove-resource', () => { await expect(removeResource(context as any, 'api', 'test')).rejects.toBe('process.exit mock'); expect(printer.error).toBeCalledWith('No resources added for this category'); - expect(context.usageData.emitError).toBeCalledWith(new ResourceDoesNotExistError()); + expect(context.usageData.emitError).toBeCalledWith(new ResourceDoesNotExistError('No resources added for this category')); expect(exitOnNextTick).toBeCalledWith(1); }); @@ -292,7 +292,7 @@ describe('remove-resource', () => { ).rejects.toBe('process.exit mock'); expect(printer.error).toBeCalledWith('No resources added for this category'); - expect(context.usageData.emitError).toBeCalledWith(new ResourceDoesNotExistError()); + expect(context.usageData.emitError).toBeCalledWith(new ResourceDoesNotExistError('No resources added for this category')); expect(exitOnNextTick).toBeCalledWith(1); }); diff --git a/packages/amplify-cli/src/extensions/amplify-helpers/push-resources.ts b/packages/amplify-cli/src/extensions/amplify-helpers/push-resources.ts index e4c208bdedc..4c451608129 100644 --- a/packages/amplify-cli/src/extensions/amplify-helpers/push-resources.ts +++ b/packages/amplify-cli/src/extensions/amplify-helpers/push-resources.ts @@ -57,7 +57,10 @@ export async function pushResources( // building all CFN stacks here to get the resource Changes await generateDependentResourcesType(context); const resourcesToBuild: IAmplifyResource[] = await getResources(context); - await context.amplify.executeProviderUtils(context, 'awscloudformation', 'buildOverrides', { resourcesToBuild, forceCompile: true }); + context.amplify.executeProviderUtils(context, 'awscloudformation', 'buildOverrides', { + resourcesToBuild, + forceCompile: true, + }); let hasChanges: boolean = false; if (!rebuild) { diff --git a/packages/amplify-cli/src/extensions/amplify-helpers/remove-resource.ts b/packages/amplify-cli/src/extensions/amplify-helpers/remove-resource.ts index 4ee3d36c9e0..8aca1177f44 100644 --- a/packages/amplify-cli/src/extensions/amplify-helpers/remove-resource.ts +++ b/packages/amplify-cli/src/extensions/amplify-helpers/remove-resource.ts @@ -17,7 +17,7 @@ export async function forceRemoveResource(context: $TSContext, category: string, if (!amplifyMeta[category] || Object.keys(amplifyMeta[category]).length === 0) { printer.error('No resources added for this category'); - await context.usageData.emitError(new ResourceDoesNotExistError()); + await context.usageData.emitError(new ResourceDoesNotExistError('No resources added for this category')); exitOnNextTick(1); } @@ -47,7 +47,7 @@ export async function removeResource( Object.keys(amplifyMeta[category]).filter(r => amplifyMeta[category][r].mobileHubMigrated !== true).length === 0 ) { printer.error('No resources added for this category'); - await context.usageData.emitError(new ResourceDoesNotExistError()); + await context.usageData.emitError(new ResourceDoesNotExistError('No resources added for this category')); exitOnNextTick(1); } diff --git a/packages/amplify-container-hosting/lib/ElasticContainer/index.js b/packages/amplify-container-hosting/lib/ElasticContainer/index.js index a19956e57d8..040f3e7a2c7 100644 --- a/packages/amplify-container-hosting/lib/ElasticContainer/index.js +++ b/packages/amplify-container-hosting/lib/ElasticContainer/index.js @@ -6,7 +6,7 @@ const path = require('path'); const constants = require('../constants'); -const { EcsAlbStack, NETWORK_STACK_LOGICAL_ID, DEPLOYMENT_MECHANISM, processDockerConfig } = require('amplify-category-api'); +const { EcsAlbStack, NETWORK_STACK_LOGICAL_ID, DEPLOYMENT_MECHANISM, processDockerConfig } = require('@aws-amplify/amplify-category-api'); const { open } = require('amplify-cli-core'); const serviceName = 'ElasticContainer'; diff --git a/packages/amplify-container-hosting/package.json b/packages/amplify-container-hosting/package.json index 1be931a29f3..a5644e21a31 100644 --- a/packages/amplify-container-hosting/package.json +++ b/packages/amplify-container-hosting/package.json @@ -18,7 +18,7 @@ "test": "jest --coverage --passWithNoTests" }, "dependencies": { - "amplify-category-api": "3.3.5", + "@aws-amplify/amplify-category-api": "1.0.0", "chalk": "^4.1.1", "fs-extra": "^8.1.0", "inquirer": "^7.3.3", diff --git a/packages/amplify-e2e-core/src/init/overrideStack.ts b/packages/amplify-e2e-core/src/init/overrideStack.ts index 7cd69bd61b7..abbf2448067 100644 --- a/packages/amplify-e2e-core/src/init/overrideStack.ts +++ b/packages/amplify-e2e-core/src/init/overrideStack.ts @@ -35,3 +35,20 @@ export function amplifyOverrideAuth(cwd: string, settings: {}) { }); }); } + +export function amplifyOverrideApi(cwd: string, settings: any) { + return new Promise((resolve, reject) => { + const args = ['override', 'api']; + const chain = spawn(getCLIPath(), args, { cwd, stripColors: true }); + if (settings.isMigratedProject === true) { + chain.wait('Do you want to edit override.ts file now?').sendConfirmNo().sendEof(); + } + chain.run((err: Error) => { + if (!err) { + resolve({}); + } else { + reject(err); + } + }); + }); +} diff --git a/packages/amplify-e2e-tests/overrides/override-api.ts b/packages/amplify-e2e-tests/overrides/override-api.ts new file mode 100644 index 00000000000..f38fe270c80 --- /dev/null +++ b/packages/amplify-e2e-tests/overrides/override-api.ts @@ -0,0 +1,3 @@ +export function override(resource: any): any { + resource.api.GraphQLAPI.xrayEnabled = true; +} diff --git a/packages/amplify-e2e-tests/schemas/simple_model_override.graphql b/packages/amplify-e2e-tests/schemas/simple_model_override.graphql new file mode 100644 index 00000000000..fa565aa18ad --- /dev/null +++ b/packages/amplify-e2e-tests/schemas/simple_model_override.graphql @@ -0,0 +1,5 @@ +type Todo @model { + id: ID! + content: String + override: String +} diff --git a/packages/amplify-e2e-tests/src/__tests__/api_7.test.ts b/packages/amplify-e2e-tests/src/__tests__/api_7.test.ts new file mode 100644 index 00000000000..3c6ba9fa80a --- /dev/null +++ b/packages/amplify-e2e-tests/src/__tests__/api_7.test.ts @@ -0,0 +1,93 @@ +import { + addApiWithoutSchema, + addFeatureFlag, + amplifyOverrideApi, + amplifyPush, + amplifyPushOverride, + createNewProjectDir, + deleteProject, + deleteProjectDir, + getAppSyncApi, + getDDBTable, + getProjectMeta, + initJSProjectWithProfile, + updateApiSchema, +} from 'amplify-e2e-core'; +import * as fs from 'fs-extra'; +import path from 'path'; + +describe('amplify add api (GraphQL)', () => { + let projRoot: string; + let projFolderName: string; + beforeEach(async () => { + projFolderName = 'graphqlapi'; + projRoot = await createNewProjectDir(projFolderName); + }); + + afterEach(async () => { + const metaFilePath = path.join(projRoot, 'amplify', '#current-cloud-backend', 'amplify-meta.json'); + if (fs.existsSync(metaFilePath)) { + await deleteProject(projRoot); + } + deleteProjectDir(projRoot); + }); + + it('init a project and add the simple_model api with transformer version 1', async () => { + const envName = 'devtest'; + const projName = 'simplemodel'; + const cliInputsFilePath = path.join(projRoot, 'amplify', 'backend', 'api', `${projName}`, 'cli-inputs.json'); + await initJSProjectWithProfile(projRoot, { name: projName, envName }); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projName, 'simple_model.graphql'); + expect(fs.existsSync(cliInputsFilePath)).toBe(true); + + await amplifyPush(projRoot); + + const meta = getProjectMeta(projRoot); + const region = meta.providers.awscloudformation.Region; + const { output } = meta.api.simplemodel; + const { GraphQLAPIIdOutput, GraphQLAPIEndpointOutput, GraphQLAPIKeyOutput } = output; + const { graphqlApi } = await getAppSyncApi(GraphQLAPIIdOutput, region); + + expect(GraphQLAPIIdOutput).toBeDefined(); + expect(GraphQLAPIEndpointOutput).toBeDefined(); + expect(GraphQLAPIKeyOutput).toBeDefined(); + + expect(graphqlApi).toBeDefined(); + expect(graphqlApi.apiId).toEqual(GraphQLAPIIdOutput); + const tableName = `AmplifyDataStore-${graphqlApi.apiId}-${envName}`; + const error = { message: null }; + try { + const table = await getDDBTable(tableName, region); + expect(table).toBeUndefined(); + } catch (ex) { + Object.assign(error, ex); + } + expect(error).toBeDefined(); + expect(error.message).toContain(`${tableName} not found`); + + // dont migrate project here + await amplifyOverrideApi(projRoot, { isMigratedProject: false }); + updateApiSchema(projRoot, projName, 'simple_model_override.graphql'); + await amplifyPushOverride(projRoot); + // check overidden config + const overridenAppsyncApi = await getAppSyncApi(GraphQLAPIIdOutput, region); + expect(overridenAppsyncApi.graphqlApi).toBeDefined(); + expect(overridenAppsyncApi.graphqlApi.apiId).toEqual(GraphQLAPIIdOutput); + expect(overridenAppsyncApi.graphqlApi.xrayEnabled).toEqual(false); + + // override with FF flag + addFeatureFlag(projRoot, 'graphqltransformer', 'transformerversion', 2); + addFeatureFlag(projRoot, 'graphqltransformer', 'useexperimentalpipelinedtransformer', true); + await amplifyOverrideApi(projRoot, { isMigratedProject: true }); + const srcOverrideFilePath = path.join(__dirname, '..', '..', 'overrides', 'override-api.ts'); + const destOverrideFilePath = path.join(projRoot, 'amplify', 'backend', 'api', `${projName}`, 'override.ts'); + fs.copyFileSync(srcOverrideFilePath, destOverrideFilePath); + await amplifyPushOverride(projRoot); + // check overidden config + const overridenAppsyncApiOverrided = await getAppSyncApi(GraphQLAPIIdOutput, region); + expect(overridenAppsyncApiOverrided.graphqlApi).toBeDefined(); + expect(overridenAppsyncApiOverrided.graphqlApi.apiId).toEqual(GraphQLAPIIdOutput); + expect(overridenAppsyncApiOverrided.graphqlApi.xrayEnabled).toEqual(true); + }); +}); diff --git a/packages/amplify-graphiql-explorer/tsconfig.json b/packages/amplify-graphiql-explorer/tsconfig.json index c23d0b6893c..08009b89716 100644 --- a/packages/amplify-graphiql-explorer/tsconfig.json +++ b/packages/amplify-graphiql-explorer/tsconfig.json @@ -19,7 +19,8 @@ "noEmit": true, "jsx": "react-jsx", "noImplicitAny": false, - "noFallthroughCasesInSwitch": true + "noFallthroughCasesInSwitch": true, + "useUnknownInCatchVariables":false, }, "include": [ "src" diff --git a/packages/amplify-graphql-auth-transformer/src/__tests__/conflict-resolution.test.ts b/packages/amplify-graphql-auth-transformer/src/__tests__/conflict-resolution.test.ts index 7640e312ea4..cbae4047082 100644 --- a/packages/amplify-graphql-auth-transformer/src/__tests__/conflict-resolution.test.ts +++ b/packages/amplify-graphql-auth-transformer/src/__tests__/conflict-resolution.test.ts @@ -18,12 +18,11 @@ test('test single auth model is enabled with conflict resolution', () => { }, additionalAuthenticationProviders: [], }, - transformConfig: { - ResolverConfig: { - project: { - ConflictDetection: 'VERSION', - ConflictHandler: ConflictHandlerType.AUTOMERGE, - }, + transformConfig: {}, + resolverConfig: { + project: { + ConflictDetection: 'VERSION', + ConflictHandler: ConflictHandlerType.AUTOMERGE, }, }, transformers: [new ModelTransformer(), new AuthTransformer()], @@ -51,12 +50,11 @@ test('test multi auth model with conflict resolution', () => { }, additionalAuthenticationProviders: [{ authenticationType: 'AWS_IAM' }], }, - transformConfig: { - ResolverConfig: { - project: { - ConflictDetection: 'VERSION', - ConflictHandler: ConflictHandlerType.AUTOMERGE, - }, + transformConfig: {}, + resolverConfig: { + project: { + ConflictDetection: 'VERSION', + ConflictHandler: ConflictHandlerType.AUTOMERGE, }, }, transformers: [new ModelTransformer(), new AuthTransformer()], diff --git a/packages/amplify-graphql-function-transformer/package.json b/packages/amplify-graphql-function-transformer/package.json index c97dcf46219..d03ca42515e 100644 --- a/packages/amplify-graphql-function-transformer/package.json +++ b/packages/amplify-graphql-function-transformer/package.json @@ -52,6 +52,7 @@ "json", "node" ], - "collectCoverage": true + "collectCoverage": true, + "modulePathIgnorePatterns": ["overrides"] } } diff --git a/packages/amplify-graphql-function-transformer/src/__tests__/__snapshots__/amplify-graphql-function-transformer-override.test.ts.snap b/packages/amplify-graphql-function-transformer/src/__tests__/__snapshots__/amplify-graphql-function-transformer-override.test.ts.snap new file mode 100644 index 00000000000..1c9e3da1270 --- /dev/null +++ b/packages/amplify-graphql-function-transformer/src/__tests__/__snapshots__/amplify-graphql-function-transformer-override.test.ts.snap @@ -0,0 +1,348 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`it ovderrides the expected resources 1`] = ` +Object { + "AWSTemplateFormatVersion": "2010-09-09", + "Conditions": Object { + "HasEnvironmentParameter": Object { + "Fn::Not": Array [ + Object { + "Fn::Equals": Array [ + Object { + "Ref": "referencetotransformerrootstackenv10C5A902Ref", + }, + "NONE", + ], + }, + ], + }, + }, + "Description": "An auto-generated nested stack for the @function directive.", + "Parameters": Object { + "referencetotransformerrootstackGraphQLAPI20497F53ApiId": Object { + "Type": "String", + }, + "referencetotransformerrootstackS3DeploymentBucket7592718ARef": Object { + "Type": "String", + }, + "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref": Object { + "Type": "String", + }, + "referencetotransformerrootstackenv10C5A902Ref": Object { + "Type": "String", + }, + }, + "Resources": Object { + "EchofunctionLambdaDataSource": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "LambdaConfig": Object { + "LambdaFunctionArn": Object { + "Fn::If": Array [ + "HasEnvironmentParameter", + Object { + "Fn::Sub": Array [ + "arn:aws:lambda:\${AWS::Region}:\${AWS::AccountId}:function:echofunction-\${env}", + Object { + "env": Object { + "Ref": "referencetotransformerrootstackenv10C5A902Ref", + }, + }, + ], + }, + Object { + "Fn::Sub": "arn:aws:lambda:\${AWS::Region}:\${AWS::AccountId}:function:echofunction", + }, + ], + }, + }, + "Name": "EchofunctionLambdaDataSource", + "ServiceRoleArn": "mockArn", + "Type": "AWS_LAMBDA", + }, + "Type": "AWS::AppSync::DataSource", + }, + "EchofunctionLambdaDataSourceServiceRole3BE2FA57": Object { + "Properties": Object { + "AssumeRolePolicyDocument": Object { + "Statement": Array [ + Object { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": Object { + "Service": "appsync.amazonaws.com", + }, + }, + ], + "Version": "2012-10-17", + }, + }, + "Type": "AWS::IAM::Role", + }, + "EchofunctionLambdaDataSourceServiceRoleDefaultPolicyCAA363A9": Object { + "Properties": Object { + "PolicyDocument": Object { + "Statement": Array [ + Object { + "Action": "lambda:InvokeFunction", + "Effect": "Allow", + "Resource": Object { + "Fn::If": Array [ + "HasEnvironmentParameter", + Object { + "Fn::Sub": Array [ + "arn:aws:lambda:\${AWS::Region}:\${AWS::AccountId}:function:echofunction-\${env}", + Object { + "env": Object { + "Ref": "referencetotransformerrootstackenv10C5A902Ref", + }, + }, + ], + }, + Object { + "Fn::Sub": "arn:aws:lambda:\${AWS::Region}:\${AWS::AccountId}:function:echofunction", + }, + ], + }, + }, + ], + "Version": "2012-10-17", + }, + "PolicyName": "EchofunctionLambdaDataSourceServiceRoleDefaultPolicyCAA363A9", + "Roles": Array [ + Object { + "Ref": "EchofunctionLambdaDataSourceServiceRole3BE2FA57", + }, + ], + }, + "Type": "AWS::IAM::Policy", + }, + "InvokeEchofunctionLambdaDataSourceInvokeEchofunctionLambdaDataSourceAppSyncFunctionCDB52C03": Object { + "DependsOn": Array [ + "EchofunctionLambdaDataSource", + ], + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "DataSourceName": Object { + "Fn::GetAtt": Array [ + "EchofunctionLambdaDataSource", + "Name", + ], + }, + "FunctionVersion": "2018-05-29", + "Name": "InvokeEchofunctionLambdaDataSource", + "RequestMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/InvokeEchofunctionLambdaDataSource.req.vtl", + ], + ], + }, + "ResponseMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/InvokeEchofunctionLambdaDataSource.res.vtl", + ], + ], + }, + }, + "Type": "AWS::AppSync::FunctionConfiguration", + }, + "InvokeOtherfunctionLambdaDataSourceInvokeOtherfunctionLambdaDataSourceAppSyncFunctionB834903D": Object { + "DependsOn": Array [ + "OtherfunctionLambdaDataSource", + ], + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "DataSourceName": Object { + "Fn::GetAtt": Array [ + "OtherfunctionLambdaDataSource", + "Name", + ], + }, + "FunctionVersion": "2018-05-29", + "Name": "InvokeOtherfunctionLambdaDataSource", + "RequestMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/InvokeOtherfunctionLambdaDataSource.req.vtl", + ], + ], + }, + "ResponseMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/InvokeOtherfunctionLambdaDataSource.res.vtl", + ], + ], + }, + }, + "Type": "AWS::AppSync::FunctionConfiguration", + }, + "OtherfunctionLambdaDataSource": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "LambdaConfig": Object { + "LambdaFunctionArn": Object { + "Fn::If": Array [ + "HasEnvironmentParameter", + Object { + "Fn::Sub": Array [ + "arn:aws:lambda:\${AWS::Region}:\${AWS::AccountId}:function:otherfunction", + Object {}, + ], + }, + Object { + "Fn::Sub": "arn:aws:lambda:\${AWS::Region}:\${AWS::AccountId}:function:otherfunction", + }, + ], + }, + }, + "Name": "OtherfunctionLambdaDataSource", + "ServiceRoleArn": "mockArn", + "Type": "AWS_LAMBDA", + }, + "Type": "AWS::AppSync::DataSource", + }, + "OtherfunctionLambdaDataSourceServiceRole611EC792": Object { + "Properties": Object { + "AssumeRolePolicyDocument": Object { + "Statement": Array [ + Object { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": Object { + "Service": "appsync.amazonaws.com", + }, + }, + ], + "Version": "2012-10-17", + }, + }, + "Type": "AWS::IAM::Role", + }, + "OtherfunctionLambdaDataSourceServiceRoleDefaultPolicy3263A5C1": Object { + "Properties": Object { + "PolicyDocument": Object { + "Statement": Array [ + Object { + "Action": "lambda:InvokeFunction", + "Effect": "Allow", + "Resource": Object { + "Fn::If": Array [ + "HasEnvironmentParameter", + Object { + "Fn::Sub": Array [ + "arn:aws:lambda:\${AWS::Region}:\${AWS::AccountId}:function:otherfunction", + Object {}, + ], + }, + Object { + "Fn::Sub": "arn:aws:lambda:\${AWS::Region}:\${AWS::AccountId}:function:otherfunction", + }, + ], + }, + }, + ], + "Version": "2012-10-17", + }, + "PolicyName": "OtherfunctionLambdaDataSourceServiceRoleDefaultPolicy3263A5C1", + "Roles": Array [ + Object { + "Ref": "OtherfunctionLambdaDataSourceServiceRole611EC792", + }, + ], + }, + "Type": "AWS::IAM::Policy", + }, + "QueryechoResolver": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "FieldName": "echo", + "Kind": "PIPELINE", + "PipelineConfig": Object { + "Functions": Array [ + Object { + "Fn::GetAtt": Array [ + "InvokeEchofunctionLambdaDataSourceInvokeEchofunctionLambdaDataSourceAppSyncFunctionCDB52C03", + "FunctionId", + ], + }, + Object { + "Fn::GetAtt": Array [ + "InvokeOtherfunctionLambdaDataSourceInvokeOtherfunctionLambdaDataSourceAppSyncFunctionB834903D", + "FunctionId", + ], + }, + ], + }, + "RequestMappingTemplate": "mockTemplate", + "ResponseMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Query.echo.res.vtl", + ], + ], + }, + "TypeName": "Query", + }, + "Type": "AWS::AppSync::Resolver", + }, + }, +} +`; diff --git a/packages/amplify-graphql-function-transformer/src/__tests__/amplify-graphql-function-transformer-override.test.ts b/packages/amplify-graphql-function-transformer/src/__tests__/amplify-graphql-function-transformer-override.test.ts new file mode 100644 index 00000000000..272000e5049 --- /dev/null +++ b/packages/amplify-graphql-function-transformer/src/__tests__/amplify-graphql-function-transformer-override.test.ts @@ -0,0 +1,29 @@ +'use strict'; +import { anything, countResources, expect as cdkExpect, haveResource } from '@aws-cdk/assert'; +import { GraphQLTransform } from '@aws-amplify/graphql-transformer-core'; +import { parse } from 'graphql'; +import { FunctionTransformer } from '..'; +import * as path from 'path'; +test('it ovderrides the expected resources', () => { + const validSchema = ` + type Query { + echo(msg: String): String @function(name: "echofunction-\${env}") @function(name: "otherfunction") + } + `; + + const transformer = new GraphQLTransform({ + transformers: [new FunctionTransformer()], + overrideConfig: { + overrideDir: path.join(__dirname, 'overrides'), + overrideFlag: true, + resourceName: 'myResource', + }, + }); + const out = transformer.transform(validSchema); + expect(out).toBeDefined(); + parse(out.schema); + expect(out.stacks).toBeDefined(); + const stack = out.stacks.FunctionDirectiveStack; + expect(stack).toBeDefined(); + expect(stack).toMatchSnapshot(); +}); diff --git a/packages/amplify-graphql-function-transformer/src/__tests__/overrides/build/override.js b/packages/amplify-graphql-function-transformer/src/__tests__/overrides/build/override.js new file mode 100644 index 00000000000..bfa8b0ed667 --- /dev/null +++ b/packages/amplify-graphql-function-transformer/src/__tests__/overrides/build/override.js @@ -0,0 +1,7 @@ +function override(resource) { + resource.function.lambdaDataSource['Echofunction'].serviceRoleArn = 'mockArn'; + resource.function.lambdaDataSource['Otherfunction'].serviceRoleArn = 'mockArn'; + // override resolver + resource.function.resolvers['queryEchoResolver'].requestMappingTemplate = 'mockTemplate'; +} +exports.override = override; diff --git a/packages/amplify-graphql-http-transformer/package.json b/packages/amplify-graphql-http-transformer/package.json index 3224a940006..5a36911ec95 100644 --- a/packages/amplify-graphql-http-transformer/package.json +++ b/packages/amplify-graphql-http-transformer/package.json @@ -51,6 +51,7 @@ "json", "node" ], - "collectCoverage": true + "collectCoverage": true, + "modulePathIgnorePatterns": ["overrides"] } } diff --git a/packages/amplify-graphql-http-transformer/src/__tests__/__snapshots__/amplify-graphql-http-transformer-override.test.ts.snap b/packages/amplify-graphql-http-transformer/src/__tests__/__snapshots__/amplify-graphql-http-transformer-override.test.ts.snap new file mode 100644 index 00000000000..6a77a82954b --- /dev/null +++ b/packages/amplify-graphql-http-transformer/src/__tests__/__snapshots__/amplify-graphql-http-transformer-override.test.ts.snap @@ -0,0 +1,606 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`it generates the overrided resources 1`] = ` +Object { + "AWSTemplateFormatVersion": "2010-09-09", + "Description": "An auto-generated nested stack for the @http directive.", + "Parameters": Object { + "referencetotransformerrootstackGraphQLAPI20497F53ApiId": Object { + "Type": "String", + }, + "referencetotransformerrootstackS3DeploymentBucket7592718ARef": Object { + "Type": "String", + }, + "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref": Object { + "Type": "String", + }, + }, + "Resources": Object { + "Commentcontent2Resolver": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "FieldName": "content2", + "Kind": "PIPELINE", + "PipelineConfig": Object { + "Functions": Array [ + Object { + "Fn::GetAtt": Array [ + "httpwwwapicomDataSourceCommentcontent2FunctionhttpwwwapicomDataSourceCommentcontent2FunctionAppSyncFunctionA4F35A01", + "FunctionId", + ], + }, + ], + }, + "RequestMappingTemplate": "## [Start] Stash resolver specific context.. ** +$util.qr($ctx.stash.put(\\"typeName\\", \\"Comment\\")) +$util.qr($ctx.stash.put(\\"fieldName\\", \\"content2\\")) +{} +## [End] Stash resolver specific context.. **", + "ResponseMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Comment.content2.res.vtl", + ], + ], + }, + "TypeName": "Comment", + }, + "Type": "AWS::AppSync::Resolver", + }, + "CommentcontentResolver": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "FieldName": "content", + "Kind": "PIPELINE", + "PipelineConfig": Object { + "Functions": Array [ + Object { + "Fn::GetAtt": Array [ + "httpwwwapicomDataSourceCommentcontentFunctionhttpwwwapicomDataSourceCommentcontentFunctionAppSyncFunction685EFA2A", + "FunctionId", + ], + }, + ], + }, + "RequestMappingTemplate": "mockTemplate", + "ResponseMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Comment.content.res.vtl", + ], + ], + }, + "TypeName": "Comment", + }, + "Type": "AWS::AppSync::Resolver", + }, + "CommentevenMoreResolver": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "FieldName": "evenMore", + "Kind": "PIPELINE", + "PipelineConfig": Object { + "Functions": Array [ + Object { + "Fn::GetAtt": Array [ + "httpwwwgooglecomDataSourceCommentevenMoreFunctionhttpwwwgooglecomDataSourceCommentevenMoreFunctionAppSyncFunction47773D49", + "FunctionId", + ], + }, + ], + }, + "RequestMappingTemplate": "## [Start] Stash resolver specific context.. ** +$util.qr($ctx.stash.put(\\"typeName\\", \\"Comment\\")) +$util.qr($ctx.stash.put(\\"fieldName\\", \\"evenMore\\")) +{} +## [End] Stash resolver specific context.. **", + "ResponseMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Comment.evenMore.res.vtl", + ], + ], + }, + "TypeName": "Comment", + }, + "Type": "AWS::AppSync::Resolver", + }, + "CommentmoreResolver": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "FieldName": "more", + "Kind": "PIPELINE", + "PipelineConfig": Object { + "Functions": Array [ + Object { + "Fn::GetAtt": Array [ + "httpapicomDataSourceCommentmoreFunctionhttpapicomDataSourceCommentmoreFunctionAppSyncFunction5BEF6F35", + "FunctionId", + ], + }, + ], + }, + "RequestMappingTemplate": "## [Start] Stash resolver specific context.. ** +$util.qr($ctx.stash.put(\\"typeName\\", \\"Comment\\")) +$util.qr($ctx.stash.put(\\"fieldName\\", \\"more\\")) +{} +## [End] Stash resolver specific context.. **", + "ResponseMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Comment.more.res.vtl", + ], + ], + }, + "TypeName": "Comment", + }, + "Type": "AWS::AppSync::Resolver", + }, + "CommentstillMoreResolver": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "FieldName": "stillMore", + "Kind": "PIPELINE", + "PipelineConfig": Object { + "Functions": Array [ + Object { + "Fn::GetAtt": Array [ + "httpswwwapicomDataSourceCommentstillMoreFunctionhttpswwwapicomDataSourceCommentstillMoreFunctionAppSyncFunction51FAE1A5", + "FunctionId", + ], + }, + ], + }, + "RequestMappingTemplate": "## [Start] Stash resolver specific context.. ** +$util.qr($ctx.stash.put(\\"typeName\\", \\"Comment\\")) +$util.qr($ctx.stash.put(\\"fieldName\\", \\"stillMore\\")) +{} +## [End] Stash resolver specific context.. **", + "ResponseMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Comment.stillMore.res.vtl", + ], + ], + }, + "TypeName": "Comment", + }, + "Type": "AWS::AppSync::Resolver", + }, + "httpapicomDataSource": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "HttpConfig": Object { + "Endpoint": "mockEndpoint", + }, + "Name": "httpapicomDataSource", + "ServiceRoleArn": "mockArn", + "Type": "HTTP", + }, + "Type": "AWS::AppSync::DataSource", + }, + "httpapicomDataSourceCommentmoreFunctionhttpapicomDataSourceCommentmoreFunctionAppSyncFunction5BEF6F35": Object { + "DependsOn": Array [ + "httpapicomDataSource", + ], + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "DataSourceName": Object { + "Fn::GetAtt": Array [ + "httpapicomDataSource", + "Name", + ], + }, + "FunctionVersion": "2018-05-29", + "Name": "httpapicomDataSourceCommentmoreFunction", + "RequestMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Comment.more.DataResolver.req.vtl", + ], + ], + }, + "ResponseMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Comment.more.DataResolver.res.vtl", + ], + ], + }, + }, + "Type": "AWS::AppSync::FunctionConfiguration", + }, + "httpapicomDataSourceServiceRoleC12170E3": Object { + "Properties": Object { + "AssumeRolePolicyDocument": Object { + "Statement": Array [ + Object { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": Object { + "Service": "appsync.amazonaws.com", + }, + }, + ], + "Version": "2012-10-17", + }, + }, + "Type": "AWS::IAM::Role", + }, + "httpswwwapicomDataSource": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "HttpConfig": Object { + "Endpoint": "mockEndpoint", + }, + "Name": "httpswwwapicomDataSource", + "ServiceRoleArn": "mockArn", + "Type": "HTTP", + }, + "Type": "AWS::AppSync::DataSource", + }, + "httpswwwapicomDataSourceCommentstillMoreFunctionhttpswwwapicomDataSourceCommentstillMoreFunctionAppSyncFunction51FAE1A5": Object { + "DependsOn": Array [ + "httpswwwapicomDataSource", + ], + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "DataSourceName": Object { + "Fn::GetAtt": Array [ + "httpswwwapicomDataSource", + "Name", + ], + }, + "FunctionVersion": "2018-05-29", + "Name": "httpswwwapicomDataSourceCommentstillMoreFunction", + "RequestMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Comment.stillMore.DataResolver.req.vtl", + ], + ], + }, + "ResponseMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Comment.stillMore.DataResolver.res.vtl", + ], + ], + }, + }, + "Type": "AWS::AppSync::FunctionConfiguration", + }, + "httpswwwapicomDataSourceServiceRoleDE26F49B": Object { + "Properties": Object { + "AssumeRolePolicyDocument": Object { + "Statement": Array [ + Object { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": Object { + "Service": "appsync.amazonaws.com", + }, + }, + ], + "Version": "2012-10-17", + }, + }, + "Type": "AWS::IAM::Role", + }, + "httpwwwapicomDataSource": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "HttpConfig": Object { + "Endpoint": "mockEndpoint", + }, + "Name": "httpwwwapicomDataSource", + "ServiceRoleArn": "mockArn", + "Type": "HTTP", + }, + "Type": "AWS::AppSync::DataSource", + }, + "httpwwwapicomDataSourceCommentcontent2FunctionhttpwwwapicomDataSourceCommentcontent2FunctionAppSyncFunctionA4F35A01": Object { + "DependsOn": Array [ + "httpwwwapicomDataSource", + ], + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "DataSourceName": Object { + "Fn::GetAtt": Array [ + "httpwwwapicomDataSource", + "Name", + ], + }, + "FunctionVersion": "2018-05-29", + "Name": "httpwwwapicomDataSourceCommentcontent2Function", + "RequestMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Comment.content2.DataResolver.req.vtl", + ], + ], + }, + "ResponseMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Comment.content2.DataResolver.res.vtl", + ], + ], + }, + }, + "Type": "AWS::AppSync::FunctionConfiguration", + }, + "httpwwwapicomDataSourceCommentcontentFunctionhttpwwwapicomDataSourceCommentcontentFunctionAppSyncFunction685EFA2A": Object { + "DependsOn": Array [ + "httpwwwapicomDataSource", + ], + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "DataSourceName": Object { + "Fn::GetAtt": Array [ + "httpwwwapicomDataSource", + "Name", + ], + }, + "FunctionVersion": "2018-05-29", + "Name": "httpwwwapicomDataSourceCommentcontentFunction", + "RequestMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Comment.content.DataResolver.req.vtl", + ], + ], + }, + "ResponseMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Comment.content.DataResolver.res.vtl", + ], + ], + }, + }, + "Type": "AWS::AppSync::FunctionConfiguration", + }, + "httpwwwapicomDataSourceServiceRole20167D8C": Object { + "Properties": Object { + "AssumeRolePolicyDocument": Object { + "Statement": Array [ + Object { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": Object { + "Service": "appsync.amazonaws.com", + }, + }, + ], + "Version": "2012-10-17", + }, + }, + "Type": "AWS::IAM::Role", + }, + "httpwwwgooglecomDataSource": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "HttpConfig": Object { + "Endpoint": "mockEndpoint", + }, + "Name": "httpwwwgooglecomDataSource", + "ServiceRoleArn": "mockArn", + "Type": "HTTP", + }, + "Type": "AWS::AppSync::DataSource", + }, + "httpwwwgooglecomDataSourceCommentevenMoreFunctionhttpwwwgooglecomDataSourceCommentevenMoreFunctionAppSyncFunction47773D49": Object { + "DependsOn": Array [ + "httpwwwgooglecomDataSource", + ], + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "DataSourceName": Object { + "Fn::GetAtt": Array [ + "httpwwwgooglecomDataSource", + "Name", + ], + }, + "FunctionVersion": "2018-05-29", + "Name": "httpwwwgooglecomDataSourceCommentevenMoreFunction", + "RequestMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Comment.evenMore.DataResolver.req.vtl", + ], + ], + }, + "ResponseMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Comment.evenMore.DataResolver.res.vtl", + ], + ], + }, + }, + "Type": "AWS::AppSync::FunctionConfiguration", + }, + "httpwwwgooglecomDataSourceServiceRole08261832": Object { + "Properties": Object { + "AssumeRolePolicyDocument": Object { + "Statement": Array [ + Object { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": Object { + "Service": "appsync.amazonaws.com", + }, + }, + ], + "Version": "2012-10-17", + }, + }, + "Type": "AWS::IAM::Role", + }, + }, +} +`; diff --git a/packages/amplify-graphql-http-transformer/src/__tests__/__snapshots__/amplify-graphql-http-transformer.test.ts.snap b/packages/amplify-graphql-http-transformer/src/__tests__/__snapshots__/amplify-graphql-http-transformer.test.ts.snap index 798f0049a13..3dabd32d5d3 100644 --- a/packages/amplify-graphql-http-transformer/src/__tests__/__snapshots__/amplify-graphql-http-transformer.test.ts.snap +++ b/packages/amplify-graphql-http-transformer/src/__tests__/__snapshots__/amplify-graphql-http-transformer.test.ts.snap @@ -144,3 +144,5 @@ $util.qr($util.appendError($ctx.result.body, $ctx.result.statusCode)) "Comment.contentPost.res.vtl": "$util.toJson($ctx.prev.result)", } `; + +exports[`generates expected VTL 2`] = `Object {}`; diff --git a/packages/amplify-graphql-http-transformer/src/__tests__/amplify-graphql-http-transformer-override.test.ts b/packages/amplify-graphql-http-transformer/src/__tests__/amplify-graphql-http-transformer-override.test.ts new file mode 100644 index 00000000000..eaa14c3a385 --- /dev/null +++ b/packages/amplify-graphql-http-transformer/src/__tests__/amplify-graphql-http-transformer-override.test.ts @@ -0,0 +1,31 @@ +'use strict'; +import { GraphQLTransform } from '@aws-amplify/graphql-transformer-core'; +import { parse } from 'graphql'; +import { HttpTransformer } from '..'; +import path from 'path'; +test('it generates the overrided resources', () => { + const validSchema = /* GraphQL */ ` + type Comment { + id: ID! + content: String @http(method: POST, url: "http://www.api.com/ping") + content2: String @http(method: PUT, url: "http://www.api.com/ping") + more: String @http(url: "http://api.com/ping/me/2") + evenMore: String @http(method: DELETE, url: "http://www.google.com/query/id") + stillMore: String @http(method: PATCH, url: "https://www.api.com/ping/id") + } + `; + const transformer = new GraphQLTransform({ + transformers: [new HttpTransformer()], + overrideConfig: { + overrideDir: path.join(__dirname, 'overrides'), + overrideFlag: true, + resourceName: 'myResource', + }, + }); + const out = transformer.transform(validSchema); + expect(out).toBeDefined(); + expect(out.stacks).toBeDefined(); + parse(out.schema); + const stack = out.stacks.HttpStack; + expect(stack).toMatchSnapshot(); +}); diff --git a/packages/amplify-graphql-http-transformer/src/__tests__/amplify-graphql-http-transformer.test.ts b/packages/amplify-graphql-http-transformer/src/__tests__/amplify-graphql-http-transformer.test.ts index 23d448f680f..4e10a76daac 100644 --- a/packages/amplify-graphql-http-transformer/src/__tests__/amplify-graphql-http-transformer.test.ts +++ b/packages/amplify-graphql-http-transformer/src/__tests__/amplify-graphql-http-transformer.test.ts @@ -1,6 +1,6 @@ 'use strict'; -import { anything, countResources, expect as cdkExpect, haveResource } from '@aws-cdk/assert'; import { GraphQLTransform } from '@aws-amplify/graphql-transformer-core'; +import { anything, countResources, expect as cdkExpect, haveResource } from '@aws-cdk/assert'; import { parse } from 'graphql'; import { HttpTransformer } from '..'; @@ -27,6 +27,7 @@ test('generates expected VTL', () => { expect(out).toBeDefined(); expect(out.stacks).toBeDefined(); expect(out.resolvers).toMatchSnapshot(); + expect(out.pipelineFunctions).toMatchSnapshot(); parse(out.schema); }); diff --git a/packages/amplify-graphql-http-transformer/src/__tests__/overrides/build/override.js b/packages/amplify-graphql-http-transformer/src/__tests__/overrides/build/override.js new file mode 100644 index 00000000000..4fc01731e52 --- /dev/null +++ b/packages/amplify-graphql-http-transformer/src/__tests__/overrides/build/override.js @@ -0,0 +1,21 @@ +function override(resource) { + resource.http.httpsDataSource['httpwwwapicom'].serviceRoleArn = 'mockArn'; + resource.http.httpsDataSource['httpwwwapicom'].httpConfig = { + endpoint: 'mockEndpoint', + }; + resource.http.httpsDataSource['httpapicom'].serviceRoleArn = 'mockArn'; + resource.http.httpsDataSource['httpapicom'].httpConfig = { + endpoint: 'mockEndpoint', + }; + resource.http.httpsDataSource['httpwwwgooglecom'].serviceRoleArn = 'mockArn'; + resource.http.httpsDataSource['httpwwwgooglecom'].httpConfig = { + endpoint: 'mockEndpoint', + }; + resource.http.httpsDataSource['httpswwwapicom'].serviceRoleArn = 'mockArn'; + resource.http.httpsDataSource['httpswwwapicom'].httpConfig = { + endpoint: 'mockEndpoint', + }; + // override resolver + resource.http.resolvers['commentContentResolver'].requestMappingTemplate = 'mockTemplate'; +} +exports.override = override; diff --git a/packages/amplify-graphql-index-transformer/src/__tests__/amplify-graphql-index-transformer.test.ts b/packages/amplify-graphql-index-transformer/src/__tests__/amplify-graphql-index-transformer.test.ts index ea96ffdb2e6..008fe88d21d 100644 --- a/packages/amplify-graphql-index-transformer/src/__tests__/amplify-graphql-index-transformer.test.ts +++ b/packages/amplify-graphql-index-transformer/src/__tests__/amplify-graphql-index-transformer.test.ts @@ -867,10 +867,8 @@ it('should support index/primary key with sync resolvers', () => { const transformer = new GraphQLTransform({ transformers: [new ModelTransformer(), new PrimaryKeyTransformer(), new IndexTransformer()], - transformConfig: { - ResolverConfig: { - project: config, - }, + resolverConfig: { + project: config, }, }); diff --git a/packages/amplify-graphql-model-transformer/package.json b/packages/amplify-graphql-model-transformer/package.json index 294d1237cde..e42983b86a9 100644 --- a/packages/amplify-graphql-model-transformer/package.json +++ b/packages/amplify-graphql-model-transformer/package.json @@ -81,6 +81,7 @@ "json", "node" ], - "collectCoverage": true + "collectCoverage": true, + "modulePathIgnorePatterns": ["overrides"] } } diff --git a/packages/amplify-graphql-model-transformer/src/__tests__/__snapshots__/model-transformer-override.test.ts.snap b/packages/amplify-graphql-model-transformer/src/__tests__/__snapshots__/model-transformer-override.test.ts.snap new file mode 100644 index 00000000000..1814623a1bf --- /dev/null +++ b/packages/amplify-graphql-model-transformer/src/__tests__/__snapshots__/model-transformer-override.test.ts.snap @@ -0,0 +1,3009 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`ModelTransformer: should override model objects when given override config 1`] = ` +Object { + "Conditions": Object { + "HasEnvironmentParameter": Object { + "Fn::Not": Array [ + Object { + "Fn::Equals": Array [ + Object { + "Ref": "referencetotransformerrootstackenv10C5A902Ref", + }, + "NONE", + ], + }, + ], + }, + "ShouldUsePayPerRequestBilling": Object { + "Fn::Equals": Array [ + Object { + "Ref": "DynamoDBBillingMode", + }, + "PAY_PER_REQUEST", + ], + }, + "ShouldUsePointInTimeRecovery": Object { + "Fn::Equals": Array [ + Object { + "Ref": "DynamoDBEnablePointInTimeRecovery", + }, + "true", + ], + }, + "ShouldUseServerSideEncryption": Object { + "Fn::Equals": Array [ + Object { + "Ref": "DynamoDBEnableServerSideEncryption", + }, + "true", + ], + }, + }, + "Outputs": Object { + "GetAttPostDataSourceName": Object { + "Description": "Your model DataSource name.", + "Export": Object { + "Name": Object { + "Fn::Join": Array [ + ":", + Array [ + Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "GetAtt:PostDataSource:Name", + ], + ], + }, + }, + "Value": Object { + "Fn::GetAtt": Array [ + "PostDataSource", + "Name", + ], + }, + }, + "GetAttPostTableName": Object { + "Description": "Your DynamoDB table name.", + "Export": Object { + "Name": Object { + "Fn::Join": Array [ + ":", + Array [ + Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "GetAtt:PostTable:Name", + ], + ], + }, + }, + "Value": Object { + "Ref": "PostTable", + }, + }, + "GetAttPostTableStreamArn": Object { + "Description": "Your DynamoDB table StreamArn.", + "Export": Object { + "Name": Object { + "Fn::Join": Array [ + ":", + Array [ + Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "GetAtt:PostTable:StreamArn", + ], + ], + }, + }, + "Value": Object { + "Fn::GetAtt": Array [ + "PostTable", + "StreamArn", + ], + }, + }, + }, + "Parameters": Object { + "DynamoDBBillingMode": Object { + "AllowedValues": Array [ + "PAY_PER_REQUEST", + "PROVISIONED", + ], + "Default": "PAY_PER_REQUEST", + "Description": "Configure @model types to create DynamoDB tables with PAY_PER_REQUEST or PROVISIONED billing modes.", + "Type": "String", + }, + "DynamoDBEnablePointInTimeRecovery": Object { + "AllowedValues": Array [ + "true", + "false", + ], + "Default": "false", + "Description": "Whether to enable Point in Time Recovery on the table.", + "Type": "String", + }, + "DynamoDBEnableServerSideEncryption": Object { + "AllowedValues": Array [ + "true", + "false", + ], + "Default": "true", + "Description": "Enable server side encryption powered by KMS.", + "Type": "String", + }, + "DynamoDBModelTableReadIOPS": Object { + "Default": 5, + "Description": "The number of read IOPS the table should support.", + "Type": "Number", + }, + "DynamoDBModelTableWriteIOPS": Object { + "Default": 5, + "Description": "The number of write IOPS the table should support.", + "Type": "Number", + }, + "referencetotransformerrootstackGraphQLAPI20497F53ApiId": Object { + "Type": "String", + }, + "referencetotransformerrootstackGraphQLAPINONEDS2BA9D1C8Name": Object { + "Type": "String", + }, + "referencetotransformerrootstackS3DeploymentBucket7592718ARef": Object { + "Type": "String", + }, + "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref": Object { + "Type": "String", + }, + "referencetotransformerrootstackenv10C5A902Ref": Object { + "Type": "String", + }, + }, + "Resources": Object { + "CreatePostResolver": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "FieldName": "createPost", + "Kind": "PIPELINE", + "PipelineConfig": Object { + "Functions": Array [ + Object { + "Fn::GetAtt": Array [ + "MutationcreatePostinit0FunctionMutationcreatePostinit0FunctionAppSyncFunction9E444A7F", + "FunctionId", + ], + }, + Object { + "Fn::GetAtt": Array [ + "MutationcreatePostpostAuth0FunctionMutationcreatePostpostAuth0FunctionAppSyncFunction2C708069", + "FunctionId", + ], + }, + Object { + "Fn::GetAtt": Array [ + "MutationCreatePostDataResolverFnMutationCreatePostDataResolverFnAppSyncFunctionE45E2000", + "FunctionId", + ], + }, + ], + }, + "RequestMappingTemplate": Object { + "Fn::Join": Array [ + "", + Array [ + "$util.qr($ctx.stash.put(\\"typeName\\", \\"Mutation\\")) +$util.qr($ctx.stash.put(\\"fieldName\\", \\"createPost\\")) +$util.qr($ctx.stash.put(\\"conditions\\", [])) +$util.qr($ctx.stash.put(\\"metadata\\", {})) +$util.qr($ctx.stash.metadata.put(\\"dataSourceType\\", \\"AMAZON_DYNAMODB\\")) +$util.qr($ctx.stash.metadata.put(\\"apiId\\", \\"", + Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "\\")) +$util.qr($ctx.stash.put(\\"tableName\\", \\"", + Object { + "Ref": "PostTable", + }, + "\\")) +$util.toJson({})", + ], + ], + }, + "ResponseMappingTemplate": "$util.toJson($ctx.prev.result)", + "TypeName": "Mutation", + }, + "Type": "AWS::AppSync::Resolver", + }, + "DeletePostResolver": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "FieldName": "deletePost", + "Kind": "PIPELINE", + "PipelineConfig": Object { + "Functions": Array [ + Object { + "Fn::GetAtt": Array [ + "MutationdeletePostpostAuth0FunctionMutationdeletePostpostAuth0FunctionAppSyncFunctionFF4E884F", + "FunctionId", + ], + }, + Object { + "Fn::GetAtt": Array [ + "MutationDeletePostDataResolverFnMutationDeletePostDataResolverFnAppSyncFunction45B37C12", + "FunctionId", + ], + }, + ], + }, + "RequestMappingTemplate": Object { + "Fn::Join": Array [ + "", + Array [ + "$util.qr($ctx.stash.put(\\"typeName\\", \\"Mutation\\")) +$util.qr($ctx.stash.put(\\"fieldName\\", \\"deletePost\\")) +$util.qr($ctx.stash.put(\\"conditions\\", [])) +$util.qr($ctx.stash.put(\\"metadata\\", {})) +$util.qr($ctx.stash.metadata.put(\\"dataSourceType\\", \\"AMAZON_DYNAMODB\\")) +$util.qr($ctx.stash.metadata.put(\\"apiId\\", \\"", + Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "\\")) +$util.qr($ctx.stash.put(\\"tableName\\", \\"", + Object { + "Ref": "PostTable", + }, + "\\")) +$util.toJson({})", + ], + ], + }, + "ResponseMappingTemplate": "$util.toJson($ctx.prev.result)", + "TypeName": "Mutation", + }, + "Type": "AWS::AppSync::Resolver", + }, + "DynamoDBAccess71ABE5AE": Object { + "Properties": Object { + "PolicyDocument": Object { + "Statement": Array [ + Object { + "Action": Array [ + "dynamodb:BatchGetItem", + "dynamodb:BatchWriteItem", + "dynamodb:PutItem", + "dynamodb:DeleteItem", + "dynamodb:GetItem", + "dynamodb:Scan", + "dynamodb:Query", + "dynamodb:UpdateItem", + ], + "Effect": "Allow", + "Resource": Array [ + Object { + "Fn::Sub": Array [ + "arn:aws:dynamodb:\${AWS::Region}:\${AWS::AccountId}:table/\${tablename}", + Object { + "tablename": Object { + "Fn::Join": Array [ + "", + Array [ + "Post-", + Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "-", + Object { + "Ref": "referencetotransformerrootstackenv10C5A902Ref", + }, + ], + ], + }, + }, + ], + }, + Object { + "Fn::Sub": Array [ + "arn:aws:dynamodb:\${AWS::Region}:\${AWS::AccountId}:table/\${tablename}/*", + Object { + "tablename": Object { + "Fn::Join": Array [ + "", + Array [ + "Post-", + Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "-", + Object { + "Ref": "referencetotransformerrootstackenv10C5A902Ref", + }, + ], + ], + }, + }, + ], + }, + ], + }, + ], + "Version": "2012-10-17", + }, + "PolicyName": "DynamoDBAccess71ABE5AE", + "Roles": Array [ + Object { + "Ref": "PostIAMRole83BF708F", + }, + ], + }, + "Type": "AWS::IAM::Policy", + }, + "GetPostResolver": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "FieldName": "getPost", + "Kind": "PIPELINE", + "PipelineConfig": Object { + "Functions": Array [ + Object { + "Fn::GetAtt": Array [ + "QuerygetPostpostAuth0FunctionQuerygetPostpostAuth0FunctionAppSyncFunctionC72E5C0F", + "FunctionId", + ], + }, + Object { + "Fn::GetAtt": Array [ + "QueryGetPostDataResolverFnQueryGetPostDataResolverFnAppSyncFunction06724190", + "FunctionId", + ], + }, + ], + }, + "RequestMappingTemplate": Object { + "Fn::Join": Array [ + "", + Array [ + "$util.qr($ctx.stash.put(\\"typeName\\", \\"Query\\")) +$util.qr($ctx.stash.put(\\"fieldName\\", \\"getPost\\")) +$util.qr($ctx.stash.put(\\"conditions\\", [])) +$util.qr($ctx.stash.put(\\"metadata\\", {})) +$util.qr($ctx.stash.metadata.put(\\"dataSourceType\\", \\"AMAZON_DYNAMODB\\")) +$util.qr($ctx.stash.metadata.put(\\"apiId\\", \\"", + Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "\\")) +$util.qr($ctx.stash.put(\\"tableName\\", \\"", + Object { + "Ref": "PostTable", + }, + "\\")) +$util.toJson({})", + ], + ], + }, + "ResponseMappingTemplate": "$util.toJson($ctx.prev.result)", + "TypeName": "Query", + }, + "Type": "AWS::AppSync::Resolver", + }, + "ListPostResolver": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "FieldName": "listPosts", + "Kind": "PIPELINE", + "PipelineConfig": Object { + "Functions": Array [ + Object { + "Fn::GetAtt": Array [ + "QuerylistPostspostAuth0FunctionQuerylistPostspostAuth0FunctionAppSyncFunction3585C8F4", + "FunctionId", + ], + }, + Object { + "Fn::GetAtt": Array [ + "QueryListPostsDataResolverFnQueryListPostsDataResolverFnAppSyncFunction3D526AB7", + "FunctionId", + ], + }, + ], + }, + "RequestMappingTemplate": Object { + "Fn::Join": Array [ + "", + Array [ + "$util.qr($ctx.stash.put(\\"typeName\\", \\"Query\\")) +$util.qr($ctx.stash.put(\\"fieldName\\", \\"listPosts\\")) +$util.qr($ctx.stash.put(\\"conditions\\", [])) +$util.qr($ctx.stash.put(\\"metadata\\", {})) +$util.qr($ctx.stash.metadata.put(\\"dataSourceType\\", \\"AMAZON_DYNAMODB\\")) +$util.qr($ctx.stash.metadata.put(\\"apiId\\", \\"", + Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "\\")) +$util.qr($ctx.stash.put(\\"tableName\\", \\"", + Object { + "Ref": "PostTable", + }, + "\\")) +$util.toJson({})", + ], + ], + }, + "ResponseMappingTemplate": "$util.toJson($ctx.prev.result)", + "TypeName": "Query", + }, + "Type": "AWS::AppSync::Resolver", + }, + "MutationCreatePostDataResolverFnMutationCreatePostDataResolverFnAppSyncFunctionE45E2000": Object { + "DependsOn": Array [ + "PostDataSource", + ], + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "DataSourceName": Object { + "Fn::GetAtt": Array [ + "PostDataSource", + "Name", + ], + }, + "FunctionVersion": "2018-05-29", + "Name": "MutationCreatePostDataResolverFn", + "RequestMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Mutation.createPost.req.vtl", + ], + ], + }, + "ResponseMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Mutation.createPost.res.vtl", + ], + ], + }, + }, + "Type": "AWS::AppSync::FunctionConfiguration", + }, + "MutationDeletePostDataResolverFnMutationDeletePostDataResolverFnAppSyncFunction45B37C12": Object { + "DependsOn": Array [ + "PostDataSource", + ], + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "DataSourceName": Object { + "Fn::GetAtt": Array [ + "PostDataSource", + "Name", + ], + }, + "FunctionVersion": "2018-05-29", + "Name": "MutationDeletePostDataResolverFn", + "RequestMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Mutation.deletePost.req.vtl", + ], + ], + }, + "ResponseMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Mutation.deletePost.res.vtl", + ], + ], + }, + }, + "Type": "AWS::AppSync::FunctionConfiguration", + }, + "MutationUpdatePostDataResolverFnMutationUpdatePostDataResolverFnAppSyncFunctionBF7D410D": Object { + "DependsOn": Array [ + "PostDataSource", + ], + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "DataSourceName": Object { + "Fn::GetAtt": Array [ + "PostDataSource", + "Name", + ], + }, + "FunctionVersion": "2018-05-29", + "Name": "MutationUpdatePostDataResolverFn", + "RequestMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Mutation.updatePost.req.vtl", + ], + ], + }, + "ResponseMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Mutation.updatePost.res.vtl", + ], + ], + }, + }, + "Type": "AWS::AppSync::FunctionConfiguration", + }, + "MutationcreatePostinit0FunctionMutationcreatePostinit0FunctionAppSyncFunction9E444A7F": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "DataSourceName": Object { + "Ref": "referencetotransformerrootstackGraphQLAPINONEDS2BA9D1C8Name", + }, + "FunctionVersion": "2018-05-29", + "Name": "MutationcreatePostinit0Function", + "RequestMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Mutation.createPost.init.1.req.vtl", + ], + ], + }, + "ResponseMappingTemplate": "$util.toJson({})", + }, + "Type": "AWS::AppSync::FunctionConfiguration", + }, + "MutationcreatePostpostAuth0FunctionMutationcreatePostpostAuth0FunctionAppSyncFunction2C708069": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "DataSourceName": Object { + "Ref": "referencetotransformerrootstackGraphQLAPINONEDS2BA9D1C8Name", + }, + "FunctionVersion": "2018-05-29", + "Name": "MutationcreatePostpostAuth0Function", + "RequestMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Mutation.createPost.postAuth.1.req.vtl", + ], + ], + }, + "ResponseMappingTemplate": "$util.toJson({})", + }, + "Type": "AWS::AppSync::FunctionConfiguration", + }, + "MutationdeletePostpostAuth0FunctionMutationdeletePostpostAuth0FunctionAppSyncFunctionFF4E884F": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "DataSourceName": Object { + "Ref": "referencetotransformerrootstackGraphQLAPINONEDS2BA9D1C8Name", + }, + "FunctionVersion": "2018-05-29", + "Name": "MutationdeletePostpostAuth0Function", + "RequestMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Mutation.deletePost.postAuth.1.req.vtl", + ], + ], + }, + "ResponseMappingTemplate": "$util.toJson({})", + }, + "Type": "AWS::AppSync::FunctionConfiguration", + }, + "MutationupdatePostinit0FunctionMutationupdatePostinit0FunctionAppSyncFunctionBAC7D532": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "DataSourceName": Object { + "Ref": "referencetotransformerrootstackGraphQLAPINONEDS2BA9D1C8Name", + }, + "FunctionVersion": "2018-05-29", + "Name": "MutationupdatePostinit0Function", + "RequestMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Mutation.updatePost.init.1.req.vtl", + ], + ], + }, + "ResponseMappingTemplate": "$util.toJson({})", + }, + "Type": "AWS::AppSync::FunctionConfiguration", + }, + "MutationupdatePostpostAuth0FunctionMutationupdatePostpostAuth0FunctionAppSyncFunctionB977D8DD": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "DataSourceName": Object { + "Ref": "referencetotransformerrootstackGraphQLAPINONEDS2BA9D1C8Name", + }, + "FunctionVersion": "2018-05-29", + "Name": "MutationupdatePostpostAuth0Function", + "RequestMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Mutation.updatePost.postAuth.1.req.vtl", + ], + ], + }, + "ResponseMappingTemplate": "$util.toJson({})", + }, + "Type": "AWS::AppSync::FunctionConfiguration", + }, + "PostDataSource": Object { + "DependsOn": Array [ + "PostIAMRole83BF708F", + ], + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "DynamoDBConfig": Object { + "AwsRegion": Object { + "Ref": "AWS::Region", + }, + "TableName": Object { + "Ref": "PostTable", + }, + }, + "Name": "PostTable", + "ServiceRoleArn": Object { + "Fn::GetAtt": Array [ + "PostIAMRole83BF708F", + "Arn", + ], + }, + "Type": "AMAZON_DYNAMODB", + }, + "Type": "AWS::AppSync::DataSource", + }, + "PostIAMRole83BF708F": Object { + "Properties": Object { + "AssumeRolePolicyDocument": Object { + "Statement": Array [ + Object { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": Object { + "Service": "appsync.amazonaws.com", + }, + }, + ], + "Version": "2012-10-17", + }, + "RoleName": Object { + "Fn::Join": Array [ + "", + Array [ + "PostIAMRolebbce9b-", + Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "-", + Object { + "Ref": "referencetotransformerrootstackenv10C5A902Ref", + }, + ], + ], + }, + }, + "Type": "AWS::IAM::Role", + }, + "PostIAMRoleDefaultPolicy04190CA0": Object { + "Properties": Object { + "PolicyDocument": Object { + "Statement": Array [ + Object { + "Action": Array [ + "dynamodb:BatchGetItem", + "dynamodb:GetRecords", + "dynamodb:GetShardIterator", + "dynamodb:Query", + "dynamodb:GetItem", + "dynamodb:Scan", + "dynamodb:ConditionCheckItem", + "dynamodb:BatchWriteItem", + "dynamodb:PutItem", + "dynamodb:UpdateItem", + "dynamodb:DeleteItem", + ], + "Effect": "Allow", + "Resource": Array [ + Object { + "Fn::GetAtt": Array [ + "PostTable", + "Arn", + ], + }, + Object { + "Ref": "AWS::NoValue", + }, + ], + }, + ], + "Version": "2012-10-17", + }, + "PolicyName": "PostIAMRoleDefaultPolicy04190CA0", + "Roles": Array [ + Object { + "Ref": "PostIAMRole83BF708F", + }, + ], + }, + "Type": "AWS::IAM::Policy", + }, + "PostTable": Object { + "DeletionPolicy": "Delete", + "Properties": Object { + "AttributeDefinitions": Array [ + Object { + "AttributeName": "id", + "AttributeType": "S", + }, + ], + "BillingMode": "PROVISIONED", + "KeySchema": Array [ + Object { + "AttributeName": "id", + "KeyType": "HASH", + }, + ], + "PointInTimeRecoverySpecification": Object { + "Fn::If": Array [ + "ShouldUsePointInTimeRecovery", + Object { + "PointInTimeRecoveryEnabled": true, + }, + Object { + "Ref": "AWS::NoValue", + }, + ], + }, + "ProvisionedThroughput": Object { + "Fn::If": Array [ + "ShouldUsePayPerRequestBilling", + Object { + "Ref": "AWS::NoValue", + }, + Object { + "ReadCapacityUnits": Object { + "Ref": "DynamoDBModelTableReadIOPS", + }, + "WriteCapacityUnits": Object { + "Ref": "DynamoDBModelTableWriteIOPS", + }, + }, + ], + }, + "SSESpecification": Object { + "SSEEnabled": Object { + "Fn::If": Array [ + "ShouldUseServerSideEncryption", + true, + false, + ], + }, + }, + "StreamSpecification": Object { + "StreamViewType": "NEW_AND_OLD_IMAGES", + }, + "TableName": Object { + "Fn::Join": Array [ + "", + Array [ + "Post-", + Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "-", + Object { + "Ref": "referencetotransformerrootstackenv10C5A902Ref", + }, + ], + ], + }, + }, + "Type": "AWS::DynamoDB::Table", + "UpdateReplacePolicy": "Delete", + }, + "QueryGetPostDataResolverFnQueryGetPostDataResolverFnAppSyncFunction06724190": Object { + "DependsOn": Array [ + "PostDataSource", + ], + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "DataSourceName": Object { + "Fn::GetAtt": Array [ + "PostDataSource", + "Name", + ], + }, + "FunctionVersion": "2018-05-29", + "Name": "QueryGetPostDataResolverFn", + "RequestMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Query.getPost.req.vtl", + ], + ], + }, + "ResponseMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Query.getPost.res.vtl", + ], + ], + }, + }, + "Type": "AWS::AppSync::FunctionConfiguration", + }, + "QueryListPostsDataResolverFnQueryListPostsDataResolverFnAppSyncFunction3D526AB7": Object { + "DependsOn": Array [ + "PostDataSource", + ], + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "DataSourceName": Object { + "Fn::GetAtt": Array [ + "PostDataSource", + "Name", + ], + }, + "FunctionVersion": "2018-05-29", + "Name": "QueryListPostsDataResolverFn", + "RequestMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Query.listPosts.req.vtl", + ], + ], + }, + "ResponseMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Query.listPosts.res.vtl", + ], + ], + }, + }, + "Type": "AWS::AppSync::FunctionConfiguration", + }, + "QuerygetPostpostAuth0FunctionQuerygetPostpostAuth0FunctionAppSyncFunctionC72E5C0F": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "DataSourceName": Object { + "Ref": "referencetotransformerrootstackGraphQLAPINONEDS2BA9D1C8Name", + }, + "FunctionVersion": "2018-05-29", + "Name": "QuerygetPostpostAuth0Function", + "RequestMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Query.getPost.postAuth.1.req.vtl", + ], + ], + }, + "ResponseMappingTemplate": "$util.toJson({})", + }, + "Type": "AWS::AppSync::FunctionConfiguration", + }, + "QuerylistPostspostAuth0FunctionQuerylistPostspostAuth0FunctionAppSyncFunction3585C8F4": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "DataSourceName": Object { + "Ref": "referencetotransformerrootstackGraphQLAPINONEDS2BA9D1C8Name", + }, + "FunctionVersion": "2018-05-29", + "Name": "QuerylistPostspostAuth0Function", + "RequestMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Query.listPosts.postAuth.1.req.vtl", + ], + ], + }, + "ResponseMappingTemplate": "$util.toJson({})", + }, + "Type": "AWS::AppSync::FunctionConfiguration", + }, + "SubscriptionOnCreatePostDataResolverFnSubscriptionOnCreatePostDataResolverFnAppSyncFunctionB4572868": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "DataSourceName": Object { + "Ref": "referencetotransformerrootstackGraphQLAPINONEDS2BA9D1C8Name", + }, + "FunctionVersion": "2018-05-29", + "Name": "SubscriptionOnCreatePostDataResolverFn", + "RequestMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Subscription.onCreatePost.req.vtl", + ], + ], + }, + "ResponseMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Subscription.onCreatePost.res.vtl", + ], + ], + }, + }, + "Type": "AWS::AppSync::FunctionConfiguration", + }, + "SubscriptionOnDeletePostDataResolverFnSubscriptionOnDeletePostDataResolverFnAppSyncFunction9D84E829": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "DataSourceName": Object { + "Ref": "referencetotransformerrootstackGraphQLAPINONEDS2BA9D1C8Name", + }, + "FunctionVersion": "2018-05-29", + "Name": "SubscriptionOnDeletePostDataResolverFn", + "RequestMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Subscription.onDeletePost.req.vtl", + ], + ], + }, + "ResponseMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Subscription.onDeletePost.res.vtl", + ], + ], + }, + }, + "Type": "AWS::AppSync::FunctionConfiguration", + }, + "SubscriptionOnUpdatePostDataResolverFnSubscriptionOnUpdatePostDataResolverFnAppSyncFunction325AAFC9": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "DataSourceName": Object { + "Ref": "referencetotransformerrootstackGraphQLAPINONEDS2BA9D1C8Name", + }, + "FunctionVersion": "2018-05-29", + "Name": "SubscriptionOnUpdatePostDataResolverFn", + "RequestMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Subscription.onUpdatePost.req.vtl", + ], + ], + }, + "ResponseMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Subscription.onUpdatePost.res.vtl", + ], + ], + }, + }, + "Type": "AWS::AppSync::FunctionConfiguration", + }, + "SubscriptiononCreatePostResolver": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "FieldName": "onCreatePost", + "Kind": "PIPELINE", + "PipelineConfig": Object { + "Functions": Array [ + Object { + "Fn::GetAtt": Array [ + "SubscriptiononCreatePostpostAuth0FunctionSubscriptiononCreatePostpostAuth0FunctionAppSyncFunction3197D95D", + "FunctionId", + ], + }, + Object { + "Fn::GetAtt": Array [ + "SubscriptionOnCreatePostDataResolverFnSubscriptionOnCreatePostDataResolverFnAppSyncFunctionB4572868", + "FunctionId", + ], + }, + ], + }, + "RequestMappingTemplate": Object { + "Fn::Join": Array [ + "", + Array [ + "$util.qr($ctx.stash.put(\\"typeName\\", \\"Subscription\\")) +$util.qr($ctx.stash.put(\\"fieldName\\", \\"onCreatePost\\")) +$util.qr($ctx.stash.put(\\"conditions\\", [])) +$util.qr($ctx.stash.put(\\"metadata\\", {})) +$util.qr($ctx.stash.metadata.put(\\"dataSourceType\\", \\"NONE\\")) +$util.qr($ctx.stash.metadata.put(\\"apiId\\", \\"", + Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "\\")) + +$util.toJson({})", + ], + ], + }, + "ResponseMappingTemplate": "$util.toJson($ctx.prev.result)", + "TypeName": "Subscription", + }, + "Type": "AWS::AppSync::Resolver", + }, + "SubscriptiononCreatePostpostAuth0FunctionSubscriptiononCreatePostpostAuth0FunctionAppSyncFunction3197D95D": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "DataSourceName": Object { + "Ref": "referencetotransformerrootstackGraphQLAPINONEDS2BA9D1C8Name", + }, + "FunctionVersion": "2018-05-29", + "Name": "SubscriptiononCreatePostpostAuth0Function", + "RequestMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Subscription.onCreatePost.postAuth.1.req.vtl", + ], + ], + }, + "ResponseMappingTemplate": "$util.toJson({})", + }, + "Type": "AWS::AppSync::FunctionConfiguration", + }, + "SubscriptiononDeletePostResolver": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "FieldName": "onDeletePost", + "Kind": "PIPELINE", + "PipelineConfig": Object { + "Functions": Array [ + Object { + "Fn::GetAtt": Array [ + "SubscriptiononDeletePostpostAuth0FunctionSubscriptiononDeletePostpostAuth0FunctionAppSyncFunction80B1275A", + "FunctionId", + ], + }, + Object { + "Fn::GetAtt": Array [ + "SubscriptionOnDeletePostDataResolverFnSubscriptionOnDeletePostDataResolverFnAppSyncFunction9D84E829", + "FunctionId", + ], + }, + ], + }, + "RequestMappingTemplate": Object { + "Fn::Join": Array [ + "", + Array [ + "$util.qr($ctx.stash.put(\\"typeName\\", \\"Subscription\\")) +$util.qr($ctx.stash.put(\\"fieldName\\", \\"onDeletePost\\")) +$util.qr($ctx.stash.put(\\"conditions\\", [])) +$util.qr($ctx.stash.put(\\"metadata\\", {})) +$util.qr($ctx.stash.metadata.put(\\"dataSourceType\\", \\"NONE\\")) +$util.qr($ctx.stash.metadata.put(\\"apiId\\", \\"", + Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "\\")) + +$util.toJson({})", + ], + ], + }, + "ResponseMappingTemplate": "$util.toJson($ctx.prev.result)", + "TypeName": "Subscription", + }, + "Type": "AWS::AppSync::Resolver", + }, + "SubscriptiononDeletePostpostAuth0FunctionSubscriptiononDeletePostpostAuth0FunctionAppSyncFunction80B1275A": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "DataSourceName": Object { + "Ref": "referencetotransformerrootstackGraphQLAPINONEDS2BA9D1C8Name", + }, + "FunctionVersion": "2018-05-29", + "Name": "SubscriptiononDeletePostpostAuth0Function", + "RequestMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Subscription.onDeletePost.postAuth.1.req.vtl", + ], + ], + }, + "ResponseMappingTemplate": "$util.toJson({})", + }, + "Type": "AWS::AppSync::FunctionConfiguration", + }, + "SubscriptiononUpdatePostResolver": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "FieldName": "onUpdatePost", + "Kind": "PIPELINE", + "PipelineConfig": Object { + "Functions": Array [ + Object { + "Fn::GetAtt": Array [ + "SubscriptiononUpdatePostpostAuth0FunctionSubscriptiononUpdatePostpostAuth0FunctionAppSyncFunction3D79B6CB", + "FunctionId", + ], + }, + Object { + "Fn::GetAtt": Array [ + "SubscriptionOnUpdatePostDataResolverFnSubscriptionOnUpdatePostDataResolverFnAppSyncFunction325AAFC9", + "FunctionId", + ], + }, + ], + }, + "RequestMappingTemplate": "mockTemplate", + "ResponseMappingTemplate": "$util.toJson($ctx.prev.result)", + "TypeName": "Subscription", + }, + "Type": "AWS::AppSync::Resolver", + }, + "SubscriptiononUpdatePostpostAuth0FunctionSubscriptiononUpdatePostpostAuth0FunctionAppSyncFunction3D79B6CB": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "DataSourceName": Object { + "Ref": "referencetotransformerrootstackGraphQLAPINONEDS2BA9D1C8Name", + }, + "FunctionVersion": "2018-05-29", + "Name": "SubscriptiononUpdatePostpostAuth0Function", + "RequestMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Subscription.onUpdatePost.postAuth.1.req.vtl", + ], + ], + }, + "ResponseMappingTemplate": "$util.toJson({})", + }, + "Type": "AWS::AppSync::FunctionConfiguration", + }, + "UpdatePostResolver": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "FieldName": "updatePost", + "Kind": "PIPELINE", + "PipelineConfig": Object { + "Functions": Array [ + Object { + "Fn::GetAtt": Array [ + "MutationupdatePostinit0FunctionMutationupdatePostinit0FunctionAppSyncFunctionBAC7D532", + "FunctionId", + ], + }, + Object { + "Fn::GetAtt": Array [ + "MutationupdatePostpostAuth0FunctionMutationupdatePostpostAuth0FunctionAppSyncFunctionB977D8DD", + "FunctionId", + ], + }, + Object { + "Fn::GetAtt": Array [ + "MutationUpdatePostDataResolverFnMutationUpdatePostDataResolverFnAppSyncFunctionBF7D410D", + "FunctionId", + ], + }, + ], + }, + "RequestMappingTemplate": Object { + "Fn::Join": Array [ + "", + Array [ + "$util.qr($ctx.stash.put(\\"typeName\\", \\"Mutation\\")) +$util.qr($ctx.stash.put(\\"fieldName\\", \\"updatePost\\")) +$util.qr($ctx.stash.put(\\"conditions\\", [])) +$util.qr($ctx.stash.put(\\"metadata\\", {})) +$util.qr($ctx.stash.metadata.put(\\"dataSourceType\\", \\"AMAZON_DYNAMODB\\")) +$util.qr($ctx.stash.metadata.put(\\"apiId\\", \\"", + Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "\\")) +$util.qr($ctx.stash.put(\\"tableName\\", \\"", + Object { + "Ref": "PostTable", + }, + "\\")) +$util.toJson({})", + ], + ], + }, + "ResponseMappingTemplate": "$util.toJson($ctx.prev.result)", + "TypeName": "Mutation", + }, + "Type": "AWS::AppSync::Resolver", + }, + }, +} +`; + +exports[`ModelTransformer: should override model objects when given override config 2`] = ` +Object { + "Conditions": Object { + "HasEnvironmentParameter": Object { + "Fn::Not": Array [ + Object { + "Fn::Equals": Array [ + Object { + "Ref": "referencetotransformerrootstackenv10C5A902Ref", + }, + "NONE", + ], + }, + ], + }, + "ShouldUsePayPerRequestBilling": Object { + "Fn::Equals": Array [ + Object { + "Ref": "DynamoDBBillingMode", + }, + "PAY_PER_REQUEST", + ], + }, + "ShouldUsePointInTimeRecovery": Object { + "Fn::Equals": Array [ + Object { + "Ref": "DynamoDBEnablePointInTimeRecovery", + }, + "true", + ], + }, + "ShouldUseServerSideEncryption": Object { + "Fn::Equals": Array [ + Object { + "Ref": "DynamoDBEnableServerSideEncryption", + }, + "true", + ], + }, + }, + "Outputs": Object { + "GetAttCommentDataSourceName": Object { + "Description": "Your model DataSource name.", + "Export": Object { + "Name": Object { + "Fn::Join": Array [ + ":", + Array [ + Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "GetAtt:CommentDataSource:Name", + ], + ], + }, + }, + "Value": Object { + "Fn::GetAtt": Array [ + "CommentDataSource", + "Name", + ], + }, + }, + "GetAttCommentTableName": Object { + "Description": "Your DynamoDB table name.", + "Export": Object { + "Name": Object { + "Fn::Join": Array [ + ":", + Array [ + Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "GetAtt:CommentTable:Name", + ], + ], + }, + }, + "Value": Object { + "Ref": "CommentTable", + }, + }, + "GetAttCommentTableStreamArn": Object { + "Description": "Your DynamoDB table StreamArn.", + "Export": Object { + "Name": Object { + "Fn::Join": Array [ + ":", + Array [ + Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "GetAtt:CommentTable:StreamArn", + ], + ], + }, + }, + "Value": Object { + "Fn::GetAtt": Array [ + "CommentTable", + "StreamArn", + ], + }, + }, + }, + "Parameters": Object { + "DynamoDBBillingMode": Object { + "AllowedValues": Array [ + "PAY_PER_REQUEST", + "PROVISIONED", + ], + "Default": "PAY_PER_REQUEST", + "Description": "Configure @model types to create DynamoDB tables with PAY_PER_REQUEST or PROVISIONED billing modes.", + "Type": "String", + }, + "DynamoDBEnablePointInTimeRecovery": Object { + "AllowedValues": Array [ + "true", + "false", + ], + "Default": "false", + "Description": "Whether to enable Point in Time Recovery on the table.", + "Type": "String", + }, + "DynamoDBEnableServerSideEncryption": Object { + "AllowedValues": Array [ + "true", + "false", + ], + "Default": "true", + "Description": "Enable server side encryption powered by KMS.", + "Type": "String", + }, + "DynamoDBModelTableReadIOPS": Object { + "Default": 5, + "Description": "The number of read IOPS the table should support.", + "Type": "Number", + }, + "DynamoDBModelTableWriteIOPS": Object { + "Default": 5, + "Description": "The number of write IOPS the table should support.", + "Type": "Number", + }, + "referencetotransformerrootstackGraphQLAPI20497F53ApiId": Object { + "Type": "String", + }, + "referencetotransformerrootstackGraphQLAPINONEDS2BA9D1C8Name": Object { + "Type": "String", + }, + "referencetotransformerrootstackS3DeploymentBucket7592718ARef": Object { + "Type": "String", + }, + "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref": Object { + "Type": "String", + }, + "referencetotransformerrootstackenv10C5A902Ref": Object { + "Type": "String", + }, + }, + "Resources": Object { + "CommentDataSource": Object { + "DependsOn": Array [ + "CommentIAMRoleD5EC5F51", + ], + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "DynamoDBConfig": Object { + "AwsRegion": Object { + "Ref": "AWS::Region", + }, + "TableName": Object { + "Ref": "CommentTable", + }, + }, + "Name": "CommentTable", + "ServiceRoleArn": Object { + "Fn::GetAtt": Array [ + "CommentIAMRoleD5EC5F51", + "Arn", + ], + }, + "Type": "AMAZON_DYNAMODB", + }, + "Type": "AWS::AppSync::DataSource", + }, + "CommentIAMRoleD5EC5F51": Object { + "Properties": Object { + "AssumeRolePolicyDocument": Object { + "Statement": Array [ + Object { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": Object { + "Service": "appsync.amazonaws.com", + }, + }, + ], + "Version": "2012-10-17", + }, + "RoleName": Object { + "Fn::Join": Array [ + "", + Array [ + "CommentIAMRole20388d-", + Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "-", + Object { + "Ref": "referencetotransformerrootstackenv10C5A902Ref", + }, + ], + ], + }, + }, + "Type": "AWS::IAM::Role", + }, + "CommentIAMRoleDefaultPolicyA8D6F6B5": Object { + "Properties": Object { + "PolicyDocument": Object { + "Statement": Array [ + Object { + "Action": Array [ + "dynamodb:BatchGetItem", + "dynamodb:GetRecords", + "dynamodb:GetShardIterator", + "dynamodb:Query", + "dynamodb:GetItem", + "dynamodb:Scan", + "dynamodb:ConditionCheckItem", + "dynamodb:BatchWriteItem", + "dynamodb:PutItem", + "dynamodb:UpdateItem", + "dynamodb:DeleteItem", + ], + "Effect": "Allow", + "Resource": Array [ + Object { + "Fn::GetAtt": Array [ + "CommentTable", + "Arn", + ], + }, + Object { + "Ref": "AWS::NoValue", + }, + ], + }, + ], + "Version": "2012-10-17", + }, + "PolicyName": "CommentIAMRoleDefaultPolicyA8D6F6B5", + "Roles": Array [ + Object { + "Ref": "CommentIAMRoleD5EC5F51", + }, + ], + }, + "Type": "AWS::IAM::Policy", + }, + "CommentTable": Object { + "DeletionPolicy": "Delete", + "Properties": Object { + "AttributeDefinitions": Array [ + Object { + "AttributeName": "id", + "AttributeType": "S", + }, + ], + "BillingMode": "PROVISIONED", + "KeySchema": Array [ + Object { + "AttributeName": "id", + "KeyType": "HASH", + }, + ], + "PointInTimeRecoverySpecification": Object { + "Fn::If": Array [ + "ShouldUsePointInTimeRecovery", + Object { + "PointInTimeRecoveryEnabled": true, + }, + Object { + "Ref": "AWS::NoValue", + }, + ], + }, + "ProvisionedThroughput": Object { + "Fn::If": Array [ + "ShouldUsePayPerRequestBilling", + Object { + "Ref": "AWS::NoValue", + }, + Object { + "ReadCapacityUnits": Object { + "Ref": "DynamoDBModelTableReadIOPS", + }, + "WriteCapacityUnits": Object { + "Ref": "DynamoDBModelTableWriteIOPS", + }, + }, + ], + }, + "SSESpecification": Object { + "SSEEnabled": Object { + "Fn::If": Array [ + "ShouldUseServerSideEncryption", + true, + false, + ], + }, + }, + "StreamSpecification": Object { + "StreamViewType": "NEW_AND_OLD_IMAGES", + }, + "TableName": Object { + "Fn::Join": Array [ + "", + Array [ + "Comment-", + Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "-", + Object { + "Ref": "referencetotransformerrootstackenv10C5A902Ref", + }, + ], + ], + }, + }, + "Type": "AWS::DynamoDB::Table", + "UpdateReplacePolicy": "Delete", + }, + "CreateCommentResolver": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "FieldName": "createComment", + "Kind": "PIPELINE", + "PipelineConfig": Object { + "Functions": Array [ + Object { + "Fn::GetAtt": Array [ + "MutationcreateCommentinit0FunctionMutationcreateCommentinit0FunctionAppSyncFunction77870FAC", + "FunctionId", + ], + }, + Object { + "Fn::GetAtt": Array [ + "MutationcreateCommentpostAuth0FunctionMutationcreateCommentpostAuth0FunctionAppSyncFunction4F8AA7FF", + "FunctionId", + ], + }, + Object { + "Fn::GetAtt": Array [ + "MutationCreateCommentDataResolverFnMutationCreateCommentDataResolverFnAppSyncFunctionD019FFE0", + "FunctionId", + ], + }, + ], + }, + "RequestMappingTemplate": Object { + "Fn::Join": Array [ + "", + Array [ + "$util.qr($ctx.stash.put(\\"typeName\\", \\"Mutation\\")) +$util.qr($ctx.stash.put(\\"fieldName\\", \\"createComment\\")) +$util.qr($ctx.stash.put(\\"conditions\\", [])) +$util.qr($ctx.stash.put(\\"metadata\\", {})) +$util.qr($ctx.stash.metadata.put(\\"dataSourceType\\", \\"AMAZON_DYNAMODB\\")) +$util.qr($ctx.stash.metadata.put(\\"apiId\\", \\"", + Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "\\")) +$util.qr($ctx.stash.put(\\"tableName\\", \\"", + Object { + "Ref": "CommentTable", + }, + "\\")) +$util.toJson({})", + ], + ], + }, + "ResponseMappingTemplate": "$util.toJson($ctx.prev.result)", + "TypeName": "Mutation", + }, + "Type": "AWS::AppSync::Resolver", + }, + "DeleteCommentResolver": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "FieldName": "deleteComment", + "Kind": "PIPELINE", + "PipelineConfig": Object { + "Functions": Array [ + Object { + "Fn::GetAtt": Array [ + "MutationdeleteCommentpostAuth0FunctionMutationdeleteCommentpostAuth0FunctionAppSyncFunctionDFFD097E", + "FunctionId", + ], + }, + Object { + "Fn::GetAtt": Array [ + "MutationDeleteCommentDataResolverFnMutationDeleteCommentDataResolverFnAppSyncFunctionD661C8CB", + "FunctionId", + ], + }, + ], + }, + "RequestMappingTemplate": Object { + "Fn::Join": Array [ + "", + Array [ + "$util.qr($ctx.stash.put(\\"typeName\\", \\"Mutation\\")) +$util.qr($ctx.stash.put(\\"fieldName\\", \\"deleteComment\\")) +$util.qr($ctx.stash.put(\\"conditions\\", [])) +$util.qr($ctx.stash.put(\\"metadata\\", {})) +$util.qr($ctx.stash.metadata.put(\\"dataSourceType\\", \\"AMAZON_DYNAMODB\\")) +$util.qr($ctx.stash.metadata.put(\\"apiId\\", \\"", + Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "\\")) +$util.qr($ctx.stash.put(\\"tableName\\", \\"", + Object { + "Ref": "CommentTable", + }, + "\\")) +$util.toJson({})", + ], + ], + }, + "ResponseMappingTemplate": "$util.toJson($ctx.prev.result)", + "TypeName": "Mutation", + }, + "Type": "AWS::AppSync::Resolver", + }, + "DynamoDBAccess71ABE5AE": Object { + "Properties": Object { + "PolicyDocument": Object { + "Statement": Array [ + Object { + "Action": Array [ + "dynamodb:BatchGetItem", + "dynamodb:BatchWriteItem", + "dynamodb:PutItem", + "dynamodb:DeleteItem", + "dynamodb:GetItem", + "dynamodb:Scan", + "dynamodb:Query", + "dynamodb:UpdateItem", + ], + "Effect": "Allow", + "Resource": Array [ + Object { + "Fn::Sub": Array [ + "arn:aws:dynamodb:\${AWS::Region}:\${AWS::AccountId}:table/\${tablename}", + Object { + "tablename": Object { + "Fn::Join": Array [ + "", + Array [ + "Comment-", + Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "-", + Object { + "Ref": "referencetotransformerrootstackenv10C5A902Ref", + }, + ], + ], + }, + }, + ], + }, + Object { + "Fn::Sub": Array [ + "arn:aws:dynamodb:\${AWS::Region}:\${AWS::AccountId}:table/\${tablename}/*", + Object { + "tablename": Object { + "Fn::Join": Array [ + "", + Array [ + "Comment-", + Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "-", + Object { + "Ref": "referencetotransformerrootstackenv10C5A902Ref", + }, + ], + ], + }, + }, + ], + }, + ], + }, + ], + "Version": "2012-10-17", + }, + "PolicyName": "DynamoDBAccess71ABE5AE", + "Roles": Array [ + Object { + "Ref": "CommentIAMRoleD5EC5F51", + }, + ], + }, + "Type": "AWS::IAM::Policy", + }, + "GetCommentResolver": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "FieldName": "getComment", + "Kind": "PIPELINE", + "PipelineConfig": Object { + "Functions": Array [ + Object { + "Fn::GetAtt": Array [ + "QuerygetCommentpostAuth0FunctionQuerygetCommentpostAuth0FunctionAppSyncFunction27405A71", + "FunctionId", + ], + }, + Object { + "Fn::GetAtt": Array [ + "QueryGetCommentDataResolverFnQueryGetCommentDataResolverFnAppSyncFunction8473E2B0", + "FunctionId", + ], + }, + ], + }, + "RequestMappingTemplate": Object { + "Fn::Join": Array [ + "", + Array [ + "$util.qr($ctx.stash.put(\\"typeName\\", \\"Query\\")) +$util.qr($ctx.stash.put(\\"fieldName\\", \\"getComment\\")) +$util.qr($ctx.stash.put(\\"conditions\\", [])) +$util.qr($ctx.stash.put(\\"metadata\\", {})) +$util.qr($ctx.stash.metadata.put(\\"dataSourceType\\", \\"AMAZON_DYNAMODB\\")) +$util.qr($ctx.stash.metadata.put(\\"apiId\\", \\"", + Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "\\")) +$util.qr($ctx.stash.put(\\"tableName\\", \\"", + Object { + "Ref": "CommentTable", + }, + "\\")) +$util.toJson({})", + ], + ], + }, + "ResponseMappingTemplate": "$util.toJson($ctx.prev.result)", + "TypeName": "Query", + }, + "Type": "AWS::AppSync::Resolver", + }, + "ListCommentResolver": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "FieldName": "listComments", + "Kind": "PIPELINE", + "PipelineConfig": Object { + "Functions": Array [ + Object { + "Fn::GetAtt": Array [ + "QuerylistCommentspostAuth0FunctionQuerylistCommentspostAuth0FunctionAppSyncFunctionEDC68EF5", + "FunctionId", + ], + }, + Object { + "Fn::GetAtt": Array [ + "QueryListCommentsDataResolverFnQueryListCommentsDataResolverFnAppSyncFunction474D4A91", + "FunctionId", + ], + }, + ], + }, + "RequestMappingTemplate": Object { + "Fn::Join": Array [ + "", + Array [ + "$util.qr($ctx.stash.put(\\"typeName\\", \\"Query\\")) +$util.qr($ctx.stash.put(\\"fieldName\\", \\"listComments\\")) +$util.qr($ctx.stash.put(\\"conditions\\", [])) +$util.qr($ctx.stash.put(\\"metadata\\", {})) +$util.qr($ctx.stash.metadata.put(\\"dataSourceType\\", \\"AMAZON_DYNAMODB\\")) +$util.qr($ctx.stash.metadata.put(\\"apiId\\", \\"", + Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "\\")) +$util.qr($ctx.stash.put(\\"tableName\\", \\"", + Object { + "Ref": "CommentTable", + }, + "\\")) +$util.toJson({})", + ], + ], + }, + "ResponseMappingTemplate": "$util.toJson($ctx.prev.result)", + "TypeName": "Query", + }, + "Type": "AWS::AppSync::Resolver", + }, + "MutationCreateCommentDataResolverFnMutationCreateCommentDataResolverFnAppSyncFunctionD019FFE0": Object { + "DependsOn": Array [ + "CommentDataSource", + ], + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "DataSourceName": Object { + "Fn::GetAtt": Array [ + "CommentDataSource", + "Name", + ], + }, + "FunctionVersion": "2018-05-29", + "Name": "MutationCreateCommentDataResolverFn", + "RequestMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Mutation.createComment.req.vtl", + ], + ], + }, + "ResponseMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Mutation.createComment.res.vtl", + ], + ], + }, + }, + "Type": "AWS::AppSync::FunctionConfiguration", + }, + "MutationDeleteCommentDataResolverFnMutationDeleteCommentDataResolverFnAppSyncFunctionD661C8CB": Object { + "DependsOn": Array [ + "CommentDataSource", + ], + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "DataSourceName": Object { + "Fn::GetAtt": Array [ + "CommentDataSource", + "Name", + ], + }, + "FunctionVersion": "2018-05-29", + "Name": "MutationDeleteCommentDataResolverFn", + "RequestMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Mutation.deleteComment.req.vtl", + ], + ], + }, + "ResponseMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Mutation.deleteComment.res.vtl", + ], + ], + }, + }, + "Type": "AWS::AppSync::FunctionConfiguration", + }, + "MutationUpdateCommentDataResolverFnMutationUpdateCommentDataResolverFnAppSyncFunctionB47372B5": Object { + "DependsOn": Array [ + "CommentDataSource", + ], + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "DataSourceName": Object { + "Fn::GetAtt": Array [ + "CommentDataSource", + "Name", + ], + }, + "FunctionVersion": "2018-05-29", + "Name": "MutationUpdateCommentDataResolverFn", + "RequestMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Mutation.updateComment.req.vtl", + ], + ], + }, + "ResponseMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Mutation.updateComment.res.vtl", + ], + ], + }, + }, + "Type": "AWS::AppSync::FunctionConfiguration", + }, + "MutationcreateCommentinit0FunctionMutationcreateCommentinit0FunctionAppSyncFunction77870FAC": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "DataSourceName": Object { + "Ref": "referencetotransformerrootstackGraphQLAPINONEDS2BA9D1C8Name", + }, + "FunctionVersion": "2018-05-29", + "Name": "MutationcreateCommentinit0Function", + "RequestMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Mutation.createComment.init.1.req.vtl", + ], + ], + }, + "ResponseMappingTemplate": "$util.toJson({})", + }, + "Type": "AWS::AppSync::FunctionConfiguration", + }, + "MutationcreateCommentpostAuth0FunctionMutationcreateCommentpostAuth0FunctionAppSyncFunction4F8AA7FF": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "DataSourceName": Object { + "Ref": "referencetotransformerrootstackGraphQLAPINONEDS2BA9D1C8Name", + }, + "FunctionVersion": "2018-05-29", + "Name": "MutationcreateCommentpostAuth0Function", + "RequestMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Mutation.createComment.postAuth.1.req.vtl", + ], + ], + }, + "ResponseMappingTemplate": "$util.toJson({})", + }, + "Type": "AWS::AppSync::FunctionConfiguration", + }, + "MutationdeleteCommentpostAuth0FunctionMutationdeleteCommentpostAuth0FunctionAppSyncFunctionDFFD097E": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "DataSourceName": Object { + "Ref": "referencetotransformerrootstackGraphQLAPINONEDS2BA9D1C8Name", + }, + "FunctionVersion": "2018-05-29", + "Name": "MutationdeleteCommentpostAuth0Function", + "RequestMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Mutation.deleteComment.postAuth.1.req.vtl", + ], + ], + }, + "ResponseMappingTemplate": "$util.toJson({})", + }, + "Type": "AWS::AppSync::FunctionConfiguration", + }, + "MutationupdateCommentinit0FunctionMutationupdateCommentinit0FunctionAppSyncFunction9C9EFBAD": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "DataSourceName": Object { + "Ref": "referencetotransformerrootstackGraphQLAPINONEDS2BA9D1C8Name", + }, + "FunctionVersion": "2018-05-29", + "Name": "MutationupdateCommentinit0Function", + "RequestMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Mutation.updateComment.init.1.req.vtl", + ], + ], + }, + "ResponseMappingTemplate": "$util.toJson({})", + }, + "Type": "AWS::AppSync::FunctionConfiguration", + }, + "MutationupdateCommentpostAuth0FunctionMutationupdateCommentpostAuth0FunctionAppSyncFunctionCDD716F2": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "DataSourceName": Object { + "Ref": "referencetotransformerrootstackGraphQLAPINONEDS2BA9D1C8Name", + }, + "FunctionVersion": "2018-05-29", + "Name": "MutationupdateCommentpostAuth0Function", + "RequestMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Mutation.updateComment.postAuth.1.req.vtl", + ], + ], + }, + "ResponseMappingTemplate": "$util.toJson({})", + }, + "Type": "AWS::AppSync::FunctionConfiguration", + }, + "QueryGetCommentDataResolverFnQueryGetCommentDataResolverFnAppSyncFunction8473E2B0": Object { + "DependsOn": Array [ + "CommentDataSource", + ], + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "DataSourceName": Object { + "Fn::GetAtt": Array [ + "CommentDataSource", + "Name", + ], + }, + "FunctionVersion": "2018-05-29", + "Name": "QueryGetCommentDataResolverFn", + "RequestMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Query.getComment.req.vtl", + ], + ], + }, + "ResponseMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Query.getComment.res.vtl", + ], + ], + }, + }, + "Type": "AWS::AppSync::FunctionConfiguration", + }, + "QueryListCommentsDataResolverFnQueryListCommentsDataResolverFnAppSyncFunction474D4A91": Object { + "DependsOn": Array [ + "CommentDataSource", + ], + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "DataSourceName": Object { + "Fn::GetAtt": Array [ + "CommentDataSource", + "Name", + ], + }, + "FunctionVersion": "2018-05-29", + "Name": "QueryListCommentsDataResolverFn", + "RequestMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Query.listComments.req.vtl", + ], + ], + }, + "ResponseMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Query.listComments.res.vtl", + ], + ], + }, + }, + "Type": "AWS::AppSync::FunctionConfiguration", + }, + "QuerygetCommentpostAuth0FunctionQuerygetCommentpostAuth0FunctionAppSyncFunction27405A71": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "DataSourceName": Object { + "Ref": "referencetotransformerrootstackGraphQLAPINONEDS2BA9D1C8Name", + }, + "FunctionVersion": "2018-05-29", + "Name": "QuerygetCommentpostAuth0Function", + "RequestMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Query.getComment.postAuth.1.req.vtl", + ], + ], + }, + "ResponseMappingTemplate": "$util.toJson({})", + }, + "Type": "AWS::AppSync::FunctionConfiguration", + }, + "QuerylistCommentspostAuth0FunctionQuerylistCommentspostAuth0FunctionAppSyncFunctionEDC68EF5": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "DataSourceName": Object { + "Ref": "referencetotransformerrootstackGraphQLAPINONEDS2BA9D1C8Name", + }, + "FunctionVersion": "2018-05-29", + "Name": "QuerylistCommentspostAuth0Function", + "RequestMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Query.listComments.postAuth.1.req.vtl", + ], + ], + }, + "ResponseMappingTemplate": "$util.toJson({})", + }, + "Type": "AWS::AppSync::FunctionConfiguration", + }, + "SubscriptionOnCreateCommentDataResolverFnSubscriptionOnCreateCommentDataResolverFnAppSyncFunction72E30EF8": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "DataSourceName": Object { + "Ref": "referencetotransformerrootstackGraphQLAPINONEDS2BA9D1C8Name", + }, + "FunctionVersion": "2018-05-29", + "Name": "SubscriptionOnCreateCommentDataResolverFn", + "RequestMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Subscription.onCreateComment.req.vtl", + ], + ], + }, + "ResponseMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Subscription.onCreateComment.res.vtl", + ], + ], + }, + }, + "Type": "AWS::AppSync::FunctionConfiguration", + }, + "SubscriptionOnDeleteCommentDataResolverFnSubscriptionOnDeleteCommentDataResolverFnAppSyncFunctionB17CE9F9": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "DataSourceName": Object { + "Ref": "referencetotransformerrootstackGraphQLAPINONEDS2BA9D1C8Name", + }, + "FunctionVersion": "2018-05-29", + "Name": "SubscriptionOnDeleteCommentDataResolverFn", + "RequestMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Subscription.onDeleteComment.req.vtl", + ], + ], + }, + "ResponseMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Subscription.onDeleteComment.res.vtl", + ], + ], + }, + }, + "Type": "AWS::AppSync::FunctionConfiguration", + }, + "SubscriptionOnUpdateCommentDataResolverFnSubscriptionOnUpdateCommentDataResolverFnAppSyncFunction6B18681F": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "DataSourceName": Object { + "Ref": "referencetotransformerrootstackGraphQLAPINONEDS2BA9D1C8Name", + }, + "FunctionVersion": "2018-05-29", + "Name": "SubscriptionOnUpdateCommentDataResolverFn", + "RequestMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Subscription.onUpdateComment.req.vtl", + ], + ], + }, + "ResponseMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Subscription.onUpdateComment.res.vtl", + ], + ], + }, + }, + "Type": "AWS::AppSync::FunctionConfiguration", + }, + "SubscriptiononCreateCommentResolver": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "FieldName": "onCreateComment", + "Kind": "PIPELINE", + "PipelineConfig": Object { + "Functions": Array [ + Object { + "Fn::GetAtt": Array [ + "SubscriptiononCreateCommentpostAuth0FunctionSubscriptiononCreateCommentpostAuth0FunctionAppSyncFunction34E6A73D", + "FunctionId", + ], + }, + Object { + "Fn::GetAtt": Array [ + "SubscriptionOnCreateCommentDataResolverFnSubscriptionOnCreateCommentDataResolverFnAppSyncFunction72E30EF8", + "FunctionId", + ], + }, + ], + }, + "RequestMappingTemplate": Object { + "Fn::Join": Array [ + "", + Array [ + "$util.qr($ctx.stash.put(\\"typeName\\", \\"Subscription\\")) +$util.qr($ctx.stash.put(\\"fieldName\\", \\"onCreateComment\\")) +$util.qr($ctx.stash.put(\\"conditions\\", [])) +$util.qr($ctx.stash.put(\\"metadata\\", {})) +$util.qr($ctx.stash.metadata.put(\\"dataSourceType\\", \\"NONE\\")) +$util.qr($ctx.stash.metadata.put(\\"apiId\\", \\"", + Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "\\")) + +$util.toJson({})", + ], + ], + }, + "ResponseMappingTemplate": "$util.toJson($ctx.prev.result)", + "TypeName": "Subscription", + }, + "Type": "AWS::AppSync::Resolver", + }, + "SubscriptiononCreateCommentpostAuth0FunctionSubscriptiononCreateCommentpostAuth0FunctionAppSyncFunction34E6A73D": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "DataSourceName": Object { + "Ref": "referencetotransformerrootstackGraphQLAPINONEDS2BA9D1C8Name", + }, + "FunctionVersion": "2018-05-29", + "Name": "SubscriptiononCreateCommentpostAuth0Function", + "RequestMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Subscription.onCreateComment.postAuth.1.req.vtl", + ], + ], + }, + "ResponseMappingTemplate": "$util.toJson({})", + }, + "Type": "AWS::AppSync::FunctionConfiguration", + }, + "SubscriptiononDeleteCommentResolver": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "FieldName": "onDeleteComment", + "Kind": "PIPELINE", + "PipelineConfig": Object { + "Functions": Array [ + Object { + "Fn::GetAtt": Array [ + "SubscriptiononDeleteCommentpostAuth0FunctionSubscriptiononDeleteCommentpostAuth0FunctionAppSyncFunction67A1094D", + "FunctionId", + ], + }, + Object { + "Fn::GetAtt": Array [ + "SubscriptionOnDeleteCommentDataResolverFnSubscriptionOnDeleteCommentDataResolverFnAppSyncFunctionB17CE9F9", + "FunctionId", + ], + }, + ], + }, + "RequestMappingTemplate": Object { + "Fn::Join": Array [ + "", + Array [ + "$util.qr($ctx.stash.put(\\"typeName\\", \\"Subscription\\")) +$util.qr($ctx.stash.put(\\"fieldName\\", \\"onDeleteComment\\")) +$util.qr($ctx.stash.put(\\"conditions\\", [])) +$util.qr($ctx.stash.put(\\"metadata\\", {})) +$util.qr($ctx.stash.metadata.put(\\"dataSourceType\\", \\"NONE\\")) +$util.qr($ctx.stash.metadata.put(\\"apiId\\", \\"", + Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "\\")) + +$util.toJson({})", + ], + ], + }, + "ResponseMappingTemplate": "$util.toJson($ctx.prev.result)", + "TypeName": "Subscription", + }, + "Type": "AWS::AppSync::Resolver", + }, + "SubscriptiononDeleteCommentpostAuth0FunctionSubscriptiononDeleteCommentpostAuth0FunctionAppSyncFunction67A1094D": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "DataSourceName": Object { + "Ref": "referencetotransformerrootstackGraphQLAPINONEDS2BA9D1C8Name", + }, + "FunctionVersion": "2018-05-29", + "Name": "SubscriptiononDeleteCommentpostAuth0Function", + "RequestMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Subscription.onDeleteComment.postAuth.1.req.vtl", + ], + ], + }, + "ResponseMappingTemplate": "$util.toJson({})", + }, + "Type": "AWS::AppSync::FunctionConfiguration", + }, + "SubscriptiononUpdateCommentResolver": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "FieldName": "onUpdateComment", + "Kind": "PIPELINE", + "PipelineConfig": Object { + "Functions": Array [ + Object { + "Fn::GetAtt": Array [ + "SubscriptiononUpdateCommentpostAuth0FunctionSubscriptiononUpdateCommentpostAuth0FunctionAppSyncFunction0EF93814", + "FunctionId", + ], + }, + Object { + "Fn::GetAtt": Array [ + "SubscriptionOnUpdateCommentDataResolverFnSubscriptionOnUpdateCommentDataResolverFnAppSyncFunction6B18681F", + "FunctionId", + ], + }, + ], + }, + "RequestMappingTemplate": Object { + "Fn::Join": Array [ + "", + Array [ + "$util.qr($ctx.stash.put(\\"typeName\\", \\"Subscription\\")) +$util.qr($ctx.stash.put(\\"fieldName\\", \\"onUpdateComment\\")) +$util.qr($ctx.stash.put(\\"conditions\\", [])) +$util.qr($ctx.stash.put(\\"metadata\\", {})) +$util.qr($ctx.stash.metadata.put(\\"dataSourceType\\", \\"NONE\\")) +$util.qr($ctx.stash.metadata.put(\\"apiId\\", \\"", + Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "\\")) + +$util.toJson({})", + ], + ], + }, + "ResponseMappingTemplate": "$util.toJson($ctx.prev.result)", + "TypeName": "Subscription", + }, + "Type": "AWS::AppSync::Resolver", + }, + "SubscriptiononUpdateCommentpostAuth0FunctionSubscriptiononUpdateCommentpostAuth0FunctionAppSyncFunction0EF93814": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "DataSourceName": Object { + "Ref": "referencetotransformerrootstackGraphQLAPINONEDS2BA9D1C8Name", + }, + "FunctionVersion": "2018-05-29", + "Name": "SubscriptiononUpdateCommentpostAuth0Function", + "RequestMappingTemplateS3Location": Object { + "Fn::Join": Array [ + "", + Array [ + "s3://", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "/", + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/resolvers/Subscription.onUpdateComment.postAuth.1.req.vtl", + ], + ], + }, + "ResponseMappingTemplate": "$util.toJson({})", + }, + "Type": "AWS::AppSync::FunctionConfiguration", + }, + "UpdateCommentResolver": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "FieldName": "updateComment", + "Kind": "PIPELINE", + "PipelineConfig": Object { + "Functions": Array [ + Object { + "Fn::GetAtt": Array [ + "MutationupdateCommentinit0FunctionMutationupdateCommentinit0FunctionAppSyncFunction9C9EFBAD", + "FunctionId", + ], + }, + Object { + "Fn::GetAtt": Array [ + "MutationupdateCommentpostAuth0FunctionMutationupdateCommentpostAuth0FunctionAppSyncFunctionCDD716F2", + "FunctionId", + ], + }, + Object { + "Fn::GetAtt": Array [ + "MutationUpdateCommentDataResolverFnMutationUpdateCommentDataResolverFnAppSyncFunctionB47372B5", + "FunctionId", + ], + }, + ], + }, + "RequestMappingTemplate": Object { + "Fn::Join": Array [ + "", + Array [ + "$util.qr($ctx.stash.put(\\"typeName\\", \\"Mutation\\")) +$util.qr($ctx.stash.put(\\"fieldName\\", \\"updateComment\\")) +$util.qr($ctx.stash.put(\\"conditions\\", [])) +$util.qr($ctx.stash.put(\\"metadata\\", {})) +$util.qr($ctx.stash.metadata.put(\\"dataSourceType\\", \\"AMAZON_DYNAMODB\\")) +$util.qr($ctx.stash.metadata.put(\\"apiId\\", \\"", + Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "\\")) +$util.qr($ctx.stash.put(\\"tableName\\", \\"", + Object { + "Ref": "CommentTable", + }, + "\\")) +$util.toJson({})", + ], + ], + }, + "ResponseMappingTemplate": "$util.toJson($ctx.prev.result)", + "TypeName": "Mutation", + }, + "Type": "AWS::AppSync::Resolver", + }, + }, +} +`; diff --git a/packages/amplify-graphql-model-transformer/src/__tests__/model-transformer-override.test.ts b/packages/amplify-graphql-model-transformer/src/__tests__/model-transformer-override.test.ts new file mode 100644 index 00000000000..5b628a4814e --- /dev/null +++ b/packages/amplify-graphql-model-transformer/src/__tests__/model-transformer-override.test.ts @@ -0,0 +1,41 @@ +import { ModelTransformer } from '@aws-amplify/graphql-model-transformer'; +import { GraphQLTransform } from '@aws-amplify/graphql-transformer-core'; +import path from 'path'; + +const featureFlags = { + getBoolean: jest.fn(), + getNumber: jest.fn(), + getObject: jest.fn(), + getString: jest.fn(), +}; + +describe('ModelTransformer: ', () => { + it('should override model objects when given override config', () => { + const validSchema = ` + type Post @model { + id: ID! + comments: [Comment] + } + type Comment @model{ + id: String! + text: String! + } + `; + const transformer = new GraphQLTransform({ + transformers: [new ModelTransformer()], + overrideConfig: { + overrideDir: path.join(__dirname, 'overrides'), + overrideFlag: true, + resourceName: 'myResource', + }, + featureFlags, + }); + const out = transformer.transform(validSchema); + expect(out).toBeDefined(); + const postStack = out.stacks.Post; + const commentStack = out.stacks.Comment; + + expect(postStack).toMatchSnapshot(); + expect(commentStack).toMatchSnapshot(); + }); +}); diff --git a/packages/amplify-graphql-model-transformer/src/__tests__/model-transformer.test.ts b/packages/amplify-graphql-model-transformer/src/__tests__/model-transformer.test.ts index e977ee27264..4c3abf72305 100644 --- a/packages/amplify-graphql-model-transformer/src/__tests__/model-transformer.test.ts +++ b/packages/amplify-graphql-model-transformer/src/__tests__/model-transformer.test.ts @@ -897,10 +897,8 @@ describe('ModelTransformer: ', () => { const transformer = new GraphQLTransform({ transformers: [new ModelTransformer()], featureFlags, - transformConfig: { - ResolverConfig: { - project: config, - }, + resolverConfig: { + project: config, }, }); const out = transformer.transform(validSchema); @@ -934,10 +932,8 @@ describe('ModelTransformer: ', () => { const transformer = new GraphQLTransform({ transformers: [new ModelTransformer()], featureFlags, - transformConfig: { - ResolverConfig: { - project: config, - }, + resolverConfig: { + project: config, }, }); const out = transformer.transform(validSchema); @@ -968,10 +964,8 @@ describe('ModelTransformer: ', () => { const transformer = new GraphQLTransform({ transformers: [new ModelTransformer()], featureFlags, - transformConfig: { - ResolverConfig: { - project: config, - }, + resolverConfig: { + project: config, }, }); const out = transformer.transform(validSchema); @@ -1000,10 +994,8 @@ describe('ModelTransformer: ', () => { const transformer = new GraphQLTransform({ transformers: [new ModelTransformer()], featureFlags, - transformConfig: { - ResolverConfig: { - project: config, - }, + resolverConfig: { + project: config, }, }); const out = transformer.transform(validSchema); @@ -1096,12 +1088,11 @@ describe('ModelTransformer: ', () => { }`; const transformer = new GraphQLTransform({ - transformConfig: { - ResolverConfig: { - project: { - ConflictDetection: 'VERSION', - ConflictHandler: ConflictHandlerType.AUTOMERGE, - }, + transformConfig: {}, + resolverConfig: { + project: { + ConflictDetection: 'VERSION', + ConflictHandler: ConflictHandlerType.AUTOMERGE, }, }, sandboxModeEnabled: true, diff --git a/packages/amplify-graphql-model-transformer/src/__tests__/overrides/build/override.js b/packages/amplify-graphql-model-transformer/src/__tests__/overrides/build/override.js new file mode 100644 index 00000000000..c671102ef7b --- /dev/null +++ b/packages/amplify-graphql-model-transformer/src/__tests__/overrides/build/override.js @@ -0,0 +1,8 @@ +function override(resource) { + resource.api.GraphQLAPI.xrayEnabled = true; + resource.models['Post'].modelDDBTable.billingMode = 'PROVISIONED'; + resource.models['Comment'].modelDDBTable.billingMode = 'PROVISIONED'; + // override resolver + resource.models['Post'].resolvers['subscriptionOnUpdatePostResolver'].requestMappingTemplate = 'mockTemplate'; +} +exports.override = override; diff --git a/packages/amplify-graphql-predictions-transformer/package.json b/packages/amplify-graphql-predictions-transformer/package.json index cc22c20af94..93cfa8ab6ce 100644 --- a/packages/amplify-graphql-predictions-transformer/package.json +++ b/packages/amplify-graphql-predictions-transformer/package.json @@ -54,6 +54,7 @@ "json", "node" ], - "collectCoverage": true + "collectCoverage": true, + "modulePathIgnorePatterns": ["overrides"] } } diff --git a/packages/amplify-graphql-predictions-transformer/src/__tests__/__snapshots__/amplify-graphql-predictions-transformer-override.test.ts.snap b/packages/amplify-graphql-predictions-transformer/src/__tests__/__snapshots__/amplify-graphql-predictions-transformer-override.test.ts.snap new file mode 100644 index 00000000000..015fdc0609b --- /dev/null +++ b/packages/amplify-graphql-predictions-transformer/src/__tests__/__snapshots__/amplify-graphql-predictions-transformer-override.test.ts.snap @@ -0,0 +1,828 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`it generates resources with overrides 1`] = ` +Object { + "PredictionsDirectiveStack": Object { + "Conditions": Object { + "HasEnvironmentParameter": Object { + "Fn::Not": Array [ + Object { + "Fn::Equals": Array [ + Object { + "Ref": "referencetotransformerrootstackenv10C5A902Ref", + }, + "NONE", + ], + }, + ], + }, + }, + "Parameters": Object { + "referencetotransformerrootstackGraphQLAPI20497F53ApiId": Object { + "Type": "String", + }, + "referencetotransformerrootstackS3DeploymentBucket7592718ARef": Object { + "Type": "String", + }, + "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref": Object { + "Type": "String", + }, + "referencetotransformerrootstackenv10C5A902Ref": Object { + "Type": "String", + }, + }, + "Resources": Object { + "LambdaDataSource": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "LambdaConfig": Object { + "LambdaFunctionArn": Object { + "Fn::GetAtt": Array [ + "predictionsLambdahandlerC696C27E", + "Arn", + ], + }, + }, + "Name": "LambdaDataSource", + "ServiceRoleArn": Object { + "Fn::GetAtt": Array [ + "predictionsIAMRole5BB74A99", + "Arn", + ], + }, + "Type": "AWS_LAMBDA", + }, + "Type": "AWS::AppSync::DataSource", + }, + "LambdaDataSourceServiceRole81BB3362": Object { + "Properties": Object { + "AssumeRolePolicyDocument": Object { + "Statement": Array [ + Object { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": Object { + "Service": "appsync.amazonaws.com", + }, + }, + ], + "Version": "2012-10-17", + }, + }, + "Type": "AWS::IAM::Role", + }, + "LambdaDataSourceServiceRoleDefaultPolicy00CC76B1": Object { + "Properties": Object { + "PolicyDocument": Object { + "Statement": Array [ + Object { + "Action": "lambda:InvokeFunction", + "Effect": "Allow", + "Resource": Object { + "Fn::GetAtt": Array [ + "predictionsLambdahandlerC696C27E", + "Arn", + ], + }, + }, + ], + "Version": "2012-10-17", + }, + "PolicyName": "LambdaDataSourceServiceRoleDefaultPolicy00CC76B1", + "Roles": Array [ + Object { + "Ref": "LambdaDataSourceServiceRole81BB3362", + }, + ], + }, + "Type": "AWS::IAM::Policy", + }, + "PredictionsLambdaAccess4D9DA807": Object { + "Properties": Object { + "PolicyDocument": Object { + "Statement": Array [ + Object { + "Action": "lambda:InvokeFunction", + "Effect": "Allow", + "Resource": Object { + "Fn::GetAtt": Array [ + "predictionsLambdahandlerC696C27E", + "Arn", + ], + }, + }, + ], + "Version": "2012-10-17", + }, + "PolicyName": "PredictionsLambdaAccess4D9DA807", + "Roles": Array [ + Object { + "Ref": "predictionsIAMRole5BB74A99", + }, + ], + }, + "Type": "AWS::IAM::Policy", + }, + "PredictionsStorageAccess68CD5140": Object { + "Properties": Object { + "PolicyDocument": Object { + "Statement": Array [ + Object { + "Action": "s3:GetObject", + "Effect": "Allow", + "Resource": Object { + "Fn::If": Array [ + "HasEnvironmentParameter", + Object { + "Fn::Sub": Array [ + "arn:aws:s3:::myStorage\${hash}-\${env}/public/*", + Object { + "env": Object { + "Ref": "referencetotransformerrootstackenv10C5A902Ref", + }, + "hash": Object { + "Fn::Select": Array [ + 3, + Object { + "Fn::Split": Array [ + "-", + Object { + "Ref": "AWS::StackName", + }, + ], + }, + ], + }, + }, + ], + }, + Object { + "Fn::Sub": Array [ + "arn:aws:s3:::myStorage\${hash}/public/*", + Object { + "hash": Object { + "Fn::Select": Array [ + 3, + Object { + "Fn::Split": Array [ + "-", + Object { + "Ref": "AWS::StackName", + }, + ], + }, + ], + }, + }, + ], + }, + ], + }, + }, + ], + "Version": "2012-10-17", + }, + "PolicyName": "PredictionsStorageAccess68CD5140", + "Roles": Array [ + Object { + "Ref": "predictionsIAMRole5BB74A99", + }, + ], + }, + "Type": "AWS::IAM::Policy", + }, + "QueryspeakTranslatedIdentifiedTextResolver": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "FieldName": "speakTranslatedIdentifiedText", + "Kind": "PIPELINE", + "PipelineConfig": Object { + "Functions": Array [ + Object { + "Fn::GetAtt": Array [ + "identifyTextFunctionidentifyTextFunctionAppSyncFunction7877885A", + "FunctionId", + ], + }, + Object { + "Fn::GetAtt": Array [ + "translateTextFunctiontranslateTextFunctionAppSyncFunction77C9D7A9", + "FunctionId", + ], + }, + Object { + "Fn::GetAtt": Array [ + "convertTextToSpeechFunctionconvertTextToSpeechFunctionAppSyncFunction15BC20B8", + "FunctionId", + ], + }, + ], + }, + "RequestMappingTemplate": Object { + "Fn::Join": Array [ + " +", + Array [ + Object { + "Fn::If": Array [ + "HasEnvironmentParameter", + Object { + "Fn::Sub": Array [ + "$util.qr($ctx.stash.put(\\"s3Bucket\\", \\"myStorage\${hash}-\${env}\\"))", + Object { + "env": Object { + "Ref": "referencetotransformerrootstackenv10C5A902Ref", + }, + "hash": Object { + "Fn::Select": Array [ + 3, + Object { + "Fn::Split": Array [ + "-", + Object { + "Ref": "AWS::StackName", + }, + ], + }, + ], + }, + }, + ], + }, + Object { + "Fn::Sub": Array [ + "$util.qr($ctx.stash.put(\\"s3Bucket\\", \\"myStorage\${hash}\\"))", + Object { + "hash": Object { + "Fn::Select": Array [ + 3, + Object { + "Fn::Split": Array [ + "-", + Object { + "Ref": "AWS::StackName", + }, + ], + }, + ], + }, + }, + ], + }, + ], + }, + "$util.qr($ctx.stash.put(\\"isList\\", false)) +{}", + ], + ], + }, + "ResponseMappingTemplate": "## If the result is a list return the result as a list ** +#if( $ctx.stash.get(\\"isList\\") ) + #set( $result = $ctx.result.split(\\"[ ,]+\\") ) + $util.toJson($result) +#else + $util.toJson($ctx.result) +#end", + "TypeName": "Query", + }, + "Type": "AWS::AppSync::Resolver", + }, + "QueryspeakTranslatedLabelTextResolver": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "FieldName": "speakTranslatedLabelText", + "Kind": "PIPELINE", + "PipelineConfig": Object { + "Functions": Array [ + Object { + "Fn::GetAtt": Array [ + "identifyLabelsFunctionidentifyLabelsFunctionAppSyncFunction7C2A1E61", + "FunctionId", + ], + }, + Object { + "Fn::GetAtt": Array [ + "translateTextFunctiontranslateTextFunctionAppSyncFunction77C9D7A9", + "FunctionId", + ], + }, + Object { + "Fn::GetAtt": Array [ + "convertTextToSpeechFunctionconvertTextToSpeechFunctionAppSyncFunction15BC20B8", + "FunctionId", + ], + }, + ], + }, + "RequestMappingTemplate": "mockTeplate", + "ResponseMappingTemplate": "## If the result is a list return the result as a list ** +#if( $ctx.stash.get(\\"isList\\") ) + #set( $result = $ctx.result.split(\\"[ ,]+\\") ) + $util.toJson($result) +#else + $util.toJson($ctx.result) +#end", + "TypeName": "Query", + }, + "Type": "AWS::AppSync::Resolver", + }, + "RekognitionDataSource": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "HttpConfig": Object { + "AuthorizationConfig": Object { + "AuthorizationType": "AWS_IAM", + "AwsIamConfig": Object { + "SigningRegion": Object { + "Fn::Sub": "\${AWS::Region}", + }, + "SigningServiceName": "rekognition", + }, + }, + "Endpoint": Object { + "Fn::Sub": "https://rekognition.\${AWS::Region}.amazonaws.com", + }, + }, + "Name": "RekognitionDataSource", + "ServiceRoleArn": Object { + "Fn::GetAtt": Array [ + "predictionsIAMRole5BB74A99", + "Arn", + ], + }, + "Type": "HTTP", + }, + "Type": "AWS::AppSync::DataSource", + }, + "RekognitionDataSourceServiceRole3628B5DB": Object { + "Properties": Object { + "AssumeRolePolicyDocument": Object { + "Statement": Array [ + Object { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": Object { + "Service": "appsync.amazonaws.com", + }, + }, + ], + "Version": "2012-10-17", + }, + }, + "Type": "AWS::IAM::Role", + }, + "TranslateDataSource": Object { + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "HttpConfig": Object { + "AuthorizationConfig": Object { + "AuthorizationType": "AWS_IAM", + "AwsIamConfig": Object { + "SigningRegion": Object { + "Fn::Sub": "\${AWS::Region}", + }, + "SigningServiceName": "translate", + }, + }, + "Endpoint": Object { + "Fn::Sub": "https://translate.\${AWS::Region}.amazonaws.com", + }, + }, + "Name": "TranslateDataSource", + "ServiceRoleArn": "mockArn", + "Type": "HTTP", + }, + "Type": "AWS::AppSync::DataSource", + }, + "TranslateDataSourceServiceRole2FE48B83": Object { + "Properties": Object { + "AssumeRolePolicyDocument": Object { + "Statement": Array [ + Object { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": Object { + "Service": "appsync.amazonaws.com", + }, + }, + ], + "Version": "2012-10-17", + }, + }, + "Type": "AWS::IAM::Role", + }, + "convertTextToSpeechFunctionconvertTextToSpeechFunctionAppSyncFunction15BC20B8": Object { + "DependsOn": Array [ + "LambdaDataSource", + ], + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "DataSourceName": Object { + "Fn::GetAtt": Array [ + "LambdaDataSource", + "Name", + ], + }, + "FunctionVersion": "2018-05-29", + "Name": "convertTextToSpeechFunction", + "RequestMappingTemplate": "#set( $bucketName = $ctx.stash.get(\\"s3Bucket\\") ) +$util.qr($ctx.stash.put(\\"isList\\", false)) +#set( $text = $util.defaultIfNull($ctx.args.input.convertTextToSpeech.text, $ctx.prev.result) ) +{ + \\"version\\": \\"2018-05-29\\", + \\"operation\\": \\"Invoke\\", + \\"payload\\": $util.toJson({ + \\"uuid\\": \\"$util.autoId()\\", + \\"action\\": \\"convertTextToSpeech\\", + \\"voiceID\\": $ctx.args.input.convertTextToSpeech.voiceID, + \\"text\\": $text +}) +}", + "ResponseMappingTemplate": "#if( $ctx.error ) +$util.error($ctx.error.message, $ctx.error.type) +#end +#set( $response = $util.parseJson($ctx.result) ) +$util.toJson($ctx.result.url)", + }, + "Type": "AWS::AppSync::FunctionConfiguration", + }, + "identifyLabelsAccess7BFAF94B": Object { + "Properties": Object { + "PolicyDocument": Object { + "Statement": Array [ + Object { + "Action": "rekognition:DetectLabels", + "Effect": "Allow", + "Resource": "*", + }, + ], + "Version": "2012-10-17", + }, + "PolicyName": "identifyLabelsAccess7BFAF94B", + "Roles": Array [ + Object { + "Ref": "predictionsIAMRole5BB74A99", + }, + ], + }, + "Type": "AWS::IAM::Policy", + }, + "identifyLabelsFunctionidentifyLabelsFunctionAppSyncFunction7C2A1E61": Object { + "DependsOn": Array [ + "RekognitionDataSource", + ], + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "DataSourceName": Object { + "Fn::GetAtt": Array [ + "RekognitionDataSource", + "Name", + ], + }, + "FunctionVersion": "2018-05-29", + "Name": "identifyLabelsFunction", + "RequestMappingTemplate": "#set( $bucketName = $ctx.stash.get(\\"s3Bucket\\") ) +#set( $identifyLabelKey = $ctx.args.input.identifyLabels.key ) +$util.qr($ctx.stash.put(\\"isList\\", true)) +#set( $identifyLabelsPayload = { + \\"version\\": \\"2018-05-29\\", + \\"method\\": \\"POST\\", + \\"resourcePath\\": \\"/\\", + \\"params\\": { + \\"body\\": { + \\"Image\\": { + \\"S3Object\\": { + \\"Bucket\\": \\"$bucketName\\", + \\"Name\\": \\"public/$identifyLabelKey\\" + } + }, + \\"MaxLabels\\": 10, + \\"MinConfidence\\": 55 + }, + \\"headers\\": { + \\"Content-Type\\": \\"application/x-amz-json-1.1\\", + \\"X-Amz-Target\\": \\"RekognitionService.DetectLabels\\" + } + } +} ) +$util.toJson($identifyLabelsPayload)", + "ResponseMappingTemplate": "#if( $ctx.error ) +$util.error($ctx.error.message) +#end +#if( $ctx.result.statusCode == 200 ) + #set( $labels = \\"\\" ) + #set( $result = $util.parseJson($ctx.result.body) ) + #foreach( $label in $result.Labels ) + #set( $labels = \\"$labels$label.Name, \\" ) + #end + $util.toJson($labels.replaceAll(\\", $\\", \\"\\")) +#else +$util.error($ctx.result.body) +#end", + }, + "Type": "AWS::AppSync::FunctionConfiguration", + }, + "identifyTextAccess5A2D7702": Object { + "Properties": Object { + "PolicyDocument": Object { + "Statement": Array [ + Object { + "Action": "rekognition:DetectText", + "Effect": "Allow", + "Resource": "*", + }, + ], + "Version": "2012-10-17", + }, + "PolicyName": "identifyTextAccess5A2D7702", + "Roles": Array [ + Object { + "Ref": "predictionsIAMRole5BB74A99", + }, + ], + }, + "Type": "AWS::IAM::Policy", + }, + "identifyTextFunctionidentifyTextFunctionAppSyncFunction7877885A": Object { + "DependsOn": Array [ + "RekognitionDataSource", + ], + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "DataSourceName": Object { + "Fn::GetAtt": Array [ + "RekognitionDataSource", + "Name", + ], + }, + "FunctionVersion": "2018-05-29", + "Name": "identifyTextFunction", + "RequestMappingTemplate": "#set( $bucketName = $ctx.stash.get(\\"s3Bucket\\") ) +#set( $identityTextKey = $ctx.args.input.identifyText.key ) +#set( $identifyTextPayload = { + \\"version\\": \\"2018-05-29\\", + \\"method\\": \\"POST\\", + \\"resourcePath\\": \\"/\\", + \\"params\\": { + \\"body\\": { + \\"Image\\": { + \\"S3Object\\": { + \\"Bucket\\": \\"$bucketName\\", + \\"Name\\": \\"public/$identityTextKey\\" + } + } + }, + \\"headers\\": { + \\"Content-Type\\": \\"application/x-amz-json-1.1\\", + \\"X-Amz-Target\\": \\"RekognitionService.DetectText\\" + } + } +} ) +$util.toJson($identifyTextPayload)", + "ResponseMappingTemplate": "#if( $ctx.error ) +$util.error($ctx.error.message) +#end +#if( $ctx.result.statusCode == 200 ) + #set( $results = $util.parseJson($ctx.result.body) ) + #set( $finalResult = \\"\\" ) + #foreach( $item in $results.TextDetections ) + #if( $item.Type == \\"LINE\\" ) + #set( $finalResult = \\"$finalResult$item.DetectedText \\" ) + #end + #end +$util.toJson($finalResult.trim()) +#else +$utils.error($ctx.result.body) +#end", + }, + "Type": "AWS::AppSync::FunctionConfiguration", + }, + "predictionsIAMRole5BB74A99": Object { + "Properties": Object { + "AssumeRolePolicyDocument": Object { + "Statement": Array [ + Object { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": Object { + "Service": "appsync.amazonaws.com", + }, + }, + ], + "Version": "2012-10-17", + }, + "RoleName": Object { + "Fn::If": Array [ + "HasEnvironmentParameter", + Object { + "Fn::Join": Array [ + "-", + Array [ + "predictionsIAMRole", + Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + Object { + "Ref": "referencetotransformerrootstackenv10C5A902Ref", + }, + ], + ], + }, + Object { + "Fn::Join": Array [ + "-", + Array [ + "predictionsIAMRole", + Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + ], + ], + }, + ], + }, + }, + "Type": "AWS::IAM::Role", + }, + "predictionsLambdaIAMRoleB8AC96D3": Object { + "Properties": Object { + "AssumeRolePolicyDocument": Object { + "Statement": Array [ + Object { + "Action": "sts:AssumeRole", + "Effect": "Allow", + "Principal": Object { + "Service": "lambda.amazonaws.com", + }, + }, + ], + "Version": "2012-10-17", + }, + "Policies": Array [ + Object { + "PolicyDocument": Object { + "Statement": Array [ + Object { + "Action": "polly:SynthesizeSpeech", + "Effect": "Allow", + "Resource": "*", + }, + ], + "Version": "2012-10-17", + }, + "PolicyName": "PollyAccess", + }, + ], + "RoleName": Object { + "Fn::If": Array [ + "HasEnvironmentParameter", + Object { + "Fn::Join": Array [ + "-", + Array [ + "predictionsLambdaIAMRole", + Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + Object { + "Ref": "referencetotransformerrootstackenv10C5A902Ref", + }, + ], + ], + }, + Object { + "Fn::Join": Array [ + "-", + Array [ + "predictionsLambdaIAMRole", + Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + ], + ], + }, + ], + }, + }, + "Type": "AWS::IAM::Role", + }, + "predictionsLambdahandlerC696C27E": Object { + "DependsOn": Array [ + "predictionsLambdaIAMRoleB8AC96D3", + ], + "Properties": Object { + "Code": Object { + "S3Bucket": Object { + "Ref": "referencetotransformerrootstackS3DeploymentBucket7592718ARef", + }, + "S3Key": Object { + "Fn::Join": Array [ + "", + Array [ + Object { + "Ref": "referencetotransformerrootstackS3DeploymentRootKeyA71EA735Ref", + }, + "/functions/predictionsLambdaFunction.zip", + ], + ], + }, + }, + "Handler": "predictionsLambda.handler", + "Role": Object { + "Fn::GetAtt": Array [ + "predictionsLambdaIAMRoleB8AC96D3", + "Arn", + ], + }, + "Runtime": "nodejs12.x", + "Timeout": 60, + }, + "Type": "AWS::Lambda::Function", + }, + "translateTextAccess74D3AE90": Object { + "Properties": Object { + "PolicyDocument": Object { + "Statement": Array [ + Object { + "Action": "translate:TranslateText", + "Effect": "Allow", + "Resource": "*", + }, + ], + "Version": "2012-10-17", + }, + "PolicyName": "translateTextAccess74D3AE90", + "Roles": Array [ + Object { + "Ref": "predictionsIAMRole5BB74A99", + }, + ], + }, + "Type": "AWS::IAM::Policy", + }, + "translateTextFunctiontranslateTextFunctionAppSyncFunction77C9D7A9": Object { + "DependsOn": Array [ + "TranslateDataSource", + ], + "Properties": Object { + "ApiId": Object { + "Ref": "referencetotransformerrootstackGraphQLAPI20497F53ApiId", + }, + "DataSourceName": Object { + "Fn::GetAtt": Array [ + "TranslateDataSource", + "Name", + ], + }, + "FunctionVersion": "2018-05-29", + "Name": "translateTextFunction", + "RequestMappingTemplate": "#set( $text = $util.defaultIfNull($ctx.args.input.translateText.text, $ctx.prev.result) ) +#set( $translateTextPayload = { + \\"version\\": \\"2018-05-29\\", + \\"method\\": \\"POST\\", + \\"resourcePath\\": \\"/\\", + \\"params\\": { + \\"body\\": { + \\"SourceLanguageCode\\": $ctx.args.input.translateText.sourceLanguage, + \\"TargetLanguageCode\\": $ctx.args.input.translateText.targetLanguage, + \\"Text\\": $text + }, + \\"headers\\": { + \\"Content-Type\\": \\"application/x-amz-json-1.1\\", + \\"X-Amz-Target\\": \\"AWSShineFrontendService_20170701.TranslateText\\" + } + } +} ) +$util.toJson($translateTextPayload)", + "ResponseMappingTemplate": "#if( $ctx.error ) +$util.error($ctx.error.message) +#end +#if( $ctx.result.statusCode == 200 ) + #set( $result = $util.parseJson($ctx.result.body) ) +$util.toJson($result.TranslatedText) +#else +$util.error($ctx.result.body) +#end", + }, + "Type": "AWS::AppSync::FunctionConfiguration", + }, + }, + }, +} +`; diff --git a/packages/amplify-graphql-predictions-transformer/src/__tests__/amplify-graphql-predictions-transformer-override.test.ts b/packages/amplify-graphql-predictions-transformer/src/__tests__/amplify-graphql-predictions-transformer-override.test.ts new file mode 100644 index 00000000000..8d47a98d046 --- /dev/null +++ b/packages/amplify-graphql-predictions-transformer/src/__tests__/amplify-graphql-predictions-transformer-override.test.ts @@ -0,0 +1,25 @@ +'use strict'; +import { GraphQLTransform } from '@aws-amplify/graphql-transformer-core'; +import * as path from 'path'; +import { PredictionsTransformer } from '..'; + +test('it generates resources with overrides', () => { + const validSchema = /* GraphQL */ ` + type Query { + speakTranslatedIdentifiedText: String @predictions(actions: [identifyText, translateText, convertTextToSpeech]) + speakTranslatedLabelText: String @predictions(actions: [identifyLabels, translateText, convertTextToSpeech]) + } + `; + const transformer = new GraphQLTransform({ + transformers: [new PredictionsTransformer({ bucketName: 'myStorage${hash}-${env}' })], + overrideConfig: { + overrideDir: path.join(__dirname, 'overrides'), + overrideFlag: true, + resourceName: 'myResource', + }, + }); + + const out = transformer.transform(validSchema); + expect(out).toBeDefined(); + expect(out.stacks).toMatchSnapshot(); +}); diff --git a/packages/amplify-graphql-predictions-transformer/src/__tests__/overrides/build/override.js b/packages/amplify-graphql-predictions-transformer/src/__tests__/overrides/build/override.js new file mode 100644 index 00000000000..dc40d4b33b8 --- /dev/null +++ b/packages/amplify-graphql-predictions-transformer/src/__tests__/overrides/build/override.js @@ -0,0 +1,5 @@ +function override(resource) { + resource.predictions.TranslateDataSource.serviceRoleArn = 'mockArn'; + resource.predictions.resolvers['querySpeakTranslatedLabelTextResolver'].requestMappingTemplate = 'mockTeplate'; +} +exports.override = override; diff --git a/packages/amplify-graphql-searchable-transformer/package.json b/packages/amplify-graphql-searchable-transformer/package.json index 0fabeeccf9d..9ae3c6fb2ce 100644 --- a/packages/amplify-graphql-searchable-transformer/package.json +++ b/packages/amplify-graphql-searchable-transformer/package.json @@ -59,6 +59,7 @@ "json", "node" ], - "collectCoverage": true + "collectCoverage": true, + "modulePathIgnorePatterns": ["overrides"] } } diff --git a/packages/amplify-graphql-searchable-transformer/src/__tests__/__snapshots__/amplify-graphql-searchable-transformer.tests.ts.snap b/packages/amplify-graphql-searchable-transformer/src/__tests__/__snapshots__/amplify-graphql-searchable-transformer.test.ts.snap similarity index 100% rename from packages/amplify-graphql-searchable-transformer/src/__tests__/__snapshots__/amplify-graphql-searchable-transformer.tests.ts.snap rename to packages/amplify-graphql-searchable-transformer/src/__tests__/__snapshots__/amplify-graphql-searchable-transformer.test.ts.snap diff --git a/packages/amplify-graphql-searchable-transformer/src/__tests__/amplify-graphql-searchable-transformer-override.test.ts b/packages/amplify-graphql-searchable-transformer/src/__tests__/amplify-graphql-searchable-transformer-override.test.ts new file mode 100644 index 00000000000..f5984127e4f --- /dev/null +++ b/packages/amplify-graphql-searchable-transformer/src/__tests__/amplify-graphql-searchable-transformer-override.test.ts @@ -0,0 +1,114 @@ +import { ModelTransformer } from '@aws-amplify/graphql-model-transformer'; +import { GraphQLTransform } from '@aws-amplify/graphql-transformer-core'; +import { anything, expect as cdkExpect, haveResource } from '@aws-cdk/assert'; +import * as path from 'path'; +import { SearchableModelTransformer } from '..'; + +const featureFlags = { + getBoolean: jest.fn().mockImplementation((name, defaultValue) => { + if (name === 'improvePluralization') { + return true; + } + return; + }), + getNumber: jest.fn(), + getObject: jest.fn(), + getString: jest.fn(), +}; + +test('it overrides expected resources', () => { + const validSchema = ` + type Post @model @searchable { + id: ID! + title: String! + createdAt: String + updatedAt: String + } + type Comment @model { + id: ID! + content: String! + } + `; + const transformer = new GraphQLTransform({ + transformers: [new ModelTransformer(), new SearchableModelTransformer()], + featureFlags, + overrideConfig: { + overrideDir: path.join(__dirname, 'overrides'), + overrideFlag: true, + resourceName: 'myResource', + }, + }); + const out = transformer.transform(validSchema); + expect(out).toBeDefined(); + const searchableStack = out.stacks.SearchableStack; + cdkExpect(searchableStack).to( + haveResource('AWS::AppSync::DataSource', { + ApiId: { + Ref: anything(), + }, + Name: 'OpenSearchDataSource', + Type: 'AMAZON_ELASTICSEARCH', + ElasticsearchConfig: { + AwsRegion: { + 'Fn::Select': [ + 3, + { + 'Fn::Split': [ + ':', + { + 'Fn::GetAtt': ['OpenSearchDomain', 'Arn'], + }, + ], + }, + ], + }, + Endpoint: { + 'Fn::Join': [ + '', + [ + 'https://', + { + 'Fn::GetAtt': ['OpenSearchDomain', 'DomainEndpoint'], + }, + ], + ], + }, + }, + ServiceRoleArn: 'mockArn', + }), + ); + cdkExpect(searchableStack).to( + haveResource('AWS::Elasticsearch::Domain', { + DomainName: anything(), + EBSOptions: anything(), + ElasticsearchClusterConfig: anything(), + ElasticsearchVersion: '7.10', + EncryptionAtRestOptions: { + Enabled: true, + KmsKeyId: '1a2a3a4-1a2a-3a4a-5a6a-1a2a3a4a5a6a', + }, + }), + ); + cdkExpect(searchableStack).to( + haveResource('AWS::AppSync::Resolver', { + ApiId: { + Ref: anything(), + }, + FieldName: anything(), + TypeName: 'Query', + Kind: 'PIPELINE', + PipelineConfig: { + Functions: [ + { + 'Fn::GetAtt': [anything(), 'FunctionId'], + }, + { + 'Fn::GetAtt': [anything(), 'FunctionId'], + }, + ], + }, + RequestMappingTemplate: 'mockTemplate', + ResponseMappingTemplate: '$util.toJson($ctx.prev.result)', + }), + ); +}); diff --git a/packages/amplify-graphql-searchable-transformer/src/__tests__/amplify-graphql-searchable-transformer.tests.ts b/packages/amplify-graphql-searchable-transformer/src/__tests__/amplify-graphql-searchable-transformer.test.ts similarity index 100% rename from packages/amplify-graphql-searchable-transformer/src/__tests__/amplify-graphql-searchable-transformer.tests.ts rename to packages/amplify-graphql-searchable-transformer/src/__tests__/amplify-graphql-searchable-transformer.test.ts diff --git a/packages/amplify-graphql-searchable-transformer/src/__tests__/overrides/build/override.js b/packages/amplify-graphql-searchable-transformer/src/__tests__/overrides/build/override.js new file mode 100644 index 00000000000..4a719459f61 --- /dev/null +++ b/packages/amplify-graphql-searchable-transformer/src/__tests__/overrides/build/override.js @@ -0,0 +1,11 @@ +function override(resource) { + resource.opensearch.OpenSearchDomain.encryptionAtRestOptions = { + enabled: true, + kmsKeyId: '1a2a3a4-1a2a-3a4a-5a6a-1a2a3a4a5a6a', + }; + resource.opensearch.OpenSearchDataSource.serviceRoleArn = 'mockArn'; + resource.opensearch.OpenSearchModelLambdaMapping['Post'].functionName = 'mockFunciton'; + // override resolver + resource.opensearch.resolvers['querySearchPostsResolver'].requestMappingTemplate = 'mockTemplate'; +} +exports.override = override; diff --git a/packages/amplify-graphql-transformer-core/package.json b/packages/amplify-graphql-transformer-core/package.json index c5391a0c97b..73e07f45764 100644 --- a/packages/amplify-graphql-transformer-core/package.json +++ b/packages/amplify-graphql-transformer-core/package.json @@ -38,6 +38,7 @@ "@aws-cdk/aws-dynamodb": "~1.124.0", "@aws-cdk/aws-ec2": "~1.124.0", "@aws-cdk/aws-efs": "~1.124.0", + "@aws-cdk/aws-elasticsearch": "~1.124.0", "@aws-cdk/aws-events": "~1.124.0", "@aws-cdk/aws-iam": "~1.124.0", "@aws-cdk/aws-kms": "~1.124.0", @@ -53,6 +54,7 @@ "@aws-cdk/custom-resources": "~1.124.0", "@aws-cdk/cx-api": "~1.124.0", "@aws-cdk/region-info": "~1.124.0", + "amplify-prompts": "1.5.1", "change-case": "^4.1.1", "constructs": "^3.3.125", "deep-diff": "^1.0.2", @@ -62,7 +64,8 @@ "graphql-transformer-common": "4.22.2", "lodash": "^4.17.21", "md5": "^2.3.0", - "ts-dedent": "^2.0.0" + "ts-dedent": "^2.0.0", + "vm2": "^3.9.5" }, "devDependencies": { "@types/fs-extra": "^8.0.1", diff --git a/packages/amplify-graphql-transformer-core/src/config/transformer-config.ts b/packages/amplify-graphql-transformer-core/src/config/transformer-config.ts index 1b044d1a36e..891b305cba7 100644 --- a/packages/amplify-graphql-transformer-core/src/config/transformer-config.ts +++ b/packages/amplify-graphql-transformer-core/src/config/transformer-config.ts @@ -62,9 +62,4 @@ export interface TransformConfig { [option: string]: any; }; }; - /** - * Object which states info about a resolver's configuration - * Such as sync configuration for appsync local support - */ - ResolverConfig?: ResolverConfig; } diff --git a/packages/amplify-graphql-transformer-core/src/transformation/transform.ts b/packages/amplify-graphql-transformer-core/src/transformation/transform.ts index fa7d16c6fe1..2f0583ff440 100644 --- a/packages/amplify-graphql-transformer-core/src/transformation/transform.ts +++ b/packages/amplify-graphql-transformer-core/src/transformation/transform.ts @@ -1,14 +1,16 @@ /* eslint-disable no-new */ import { + AppSyncAuthConfiguration, FeatureFlagProvider, GraphQLAPIProvider, TransformerPluginProvider, TransformHostProvider, - AppSyncAuthConfiguration, } from '@aws-amplify/graphql-transformer-interfaces'; import { AuthorizationMode, AuthorizationType } from '@aws-cdk/aws-appsync'; -import { App, Aws, CfnOutput, Fn } from '@aws-cdk/core'; +import { App, Aws, CfnOutput, CfnResource, Fn } from '@aws-cdk/core'; +import { printer } from 'amplify-prompts'; import assert from 'assert'; +import * as fs from 'fs-extra'; import { EnumTypeDefinitionNode, EnumValueDefinitionNode, @@ -24,17 +26,23 @@ import { TypeExtensionNode, UnionTypeDefinitionNode, } from 'graphql'; +import _ from 'lodash'; +import os from 'os'; +import * as path from 'path'; +import * as vm from 'vm2'; +import { ResolverConfig, TransformConfig } from '../config/transformer-config'; import { InvalidTransformerError, SchemaValidationError, UnknownDirectiveError } from '../errors'; import { GraphQLApi } from '../graphql-api'; import { TransformerContext } from '../transformer-context'; import { TransformerOutput } from '../transformer-context/output'; import { StackManager } from '../transformer-context/stack-manager'; +import { ConstructResourceMeta } from '../types/types'; +import { convertToAppsyncResourceObj, getStackMeta } from '../types/utils'; import { adoptAuthModes, IAM_AUTH_ROLE_PARAMETER, IAM_UNAUTH_ROLE_PARAMETER } from '../utils/authType'; -import { TransformConfig } from '../config'; import * as SyncUtils from './sync-utils'; import { MappingTemplate } from '../cdk-compat'; -import Template, { DeploymentResources, UserDefinedSlot } from './types'; +import Template, { DeploymentResources, UserDefinedSlot, OverrideConfig } from './types'; import { makeSeenTransformationKey, matchArgumentDirective, @@ -44,7 +52,7 @@ import { matchInputFieldDirective, sortTransformerPlugins, } from './utils'; -import { validateModelSchema, validateAuthModes } from './validation'; +import { validateAuthModes, validateModelSchema } from './validation'; // eslint-disable-next-line @typescript-eslint/ban-types function isFunction(obj: any): obj is Function { @@ -74,6 +82,8 @@ export interface GraphQLTransformOptions { readonly host?: TransformHostProvider; readonly sandboxModeEnabled?: boolean; readonly userDefinedSlots?: Record; + readonly resolverConfig?: ResolverConfig; + readonly overrideConfig?: OverrideConfig; } export type StackMapping = { [resourceId: string]: string }; export class GraphQLTransform { @@ -82,8 +92,10 @@ export class GraphQLTransform { private app: App | undefined; private transformConfig: TransformConfig; private readonly authConfig: AppSyncAuthConfiguration; + private readonly resolverConfig?: ResolverConfig; private readonly buildParameters: Record; private readonly userDefinedSlots: Record; + private readonly overrideConfig?: OverrideConfig; // A map from `${directive}.${typename}.${fieldName?}`: true // that specifies we have run already run a directive at a given location. @@ -114,6 +126,8 @@ export class GraphQLTransform { this.stackMappingOverrides = options.stackMapping || {}; this.transformConfig = options.transformConfig || {}; this.userDefinedSlots = options.userDefinedSlots || ({} as Record); + this.resolverConfig = options.resolverConfig || {}; + this.overrideConfig = options.overrideConfig; } /** @@ -135,7 +149,7 @@ export class GraphQLTransform { this.authConfig, this.options.sandboxModeEnabled, this.options.featureFlags, - this.transformConfig.ResolverConfig, + this.resolverConfig, ); const validDirectiveNameMap = this.transformers.reduce( (acc: any, t: TransformerPluginProvider) => ({ ...acc, [t.directive.name.value]: true }), @@ -230,7 +244,7 @@ export class GraphQLTransform { // generate resolvers (context as TransformerContext).bind(api); - if (this.transformConfig.ResolverConfig) { + if (!_.isEmpty(this.resolverConfig)) { SyncUtils.createSyncTable(context); } for (const transformer of this.transformers) { @@ -250,9 +264,78 @@ export class GraphQLTransform { reverseThroughTransformers -= 1; } this.collectResolvers(context, context.api); + if (this.overrideConfig?.overrideFlag) { + this.applyOverride(stackManager); + return this.synthesize(context); + } return this.synthesize(context); } + private applyOverride = (stackManager: StackManager) => { + let stacks: string[] = []; + let amplifyApiObj: any = {}; + stackManager.rootStack.node.findAll().forEach(node => { + const resource = node as CfnResource; + if (resource.cfnResourceType === 'AWS::CloudFormation::Stack') { + stacks.push(node.node.id.split('.')[0]); + } + }); + + stackManager.rootStack.node.findAll().forEach(node => { + const resource = node as CfnResource; + let pathArr; + if (node.node.id === 'Resource') { + pathArr = node.node.path.split('/').filter(key => key !== node.node.id); + } else { + pathArr = node.node.path.split('/'); + } + let constructPathObj: ConstructResourceMeta; + if (resource.cfnResourceType) { + constructPathObj = getStackMeta(pathArr, node.node.id, stacks, resource); + if (!_.isEmpty(constructPathObj.rootStack)) { + // api scope + const field = constructPathObj.rootStack!.stackType; + const resourceName = constructPathObj.resourceName; + _.set(amplifyApiObj, [field, resourceName], resource); + } else if (!_.isEmpty(constructPathObj.nestedStack)) { + const fieldType = constructPathObj.nestedStack!.stackType; + const fieldName = constructPathObj.nestedStack!.stackName; + const resourceName = constructPathObj.resourceName; + if (constructPathObj.resourceType.includes('Resolver')) { + _.set(amplifyApiObj, [fieldType, fieldName, 'resolvers', resourceName], resource); + } else if (constructPathObj.resourceType.includes('FunctionConfiguration')) { + _.set(amplifyApiObj, [fieldType, fieldName, 'appsyncFunctions', resourceName], resource); + } else { + _.set(amplifyApiObj, [fieldType, fieldName, resourceName], resource); + } + } + } + }); + + let appsyncResourceObj = convertToAppsyncResourceObj(amplifyApiObj); + if (!_.isEmpty(this.overrideConfig) && this.overrideConfig!.overrideFlag) { + const overrideCode: string = fs.readFileSync(path.join(this.overrideConfig!.overrideDir, 'build', 'override.js'), 'utf-8'); + const sandboxNode = new vm.NodeVM({ + console: 'inherit', + timeout: 5000, + sandbox: {}, + require: { + context: 'sandbox', + builtin: ['path'], + external: true, + }, + }); + try { + sandboxNode.run(overrideCode, path.join(this.overrideConfig!.overrideDir, 'build', 'override.js')).override(appsyncResourceObj); + } catch (err) { + const error = new Error(`Skipping override due to ${err}${os.EOL}`); + printer.error(`${error}`); + error.stack = undefined; + throw error; + } + } + }; + private generateGraphQlApi(stackManager: StackManager, output: TransformerOutput) { // Todo: Move this to its own transformer plugin to support modifying the API // Like setting the auth mode and enabling logging and such diff --git a/packages/amplify-graphql-transformer-core/src/transformation/types.ts b/packages/amplify-graphql-transformer-core/src/transformation/types.ts index d4e5824543f..d01a7ce9352 100644 --- a/packages/amplify-graphql-transformer-core/src/transformation/types.ts +++ b/packages/amplify-graphql-transformer-core/src/transformation/types.ts @@ -61,3 +61,9 @@ export type UserDefinedResolver = { fileName: string; template: string; }; + +export type OverrideConfig = { + overrideFlag: boolean; + overrideDir: string; + resourceName: string; +}; diff --git a/packages/amplify-graphql-transformer-core/src/types/amplify-api-resource-stack-types.ts b/packages/amplify-graphql-transformer-core/src/types/amplify-api-resource-stack-types.ts new file mode 100644 index 00000000000..2f99c7c0bdc --- /dev/null +++ b/packages/amplify-graphql-transformer-core/src/types/amplify-api-resource-stack-types.ts @@ -0,0 +1,91 @@ +// Amplify generated Types for API - override.ts + +import { CfnApiKey, CfnDataSource, CfnFunctionConfiguration, CfnGraphQLApi, CfnGraphQLSchema, CfnResolver } from '@aws-cdk/aws-appsync'; +import { CfnTable } from '@aws-cdk/aws-dynamodb'; +import { CfnPolicy, CfnRole } from '@aws-cdk/aws-iam'; +import { CfnDomain } from '@aws-cdk/aws-elasticsearch'; +import { CfnFunction, CfnEventSourceMapping } from '@aws-cdk/aws-lambda'; +import { CfnStack } from '@aws-cdk/core'; + +// Base template +// Customer can use these params to mutate the Cloudformation for the resource + +export interface AppSyncServiceResourceStack { + // directives stack + api?: Partial; + models?: Partial>; + http?: Partial; + opensearch?: Partial; + function?: Partial; + predictions?: Partial; +} + +export type AppsyncApiStack = { + rootstack: CfnStack; + GraphQLAPI: CfnGraphQLApi; + GraphQLAPIDefaultApiKey?: CfnApiKey; + GraphQLAPITransformerSchema?: CfnGraphQLSchema; + GraphQLAPINONEDS?: CfnDataSource; + AmplifyDataStore?: CfnTable; + AmplifyDataStoreIAMRole?: CfnRole; + DynamoDBAccess?: CfnPolicy; +}; + +export type ModelDirectiveStack = AppsyncStackCommon & DDBModelDirectiveStack; + +export type AppsyncStackCommon = { + resolvers?: Record; + appsyncFunctions?: Record; +}; + +export type DDBModelDirectiveStack = { + modelStack?: CfnStack; + modelDDBTable?: CfnTable; + modelIamRole?: CfnRole; + modelIamRoleDefaultPolicy?: CfnPolicy; + dynamoDBAccess?: CfnPolicy; + modelDatasource?: CfnDataSource; + invokeLambdaFunction?: CfnPolicy; +}; + +export interface HttpsDirectiveStack { + httpsDataSource?: Record; + httpDataSourceServiceRole?: Record; + httpDataSourceServiceRoleDefaultPolicy?: Record; +} + +export interface OpenSearchDirectiveStack { + OpenSearchDataSource?: CfnDataSource; + OpenSearchAccessIAMRole?: CfnRole; + OpenSearchAccessIAMRoleDefaultPolicy?: CfnPolicy; + OpenSearchDomain?: CfnDomain; + OpenSearchStreamingLambdaIAMRole?: CfnRole; + OpenSearchStreamingLambdaIAMRoleDefaultPolicy?: CfnPolicy; + CloudwatchLogsAccess?: CfnPolicy; + OpenSearchStreamingLambdaFunction?: CfnFunction; + OpenSearchModelLambdaMapping?: Record; +} + +export interface FunctionDirectiveStack { + lambdaDataSource: Record; + lambdaDataSourceRole: Record; + lambdaDataSourceServiceRoleDefaultPolicy: Record; +} + +export interface PredictionsDirectiveStack { + RekognitionDataSource: CfnDataSource; + RekognitionDataSourceServiceRole: CfnRole; + TranslateDataSource: CfnDataSource; + translateTextAccess: CfnPolicy; + LambdaDataSource: CfnDataSource; + LambdaDataSourceServiceRole: CfnRole; + LambdaDataSourceServiceRoleDefaultPolicy: CfnPolicy; + TranslateDataSourceServiceRole: CfnRole; + predictionsLambdaIAMRole: CfnRole; + predictionsLambdaFunction: CfnFunction; + PredictionsLambdaAccess: CfnRole; + predictionsIAMRole: CfnRole; + PredictionsStorageAccess: CfnPolicy; + identifyTextAccess: CfnPolicy; + identifyLabelsAccess: CfnPolicy; +} diff --git a/packages/amplify-graphql-transformer-core/src/types/types.ts b/packages/amplify-graphql-transformer-core/src/types/types.ts new file mode 100644 index 00000000000..8897a31ad72 --- /dev/null +++ b/packages/amplify-graphql-transformer-core/src/types/types.ts @@ -0,0 +1,13 @@ +export type ConstructResourceMeta = { + rootStack?: StackMeta; + nestedStack?: StackMeta; + resourceName: string; + resourceType: string; +}; + +export type StackMeta = { + stackName: string; + stackType: string; +}; + +export type ApiStackType = 'models' | 'http' | 'predictions' | 'function' | 'openSearch' | 'rootStack'; diff --git a/packages/amplify-graphql-transformer-core/src/types/utils.ts b/packages/amplify-graphql-transformer-core/src/types/utils.ts new file mode 100644 index 00000000000..e257f5b435d --- /dev/null +++ b/packages/amplify-graphql-transformer-core/src/types/utils.ts @@ -0,0 +1,183 @@ +import { CfnResource, Construct } from '@aws-cdk/core'; +import _ from 'lodash'; +import { + AppSyncServiceResourceStack, + AppsyncStackCommon, + FunctionDirectiveStack, + HttpsDirectiveStack, + ModelDirectiveStack, + OpenSearchDirectiveStack, +} from './amplify-api-resource-stack-types'; +import { ConstructResourceMeta } from './types'; + +export const stacksTypes: Record = { + API: 'api', + MODELS: 'models', + HttpStack: 'http', + FunctionDirectiveStack: 'function', + PredictionsDirectiveStack: 'predictions', + SearchableStack: 'openSearch', +}; + +const rootStackNameInConstruct = 'transformer-root-stack'; + +export const getStackMeta = (constructPathArr: string[], id: string, nestedStackArr: string[], node: Construct): ConstructResourceMeta => { + const resource = node as CfnResource; + if (nestedStackArr.find(val => val === constructPathArr[1])) { + const nestedStackName = nestedStackArr.find(val => val === constructPathArr[1]); + const resourceName = constructPathArr.filter(path => path !== nestedStackName && path !== rootStackNameInConstruct).join(''); + return { + resourceName, + resourceType: resource.cfnResourceType, + nestedStack: { + stackName: nestedStackName!, + stackType: stacksTypes[nestedStackName!] ?? stacksTypes['MODELS'], + }, + }; + } else { + // root stack + const resourceName = constructPathArr.filter(path => path !== rootStackNameInConstruct).join(''); + return { + resourceName: id === 'Resource' ? resourceName : `${resourceName}${id}`, + resourceType: resource.cfnResourceType, + rootStack: { + stackName: constructPathArr[0], + stackType: stacksTypes.API, + }, + }; + } +}; + +export const convertToAppsyncResourceObj = (amplifyObj: any) => { + let appsyncResourceObject: AppSyncServiceResourceStack = {}; + Object.keys(amplifyObj).forEach(keys => { + if (keys === 'api') { + appsyncResourceObject.api = amplifyObj.api; + } else if (keys === 'models' && !_.isEmpty(amplifyObj[keys])) { + // require filter using keyName + appsyncResourceObject.models = {}; + Object.keys(amplifyObj.models).forEach(key => { + appsyncResourceObject.models![key] = generateModelDirectiveObject(amplifyObj.models[key]); + }); + } else if (keys === 'function' && !_.isEmpty(amplifyObj[keys])) { + const functionStackObj = amplifyObj.function.FunctionDirectiveStack; + appsyncResourceObject.function = generateFunctionDirectiveObject(functionStackObj); + } else if (keys === 'http' && !_.isEmpty(amplifyObj[keys])) { + const httpStackObj = amplifyObj.http.HttpStack; + appsyncResourceObject.http = generateHttpDirectiveObject(httpStackObj); + } else if (keys === 'openSearch' && !_.isEmpty(amplifyObj[keys])) { + const openSearchStackObj = amplifyObj.openSearch.SearchableStack; + appsyncResourceObject.opensearch = generateOpenSearchDirectiveObject(openSearchStackObj); + } else if (keys === 'predictions' && !_.isEmpty(amplifyObj[keys])) { + appsyncResourceObject.predictions = amplifyObj.predictions.PredictionsDirectiveStack; + if (!_.isEmpty(amplifyObj.predictions.PredictionsDirectiveStack['predictionsLambda.handler'])) { + appsyncResourceObject.predictions!.predictionsLambdaFunction = + amplifyObj.predictions.PredictionsDirectiveStack['predictionsLambda.handler']; + } + } + }); + return appsyncResourceObject; +}; + +const generateFunctionDirectiveObject = (functionStackObj: any) => { + let functionObj: Partial = {}; + Object.keys(functionStackObj).forEach(key => { + if (key.endsWith('resolvers')) { + functionObj.resolvers = functionStackObj.resolvers; + } else if (key.endsWith('appsyncFunctions')) { + functionObj.appsyncFunctions = functionStackObj.appsyncFunctions; + } else if (functionStackObj[key].cfnResourceType.includes('DataSource')) { + if (!functionObj.lambdaDataSource) { + functionObj.lambdaDataSource = {}; + } + const name = key.substring(0, key.indexOf('LambdaDataSource')); + functionObj.lambdaDataSource[name] = functionStackObj[key]; + } else if (functionStackObj[key].cfnResourceType.includes('Role')) { + if (!functionObj.lambdaDataSourceRole) { + functionObj.lambdaDataSourceRole = {}; + } + const name = key.substring(0, key.indexOf('LambdaDataSourceServiceRole')); + functionObj.lambdaDataSourceRole[name] = functionStackObj[key]; + } else if (functionStackObj[key].cfnResourceType.includes('Policy')) { + if (!functionObj.lambdaDataSourceServiceRoleDefaultPolicy) { + functionObj.lambdaDataSourceServiceRoleDefaultPolicy = {}; + } + const name = key.substring(0, key.indexOf('LambdaDataSourceServiceRoleDefaultPolicy')); + functionObj.lambdaDataSourceServiceRoleDefaultPolicy[name] = functionStackObj[key]; + } + }); + return functionObj; +}; + +const generateHttpDirectiveObject = (httpStackObj: any) => { + let httpObj: Partial = {}; + Object.keys(httpStackObj).forEach(key => { + if (key.endsWith('resolvers')) { + httpObj.resolvers = httpStackObj.resolvers; + } else if (key.endsWith('appsyncFunctions')) { + httpObj.appsyncFunctions = httpStackObj.appsyncFunctions; + } else if (httpStackObj[key].cfnResourceType.includes('DataSource')) { + if (!httpObj.httpsDataSource) { + httpObj.httpsDataSource = {}; + } + const name = key.substring(0, key.indexOf('DataSource')); + httpObj.httpsDataSource[name] = httpStackObj[key]; + } else if (httpStackObj[key].cfnResourceType.includes('Role')) { + if (!httpObj.httpDataSourceServiceRole) { + httpObj.httpDataSourceServiceRole = {}; + } + const name = key.substring(0, key.indexOf('DataSourceServiceRole')); + httpObj.httpDataSourceServiceRole[name] = httpStackObj[key]; + } + }); + return httpObj; +}; + +const generateOpenSearchDirectiveObject = (opensearchStackObj: any) => { + let opensearchObj: OpenSearchDirectiveStack & AppsyncStackCommon = _.pick( + opensearchStackObj, + 'OpenSearchDataSource', + 'OpenSearchAccessIAMRole', + 'OpenSearchAccessIAMRoleDefaultPolicy', + 'OpenSearchDomain', + 'OpenSearchStreamingLambdaIAMRole', + 'OpenSearchStreamingLambdaIAMRoleDefaultPolicy', + 'CloudwatchLogsAccess', + 'OpenSearchStreamingLambdaFunction', + 'resolvers', + 'appsyncFunctions', + ); + + Object.keys(opensearchStackObj).forEach(key => { + if (key !== 'resolvers' && key !== 'appsyncFunctions' && opensearchStackObj[key].cfnResourceType.includes('EventSourceMapping')) { + if (!opensearchObj.OpenSearchModelLambdaMapping) { + opensearchObj.OpenSearchModelLambdaMapping = {}; + } + // filter ModelName fromm logicalID + const name = key.substring(0, key.indexOf('LambdaMapping')); + const modeName = key.substring('Searchable'.length, name.length); + opensearchObj.OpenSearchModelLambdaMapping[modeName] = opensearchStackObj[key]; + } + }); + return opensearchObj; +}; + +const generateModelDirectiveObject = (modelStackObj: any) => { + let modelObj: ModelDirectiveStack = _.pick(modelStackObj, 'appsyncFunctions', 'DynamoDBAccess', 'InvokdeLambdaFunction', 'resolvers'); + let strippedModelObj = _.omit(modelStackObj, 'appsyncFunctions', 'DynamoDBAccess', 'InvokdeLambdaFunction', 'resolvers'); + Object.keys(strippedModelObj).forEach(key => { + if (strippedModelObj[key].cfnResourceType.includes('DataSource')) { + modelObj.modelDatasource = modelStackObj[key]; + } + if (strippedModelObj[key].cfnResourceType.includes('Role')) { + modelObj.modelIamRole = modelStackObj[key]; + } + if (strippedModelObj[key].cfnResourceType.includes('Policy')) { + modelObj.modelIamRoleDefaultPolicy = modelStackObj[key]; + } + if (strippedModelObj[key].cfnResourceType.includes('Table')) { + modelObj.modelDDBTable = modelStackObj[key]; + } + }); + return modelObj; +}; diff --git a/packages/amplify-provider-awscloudformation/src/__tests__/resource-package/resource-export.test.ts b/packages/amplify-provider-awscloudformation/src/__tests__/resource-package/resource-export.test.ts index 3813363943f..1255e8a11cc 100644 --- a/packages/amplify-provider-awscloudformation/src/__tests__/resource-package/resource-export.test.ts +++ b/packages/amplify-provider-awscloudformation/src/__tests__/resource-package/resource-export.test.ts @@ -211,10 +211,9 @@ const mockResource: DeploymentResources = { }; jest.mock('glob', () => ({ - sync: mockGlobSync, + sync: jest.fn((_, { cwd }) => [path.join(cwd, 'cfntemplate.json')]), })); -const mockGlobSync = jest.fn((_, { cwd }) => [path.join(cwd, 'cfntemplate.json')]); const lambdaTemplate = { Resources: { LambdaLayerVersionb8059db0: { diff --git a/packages/amplify-provider-awscloudformation/src/graphql-transformer/transform-graphql-schema.ts b/packages/amplify-provider-awscloudformation/src/graphql-transformer/transform-graphql-schema.ts index 7bc4edf7ee1..5a1929fc027 100644 --- a/packages/amplify-provider-awscloudformation/src/graphql-transformer/transform-graphql-schema.ts +++ b/packages/amplify-provider-awscloudformation/src/graphql-transformer/transform-graphql-schema.ts @@ -1,21 +1,10 @@ -import fs from 'fs-extra'; -import path from 'path'; -import importGlobal from 'import-global'; -import { print } from 'graphql'; -import importFrom from 'import-from'; -import { TransformerPluginProvider, AppSyncAuthConfiguration } from '@aws-amplify/graphql-transformer-interfaces'; -import { - getAppSyncServiceExtraDirectives, - GraphQLTransform, - collectDirectivesByTypeNames, - TransformerProjectConfig, -} from '@aws-amplify/graphql-transformer-core'; -import { ModelTransformer } from '@aws-amplify/graphql-model-transformer'; import { AuthTransformer } from '@aws-amplify/graphql-auth-transformer'; +import { DefaultValueTransformer } from '@aws-amplify/graphql-default-value-transformer'; import { FunctionTransformer } from '@aws-amplify/graphql-function-transformer'; import { HttpTransformer } from '@aws-amplify/graphql-http-transformer'; -import { PredictionsTransformer } from '@aws-amplify/graphql-predictions-transformer'; import { IndexTransformer, PrimaryKeyTransformer } from '@aws-amplify/graphql-index-transformer'; +import { ModelTransformer } from '@aws-amplify/graphql-model-transformer'; +import { PredictionsTransformer } from '@aws-amplify/graphql-predictions-transformer'; import { BelongsToTransformer, HasManyTransformer, @@ -23,23 +12,36 @@ import { ManyToManyTransformer, } from '@aws-amplify/graphql-relational-transformer'; import { SearchableModelTransformer } from '@aws-amplify/graphql-searchable-transformer'; -import { DefaultValueTransformer } from '@aws-amplify/graphql-default-value-transformer'; -import { destructiveUpdatesFlag, ProviderName as providerName } from '../constants'; -import { hashDirectory } from '../upload-appsync-files'; -import { getAdminRoles, getIdentityPoolId, mergeUserConfigWithTransformOutput, writeDeploymentToDisk } from './utils'; -import { loadProject as readTransformerConfiguration } from './transform-config'; -import { getSanityCheckRules, loadProject } from 'graphql-transformer-core'; +import { + collectDirectivesByTypeNames, + getAppSyncServiceExtraDirectives, + GraphQLTransform, + ResolverConfig, + TransformerProjectConfig, +} from '@aws-amplify/graphql-transformer-core'; import { Template } from '@aws-amplify/graphql-transformer-core/lib/config/project-config'; -import { AmplifyCLIFeatureFlagAdapter } from '../utils/amplify-cli-feature-flag-adapter'; -import { JSONUtilities, $TSContext } from 'amplify-cli-core'; -import { searchablePushChecks } from '../transform-graphql-schema'; -import { ResourceConstants } from 'graphql-transformer-common'; -import { showGlobalSandboxModeWarning, showSandboxModePrompts, schemaHasSandboxModeEnabled } from '../utils/sandbox-mode-helpers'; +import { OverrideConfig } from '@aws-amplify/graphql-transformer-core/src/transformation/types'; +import { AppSyncAuthConfiguration, TransformerPluginProvider } from '@aws-amplify/graphql-transformer-interfaces'; +import { $TSContext, AmplifyCategories, AmplifySupportedService, JSONUtilities, stateManager } from 'amplify-cli-core'; import { printer } from 'amplify-prompts'; -import { GraphQLSanityCheck, SanityCheckRules } from './sanity-check'; +import fs from 'fs-extra'; +import { print } from 'graphql'; +import { ResourceConstants } from 'graphql-transformer-common'; +import { getSanityCheckRules, loadProject } from 'graphql-transformer-core'; +import importFrom from 'import-from'; +import importGlobal from 'import-global'; import _ from 'lodash'; +import path from 'path'; +import { destructiveUpdatesFlag, ProviderName as providerName } from '../constants'; +import { searchablePushChecks } from '../transform-graphql-schema'; +import { hashDirectory } from '../upload-appsync-files'; +import { AmplifyCLIFeatureFlagAdapter } from '../utils/amplify-cli-feature-flag-adapter'; import { isAuthModeUpdated } from '../utils/auth-mode-compare'; +import { schemaHasSandboxModeEnabled, showGlobalSandboxModeWarning, showSandboxModePrompts } from '../utils/sandbox-mode-helpers'; +import { GraphQLSanityCheck, SanityCheckRules } from './sanity-check'; +import { loadProject as readTransformerConfiguration } from './transform-config'; import { parseUserDefinedSlots } from './user-defined-slots'; +import { getAdminRoles, getIdentityPoolId, mergeUserConfigWithTransformOutput, writeDeploymentToDisk } from './utils'; const API_CATEGORY = 'api'; const STORAGE_CATEGORY = 'storage'; @@ -242,28 +244,38 @@ export async function transformGraphQLSchema(context, options) { let { authConfig }: { authConfig: AppSyncAuthConfiguration } = options; - // - // If we don't have an authConfig from the caller, use it from the - // already read resources[0], which is an AppSync API. - // - - if (!authConfig) { - if (resources[0].output.securityType) { - // Convert to multi-auth format if needed. - authConfig = { - defaultAuthentication: { - authenticationType: resources[0].output.securityType, - }, - additionalAuthenticationProviders: [], - }; - } else { - ({ authConfig } = resources[0].output); + if (_.isEmpty(authConfig) && !_.isEmpty(resources)) { + authConfig = await context.amplify.invokePluginMethod( + context, + AmplifyCategories.API, + AmplifySupportedService.APPSYNC, + 'getAuthConfig', + [resources[0].resourceName], + ); + // handle case where auth project is not migrated , if Auth not migrated above function will return empty Object + if (_.isEmpty(authConfig)) { + // + // If we don't have an authConfig from the caller, use it from the + // already read resources[0], which is an AppSync API. + // + if (resources[0].output.securityType) { + // Convert to multi-auth format if needed. + authConfig = { + defaultAuthentication: { + authenticationType: resources[0].output.securityType, + }, + additionalAuthenticationProviders: [], + }; + } else { + ({ authConfig } = resources[0].output); + } } } // for auth transformer we get any admin roles and a cognito identity pool to check for potential authenticated roles outside of the provided authRole const adminRoles = await getAdminRoles(context, resourceName); const identityPoolId = await getIdentityPoolId(context); + // for the predictions directive get storage config const s3Resource = s3ResourceAlreadyExists(context); const storageConfig = s3Resource ? getBucketName(context, s3Resource, backEndDir) : undefined; @@ -325,6 +337,24 @@ export async function transformGraphQLSchema(context, options) { const isNewAppSyncAPI: boolean = resourcesToBeCreated.some(resource => resource.service === 'AppSync'); const allowDestructiveUpdates = context?.input?.options?.[destructiveUpdatesFlag] || context?.input?.options?.force; const sanityCheckRules = getSanityCheckRules(isNewAppSyncAPI, ff, allowDestructiveUpdates); + let resolverConfig = {}; + if (!_.isEmpty(resources)) { + resolverConfig = await context.amplify.invokePluginMethod( + context, + AmplifyCategories.API, + AmplifySupportedService.APPSYNC, + 'getResolverConfig', + [resources[0].resourceName], + ); + } + + /** + * if Auth is not migrated , we need to fetch resolver Config from transformer.conf.json + * since above function will return empt object + */ + if (_.isEmpty(resolverConfig)) { + resolverConfig = project.config.ResolverConfig; + } const buildConfig: ProjectOptions = { ...options, @@ -346,6 +376,7 @@ export async function transformGraphQLSchema(context, options) { authConfig, sandboxModeEnabled, sanityCheckRules, + resolverConfig: resolverConfig, }; const transformerOutput = await buildAPIProject(buildConfig); @@ -423,8 +454,7 @@ function getBucketName(context, s3ResourceName, backEndDir) { const { amplify } = context; const { amplifyMeta } = amplify.getProjectDetails(); const stackName = amplifyMeta.providers.awscloudformation.StackName; - const parametersFilePath = path.join(backEndDir, STORAGE_CATEGORY, s3ResourceName, PARAMETERS_FILENAME); - const bucketParameters = context.amplify.readJsonFile(parametersFilePath); + const bucketParameters = stateManager.getResourceParametersJson(undefined, AmplifyCategories.STORAGE, s3ResourceName); const bucketName = stackName.startsWith('amplify-') ? `${bucketParameters.bucketName}\${hash}-\${env}` : `${bucketParameters.bucketName}${s3ResourceName}-\${env}`; @@ -438,6 +468,7 @@ type TransformerFactoryArgs = { adminRoles?: Array; identityPoolId?: string; }; + export type ProjectOptions = { buildParameters: { S3DeploymentBucket: string; @@ -451,11 +482,13 @@ export type ProjectOptions = { minify: boolean; lastDeployedProjectConfig?: TransformerProjectConfig; projectConfig: TransformerProjectConfig; + resolverConfig?: ResolverConfig; dryRun?: boolean; authConfig?: AppSyncAuthConfiguration; stacks: Record; sandboxModeEnabled?: boolean; sanityCheckRules: SanityCheckRules; + overrideConfig: OverrideConfig; }; export async function buildAPIProject(opts: ProjectOptions) { @@ -503,6 +536,8 @@ async function _buildProject(opts: ProjectOptions) { featureFlags: new AmplifyCLIFeatureFlagAdapter(), sandboxModeEnabled: opts.sandboxModeEnabled, userDefinedSlots, + resolverConfig: opts.resolverConfig, + overrideConfig: opts.overrideConfig, }); const schema = userProjectConfig.schema.toString(); diff --git a/packages/amplify-provider-awscloudformation/src/graphql-transformer/utils.ts b/packages/amplify-provider-awscloudformation/src/graphql-transformer/utils.ts index 5efd7122381..9bde808c575 100644 --- a/packages/amplify-provider-awscloudformation/src/graphql-transformer/utils.ts +++ b/packages/amplify-provider-awscloudformation/src/graphql-transformer/utils.ts @@ -247,9 +247,9 @@ export async function writeDeploymentToDisk( buildParameters: Object, minify = false, ) { - // Delete the last deployments resources. - rimraf.sync(directory); fs.ensureDirSync(directory); + // Delete the last deployments resources except for tsconfig if present + emptyBuildDirPreserveTsconfig(directory); // Write the schema to disk const schema = deployment.schema; @@ -348,3 +348,15 @@ export function throwIfNotJSONExt(stackFile: string) { throw new Error(`Invalid extension ${extension} for stack ${stackFile}`); } } + +const emptyBuildDirPreserveTsconfig = (directory: string) => { + const files = fs.readdirSync(directory); + files.forEach(file => { + const fileDir = path.join(directory, file); + if (fs.lstatSync(fileDir).isDirectory()) { + rimraf.sync(fileDir); + } else if (!file.endsWith('tsconfig.resource.json')) { + fs.unlinkSync(fileDir); + } + }); +}; diff --git a/packages/amplify-provider-awscloudformation/src/index.ts b/packages/amplify-provider-awscloudformation/src/index.ts index 25e725cca21..e81e6c8d2db 100644 --- a/packages/amplify-provider-awscloudformation/src/index.ts +++ b/packages/amplify-provider-awscloudformation/src/index.ts @@ -48,6 +48,8 @@ export { transformResourceWithOverrides } from './override-manager'; import { rootStackFileName } from './push-resources'; export { rootStackFileName } from './push-resources'; +import { compileSchema } from './utility-functions'; + function init(context) { return initializer.run(context); } @@ -186,4 +188,5 @@ module.exports = { getTransformerVersion, transformResourceWithOverrides, rootStackFileName, + compileSchema, }; diff --git a/packages/amplify-provider-awscloudformation/src/push-resources.ts b/packages/amplify-provider-awscloudformation/src/push-resources.ts index b44069f1853..d37fba5422a 100644 --- a/packages/amplify-provider-awscloudformation/src/push-resources.ts +++ b/packages/amplify-provider-awscloudformation/src/push-resources.ts @@ -158,16 +158,21 @@ export async function run(context: $TSContext, resourceDefinition: $TSObject, re await legacyLayerMigration(context, resource.resourceName); } - await prePushLambdaLayerPrompt(context, resources); - await prepareBuildableResources(context, resources); - await buildOverridesEnabledResources(context); - + /** + * calling transform schema here to support old project with out overrides + */ await transformGraphQLSchema(context, { handleMigration: opts => updateStackForAPIMigration(context, 'api', undefined, opts), minify: options['minify'], promptApiKeyCreation: true, }); + await prePushLambdaLayerPrompt(context, resources); + await prepareBuildableResources(context, resources); + await buildOverridesEnabledResources(context); + + //Removed api transformation to generate resources befoe starting deploy/ + // If there is a deployment already in progress we have to fail the push operation as another // push in between could lead non-recoverable stacks and files. if (deploymentStateManager.isDeploymentInProgress()) { diff --git a/packages/amplify-provider-awscloudformation/src/transform-graphql-schema.ts b/packages/amplify-provider-awscloudformation/src/transform-graphql-schema.ts index e6f944eaf26..3dee41c1405 100644 --- a/packages/amplify-provider-awscloudformation/src/transform-graphql-schema.ts +++ b/packages/amplify-provider-awscloudformation/src/transform-graphql-schema.ts @@ -661,7 +661,6 @@ async function migrateToTransformerVersionFeatureFlag(context) { config.features.graphqltransformer.transformerversion = 2; stateManager.setCLIJSON(projectPath, config); await FeatureFlags.reloadValues(); - context.print.warning( `\nThe project is configured with 'transformerVersion': ${transformerVersion}, but 'useExperimentalPipelinedTransformer': ${useExperimentalPipelineTransformer}. Setting the 'transformerVersion': ${config.features.graphqltransformer.transformerversion}. 'useExperimentalPipelinedTransformer' is deprecated.`, ); diff --git a/packages/graphql-relational-schema-transformer/src/RelationalDBSchemaTransformerUtils.ts b/packages/graphql-relational-schema-transformer/src/RelationalDBSchemaTransformerUtils.ts index e3109934358..509737904bb 100644 --- a/packages/graphql-relational-schema-transformer/src/RelationalDBSchemaTransformerUtils.ts +++ b/packages/graphql-relational-schema-transformer/src/RelationalDBSchemaTransformerUtils.ts @@ -213,8 +213,8 @@ export function getStringValueNode(value: string): StringValueNode { export function getDirectiveNode(mutationName: string): DirectiveNode { return { kind: Kind.DIRECTIVE, - name: this.getNameNode('aws_subscribe'), - arguments: [this.getArgumentNode(mutationName)], + name: getNameNode('aws_subscribe'), + arguments: [getArgumentNode(mutationName)], }; } @@ -241,8 +241,8 @@ export function getOperationTypeDefinition(operationType: OperationTypeNode, ope export function getArgumentNode(argument: string): ArgumentNode { return { kind: Kind.ARGUMENT, - name: this.getNameNode('mutations'), - value: this.getListValueNode([this.getStringValueNode(argument)]), + name: getNameNode('mutations'), + value: getListValueNode([getStringValueNode(argument)]), }; } diff --git a/tsconfig.base.json b/tsconfig.base.json index 52922e9d939..646df9b787d 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -22,6 +22,7 @@ /* Strict Type-Checking Options */ "strict": true /* Enable all strict type-checking options. */, + "useUnknownInCatchVariables": false, // "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */ // "strictNullChecks": true, /* Enable strict null checks. */ // "strictFunctionTypes": true, /* Enable strict checking of function types. */ diff --git a/yarn.lock b/yarn.lock index aa73e028ac2..2b34235cb79 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9,11 +9,6 @@ dependencies: tslib "~2.0.1" -"@ardatan/fetch-event-source@2.0.2": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@ardatan/fetch-event-source/-/fetch-event-source-2.0.2.tgz#734aa3eaa0da456453d24d8dc7c14d5e366a8d21" - integrity sha512-mcpz/wJ7s50PJIVz4OQ1Yim3w/AAchtYtIg0QMWiMR2cZZoI9t23hRyqeumtD5EmyJu0fxtjmQ5WY8GI86V4rQ== - "@ardatan/graphql-tools@4.1.0": version "4.1.0" resolved "https://registry.yarnpkg.com/@ardatan/graphql-tools/-/graphql-tools-4.1.0.tgz#183508ef4e3d4966f763cb1634a81be1c1255f8d" @@ -25,13 +20,13 @@ iterall "^1.1.3" uuid "^3.1.0" -"@aws-amplify/analytics@5.0.14": - version "5.0.14" - resolved "https://registry.yarnpkg.com/@aws-amplify/analytics/-/analytics-5.0.14.tgz#a721a3486860c6a30297aa3d697b05659232c1f9" - integrity sha512-L3C2l/3t0qOWftHPnetXFDQlDvDAKKCdbgeBTwo4DwNb9qVPStCqU9k6YPcuW0XE56ZSoFdq2oJ68QaNCO/NXA== +"@aws-amplify/analytics@5.1.4": + version "5.1.4" + resolved "https://registry.yarnpkg.com/@aws-amplify/analytics/-/analytics-5.1.4.tgz#ab1a8e68ffc2c96fb96b9b806abb5f9a9ecff2ca" + integrity sha512-GtrIOQDoFbjixCYCPMhMQbsw9EgZDFbRHYMo0qswkCbMixGvBJAULp2hI10+6lnZgJdq9UJjwsDdBJdaOcH3ag== dependencies: - "@aws-amplify/cache" "4.0.16" - "@aws-amplify/core" "4.2.8" + "@aws-amplify/cache" "4.0.26" + "@aws-amplify/core" "4.3.6" "@aws-sdk/client-firehose" "3.6.1" "@aws-sdk/client-kinesis" "3.6.1" "@aws-sdk/client-personalize-events" "3.6.1" @@ -40,40 +35,40 @@ lodash "^4.17.20" uuid "^3.2.1" -"@aws-amplify/api-graphql@2.2.3": - version "2.2.3" - resolved "https://registry.yarnpkg.com/@aws-amplify/api-graphql/-/api-graphql-2.2.3.tgz#f0bec1f2e3bf19c6d5594e02d4c03f70e098269b" - integrity sha512-CnHpuCvJpiGx8c1uZvrD1tZSzrWjbCZ5gNmFavPSQqbrtpWJWi2JKM6czS2QfdEauW+Z9Vlx0O66qhXiZ4BqNg== - dependencies: - "@aws-amplify/api-rest" "2.0.14" - "@aws-amplify/auth" "4.3.4" - "@aws-amplify/cache" "4.0.16" - "@aws-amplify/core" "4.2.8" - "@aws-amplify/pubsub" "4.1.6" - graphql "14.0.0" +"@aws-amplify/api-graphql@2.2.13": + version "2.2.13" + resolved "https://registry.yarnpkg.com/@aws-amplify/api-graphql/-/api-graphql-2.2.13.tgz#6b1be693f03e0ebf03e75977e2dba5e6a60cbaf2" + integrity sha512-HH0TBNaY8NosiZlMQzYSUL1pUOH9RNc68bDkLBHXxv6mCSjskdgY1sd8NQ1WqVXC4W0+s0mzzCOHniP1NR/LGg== + dependencies: + "@aws-amplify/api-rest" "2.0.24" + "@aws-amplify/auth" "4.3.14" + "@aws-amplify/cache" "4.0.26" + "@aws-amplify/core" "4.3.6" + "@aws-amplify/pubsub" "4.2.0" + graphql "14.5.0" uuid "^3.2.1" zen-observable-ts "0.8.19" -"@aws-amplify/api-rest@2.0.14": - version "2.0.14" - resolved "https://registry.yarnpkg.com/@aws-amplify/api-rest/-/api-rest-2.0.14.tgz#efea35da31593c8e45725d13ab2f1e2cd6e27415" - integrity sha512-CdXhqWlcbcGMbp2FzS2eDm1fEY3qOyPn+sbTNhyolK1sfrhyWB2QjJwe1bGBzNIz4dLvfqqMVlmI3Qh/RP7h8Q== +"@aws-amplify/api-rest@2.0.24": + version "2.0.24" + resolved "https://registry.yarnpkg.com/@aws-amplify/api-rest/-/api-rest-2.0.24.tgz#72905c87585cccea2f4645db87884c74b5d22e5a" + integrity sha512-2zVtw0AVwYlr7eVoqVVsIau/QtGnYWYlUQAnMr27PtvN9GMlAddF89NDHBea93lV7L1J2ws64U/t7hFLgFshUQ== dependencies: - "@aws-amplify/core" "4.2.8" + "@aws-amplify/core" "4.3.6" axios "0.21.4" -"@aws-amplify/api@4.0.14": - version "4.0.14" - resolved "https://registry.yarnpkg.com/@aws-amplify/api/-/api-4.0.14.tgz#ee727f354781716637a9ae84ae6cbe470ea0ab68" - integrity sha512-u6LVmBZIna2y4U+NaMKSbp5tFXbRjyDegIwdb81KCAv3JxFR0cKZcrQuGXVRgATO/eFqERwn7iWFUEnuhiPDHw== +"@aws-amplify/api@4.0.24": + version "4.0.24" + resolved "https://registry.yarnpkg.com/@aws-amplify/api/-/api-4.0.24.tgz#74d4d2e495cd8fc9740878bc9078d67ffb90566b" + integrity sha512-DzW4bzcrd/ySIbqYKv4vlWUv571rkbO0uoLQGp0FORt8P2sHtKhZGWhHeXImt+VvMCRaeSUOu1fD6b56FdpKTA== dependencies: - "@aws-amplify/api-graphql" "2.2.3" - "@aws-amplify/api-rest" "2.0.14" + "@aws-amplify/api-graphql" "2.2.13" + "@aws-amplify/api-rest" "2.0.24" -"@aws-amplify/appsync-modelgen-plugin@1.27.1": - version "1.27.1" - resolved "https://registry.yarnpkg.com/@aws-amplify/appsync-modelgen-plugin/-/appsync-modelgen-plugin-1.27.1.tgz#3092783a8b44241f08ce94ea433dafc2c5370b54" - integrity sha512-HBqzRkYBmSpdP2Il/h42oetZbUbGU5UD6qdsPItlaY9A42TWHKS2xCRUSgYahQhr393Snkr6XVGn+1ClM0Q5Yg== +"@aws-amplify/appsync-modelgen-plugin@1.29.6": + version "1.29.6" + resolved "https://registry.yarnpkg.com/@aws-amplify/appsync-modelgen-plugin/-/appsync-modelgen-plugin-1.29.6.tgz#ee9300e090aebfaf978caedb15e07e3b625cae28" + integrity sha512-FWzZEN8MN1CHtSop/8WVtcG8m3Qw02/wVAHX6tG3zSa4rs9/iqkPzf6ae81EYuhNhPts8j7vBgHshZ2H+Ar4dw== dependencies: "@graphql-codegen/plugin-helpers" "^1.12.2" "@graphql-codegen/visitor-plugin-common" "1.12.2" @@ -88,27 +83,27 @@ strip-indent "^3.0.0" ts-dedent "^1.1.0" -"@aws-amplify/auth@4.3.4": - version "4.3.4" - resolved "https://registry.yarnpkg.com/@aws-amplify/auth/-/auth-4.3.4.tgz#1b48a8583e3cf0ae032744a6d60d6459f99f966d" - integrity sha512-zwvfwSmStRyK61oZ/KFl9C65hB9M7fkdiyTUp5dM0AmshnZfNDLoHhAnyPZ98TF+MvxzxS/7D/PiINhZlUGxSw== +"@aws-amplify/auth@4.3.14": + version "4.3.14" + resolved "https://registry.yarnpkg.com/@aws-amplify/auth/-/auth-4.3.14.tgz#9238c9ee1358cf2fc841f7541232b0625559772a" + integrity sha512-3SSfbWjyjiSLWP41NFX/WhGKVgVjMoraxUVU226HMpRQqcQBXaYYAiOynBPup4OpTi1r9AlHapXof5OxtjiUxw== dependencies: - "@aws-amplify/cache" "4.0.16" - "@aws-amplify/core" "4.2.8" - amazon-cognito-identity-js "5.1.0" + "@aws-amplify/cache" "4.0.26" + "@aws-amplify/core" "4.3.6" + amazon-cognito-identity-js "5.2.3" crypto-js "^4.1.1" -"@aws-amplify/cache@4.0.16": - version "4.0.16" - resolved "https://registry.yarnpkg.com/@aws-amplify/cache/-/cache-4.0.16.tgz#b0a0e1864fd628867b5d45d583465ad1a06d48d7" - integrity sha512-pRDvDaxSiyQPsiHbZItI/+yNJ7hIlK+McIwh/HvK5wgNt03HRgNSs/XUOJVulapHhA0KIqSGteOVecRbhcO78Q== +"@aws-amplify/cache@4.0.26": + version "4.0.26" + resolved "https://registry.yarnpkg.com/@aws-amplify/cache/-/cache-4.0.26.tgz#c5090305f20609b730288e1486c316b22d1aede1" + integrity sha512-z8Enp3Oy6JFBk/E3PcXhXGVDhNzAuQpma+5GFyfc8K3G0w2HxiTM9ZtgTzssejlulHtwf26JdzNbllBi4fzJBA== dependencies: - "@aws-amplify/core" "4.2.8" + "@aws-amplify/core" "4.3.6" -"@aws-amplify/core@4.2.8": - version "4.2.8" - resolved "https://registry.yarnpkg.com/@aws-amplify/core/-/core-4.2.8.tgz#544c6bfa99ec04b8dc3df71e63e841559d8847fd" - integrity sha512-jvP7xVcqjk2m7qAgct/MGHyXtxuru+NemQCryPZB+YlQoYoT+PV9B5oBekKjjt4DUERO+RvGaUX/jDDxIKE3SQ== +"@aws-amplify/core@4.3.6": + version "4.3.6" + resolved "https://registry.yarnpkg.com/@aws-amplify/core/-/core-4.3.6.tgz#8f5ce938e3b6c26555d6a2dbb2228808b2ed4e03" + integrity sha512-Qs/TdUiTAhoygKubmoNb2yvXh/M4OmMjmGCeN0YDllwGjq6zf5J7pAGlJEKBBTJD+UKGPpdoeVZfSiR0CJu/FQ== dependencies: "@aws-crypto/sha256-js" "1.0.0-alpha.0" "@aws-sdk/client-cloudwatch-logs" "3.6.1" @@ -128,16 +123,16 @@ url "^0.11.0" zen-observable "^0.8.6" -"@aws-amplify/datastore@3.4.2": - version "3.4.2" - resolved "https://registry.yarnpkg.com/@aws-amplify/datastore/-/datastore-3.4.2.tgz#b9fb24052813c34ae38373fc20a9c4f2b6c3b018" - integrity sha512-dzkOI8vHtPUmAI/aF/8/5cIXDA0f/Q13XTASF+ash8SdMTalbBBBdxiPZuf87xyqaP6qU/QX5H8wBHczG6XmVA== - dependencies: - "@aws-amplify/api" "4.0.14" - "@aws-amplify/auth" "4.3.4" - "@aws-amplify/core" "4.2.8" - "@aws-amplify/pubsub" "4.1.6" - amazon-cognito-identity-js "5.1.0" +"@aws-amplify/datastore@3.6.0": + version "3.6.0" + resolved "https://registry.yarnpkg.com/@aws-amplify/datastore/-/datastore-3.6.0.tgz#1d481a348b758277d8154cd4bb22fda1c1deb5a9" + integrity sha512-uxb/9gVpPN8YEzC1a5MrR+C3eQPALzH/ZX7D51W7ITqBQ96pxGiwCOGM0yJso4PphpTWQ0n7Sj0dMhab7ylX1Q== + dependencies: + "@aws-amplify/api" "4.0.24" + "@aws-amplify/auth" "4.3.14" + "@aws-amplify/core" "4.3.6" + "@aws-amplify/pubsub" "4.2.0" + amazon-cognito-identity-js "5.2.3" idb "5.0.6" immer "9.0.6" ulid "2.3.0" @@ -145,10 +140,19 @@ zen-observable-ts "0.8.19" zen-push "0.2.1" -"@aws-amplify/graphql-docs-generator@2.3.4": - version "2.3.4" - resolved "https://registry.yarnpkg.com/@aws-amplify/graphql-docs-generator/-/graphql-docs-generator-2.3.4.tgz#acff069edd821d89b9b5dead9f0f25d5e95398a5" - integrity sha512-l7NrmTcv25rvLBV6dQnedA20fzWx5o+Wajfujrhv94RC44HhrKTyWjcfgY0WtcxpHUojbafFNhd0lzY5cmKxNQ== +"@aws-amplify/geo@1.1.6": + version "1.1.6" + resolved "https://registry.yarnpkg.com/@aws-amplify/geo/-/geo-1.1.6.tgz#2e4fe3ea88a02c6d8508774b668f666837f96c54" + integrity sha512-qs858TJ9LbWbltp9E+Cp6Txi8w0rMAFkXlR1EMEoBy2h/6vbxcm/to96QFqbovy2Pi7oX3sjdInufktXYYswsA== + dependencies: + "@aws-amplify/core" "4.3.6" + "@aws-sdk/client-location" "3.22.0" + camelcase-keys "6.2.2" + +"@aws-amplify/graphql-docs-generator@2.4.2": + version "2.4.2" + resolved "https://registry.yarnpkg.com/@aws-amplify/graphql-docs-generator/-/graphql-docs-generator-2.4.2.tgz#cc3ef50cab77ee0ea23b735b279ae706e8d0b32d" + integrity sha512-KvU26G1i/tTK+4ar6Kjo/vDDW7Ry8VT0NPqD9W+NPIUIrBcl8bG1qjm2asnnM9Jybedi2s7Gx9jci8pKd/BA0Q== dependencies: change-case "^4.1.1" graphql "^14.5.8" @@ -350,10 +354,10 @@ constructs "^3.3.125" graphql "^14.5.8" -"@aws-amplify/graphql-types-generator@2.8.0": - version "2.8.0" - resolved "https://registry.yarnpkg.com/@aws-amplify/graphql-types-generator/-/graphql-types-generator-2.8.0.tgz#4d1de0d2bebfe86863d892b175ef9ee5fea489ca" - integrity sha512-/zhoQlRP2mD6Q8HqdiErwVgCK6R0jBEXsDFBNkLXljmKuspK8N+aWdF1GTKjAm9y6dwiIb/Nw3WZpQNy1Gp/Tg== +"@aws-amplify/graphql-types-generator@2.8.5": + version "2.8.5" + resolved "https://registry.yarnpkg.com/@aws-amplify/graphql-types-generator/-/graphql-types-generator-2.8.5.tgz#f2a34212c03a0a1be3c0f5e88b7079da7190f9ea" + integrity sha512-fvhJpLHaSEwUdj09F1yNHIoSk91ZVk/MCWBlJOPQewl6CSWBFsW5GmXVNHlDzzPqUdXitlzppNfS29lyPRiEXw== dependencies: "@babel/generator" "7.0.0-beta.4" "@babel/types" "7.0.0-beta.4" @@ -375,21 +379,21 @@ source-map-support "^0.5.16" yargs "^15.1.0" -"@aws-amplify/interactions@4.0.14": - version "4.0.14" - resolved "https://registry.yarnpkg.com/@aws-amplify/interactions/-/interactions-4.0.14.tgz#ebabd0cdce9e46b2d61f61600bee40abecd7a195" - integrity sha512-RR4TQETMD+GeNwNvK15wPwUcRHtHhv70onpyGhLIyPkctNs4CEi1BTHCgujp6y8SykjDrKAmAt2G6c6b7d4jKg== +"@aws-amplify/interactions@4.0.24": + version "4.0.24" + resolved "https://registry.yarnpkg.com/@aws-amplify/interactions/-/interactions-4.0.24.tgz#97cb013a47ecd2f04359a21239b9f8d2e5404560" + integrity sha512-tOUL/NdjhPz6h8SYpKunyw+iDzA7X+qm/OBkSj4JGkO4IvtnMtH1Pow1oYYdbIxrr/juxBrDCR4M3I3Hv+ssRA== dependencies: - "@aws-amplify/core" "4.2.8" + "@aws-amplify/core" "4.3.6" "@aws-sdk/client-lex-runtime-service" "3.6.1" -"@aws-amplify/predictions@4.0.14": - version "4.0.14" - resolved "https://registry.yarnpkg.com/@aws-amplify/predictions/-/predictions-4.0.14.tgz#72f411723bbf44d2bed8dffdd7c6bef26c857457" - integrity sha512-4bpjjOlLompyBfpOqRfXl174akaVp3jEgasJaUJsi5AsbXXmg+b4DTVTBWaLAoSAlQUe2MhkjpHdLGzkuRqamg== +"@aws-amplify/predictions@4.0.24": + version "4.0.24" + resolved "https://registry.yarnpkg.com/@aws-amplify/predictions/-/predictions-4.0.24.tgz#49f495f1806fcd8a3169a6fde05085b52326e8d9" + integrity sha512-En3qfQ7bQZlAyRqBe0DC2K24DBiV2tMoiXCu4IVkWwyqCHfb65oZwz8VILJ28IecVfM+l5j44AWtbZ67rQyxJw== dependencies: - "@aws-amplify/core" "4.2.8" - "@aws-amplify/storage" "4.3.9" + "@aws-amplify/core" "4.3.6" + "@aws-amplify/storage" "4.4.7" "@aws-sdk/client-comprehend" "3.6.1" "@aws-sdk/client-polly" "3.6.1" "@aws-sdk/client-rekognition" "3.6.1" @@ -399,25 +403,25 @@ "@aws-sdk/util-utf8-node" "3.6.1" uuid "^3.2.1" -"@aws-amplify/pubsub@4.1.6": - version "4.1.6" - resolved "https://registry.yarnpkg.com/@aws-amplify/pubsub/-/pubsub-4.1.6.tgz#dbb90198a2288c58feab517688e0927e14247d65" - integrity sha512-tJRral50J1EivxwB8JPczNbHdXVEksK7IbLS0mKSKKVWZzS05IlA3tB+rPDBfX7K9rEbeWkPTqi7PmNx5r7Aqg== +"@aws-amplify/pubsub@4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@aws-amplify/pubsub/-/pubsub-4.2.0.tgz#30aca8512ef130e214a2134f3cc964a71c835cd7" + integrity sha512-iY028tyigLqIGC1gvL1tI3u7Qz99nALq32qiZyIbeQw3pFV/LyEFppFRakzDrCk470CmjJoEr/G2qMm4WhPDPQ== dependencies: - "@aws-amplify/auth" "4.3.4" - "@aws-amplify/cache" "4.0.16" - "@aws-amplify/core" "4.2.8" + "@aws-amplify/auth" "4.3.14" + "@aws-amplify/cache" "4.0.26" + "@aws-amplify/core" "4.3.6" graphql "14.0.0" paho-mqtt "^1.1.0" uuid "^3.2.1" zen-observable-ts "0.8.19" -"@aws-amplify/storage@4.3.9": - version "4.3.9" - resolved "https://registry.yarnpkg.com/@aws-amplify/storage/-/storage-4.3.9.tgz#14cc1f4dc8146f6926ec4339bb91ee84e29a8cc5" - integrity sha512-KvFGjqGjwOWxIeiyU4KZEZctqwkekD0w8a8xhOCqz9Gynq/cogDKCSYntJJ07g90CEHfm2o24zyotBemxoXt9w== +"@aws-amplify/storage@4.4.7": + version "4.4.7" + resolved "https://registry.yarnpkg.com/@aws-amplify/storage/-/storage-4.4.7.tgz#33e8b7417ce551dd6a1bca79b33b64d2672c3f9b" + integrity sha512-C5ZmKAMibtAMmmlUAkKBo8U4wdkUFr/Hg9vezCqVB6lmoLS7GVTf0nJ0duPmzjyhb6pqrf0SPB25HGC76X6JAw== dependencies: - "@aws-amplify/core" "4.2.8" + "@aws-amplify/core" "4.3.6" "@aws-sdk/client-s3" "3.6.1" "@aws-sdk/s3-request-presigner" "3.6.1" "@aws-sdk/util-create-request" "3.6.1" @@ -431,12 +435,12 @@ resolved "https://registry.yarnpkg.com/@aws-amplify/ui/-/ui-2.0.3.tgz#7a88a416942aedbc6a6ea9850a2c98693c80340a" integrity sha512-LxbmPGD/S4bWzUh2PXMPSt/rXeUVJTsCbMpwH18XilTkXgOSmKH/eyVZNXUBY8C/xwqjzMTC68EtTlsM1DCq1A== -"@aws-amplify/xr@3.0.14": - version "3.0.14" - resolved "https://registry.yarnpkg.com/@aws-amplify/xr/-/xr-3.0.14.tgz#fc59bd07665065c88484268ce090ef9af71bc5d6" - integrity sha512-zosScoHAP5X9LOMNaruQQbC/tkC69ugolztvLVCq7pGVYb+YV4FOo/Dr36RhpWgdrfUTpnUr1Seywy4wzy6chA== +"@aws-amplify/xr@3.0.24": + version "3.0.24" + resolved "https://registry.yarnpkg.com/@aws-amplify/xr/-/xr-3.0.24.tgz#0e8c9fa5c3c7099dac168cc5f411eb62becf70dc" + integrity sha512-61pFFpJOUeVpb/Xl1+uaTg4Pvd5rNkSYo/InuijVNlNK/c5/Qeu0iWWiRuMfALGXY/GT2USVmNiepUXlGh0UAQ== dependencies: - "@aws-amplify/core" "4.2.8" + "@aws-amplify/core" "4.3.6" "@aws-cdk/assert@~1.124.0": version "1.124.0" @@ -1279,11 +1283,22 @@ resolved "https://registry.yarnpkg.com/@aws-cdk/region-info/-/region-info-1.124.0.tgz#541a6372b89a3385cc0cf3e2d71f1b917503be24" integrity sha512-v8Msal5kCv5Juscj6Dxjzx4HHiYKD3rWDLBAvaDN/V3zCNGga3s8M2aM/n7po7HLjVW333VzyuOCHBYnSrtMIg== +"@aws-crypto/crc32@2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/crc32/-/crc32-2.0.0.tgz#4ad432a3c03ec3087c5540ff6e41e6565d2dc153" + integrity sha512-TvE1r2CUueyXOuHdEigYjIZVesInd9KN+K/TFFNfkkxRThiNxO6i4ZqqAVMoEjAamZZ1AA8WXJkjCz7YShHPQA== + dependencies: + "@aws-crypto/util" "^2.0.0" + "@aws-sdk/types" "^3.1.0" + tslib "^1.11.1" + "@aws-crypto/crc32@^1.0.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@aws-crypto/crc32/-/crc32-1.1.0.tgz#aff048e207798fad0b0e7765b12d474c273779b6" - integrity sha512-ifvfaaJVvT+JUTi3zSkX4wtuGGVJrAcjN7ftg+JiE/frNBP3zNwo4xipzWBsMLZfNuzMZuaesEYyqkZcs5tzCQ== + version "1.2.2" + resolved "https://registry.yarnpkg.com/@aws-crypto/crc32/-/crc32-1.2.2.tgz#4a758a596fa8cb3ab463f037a78c2ca4992fe81f" + integrity sha512-8K0b1672qbv05chSoKpwGZ3fhvVp28Fg3AVHVkEHFl2lTLChO7wD/hTyyo8ING7uc31uZRt7bNra/hA74Td7Tw== dependencies: + "@aws-crypto/util" "^1.2.2" + "@aws-sdk/types" "^3.1.0" tslib "^1.11.1" "@aws-crypto/ie11-detection@^1.0.0": @@ -1293,17 +1308,38 @@ dependencies: tslib "^1.11.1" -"@aws-crypto/sha256-browser@^1.0.0": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-browser/-/sha256-browser-1.1.1.tgz#85dddf13e8f8d74c0d6592d993e4bf401da9f420" - integrity sha512-nS4vdan97It6HcweV58WXtjPbPSc0JXd3sAwlw3Ou5Mc3WllSycAS32Tv2LRn8butNQoU9AE3jEQAOgiMdNC1Q== +"@aws-crypto/ie11-detection@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/ie11-detection/-/ie11-detection-2.0.0.tgz#bb6c2facf8f03457e949dcf0921477397ffa4c6e" + integrity sha512-pkVXf/dq6PITJ0jzYZ69VhL8VFOFoPZLZqtU/12SGnzYuJOOGNfF41q9GxdI1yqC8R13Rq3jOLKDFpUJFT5eTA== + dependencies: + tslib "^1.11.1" + +"@aws-crypto/sha256-browser@2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-browser/-/sha256-browser-2.0.0.tgz#741c9024df55ec59b51e5b1f5d806a4852699fb5" + integrity sha512-rYXOQ8BFOaqMEHJrLHul/25ckWH6GTJtdLSajhlqGMx0PmSueAuvboCuZCTqEKlxR8CQOwRarxYMZZSYlhRA1A== + dependencies: + "@aws-crypto/ie11-detection" "^2.0.0" + "@aws-crypto/sha256-js" "^2.0.0" + "@aws-crypto/supports-web-crypto" "^2.0.0" + "@aws-crypto/util" "^2.0.0" + "@aws-sdk/types" "^3.1.0" + "@aws-sdk/util-locate-window" "^3.0.0" + "@aws-sdk/util-utf8-browser" "^3.0.0" + tslib "^1.11.1" + +"@aws-crypto/sha256-browser@^1.0.0", "@aws-crypto/sha256-browser@^1.1.0", "@aws-crypto/sha256-browser@^1.2.2": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-browser/-/sha256-browser-1.2.2.tgz#004d806e3bbae130046c259ec3279a02d4a0b576" + integrity sha512-0tNR4kBtJp+9S0kis4+JLab3eg6QWuIeuPhzaYoYwNUXGBgsWIkktA2mnilet+EGWzf3n1zknJXC4X4DVyyXbg== dependencies: "@aws-crypto/ie11-detection" "^1.0.0" - "@aws-crypto/sha256-js" "^1.1.0" + "@aws-crypto/sha256-js" "^1.2.2" "@aws-crypto/supports-web-crypto" "^1.0.0" + "@aws-crypto/util" "^1.2.2" "@aws-sdk/types" "^3.1.0" "@aws-sdk/util-locate-window" "^3.0.0" - "@aws-sdk/util-utf8-browser" "^3.0.0" tslib "^1.11.1" "@aws-crypto/sha256-js@1.0.0-alpha.0": @@ -1315,13 +1351,32 @@ "@aws-sdk/util-utf8-browser" "^1.0.0-alpha.0" tslib "^1.9.3" -"@aws-crypto/sha256-js@^1.0.0", "@aws-crypto/sha256-js@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-js/-/sha256-js-1.1.0.tgz#a58386ad18186e392e0f1d98d18831261d27b071" - integrity sha512-VIhuqbPgXDVr8sZe2yhgQcDRRmzf4CI8fmC1A3bHiRfE6wlz1d8KpeemqbuoEHotz/Dch9yOxlshyQDNjNFeHA== +"@aws-crypto/sha256-js@2.0.0", "@aws-crypto/sha256-js@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-js/-/sha256-js-2.0.0.tgz#f1f936039bdebd0b9e2dd834d65afdc2aac4efcb" + integrity sha512-VZY+mCY4Nmrs5WGfitmNqXzaE873fcIZDu54cbaDaaamsaTOP1DBImV9F4pICc3EHjQXujyE8jig+PFCaew9ig== dependencies: + "@aws-crypto/util" "^2.0.0" + "@aws-sdk/types" "^3.1.0" + tslib "^1.11.1" + +"@aws-crypto/sha256-js@^1.0.0", "@aws-crypto/sha256-js@^1.1.0", "@aws-crypto/sha256-js@^1.2.0", "@aws-crypto/sha256-js@^1.2.2": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-js/-/sha256-js-1.2.2.tgz#02acd1a1fda92896fc5a28ec7c6e164644ea32fc" + integrity sha512-Nr1QJIbW/afYYGzYvrF70LtaHrIRtd4TNAglX8BvlfxJLZ45SAmueIKYl5tWoNBPzp65ymXGFK0Bb1vZUpuc9g== + dependencies: + "@aws-crypto/util" "^1.2.2" + "@aws-sdk/types" "^3.1.0" + tslib "^1.11.1" + +"@aws-crypto/sha256-universal@^1.1.1": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-universal/-/sha256-universal-1.2.2.tgz#4d08afc069a3778963a321638e6571960142bbeb" + integrity sha512-RjM7qwDvhHiBpxseKXVYvbPnVdEGgbTudYW+ur5Px6Nx/9nzsM7cZsZMczlBVgqr1xOM8TQFy0fZQnQbcWzT5A== + dependencies: + "@aws-crypto/sha256-browser" "^1.2.2" + "@aws-sdk/hash-node" "^3.0.0" "@aws-sdk/types" "^3.1.0" - "@aws-sdk/util-utf8-browser" "^3.0.0" tslib "^1.11.1" "@aws-crypto/supports-web-crypto@^1.0.0": @@ -1331,6 +1386,47 @@ dependencies: tslib "^1.11.1" +"@aws-crypto/supports-web-crypto@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/supports-web-crypto/-/supports-web-crypto-2.0.0.tgz#fd6cde30b88f77d5a4f57b2c37c560d918014f9e" + integrity sha512-Ge7WQ3E0OC7FHYprsZV3h0QIcpdyJLvIeg+uTuHqRYm8D6qCFJoiC+edSzSyFiHtZf+NOQDJ1q46qxjtzIY2nA== + dependencies: + tslib "^1.11.1" + +"@aws-crypto/util@^1.2.2": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@aws-crypto/util/-/util-1.2.2.tgz#b28f7897730eb6538b21c18bd4de22d0ea09003c" + integrity sha512-H8PjG5WJ4wz0UXAFXeJjWCW1vkvIJ3qUUD+rGRwJ2/hj+xT58Qle2MTql/2MGzkU+1JLAFuR6aJpLAjHwhmwwg== + dependencies: + "@aws-sdk/types" "^3.1.0" + "@aws-sdk/util-utf8-browser" "^3.0.0" + tslib "^1.11.1" + +"@aws-crypto/util@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/util/-/util-2.0.0.tgz#17ba6f83c7e447b70fc24b84c5f6714d1e329f4a" + integrity sha512-YDooyH83m2P5A3h6lNH7hm6mIP93sU/dtzRmXIgtO4BCB7SvtX8ysVKQAE8tVky2DQ3HHxPCjNTuUe7YoAMrNQ== + dependencies: + "@aws-sdk/types" "^3.1.0" + "@aws-sdk/util-utf8-browser" "^3.0.0" + tslib "^1.11.1" + +"@aws-sdk/abort-controller@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/abort-controller/-/abort-controller-3.22.0.tgz#96b1b52176554d2bca354c3cdc142d9c229a3d3c" + integrity sha512-vrzYpzW+tVMjxXSnu2Uy8/nWMbmc/EwD1+J7c1w3e6Ys7Qlujd0EgdkihLIlxahcdizeuIq4XNRu49rz0LdZCQ== + dependencies: + "@aws-sdk/types" "3.22.0" + tslib "^2.0.0" + +"@aws-sdk/abort-controller@3.40.0": + version "3.40.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/abort-controller/-/abort-controller-3.40.0.tgz#e17299776782483835439d9b1b5300add24adc3f" + integrity sha512-S7LzLvNuwuf0q7r4q7zqGzxd/W2xYsn8cpZ90MMb3ObolhbkLySrikUJujmXae8k+2/KFCOr+FVC0YLrATSUgQ== + dependencies: + "@aws-sdk/types" "3.40.0" + tslib "^2.3.0" + "@aws-sdk/abort-controller@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/abort-controller/-/abort-controller-3.6.1.tgz#75812875bbef6ad17e0e3a6d96aab9df636376f9" @@ -1339,6 +1435,14 @@ "@aws-sdk/types" "3.6.1" tslib "^1.8.0" +"@aws-sdk/chunked-blob-reader-native@3.37.0": + version "3.37.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/chunked-blob-reader-native/-/chunked-blob-reader-native-3.37.0.tgz#4dcb3624246377079f8626de698b8f05552b9dca" + integrity sha512-h9OYq6EvDrpb7SKod+Kow+d3aRNFVBYR1a8G8ahEDDQe3AtmA2Smyvni4kt/ABTiKvYdof2//Pq3BL/IUV9n9Q== + dependencies: + "@aws-sdk/util-base64-browser" "3.37.0" + tslib "^2.3.0" + "@aws-sdk/chunked-blob-reader-native@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/chunked-blob-reader-native/-/chunked-blob-reader-native-3.6.1.tgz#21c2c8773c3cd8403c2a953fd0e9e4f69c120214" @@ -1347,6 +1451,13 @@ "@aws-sdk/util-base64-browser" "3.6.1" tslib "^1.8.0" +"@aws-sdk/chunked-blob-reader@3.37.0": + version "3.37.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/chunked-blob-reader/-/chunked-blob-reader-3.37.0.tgz#8549adddb89dfecfedab53571c0b92a9951bbbcf" + integrity sha512-uDacnFaczeO962RnVttwAQddS4rgDfI7nfeY8NV6iZkDv5uxGzHTfH4jT7WvPDM1pSMcOMDx8RJ+Tmtsd1VTsA== + dependencies: + tslib "^2.3.0" + "@aws-sdk/chunked-blob-reader@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/chunked-blob-reader/-/chunked-blob-reader-3.6.1.tgz#63363025dcecc2f9dd47ae5c282d79c01b327d82" @@ -1581,6 +1692,43 @@ "@aws-sdk/util-utf8-node" "3.6.1" tslib "^2.0.0" +"@aws-sdk/client-location@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-location/-/client-location-3.22.0.tgz#a6d51a20cce50770d4c35d413b05da36fef2e138" + integrity sha512-1DOpMgEtln581fo2rYjDpgsKE5ScpFBPwbZKYDjiPo8qF3Rcl/LKI7HLgmeCDQBWobvOtnKB8+9bZVpqx1rEUA== + dependencies: + "@aws-crypto/sha256-browser" "^1.1.0" + "@aws-crypto/sha256-js" "^1.1.0" + "@aws-sdk/client-sts" "3.22.0" + "@aws-sdk/config-resolver" "3.22.0" + "@aws-sdk/credential-provider-node" "3.22.0" + "@aws-sdk/fetch-http-handler" "3.22.0" + "@aws-sdk/hash-node" "3.22.0" + "@aws-sdk/invalid-dependency" "3.22.0" + "@aws-sdk/middleware-content-length" "3.22.0" + "@aws-sdk/middleware-host-header" "3.22.0" + "@aws-sdk/middleware-logger" "3.22.0" + "@aws-sdk/middleware-retry" "3.22.0" + "@aws-sdk/middleware-serde" "3.22.0" + "@aws-sdk/middleware-signing" "3.22.0" + "@aws-sdk/middleware-stack" "3.22.0" + "@aws-sdk/middleware-user-agent" "3.22.0" + "@aws-sdk/node-config-provider" "3.22.0" + "@aws-sdk/node-http-handler" "3.22.0" + "@aws-sdk/protocol-http" "3.22.0" + "@aws-sdk/smithy-client" "3.22.0" + "@aws-sdk/types" "3.22.0" + "@aws-sdk/url-parser" "3.22.0" + "@aws-sdk/util-base64-browser" "3.22.0" + "@aws-sdk/util-base64-node" "3.22.0" + "@aws-sdk/util-body-length-browser" "3.22.0" + "@aws-sdk/util-body-length-node" "3.22.0" + "@aws-sdk/util-user-agent-browser" "3.22.0" + "@aws-sdk/util-user-agent-node" "3.22.0" + "@aws-sdk/util-utf8-browser" "3.22.0" + "@aws-sdk/util-utf8-node" "3.22.0" + tslib "^2.0.0" + "@aws-sdk/client-personalize-events@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/client-personalize-events/-/client-personalize-events-3.6.1.tgz#86942bb64108cfc2f6c31a8b54aab6fa7f7be00f" @@ -1782,6 +1930,205 @@ fast-xml-parser "^3.16.0" tslib "^2.0.0" +"@aws-sdk/client-s3@^3.25.0": + version "3.41.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-s3/-/client-s3-3.41.0.tgz#6453162aee5ecc8534baa6045f3a368f5a6c06da" + integrity sha512-PGPy7MbyjkpQECPR02NOxucqJWJEah9IcQcUMyRB1vZBg6irBI1d4GTuWafegr3xKQ+7ZTraupDtUSJ9oRqKOg== + dependencies: + "@aws-crypto/sha256-browser" "2.0.0" + "@aws-crypto/sha256-js" "2.0.0" + "@aws-sdk/client-sts" "3.41.0" + "@aws-sdk/config-resolver" "3.40.0" + "@aws-sdk/credential-provider-node" "3.41.0" + "@aws-sdk/eventstream-serde-browser" "3.40.0" + "@aws-sdk/eventstream-serde-config-resolver" "3.40.0" + "@aws-sdk/eventstream-serde-node" "3.40.0" + "@aws-sdk/fetch-http-handler" "3.40.0" + "@aws-sdk/hash-blob-browser" "3.40.0" + "@aws-sdk/hash-node" "3.40.0" + "@aws-sdk/hash-stream-node" "3.40.0" + "@aws-sdk/invalid-dependency" "3.40.0" + "@aws-sdk/md5-js" "3.40.0" + "@aws-sdk/middleware-apply-body-checksum" "3.40.0" + "@aws-sdk/middleware-bucket-endpoint" "3.41.0" + "@aws-sdk/middleware-content-length" "3.40.0" + "@aws-sdk/middleware-expect-continue" "3.40.0" + "@aws-sdk/middleware-host-header" "3.40.0" + "@aws-sdk/middleware-location-constraint" "3.40.0" + "@aws-sdk/middleware-logger" "3.40.0" + "@aws-sdk/middleware-retry" "3.40.0" + "@aws-sdk/middleware-sdk-s3" "3.41.0" + "@aws-sdk/middleware-serde" "3.40.0" + "@aws-sdk/middleware-signing" "3.40.0" + "@aws-sdk/middleware-ssec" "3.40.0" + "@aws-sdk/middleware-stack" "3.40.0" + "@aws-sdk/middleware-user-agent" "3.40.0" + "@aws-sdk/node-config-provider" "3.40.0" + "@aws-sdk/node-http-handler" "3.40.0" + "@aws-sdk/protocol-http" "3.40.0" + "@aws-sdk/smithy-client" "3.41.0" + "@aws-sdk/types" "3.40.0" + "@aws-sdk/url-parser" "3.40.0" + "@aws-sdk/util-base64-browser" "3.37.0" + "@aws-sdk/util-base64-node" "3.37.0" + "@aws-sdk/util-body-length-browser" "3.37.0" + "@aws-sdk/util-body-length-node" "3.37.0" + "@aws-sdk/util-user-agent-browser" "3.40.0" + "@aws-sdk/util-user-agent-node" "3.40.0" + "@aws-sdk/util-utf8-browser" "3.37.0" + "@aws-sdk/util-utf8-node" "3.37.0" + "@aws-sdk/util-waiter" "3.40.0" + "@aws-sdk/xml-builder" "3.37.0" + entities "2.2.0" + fast-xml-parser "3.19.0" + tslib "^2.3.0" + +"@aws-sdk/client-sso@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.22.0.tgz#992655f348fcbd6d8e9688c97dd03272ae39e592" + integrity sha512-LXskY6Mvo/wk2dL1FNTazzhWiHiI3+nJdAT7iNOAg2Q1EUGVAfK+6EccEFPqaBtJDN4kv047HxXNVXKxJSyICg== + dependencies: + "@aws-crypto/sha256-browser" "^1.0.0" + "@aws-crypto/sha256-js" "^1.0.0" + "@aws-sdk/config-resolver" "3.22.0" + "@aws-sdk/fetch-http-handler" "3.22.0" + "@aws-sdk/hash-node" "3.22.0" + "@aws-sdk/invalid-dependency" "3.22.0" + "@aws-sdk/middleware-content-length" "3.22.0" + "@aws-sdk/middleware-host-header" "3.22.0" + "@aws-sdk/middleware-logger" "3.22.0" + "@aws-sdk/middleware-retry" "3.22.0" + "@aws-sdk/middleware-serde" "3.22.0" + "@aws-sdk/middleware-stack" "3.22.0" + "@aws-sdk/middleware-user-agent" "3.22.0" + "@aws-sdk/node-config-provider" "3.22.0" + "@aws-sdk/node-http-handler" "3.22.0" + "@aws-sdk/protocol-http" "3.22.0" + "@aws-sdk/smithy-client" "3.22.0" + "@aws-sdk/types" "3.22.0" + "@aws-sdk/url-parser" "3.22.0" + "@aws-sdk/util-base64-browser" "3.22.0" + "@aws-sdk/util-base64-node" "3.22.0" + "@aws-sdk/util-body-length-browser" "3.22.0" + "@aws-sdk/util-body-length-node" "3.22.0" + "@aws-sdk/util-user-agent-browser" "3.22.0" + "@aws-sdk/util-user-agent-node" "3.22.0" + "@aws-sdk/util-utf8-browser" "3.22.0" + "@aws-sdk/util-utf8-node" "3.22.0" + tslib "^2.0.0" + +"@aws-sdk/client-sso@3.41.0": + version "3.41.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.41.0.tgz#33d49e926ef6fff08278b256454241f1f982d8de" + integrity sha512-xDvcy7wv3KdHhOpl5fZN+Ydw+dHBmsCZwMFI1ZdJVCSGO+ZKgl5KVWi1LCif6vjZP1pUuGl44oDOZz1ACqOzTg== + dependencies: + "@aws-crypto/sha256-browser" "2.0.0" + "@aws-crypto/sha256-js" "2.0.0" + "@aws-sdk/config-resolver" "3.40.0" + "@aws-sdk/fetch-http-handler" "3.40.0" + "@aws-sdk/hash-node" "3.40.0" + "@aws-sdk/invalid-dependency" "3.40.0" + "@aws-sdk/middleware-content-length" "3.40.0" + "@aws-sdk/middleware-host-header" "3.40.0" + "@aws-sdk/middleware-logger" "3.40.0" + "@aws-sdk/middleware-retry" "3.40.0" + "@aws-sdk/middleware-serde" "3.40.0" + "@aws-sdk/middleware-stack" "3.40.0" + "@aws-sdk/middleware-user-agent" "3.40.0" + "@aws-sdk/node-config-provider" "3.40.0" + "@aws-sdk/node-http-handler" "3.40.0" + "@aws-sdk/protocol-http" "3.40.0" + "@aws-sdk/smithy-client" "3.41.0" + "@aws-sdk/types" "3.40.0" + "@aws-sdk/url-parser" "3.40.0" + "@aws-sdk/util-base64-browser" "3.37.0" + "@aws-sdk/util-base64-node" "3.37.0" + "@aws-sdk/util-body-length-browser" "3.37.0" + "@aws-sdk/util-body-length-node" "3.37.0" + "@aws-sdk/util-user-agent-browser" "3.40.0" + "@aws-sdk/util-user-agent-node" "3.40.0" + "@aws-sdk/util-utf8-browser" "3.37.0" + "@aws-sdk/util-utf8-node" "3.37.0" + tslib "^2.3.0" + +"@aws-sdk/client-sts@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.22.0.tgz#093cbdaf5501220820ef2fa7c1a2cdefcba6a089" + integrity sha512-3htpVHnnD4AvHPo+8VfkPbegN4WPAqcNIXPKCMNkNbYmnLLbtB4MlzKsRgpBP4LvRhi/2kt8fapRTQuTXo/8Mg== + dependencies: + "@aws-crypto/sha256-browser" "^1.0.0" + "@aws-crypto/sha256-js" "^1.0.0" + "@aws-sdk/config-resolver" "3.22.0" + "@aws-sdk/credential-provider-node" "3.22.0" + "@aws-sdk/fetch-http-handler" "3.22.0" + "@aws-sdk/hash-node" "3.22.0" + "@aws-sdk/invalid-dependency" "3.22.0" + "@aws-sdk/middleware-content-length" "3.22.0" + "@aws-sdk/middleware-host-header" "3.22.0" + "@aws-sdk/middleware-logger" "3.22.0" + "@aws-sdk/middleware-retry" "3.22.0" + "@aws-sdk/middleware-sdk-sts" "3.22.0" + "@aws-sdk/middleware-serde" "3.22.0" + "@aws-sdk/middleware-signing" "3.22.0" + "@aws-sdk/middleware-stack" "3.22.0" + "@aws-sdk/middleware-user-agent" "3.22.0" + "@aws-sdk/node-config-provider" "3.22.0" + "@aws-sdk/node-http-handler" "3.22.0" + "@aws-sdk/protocol-http" "3.22.0" + "@aws-sdk/smithy-client" "3.22.0" + "@aws-sdk/types" "3.22.0" + "@aws-sdk/url-parser" "3.22.0" + "@aws-sdk/util-base64-browser" "3.22.0" + "@aws-sdk/util-base64-node" "3.22.0" + "@aws-sdk/util-body-length-browser" "3.22.0" + "@aws-sdk/util-body-length-node" "3.22.0" + "@aws-sdk/util-user-agent-browser" "3.22.0" + "@aws-sdk/util-user-agent-node" "3.22.0" + "@aws-sdk/util-utf8-browser" "3.22.0" + "@aws-sdk/util-utf8-node" "3.22.0" + entities "2.2.0" + fast-xml-parser "3.19.0" + tslib "^2.0.0" + +"@aws-sdk/client-sts@3.41.0": + version "3.41.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.41.0.tgz#38bde53d0cd1254894d0b27b4cc3f056f5d2692e" + integrity sha512-XTjmr53kMbXuVhH3B+g2jEYuhNralptsMSd4RcSHCB7BX1NmAMnMFKKTmVlmc5NizWi4x1CzExu86Q0YSqp0og== + dependencies: + "@aws-crypto/sha256-browser" "2.0.0" + "@aws-crypto/sha256-js" "2.0.0" + "@aws-sdk/config-resolver" "3.40.0" + "@aws-sdk/credential-provider-node" "3.41.0" + "@aws-sdk/fetch-http-handler" "3.40.0" + "@aws-sdk/hash-node" "3.40.0" + "@aws-sdk/invalid-dependency" "3.40.0" + "@aws-sdk/middleware-content-length" "3.40.0" + "@aws-sdk/middleware-host-header" "3.40.0" + "@aws-sdk/middleware-logger" "3.40.0" + "@aws-sdk/middleware-retry" "3.40.0" + "@aws-sdk/middleware-sdk-sts" "3.40.0" + "@aws-sdk/middleware-serde" "3.40.0" + "@aws-sdk/middleware-signing" "3.40.0" + "@aws-sdk/middleware-stack" "3.40.0" + "@aws-sdk/middleware-user-agent" "3.40.0" + "@aws-sdk/node-config-provider" "3.40.0" + "@aws-sdk/node-http-handler" "3.40.0" + "@aws-sdk/protocol-http" "3.40.0" + "@aws-sdk/smithy-client" "3.41.0" + "@aws-sdk/types" "3.40.0" + "@aws-sdk/url-parser" "3.40.0" + "@aws-sdk/util-base64-browser" "3.37.0" + "@aws-sdk/util-base64-node" "3.37.0" + "@aws-sdk/util-body-length-browser" "3.37.0" + "@aws-sdk/util-body-length-node" "3.37.0" + "@aws-sdk/util-user-agent-browser" "3.40.0" + "@aws-sdk/util-user-agent-node" "3.40.0" + "@aws-sdk/util-utf8-browser" "3.37.0" + "@aws-sdk/util-utf8-node" "3.37.0" + entities "2.2.0" + fast-xml-parser "3.19.0" + tslib "^2.3.0" + "@aws-sdk/client-textract@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/client-textract/-/client-textract-3.6.1.tgz#b8972f53f0353222b4c052adc784291e602be6aa" @@ -1857,6 +2204,25 @@ tslib "^2.0.0" uuid "^3.0.0" +"@aws-sdk/config-resolver@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/config-resolver/-/config-resolver-3.22.0.tgz#d43c18e32454b2e2e67deabee875e5e811c9b759" + integrity sha512-zXKUbEzYeeg0eazUwNYK62lBj3sqVaRgUlDdL1+czGU2cnfhjbCGUKun9L+XTVw5Cu6V1y4cWYrA03e/2Ugl4g== + dependencies: + "@aws-sdk/signature-v4" "3.22.0" + "@aws-sdk/types" "3.22.0" + tslib "^2.0.0" + +"@aws-sdk/config-resolver@3.40.0": + version "3.40.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/config-resolver/-/config-resolver-3.40.0.tgz#d7bd3180aebced797800661a2ed778a5db8ac7e5" + integrity sha512-QYy6J2k31QL6J74hPBfptnLW1kQYdN+xjwH4UQ1mv7EUhRoJN9ZY2soStJowFy4at6IIOOVWbyG5dyqvrbEovg== + dependencies: + "@aws-sdk/signature-v4" "3.40.0" + "@aws-sdk/types" "3.40.0" + "@aws-sdk/util-config-provider" "3.40.0" + tslib "^2.3.0" + "@aws-sdk/config-resolver@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/config-resolver/-/config-resolver-3.6.1.tgz#3bcc5e6a0ebeedf0981b0540e1f18a72b4dafebf" @@ -1876,6 +2242,24 @@ "@aws-sdk/types" "3.6.1" tslib "^1.8.0" +"@aws-sdk/credential-provider-env@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.22.0.tgz#1d8fc8d9ba6e31f420dcc961d8c4348f484d5e80" + integrity sha512-vbM4hcH28fyos2BAtt1ANhEEZynYpFgdMTdw2d8jJMDITE4gtMzomVOdz/7ZVf9WFUJf9iYV6U3fXSqalFeeew== + dependencies: + "@aws-sdk/property-provider" "3.22.0" + "@aws-sdk/types" "3.22.0" + tslib "^2.0.0" + +"@aws-sdk/credential-provider-env@3.40.0": + version "3.40.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.40.0.tgz#0ca7611f13520dd6654e8eac7fa3e767d027ede6" + integrity sha512-qHZdf2vxhzZkSygjw2I4SEYFL2dMZxxYvO4QlkqQouKY81OVxs/j69oiNCjPasQzGz5jaZZKI8xEAIfkSyr1lg== + dependencies: + "@aws-sdk/property-provider" "3.40.0" + "@aws-sdk/types" "3.40.0" + tslib "^2.3.0" + "@aws-sdk/credential-provider-env@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.6.1.tgz#d8b2dd36836432a9b8ec05a5cf9fe428b04c9964" @@ -1885,6 +2269,26 @@ "@aws-sdk/types" "3.6.1" tslib "^1.8.0" +"@aws-sdk/credential-provider-imds@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.22.0.tgz#510ac5e44a160996fffe0ed9baa67730e1f6a222" + integrity sha512-d1nAy6OM+7+Yat5Yx0u5r2lRZxcCaxykblDO2rcicdsINxxcSglQsD4pud3t/dfyUfkrnznlNE5VY0H+90kx8g== + dependencies: + "@aws-sdk/property-provider" "3.22.0" + "@aws-sdk/types" "3.22.0" + tslib "^2.0.0" + +"@aws-sdk/credential-provider-imds@3.40.0": + version "3.40.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.40.0.tgz#7c324eff731f85d4d40763c484e78673aa5dedfb" + integrity sha512-Ty/wVa+BQrCFrP06AGl5S1CeLifDt68YrlYXUnkRn603SX4DvxBgVO7XFeDH58G8ziDCiqxfmVl4yjbncPPeSw== + dependencies: + "@aws-sdk/node-config-provider" "3.40.0" + "@aws-sdk/property-provider" "3.40.0" + "@aws-sdk/types" "3.40.0" + "@aws-sdk/url-parser" "3.40.0" + tslib "^2.3.0" + "@aws-sdk/credential-provider-imds@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.6.1.tgz#b5a8b8ef15eac26c58e469451a6c7c34ab3ca875" @@ -1894,6 +2298,36 @@ "@aws-sdk/types" "3.6.1" tslib "^1.8.0" +"@aws-sdk/credential-provider-ini@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.22.0.tgz#5448c2ad82b81bb0032b1319815cd3577d9d6f9a" + integrity sha512-uq9vn+qNmhBNaWu1CkuLKAKJPce7h2O8uuDRLwPfk5zWhLgeW1pjGyMyG+8aX1nytzNH+TXL+GvkMHf/Qzn11w== + dependencies: + "@aws-sdk/credential-provider-env" "3.22.0" + "@aws-sdk/credential-provider-imds" "3.22.0" + "@aws-sdk/credential-provider-sso" "3.22.0" + "@aws-sdk/credential-provider-web-identity" "3.22.0" + "@aws-sdk/property-provider" "3.22.0" + "@aws-sdk/shared-ini-file-loader" "3.22.0" + "@aws-sdk/types" "3.22.0" + "@aws-sdk/util-credentials" "3.22.0" + tslib "^2.0.0" + +"@aws-sdk/credential-provider-ini@3.41.0": + version "3.41.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.41.0.tgz#a212444f6e4d03c0683ed1b6479bca72eab782dd" + integrity sha512-98CGEHg7Tb6HxK5ZIdbAcijvD3IpLe0ddse1xMe/Ilhjz770FS/L2UNprOP6PZTqrSfBffiMrvfThUSuUaTlIQ== + dependencies: + "@aws-sdk/credential-provider-env" "3.40.0" + "@aws-sdk/credential-provider-imds" "3.40.0" + "@aws-sdk/credential-provider-sso" "3.41.0" + "@aws-sdk/credential-provider-web-identity" "3.41.0" + "@aws-sdk/property-provider" "3.40.0" + "@aws-sdk/shared-ini-file-loader" "3.37.0" + "@aws-sdk/types" "3.40.0" + "@aws-sdk/util-credentials" "3.37.0" + tslib "^2.3.0" + "@aws-sdk/credential-provider-ini@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.6.1.tgz#0da6d9341e621f8e0815814ed017b88e268fbc3d" @@ -1904,6 +2338,39 @@ "@aws-sdk/types" "3.6.1" tslib "^1.8.0" +"@aws-sdk/credential-provider-node@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.22.0.tgz#7bcc9a7de7ab0ee9ea176fa46d5af29a26d2bbd2" + integrity sha512-A3MONEY+Ul9gB2whV69n5V2sMeVXXYVA1MejG3v51d7csEi/XNlBQK5IfhEur6qi49km84xVsfHdO5/a/DNTqg== + dependencies: + "@aws-sdk/credential-provider-env" "3.22.0" + "@aws-sdk/credential-provider-imds" "3.22.0" + "@aws-sdk/credential-provider-ini" "3.22.0" + "@aws-sdk/credential-provider-process" "3.22.0" + "@aws-sdk/credential-provider-sso" "3.22.0" + "@aws-sdk/credential-provider-web-identity" "3.22.0" + "@aws-sdk/property-provider" "3.22.0" + "@aws-sdk/shared-ini-file-loader" "3.22.0" + "@aws-sdk/types" "3.22.0" + tslib "^2.0.0" + +"@aws-sdk/credential-provider-node@3.41.0": + version "3.41.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.41.0.tgz#ab4fc10ea6c7a2b42c903f4bdb68fea8ada5f5dd" + integrity sha512-5FW6+wNJgyDCsbAd+mLm/1DBTDkyIYOMVzcxbr6Vi3pM4UrMFdeLdAP62edYW8usg78Xg+c6vaAoEv/M3zkS0Q== + dependencies: + "@aws-sdk/credential-provider-env" "3.40.0" + "@aws-sdk/credential-provider-imds" "3.40.0" + "@aws-sdk/credential-provider-ini" "3.41.0" + "@aws-sdk/credential-provider-process" "3.40.0" + "@aws-sdk/credential-provider-sso" "3.41.0" + "@aws-sdk/credential-provider-web-identity" "3.41.0" + "@aws-sdk/property-provider" "3.40.0" + "@aws-sdk/shared-ini-file-loader" "3.37.0" + "@aws-sdk/types" "3.40.0" + "@aws-sdk/util-credentials" "3.37.0" + tslib "^2.3.0" + "@aws-sdk/credential-provider-node@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.6.1.tgz#0055292a4f0f49d053e8dfcc9174d8d2cf6862bb" @@ -1918,6 +2385,28 @@ "@aws-sdk/types" "3.6.1" tslib "^1.8.0" +"@aws-sdk/credential-provider-process@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.22.0.tgz#e86ece815033a57a48c7ca7a01d68f57db2122a4" + integrity sha512-5glIbC8jTiiBEMZnsX8KN9m3IC9EdVOj8H+DavwHpTv801j27NhuNYwR2JOLxhjW+PiNX1iyA5k7wfUlLJultQ== + dependencies: + "@aws-sdk/property-provider" "3.22.0" + "@aws-sdk/shared-ini-file-loader" "3.22.0" + "@aws-sdk/types" "3.22.0" + "@aws-sdk/util-credentials" "3.22.0" + tslib "^2.0.0" + +"@aws-sdk/credential-provider-process@3.40.0": + version "3.40.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.40.0.tgz#b4f16e43ca9c855002e833ac9dc8e409b3c7ca23" + integrity sha512-qsaNCDesW2GasDbzpeOA371gxugi05JWxt3EKonLbUfkGKBK7kmmL6EgLIxZuNm2/Ve4RS07PKp8yBGm4xIx9w== + dependencies: + "@aws-sdk/property-provider" "3.40.0" + "@aws-sdk/shared-ini-file-loader" "3.37.0" + "@aws-sdk/types" "3.40.0" + "@aws-sdk/util-credentials" "3.37.0" + tslib "^2.3.0" + "@aws-sdk/credential-provider-process@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.6.1.tgz#5bf851f3ee232c565b8c82608926df0ad28c1958" @@ -1929,6 +2418,58 @@ "@aws-sdk/types" "3.6.1" tslib "^1.8.0" +"@aws-sdk/credential-provider-sso@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.22.0.tgz#dedd2ee4b8b24c708990fb5c55226fa42562cdc5" + integrity sha512-lgqvFIJctJmD2kjWY/BjXdKhH2Fndj/8CPRTDs8ja9AOXU/C3ExnDA15vqhDm5JvKmlkafQEtmypg5n+AZCwSw== + dependencies: + "@aws-sdk/client-sso" "3.22.0" + "@aws-sdk/property-provider" "3.22.0" + "@aws-sdk/shared-ini-file-loader" "3.22.0" + "@aws-sdk/types" "3.22.0" + "@aws-sdk/util-credentials" "3.22.0" + tslib "^2.0.0" + +"@aws-sdk/credential-provider-sso@3.41.0": + version "3.41.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.41.0.tgz#66c83a776ec42f08b4ea6d619351f0240d57f76a" + integrity sha512-9s7SWu3RVIQ/MTcBCt35EMzxNQm3avivrbpSOKfJwxR5L+oNKPsV+gSqMlkNZGwOVJyUicIsZGcq/4ON6CjrOg== + dependencies: + "@aws-sdk/client-sso" "3.41.0" + "@aws-sdk/property-provider" "3.40.0" + "@aws-sdk/shared-ini-file-loader" "3.37.0" + "@aws-sdk/types" "3.40.0" + "@aws-sdk/util-credentials" "3.37.0" + tslib "^2.3.0" + +"@aws-sdk/credential-provider-web-identity@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.22.0.tgz#bce6db7729fad6d6ce9bc0f4a7d8664f8a2f87ee" + integrity sha512-4CTVRuh3EMbH+EYtY0balZ+05BvjcTcW+n0uISK4a4KSMvVBWbhmiIm3U5ducPZfKAenf2mS0UHYRmV/nRLJzA== + dependencies: + "@aws-sdk/property-provider" "3.22.0" + "@aws-sdk/types" "3.22.0" + tslib "^2.0.0" + +"@aws-sdk/credential-provider-web-identity@3.41.0": + version "3.41.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.41.0.tgz#7f0e9cc5650eaf6ac32ef359fb0e0dea2ca0ce78" + integrity sha512-VqvVoEh9C8xTXl4stKyJC5IKQhS8g1Gi5k6B9HPHLIxFRRfKxkE73DT4pMN6npnus7o0yi0MTFGQFQGYSrFO2g== + dependencies: + "@aws-sdk/property-provider" "3.40.0" + "@aws-sdk/types" "3.40.0" + tslib "^2.3.0" + +"@aws-sdk/eventstream-marshaller@3.40.0": + version "3.40.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-marshaller/-/eventstream-marshaller-3.40.0.tgz#c98fee85a751d2a914d1c4b66217d16d4ee4db03" + integrity sha512-zHGchfkG3B9M8OOKRpByeS5g1/15YQ0+QQHwxQRtm/CPtKBAIAsCZRQaCNBLu9uQMtBBKj5JsDUcjirhGeSvIg== + dependencies: + "@aws-crypto/crc32" "2.0.0" + "@aws-sdk/types" "3.40.0" + "@aws-sdk/util-hex-encoding" "3.37.0" + tslib "^2.3.0" + "@aws-sdk/eventstream-marshaller@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-marshaller/-/eventstream-marshaller-3.6.1.tgz#6abfbdf3639249d1a77686cbcae5d8e47bcba989" @@ -1939,6 +2480,16 @@ "@aws-sdk/util-hex-encoding" "3.6.1" tslib "^1.8.0" +"@aws-sdk/eventstream-serde-browser@3.40.0": + version "3.40.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.40.0.tgz#2b0f8c5ed1908a4fdab07d7b590bdd724b5a13a2" + integrity sha512-V0AXAfSkhY0hgxDJ0cNA+r42kL8295U7UTCp2Q2fvCaob3wKWh+54KZ2L4IOYTlK3yNzXJ5V6PP1zUuRlsUTew== + dependencies: + "@aws-sdk/eventstream-marshaller" "3.40.0" + "@aws-sdk/eventstream-serde-universal" "3.40.0" + "@aws-sdk/types" "3.40.0" + tslib "^2.3.0" + "@aws-sdk/eventstream-serde-browser@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.6.1.tgz#1253bd5215745f79d534fc9bc6bd006ee7a0f239" @@ -1949,6 +2500,14 @@ "@aws-sdk/types" "3.6.1" tslib "^1.8.0" +"@aws-sdk/eventstream-serde-config-resolver@3.40.0": + version "3.40.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.40.0.tgz#4a6cced34cbdc376c95e174943b99cd352ed34b0" + integrity sha512-GgGiJBsQ1/SBTpRM/wCdFBCMo1Nybvy46bNVkH1ujCdp8UTLc5PozzNpH+15V2IQbc9sPDYffMab6HSFjDp5vw== + dependencies: + "@aws-sdk/types" "3.40.0" + tslib "^2.3.0" + "@aws-sdk/eventstream-serde-config-resolver@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.6.1.tgz#ebb5c1614f55d0ebb225defac1f76c420e188086" @@ -1957,6 +2516,16 @@ "@aws-sdk/types" "3.6.1" tslib "^1.8.0" +"@aws-sdk/eventstream-serde-node@3.40.0": + version "3.40.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.40.0.tgz#715c943c9648a5d2b86341ae27eaae5c3bab9c0c" + integrity sha512-CnzX/JZGvhWlg+ooIPVZ78T+5wIm5Ld1BD7jwhlptJa8IjTMvkc8Nh4pAhc7T0ZScy4zZa/oTkqeVYCOVCyd1Q== + dependencies: + "@aws-sdk/eventstream-marshaller" "3.40.0" + "@aws-sdk/eventstream-serde-universal" "3.40.0" + "@aws-sdk/types" "3.40.0" + tslib "^2.3.0" + "@aws-sdk/eventstream-serde-node@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.6.1.tgz#705e12bea185905a198d7812af10e3a679dfc841" @@ -1967,6 +2536,15 @@ "@aws-sdk/types" "3.6.1" tslib "^1.8.0" +"@aws-sdk/eventstream-serde-universal@3.40.0": + version "3.40.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.40.0.tgz#6d00ecd75d4910113e0f8f379b4cb6c30799dafe" + integrity sha512-rkHwVMyZJMhp9iBixkuaAGQNer/DPxZ9kxDDtE+LuAMhepTYQ8c4lUW0QQhYbNMWf48QKD1G4FV3JXIj9JfP9A== + dependencies: + "@aws-sdk/eventstream-marshaller" "3.40.0" + "@aws-sdk/types" "3.40.0" + tslib "^2.3.0" + "@aws-sdk/eventstream-serde-universal@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.6.1.tgz#5be6865adb55436cbc90557df3a3c49b53553470" @@ -1976,6 +2554,28 @@ "@aws-sdk/types" "3.6.1" tslib "^1.8.0" +"@aws-sdk/fetch-http-handler@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.22.0.tgz#d98b3cc756cc7a16865fed72e83ee5555f9be2cb" + integrity sha512-LFp/dkRwPceIXODin+0YtfzWyt+rjgr59C8BsgT2x3aZJ9rBTnAHSr8Bp0UBMqm6F9lOodf4jqa40xsw6MAiGw== + dependencies: + "@aws-sdk/protocol-http" "3.22.0" + "@aws-sdk/querystring-builder" "3.22.0" + "@aws-sdk/types" "3.22.0" + "@aws-sdk/util-base64-browser" "3.22.0" + tslib "^2.0.0" + +"@aws-sdk/fetch-http-handler@3.40.0": + version "3.40.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.40.0.tgz#5e6ecfb7fe1f32a5709e4e9c13b0536073477737" + integrity sha512-w1HiZromoU+/bbEo89uO81l6UO/M+c2uOMnXntZqe6t3ZHUUUo3AbvhKh0QGVFqRQa+Oi0+95KqWmTHa72/9Iw== + dependencies: + "@aws-sdk/protocol-http" "3.40.0" + "@aws-sdk/querystring-builder" "3.40.0" + "@aws-sdk/types" "3.40.0" + "@aws-sdk/util-base64-browser" "3.37.0" + tslib "^2.3.0" + "@aws-sdk/fetch-http-handler@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.6.1.tgz#c5fb4a4ee158161fca52b220d2c11dddcda9b092" @@ -1987,6 +2587,16 @@ "@aws-sdk/util-base64-browser" "3.6.1" tslib "^1.8.0" +"@aws-sdk/hash-blob-browser@3.40.0": + version "3.40.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.40.0.tgz#7bf071b84c59246736044499fd42255c6c8e3d46" + integrity sha512-l8xyprVVKKH+720VrQ677X6VkvHttDXB4MxkMuxhSvwYBQwsRzP2Wppo7xIAtWGoS+oqlLmD4LCbHdhFRcN5yA== + dependencies: + "@aws-sdk/chunked-blob-reader" "3.37.0" + "@aws-sdk/chunked-blob-reader-native" "3.37.0" + "@aws-sdk/types" "3.40.0" + tslib "^2.3.0" + "@aws-sdk/hash-blob-browser@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.6.1.tgz#f44a1857b75769e21cd6091211171135e03531e6" @@ -1997,6 +2607,24 @@ "@aws-sdk/types" "3.6.1" tslib "^1.8.0" +"@aws-sdk/hash-node@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/hash-node/-/hash-node-3.22.0.tgz#976cf1683b3ad464a98ddc32523afc0e929034c9" + integrity sha512-AlNdW3P3lzu2PNtVxhMw5i6hD8n7LUiOXGkU88IItv7vRd8a4ntURod8FCzDT1VkLlNKH4+lkXmCu8/uCTfLHA== + dependencies: + "@aws-sdk/types" "3.22.0" + "@aws-sdk/util-buffer-from" "3.22.0" + tslib "^2.0.0" + +"@aws-sdk/hash-node@3.40.0", "@aws-sdk/hash-node@^3.0.0": + version "3.40.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/hash-node/-/hash-node-3.40.0.tgz#bf4d31a41652cbc3c937055087c80096cfab67ae" + integrity sha512-yOXXK85DdGDktdnQtXgMdaVKii4wtMjEhJ1mrvx2A9nMFNaPhxvERkVVIUKSWlJRa9ZujOw5jWOx8d2R51/Kjg== + dependencies: + "@aws-sdk/types" "3.40.0" + "@aws-sdk/util-buffer-from" "3.37.0" + tslib "^2.3.0" + "@aws-sdk/hash-node@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/hash-node/-/hash-node-3.6.1.tgz#72d75ec3b9c7e7f9b0c498805364f1f897165ce9" @@ -2006,6 +2634,14 @@ "@aws-sdk/util-buffer-from" "3.6.1" tslib "^1.8.0" +"@aws-sdk/hash-stream-node@3.40.0": + version "3.40.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/hash-stream-node/-/hash-stream-node-3.40.0.tgz#0a6fda20faa0abebf946c6dae63a80c1e707c011" + integrity sha512-4yvRwODMGYtj6qrt+fyydV5MwVwPPoyoeqDoXdLo9x75vRY71DT1pMRt8PDOoY/ZwWbIdEt4+V7x0sLt2uy9WA== + dependencies: + "@aws-sdk/types" "3.40.0" + tslib "^2.3.0" + "@aws-sdk/hash-stream-node@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/hash-stream-node/-/hash-stream-node-3.6.1.tgz#91c77e382ef3d0472160a49b1109395a4a70c801" @@ -2014,6 +2650,22 @@ "@aws-sdk/types" "3.6.1" tslib "^1.8.0" +"@aws-sdk/invalid-dependency@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/invalid-dependency/-/invalid-dependency-3.22.0.tgz#31aaab2b81a3e632e2d763daf1170b4dbca618a0" + integrity sha512-8Y1LnS9izRgje7TYAsTPa1xTBXBY++YfxLrTEF1PUDtjgjeBHYN6bVIXT2YFp8D/GGl523fd1QyA4DS476Ptwg== + dependencies: + "@aws-sdk/types" "3.22.0" + tslib "^2.0.0" + +"@aws-sdk/invalid-dependency@3.40.0": + version "3.40.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/invalid-dependency/-/invalid-dependency-3.40.0.tgz#023e37abfb2882676c3cef02da630342634aa429" + integrity sha512-axIWtDwCBDDqEgAJipX1FB1ZNpWYXquVwKDMo+7G+ftPBZ4FEq4M1ELhXJL3hhNJ9ZmCQzv+4F6Wnt8dwuzUaQ== + dependencies: + "@aws-sdk/types" "3.40.0" + tslib "^2.3.0" + "@aws-sdk/invalid-dependency@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/invalid-dependency/-/invalid-dependency-3.6.1.tgz#fd2519f5482c6d6113d38a73b7143fd8d5b5b670" @@ -2022,6 +2674,20 @@ "@aws-sdk/types" "3.6.1" tslib "^1.8.0" +"@aws-sdk/is-array-buffer@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/is-array-buffer/-/is-array-buffer-3.22.0.tgz#d380c241007ed7caf1017cd30f81ab27bcce8c13" + integrity sha512-VVok7FHxuQr7GmyC6ZfiEavXc1Xeyyz7O62YfsOdQz61nSKEX9V8Eopeq6i4boIOHoBQZA9FpFwyODOFSkEcQA== + dependencies: + tslib "^2.0.0" + +"@aws-sdk/is-array-buffer@3.37.0": + version "3.37.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/is-array-buffer/-/is-array-buffer-3.37.0.tgz#aa87619f8172b1a2a7ac8d573032025d98ae6c50" + integrity sha512-XLjA/a6AuGnCvcJZLsMTy2jxF2upgGhqCCkoIJgLlzzXHSihur13KcmPvW/zcaGnCRj0SvKWXiJHl4vDlW75VQ== + dependencies: + tslib "^2.3.0" + "@aws-sdk/is-array-buffer@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/is-array-buffer/-/is-array-buffer-3.6.1.tgz#96df5d64b2d599947f81b164d5d92623f85c659c" @@ -2029,6 +2695,25 @@ dependencies: tslib "^1.8.0" +"@aws-sdk/lib-storage@^3.25.0": + version "3.41.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/lib-storage/-/lib-storage-3.41.0.tgz#906cd2432d9bff37614096818b87307171dbc4c4" + integrity sha512-kca91dlU8INYIoBmGVMAq/0vZ90xhJM+CM6GrdscHMQfqS2fSBi7cElZbCFTGNAG4UsFdtVmluVY75VinhxMMw== + dependencies: + buffer "^5.6.0" + stream-browserify "^3.0.0" + tslib "^2.3.0" + +"@aws-sdk/md5-js@3.40.0": + version "3.40.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/md5-js/-/md5-js-3.40.0.tgz#027ff231c795a6069ae854ccf7c8b57dbfd441fe" + integrity sha512-P1tzEljMD/MkjSc00TkVBYvfaVv/7S+04YEwE7tpu/jtxWxMHnk3CMKqq/F2iMhY83DRoqoYy+YqnaF4Bzr1uA== + dependencies: + "@aws-sdk/types" "3.40.0" + "@aws-sdk/util-utf8-browser" "3.37.0" + "@aws-sdk/util-utf8-node" "3.37.0" + tslib "^2.3.0" + "@aws-sdk/md5-js@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/md5-js/-/md5-js-3.6.1.tgz#bffe21106fba0174d73ccc2c29ca1c5364d2af2d" @@ -2038,6 +2723,16 @@ "@aws-sdk/util-utf8-browser" "3.6.1" tslib "^1.8.0" +"@aws-sdk/middleware-apply-body-checksum@3.40.0": + version "3.40.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-apply-body-checksum/-/middleware-apply-body-checksum-3.40.0.tgz#ebf6cf2f5c4078a4ca717d67dc72b292abe36f33" + integrity sha512-gNSFlFu/O8cxAM0X64OwiLLN/NPXvK3FsAIJRsfhIW+dX0bEq4lsGPsdU8Tx+9eenaj/Z01uqgWZ6Izar8zVvQ== + dependencies: + "@aws-sdk/is-array-buffer" "3.37.0" + "@aws-sdk/protocol-http" "3.40.0" + "@aws-sdk/types" "3.40.0" + tslib "^2.3.0" + "@aws-sdk/middleware-apply-body-checksum@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-apply-body-checksum/-/middleware-apply-body-checksum-3.6.1.tgz#dece86e489531981b8aa2786dafbbef69edce1d6" @@ -2048,6 +2743,17 @@ "@aws-sdk/types" "3.6.1" tslib "^1.8.0" +"@aws-sdk/middleware-bucket-endpoint@3.41.0": + version "3.41.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.41.0.tgz#d1bb0fb59be1bb4176725c243561dd7897e710cb" + integrity sha512-4A0kWHH2qemd4P7CZKS7XB6qtSUP2xMJ7Dn/llxYgvadR0mKEfGPeYPhAss/k7T1JGv+kSTIV30RwUXwdXgE/A== + dependencies: + "@aws-sdk/protocol-http" "3.40.0" + "@aws-sdk/types" "3.40.0" + "@aws-sdk/util-arn-parser" "3.37.0" + "@aws-sdk/util-config-provider" "3.40.0" + tslib "^2.3.0" + "@aws-sdk/middleware-bucket-endpoint@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.6.1.tgz#7ebdd79fac0f78d8af549f4fd799d4f7d02e78de" @@ -2058,6 +2764,24 @@ "@aws-sdk/util-arn-parser" "3.6.1" tslib "^1.8.0" +"@aws-sdk/middleware-content-length@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-content-length/-/middleware-content-length-3.22.0.tgz#ff0d9b5af6fc2803aa81c81342174409643e5729" + integrity sha512-2kNiq/Ny3TN3sP6oPJDOB/0m7JOfWXpGdZBcYB9aSQ2LybsN4Yg2RISBnKUxAW8O5sfrzXVn+ZeLFa9+QUY7hQ== + dependencies: + "@aws-sdk/protocol-http" "3.22.0" + "@aws-sdk/types" "3.22.0" + tslib "^2.0.0" + +"@aws-sdk/middleware-content-length@3.40.0": + version "3.40.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-content-length/-/middleware-content-length-3.40.0.tgz#affe235fc0eb43c7b8e21189f85a238fdd0b4c3f" + integrity sha512-sybAJb8v7I/vvL08R3+TI/XDAg9gybQTZ2treC24Ap4+jAOz4QBTHJPMKaUlEeFlMUcq4rj6/u2897ebYH6opw== + dependencies: + "@aws-sdk/protocol-http" "3.40.0" + "@aws-sdk/types" "3.40.0" + tslib "^2.3.0" + "@aws-sdk/middleware-content-length@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-content-length/-/middleware-content-length-3.6.1.tgz#f9c00a4045b2b56c1ff8bcbb3dec9c3d42332992" @@ -2067,6 +2791,16 @@ "@aws-sdk/types" "3.6.1" tslib "^1.8.0" +"@aws-sdk/middleware-expect-continue@3.40.0": + version "3.40.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.40.0.tgz#380bb30c7c9d0b52bf044207b964d803e4cb5e3d" + integrity sha512-FY6vT0u1ptDZ2bBj1yG/Iyk6HZB7U9fbrpeZNPYzgq8HJxBcTgfLwtB3VLobyhThQm9X2a7R2YZrwtArW8yQfQ== + dependencies: + "@aws-sdk/middleware-header-default" "3.40.0" + "@aws-sdk/protocol-http" "3.40.0" + "@aws-sdk/types" "3.40.0" + tslib "^2.3.0" + "@aws-sdk/middleware-expect-continue@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.6.1.tgz#56e56db572f81dd4fa8803e85bd1f36005f9fffa" @@ -2077,6 +2811,15 @@ "@aws-sdk/types" "3.6.1" tslib "^1.8.0" +"@aws-sdk/middleware-header-default@3.40.0": + version "3.40.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-header-default/-/middleware-header-default-3.40.0.tgz#7e30d4e65404a7f914951b69703d54a425a0b3b0" + integrity sha512-eXQ13x/AivPZKoG8/akp9g5xdNHuKftl83GMuk9K6tt4+eAa22TdxiFu4R0UVlKAvo2feqxFrNs5DhhhBeAQWA== + dependencies: + "@aws-sdk/protocol-http" "3.40.0" + "@aws-sdk/types" "3.40.0" + tslib "^2.3.0" + "@aws-sdk/middleware-header-default@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-header-default/-/middleware-header-default-3.6.1.tgz#a3a108d22cbdd1e1754910625fafb2f2a67fbcfc" @@ -2086,6 +2829,24 @@ "@aws-sdk/types" "3.6.1" tslib "^1.8.0" +"@aws-sdk/middleware-host-header@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.22.0.tgz#e8031a6cc2b957bad5153ecff6f404134a245784" + integrity sha512-cksE9UrbPtv8Qld7YNIDNZ7uXXTK0fMBEzk21IZ/6rv/2wPWoCfiUzAg4CCk1e3WH7WyOhw4ysRG2CuRxJ7zLg== + dependencies: + "@aws-sdk/protocol-http" "3.22.0" + "@aws-sdk/types" "3.22.0" + tslib "^2.0.0" + +"@aws-sdk/middleware-host-header@3.40.0": + version "3.40.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.40.0.tgz#a6a1d52ab0da7f8e65a199c27d71750f8329eccc" + integrity sha512-/wocR7JFOLM7/+BQM1DgAd6KCFYcdxYu1P7AhI451GlVNuYa5f89zh7p0gt3SRC6monI5lXgpL7RudhDm8fTrA== + dependencies: + "@aws-sdk/protocol-http" "3.40.0" + "@aws-sdk/types" "3.40.0" + tslib "^2.3.0" + "@aws-sdk/middleware-host-header@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.6.1.tgz#6e1b4b95c5bfea5a4416fa32f11d8fa2e6edaeff" @@ -2095,6 +2856,14 @@ "@aws-sdk/types" "3.6.1" tslib "^1.8.0" +"@aws-sdk/middleware-location-constraint@3.40.0": + version "3.40.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.40.0.tgz#f689b2860b9932beb143b6d83281ec2d4527d175" + integrity sha512-9XaVPYsDQVJbWJH96sNdv4HHY3j1raman+lYxMu4528Awp0OdWUeSsGRYRN+CnRPlkHnfNw4m6SKdWYHxdjshw== + dependencies: + "@aws-sdk/types" "3.40.0" + tslib "^2.3.0" + "@aws-sdk/middleware-location-constraint@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.6.1.tgz#6fc2dd6a42968f011eb060ca564e9f749649eb01" @@ -2103,6 +2872,22 @@ "@aws-sdk/types" "3.6.1" tslib "^1.8.0" +"@aws-sdk/middleware-logger@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.22.0.tgz#cadf2aa0b8622fb63ad5a6db472d6d4974ca7ccf" + integrity sha512-fXVCEZteSK5ltyJANS0X9zq/CY1hQIQmemsDST66qM+UaAZzEYPNE/3p7skjADkBEz/9++KRYmMuoSjumPholg== + dependencies: + "@aws-sdk/types" "3.22.0" + tslib "^2.0.0" + +"@aws-sdk/middleware-logger@3.40.0": + version "3.40.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.40.0.tgz#29d9616bd39dafa1493cef333a32363e4df2c607" + integrity sha512-19kx0Xg5ymVRKoupmhdmfTBkROcv3DZj508agpyG2YAo0abOObMlIP4Jltg0VD4PhNjGzNh0jFGJnvhjdwv4/A== + dependencies: + "@aws-sdk/types" "3.40.0" + tslib "^2.3.0" + "@aws-sdk/middleware-logger@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.6.1.tgz#78b3732cf188d5e4df13488db6418f7f98a77d6d" @@ -2111,6 +2896,28 @@ "@aws-sdk/types" "3.6.1" tslib "^1.8.0" +"@aws-sdk/middleware-retry@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-retry/-/middleware-retry-3.22.0.tgz#be0b3d37bc16c46935f8c6173985f00d89b22b20" + integrity sha512-BQ3DgqvOG7fiIfxd5k9l93S2r0XraIrioqYYvxuABtt08dV+iwPNFDPIYYTkPV8Tp6Pvu4Hzjn1pQzGYiatjnQ== + dependencies: + "@aws-sdk/protocol-http" "3.22.0" + "@aws-sdk/service-error-classification" "3.22.0" + "@aws-sdk/types" "3.22.0" + tslib "^2.0.0" + uuid "^8.3.2" + +"@aws-sdk/middleware-retry@3.40.0": + version "3.40.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-retry/-/middleware-retry-3.40.0.tgz#5cffe046b1fd208a62a09495de6659be48ef86f3" + integrity sha512-SMUJrukugLL7YJE5X8B2ToukxMWMPwnf7jAFr84ptycCe8bdWv8x8klQ3EtVWpyqochtNlbTi6J/tTQBniUX7A== + dependencies: + "@aws-sdk/protocol-http" "3.40.0" + "@aws-sdk/service-error-classification" "3.40.0" + "@aws-sdk/types" "3.40.0" + tslib "^2.3.0" + uuid "^8.3.2" + "@aws-sdk/middleware-retry@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-retry/-/middleware-retry-3.6.1.tgz#202aadb1a3bf0e1ceabcd8319a5fa308b32db247" @@ -2123,6 +2930,17 @@ tslib "^1.8.0" uuid "^3.0.0" +"@aws-sdk/middleware-sdk-s3@3.41.0": + version "3.41.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.41.0.tgz#cd97433335af8436d6224194e9735bdecae28889" + integrity sha512-B7JOpmIpm1zxERQEMwZCWj3FisTvwfUgpfQglYdqrB6VpIoCM8fk2pmi5KzU/JDeNBlhTouj6mwnhJL/z5jopA== + dependencies: + "@aws-sdk/protocol-http" "3.40.0" + "@aws-sdk/signature-v4" "3.40.0" + "@aws-sdk/types" "3.40.0" + "@aws-sdk/util-arn-parser" "3.37.0" + tslib "^2.3.0" + "@aws-sdk/middleware-sdk-s3@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.6.1.tgz#371f8991ac82432982153c035ab9450d8df14546" @@ -2133,6 +2951,46 @@ "@aws-sdk/util-arn-parser" "3.6.1" tslib "^1.8.0" +"@aws-sdk/middleware-sdk-sts@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.22.0.tgz#63eca8c8b64bded3030494cf0348e6fc9723f144" + integrity sha512-CpfPpKTKEcxyooDwa7tFZDhhB3RwByxwzQ+jEAUcDvSLRALyNb1jvwAfgJJQBx6uZgqj97Z46UYpMJIDoCebTA== + dependencies: + "@aws-sdk/middleware-signing" "3.22.0" + "@aws-sdk/property-provider" "3.22.0" + "@aws-sdk/protocol-http" "3.22.0" + "@aws-sdk/signature-v4" "3.22.0" + "@aws-sdk/types" "3.22.0" + tslib "^2.0.0" + +"@aws-sdk/middleware-sdk-sts@3.40.0": + version "3.40.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.40.0.tgz#3efefc29176d5078915b61d17105f8bbee86ff5e" + integrity sha512-TcrbCvj1PkabFZiNczT3yePZtuEm2fAIw1OVnQyLcF2KW+p62Hv5YkK4MPOfx3LA/0lzjOUO1RNl2x7gzV443Q== + dependencies: + "@aws-sdk/middleware-signing" "3.40.0" + "@aws-sdk/property-provider" "3.40.0" + "@aws-sdk/protocol-http" "3.40.0" + "@aws-sdk/signature-v4" "3.40.0" + "@aws-sdk/types" "3.40.0" + tslib "^2.3.0" + +"@aws-sdk/middleware-serde@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-serde/-/middleware-serde-3.22.0.tgz#d3a669cef36c15ed606884b59345b2dc527f66df" + integrity sha512-5ie2XvwFSHpRDmsCqmQ3VmwGnnFE3E+ptjGEbo8GXNJHrvX3apDgjGFSyLUNS/Ezv1FkUFm0qcs4rgxYCW8dNg== + dependencies: + "@aws-sdk/types" "3.22.0" + tslib "^2.0.0" + +"@aws-sdk/middleware-serde@3.40.0": + version "3.40.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-serde/-/middleware-serde-3.40.0.tgz#90124ff60a7f23963bbcd00a5cc95862b29dddd9" + integrity sha512-uOWfZjlAoBy6xPqp0d4ka83WNNbEVCWn9WwfqBUXThyoTdTooYSpXe5y2YzN0BJa8b+tEZTyWpgamnBpFLp47g== + dependencies: + "@aws-sdk/types" "3.40.0" + tslib "^2.3.0" + "@aws-sdk/middleware-serde@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-serde/-/middleware-serde-3.6.1.tgz#734c7d16c2aa9ccc01f6cca5e2f6aa2993b6739d" @@ -2141,6 +2999,28 @@ "@aws-sdk/types" "3.6.1" tslib "^1.8.0" +"@aws-sdk/middleware-signing@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-signing/-/middleware-signing-3.22.0.tgz#c5190e00791fef8c7a23822ec44a9b62f64877d9" + integrity sha512-8cyfXJhy1cPyOiM/Wv7hIA5N7UZZ6fK/9jxH0I4gTH8c35frZqS2uUaSGj3eJrKvuXKLeSdKKwYsCU21CjLbqQ== + dependencies: + "@aws-sdk/property-provider" "3.22.0" + "@aws-sdk/protocol-http" "3.22.0" + "@aws-sdk/signature-v4" "3.22.0" + "@aws-sdk/types" "3.22.0" + tslib "^2.0.0" + +"@aws-sdk/middleware-signing@3.40.0": + version "3.40.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-signing/-/middleware-signing-3.40.0.tgz#bcbf5558a91db85a87918d5861ce98f306e40a88" + integrity sha512-RqK5nPbfma0qInMvjtpVkDYY/KkFS6EKlOv3DWTdxbXJ4YuOxgKiuUromhmBUoyjFag0JO7LUWod07H+/DawoA== + dependencies: + "@aws-sdk/property-provider" "3.40.0" + "@aws-sdk/protocol-http" "3.40.0" + "@aws-sdk/signature-v4" "3.40.0" + "@aws-sdk/types" "3.40.0" + tslib "^2.3.0" + "@aws-sdk/middleware-signing@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-signing/-/middleware-signing-3.6.1.tgz#e70a2f35d85d70e33c9fddfb54b9520f6382db16" @@ -2151,6 +3031,14 @@ "@aws-sdk/types" "3.6.1" tslib "^1.8.0" +"@aws-sdk/middleware-ssec@3.40.0": + version "3.40.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-ssec/-/middleware-ssec-3.40.0.tgz#e6877cbabc9532ca85e017f6521924c591d01520" + integrity sha512-ZoRpaZeAIQa1Q+NyEh74ATwOR3nFGfcP6Nu0jFzgqoVijCReMnhtlCRx23ccBu1ZLZNUsNk6MhKjY+ZTfNsjEg== + dependencies: + "@aws-sdk/types" "3.40.0" + tslib "^2.3.0" + "@aws-sdk/middleware-ssec@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-ssec/-/middleware-ssec-3.6.1.tgz#c7dd80e4c1e06be9050c742af7879619b400f0d1" @@ -2159,6 +3047,20 @@ "@aws-sdk/types" "3.6.1" tslib "^1.8.0" +"@aws-sdk/middleware-stack@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-stack/-/middleware-stack-3.22.0.tgz#9907b192e98b171e845258fac76a12111a774937" + integrity sha512-acG5h6aDSiIjWvmeiTwsZthlafOiL27k7fIvmlim/VRomzAxPBazXYQMzhKBRhki7KP4iIu8ZEOBZuWeNQNGHg== + dependencies: + tslib "^2.0.0" + +"@aws-sdk/middleware-stack@3.40.0": + version "3.40.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-stack/-/middleware-stack-3.40.0.tgz#5aa614e49a4fc76cc63986fb45302f7afab6db87" + integrity sha512-hby9HvESUYJxpdALX+6Dn2LPmS5jtMVurGB/+j3MWOvIcDYB4bcSXgVRvXzYnTKwbSupIdbX9zOE2ZAx2SJpUQ== + dependencies: + tslib "^2.3.0" + "@aws-sdk/middleware-stack@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-stack/-/middleware-stack-3.6.1.tgz#d7483201706bb5935a62884e9b60f425f1c6434f" @@ -2166,6 +3068,24 @@ dependencies: tslib "^1.8.0" +"@aws-sdk/middleware-user-agent@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.22.0.tgz#fbaf66bee77fb9769bf4db0678a56852cdd4fb69" + integrity sha512-+iFu5CIPE3/KX9bxD1cC8n3uqWm+vUk46fIdYzz3It0OoWcx9JRVsHU3nu0dlJa9rZoWwLt/PVM9qExI+fQdXg== + dependencies: + "@aws-sdk/protocol-http" "3.22.0" + "@aws-sdk/types" "3.22.0" + tslib "^2.0.0" + +"@aws-sdk/middleware-user-agent@3.40.0": + version "3.40.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.40.0.tgz#bf03d2deddc00689c85e7eadd9b4e02f24b61c08" + integrity sha512-dzC2fxWnanetFJ1oYgil8df3N36bR1yc/OCOpbdfQNiUk1FrXiCXqH5rHNO8zCvnwJAj8GHFwpFGd9a2Qube2w== + dependencies: + "@aws-sdk/protocol-http" "3.40.0" + "@aws-sdk/types" "3.40.0" + tslib "^2.3.0" + "@aws-sdk/middleware-user-agent@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.6.1.tgz#6845dfb3bc6187897f348c2c87dec833e6a65c99" @@ -2175,6 +3095,26 @@ "@aws-sdk/types" "3.6.1" tslib "^1.8.0" +"@aws-sdk/node-config-provider@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/node-config-provider/-/node-config-provider-3.22.0.tgz#f053bb0ab2f8f8bf7515705c5d87c3b9ed1afb70" + integrity sha512-OOUqFMHaV7JgDCbpC4G0VYFSwG4Y/8TV5cJFj/Xsx4MhhSc0Hcm2GAJ+gshrCwPq0yeLKOxaFGdaLxemWgk4ug== + dependencies: + "@aws-sdk/property-provider" "3.22.0" + "@aws-sdk/shared-ini-file-loader" "3.22.0" + "@aws-sdk/types" "3.22.0" + tslib "^2.0.0" + +"@aws-sdk/node-config-provider@3.40.0": + version "3.40.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/node-config-provider/-/node-config-provider-3.40.0.tgz#54a8abc4f6d78503093b270e6dff3d6174c59f95" + integrity sha512-AmokjgUDECG8osoMfdRsPNweqI+L1pn4bYGk5iTLmzbBi0o4ot0U1FdX8Rf0qJZZwS4t1TXc3s8/PDVknmPxKg== + dependencies: + "@aws-sdk/property-provider" "3.40.0" + "@aws-sdk/shared-ini-file-loader" "3.37.0" + "@aws-sdk/types" "3.40.0" + tslib "^2.3.0" + "@aws-sdk/node-config-provider@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/node-config-provider/-/node-config-provider-3.6.1.tgz#cb85d06329347fde566f08426f8714b1f65d2fb7" @@ -2185,6 +3125,28 @@ "@aws-sdk/types" "3.6.1" tslib "^1.8.0" +"@aws-sdk/node-http-handler@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/node-http-handler/-/node-http-handler-3.22.0.tgz#f54240a5f3b3d29101480c5c6b1fa9bd85084838" + integrity sha512-lYZf7g8Y5URb2U0BYZz4mYRNt9pR3DYljIIET8ac3ZmiIOXnDogVHtT6S3Cw+tA9biWhm+tbJRP8sE8nEgMIfw== + dependencies: + "@aws-sdk/abort-controller" "3.22.0" + "@aws-sdk/protocol-http" "3.22.0" + "@aws-sdk/querystring-builder" "3.22.0" + "@aws-sdk/types" "3.22.0" + tslib "^2.0.0" + +"@aws-sdk/node-http-handler@3.40.0": + version "3.40.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/node-http-handler/-/node-http-handler-3.40.0.tgz#26491f11dabbd673c6318376d06af154adc123df" + integrity sha512-qjda6IbxDhbYr8NHmrMurKkbjgLUkfTMVgagDErDK24Nm3Dn5VaO6J4n6c0Q4OLHlmFaRcUfZSTrOo5DAubqCw== + dependencies: + "@aws-sdk/abort-controller" "3.40.0" + "@aws-sdk/protocol-http" "3.40.0" + "@aws-sdk/querystring-builder" "3.40.0" + "@aws-sdk/types" "3.40.0" + tslib "^2.3.0" + "@aws-sdk/node-http-handler@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/node-http-handler/-/node-http-handler-3.6.1.tgz#4b65c4dcc0cf46ba44cb6c3bf29c5f817bb8d9a7" @@ -2196,6 +3158,22 @@ "@aws-sdk/types" "3.6.1" tslib "^1.8.0" +"@aws-sdk/property-provider@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/property-provider/-/property-provider-3.22.0.tgz#60191795ba0b38827e02b777b9b42a0f1447bfa8" + integrity sha512-2Su5F0AUq1RqGgjlnOzYBa9XFSBXD4sSTR+duN4dwkstXsNU/Ozuon9xeTEzW+BqRZbqdCPkut+ms/hh5nEZFg== + dependencies: + "@aws-sdk/types" "3.22.0" + tslib "^2.0.0" + +"@aws-sdk/property-provider@3.40.0": + version "3.40.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/property-provider/-/property-provider-3.40.0.tgz#243cb1e87e36b1123ddc66d40d344e7580f80470" + integrity sha512-Mx4lkShjsYRwW9ujHA1pcnuubrWQ4kF5/DXWNfUiXuSIO/0Lojp1qTLheyBm4vzkJIlx5umyP6NvRAUkEHSN4Q== + dependencies: + "@aws-sdk/types" "3.40.0" + tslib "^2.3.0" + "@aws-sdk/property-provider@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/property-provider/-/property-provider-3.6.1.tgz#d973fc87d199d32c44d947e17f2ee2dd140a9593" @@ -2204,6 +3182,22 @@ "@aws-sdk/types" "3.6.1" tslib "^1.8.0" +"@aws-sdk/protocol-http@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/protocol-http/-/protocol-http-3.22.0.tgz#01ea7fe5e094f4af04c7c831374e63df228b389b" + integrity sha512-mlkQhw0pJ/QVy/Cz7XCmEKlkdKl5qfTvDe6dnRTtFqbVDypaehlG4rMYNYwBgDRHbHyHdWYQbapk3cQfc4NiLA== + dependencies: + "@aws-sdk/types" "3.22.0" + tslib "^2.0.0" + +"@aws-sdk/protocol-http@3.40.0": + version "3.40.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/protocol-http/-/protocol-http-3.40.0.tgz#ce6c7170a59e0a0eb63df5cd7cec87fe05bae680" + integrity sha512-f4ea7/HZkjpvGBrnRIuzc/bhrExWrgDv7eulj4htPukZGHdTqSJD3Jk8lEXWvFuX2vUKQDGhEhCDsqup7YWJQQ== + dependencies: + "@aws-sdk/types" "3.40.0" + tslib "^2.3.0" + "@aws-sdk/protocol-http@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/protocol-http/-/protocol-http-3.6.1.tgz#d3d276846bec19ddb339d06bbc48116d17bbc656" @@ -2212,6 +3206,24 @@ "@aws-sdk/types" "3.6.1" tslib "^1.8.0" +"@aws-sdk/querystring-builder@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/querystring-builder/-/querystring-builder-3.22.0.tgz#4e6240620ffc544ab93408d7184434f900f84301" + integrity sha512-ZIjM0m/VdVc5HlQeg9MxRFa8kyo45OIDktUrNcHRz4m7umgS6NCAqY6/+58QNxXYUy7LR83JF9A5oDglvpV8Dw== + dependencies: + "@aws-sdk/types" "3.22.0" + "@aws-sdk/util-uri-escape" "3.22.0" + tslib "^2.0.0" + +"@aws-sdk/querystring-builder@3.40.0": + version "3.40.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/querystring-builder/-/querystring-builder-3.40.0.tgz#f57212e60519d2d79ce6173cbe00fbe17a69bc0d" + integrity sha512-gO24oipnNaxJRBXB7lhLfa96vIMOd8gtMBqJTjelTjS2e1ZP1YY12CNKKTWwafSk8Ge021erZAG/YTOaXGpv+g== + dependencies: + "@aws-sdk/types" "3.40.0" + "@aws-sdk/util-uri-escape" "3.37.0" + tslib "^2.3.0" + "@aws-sdk/querystring-builder@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/querystring-builder/-/querystring-builder-3.6.1.tgz#4c769829a3760ef065d0d3801f297a7f0cd324d4" @@ -2221,6 +3233,22 @@ "@aws-sdk/util-uri-escape" "3.6.1" tslib "^1.8.0" +"@aws-sdk/querystring-parser@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/querystring-parser/-/querystring-parser-3.22.0.tgz#d61fe318678b35fcdd3fd1838511bbd41e298d8b" + integrity sha512-OeDue0/krnIKuDHDpJbWGjmDsQfh+Z9dSlfBs2x+V9hIdm3k1s/vl36z3sFnhxcHYvf79UO5hXhbhFDsOWnRsg== + dependencies: + "@aws-sdk/types" "3.22.0" + tslib "^2.0.0" + +"@aws-sdk/querystring-parser@3.40.0": + version "3.40.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/querystring-parser/-/querystring-parser-3.40.0.tgz#5a5ba9c095ad3125a0daf37c33ed1cc8a600d53e" + integrity sha512-XZIyaKQIiZAM6zelCBcsLHhVDOLafi7XIOd3jy6SymGN8ajj3HqUJ/vdQ5G6ISTk18OrqgqcCOI9oNzv+nrBcA== + dependencies: + "@aws-sdk/types" "3.40.0" + tslib "^2.3.0" + "@aws-sdk/querystring-parser@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/querystring-parser/-/querystring-parser-3.6.1.tgz#e3fa5a710429c7dd411e802a0b82beb48012cce2" @@ -2242,11 +3270,35 @@ "@aws-sdk/util-format-url" "3.6.1" tslib "^1.8.0" +"@aws-sdk/service-error-classification@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/service-error-classification/-/service-error-classification-3.22.0.tgz#dce2271f7415d0be31d4b6021589870b9b914d40" + integrity sha512-6ytFFoU8guAljwpmQTvZNf//cTurdumeLlAmQ8RJsbX3y5DGlpG2dfq7mpYJudtJtCQTwPYtaG5Xva460T2CqA== + +"@aws-sdk/service-error-classification@3.40.0": + version "3.40.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/service-error-classification/-/service-error-classification-3.40.0.tgz#c98cbb781bd50e5d90649742ff954d754201c44d" + integrity sha512-c8btKmkvjXczWudXubGdbO3JgmjySBUVC/gCrZDNfwNGsG8RYJJQYYcnmt1gWjelUZsgMDl/2PIzxTlxVF91rA== + "@aws-sdk/service-error-classification@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/service-error-classification/-/service-error-classification-3.6.1.tgz#296fe62ac61338341e8a009c9a2dab013a791903" integrity sha512-kZ7ZhbrN1f+vrSRkTJvXsu7BlOyZgym058nPA745+1RZ1Rtv4Ax8oknf2RvJyj/1qRUi8LBaAREjzQ3C8tmLBA== +"@aws-sdk/shared-ini-file-loader@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.22.0.tgz#68fa5249429c5ffaeaaf7f81871a9815e2e2a1a2" + integrity sha512-qLTSqjqFc98POGg0W+VsWdDcO/6lMHDB5wAvjULIQ+ra93FybL0jG6eA8Ds1CJ8Ibz446l25P0QZsNHkpKX2EA== + dependencies: + tslib "^2.0.0" + +"@aws-sdk/shared-ini-file-loader@3.37.0": + version "3.37.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.37.0.tgz#ca595d9745150f46805f68be6a6c1607d618ad94" + integrity sha512-+vRBSlfa48R9KL7DpQt3dsu5/+5atjRgoCISblWo3SLpjrx41pKcjKneo7a1u0aP1Xc2oG2TfIyqTWZuOXsmEQ== + dependencies: + tslib "^2.3.0" + "@aws-sdk/shared-ini-file-loader@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.6.1.tgz#2b7182cbb0d632ad7c9712bebffdeee24a6f7eb6" @@ -2254,6 +3306,28 @@ dependencies: tslib "^1.8.0" +"@aws-sdk/signature-v4@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4/-/signature-v4-3.22.0.tgz#7a0605266f2bf572970d1331d51768d0631a2599" + integrity sha512-rh25sQ/+5KJSz6+tTRVwbmKpcH9bgkoMw48Vu0xXdTrbPKaO8Kya5E9TM/8+PUZfRtIHU/R1LJJZkoY23awOTg== + dependencies: + "@aws-sdk/is-array-buffer" "3.22.0" + "@aws-sdk/types" "3.22.0" + "@aws-sdk/util-hex-encoding" "3.22.0" + "@aws-sdk/util-uri-escape" "3.22.0" + tslib "^2.0.0" + +"@aws-sdk/signature-v4@3.40.0": + version "3.40.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4/-/signature-v4-3.40.0.tgz#9de1b4e1130f68394df3232882805896c2d20e45" + integrity sha512-Q1GNZJRCS3W2qsRtDsX/b6EOSfMXfr6TW46N3LnLTGYZ3KAN2SOSJ1DsW59AuGpEZyRmOhJ9L/Q5U403+bZMXQ== + dependencies: + "@aws-sdk/is-array-buffer" "3.37.0" + "@aws-sdk/types" "3.40.0" + "@aws-sdk/util-hex-encoding" "3.37.0" + "@aws-sdk/util-uri-escape" "3.37.0" + tslib "^2.3.0" + "@aws-sdk/signature-v4@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4/-/signature-v4-3.6.1.tgz#b20a3cf3e891131f83b012651f7d4af2bf240611" @@ -2265,6 +3339,24 @@ "@aws-sdk/util-uri-escape" "3.6.1" tslib "^1.8.0" +"@aws-sdk/smithy-client@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/smithy-client/-/smithy-client-3.22.0.tgz#af6f73ebb06851c3b0cdd12b01d602d3b28e2865" + integrity sha512-/xW5ClxSfLUiQFAOFD7H17f57t7tTFNulipSpvI4jWAFyrIbuSAWcR/8f2+iuz2jbteEj1Ik3c5+7AFXPLqgew== + dependencies: + "@aws-sdk/middleware-stack" "3.22.0" + "@aws-sdk/types" "3.22.0" + tslib "^2.0.0" + +"@aws-sdk/smithy-client@3.41.0": + version "3.41.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/smithy-client/-/smithy-client-3.41.0.tgz#61154b4813a01dc079e7083805a20e1bc05d3199" + integrity sha512-ldhS0Pf3v6yHCd//kk5DvKcdyeUkKEwxNDRanAp+ekTW68J3XcYgKaPC9sNDhVTDH1zrywTvtEz5zWHEvXjQow== + dependencies: + "@aws-sdk/middleware-stack" "3.40.0" + "@aws-sdk/types" "3.40.0" + tslib "^2.3.0" + "@aws-sdk/smithy-client@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/smithy-client/-/smithy-client-3.6.1.tgz#683fef89802e318922f8529a5433592d71a7ce9d" @@ -2274,6 +3366,16 @@ "@aws-sdk/types" "3.6.1" tslib "^1.8.0" +"@aws-sdk/types@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.22.0.tgz#323afc96eb27a69a97da0803254a62969d3d3539" + integrity sha512-dGJBPbWm+YT+D5YIiqK3Z1xWzWShWgSxL1gPS9+vKNY2ld2TvtoiRhFy8NQG2jnC+eG/+WNeZS6ZxzLvEbQyTQ== + +"@aws-sdk/types@3.40.0", "@aws-sdk/types@^3.1.0", "@aws-sdk/types@^3.25.0": + version "3.40.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.40.0.tgz#a9d7926fcb9b699bc46be975033559d2293e60d1" + integrity sha512-KpILcfvRaL88TLvo3SY4OuCCg90SvcNLPyjDwUuBqiOyWODjrKShHtAPJzej4CLp92lofh+ul0UnBfV9Jb/5PA== + "@aws-sdk/types@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.6.1.tgz#00686db69e998b521fcd4a5f81ef0960980f80c4" @@ -2284,11 +3386,6 @@ resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-1.0.0-rc.10.tgz#729127fbfac5da1a3368ffe6ec2e90acc9ad69c3" integrity sha512-9gwhYnkTNuYZ+etCtM4T8gjpZ0SWSXbzQxY34UjSS+dt3C/UnbX0J22tMahp/9Z1yCa9pihtXrkD+nO2xn7nVQ== -"@aws-sdk/types@^3.1.0": - version "3.25.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.25.0.tgz#981210272dae2d259130f6dca8429522d9a564bb" - integrity sha512-vS0+cTKwj6CujlR07HmeEBxzWPWSrdmZMYnxn/QC9KW9dFu0lsyCGSCqWsFluI6GI0flsnYYWNkP5y4bfD9tqg== - "@aws-sdk/url-parser-native@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/url-parser-native/-/url-parser-native-3.6.1.tgz#a5e787f98aafa777e73007f9490df334ef3389a2" @@ -2299,6 +3396,24 @@ tslib "^1.8.0" url "^0.11.0" +"@aws-sdk/url-parser@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/url-parser/-/url-parser-3.22.0.tgz#fd44f03379fc29c7c6756c651cf80434ef365a7c" + integrity sha512-zHI3GUC0ftsmrFi+9jWhwZu9b7Ol2gQDOEVn161HmAc+SnWyRDUJWLrrrJNoYbMO4SoxJiwoM8LIBv/ydRL74Q== + dependencies: + "@aws-sdk/querystring-parser" "3.22.0" + "@aws-sdk/types" "3.22.0" + tslib "^2.0.0" + +"@aws-sdk/url-parser@3.40.0": + version "3.40.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/url-parser/-/url-parser-3.40.0.tgz#9ccd00a2026605d5eaef630e94b6632cc9598ec3" + integrity sha512-HwNV+HX7bHgLk5FzTOgdXANsC0SeVz5PMC4Nh+TLz2IoeQnrw4H8dsA4YNonncjern5oC5veKRjQeOoCL5SlSQ== + dependencies: + "@aws-sdk/querystring-parser" "3.40.0" + "@aws-sdk/types" "3.40.0" + tslib "^2.3.0" + "@aws-sdk/url-parser@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/url-parser/-/url-parser-3.6.1.tgz#f5d89fb21680469a61cb9fe08a7da3ef887884dd" @@ -2308,6 +3423,13 @@ "@aws-sdk/types" "3.6.1" tslib "^1.8.0" +"@aws-sdk/util-arn-parser@3.37.0": + version "3.37.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-arn-parser/-/util-arn-parser-3.37.0.tgz#807691690c4c52c1e8e0a362bf5767291b626f1f" + integrity sha512-njIYn8gzm7Ms17A2oEu0vN/0GJpgq7cNFFtzBrM1cPtrc1jhMRJx5hzS7uX5h6ll8BM92bA3y00evRZFHxQPVQ== + dependencies: + tslib "^2.3.0" + "@aws-sdk/util-arn-parser@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/util-arn-parser/-/util-arn-parser-3.6.1.tgz#aa60b1bfa752ad3fa331f22fea4f703b741d1d6d" @@ -2315,6 +3437,20 @@ dependencies: tslib "^1.8.0" +"@aws-sdk/util-base64-browser@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-base64-browser/-/util-base64-browser-3.22.0.tgz#a9e76b3f8adea0ae760daa2651e8287ac3620fcf" + integrity sha512-z+CpIMB/mhKmiAz5/YPDGJXHNsdsmJoKeKSHWJqwwqpIlQCrwX55DnOGcIggftqOL23OB+K+E0Z/X/NFGRmFEw== + dependencies: + tslib "^2.0.0" + +"@aws-sdk/util-base64-browser@3.37.0": + version "3.37.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-base64-browser/-/util-base64-browser-3.37.0.tgz#4bf105de91e5e17ded644557dac6851c30e992d2" + integrity sha512-o4s/rHVm5k8eC/T7grJQINyYA/mKfDmEWKMA9wk5iBroXlI2rUm7x649TBk5hzoddufk/mffEeNz/1wM7yTmlg== + dependencies: + tslib "^2.3.0" + "@aws-sdk/util-base64-browser@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/util-base64-browser/-/util-base64-browser-3.6.1.tgz#eddea1311b41037fc3fddd889d3e0a9882363215" @@ -2322,6 +3458,22 @@ dependencies: tslib "^1.8.0" +"@aws-sdk/util-base64-node@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-base64-node/-/util-base64-node-3.22.0.tgz#b5387b0206013841dbf7d19d77858af7e6963d8a" + integrity sha512-FJln59hxRIDJofQa+O3RC2SsT0xkaju4FmHY3XTR0O+1x/Qo7/SlAzGm8+F3O5fQyk6XWGV6NpY7/jT4iFe/WQ== + dependencies: + "@aws-sdk/util-buffer-from" "3.22.0" + tslib "^2.0.0" + +"@aws-sdk/util-base64-node@3.37.0": + version "3.37.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-base64-node/-/util-base64-node-3.37.0.tgz#81ff164d227db8faeb910af33ff5f861269d6d67" + integrity sha512-1UPxly1GPrGZtlIWvbNCDIAund4Oyp8cFi9neA43TeNACvrmEQu/nG01pDbOoo0ENoVSVJrNAVBeqKEpqjH2GA== + dependencies: + "@aws-sdk/util-buffer-from" "3.37.0" + tslib "^2.3.0" + "@aws-sdk/util-base64-node@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/util-base64-node/-/util-base64-node-3.6.1.tgz#a79c233861e50d3a30728c72b736afdee07d4009" @@ -2330,6 +3482,20 @@ "@aws-sdk/util-buffer-from" "3.6.1" tslib "^1.8.0" +"@aws-sdk/util-body-length-browser@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.22.0.tgz#c02188902070558489784f3b76114b91a93e6daa" + integrity sha512-CaTvQhp7zq8SYPcCcG1NTYUw/gmz3avxnGGqEsCYU/C3zPczYiqH1e8AixErQSwLKG78lKaDO6DPwmwsheebuw== + dependencies: + tslib "^2.0.0" + +"@aws-sdk/util-body-length-browser@3.37.0": + version "3.37.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.37.0.tgz#2e3a375ac191a9bacd40a6b3479ee402dcb5769d" + integrity sha512-tClmH1uYelqWT43xxmnOsVFbCQJiIwizp6y4E109G2LIof07inxrO0L8nbwBpjhugVplx6NZr9IaqTFqbdM1gA== + dependencies: + tslib "^2.3.0" + "@aws-sdk/util-body-length-browser@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.6.1.tgz#2e8088f2d9a5a8258b4f56079a8890f538c2797e" @@ -2337,6 +3503,20 @@ dependencies: tslib "^1.8.0" +"@aws-sdk/util-body-length-node@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-body-length-node/-/util-body-length-node-3.22.0.tgz#2f6292f7c243dd0763af2cde709b5563f6c42e99" + integrity sha512-EIfg3PIusUxGwTjTP2O4QVORHkxOw0xub8c1EII++3FPpqWDEl6VUDXbAvJE6SMd0C7UceL6HKjZYKFfx0HbnA== + dependencies: + tslib "^2.0.0" + +"@aws-sdk/util-body-length-node@3.37.0": + version "3.37.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-body-length-node/-/util-body-length-node-3.37.0.tgz#d6170dafd351799687d583f818a4a3924b61cbec" + integrity sha512-aY3mXdbEajruRi9CHgq/heM89R+Gectj/Xrs1naewmamaN8NJrvjDm3s+cw//lqqSOW903LYHXDgm7wvCzUnFA== + dependencies: + tslib "^2.3.0" + "@aws-sdk/util-body-length-node@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/util-body-length-node/-/util-body-length-node-3.6.1.tgz#6e4f2eae46c5a7b0417a12ca7f4b54c390d4cacd" @@ -2344,6 +3524,22 @@ dependencies: tslib "^1.8.0" +"@aws-sdk/util-buffer-from@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-buffer-from/-/util-buffer-from-3.22.0.tgz#2cd78c7094dfbcf4cbbbfaf5870e5f11462b8ebc" + integrity sha512-9wO2vXY+mH5Fqxf0kxPAJiwKEoy69AA8Srt7B3FeOyhhPAZbSAniS4Kw+I/Ni/5ZyCRyMaKrR31PoDilbana1A== + dependencies: + "@aws-sdk/is-array-buffer" "3.22.0" + tslib "^2.0.0" + +"@aws-sdk/util-buffer-from@3.37.0": + version "3.37.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-buffer-from/-/util-buffer-from-3.37.0.tgz#298d4a925b9f0ca23f99617648cd9fb3896b573c" + integrity sha512-aa3SBwjLwImuJoE4+hxDIWQ9REz3UFb3p7KFPe9qopdXb/yB12RTcbrXVb4whUux4i4mO6KRij0ZNjFZrjrKPg== + dependencies: + "@aws-sdk/is-array-buffer" "3.37.0" + tslib "^2.3.0" + "@aws-sdk/util-buffer-from@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/util-buffer-from/-/util-buffer-from-3.6.1.tgz#24184ce74512f764d84002201b7f5101565e26f9" @@ -2352,6 +3548,13 @@ "@aws-sdk/is-array-buffer" "3.6.1" tslib "^1.8.0" +"@aws-sdk/util-config-provider@3.40.0": + version "3.40.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-config-provider/-/util-config-provider-3.40.0.tgz#acefff264d6650450a1f8b056a63830a454b756d" + integrity sha512-NjZGrA4mqhpr6gkVCAUweurP0Z9d3vFyXJCtulC0BFbpKAnKCf/crSK56NwUaNhAEMCkSuBvjRFzkbfT+HO8bA== + dependencies: + tslib "^2.3.0" + "@aws-sdk/util-create-request@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/util-create-request/-/util-create-request-3.6.1.tgz#ecc4364551c7b3d0d9834ca3f56528fb8b083838" @@ -2362,6 +3565,22 @@ "@aws-sdk/types" "3.6.1" tslib "^1.8.0" +"@aws-sdk/util-credentials@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-credentials/-/util-credentials-3.22.0.tgz#b9d304252bec2e638ac0057327516d81429e328c" + integrity sha512-PI4aYgYgLIM8m2zNxXCK/GDlcHUX2akN1QKshM7uPhp5ZsjXVpR//FQ9DsRp+gKFk8VN+4zGo3eIIuJOAVEe3Q== + dependencies: + "@aws-sdk/shared-ini-file-loader" "3.22.0" + tslib "^2.0.0" + +"@aws-sdk/util-credentials@3.37.0": + version "3.37.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-credentials/-/util-credentials-3.37.0.tgz#76261c3d7c20bee5d28e5c17741adf19558b3b67" + integrity sha512-zcLhSZDKgBLhUjSU5HoQpuQiP3v8oE86NmV/tiZVPEaO6YVULEAB2Cfj1hpM/b/JXWzjSHfT06KXT7QUODKS+A== + dependencies: + "@aws-sdk/shared-ini-file-loader" "3.37.0" + tslib "^2.3.0" + "@aws-sdk/util-format-url@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/util-format-url/-/util-format-url-3.6.1.tgz#a011444aed0c47698d65095bcce95d7b4716324b" @@ -2371,6 +3590,20 @@ "@aws-sdk/types" "3.6.1" tslib "^1.8.0" +"@aws-sdk/util-hex-encoding@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.22.0.tgz#4a888ff64db49fc02ce38e549fbd9c578d7c9ea8" + integrity sha512-fCo2URT8kbyEullWjXrmmqtjDmjIAnwMv6T9GFw4enVARUDNArmxGfi4VK/GQKWAGa9Wd2b74tgDH60yG3qAng== + dependencies: + tslib "^2.0.0" + +"@aws-sdk/util-hex-encoding@3.37.0", "@aws-sdk/util-hex-encoding@^3.29.0": + version "3.37.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.37.0.tgz#40ce21b5ff682e811e98ac7476692ee55ae61493" + integrity sha512-tn5UpfaeM+rZWqynoNqB8lwtcAXil5YYO3HLGH9himpWAdft/2Z7LK6bsYDpctaAI1WHgMDcL0bw3Id04ZUbhA== + dependencies: + tslib "^2.3.0" + "@aws-sdk/util-hex-encoding@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.6.1.tgz#84954fcc47b74ffbd2911ba5113e93bd9b1c6510" @@ -2379,9 +3612,23 @@ tslib "^1.8.0" "@aws-sdk/util-locate-window@^3.0.0": - version "3.23.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-locate-window/-/util-locate-window-3.23.0.tgz#e9bf2a023dce2ea1d13ec2e8c7c92abb333a1442" - integrity sha512-mM8kWW7SWIxCshkNllpYqCQi5SzwJ+sv5nURhtquOB5/H3qGqZm0V5lUE3qpE1AYmqKwk6qbGUy1woFn1T5nrw== + version "3.37.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-locate-window/-/util-locate-window-3.37.0.tgz#e041f411e5e6a235e5bcffacc4b7fa90f25d8d01" + integrity sha512-NvDCfOhLLVHp27oGUUs8EVirhz91aX5gdxGS7J/sh5PF0cNN8rwaR1vSLR7BxPmJHMO7NH7i9EwiELfLfYcq6g== + dependencies: + tslib "^2.3.0" + +"@aws-sdk/util-uri-escape@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-uri-escape/-/util-uri-escape-3.22.0.tgz#e2554a3ec942fc0463958ec21101804e9f04d599" + integrity sha512-SDeYT3qktYGv/9z6nnVRp3VYm/5S/uea4IPUGQlPyea05uOxe/ysqEW4ogve4ugQVgIbE47OvyoZlwFiFgbkVQ== + dependencies: + tslib "^2.0.0" + +"@aws-sdk/util-uri-escape@3.37.0": + version "3.37.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-uri-escape/-/util-uri-escape-3.37.0.tgz#42b8393a51dcc04f228e70d1c94c2fe38a738994" + integrity sha512-8pKf4YJTELP5lm/CEgYw2atyJBB1RWWqFa0sZx6YJmTlOtLF5G6raUdAi4iDa2hldGt2B6IAdIIyuusT8zeU8Q== dependencies: tslib "^2.3.0" @@ -2392,6 +3639,24 @@ dependencies: tslib "^1.8.0" +"@aws-sdk/util-user-agent-browser@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.22.0.tgz#bf9c178b928831d56eaad7b6ab4ea1eb57abb2ef" + integrity sha512-FnGmHG986MjFV0FW9WV8DF+DBqieo3Dl4KVg7BQSyOAClN3w8XOBvP8YZlxUtYA3zeVXvHRpJjupgRsq8tZ9jw== + dependencies: + "@aws-sdk/types" "3.22.0" + bowser "^2.11.0" + tslib "^2.0.0" + +"@aws-sdk/util-user-agent-browser@3.40.0": + version "3.40.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.40.0.tgz#d9f4f49af35895df260598a333a8b792b56e9f76" + integrity sha512-C69sTI26bV2EprTv3DTXu9XP7kD9Wu4YVPBzqztOYArd2GDYw3w+jS8SEg3XRbjAKY/mOPZ2Thw4StjpZlWZiA== + dependencies: + "@aws-sdk/types" "3.40.0" + bowser "^2.11.0" + tslib "^2.3.0" + "@aws-sdk/util-user-agent-browser@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.6.1.tgz#11b9cc8743392761adb304460f4b54ec8acc2ee6" @@ -2401,6 +3666,24 @@ bowser "^2.11.0" tslib "^1.8.0" +"@aws-sdk/util-user-agent-node@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.22.0.tgz#3e66ead905d3da85fedaad9653696652d6896dbc" + integrity sha512-XuAfkTS8Bl++Fp2rbgyIIs3cCVi6DaTmW/a+OztJx2IOVqTIkjruckhBPCf5/v2coy7xZeD8YqpIJUdcY4w+iw== + dependencies: + "@aws-sdk/node-config-provider" "3.22.0" + "@aws-sdk/types" "3.22.0" + tslib "^2.0.0" + +"@aws-sdk/util-user-agent-node@3.40.0": + version "3.40.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.40.0.tgz#76240a4ee05e409ad1267854761c53e746e9bcdf" + integrity sha512-cjIzd0hRZFTTh7iLJD6Bciu++Em1iaM1clyG02xRl0JD5DEtDSR1zO02uu+AeM7GSLGOxIvwOkK2j8ySPAOmBA== + dependencies: + "@aws-sdk/node-config-provider" "3.40.0" + "@aws-sdk/types" "3.40.0" + tslib "^2.3.0" + "@aws-sdk/util-user-agent-node@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.6.1.tgz#98384095fa67d098ae7dd26f3ccaad028e8aebb6" @@ -2410,6 +3693,20 @@ "@aws-sdk/types" "3.6.1" tslib "^1.8.0" +"@aws-sdk/util-utf8-browser@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.22.0.tgz#c16ad5e2218e5dcf91539e986010180ce70098fd" + integrity sha512-4S1adLvYi5fHTbV4zpC4I4oKku0U1Pc1byfX7iJrWu07TVUeW4YAfwCaLK4O3qUUJZ1mXIqxArRGBFnbhHWeDg== + dependencies: + tslib "^2.0.0" + +"@aws-sdk/util-utf8-browser@3.37.0", "@aws-sdk/util-utf8-browser@^3.0.0": + version "3.37.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.37.0.tgz#d896899f4c475ceeaf8b77c5d7cdc453e5fe6b83" + integrity sha512-tuiOxzfqet1kKGYzlgpMGfhr64AHJnYsFx2jZiH/O6Yq8XQg43ryjQlbJlim/K/XHGNzY0R+nabeJg34q3Ua1g== + dependencies: + tslib "^2.3.0" + "@aws-sdk/util-utf8-browser@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.6.1.tgz#97a8770cae9d29218adc0f32c7798350261377c7" @@ -2424,11 +3721,20 @@ dependencies: tslib "^1.8.0" -"@aws-sdk/util-utf8-browser@^3.0.0": - version "3.23.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.23.0.tgz#dff7e891c67936de677b7d7a6c796e5c2e1b1510" - integrity sha512-fSB95AKnvCnAbCd7o0xLbErfAgD9wnLCaEu23AgfGAiaG3nFF8Z2+wtjebU/9Z4RI9d/x83Ho/yguRnJdkMsPA== +"@aws-sdk/util-utf8-node@3.22.0": + version "3.22.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-utf8-node/-/util-utf8-node-3.22.0.tgz#22066f003950f20697fa8071c3618e4949e76154" + integrity sha512-uZPhyt/OiSuFwWzBB/OF6ZUNM5cG7kW1U8Cfa740IKZrCNbawRZipiqkKdffAiVTKF3VfOQEbZCJibiD2BfafQ== + dependencies: + "@aws-sdk/util-buffer-from" "3.22.0" + tslib "^2.0.0" + +"@aws-sdk/util-utf8-node@3.37.0": + version "3.37.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-utf8-node/-/util-utf8-node-3.37.0.tgz#300912cce55d72c18213190237d6ab943e17b5bf" + integrity sha512-fUAgd7UTCULL36j9/vnXHxVhxvswnq23mYgTCIT8NQ7wHN30q2a89ym1e9DwGeQkJEBOkOcKLn6nsMsN7YQMDQ== dependencies: + "@aws-sdk/util-buffer-from" "3.37.0" tslib "^2.3.0" "@aws-sdk/util-utf8-node@3.6.1": @@ -2439,6 +3745,15 @@ "@aws-sdk/util-buffer-from" "3.6.1" tslib "^1.8.0" +"@aws-sdk/util-waiter@3.40.0": + version "3.40.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-waiter/-/util-waiter-3.40.0.tgz#91c537efc9d0129fb24d9bdab86acbfd797ddf1f" + integrity sha512-jdxwNEZdID49ZvyAnxaeNm5w2moIfMLOwj/q6TxKlxYoXMs16FQWkhyfGue0vEASzchS49ewbyt+KBqpT31Ebg== + dependencies: + "@aws-sdk/abort-controller" "3.40.0" + "@aws-sdk/types" "3.40.0" + tslib "^2.3.0" + "@aws-sdk/util-waiter@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/util-waiter/-/util-waiter-3.6.1.tgz#5c66c2da33ff98468726fefddc2ca7ac3352c17d" @@ -2448,6 +3763,13 @@ "@aws-sdk/types" "3.6.1" tslib "^1.8.0" +"@aws-sdk/xml-builder@3.37.0": + version "3.37.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/xml-builder/-/xml-builder-3.37.0.tgz#17aceb34188a58b5c25b49344f66135b0fe95f79" + integrity sha512-Vf0f4ZQ+IBo/l9wUaTOXLqqQO9b/Ll5yPbg+EhHx8zlHbTHIm89ettkVCGyT/taGagC1X+ZeTK9maX6ymEOBow== + dependencies: + tslib "^2.3.0" + "@aws-sdk/xml-builder@3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@aws-sdk/xml-builder/-/xml-builder-3.6.1.tgz#d85d7db5e8e30ba74de93ddf0cf6197e6e4b15ea" @@ -2456,9 +3778,9 @@ tslib "^1.8.0" "@babel/cli@^7.10.5": - version "7.14.8" - resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.14.8.tgz#fac73c0e2328a8af9fd3560c06b096bfa3730933" - integrity sha512-lcy6Lymft9Rpfqmrqdd4oTDdUx9ZwaAhAfywVrHG4771Pa6PPT0danJ1kDHBXYqh4HHSmIdA+nlmfxfxSDPtBg== + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.16.0.tgz#a729b7a48eb80b49f48a339529fc4129fd7bcef3" + integrity sha512-WLrM42vKX/4atIoQB+eb0ovUof53UUvecb4qGjU2PDDWRiZr50ZpiV8NpcLo7iSxeGYrRG0Mqembsa+UrTAV6Q== dependencies: commander "^4.0.1" convert-source-map "^1.1.0" @@ -2468,7 +3790,7 @@ slash "^2.0.0" source-map "^0.5.0" optionalDependencies: - "@nicolo-ribaudo/chokidar-2" "2.1.8-no-fsevents.2" + "@nicolo-ribaudo/chokidar-2" "2.1.8-no-fsevents.3" chokidar "^3.4.0" "@babel/code-frame@7.10.4": @@ -2485,17 +3807,17 @@ dependencies: "@babel/highlight" "^7.10.4" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.14.5", "@babel/code-frame@^7.5.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.14.5.tgz#23b08d740e83f49c5e59945fbf1b43e80bbf4edb" - integrity sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw== +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.5.5": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.0.tgz#0dfc80309beec8411e65e706461c408b0bb9b431" + integrity sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA== dependencies: - "@babel/highlight" "^7.14.5" + "@babel/highlight" "^7.16.0" -"@babel/compat-data@^7.12.1", "@babel/compat-data@^7.13.11", "@babel/compat-data@^7.14.7", "@babel/compat-data@^7.15.0": - version "7.15.0" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.15.0.tgz#2dbaf8b85334796cafbb0f5793a90a2fc010b176" - integrity sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA== +"@babel/compat-data@^7.12.1", "@babel/compat-data@^7.13.11", "@babel/compat-data@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.0.tgz#ea269d7f78deb3a7826c39a4048eecda541ebdaa" + integrity sha512-DGjt2QZse5SGd9nfOSqO4WLJ8NN/oHkijbXbPrxuoJO3oIPJL3TciZs9FX+cOHNiY9E9l0opL8g7BmLe3T+9ew== "@babel/core@7.12.3": version "7.12.3" @@ -2520,19 +3842,19 @@ source-map "^0.5.0" "@babel/core@^7.0.0", "@babel/core@^7.1.0", "@babel/core@^7.10.5", "@babel/core@^7.12.3", "@babel/core@^7.7.5", "@babel/core@^7.8.4": - version "7.15.0" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.15.0.tgz#749e57c68778b73ad8082775561f67f5196aafa8" - integrity sha512-tXtmTminrze5HEUPn/a0JtOzzfp0nk+UEXQ/tqIJo3WDGypl/2OFQEMll/zSFU8f/lfmfLXvTaORHF3cfXIQMw== - dependencies: - "@babel/code-frame" "^7.14.5" - "@babel/generator" "^7.15.0" - "@babel/helper-compilation-targets" "^7.15.0" - "@babel/helper-module-transforms" "^7.15.0" - "@babel/helpers" "^7.14.8" - "@babel/parser" "^7.15.0" - "@babel/template" "^7.14.5" - "@babel/traverse" "^7.15.0" - "@babel/types" "^7.15.0" + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.0.tgz#c4ff44046f5fe310525cc9eb4ef5147f0c5374d4" + integrity sha512-mYZEvshBRHGsIAiyH5PzCFTCfbWfoYbO/jcSdXQSUQu1/pW0xDZAUP7KEc32heqWTAfAHhV9j1vH8Sav7l+JNQ== + dependencies: + "@babel/code-frame" "^7.16.0" + "@babel/generator" "^7.16.0" + "@babel/helper-compilation-targets" "^7.16.0" + "@babel/helper-module-transforms" "^7.16.0" + "@babel/helpers" "^7.16.0" + "@babel/parser" "^7.16.0" + "@babel/template" "^7.16.0" + "@babel/traverse" "^7.16.0" + "@babel/types" "^7.16.0" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" @@ -2551,64 +3873,64 @@ source-map "^0.5.0" trim-right "^1.0.1" -"@babel/generator@^7.12.1", "@babel/generator@^7.15.0", "@babel/generator@^7.5.0": - version "7.15.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.15.0.tgz#a7d0c172e0d814974bad5aa77ace543b97917f15" - integrity sha512-eKl4XdMrbpYvuB505KTta4AV9g+wWzmVBW69tX0H2NwKVKd2YJbKgyK6M8j/rgLbmHOYJn6rUklV677nOyJrEQ== +"@babel/generator@^7.12.1", "@babel/generator@^7.16.0", "@babel/generator@^7.5.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.0.tgz#d40f3d1d5075e62d3500bccb67f3daa8a95265b2" + integrity sha512-RR8hUCfRQn9j9RPKEVXo9LiwoxLPYn6hNZlvUOR8tSnaxlD0p0+la00ZP9/SnRt6HchKr+X0fO2r8vrETiJGew== dependencies: - "@babel/types" "^7.15.0" + "@babel/types" "^7.16.0" jsesc "^2.5.1" source-map "^0.5.0" -"@babel/helper-annotate-as-pure@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.14.5.tgz#7bf478ec3b71726d56a8ca5775b046fc29879e61" - integrity sha512-EivH9EgBIb+G8ij1B2jAwSH36WnGvkQSEC6CkX/6v6ZFlw5fVOHvsgGF4uiEHO2GzMvunZb6tDLQEQSdrdocrA== +"@babel/helper-annotate-as-pure@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.0.tgz#9a1f0ebcda53d9a2d00108c4ceace6a5d5f1f08d" + integrity sha512-ItmYF9vR4zA8cByDocY05o0LGUkp1zhbTQOH1NFyl5xXEqlTJQCEJjieriw+aFpxo16swMxUnUiKS7a/r4vtHg== dependencies: - "@babel/types" "^7.14.5" + "@babel/types" "^7.16.0" -"@babel/helper-builder-binary-assignment-operator-visitor@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.14.5.tgz#b939b43f8c37765443a19ae74ad8b15978e0a191" - integrity sha512-YTA/Twn0vBXDVGJuAX6PwW7x5zQei1luDDo2Pl6q1qZ7hVNl0RZrhHCQG/ArGpR29Vl7ETiB8eJyrvpuRp300w== +"@babel/helper-builder-binary-assignment-operator-visitor@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.0.tgz#f1a686b92da794020c26582eb852e9accd0d7882" + integrity sha512-9KuleLT0e77wFUku6TUkqZzCEymBdtuQQ27MhEKzf9UOOJu3cYj98kyaDAzxpC7lV6DGiZFuC8XqDsq8/Kl6aQ== dependencies: - "@babel/helper-explode-assignable-expression" "^7.14.5" - "@babel/types" "^7.14.5" + "@babel/helper-explode-assignable-expression" "^7.16.0" + "@babel/types" "^7.16.0" -"@babel/helper-compilation-targets@^7.12.1", "@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.14.5", "@babel/helper-compilation-targets@^7.15.0": - version "7.15.0" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.0.tgz#973df8cbd025515f3ff25db0c05efc704fa79818" - integrity sha512-h+/9t0ncd4jfZ8wsdAsoIxSa61qhBYlycXiHWqJaQBCXAhDCMbPRSMTGnZIkkmt1u4ag+UQmuqcILwqKzZ4N2A== +"@babel/helper-compilation-targets@^7.12.1", "@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.0": + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.3.tgz#5b480cd13f68363df6ec4dc8ac8e2da11363cbf0" + integrity sha512-vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA== dependencies: - "@babel/compat-data" "^7.15.0" + "@babel/compat-data" "^7.16.0" "@babel/helper-validator-option" "^7.14.5" - browserslist "^4.16.6" + browserslist "^4.17.5" semver "^6.3.0" -"@babel/helper-create-class-features-plugin@^7.10.5", "@babel/helper-create-class-features-plugin@^7.12.1", "@babel/helper-create-class-features-plugin@^7.14.5", "@babel/helper-create-class-features-plugin@^7.15.0": - version "7.15.0" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.0.tgz#c9a137a4d137b2d0e2c649acf536d7ba1a76c0f7" - integrity sha512-MdmDXgvTIi4heDVX/e9EFfeGpugqm9fobBVg/iioE8kueXrOHdRDe36FAY7SnE9xXLVeYCoJR/gdrBEIHRC83Q== +"@babel/helper-create-class-features-plugin@^7.10.5", "@babel/helper-create-class-features-plugin@^7.12.1", "@babel/helper-create-class-features-plugin@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.0.tgz#090d4d166b342a03a9fec37ef4fd5aeb9c7c6a4b" + integrity sha512-XLwWvqEaq19zFlF5PTgOod4bUA+XbkR4WLQBct1bkzmxJGB0ZEJaoKF4c8cgH9oBtCDuYJ8BP5NB9uFiEgO5QA== dependencies: - "@babel/helper-annotate-as-pure" "^7.14.5" - "@babel/helper-function-name" "^7.14.5" - "@babel/helper-member-expression-to-functions" "^7.15.0" - "@babel/helper-optimise-call-expression" "^7.14.5" - "@babel/helper-replace-supers" "^7.15.0" - "@babel/helper-split-export-declaration" "^7.14.5" + "@babel/helper-annotate-as-pure" "^7.16.0" + "@babel/helper-function-name" "^7.16.0" + "@babel/helper-member-expression-to-functions" "^7.16.0" + "@babel/helper-optimise-call-expression" "^7.16.0" + "@babel/helper-replace-supers" "^7.16.0" + "@babel/helper-split-export-declaration" "^7.16.0" -"@babel/helper-create-regexp-features-plugin@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.5.tgz#c7d5ac5e9cf621c26057722fb7a8a4c5889358c4" - integrity sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A== +"@babel/helper-create-regexp-features-plugin@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.16.0.tgz#06b2348ce37fccc4f5e18dcd8d75053f2a7c44ff" + integrity sha512-3DyG0zAFAZKcOp7aVr33ddwkxJ0Z0Jr5V99y3I690eYLpukJsJvAbzTy1ewoCqsML8SbIrjH14Jc/nSQ4TvNPA== dependencies: - "@babel/helper-annotate-as-pure" "^7.14.5" + "@babel/helper-annotate-as-pure" "^7.16.0" regexpu-core "^4.7.1" -"@babel/helper-define-polyfill-provider@^0.2.2": - version "0.2.3" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz#0525edec5094653a282688d34d846e4c75e9c0b6" - integrity sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew== +"@babel/helper-define-polyfill-provider@^0.2.4": + version "0.2.4" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.4.tgz#8867aed79d3ea6cade40f801efb7ac5c66916b10" + integrity sha512-OrpPZ97s+aPi6h2n1OXzdhVis1SGSsMU2aMHgLcOKfsp4/v1NWpx3CWT3lBj5eeBq9cDkPkh+YCfdF7O12uNDQ== dependencies: "@babel/helper-compilation-targets" "^7.13.0" "@babel/helper-module-imports" "^7.12.13" @@ -2619,151 +3941,151 @@ resolve "^1.14.2" semver "^6.1.2" -"@babel/helper-explode-assignable-expression@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.14.5.tgz#8aa72e708205c7bb643e45c73b4386cdf2a1f645" - integrity sha512-Htb24gnGJdIGT4vnRKMdoXiOIlqOLmdiUYpAQ0mYfgVT/GDm8GOYhgi4GL+hMKrkiPRohO4ts34ELFsGAPQLDQ== +"@babel/helper-explode-assignable-expression@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.0.tgz#753017337a15f46f9c09f674cff10cee9b9d7778" + integrity sha512-Hk2SLxC9ZbcOhLpg/yMznzJ11W++lg5GMbxt1ev6TXUiJB0N42KPC+7w8a+eWGuqDnUYuwStJoZHM7RgmIOaGQ== dependencies: - "@babel/types" "^7.14.5" + "@babel/types" "^7.16.0" -"@babel/helper-function-name@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz#89e2c474972f15d8e233b52ee8c480e2cfcd50c4" - integrity sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ== +"@babel/helper-function-name@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.0.tgz#b7dd0797d00bbfee4f07e9c4ea5b0e30c8bb1481" + integrity sha512-BZh4mEk1xi2h4HFjWUXRQX5AEx4rvaZxHgax9gcjdLWdkjsY7MKt5p0otjsg5noXw+pB+clMCjw+aEVYADMjog== dependencies: - "@babel/helper-get-function-arity" "^7.14.5" - "@babel/template" "^7.14.5" - "@babel/types" "^7.14.5" + "@babel/helper-get-function-arity" "^7.16.0" + "@babel/template" "^7.16.0" + "@babel/types" "^7.16.0" -"@babel/helper-get-function-arity@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz#25fbfa579b0937eee1f3b805ece4ce398c431815" - integrity sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg== +"@babel/helper-get-function-arity@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.0.tgz#0088c7486b29a9cb5d948b1a1de46db66e089cfa" + integrity sha512-ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ== dependencies: - "@babel/types" "^7.14.5" + "@babel/types" "^7.16.0" -"@babel/helper-hoist-variables@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz#e0dd27c33a78e577d7c8884916a3e7ef1f7c7f8d" - integrity sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ== +"@babel/helper-hoist-variables@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.0.tgz#4c9023c2f1def7e28ff46fc1dbcd36a39beaa81a" + integrity sha512-1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg== dependencies: - "@babel/types" "^7.14.5" + "@babel/types" "^7.16.0" -"@babel/helper-member-expression-to-functions@^7.15.0": - version "7.15.0" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.0.tgz#0ddaf5299c8179f27f37327936553e9bba60990b" - integrity sha512-Jq8H8U2kYiafuj2xMTPQwkTBnEEdGKpT35lJEQsRRjnG0LW3neucsaMWLgKcwu3OHKNeYugfw+Z20BXBSEs2Lg== +"@babel/helper-member-expression-to-functions@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.0.tgz#29287040efd197c77636ef75188e81da8bccd5a4" + integrity sha512-bsjlBFPuWT6IWhl28EdrQ+gTvSvj5tqVP5Xeftp07SEuz5pLnsXZuDkDD3Rfcxy0IsHmbZ+7B2/9SHzxO0T+sQ== dependencies: - "@babel/types" "^7.15.0" + "@babel/types" "^7.16.0" -"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.12.1", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz#6d1a44df6a38c957aa7c312da076429f11b422f3" - integrity sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ== - dependencies: - "@babel/types" "^7.14.5" - -"@babel/helper-module-transforms@^7.10.4", "@babel/helper-module-transforms@^7.12.1", "@babel/helper-module-transforms@^7.14.5", "@babel/helper-module-transforms@^7.15.0": - version "7.15.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.15.0.tgz#679275581ea056373eddbe360e1419ef23783b08" - integrity sha512-RkGiW5Rer7fpXv9m1B3iHIFDZdItnO2/BLfWVW/9q7+KqQSDY5kUfQEbzdXM1MVhJGcugKV7kRrNVzNxmk7NBg== - dependencies: - "@babel/helper-module-imports" "^7.14.5" - "@babel/helper-replace-supers" "^7.15.0" - "@babel/helper-simple-access" "^7.14.8" - "@babel/helper-split-export-declaration" "^7.14.5" - "@babel/helper-validator-identifier" "^7.14.9" - "@babel/template" "^7.14.5" - "@babel/traverse" "^7.15.0" - "@babel/types" "^7.15.0" - -"@babel/helper-optimise-call-expression@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz#f27395a8619e0665b3f0364cddb41c25d71b499c" - integrity sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA== +"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.12.1", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.0.tgz#90538e60b672ecf1b448f5f4f5433d37e79a3ec3" + integrity sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg== dependencies: - "@babel/types" "^7.14.5" + "@babel/types" "^7.16.0" + +"@babel/helper-module-transforms@^7.10.4", "@babel/helper-module-transforms@^7.12.1", "@babel/helper-module-transforms@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.16.0.tgz#1c82a8dd4cb34577502ebd2909699b194c3e9bb5" + integrity sha512-My4cr9ATcaBbmaEa8M0dZNA74cfI6gitvUAskgDtAFmAqyFKDSHQo5YstxPbN+lzHl2D9l/YOEFqb2mtUh4gfA== + dependencies: + "@babel/helper-module-imports" "^7.16.0" + "@babel/helper-replace-supers" "^7.16.0" + "@babel/helper-simple-access" "^7.16.0" + "@babel/helper-split-export-declaration" "^7.16.0" + "@babel/helper-validator-identifier" "^7.15.7" + "@babel/template" "^7.16.0" + "@babel/traverse" "^7.16.0" + "@babel/types" "^7.16.0" + +"@babel/helper-optimise-call-expression@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.0.tgz#cecdb145d70c54096b1564f8e9f10cd7d193b338" + integrity sha512-SuI467Gi2V8fkofm2JPnZzB/SUuXoJA5zXe/xzyPP2M04686RzFKFHPK6HDVN6JvWBIEW8tt9hPR7fXdn2Lgpw== + dependencies: + "@babel/types" "^7.16.0" "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz#5ac822ce97eec46741ab70a517971e443a70c5a9" integrity sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ== -"@babel/helper-remap-async-to-generator@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.14.5.tgz#51439c913612958f54a987a4ffc9ee587a2045d6" - integrity sha512-rLQKdQU+HYlxBwQIj8dk4/0ENOUEhA/Z0l4hN8BexpvmSMN9oA9EagjnhnDpNsRdWCfjwa4mn/HyBXO9yhQP6A== +"@babel/helper-remap-async-to-generator@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.0.tgz#d5aa3b086e13a5fe05238ff40c3a5a0c2dab3ead" + integrity sha512-MLM1IOMe9aQBqMWxcRw8dcb9jlM86NIw7KA0Wri91Xkfied+dE0QuBFSBjMNvqzmS0OSIDsMNC24dBEkPUi7ew== dependencies: - "@babel/helper-annotate-as-pure" "^7.14.5" - "@babel/helper-wrap-function" "^7.14.5" - "@babel/types" "^7.14.5" + "@babel/helper-annotate-as-pure" "^7.16.0" + "@babel/helper-wrap-function" "^7.16.0" + "@babel/types" "^7.16.0" -"@babel/helper-replace-supers@^7.14.5", "@babel/helper-replace-supers@^7.15.0": - version "7.15.0" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.15.0.tgz#ace07708f5bf746bf2e6ba99572cce79b5d4e7f4" - integrity sha512-6O+eWrhx+HEra/uJnifCwhwMd6Bp5+ZfZeJwbqUTuqkhIT6YcRhiZCOOFChRypOIe0cV46kFrRBlm+t5vHCEaA== +"@babel/helper-replace-supers@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.16.0.tgz#73055e8d3cf9bcba8ddb55cad93fedc860f68f17" + integrity sha512-TQxuQfSCdoha7cpRNJvfaYxxxzmbxXw/+6cS7V02eeDYyhxderSoMVALvwupA54/pZcOTtVeJ0xccp1nGWladA== dependencies: - "@babel/helper-member-expression-to-functions" "^7.15.0" - "@babel/helper-optimise-call-expression" "^7.14.5" - "@babel/traverse" "^7.15.0" - "@babel/types" "^7.15.0" + "@babel/helper-member-expression-to-functions" "^7.16.0" + "@babel/helper-optimise-call-expression" "^7.16.0" + "@babel/traverse" "^7.16.0" + "@babel/types" "^7.16.0" -"@babel/helper-simple-access@^7.10.4", "@babel/helper-simple-access@^7.14.8": - version "7.14.8" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.14.8.tgz#82e1fec0644a7e775c74d305f212c39f8fe73924" - integrity sha512-TrFN4RHh9gnWEU+s7JloIho2T76GPwRHhdzOWLqTrMnlas8T9O7ec+oEDNsRXndOmru9ymH9DFrEOxpzPoSbdg== +"@babel/helper-simple-access@^7.10.4", "@babel/helper-simple-access@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.16.0.tgz#21d6a27620e383e37534cf6c10bba019a6f90517" + integrity sha512-o1rjBT/gppAqKsYfUdfHq5Rk03lMQrkPHG1OWzHWpLgVXRH4HnMM9Et9CVdIqwkCQlobnGHEJMsgWP/jE1zUiw== dependencies: - "@babel/types" "^7.14.8" + "@babel/types" "^7.16.0" -"@babel/helper-skip-transparent-expression-wrappers@^7.12.1", "@babel/helper-skip-transparent-expression-wrappers@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.14.5.tgz#96f486ac050ca9f44b009fbe5b7d394cab3a0ee4" - integrity sha512-dmqZB7mrb94PZSAOYtr+ZN5qt5owZIAgqtoTuqiFbHFtxgEcmQlRJVI+bO++fciBunXtB6MK7HrzrfcAzIz2NQ== +"@babel/helper-skip-transparent-expression-wrappers@^7.12.1", "@babel/helper-skip-transparent-expression-wrappers@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz#0ee3388070147c3ae051e487eca3ebb0e2e8bb09" + integrity sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw== dependencies: - "@babel/types" "^7.14.5" + "@babel/types" "^7.16.0" -"@babel/helper-split-export-declaration@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz#22b23a54ef51c2b7605d851930c1976dd0bc693a" - integrity sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA== +"@babel/helper-split-export-declaration@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.0.tgz#29672f43663e936df370aaeb22beddb3baec7438" + integrity sha512-0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw== dependencies: - "@babel/types" "^7.14.5" + "@babel/types" "^7.16.0" -"@babel/helper-validator-identifier@^7.12.11", "@babel/helper-validator-identifier@^7.14.5", "@babel/helper-validator-identifier@^7.14.9": - version "7.14.9" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz#6654d171b2024f6d8ee151bf2509699919131d48" - integrity sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g== +"@babel/helper-validator-identifier@^7.12.11", "@babel/helper-validator-identifier@^7.15.7": + version "7.15.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz#220df993bfe904a4a6b02ab4f3385a5ebf6e2389" + integrity sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w== "@babel/helper-validator-option@^7.12.1", "@babel/helper-validator-option@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3" integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow== -"@babel/helper-wrap-function@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.14.5.tgz#5919d115bf0fe328b8a5d63bcb610f51601f2bff" - integrity sha512-YEdjTCq+LNuNS1WfxsDCNpgXkJaIyqco6DAelTUjT4f2KIWC1nBcaCaSdHTBqQVLnTBexBcVcFhLSU1KnYuePQ== +"@babel/helper-wrap-function@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.16.0.tgz#b3cf318afce774dfe75b86767cd6d68f3482e57c" + integrity sha512-VVMGzYY3vkWgCJML+qVLvGIam902mJW0FvT7Avj1zEe0Gn7D93aWdLblYARTxEw+6DhZmtzhBM2zv0ekE5zg1g== dependencies: - "@babel/helper-function-name" "^7.14.5" - "@babel/template" "^7.14.5" - "@babel/traverse" "^7.14.5" - "@babel/types" "^7.14.5" + "@babel/helper-function-name" "^7.16.0" + "@babel/template" "^7.16.0" + "@babel/traverse" "^7.16.0" + "@babel/types" "^7.16.0" -"@babel/helpers@^7.12.1", "@babel/helpers@^7.14.8": - version "7.15.3" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.15.3.tgz#c96838b752b95dcd525b4e741ed40bb1dc2a1357" - integrity sha512-HwJiz52XaS96lX+28Tnbu31VeFSQJGOeKHJeaEPQlTl7PnlhFElWPj8tUXtqFIzeN86XxXoBr+WFAyK2PPVz6g== +"@babel/helpers@^7.12.1", "@babel/helpers@^7.16.0": + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.16.3.tgz#27fc64f40b996e7074dc73128c3e5c3e7f55c43c" + integrity sha512-Xn8IhDlBPhvYTvgewPKawhADichOsbkZuzN7qz2BusOM0brChsyXMDJvldWaYMMUNiCQdQzNEioXTp3sC8Nt8w== dependencies: - "@babel/template" "^7.14.5" - "@babel/traverse" "^7.15.0" - "@babel/types" "^7.15.0" + "@babel/template" "^7.16.0" + "@babel/traverse" "^7.16.3" + "@babel/types" "^7.16.0" -"@babel/highlight@^7.10.4", "@babel/highlight@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9" - integrity sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg== +"@babel/highlight@^7.10.4", "@babel/highlight@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.0.tgz#6ceb32b2ca4b8f5f361fb7fd821e3fddf4a1725a" + integrity sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g== dependencies: - "@babel/helper-validator-identifier" "^7.14.5" + "@babel/helper-validator-identifier" "^7.15.7" chalk "^2.0.0" js-tokens "^4.0.0" @@ -2772,27 +4094,34 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.13.13.tgz#42f03862f4aed50461e543270916b47dd501f0df" integrity sha512-OhsyMrqygfk5v8HmWwOzlYjJrtLaFhF34MrfG/Z73DgYCI6ojNUTUp2TYbtnjo8PegeJp12eamsNettCQjKjVw== -"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.12.3", "@babel/parser@^7.14.5", "@babel/parser@^7.15.0", "@babel/parser@^7.7.0": - version "7.15.3" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.15.3.tgz#3416d9bea748052cfcb63dbcc27368105b1ed862" - integrity sha512-O0L6v/HvqbdJawj0iBEfVQMc3/6WP+AeOsovsIgBFyJaG+W2w7eqvZB7puddATmWuARlm1SX7DwxJ/JJUnDpEA== +"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.12.3", "@babel/parser@^7.14.7", "@babel/parser@^7.16.0", "@babel/parser@^7.16.3", "@babel/parser@^7.7.0": + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.3.tgz#271bafcb811080905a119222edbc17909c82261d" + integrity sha512-dcNwU1O4sx57ClvLBVFbEgx0UZWfd0JQX5X6fxFRCLHelFBGXFfSz6Y0FAq2PEwUqlqLkdVjVr4VASEOuUnLJw== -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.14.5.tgz#4b467302e1548ed3b1be43beae2cc9cf45e0bb7e" - integrity sha512-ZoJS2XCKPBfTmL122iP6NM9dOg+d4lc9fFk3zxc8iDjvt8Pk4+TlsHSKhIPf6X+L5ORCdBzqMZDjL/WHj7WknQ== +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.0": + version "7.16.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.2.tgz#2977fca9b212db153c195674e57cfab807733183" + integrity sha512-h37CvpLSf8gb2lIJ2CgC3t+EjFbi0t8qS7LCS1xcJIlEXE4czlofwaW7W1HA8zpgOCzI9C1nmoqNR1zWkk0pQg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.0.tgz#358972eaab006f5eb0826183b0c93cbcaf13e1e2" + integrity sha512-4tcFwwicpWTrpl9qjf7UsoosaArgImF85AxqCRZlgc3IQDvkUHjJpruXAL58Wmj+T6fypWTC/BakfEkwIL/pwA== dependencies: "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.14.5" - "@babel/plugin-proposal-optional-chaining" "^7.14.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" + "@babel/plugin-proposal-optional-chaining" "^7.16.0" -"@babel/plugin-proposal-async-generator-functions@^7.12.1", "@babel/plugin-proposal-async-generator-functions@^7.14.9": - version "7.14.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.9.tgz#7028dc4fa21dc199bbacf98b39bab1267d0eaf9a" - integrity sha512-d1lnh+ZnKrFKwtTYdw320+sQWCTwgkB9fmUhNXRADA4akR6wLjaruSGnIEUjpt9HCOwTr4ynFTKu19b7rFRpmw== +"@babel/plugin-proposal-async-generator-functions@^7.12.1", "@babel/plugin-proposal-async-generator-functions@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.0.tgz#11425d47a60364352f668ad5fbc1d6596b2c5caf" + integrity sha512-nyYmIo7ZqKsY6P4lnVmBlxp9B3a96CscbLotlsNuktMHahkDwoPYEjXrZHU0Tj844Z9f1IthVxQln57mhkcExw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-remap-async-to-generator" "^7.14.5" + "@babel/helper-remap-async-to-generator" "^7.16.0" "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-proposal-class-properties@7.12.1": @@ -2803,20 +4132,20 @@ "@babel/helper-create-class-features-plugin" "^7.12.1" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-proposal-class-properties@^7.0.0", "@babel/plugin-proposal-class-properties@^7.12.1", "@babel/plugin-proposal-class-properties@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.14.5.tgz#40d1ee140c5b1e31a350f4f5eed945096559b42e" - integrity sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg== +"@babel/plugin-proposal-class-properties@^7.0.0", "@babel/plugin-proposal-class-properties@^7.12.1", "@babel/plugin-proposal-class-properties@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.0.tgz#c029618267ddebc7280fa286e0f8ca2a278a2d1a" + integrity sha512-mCF3HcuZSY9Fcx56Lbn+CGdT44ioBMMvjNVldpKtj8tpniETdLjnxdHI1+sDWXIM1nNt+EanJOZ3IG9lzVjs7A== dependencies: - "@babel/helper-create-class-features-plugin" "^7.14.5" + "@babel/helper-create-class-features-plugin" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-proposal-class-static-block@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.14.5.tgz#158e9e10d449c3849ef3ecde94a03d9f1841b681" - integrity sha512-KBAH5ksEnYHCegqseI5N9skTdxgJdmDoAOc0uXa+4QMYKeZD0w5IARh4FMlTNtaHhbB8v+KzMdTgxMMzsIy6Yg== +"@babel/plugin-proposal-class-static-block@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.0.tgz#5296942c564d8144c83eea347d0aa8a0b89170e7" + integrity sha512-mAy3sdcY9sKAkf3lQbDiv3olOfiLqI51c9DR9b19uMoR2Z6r5pmGl7dfNFqEvqOyqbf1ta4lknK4gc5PJn3mfA== dependencies: - "@babel/helper-create-class-features-plugin" "^7.14.5" + "@babel/helper-create-class-features-plugin" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-class-static-block" "^7.14.5" @@ -2829,34 +4158,34 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-decorators" "^7.12.1" -"@babel/plugin-proposal-dynamic-import@^7.12.1", "@babel/plugin-proposal-dynamic-import@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.5.tgz#0c6617df461c0c1f8fff3b47cd59772360101d2c" - integrity sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g== +"@babel/plugin-proposal-dynamic-import@^7.12.1", "@babel/plugin-proposal-dynamic-import@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.0.tgz#783eca61d50526202f9b296095453977e88659f1" + integrity sha512-QGSA6ExWk95jFQgwz5GQ2Dr95cf7eI7TKutIXXTb7B1gCLTCz5hTjFTQGfLFBBiC5WSNi7udNwWsqbbMh1c4yQ== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-dynamic-import" "^7.8.3" -"@babel/plugin-proposal-export-namespace-from@^7.12.1", "@babel/plugin-proposal-export-namespace-from@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.5.tgz#dbad244310ce6ccd083072167d8cea83a52faf76" - integrity sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA== +"@babel/plugin-proposal-export-namespace-from@^7.12.1", "@babel/plugin-proposal-export-namespace-from@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.0.tgz#9c01dee40b9d6b847b656aaf4a3976a71740f222" + integrity sha512-CjI4nxM/D+5wCnhD11MHB1AwRSAYeDT+h8gCdcVJZ/OK7+wRzFsf7PFPWVpVpNRkHMmMkQWAHpTq+15IXQ1diA== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" -"@babel/plugin-proposal-json-strings@^7.12.1", "@babel/plugin-proposal-json-strings@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.5.tgz#38de60db362e83a3d8c944ac858ddf9f0c2239eb" - integrity sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ== +"@babel/plugin-proposal-json-strings@^7.12.1", "@babel/plugin-proposal-json-strings@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.0.tgz#cae35a95ed1d2a7fa29c4dc41540b84a72e9ab25" + integrity sha512-kouIPuiv8mSi5JkEhzApg5Gn6hFyKPnlkO0a9YSzqRurH8wYzSlf6RJdzluAsbqecdW5pBvDJDfyDIUR/vLxvg== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-json-strings" "^7.8.3" -"@babel/plugin-proposal-logical-assignment-operators@^7.12.1", "@babel/plugin-proposal-logical-assignment-operators@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.5.tgz#6e6229c2a99b02ab2915f82571e0cc646a40c738" - integrity sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw== +"@babel/plugin-proposal-logical-assignment-operators@^7.12.1", "@babel/plugin-proposal-logical-assignment-operators@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.0.tgz#a711b8ceb3ffddd3ef88d3a49e86dbd3cc7db3fd" + integrity sha512-pbW0fE30sVTYXXm9lpVQQ/Vc+iTeQKiXlaNRZPPN2A2VdlWyAtsUrsQ3xydSlDW00TFMK7a8m3cDTkBF5WnV3Q== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" @@ -2869,10 +4198,10 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" -"@babel/plugin-proposal-nullish-coalescing-operator@^7.12.1", "@babel/plugin-proposal-nullish-coalescing-operator@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz#ee38589ce00e2cc59b299ec3ea406fcd3a0fdaf6" - integrity sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg== +"@babel/plugin-proposal-nullish-coalescing-operator@^7.12.1", "@babel/plugin-proposal-nullish-coalescing-operator@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.0.tgz#44e1cce08fe2427482cf446a91bb451528ed0596" + integrity sha512-3bnHA8CAFm7cG93v8loghDYyQ8r97Qydf63BeYiGgYbjKKB/XP53W15wfRC7dvKfoiJ34f6Rbyyx2btExc8XsQ== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" @@ -2885,29 +4214,29 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-proposal-numeric-separator@^7.10.4", "@babel/plugin-proposal-numeric-separator@^7.12.1", "@babel/plugin-proposal-numeric-separator@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.5.tgz#83631bf33d9a51df184c2102a069ac0c58c05f18" - integrity sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg== +"@babel/plugin-proposal-numeric-separator@^7.10.4", "@babel/plugin-proposal-numeric-separator@^7.12.1", "@babel/plugin-proposal-numeric-separator@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.0.tgz#5d418e4fbbf8b9b7d03125d3a52730433a373734" + integrity sha512-FAhE2I6mjispy+vwwd6xWPyEx3NYFS13pikDBWUAFGZvq6POGs5eNchw8+1CYoEgBl9n11I3NkzD7ghn25PQ9Q== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-proposal-object-rest-spread@^7.0.0", "@babel/plugin-proposal-object-rest-spread@^7.12.1", "@babel/plugin-proposal-object-rest-spread@^7.14.7": - version "7.14.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.7.tgz#5920a2b3df7f7901df0205974c0641b13fd9d363" - integrity sha512-082hsZz+sVabfmDWo1Oct1u1AgbKbUAyVgmX4otIc7bdsRgHBXwTwb3DpDmD4Eyyx6DNiuz5UAATT655k+kL5g== +"@babel/plugin-proposal-object-rest-spread@^7.0.0", "@babel/plugin-proposal-object-rest-spread@^7.12.1", "@babel/plugin-proposal-object-rest-spread@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.0.tgz#5fb32f6d924d6e6712810362a60e12a2609872e6" + integrity sha512-LU/+jp89efe5HuWJLmMmFG0+xbz+I2rSI7iLc1AlaeSMDMOGzWlc5yJrMN1d04osXN4sSfpo4O+azkBNBes0jg== dependencies: - "@babel/compat-data" "^7.14.7" - "@babel/helper-compilation-targets" "^7.14.5" + "@babel/compat-data" "^7.16.0" + "@babel/helper-compilation-targets" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.14.5" + "@babel/plugin-transform-parameters" "^7.16.0" -"@babel/plugin-proposal-optional-catch-binding@^7.12.1", "@babel/plugin-proposal-optional-catch-binding@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.5.tgz#939dd6eddeff3a67fdf7b3f044b5347262598c3c" - integrity sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ== +"@babel/plugin-proposal-optional-catch-binding@^7.12.1", "@babel/plugin-proposal-optional-catch-binding@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.0.tgz#5910085811ab4c28b00d6ebffa4ab0274d1e5f16" + integrity sha512-kicDo0A/5J0nrsCPbn89mTG3Bm4XgYi0CZtvex9Oyw7gGZE3HXGD0zpQNH+mo+tEfbo8wbmMvJftOwpmPy7aVw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" @@ -2921,39 +4250,39 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" "@babel/plugin-syntax-optional-chaining" "^7.8.0" -"@babel/plugin-proposal-optional-chaining@^7.12.1", "@babel/plugin-proposal-optional-chaining@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.5.tgz#fa83651e60a360e3f13797eef00b8d519695b603" - integrity sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ== +"@babel/plugin-proposal-optional-chaining@^7.12.1", "@babel/plugin-proposal-optional-chaining@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.0.tgz#56dbc3970825683608e9efb55ea82c2a2d6c8dc0" + integrity sha512-Y4rFpkZODfHrVo70Uaj6cC1JJOt3Pp0MdWSwIKtb8z1/lsjl9AmnB7ErRFV+QNGIfcY1Eruc2UMx5KaRnXjMyg== dependencies: "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.14.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" "@babel/plugin-syntax-optional-chaining" "^7.8.3" -"@babel/plugin-proposal-private-methods@^7.12.1", "@babel/plugin-proposal-private-methods@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.14.5.tgz#37446495996b2945f30f5be5b60d5e2aa4f5792d" - integrity sha512-838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g== +"@babel/plugin-proposal-private-methods@^7.12.1", "@babel/plugin-proposal-private-methods@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.0.tgz#b4dafb9c717e4301c5776b30d080d6383c89aff6" + integrity sha512-IvHmcTHDFztQGnn6aWq4t12QaBXTKr1whF/dgp9kz84X6GUcwq9utj7z2wFCUfeOup/QKnOlt2k0zxkGFx9ubg== dependencies: - "@babel/helper-create-class-features-plugin" "^7.14.5" + "@babel/helper-create-class-features-plugin" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-proposal-private-property-in-object@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.14.5.tgz#9f65a4d0493a940b4c01f8aa9d3f1894a587f636" - integrity sha512-62EyfyA3WA0mZiF2e2IV9mc9Ghwxcg8YTu8BS4Wss4Y3PY725OmS9M0qLORbJwLqFtGh+jiE4wAmocK2CTUK2Q== +"@babel/plugin-proposal-private-property-in-object@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.0.tgz#69e935b2c5c79d2488112d886f0c4e2790fee76f" + integrity sha512-3jQUr/HBbMVZmi72LpjQwlZ55i1queL8KcDTQEkAHihttJnAPrcvG9ZNXIfsd2ugpizZo595egYV6xy+pv4Ofw== dependencies: - "@babel/helper-annotate-as-pure" "^7.14.5" - "@babel/helper-create-class-features-plugin" "^7.14.5" + "@babel/helper-annotate-as-pure" "^7.16.0" + "@babel/helper-create-class-features-plugin" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-private-property-in-object" "^7.14.5" -"@babel/plugin-proposal-unicode-property-regex@^7.12.1", "@babel/plugin-proposal-unicode-property-regex@^7.14.5", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.14.5.tgz#0f95ee0e757a5d647f378daa0eca7e93faa8bbe8" - integrity sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q== +"@babel/plugin-proposal-unicode-property-regex@^7.12.1", "@babel/plugin-proposal-unicode-property-regex@^7.16.0", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.0.tgz#890482dfc5ea378e42e19a71e709728cabf18612" + integrity sha512-ti7IdM54NXv29cA4+bNNKEMS4jLMCbJgl+Drv+FgYy0erJLAxNAIXcNjNjrRZEcWq0xJHsNVwQezskMFpF8N9g== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.14.5" + "@babel/helper-create-regexp-features-plugin" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-async-generators@^7.8.0", "@babel/plugin-syntax-async-generators@^7.8.4": @@ -2985,9 +4314,9 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-decorators@^7.12.1": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.14.5.tgz#eafb9c0cbe09c8afeb964ba3a7bbd63945a72f20" - integrity sha512-c4sZMRWL4GSvP1EXy0woIP7m4jkVcEuG8R1TOZxPBPtp4FSM/kiPZub9UIs/Jrb5ZAOzvTUSGYrWsrSu1JvoPw== + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.16.0.tgz#eb8d811cdd1060f6ac3c00956bf3f6335505a32f" + integrity sha512-nxnnngZClvlY13nHJAIDow0S7Qzhq64fQ/NlqS+VER3kjW/4F0jLhXjeL8jcwSwz6Ca3rotT5NJD2T9I7lcv7g== dependencies: "@babel/helper-plugin-utils" "^7.14.5" @@ -3005,10 +4334,10 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-flow@^7.0.0", "@babel/plugin-syntax-flow@^7.12.1", "@babel/plugin-syntax-flow@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.14.5.tgz#2ff654999497d7d7d142493260005263731da180" - integrity sha512-9WK5ZwKCdWHxVuU13XNT6X73FGmutAXeor5lGFq6qhOFtMFUF4jkbijuyUdZZlpYq6E2hZeZf/u3959X9wsv0Q== +"@babel/plugin-syntax-flow@^7.0.0", "@babel/plugin-syntax-flow@^7.12.1", "@babel/plugin-syntax-flow@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.16.0.tgz#07427021d093ed77019408221beaf0272bbcfaec" + integrity sha512-dH91yCo0RyqfzWgoM5Ji9ir8fQ+uFbt9KHM3d2x4jZOuHS6wNA+CRmRUP/BWCsHG2bjc7A2Way6AvH1eQk0wig== dependencies: "@babel/helper-plugin-utils" "^7.14.5" @@ -3026,10 +4355,10 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-jsx@^7.0.0", "@babel/plugin-syntax-jsx@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.14.5.tgz#000e2e25d8673cce49300517a3eda44c263e4201" - integrity sha512-ohuFIsOMXJnbOMRfX7/w7LocdR6R7whhuRD4ax8IipLcLPlZGJKkBxgHp++U4N/vKyU16/YDQr2f5seajD3jIw== +"@babel/plugin-syntax-jsx@^7.0.0", "@babel/plugin-syntax-jsx@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.0.tgz#f9624394317365a9a88c82358d3f8471154698f1" + integrity sha512-8zv2+xiPHwly31RK4RmnEYY5zziuF3O7W2kIDW+07ewWDh6Oi0dRq8kwvulRkFgt6DB97RlKs5c1y068iPlCUg== dependencies: "@babel/helper-plugin-utils" "^7.14.5" @@ -3089,91 +4418,91 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-typescript@^7.10.4", "@babel/plugin-syntax-typescript@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.14.5.tgz#b82c6ce471b165b5ce420cf92914d6fb46225716" - integrity sha512-u6OXzDaIXjEstBRRoBCQ/uKQKlbuaeE5in0RvWdA4pN6AhqxTIwUsnHPU1CFZA/amYObMsuWhYfRl3Ch90HD0Q== +"@babel/plugin-syntax-typescript@^7.10.4", "@babel/plugin-syntax-typescript@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.0.tgz#2feeb13d9334cc582ea9111d3506f773174179bb" + integrity sha512-Xv6mEXqVdaqCBfJFyeab0fH2DnUoMsDmhamxsSi4j8nLd4Vtw213WMJr55xxqipC/YVWyPY3K0blJncPYji+dQ== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-arrow-functions@^7.0.0", "@babel/plugin-transform-arrow-functions@^7.12.1", "@babel/plugin-transform-arrow-functions@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.14.5.tgz#f7187d9588a768dd080bf4c9ffe117ea62f7862a" - integrity sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A== +"@babel/plugin-transform-arrow-functions@^7.0.0", "@babel/plugin-transform-arrow-functions@^7.12.1", "@babel/plugin-transform-arrow-functions@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.0.tgz#951706f8b449c834ed07bd474c0924c944b95a8e" + integrity sha512-vIFb5250Rbh7roWARvCLvIJ/PtAU5Lhv7BtZ1u24COwpI9Ypjsh+bZcKk6rlIyalK+r0jOc1XQ8I4ovNxNrWrA== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-async-to-generator@^7.12.1", "@babel/plugin-transform-async-to-generator@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.14.5.tgz#72c789084d8f2094acb945633943ef8443d39e67" - integrity sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA== +"@babel/plugin-transform-async-to-generator@^7.12.1", "@babel/plugin-transform-async-to-generator@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.0.tgz#df12637f9630ddfa0ef9d7a11bc414d629d38604" + integrity sha512-PbIr7G9kR8tdH6g8Wouir5uVjklETk91GMVSUq+VaOgiinbCkBP6Q7NN/suM/QutZkMJMvcyAriogcYAdhg8Gw== dependencies: - "@babel/helper-module-imports" "^7.14.5" + "@babel/helper-module-imports" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-remap-async-to-generator" "^7.14.5" + "@babel/helper-remap-async-to-generator" "^7.16.0" -"@babel/plugin-transform-block-scoped-functions@^7.0.0", "@babel/plugin-transform-block-scoped-functions@^7.12.1", "@babel/plugin-transform-block-scoped-functions@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.14.5.tgz#e48641d999d4bc157a67ef336aeb54bc44fd3ad4" - integrity sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ== +"@babel/plugin-transform-block-scoped-functions@^7.0.0", "@babel/plugin-transform-block-scoped-functions@^7.12.1", "@babel/plugin-transform-block-scoped-functions@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.0.tgz#c618763233ad02847805abcac4c345ce9de7145d" + integrity sha512-V14As3haUOP4ZWrLJ3VVx5rCnrYhMSHN/jX7z6FAt5hjRkLsb0snPCmJwSOML5oxkKO4FNoNv7V5hw/y2bjuvg== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-block-scoping@^7.0.0", "@babel/plugin-transform-block-scoping@^7.12.1", "@babel/plugin-transform-block-scoping@^7.14.5": - version "7.15.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.15.3.tgz#94c81a6e2fc230bcce6ef537ac96a1e4d2b3afaf" - integrity sha512-nBAzfZwZb4DkaGtOes1Up1nOAp9TDRRFw4XBzBBSG9QK7KVFmYzgj9o9sbPv7TX5ofL4Auq4wZnxCoPnI/lz2Q== +"@babel/plugin-transform-block-scoping@^7.0.0", "@babel/plugin-transform-block-scoping@^7.12.1", "@babel/plugin-transform-block-scoping@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.0.tgz#bcf433fb482fe8c3d3b4e8a66b1c4a8e77d37c16" + integrity sha512-27n3l67/R3UrXfizlvHGuTwsRIFyce3D/6a37GRxn28iyTPvNXaW4XvznexRh1zUNLPjbLL22Id0XQElV94ruw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-classes@^7.0.0", "@babel/plugin-transform-classes@^7.12.1", "@babel/plugin-transform-classes@^7.14.9": - version "7.14.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.9.tgz#2a391ffb1e5292710b00f2e2c210e1435e7d449f" - integrity sha512-NfZpTcxU3foGWbl4wxmZ35mTsYJy8oQocbeIMoDAGGFarAmSQlL+LWMkDx/tj6pNotpbX3rltIA4dprgAPOq5A== +"@babel/plugin-transform-classes@^7.0.0", "@babel/plugin-transform-classes@^7.12.1", "@babel/plugin-transform-classes@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.0.tgz#54cf5ff0b2242c6573d753cd4bfc7077a8b282f5" + integrity sha512-HUxMvy6GtAdd+GKBNYDWCIA776byUQH8zjnfjxwT1P1ARv/wFu8eBDpmXQcLS/IwRtrxIReGiplOwMeyO7nsDQ== dependencies: - "@babel/helper-annotate-as-pure" "^7.14.5" - "@babel/helper-function-name" "^7.14.5" - "@babel/helper-optimise-call-expression" "^7.14.5" + "@babel/helper-annotate-as-pure" "^7.16.0" + "@babel/helper-function-name" "^7.16.0" + "@babel/helper-optimise-call-expression" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-replace-supers" "^7.14.5" - "@babel/helper-split-export-declaration" "^7.14.5" + "@babel/helper-replace-supers" "^7.16.0" + "@babel/helper-split-export-declaration" "^7.16.0" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.0.0", "@babel/plugin-transform-computed-properties@^7.12.1", "@babel/plugin-transform-computed-properties@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.14.5.tgz#1b9d78987420d11223d41195461cc43b974b204f" - integrity sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg== +"@babel/plugin-transform-computed-properties@^7.0.0", "@babel/plugin-transform-computed-properties@^7.12.1", "@babel/plugin-transform-computed-properties@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.0.tgz#e0c385507d21e1b0b076d66bed6d5231b85110b7" + integrity sha512-63l1dRXday6S8V3WFY5mXJwcRAnPYxvFfTlt67bwV1rTyVTM5zrp0DBBb13Kl7+ehkCVwIZPumPpFP/4u70+Tw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-destructuring@^7.0.0", "@babel/plugin-transform-destructuring@^7.12.1", "@babel/plugin-transform-destructuring@^7.14.7": - version "7.14.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.7.tgz#0ad58ed37e23e22084d109f185260835e5557576" - integrity sha512-0mDE99nK+kVh3xlc5vKwB6wnP9ecuSj+zQCa/n0voENtP/zymdT4HH6QEb65wjjcbqr1Jb/7z9Qp7TF5FtwYGw== +"@babel/plugin-transform-destructuring@^7.0.0", "@babel/plugin-transform-destructuring@^7.12.1", "@babel/plugin-transform-destructuring@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.0.tgz#ad3d7e74584ad5ea4eadb1e6642146c590dee33c" + integrity sha512-Q7tBUwjxLTsHEoqktemHBMtb3NYwyJPTJdM+wDwb0g8PZ3kQUIzNvwD5lPaqW/p54TXBc/MXZu9Jr7tbUEUM8Q== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-dotall-regex@^7.12.1", "@babel/plugin-transform-dotall-regex@^7.14.5", "@babel/plugin-transform-dotall-regex@^7.4.4": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.14.5.tgz#2f6bf76e46bdf8043b4e7e16cf24532629ba0c7a" - integrity sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw== +"@babel/plugin-transform-dotall-regex@^7.12.1", "@babel/plugin-transform-dotall-regex@^7.16.0", "@babel/plugin-transform-dotall-regex@^7.4.4": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.0.tgz#50bab00c1084b6162d0a58a818031cf57798e06f" + integrity sha512-FXlDZfQeLILfJlC6I1qyEwcHK5UpRCFkaoVyA1nk9A1L1Yu583YO4un2KsLBsu3IJb4CUbctZks8tD9xPQubLw== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.14.5" + "@babel/helper-create-regexp-features-plugin" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-duplicate-keys@^7.12.1", "@babel/plugin-transform-duplicate-keys@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.14.5.tgz#365a4844881bdf1501e3a9f0270e7f0f91177954" - integrity sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A== +"@babel/plugin-transform-duplicate-keys@^7.12.1", "@babel/plugin-transform-duplicate-keys@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.0.tgz#8bc2e21813e3e89e5e5bf3b60aa5fc458575a176" + integrity sha512-LIe2kcHKAZOJDNxujvmp6z3mfN6V9lJxubU4fJIGoQCkKe3Ec2OcbdlYP+vW++4MpxwG0d1wSDOJtQW5kLnkZQ== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-exponentiation-operator@^7.12.1", "@babel/plugin-transform-exponentiation-operator@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.14.5.tgz#5154b8dd6a3dfe6d90923d61724bd3deeb90b493" - integrity sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA== +"@babel/plugin-transform-exponentiation-operator@^7.12.1", "@babel/plugin-transform-exponentiation-operator@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.0.tgz#a180cd2881e3533cef9d3901e48dad0fbeff4be4" + integrity sha512-OwYEvzFI38hXklsrbNivzpO3fh87skzx8Pnqi4LoSYeav0xHlueSoCJrSgTPfnbyzopo5b3YVAJkFIcUpK2wsw== dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.14.5" + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-flow-strip-types@7.12.1": @@ -3185,48 +4514,48 @@ "@babel/plugin-syntax-flow" "^7.12.1" "@babel/plugin-transform-flow-strip-types@^7.0.0": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.14.5.tgz#0dc9c1d11dcdc873417903d6df4bed019ef0f85e" - integrity sha512-KhcolBKfXbvjwI3TV7r7TkYm8oNXHNBqGOy6JDVwtecFaRoKYsUUqJdS10q0YDKW1c6aZQgO+Ys3LfGkox8pXA== + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.16.0.tgz#edd968dc2041c1b69e451a262e948d6654a79dc2" + integrity sha512-vs/F5roOaO/+WxKfp9PkvLsAyj0G+Q0zbFimHm9X2KDgabN2XmNFoAafmeGEYspUlIF9+MvVmyek9UyHiqeG/w== dependencies: "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-syntax-flow" "^7.14.5" + "@babel/plugin-syntax-flow" "^7.16.0" -"@babel/plugin-transform-for-of@^7.0.0", "@babel/plugin-transform-for-of@^7.12.1", "@babel/plugin-transform-for-of@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.14.5.tgz#dae384613de8f77c196a8869cbf602a44f7fc0eb" - integrity sha512-CfmqxSUZzBl0rSjpoQSFoR9UEj3HzbGuGNL21/iFTmjb5gFggJp3ph0xR1YBhexmLoKRHzgxuFvty2xdSt6gTA== +"@babel/plugin-transform-for-of@^7.0.0", "@babel/plugin-transform-for-of@^7.12.1", "@babel/plugin-transform-for-of@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.0.tgz#f7abaced155260e2461359bbc7c7248aca5e6bd2" + integrity sha512-5QKUw2kO+GVmKr2wMYSATCTTnHyscl6sxFRAY+rvN7h7WB0lcG0o4NoV6ZQU32OZGVsYUsfLGgPQpDFdkfjlJQ== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-function-name@^7.0.0", "@babel/plugin-transform-function-name@^7.12.1", "@babel/plugin-transform-function-name@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.14.5.tgz#e81c65ecb900746d7f31802f6bed1f52d915d6f2" - integrity sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ== +"@babel/plugin-transform-function-name@^7.0.0", "@babel/plugin-transform-function-name@^7.12.1", "@babel/plugin-transform-function-name@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.0.tgz#02e3699c284c6262236599f751065c5d5f1f400e" + integrity sha512-lBzMle9jcOXtSOXUpc7tvvTpENu/NuekNJVova5lCCWCV9/U1ho2HH2y0p6mBg8fPm/syEAbfaaemYGOHCY3mg== dependencies: - "@babel/helper-function-name" "^7.14.5" + "@babel/helper-function-name" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-literals@^7.0.0", "@babel/plugin-transform-literals@^7.12.1", "@babel/plugin-transform-literals@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.14.5.tgz#41d06c7ff5d4d09e3cf4587bd3ecf3930c730f78" - integrity sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A== +"@babel/plugin-transform-literals@^7.0.0", "@babel/plugin-transform-literals@^7.12.1", "@babel/plugin-transform-literals@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.0.tgz#79711e670ffceb31bd298229d50f3621f7980cac" + integrity sha512-gQDlsSF1iv9RU04clgXqRjrPyyoJMTclFt3K1cjLmTKikc0s/6vE3hlDeEVC71wLTRu72Fq7650kABrdTc2wMQ== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-member-expression-literals@^7.0.0", "@babel/plugin-transform-member-expression-literals@^7.12.1", "@babel/plugin-transform-member-expression-literals@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.14.5.tgz#b39cd5212a2bf235a617d320ec2b48bcc091b8a7" - integrity sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q== +"@babel/plugin-transform-member-expression-literals@^7.0.0", "@babel/plugin-transform-member-expression-literals@^7.12.1", "@babel/plugin-transform-member-expression-literals@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.0.tgz#5251b4cce01eaf8314403d21aedb269d79f5e64b" + integrity sha512-WRpw5HL4Jhnxw8QARzRvwojp9MIE7Tdk3ez6vRyUk1MwgjJN0aNpRoXainLR5SgxmoXx/vsXGZ6OthP6t/RbUg== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-modules-amd@^7.12.1", "@babel/plugin-transform-modules-amd@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.5.tgz#4fd9ce7e3411cb8b83848480b7041d83004858f7" - integrity sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g== +"@babel/plugin-transform-modules-amd@^7.12.1", "@babel/plugin-transform-modules-amd@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.0.tgz#09abd41e18dcf4fd479c598c1cef7bd39eb1337e" + integrity sha512-rWFhWbCJ9Wdmzln1NmSCqn7P0RAD+ogXG/bd9Kg5c7PKWkJtkiXmYsMBeXjDlzHpVTJ4I/hnjs45zX4dEv81xw== dependencies: - "@babel/helper-module-transforms" "^7.14.5" + "@babel/helper-module-transforms" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" babel-plugin-dynamic-import-node "^2.3.3" @@ -3240,75 +4569,75 @@ "@babel/helper-simple-access" "^7.10.4" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-commonjs@^7.0.0", "@babel/plugin-transform-modules-commonjs@^7.12.1", "@babel/plugin-transform-modules-commonjs@^7.15.0": - version "7.15.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.15.0.tgz#3305896e5835f953b5cdb363acd9e8c2219a5281" - integrity sha512-3H/R9s8cXcOGE8kgMlmjYYC9nqr5ELiPkJn4q0mypBrjhYQoc+5/Maq69vV4xRPWnkzZuwJPf5rArxpB/35Cig== +"@babel/plugin-transform-modules-commonjs@^7.0.0", "@babel/plugin-transform-modules-commonjs@^7.12.1", "@babel/plugin-transform-modules-commonjs@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.0.tgz#add58e638c8ddc4875bd9a9ecb5c594613f6c922" + integrity sha512-Dzi+NWqyEotgzk/sb7kgQPJQf7AJkQBWsVp1N6JWc1lBVo0vkElUnGdr1PzUBmfsCCN5OOFya3RtpeHk15oLKQ== dependencies: - "@babel/helper-module-transforms" "^7.15.0" + "@babel/helper-module-transforms" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-simple-access" "^7.14.8" + "@babel/helper-simple-access" "^7.16.0" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-systemjs@^7.12.1", "@babel/plugin-transform-modules-systemjs@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.14.5.tgz#c75342ef8b30dcde4295d3401aae24e65638ed29" - integrity sha512-mNMQdvBEE5DcMQaL5LbzXFMANrQjd2W7FPzg34Y4yEz7dBgdaC+9B84dSO+/1Wba98zoDbInctCDo4JGxz1VYA== +"@babel/plugin-transform-modules-systemjs@^7.12.1", "@babel/plugin-transform-modules-systemjs@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.0.tgz#a92cf240afeb605f4ca16670453024425e421ea4" + integrity sha512-yuGBaHS3lF1m/5R+6fjIke64ii5luRUg97N2wr+z1sF0V+sNSXPxXDdEEL/iYLszsN5VKxVB1IPfEqhzVpiqvg== dependencies: - "@babel/helper-hoist-variables" "^7.14.5" - "@babel/helper-module-transforms" "^7.14.5" + "@babel/helper-hoist-variables" "^7.16.0" + "@babel/helper-module-transforms" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-validator-identifier" "^7.14.5" + "@babel/helper-validator-identifier" "^7.15.7" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-umd@^7.12.1", "@babel/plugin-transform-modules-umd@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.5.tgz#fb662dfee697cce274a7cda525190a79096aa6e0" - integrity sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA== +"@babel/plugin-transform-modules-umd@^7.12.1", "@babel/plugin-transform-modules-umd@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.0.tgz#195f26c2ad6d6a391b70880effce18ce625e06a7" + integrity sha512-nx4f6no57himWiHhxDM5pjwhae5vLpTK2zCnDH8+wNLJy0TVER/LJRHl2bkt6w9Aad2sPD5iNNoUpY3X9sTGDg== dependencies: - "@babel/helper-module-transforms" "^7.14.5" + "@babel/helper-module-transforms" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-named-capturing-groups-regex@^7.12.1", "@babel/plugin-transform-named-capturing-groups-regex@^7.14.9": - version "7.14.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.9.tgz#c68f5c5d12d2ebaba3762e57c2c4f6347a46e7b2" - integrity sha512-l666wCVYO75mlAtGFfyFwnWmIXQm3kSH0C3IRnJqWcZbWkoihyAdDhFm2ZWaxWTqvBvhVFfJjMRQ0ez4oN1yYA== +"@babel/plugin-transform-named-capturing-groups-regex@^7.12.1", "@babel/plugin-transform-named-capturing-groups-regex@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.0.tgz#d3db61cc5d5b97986559967cd5ea83e5c32096ca" + integrity sha512-LogN88uO+7EhxWc8WZuQ8vxdSyVGxhkh8WTC3tzlT8LccMuQdA81e9SGV6zY7kY2LjDhhDOFdQVxdGwPyBCnvg== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.14.5" + "@babel/helper-create-regexp-features-plugin" "^7.16.0" -"@babel/plugin-transform-new-target@^7.12.1", "@babel/plugin-transform-new-target@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.14.5.tgz#31bdae8b925dc84076ebfcd2a9940143aed7dbf8" - integrity sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ== +"@babel/plugin-transform-new-target@^7.12.1", "@babel/plugin-transform-new-target@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.0.tgz#af823ab576f752215a49937779a41ca65825ab35" + integrity sha512-fhjrDEYv2DBsGN/P6rlqakwRwIp7rBGLPbrKxwh7oVt5NNkIhZVOY2GRV+ULLsQri1bDqwDWnU3vhlmx5B2aCw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-object-super@^7.0.0", "@babel/plugin-transform-object-super@^7.12.1", "@babel/plugin-transform-object-super@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.14.5.tgz#d0b5faeac9e98597a161a9cf78c527ed934cdc45" - integrity sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg== +"@babel/plugin-transform-object-super@^7.0.0", "@babel/plugin-transform-object-super@^7.12.1", "@babel/plugin-transform-object-super@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.0.tgz#fb20d5806dc6491a06296ac14ea8e8d6fedda72b" + integrity sha512-fds+puedQHn4cPLshoHcR1DTMN0q1V9ou0mUjm8whx9pGcNvDrVVrgw+KJzzCaiTdaYhldtrUps8DWVMgrSEyg== dependencies: "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-replace-supers" "^7.14.5" + "@babel/helper-replace-supers" "^7.16.0" -"@babel/plugin-transform-parameters@^7.0.0", "@babel/plugin-transform-parameters@^7.12.1", "@babel/plugin-transform-parameters@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.14.5.tgz#49662e86a1f3ddccac6363a7dfb1ff0a158afeb3" - integrity sha512-Tl7LWdr6HUxTmzQtzuU14SqbgrSKmaR77M0OKyq4njZLQTPfOvzblNKyNkGwOfEFCEx7KeYHQHDI0P3F02IVkA== +"@babel/plugin-transform-parameters@^7.0.0", "@babel/plugin-transform-parameters@^7.12.1", "@babel/plugin-transform-parameters@^7.16.0": + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.3.tgz#fa9e4c874ee5223f891ee6fa8d737f4766d31d15" + integrity sha512-3MaDpJrOXT1MZ/WCmkOFo7EtmVVC8H4EUZVrHvFOsmwkk4lOjQj8rzv8JKUZV4YoQKeoIgk07GO+acPU9IMu/w== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-property-literals@^7.0.0", "@babel/plugin-transform-property-literals@^7.12.1", "@babel/plugin-transform-property-literals@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.14.5.tgz#0ddbaa1f83db3606f1cdf4846fa1dfb473458b34" - integrity sha512-r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw== +"@babel/plugin-transform-property-literals@^7.0.0", "@babel/plugin-transform-property-literals@^7.12.1", "@babel/plugin-transform-property-literals@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.0.tgz#a95c552189a96a00059f6776dc4e00e3690c78d1" + integrity sha512-XLldD4V8+pOqX2hwfWhgwXzGdnDOThxaNTgqagOcpBgIxbUvpgU2FMvo5E1RyHbk756WYgdbS0T8y0Cj9FKkWQ== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-react-constant-elements@^7.12.1": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.14.5.tgz#41790d856f7c5cec82d2bcf5d0e5064d682522ed" - integrity sha512-NBqLEx1GxllIOXJInJAQbrnwwYJsV3WaMHIcOwD8rhYS0AabTWn7kHdHgPgu5RmHLU0q4DMxhAMu8ue/KampgQ== + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.16.0.tgz#1483b894b8e6ef0709d260532fbd4db9fc27a0e6" + integrity sha512-OgtklS+p9t1X37eWA4XdvvbZG/3gqzX569gqmo3q4/Ui6qjfTQmOs5UTSrfdD9nVByHhX6Gbm/Pyc4KbwUXGWA== dependencies: "@babel/helper-plugin-utils" "^7.14.5" @@ -3319,64 +4648,64 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-react-display-name@^7.0.0", "@babel/plugin-transform-react-display-name@^7.12.1", "@babel/plugin-transform-react-display-name@^7.14.5": - version "7.15.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.15.1.tgz#6aaac6099f1fcf6589d35ae6be1b6e10c8c602b9" - integrity sha512-yQZ/i/pUCJAHI/LbtZr413S3VT26qNrEm0M5RRxQJA947/YNYwbZbBaXGDrq6CG5QsZycI1VIP6d7pQaBfP+8Q== +"@babel/plugin-transform-react-display-name@^7.0.0", "@babel/plugin-transform-react-display-name@^7.12.1", "@babel/plugin-transform-react-display-name@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.16.0.tgz#9a0ad8aa8e8790883a7bd2736f66229a58125676" + integrity sha512-FJFdJAqaCpndL+pIf0aeD/qlQwT7QXOvR6Cc8JPvNhKJBi2zc/DPc4g05Y3fbD/0iWAMQFGij4+Xw+4L/BMpTg== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-react-jsx-development@^7.12.1", "@babel/plugin-transform-react-jsx-development@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.14.5.tgz#1a6c73e2f7ed2c42eebc3d2ad60b0c7494fcb9af" - integrity sha512-rdwG/9jC6QybWxVe2UVOa7q6cnTpw8JRRHOxntG/h6g/guAOe6AhtQHJuJh5FwmnXIT1bdm5vC2/5huV8ZOorQ== +"@babel/plugin-transform-react-jsx-development@^7.12.1", "@babel/plugin-transform-react-jsx-development@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.16.0.tgz#1cb52874678d23ab11d0d16488d54730807303ef" + integrity sha512-qq65iSqBRq0Hr3wq57YG2AmW0H6wgTnIzpffTphrUWUgLCOK+zf1f7G0vuOiXrp7dU1qq+fQBoqZ3wCDAkhFzw== dependencies: - "@babel/plugin-transform-react-jsx" "^7.14.5" + "@babel/plugin-transform-react-jsx" "^7.16.0" "@babel/plugin-transform-react-jsx-self@^7.12.1": - version "7.14.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.14.9.tgz#33041e665453391eb6ee54a2ecf3ba1d46bd30f4" - integrity sha512-Fqqu0f8zv9W+RyOnx29BX/RlEsBRANbOf5xs5oxb2aHP4FKbLXxIaVPUiCti56LAR1IixMH4EyaixhUsKqoBHw== + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.16.0.tgz#09202158abbc716a08330f392bfb98d6b9acfa0c" + integrity sha512-97yCFY+2GvniqOThOSjPor8xUoDiQ0STVWAQMl3pjhJoFVe5DuXDLZCRSZxu9clx+oRCbTiXGgKEG/Yoyo6Y+w== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-react-jsx-source@^7.12.1": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.14.5.tgz#79f728e60e6dbd31a2b860b0bf6c9765918acf1d" - integrity sha512-1TpSDnD9XR/rQ2tzunBVPThF5poaYT9GqP+of8fAtguYuI/dm2RkrMBDemsxtY0XBzvW7nXjYM0hRyKX9QYj7Q== + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.16.0.tgz#d40c959d7803aae38224594585748693e84c0a22" + integrity sha512-8yvbGGrHOeb/oyPc9tzNoe9/lmIjz3HLa9Nc5dMGDyNpGjfFrk8D2KdEq9NRkftZzeoQEW6yPQ29TMZtrLiUUA== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-react-jsx@^7.0.0", "@babel/plugin-transform-react-jsx@^7.12.1", "@babel/plugin-transform-react-jsx@^7.14.5": - version "7.14.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.14.9.tgz#3314b2163033abac5200a869c4de242cd50a914c" - integrity sha512-30PeETvS+AeD1f58i1OVyoDlVYQhap/K20ZrMjLmmzmC2AYR/G43D4sdJAaDAqCD3MYpSWbmrz3kES158QSLjw== +"@babel/plugin-transform-react-jsx@^7.0.0", "@babel/plugin-transform-react-jsx@^7.12.1", "@babel/plugin-transform-react-jsx@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.16.0.tgz#55b797d4960c3de04e07ad1c0476e2bc6a4889f1" + integrity sha512-rqDgIbukZ44pqq7NIRPGPGNklshPkvlmvqjdx3OZcGPk4zGIenYkxDTvl3LsSL8gqcc3ZzGmXPE6hR/u/voNOw== dependencies: - "@babel/helper-annotate-as-pure" "^7.14.5" - "@babel/helper-module-imports" "^7.14.5" + "@babel/helper-annotate-as-pure" "^7.16.0" + "@babel/helper-module-imports" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-syntax-jsx" "^7.14.5" - "@babel/types" "^7.14.9" + "@babel/plugin-syntax-jsx" "^7.16.0" + "@babel/types" "^7.16.0" -"@babel/plugin-transform-react-pure-annotations@^7.12.1", "@babel/plugin-transform-react-pure-annotations@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.14.5.tgz#18de612b84021e3a9802cbc212c9d9f46d0d11fc" - integrity sha512-3X4HpBJimNxW4rhUy/SONPyNQHp5YRr0HhJdT2OH1BRp0of7u3Dkirc7x9FRJMKMqTBI079VZ1hzv7Ouuz///g== +"@babel/plugin-transform-react-pure-annotations@^7.12.1", "@babel/plugin-transform-react-pure-annotations@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.16.0.tgz#23db6ddf558d8abde41b8ad9d59f48ad5532ccab" + integrity sha512-NC/Bj2MG+t8Ef5Pdpo34Ay74X4Rt804h5y81PwOpfPtmAK3i6CizmQqwyBQzIepz1Yt8wNr2Z2L7Lu3qBMfZMA== dependencies: - "@babel/helper-annotate-as-pure" "^7.14.5" + "@babel/helper-annotate-as-pure" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-regenerator@^7.12.1", "@babel/plugin-transform-regenerator@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.14.5.tgz#9676fd5707ed28f522727c5b3c0aa8544440b04f" - integrity sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg== +"@babel/plugin-transform-regenerator@^7.12.1", "@babel/plugin-transform-regenerator@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.0.tgz#eaee422c84b0232d03aea7db99c97deeaf6125a4" + integrity sha512-JAvGxgKuwS2PihiSFaDrp94XOzzTUeDeOQlcKzVAyaPap7BnZXK/lvMDiubkPTdotPKOIZq9xWXWnggUMYiExg== dependencies: regenerator-transform "^0.14.2" -"@babel/plugin-transform-reserved-words@^7.12.1", "@babel/plugin-transform-reserved-words@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.14.5.tgz#c44589b661cfdbef8d4300dcc7469dffa92f8304" - integrity sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg== +"@babel/plugin-transform-reserved-words@^7.12.1", "@babel/plugin-transform-reserved-words@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.0.tgz#fff4b9dcb19e12619394bda172d14f2d04c0379c" + integrity sha512-Dgs8NNCehHSvXdhEhln8u/TtJxfVwGYCgP2OOr5Z3Ar+B+zXicEOKNTyc+eca2cuEOMtjW6m9P9ijOt8QdqWkg== dependencies: "@babel/helper-plugin-utils" "^7.14.5" @@ -3390,39 +4719,39 @@ resolve "^1.8.1" semver "^5.5.1" -"@babel/plugin-transform-shorthand-properties@^7.0.0", "@babel/plugin-transform-shorthand-properties@^7.12.1", "@babel/plugin-transform-shorthand-properties@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.14.5.tgz#97f13855f1409338d8cadcbaca670ad79e091a58" - integrity sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g== +"@babel/plugin-transform-shorthand-properties@^7.0.0", "@babel/plugin-transform-shorthand-properties@^7.12.1", "@babel/plugin-transform-shorthand-properties@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.0.tgz#090372e3141f7cc324ed70b3daf5379df2fa384d" + integrity sha512-iVb1mTcD8fuhSv3k99+5tlXu5N0v8/DPm2mO3WACLG6al1CGZH7v09HJyUb1TtYl/Z+KrM6pHSIJdZxP5A+xow== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-spread@^7.0.0", "@babel/plugin-transform-spread@^7.12.1", "@babel/plugin-transform-spread@^7.14.6": - version "7.14.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.14.6.tgz#6bd40e57fe7de94aa904851963b5616652f73144" - integrity sha512-Zr0x0YroFJku7n7+/HH3A2eIrGMjbmAIbJSVv0IZ+t3U2WUQUA64S/oeied2e+MaGSjmt4alzBCsK9E8gh+fag== +"@babel/plugin-transform-spread@^7.0.0", "@babel/plugin-transform-spread@^7.12.1", "@babel/plugin-transform-spread@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.0.tgz#d21ca099bbd53ab307a8621e019a7bd0f40cdcfb" + integrity sha512-Ao4MSYRaLAQczZVp9/7E7QHsCuK92yHRrmVNRe/SlEJjhzivq0BSn8mEraimL8wizHZ3fuaHxKH0iwzI13GyGg== dependencies: "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.14.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" -"@babel/plugin-transform-sticky-regex@^7.12.1", "@babel/plugin-transform-sticky-regex@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.14.5.tgz#5b617542675e8b7761294381f3c28c633f40aeb9" - integrity sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A== +"@babel/plugin-transform-sticky-regex@^7.12.1", "@babel/plugin-transform-sticky-regex@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.0.tgz#c35ea31a02d86be485f6aa510184b677a91738fd" + integrity sha512-/ntT2NljR9foobKk4E/YyOSwcGUXtYWv5tinMK/3RkypyNBNdhHUaq6Orw5DWq9ZcNlS03BIlEALFeQgeVAo4Q== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-template-literals@^7.0.0", "@babel/plugin-transform-template-literals@^7.12.1", "@babel/plugin-transform-template-literals@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.14.5.tgz#a5f2bc233937d8453885dc736bdd8d9ffabf3d93" - integrity sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg== +"@babel/plugin-transform-template-literals@^7.0.0", "@babel/plugin-transform-template-literals@^7.12.1", "@babel/plugin-transform-template-literals@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.0.tgz#a8eced3a8e7b8e2d40ec4ec4548a45912630d302" + integrity sha512-Rd4Ic89hA/f7xUSJQk5PnC+4so50vBoBfxjdQAdvngwidM8jYIBVxBZ/sARxD4e0yMXRbJVDrYf7dyRtIIKT6Q== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-typeof-symbol@^7.12.1", "@babel/plugin-transform-typeof-symbol@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.14.5.tgz#39af2739e989a2bd291bf6b53f16981423d457d4" - integrity sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw== +"@babel/plugin-transform-typeof-symbol@^7.12.1", "@babel/plugin-transform-typeof-symbol@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.0.tgz#8b19a244c6f8c9d668dca6a6f754ad6ead1128f2" + integrity sha512-++V2L8Bdf4vcaHi2raILnptTBjGEFxn5315YU+e8+EqXIucA+q349qWngCLpUYqqv233suJ6NOienIVUpS9cqg== dependencies: "@babel/helper-plugin-utils" "^7.14.5" @@ -3436,27 +4765,27 @@ "@babel/plugin-syntax-typescript" "^7.10.4" "@babel/plugin-transform-typescript@^7.12.1": - version "7.15.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.15.0.tgz#553f230b9d5385018716586fc48db10dd228eb7e" - integrity sha512-WIIEazmngMEEHDaPTx0IZY48SaAmjVWe3TRSX7cmJXn0bEv9midFzAjxiruOWYIVf5iQ10vFx7ASDpgEO08L5w== + version "7.16.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.16.1.tgz#cc0670b2822b0338355bc1b3d2246a42b8166409" + integrity sha512-NO4XoryBng06jjw/qWEU2LhcLJr1tWkhpMam/H4eas/CDKMX/b2/Ylb6EI256Y7+FVPCawwSM1rrJNOpDiz+Lg== dependencies: - "@babel/helper-create-class-features-plugin" "^7.15.0" + "@babel/helper-create-class-features-plugin" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-syntax-typescript" "^7.14.5" + "@babel/plugin-syntax-typescript" "^7.16.0" -"@babel/plugin-transform-unicode-escapes@^7.12.1", "@babel/plugin-transform-unicode-escapes@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.14.5.tgz#9d4bd2a681e3c5d7acf4f57fa9e51175d91d0c6b" - integrity sha512-crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA== +"@babel/plugin-transform-unicode-escapes@^7.12.1", "@babel/plugin-transform-unicode-escapes@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.0.tgz#1a354064b4c45663a32334f46fa0cf6100b5b1f3" + integrity sha512-VFi4dhgJM7Bpk8lRc5CMaRGlKZ29W9C3geZjt9beuzSUrlJxsNwX7ReLwaL6WEvsOf2EQkyIJEPtF8EXjB/g2A== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-unicode-regex@^7.12.1", "@babel/plugin-transform-unicode-regex@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.14.5.tgz#4cd09b6c8425dd81255c7ceb3fb1836e7414382e" - integrity sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw== +"@babel/plugin-transform-unicode-regex@^7.12.1", "@babel/plugin-transform-unicode-regex@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.0.tgz#293b80950177c8c85aede87cef280259fb995402" + integrity sha512-jHLK4LxhHjvCeZDWyA9c+P9XH1sOxRd1RO9xMtDVRAOND/PczPqizEtVdx4TQF/wyPaewqpT+tgQFYMnN/P94A== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.14.5" + "@babel/helper-create-regexp-features-plugin" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" "@babel/preset-env@7.12.1": @@ -3532,30 +4861,31 @@ semver "^5.5.0" "@babel/preset-env@^7.12.1", "@babel/preset-env@^7.8.4": - version "7.15.0" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.15.0.tgz#e2165bf16594c9c05e52517a194bf6187d6fe464" - integrity sha512-FhEpCNFCcWW3iZLg0L2NPE9UerdtsCR6ZcsGHUX6Om6kbCQeL5QZDqFDmeNHC6/fy6UH3jEge7K4qG5uC9In0Q== + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.16.0.tgz#97228393d217560d6a1c6c56f0adb9d12bca67f5" + integrity sha512-cdTu/W0IrviamtnZiTfixPfIncr2M1VqRrkjzZWlr1B4TVYimCFK5jkyOdP4qw2MrlKHi+b3ORj6x8GoCew8Dg== dependencies: - "@babel/compat-data" "^7.15.0" - "@babel/helper-compilation-targets" "^7.15.0" + "@babel/compat-data" "^7.16.0" + "@babel/helper-compilation-targets" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" "@babel/helper-validator-option" "^7.14.5" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.14.5" - "@babel/plugin-proposal-async-generator-functions" "^7.14.9" - "@babel/plugin-proposal-class-properties" "^7.14.5" - "@babel/plugin-proposal-class-static-block" "^7.14.5" - "@babel/plugin-proposal-dynamic-import" "^7.14.5" - "@babel/plugin-proposal-export-namespace-from" "^7.14.5" - "@babel/plugin-proposal-json-strings" "^7.14.5" - "@babel/plugin-proposal-logical-assignment-operators" "^7.14.5" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.14.5" - "@babel/plugin-proposal-numeric-separator" "^7.14.5" - "@babel/plugin-proposal-object-rest-spread" "^7.14.7" - "@babel/plugin-proposal-optional-catch-binding" "^7.14.5" - "@babel/plugin-proposal-optional-chaining" "^7.14.5" - "@babel/plugin-proposal-private-methods" "^7.14.5" - "@babel/plugin-proposal-private-property-in-object" "^7.14.5" - "@babel/plugin-proposal-unicode-property-regex" "^7.14.5" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.16.0" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.16.0" + "@babel/plugin-proposal-async-generator-functions" "^7.16.0" + "@babel/plugin-proposal-class-properties" "^7.16.0" + "@babel/plugin-proposal-class-static-block" "^7.16.0" + "@babel/plugin-proposal-dynamic-import" "^7.16.0" + "@babel/plugin-proposal-export-namespace-from" "^7.16.0" + "@babel/plugin-proposal-json-strings" "^7.16.0" + "@babel/plugin-proposal-logical-assignment-operators" "^7.16.0" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.16.0" + "@babel/plugin-proposal-numeric-separator" "^7.16.0" + "@babel/plugin-proposal-object-rest-spread" "^7.16.0" + "@babel/plugin-proposal-optional-catch-binding" "^7.16.0" + "@babel/plugin-proposal-optional-chaining" "^7.16.0" + "@babel/plugin-proposal-private-methods" "^7.16.0" + "@babel/plugin-proposal-private-property-in-object" "^7.16.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.16.0" "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-syntax-class-properties" "^7.12.13" "@babel/plugin-syntax-class-static-block" "^7.14.5" @@ -3570,50 +4900,50 @@ "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-syntax-private-property-in-object" "^7.14.5" "@babel/plugin-syntax-top-level-await" "^7.14.5" - "@babel/plugin-transform-arrow-functions" "^7.14.5" - "@babel/plugin-transform-async-to-generator" "^7.14.5" - "@babel/plugin-transform-block-scoped-functions" "^7.14.5" - "@babel/plugin-transform-block-scoping" "^7.14.5" - "@babel/plugin-transform-classes" "^7.14.9" - "@babel/plugin-transform-computed-properties" "^7.14.5" - "@babel/plugin-transform-destructuring" "^7.14.7" - "@babel/plugin-transform-dotall-regex" "^7.14.5" - "@babel/plugin-transform-duplicate-keys" "^7.14.5" - "@babel/plugin-transform-exponentiation-operator" "^7.14.5" - "@babel/plugin-transform-for-of" "^7.14.5" - "@babel/plugin-transform-function-name" "^7.14.5" - "@babel/plugin-transform-literals" "^7.14.5" - "@babel/plugin-transform-member-expression-literals" "^7.14.5" - "@babel/plugin-transform-modules-amd" "^7.14.5" - "@babel/plugin-transform-modules-commonjs" "^7.15.0" - "@babel/plugin-transform-modules-systemjs" "^7.14.5" - "@babel/plugin-transform-modules-umd" "^7.14.5" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.14.9" - "@babel/plugin-transform-new-target" "^7.14.5" - "@babel/plugin-transform-object-super" "^7.14.5" - "@babel/plugin-transform-parameters" "^7.14.5" - "@babel/plugin-transform-property-literals" "^7.14.5" - "@babel/plugin-transform-regenerator" "^7.14.5" - "@babel/plugin-transform-reserved-words" "^7.14.5" - "@babel/plugin-transform-shorthand-properties" "^7.14.5" - "@babel/plugin-transform-spread" "^7.14.6" - "@babel/plugin-transform-sticky-regex" "^7.14.5" - "@babel/plugin-transform-template-literals" "^7.14.5" - "@babel/plugin-transform-typeof-symbol" "^7.14.5" - "@babel/plugin-transform-unicode-escapes" "^7.14.5" - "@babel/plugin-transform-unicode-regex" "^7.14.5" - "@babel/preset-modules" "^0.1.4" - "@babel/types" "^7.15.0" - babel-plugin-polyfill-corejs2 "^0.2.2" - babel-plugin-polyfill-corejs3 "^0.2.2" - babel-plugin-polyfill-regenerator "^0.2.2" - core-js-compat "^3.16.0" + "@babel/plugin-transform-arrow-functions" "^7.16.0" + "@babel/plugin-transform-async-to-generator" "^7.16.0" + "@babel/plugin-transform-block-scoped-functions" "^7.16.0" + "@babel/plugin-transform-block-scoping" "^7.16.0" + "@babel/plugin-transform-classes" "^7.16.0" + "@babel/plugin-transform-computed-properties" "^7.16.0" + "@babel/plugin-transform-destructuring" "^7.16.0" + "@babel/plugin-transform-dotall-regex" "^7.16.0" + "@babel/plugin-transform-duplicate-keys" "^7.16.0" + "@babel/plugin-transform-exponentiation-operator" "^7.16.0" + "@babel/plugin-transform-for-of" "^7.16.0" + "@babel/plugin-transform-function-name" "^7.16.0" + "@babel/plugin-transform-literals" "^7.16.0" + "@babel/plugin-transform-member-expression-literals" "^7.16.0" + "@babel/plugin-transform-modules-amd" "^7.16.0" + "@babel/plugin-transform-modules-commonjs" "^7.16.0" + "@babel/plugin-transform-modules-systemjs" "^7.16.0" + "@babel/plugin-transform-modules-umd" "^7.16.0" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.16.0" + "@babel/plugin-transform-new-target" "^7.16.0" + "@babel/plugin-transform-object-super" "^7.16.0" + "@babel/plugin-transform-parameters" "^7.16.0" + "@babel/plugin-transform-property-literals" "^7.16.0" + "@babel/plugin-transform-regenerator" "^7.16.0" + "@babel/plugin-transform-reserved-words" "^7.16.0" + "@babel/plugin-transform-shorthand-properties" "^7.16.0" + "@babel/plugin-transform-spread" "^7.16.0" + "@babel/plugin-transform-sticky-regex" "^7.16.0" + "@babel/plugin-transform-template-literals" "^7.16.0" + "@babel/plugin-transform-typeof-symbol" "^7.16.0" + "@babel/plugin-transform-unicode-escapes" "^7.16.0" + "@babel/plugin-transform-unicode-regex" "^7.16.0" + "@babel/preset-modules" "^0.1.5" + "@babel/types" "^7.16.0" + babel-plugin-polyfill-corejs2 "^0.2.3" + babel-plugin-polyfill-corejs3 "^0.3.0" + babel-plugin-polyfill-regenerator "^0.2.3" + core-js-compat "^3.19.0" semver "^6.3.0" -"@babel/preset-modules@^0.1.3", "@babel/preset-modules@^0.1.4": - version "0.1.4" - resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.4.tgz#362f2b68c662842970fdb5e254ffc8fc1c2e415e" - integrity sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg== +"@babel/preset-modules@^0.1.3", "@babel/preset-modules@^0.1.5": + version "0.1.5" + resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9" + integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" @@ -3635,16 +4965,16 @@ "@babel/plugin-transform-react-pure-annotations" "^7.12.1" "@babel/preset-react@^7.12.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.14.5.tgz#0fbb769513f899c2c56f3a882fa79673c2d4ab3c" - integrity sha512-XFxBkjyObLvBaAvkx1Ie95Iaq4S/GUEIrejyrntQ/VCMKUYvKLoyKxOBzJ2kjA3b6rC9/KL6KXfDC2GqvLiNqQ== + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.16.0.tgz#f71d3e8dff5218478011df037fad52660ee6d82a" + integrity sha512-d31IFW2bLRB28uL1WoElyro8RH5l6531XfxMtCeCmp6RVAF1uTfxxUA0LH1tXl+psZdwfmIbwoG4U5VwgbhtLw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/helper-validator-option" "^7.14.5" - "@babel/plugin-transform-react-display-name" "^7.14.5" - "@babel/plugin-transform-react-jsx" "^7.14.5" - "@babel/plugin-transform-react-jsx-development" "^7.14.5" - "@babel/plugin-transform-react-pure-annotations" "^7.14.5" + "@babel/plugin-transform-react-display-name" "^7.16.0" + "@babel/plugin-transform-react-jsx" "^7.16.0" + "@babel/plugin-transform-react-jsx-development" "^7.16.0" + "@babel/plugin-transform-react-pure-annotations" "^7.16.0" "@babel/preset-typescript@7.12.1": version "7.12.1" @@ -3655,11 +4985,11 @@ "@babel/plugin-transform-typescript" "^7.12.1" "@babel/runtime-corejs3@^7.10.2": - version "7.15.3" - resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.15.3.tgz#28754263988198f2a928c09733ade2fb4d28089d" - integrity sha512-30A3lP+sRL6ml8uhoJSs+8jwpKzbw8CqBvDc1laeptxPm5FahumJxirigcbD2qTs71Sonvj1cyZB0OKGAmxQ+A== + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.16.3.tgz#1e25de4fa994c57c18e5fdda6cc810dac70f5590" + integrity sha512-IAdDC7T0+wEB4y2gbIL0uOXEYpiZEeuFUTVbdGq+UwCcF35T/tS8KrmMomEwEc5wBbyfH3PJVpTSUqrhPDXFcQ== dependencies: - core-js-pure "^3.16.0" + core-js-pure "^3.19.0" regenerator-runtime "^0.13.4" "@babel/runtime@7.12.1": @@ -3669,34 +4999,34 @@ dependencies: regenerator-runtime "^0.13.4" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.4", "@babel/runtime@^7.10.5", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": - version "7.15.3" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.15.3.tgz#2e1c2880ca118e5b2f9988322bd8a7656a32502b" - integrity sha512-OvwMLqNXkCXSz1kSm58sEsNuhqOx/fKpnUnKnFB5v8uDda5bLNEHNgKPvhDN6IU0LDcnHQ90LlJ0Q6jnyBSIBA== +"@babel/runtime@^7.0.0", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.4", "@babel/runtime@^7.10.5", "@babel/runtime@^7.12.5", "@babel/runtime@^7.16.3", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2", "@babel/runtime@^7.9.6": + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.3.tgz#b86f0db02a04187a3c17caa77de69840165d42d5" + integrity sha512-WBwekcqacdY2e9AF/Q7WLFUWmdJGJTkbjqTjoMDgXkVZ3ZRUvOPsLb5KdwISoQVsbP+DQzVZW4Zhci0DvpbNTQ== dependencies: regenerator-runtime "^0.13.4" -"@babel/template@^7.10.4", "@babel/template@^7.14.5", "@babel/template@^7.3.3": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.14.5.tgz#a9bc9d8b33354ff6e55a9c60d1109200a68974f4" - integrity sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g== - dependencies: - "@babel/code-frame" "^7.14.5" - "@babel/parser" "^7.14.5" - "@babel/types" "^7.14.5" - -"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.12.1", "@babel/traverse@^7.13.0", "@babel/traverse@^7.14.5", "@babel/traverse@^7.15.0", "@babel/traverse@^7.7.0": - version "7.15.0" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.15.0.tgz#4cca838fd1b2a03283c1f38e141f639d60b3fc98" - integrity sha512-392d8BN0C9eVxVWd8H6x9WfipgVH5IaIoLp23334Sc1vbKKWINnvwRpb4us0xtPaCumlwbTtIYNA0Dv/32sVFw== - dependencies: - "@babel/code-frame" "^7.14.5" - "@babel/generator" "^7.15.0" - "@babel/helper-function-name" "^7.14.5" - "@babel/helper-hoist-variables" "^7.14.5" - "@babel/helper-split-export-declaration" "^7.14.5" - "@babel/parser" "^7.15.0" - "@babel/types" "^7.15.0" +"@babel/template@^7.10.4", "@babel/template@^7.16.0", "@babel/template@^7.3.3": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.0.tgz#d16a35ebf4cd74e202083356fab21dd89363ddd6" + integrity sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A== + dependencies: + "@babel/code-frame" "^7.16.0" + "@babel/parser" "^7.16.0" + "@babel/types" "^7.16.0" + +"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.12.1", "@babel/traverse@^7.13.0", "@babel/traverse@^7.16.0", "@babel/traverse@^7.16.3", "@babel/traverse@^7.7.0": + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.3.tgz#f63e8a938cc1b780f66d9ed3c54f532ca2d14787" + integrity sha512-eolumr1vVMjqevCpwVO99yN/LoGL0EyHiLO5I043aYQvwOJ9eR5UsZSClHVCzfhBduMAsSzgA/6AyqPjNayJag== + dependencies: + "@babel/code-frame" "^7.16.0" + "@babel/generator" "^7.16.0" + "@babel/helper-function-name" "^7.16.0" + "@babel/helper-hoist-variables" "^7.16.0" + "@babel/helper-split-export-declaration" "^7.16.0" + "@babel/parser" "^7.16.3" + "@babel/types" "^7.16.0" debug "^4.1.0" globals "^11.1.0" @@ -3718,12 +5048,12 @@ lodash "^4.17.19" to-fast-properties "^2.0.0" -"@babel/types@^7.0.0", "@babel/types@^7.12.1", "@babel/types@^7.12.6", "@babel/types@^7.14.5", "@babel/types@^7.14.8", "@babel/types@^7.14.9", "@babel/types@^7.15.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.7.0": - version "7.15.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.15.0.tgz#61af11f2286c4e9c69ca8deb5f4375a73c72dcbd" - integrity sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ== +"@babel/types@^7.0.0", "@babel/types@^7.12.1", "@babel/types@^7.12.6", "@babel/types@^7.16.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.7.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.16.0.tgz#db3b313804f96aadd0b776c4823e127ad67289ba" + integrity sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg== dependencies: - "@babel/helper-validator-identifier" "^7.14.9" + "@babel/helper-validator-identifier" "^7.15.7" to-fast-properties "^2.0.0" "@balena/dockerignore@^1.0.2": @@ -3800,10 +5130,10 @@ resolved "https://registry.yarnpkg.com/@commitlint/execute-rule/-/execute-rule-12.1.4.tgz#9973b02e9779adbf1522ae9ac207a4815ec73de1" integrity sha512-h2S1j8SXyNeABb27q2Ok2vD1WfxJiXvOttKuRA9Or7LN6OQoC/KtT3844CIhhWNteNMu/wE0gkTqGxDVAnJiHg== -"@commitlint/execute-rule@^13.0.0": - version "13.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/execute-rule/-/execute-rule-13.0.0.tgz#7823303b82b5d86dac46e67cfa005f4433476981" - integrity sha512-lBz2bJhNAgkkU/rFMAw3XBNujbxhxlaFHY3lfKB/MxpAa+pIfmWB3ig9i1VKe0wCvujk02O0WiMleNaRn2KJqw== +"@commitlint/execute-rule@^14.0.0": + version "14.0.0" + resolved "https://registry.yarnpkg.com/@commitlint/execute-rule/-/execute-rule-14.0.0.tgz#3ba45fc255286e3180f89ed4e9ac1ef237160734" + integrity sha512-Hh/HLpCBDlrD3Rx2x2pDBx6CU+OtVqGXh7mbFpNihAVx6B0zyZqm/vv0cdwdhfGW5OEn1BhCqHf1ZOvL/DwdWA== "@commitlint/format@^12.1.4": version "12.1.4" @@ -3832,17 +5162,19 @@ "@commitlint/types" "^12.1.4" "@commitlint/load@>6.1.1": - version "13.1.0" - resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-13.1.0.tgz#d6c9b547551f2216586d6c1964d93f92e7b04277" - integrity sha512-zlZbjJCWnWmBOSwTXis8H7I6pYk6JbDwOCuARA6B9Y/qt2PD+NCo0E/7EuaaFoxjHl+o56QR5QttuMBrf+BJzg== - dependencies: - "@commitlint/execute-rule" "^13.0.0" - "@commitlint/resolve-extends" "^13.0.0" - "@commitlint/types" "^13.1.0" + version "14.1.0" + resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-14.1.0.tgz#911e8625cfa1a80df2914b835834c6068fdfdab4" + integrity sha512-p+HbgjhkqLsnxyjOUdEYHztHCp8n2oLVUJTmRPuP5FXLNevh6Gwmxf+NYC2J0sgD084aV2CFi3qu1W4yHWIknA== + dependencies: + "@commitlint/execute-rule" "^14.0.0" + "@commitlint/resolve-extends" "^14.1.0" + "@commitlint/types" "^14.0.0" + "@endemolshinegroup/cosmiconfig-typescript-loader" "^3.0.2" chalk "^4.0.0" cosmiconfig "^7.0.0" lodash "^4.17.19" resolve-from "^5.0.0" + typescript "^4.4.3" "@commitlint/load@^12.1.4": version "12.1.4" @@ -3903,10 +5235,10 @@ resolve-from "^5.0.0" resolve-global "^1.0.0" -"@commitlint/resolve-extends@^13.0.0": - version "13.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/resolve-extends/-/resolve-extends-13.0.0.tgz#a38fcd2474483bf9ec6e1e901b27b8a23abe7d73" - integrity sha512-1SyaE+UOsYTkQlTPUOoj4NwxQhGFtYildVS/d0TJuK8a9uAJLw7bhCLH2PEeH5cC2D1do4Eqhx/3bLDrSLH3hg== +"@commitlint/resolve-extends@^14.1.0": + version "14.1.0" + resolved "https://registry.yarnpkg.com/@commitlint/resolve-extends/-/resolve-extends-14.1.0.tgz#f23b40d95c95901fcb7b53edebc8fe86f54fe99d" + integrity sha512-ko80k6QB6E6/OvGNWy4u7gzzWyluDT3VDNL2kfZaDywsnrYntUKyT4Do97gQ7orttITzj2GRtk3KWClVz4rUUQ== dependencies: import-fresh "^3.0.0" lodash "^4.17.19" @@ -3942,10 +5274,10 @@ dependencies: chalk "^4.0.0" -"@commitlint/types@^13.1.0": - version "13.1.0" - resolved "https://registry.yarnpkg.com/@commitlint/types/-/types-13.1.0.tgz#12cfb6e932372b1816af8900e2d10694add28191" - integrity sha512-zcVjuT+OfKt8h91vhBxt05RMcTGEx6DM7Q9QZeuMbXFk6xgbsSEDMMapbJPA1bCZ81fa/1OQBijSYPrKvtt06g== +"@commitlint/types@^14.0.0": + version "14.0.0" + resolved "https://registry.yarnpkg.com/@commitlint/types/-/types-14.0.0.tgz#17bf4d1ab1178c67990ce01b36017d6e6792b751" + integrity sha512-sIls1nP2uSbGL466edYlh8mn7O/WP4i3bcvP+2DMhkscRCSgaPhNRWDilhYVsHt2Vu1HTQ27uT0Bj5/Lt2+EcQ== dependencies: chalk "^4.0.0" @@ -3980,6 +5312,16 @@ enabled "2.0.x" kuler "^2.0.0" +"@endemolshinegroup/cosmiconfig-typescript-loader@^3.0.2": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@endemolshinegroup/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-3.0.2.tgz#eea4635828dde372838b0909693ebd9aafeec22d" + integrity sha512-QRVtqJuS1mcT56oHpVegkKBlgtWjXw/gHNWO3eL9oyB5Sc7HBoc2OLG/nYpVfT/Jejvo3NUrD0Udk7XgoyDKkA== + dependencies: + lodash.get "^4" + make-error "^1" + ts-node "^9" + tslib "^2" + "@eslint/eslintrc@^0.4.3": version "0.4.3" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" @@ -4010,16 +5352,19 @@ "@babel/runtime" "^7.10.4" react-is "^16.6.3" -"@graphiql/toolkit@^0.2.0": - version "0.2.2" - resolved "https://registry.yarnpkg.com/@graphiql/toolkit/-/toolkit-0.2.2.tgz#193d570afcf686c9ee61c92054c1782b9f3c1255" - integrity sha512-kDgYhqnS4p4LqSo1KvLd3tbX8Hhdj0ZrgQuGsosjjEnahiPYmmylxUL1p9lj6348OsypcTlCncGpEjeb9S3TiQ== +"@gar/promisify@^1.0.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.2.tgz#30aa825f11d438671d585bd44e7fd564535fc210" + integrity sha512-82cpyJyKRoQoRi+14ibCeGPu0CwypgtBAdBhq1WfvagpCZNKqwXbKwXllYSMG91DhmG4jt9gN8eP6lGOtozuaw== + +"@graphiql/toolkit@^0.4.0": + version "0.4.0" + resolved "https://registry.yarnpkg.com/@graphiql/toolkit/-/toolkit-0.4.0.tgz#9f89f9cf0d12f977d731b0e10d0872f63e1f7f79" + integrity sha512-a5MC4h9Sn34CYooBoCW+wrUHXvRgvUJp11zdjstZuszSO1HjZ3iuJSD3JngPbQc7iWA+RaaLmP14+D3GDc1h8A== dependencies: - "@n1ru4l/push-pull-async-iterable-iterator" "^2.1.4" - graphql-ws "^4.3.2" + "@n1ru4l/push-pull-async-iterable-iterator" "^3.0.0" + graphql-ws "^4.9.0" meros "^1.1.4" - optionalDependencies: - subscriptions-transport-ws "^0.9.18" "@graphql-codegen/core@1.8.3": version "1.8.3" @@ -4145,75 +5490,68 @@ "@kamilkisiela/graphql-tools" "4.0.6" deepmerge "4.2.2" -"@graphql-tools/batch-execute@^8.0.4": - version "8.0.4" - resolved "https://registry.yarnpkg.com/@graphql-tools/batch-execute/-/batch-execute-8.0.4.tgz#606981fd1aa88c6d122d67a71fbcc9b7319a0d04" - integrity sha512-8w1nCt9CBWQ/kh34wu2u+ck8nzTnBpY4WtViQhPvZnlEkhwoQvg2Ur29NRUZKLvHfpT713nPzlzhACcdaitAEg== +"@graphql-tools/batch-execute@^8.3.1": + version "8.3.1" + resolved "https://registry.yarnpkg.com/@graphql-tools/batch-execute/-/batch-execute-8.3.1.tgz#0b74c54db5ac1c5b9a273baefc034c2343ebbb74" + integrity sha512-63kHY8ZdoO5FoeDXYHnAak1R3ysMViMPwWC2XUblFckuVLMUPmB2ONje8rjr2CvzWBHAW8c1Zsex+U3xhKtGIA== dependencies: - "@graphql-tools/utils" "8.1.1" + "@graphql-tools/utils" "^8.5.1" dataloader "2.0.0" tslib "~2.3.0" - value-or-promise "1.0.10" + value-or-promise "1.0.11" -"@graphql-tools/delegate@8.0.10": - version "8.0.10" - resolved "https://registry.yarnpkg.com/@graphql-tools/delegate/-/delegate-8.0.10.tgz#d90d1a139ff019a9da8a92860db05131888b03c8" - integrity sha512-0i0r8nMRuzElHH3FMULf1+PE2M7s3NpHNXXnhr6oGelD6YTHHKlEDRMcSy700N4zFzPJwbl9ROdogRp/OYUIqw== +"@graphql-tools/delegate@^8.4.1", "@graphql-tools/delegate@^8.4.2": + version "8.4.2" + resolved "https://registry.yarnpkg.com/@graphql-tools/delegate/-/delegate-8.4.2.tgz#a61d45719855720304e3656800342cfa17d82558" + integrity sha512-CjggOhiL4WtyG2I3kux+1/p8lQxSFHBj0gwa0NxnQ6Vsnpw7Ig5VP1ovPnitFuBv2k4QdC37Nj2xv2n7DRn8fw== dependencies: - "@graphql-tools/batch-execute" "^8.0.4" - "@graphql-tools/schema" "^8.1.1" - "@graphql-tools/utils" "8.1.1" + "@graphql-tools/batch-execute" "^8.3.1" + "@graphql-tools/schema" "^8.3.1" + "@graphql-tools/utils" "^8.5.3" dataloader "2.0.0" tslib "~2.3.0" - value-or-promise "1.0.10" + value-or-promise "1.0.11" -"@graphql-tools/graphql-file-loader@^7.0.1": - version "7.0.4" - resolved "https://registry.yarnpkg.com/@graphql-tools/graphql-file-loader/-/graphql-file-loader-7.0.4.tgz#899f880944bcee7c1efbdd5c81633aabe9d2eacf" - integrity sha512-kkRq/av2hy0eTbDZDwC4FZgNioCy4dV95Vp3MgJLJ40GTX1caSs+Bs2Jk0AbNKv21eMwPGj4vHKFrEPXtrGnPQ== +"@graphql-tools/graphql-file-loader@^7.3.0": + version "7.3.3" + resolved "https://registry.yarnpkg.com/@graphql-tools/graphql-file-loader/-/graphql-file-loader-7.3.3.tgz#7cee2f84f08dc13fa756820b510248b857583d36" + integrity sha512-6kUJZiNpYKVhum9E5wfl5PyLLupEDYdH7c8l6oMrk6c7EPEVs6iSUyB7yQoWrtJccJLULBW2CRQ5IHp5JYK0mA== dependencies: - "@graphql-tools/import" "^6.2.6" - "@graphql-tools/utils" "8.1.1" + "@graphql-tools/import" "^6.5.7" + "@graphql-tools/utils" "^8.5.1" globby "^11.0.3" tslib "~2.3.0" unixify "^1.0.0" -"@graphql-tools/import@^6.2.6": - version "6.3.1" - resolved "https://registry.yarnpkg.com/@graphql-tools/import/-/import-6.3.1.tgz#731c47ab6c6ac9f7994d75c76b6c2fa127d2d483" - integrity sha512-1szR19JI6WPibjYurMLdadHKZoG9C//8I/FZ0Dt4vJSbrMdVNp8WFxg4QnZrDeMG4MzZc90etsyF5ofKjcC+jw== +"@graphql-tools/import@^6.5.7": + version "6.6.1" + resolved "https://registry.yarnpkg.com/@graphql-tools/import/-/import-6.6.1.tgz#2a7e1ceda10103ffeb8652a48ddc47150b035485" + integrity sha512-i9WA6k+erJMci822o9w9DoX+uncVBK60LGGYW8mdbhX0l7wEubUpA000thJ1aarCusYh0u+ZT9qX0HyVPXu25Q== dependencies: + "@graphql-tools/utils" "8.5.3" resolve-from "5.0.0" - tslib "~2.2.0" + tslib "~2.3.0" -"@graphql-tools/json-file-loader@^7.0.1": - version "7.1.1" - resolved "https://registry.yarnpkg.com/@graphql-tools/json-file-loader/-/json-file-loader-7.1.1.tgz#5581deebd95c5946437f4831efc2a13e0d6143ba" - integrity sha512-JWXw1bwhgCcgO7oFzXADnHniofwpw1UbbBMlKykXLOiAyTSXn0ppP4SOL+5uYG0m49ZuOOwhj0rgYZZKLkG5kw== +"@graphql-tools/json-file-loader@^7.3.0": + version "7.3.3" + resolved "https://registry.yarnpkg.com/@graphql-tools/json-file-loader/-/json-file-loader-7.3.3.tgz#45cfde77b9dc4ab6c21575305ae537d2814d237f" + integrity sha512-CN2Qk9rt+Gepa3rb3X/mpxYA5MIYLwZBPj2Njw6lbZ6AaxG+O1ArDCL5ACoiWiBimn1FCOM778uhRM9znd0b3Q== dependencies: - "@graphql-tools/utils" "8.1.1" + "@graphql-tools/utils" "^8.5.1" globby "^11.0.3" tslib "~2.3.0" unixify "^1.0.0" -"@graphql-tools/load@^7.0.1": - version "7.1.6" - resolved "https://registry.yarnpkg.com/@graphql-tools/load/-/load-7.1.6.tgz#dbf9f2111ed1e98caee673be68ed66edeb0c95fb" - integrity sha512-zHQr9r5W8KvAdTQTV/q6b6oWsfzBJYVH3yTlZ9QH+eJCvEvEJGTSFL6+pQdkp+nZWk06lKhfOWUVsY7hf9b9gw== +"@graphql-tools/load@^7.3.2": + version "7.4.1" + resolved "https://registry.yarnpkg.com/@graphql-tools/load/-/load-7.4.1.tgz#aa572fcef11d6028097b6ef39c13fa9d62e5a441" + integrity sha512-UvBodW5hRHpgBUBVz5K5VIhJDOTFIbRRAGD6sQ2l9J5FDKBEs3u/6JjZDzbdL96br94D5cEd2Tk6auaHpTn7mQ== dependencies: - "@graphql-tools/schema" "8.1.1" - "@graphql-tools/utils" "8.1.1" + "@graphql-tools/schema" "8.3.1" + "@graphql-tools/utils" "^8.5.1" p-limit "3.1.0" tslib "~2.3.0" -"@graphql-tools/merge@8.0.1": - version "8.0.1" - resolved "https://registry.yarnpkg.com/@graphql-tools/merge/-/merge-8.0.1.tgz#4cb94998e7c61abc6ebec54edca5c19f06c3330d" - integrity sha512-YAozogbjC2Oun+UcwG0LZFumhlCiHBmqe68OIf7bqtBdp4pbPAiVuK/J9oJqRVJmzvUqugo6RD9zz1qDTKZaiQ== - dependencies: - "@graphql-tools/utils" "8.1.1" - tslib "~2.3.0" - "@graphql-tools/merge@^6.0.18": version "6.2.17" resolved "https://registry.yarnpkg.com/@graphql-tools/merge/-/merge-6.2.17.tgz#4dedf87d8435a5e1091d7cc8d4f371ed1e029f1f" @@ -4223,42 +5561,48 @@ "@graphql-tools/utils" "8.0.2" tslib "~2.3.0" -"@graphql-tools/schema@8.1.1", "@graphql-tools/schema@^8.0.2", "@graphql-tools/schema@^8.1.1": - version "8.1.1" - resolved "https://registry.yarnpkg.com/@graphql-tools/schema/-/schema-8.1.1.tgz#5de95a8f6cedaf91fa2f9e9e7fa9fae1d27a7c4f" - integrity sha512-u+0kxPtuP+GcKnGNt459Ob7iIpzesIJeJTmPPailaG7ZhB5hkXIizl4uHrzEIAh2Ja1P/VA8sEBYpu1N0n6Mmg== +"@graphql-tools/merge@^8.2.1": + version "8.2.1" + resolved "https://registry.yarnpkg.com/@graphql-tools/merge/-/merge-8.2.1.tgz#bf83aa06a0cfc6a839e52a58057a84498d0d51ff" + integrity sha512-Q240kcUszhXiAYudjuJgNuLgy9CryDP3wp83NOZQezfA6h3ByYKU7xI6DiKrdjyVaGpYN3ppUmdj0uf5GaXzMA== + dependencies: + "@graphql-tools/utils" "^8.5.1" + tslib "~2.3.0" + +"@graphql-tools/schema@8.3.1", "@graphql-tools/schema@^8.0.2", "@graphql-tools/schema@^8.3.1": + version "8.3.1" + resolved "https://registry.yarnpkg.com/@graphql-tools/schema/-/schema-8.3.1.tgz#1ee9da494d2da457643b3c93502b94c3c4b68c74" + integrity sha512-3R0AJFe715p4GwF067G5i0KCr/XIdvSfDLvTLEiTDQ8V/hwbOHEKHKWlEBHGRQwkG5lwFQlW1aOn7VnlPERnWQ== dependencies: - "@graphql-tools/merge" "8.0.1" - "@graphql-tools/utils" "8.1.1" + "@graphql-tools/merge" "^8.2.1" + "@graphql-tools/utils" "^8.5.1" tslib "~2.3.0" - value-or-promise "1.0.10" - -"@graphql-tools/url-loader@^7.0.3": - version "7.0.10" - resolved "https://registry.yarnpkg.com/@graphql-tools/url-loader/-/url-loader-7.0.10.tgz#ac93b7e47507eb07381ef094e37e9e349670bdfc" - integrity sha512-rFrT4vXdcgqHliohRCh2tXiEIt9L1oCkqKAVxhY3F7yanGSB5eQ5O2Do83vOOr99mPHLuliJte1OjowvE1vzVA== - dependencies: - "@ardatan/fetch-event-source" "2.0.2" - "@graphql-tools/delegate" "8.0.10" - "@graphql-tools/utils" "8.1.1" - "@graphql-tools/wrap" "^8.0.12" - "@n1ru4l/graphql-live-query" "0.7.1" + value-or-promise "1.0.11" + +"@graphql-tools/url-loader@^7.2.0": + version "7.5.2" + resolved "https://registry.yarnpkg.com/@graphql-tools/url-loader/-/url-loader-7.5.2.tgz#fb3737fd1269ab61b195b63052179b6049d90ce1" + integrity sha512-EilHqbhUY/qg55SSEdklDhPXgSz9+9a63SX3mcD8J2qwZHJD/wOLcyKs8m6BXfuGwUiuB0j3fmDSEVmva2onBg== + dependencies: + "@graphql-tools/delegate" "^8.4.1" + "@graphql-tools/utils" "^8.5.1" + "@graphql-tools/wrap" "^8.3.1" + "@n1ru4l/graphql-live-query" "0.9.0" "@types/websocket" "1.0.4" - abort-controller "3.0.0" - cross-fetch "3.1.4" + "@types/ws" "^8.0.0" + cross-undici-fetch "^0.0.20" + dset "^3.1.0" extract-files "11.0.0" - form-data "4.0.0" - graphql-ws "^5.0.0" - is-promise "4.0.0" + graphql-sse "^1.0.1" + graphql-ws "^5.4.1" isomorphic-ws "4.0.1" - lodash "4.17.21" meros "1.1.4" - subscriptions-transport-ws "^0.10.0" - sync-fetch "0.3.0" + subscriptions-transport-ws "^0.11.0" + sync-fetch "0.3.1" tslib "~2.3.0" valid-url "1.0.9" - value-or-promise "1.0.10" - ws "8.1.0" + value-or-promise "1.0.11" + ws "8.2.3" "@graphql-tools/utils@8.0.2": version "8.0.2" @@ -4267,10 +5611,10 @@ dependencies: tslib "~2.3.0" -"@graphql-tools/utils@8.1.1": - version "8.1.1" - resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-8.1.1.tgz#2ef056a1d6e1e909085e1115d3bb48f890c2a2b6" - integrity sha512-QbFNoBmBiZ+ej4y6mOv8Ba4lNhcrTEKXAhZ0f74AhdEXi7b9xbGUH/slO5JaSyp85sGQYIPmxjRPpXBjLklbmw== +"@graphql-tools/utils@8.5.3", "@graphql-tools/utils@^8.5.1", "@graphql-tools/utils@^8.5.3": + version "8.5.3" + resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-8.5.3.tgz#404062e62cae9453501197039687749c4885356e" + integrity sha512-HDNGWFVa8QQkoQB0H1lftvaO1X5xUaUDk1zr1qDe0xN1NL0E/CrQdJ5UKLqOvH4hkqVUPxQsyOoAZFkaH6rLHg== dependencies: tslib "~2.3.0" @@ -4292,16 +5636,16 @@ camel-case "4.1.2" tslib "~2.2.0" -"@graphql-tools/wrap@^8.0.12": - version "8.0.12" - resolved "https://registry.yarnpkg.com/@graphql-tools/wrap/-/wrap-8.0.12.tgz#a8f35834b051a5adcc0c09ca4c0eed1cd3114ea7" - integrity sha512-wkAK6S7ACoSAxAHwJLR2uGuhAmn3m9Wf1QvFlLwcAV/7Gj1k1Qs/1nYX6lOW5NMvOua8oHBT1mMLXegqnnc/ig== +"@graphql-tools/wrap@^8.3.1": + version "8.3.2" + resolved "https://registry.yarnpkg.com/@graphql-tools/wrap/-/wrap-8.3.2.tgz#d3bcecb7529d071e4ecc4dfc75b9566e3da79d4f" + integrity sha512-7DcOBFB+Dd84x9dxSm7qS4iJONMyfLnCJb8A19vGPffpu4SMJ3sFcgwibKFu5l6mMUiigKgXna2RRgWI+02bKQ== dependencies: - "@graphql-tools/delegate" "8.0.10" - "@graphql-tools/schema" "^8.1.1" - "@graphql-tools/utils" "8.1.1" + "@graphql-tools/delegate" "^8.4.2" + "@graphql-tools/schema" "^8.3.1" + "@graphql-tools/utils" "^8.5.3" tslib "~2.3.0" - value-or-promise "1.0.10" + value-or-promise "1.0.11" "@hapi/address@2.x.x": version "2.1.4" @@ -4319,9 +5663,9 @@ integrity sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow== "@hapi/hoek@^9.0.0": - version "9.2.0" - resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.2.0.tgz#f3933a44e365864f4dad5db94158106d511e8131" - integrity sha512-sqKVVVOe5ivCaXDWivIJYVSaEgdQK9ul7a4Kity5Iw7u9+wBAPbX1RMSnLLmp7O4Vzj0WOWwMAJsTL00xwaNug== + version "9.2.1" + resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.2.1.tgz#9551142a1980503752536b5050fd99f4a7f13b17" + integrity sha512-gfta+H8aziZsm8pZa0vj04KO6biEiisppNgA1kbJvFrrWu9Vm7eaUEy76DIxsuTaWvti5fkJVhllWc6ZTE+Mdw== "@hapi/joi@^15.1.0": version "15.1.1" @@ -4357,9 +5701,9 @@ minimatch "^3.0.4" "@humanwhocodes/object-schema@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz#87de7af9c231826fdd68ac7258f77c429e0e5fcf" - integrity sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w== + version "1.2.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" + integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== "@hutson/parse-repository-url@^3.0.0": version "3.0.2" @@ -4553,10 +5897,10 @@ "@types/yargs" "^15.0.0" chalk "^4.0.0" -"@jest/types@^27.0.6": - version "27.0.6" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.0.6.tgz#9a992bc517e0c49f035938b8549719c2de40706b" - integrity sha512-aSquT1qa9Pik26JK5/3rvnYb4bGtm1VFNesHKmNTwmPIgOrixvhL2ghIvFRNEpzy3gU+rUgjIF/KodbkFAl++g== +"@jest/types@^27.2.5": + version "27.2.5" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.2.5.tgz#420765c052605e75686982d24b061b4cbba22132" + integrity sha512-nmuM4VuDtCZcY+eTpw+0nvstwReMsjPoj7ZR80/BbixulhLaiX+fbv8oeLW8WZlJMcsGQsTmMKT/iTZu1Uy/lQ== dependencies: "@types/istanbul-lib-coverage" "^2.0.0" "@types/istanbul-reports" "^3.0.0" @@ -5259,35 +6603,23 @@ resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" integrity sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g== dependencies: - call-me-maybe "^1.0.1" - glob-to-regexp "^0.3.0" - -"@n1ru4l/graphql-live-query@0.7.1": - version "0.7.1" - resolved "https://registry.yarnpkg.com/@n1ru4l/graphql-live-query/-/graphql-live-query-0.7.1.tgz#c020d017c3ed6bcfdde49a7106ba035e4d0774f5" - integrity sha512-5kJPe2FkPNsCGu9tocKIzUSNO986qAqdnbk8hIFqWlpVPBAmEAOYb1mr6PA18FYAlu7ojWm9Hm13k29aj2GGlQ== - -"@n1ru4l/push-pull-async-iterable-iterator@^2.1.4": - version "2.1.4" - resolved "https://registry.yarnpkg.com/@n1ru4l/push-pull-async-iterable-iterator/-/push-pull-async-iterable-iterator-2.1.4.tgz#a90225474352f9f159bff979905f707b9c6bcf04" - integrity sha512-qLIvoOUJ+zritv+BlzcBMePKNjKQzH9Rb2i9W98YXxf/M62Lye8qH0peyiU8yJ1tL0kfulWi31BoK10E6BKJeA== - -"@nicolo-ribaudo/chokidar-2@2.1.8-no-fsevents.2": - version "2.1.8-no-fsevents.2" - resolved "https://registry.yarnpkg.com/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.2.tgz#e324c0a247a5567192dd7180647709d7e2faf94b" - integrity sha512-Fb8WxUFOBQVl+CX4MWet5o7eCc6Pj04rXIwVKZ6h1NnqTo45eOQW6aWyhG25NIODvWFwTDMwBsYxrQ3imxpetg== - dependencies: - anymatch "^2.0.0" - async-each "^1.0.1" - braces "^2.3.2" - glob-parent "^5.1.2" - 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" + call-me-maybe "^1.0.1" + glob-to-regexp "^0.3.0" + +"@n1ru4l/graphql-live-query@0.9.0": + version "0.9.0" + resolved "https://registry.yarnpkg.com/@n1ru4l/graphql-live-query/-/graphql-live-query-0.9.0.tgz#defaebdd31f625bee49e6745934f36312532b2bc" + integrity sha512-BTpWy1e+FxN82RnLz4x1+JcEewVdfmUhV1C6/XYD5AjS7PQp9QFF7K8bCD6gzPTr2l+prvqOyVueQhFJxB1vfg== + +"@n1ru4l/push-pull-async-iterable-iterator@^3.0.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@n1ru4l/push-pull-async-iterable-iterator/-/push-pull-async-iterable-iterator-3.1.0.tgz#be450c97d1c7cd6af1a992d53232704454345df9" + integrity sha512-K4scWxGhdQM0masHHy4gIQs2iGiLEXCrXttumknyPJqtdl4J179BjpibWSSQ1fxKdCcHgIlCTKXJU6cMM6D6Wg== + +"@nicolo-ribaudo/chokidar-2@2.1.8-no-fsevents.3": + version "2.1.8-no-fsevents.3" + resolved "https://registry.yarnpkg.com/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz#323d72dd25103d0c4fbdce89dadf574a787b1f9b" + integrity sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ== "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -5316,9 +6648,17 @@ fastq "^1.6.0" "@npmcli/ci-detect@^1.0.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@npmcli/ci-detect/-/ci-detect-1.3.0.tgz#6c1d2c625fb6ef1b9dea85ad0a5afcbef85ef22a" - integrity sha512-oN3y7FAROHhrAt7Rr7PnTSwrHrZVRTS2ZbyxeQwSSYD0ifwM3YNgQqbaRmjcWoPyq77MjchusjJDspbzMmip1Q== + version "1.4.0" + resolved "https://registry.yarnpkg.com/@npmcli/ci-detect/-/ci-detect-1.4.0.tgz#18478bbaa900c37bfbd8a2006a6262c62e8b0fe1" + integrity sha512-3BGrt6FLjqM6br5AhWRKTr3u5GIVkjRYeAFrMp3HjnfICrg4xOrVRwFavKT6tsp++bq5dluL5t8ME/Nha/6c1Q== + +"@npmcli/fs@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-1.0.0.tgz#589612cfad3a6ea0feafcb901d29c63fd52db09f" + integrity sha512-8ltnOpRR/oJbOp8vaGUnipOi3bqkcW+sLHFlyXIr08OGHmVJLB1Hn7QtGXbYcpVtH1gAYZTlmDXtE4YV0+AMMQ== + dependencies: + "@gar/promisify" "^1.0.1" + semver "^7.3.5" "@npmcli/git@^2.1.0": version "2.1.0" @@ -5351,9 +6691,9 @@ rimraf "^3.0.2" "@npmcli/node-gyp@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@npmcli/node-gyp/-/node-gyp-1.0.2.tgz#3cdc1f30e9736dbc417373ed803b42b1a0a29ede" - integrity sha512-yrJUe6reVMpktcvagumoqD9r08fH1iRo01gn1u0zoCApa9lnZGEigVKUd2hzsCId4gdtkZZIVscLhNxMECKgRg== + version "1.0.3" + resolved "https://registry.yarnpkg.com/@npmcli/node-gyp/-/node-gyp-1.0.3.tgz#a912e637418ffc5f2db375e93b85837691a43a33" + integrity sha512-fnkhw+fmX65kiLqk6E3BFLXNC26rUhK90zVwe2yncPliVT/Qos3xjhTLE59Df8KnPlcwIERXKVlU1bXoUQ+liA== "@npmcli/promise-spawn@^1.2.0", "@npmcli/promise-spawn@^1.3.2": version "1.3.2" @@ -5373,13 +6713,13 @@ read-package-json-fast "^2.0.1" "@octokit/auth-token@^2.4.4": - version "2.4.5" - resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-2.4.5.tgz#568ccfb8cb46f36441fac094ce34f7a875b197f3" - integrity sha512-BpGYsPgJt05M7/L/5FoE1PiAbdxXFZkX/3kDYcsvd1v6UhlnE5e96dTDr0ezX/EFwciQxf3cNV0loipsURU+WA== + version "2.5.0" + resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-2.5.0.tgz#27c37ea26c205f28443402477ffd261311f21e36" + integrity sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g== dependencies: "@octokit/types" "^6.0.3" -"@octokit/core@^3.5.0": +"@octokit/core@^3.5.1": version "3.5.1" resolved "https://registry.yarnpkg.com/@octokit/core/-/core-3.5.1.tgz#8601ceeb1ec0e1b1b8217b960a413ed8e947809b" integrity sha512-omncwpLVxMP+GLpLPgeGJBF6IWJFjXDS5flY5VbppePYX9XehevbDykRH9PdCdvqt9TS5AOTiDide7h0qrkHjw== @@ -5402,42 +6742,42 @@ universal-user-agent "^6.0.0" "@octokit/graphql@^4.5.8": - version "4.6.4" - resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-4.6.4.tgz#0c3f5bed440822182e972317122acb65d311a5ed" - integrity sha512-SWTdXsVheRmlotWNjKzPOb6Js6tjSqA2a8z9+glDJng0Aqjzti8MEWOtuT8ZSu6wHnci7LZNuarE87+WJBG4vg== + version "4.8.0" + resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-4.8.0.tgz#664d9b11c0e12112cbf78e10f49a05959aa22cc3" + integrity sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg== dependencies: "@octokit/request" "^5.6.0" "@octokit/types" "^6.0.3" universal-user-agent "^6.0.0" -"@octokit/openapi-types@^9.5.0": - version "9.7.0" - resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-9.7.0.tgz#9897cdefd629cd88af67b8dbe2e5fb19c63426b2" - integrity sha512-TUJ16DJU8mekne6+KVcMV5g6g/rJlrnIKn7aALG9QrNpnEipFc1xjoarh0PKaAWf2Hf+HwthRKYt+9mCm5RsRg== +"@octokit/openapi-types@^11.2.0": + version "11.2.0" + resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-11.2.0.tgz#b38d7fc3736d52a1e96b230c1ccd4a58a2f400a6" + integrity sha512-PBsVO+15KSlGmiI8QAzaqvsNlZlrDlyAJYcrXBCvVUxCp7VnXjkwPoFHgjEJXx3WF9BAwkA6nfCUA7i9sODzKA== "@octokit/plugin-enterprise-rest@^6.0.1": version "6.0.1" resolved "https://registry.yarnpkg.com/@octokit/plugin-enterprise-rest/-/plugin-enterprise-rest-6.0.1.tgz#e07896739618dab8da7d4077c658003775f95437" integrity sha512-93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw== -"@octokit/plugin-paginate-rest@^2.6.2": - version "2.15.1" - resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.15.1.tgz#264189dd3ce881c6c33758824aac05a4002e056a" - integrity sha512-47r52KkhQDkmvUKZqXzA1lKvcyJEfYh3TKAIe5+EzMeyDM3d+/s5v11i2gTk8/n6No6DPi3k5Ind6wtDbo/AEg== +"@octokit/plugin-paginate-rest@^2.16.8": + version "2.17.0" + resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.17.0.tgz#32e9c7cab2a374421d3d0de239102287d791bce7" + integrity sha512-tzMbrbnam2Mt4AhuyCHvpRkS0oZ5MvwwcQPYGtMv4tUa5kkzG58SVB0fcsLulOZQeRnOgdkZWkRUiyBlh0Bkyw== dependencies: - "@octokit/types" "^6.24.0" + "@octokit/types" "^6.34.0" -"@octokit/plugin-request-log@^1.0.2": +"@octokit/plugin-request-log@^1.0.4": version "1.0.4" resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz#5e50ed7083a613816b1e4a28aeec5fb7f1462e85" integrity sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA== -"@octokit/plugin-rest-endpoint-methods@5.8.0": - version "5.8.0" - resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.8.0.tgz#33b342fe41f2603fdf8b958e6652103bb3ea3f3b" - integrity sha512-qeLZZLotNkoq+it6F+xahydkkbnvSK0iDjlXFo3jNTB+Ss0qIbYQb9V/soKLMkgGw8Q2sHjY5YEXiA47IVPp4A== +"@octokit/plugin-rest-endpoint-methods@^5.12.0": + version "5.13.0" + resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.13.0.tgz#8c46109021a3412233f6f50d28786f8e552427ba" + integrity sha512-uJjMTkN1KaOIgNtUPMtIXDOjx6dGYysdIFhgA52x4xSadQCz3b/zJexvITDVpANnfKPW/+E0xkOvLntqMYpviA== dependencies: - "@octokit/types" "^6.25.0" + "@octokit/types" "^6.34.0" deprecation "^2.3.1" "@octokit/request-error@^2.0.5", "@octokit/request-error@^2.1.0": @@ -5450,9 +6790,9 @@ once "^1.4.0" "@octokit/request@^5.6.0": - version "5.6.1" - resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.6.1.tgz#f97aff075c37ab1d427c49082fefeef0dba2d8ce" - integrity sha512-Ls2cfs1OfXaOKzkcxnqw5MR6drMA/zWX/LIS/p8Yjdz7QKTPQLMsB3R+OvoxE6XnXeXEE2X7xe4G4l4X0gRiKQ== + version "5.6.2" + resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.6.2.tgz#1aa74d5da7b9e04ac60ef232edd9a7438dcf32d8" + integrity sha512-je66CvSEVf0jCpRISxkUcCa0UkxmFs6eGDRSbfJtAVwbLH5ceqF+YEyC8lj8ystKyZTy8adWr0qmkY52EfOeLA== dependencies: "@octokit/endpoint" "^6.0.1" "@octokit/request-error" "^2.1.0" @@ -5462,21 +6802,21 @@ universal-user-agent "^6.0.0" "@octokit/rest@^18.0.9", "@octokit/rest@^18.1.0": - version "18.9.1" - resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-18.9.1.tgz#db1d7ac1d7b10e908f7d4b78fe35a392554ccb26" - integrity sha512-idZ3e5PqXVWOhtZYUa546IDHTHjkGZbj3tcJsN0uhCy984KD865e8GB2WbYDc2ZxFuJRiyd0AftpL2uPNhF+UA== + version "18.12.0" + resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-18.12.0.tgz#f06bc4952fc87130308d810ca9d00e79f6988881" + integrity sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q== dependencies: - "@octokit/core" "^3.5.0" - "@octokit/plugin-paginate-rest" "^2.6.2" - "@octokit/plugin-request-log" "^1.0.2" - "@octokit/plugin-rest-endpoint-methods" "5.8.0" + "@octokit/core" "^3.5.1" + "@octokit/plugin-paginate-rest" "^2.16.8" + "@octokit/plugin-request-log" "^1.0.4" + "@octokit/plugin-rest-endpoint-methods" "^5.12.0" -"@octokit/types@^6.0.3", "@octokit/types@^6.16.1", "@octokit/types@^6.24.0", "@octokit/types@^6.25.0": - version "6.25.0" - resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.25.0.tgz#c8e37e69dbe7ce55ed98ee63f75054e7e808bf1a" - integrity sha512-bNvyQKfngvAd/08COlYIN54nRgxskmejgywodizQNyiKoXmWRAjKup2/LYwm+T9V0gsKH6tuld1gM0PzmOiB4Q== +"@octokit/types@^6.0.3", "@octokit/types@^6.16.1", "@octokit/types@^6.34.0": + version "6.34.0" + resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.34.0.tgz#c6021333334d1ecfb5d370a8798162ddf1ae8218" + integrity sha512-s1zLBjWhdEI2zwaoSgyOFoKSl109CUcVBCc7biPJ3aAf6LGLU6szDvi31JPU7bxfla2lqfhjbbg/5DdFNxOwHw== dependencies: - "@octokit/openapi-types" "^9.5.0" + "@octokit/openapi-types" "^11.2.0" "@panva/asn1.js@^1.0.0": version "1.0.0" @@ -5496,9 +6836,9 @@ source-map "^0.7.3" "@popperjs/core@^2.6.0": - version "2.9.3" - resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.9.3.tgz#8b68da1ebd7fc603999cf6ebee34a4899a14b88e" - integrity sha512-xDu17cEfh7Kid/d95kB6tZsLOmSWKCZKtprnhVepjsSaCij+lM3mItSJDuuHDMbCWTh8Ejmebwb+KONcCJ0eXQ== + version "2.10.2" + resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.10.2.tgz#0798c03351f0dea1a5a4cabddf26a55a7cbee590" + integrity sha512-IXf3XA7+XyN7CP9gGh/XB0UxVMlvARGEgGXLubFICsUMGz6Q+DU+i4gGlpOxTjKvXjkJDJC8YdqdKkDj9qZHEQ== "@redux-offline/redux-offline@2.5.2-native.0": version "2.5.2-native.0" @@ -5508,12 +6848,12 @@ "@babel/runtime" "^7.5.5" redux-persist "^4.6.0" -"@redux-offline/redux-offline@2.5.2-native.3": - version "2.5.2-native.3" - resolved "https://registry.yarnpkg.com/@redux-offline/redux-offline/-/redux-offline-2.5.2-native.3.tgz#f444484ab8c7dad7533d0585a67cb4325f1d959f" - integrity sha512-xo1M4wFJDJjANn9w6faru0/8rerd28vQpbNTbEe7DX57RyRqSGsDilb0temH/kAg3GheQTlO59ipRum2bcmXvw== +"@redux-offline/redux-offline@2.6.0-native.1": + version "2.6.0-native.1" + resolved "https://registry.yarnpkg.com/@redux-offline/redux-offline/-/redux-offline-2.6.0-native.1.tgz#93a735ea05f5d72e0616e569e62ee00eec76a386" + integrity sha512-yGq7xhpfW2X5D1Xo4AdIzOGNbHGi8fcXEX9SSL07RvCnxEON8lpWFiiY4hI42mQlYzgzQlaaHnp1LyfCYPhMHA== dependencies: - "@babel/runtime" "^7.5.5" + "@babel/runtime" "^7.9.6" redux-persist "^4.6.0" "@rollup/plugin-node-resolve@^7.1.1": @@ -5742,9 +7082,9 @@ pretty-format "^26.6.2" "@testing-library/jest-dom@^5.11.4": - version "5.14.1" - resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-5.14.1.tgz#8501e16f1e55a55d675fe73eecee32cdaddb9766" - integrity sha512-dfB7HVIgTNCxH22M1+KU6viG5of2ldoA5ly8Ar8xkezKHKXjRvznCdbMbqjYGgO2xjRbwnR+rR8MLUIqF3kKbQ== + version "5.15.0" + resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-5.15.0.tgz#4f5295dbc476a14aec3b07176434b3d51aae5da7" + integrity sha512-lOMuQidnL1tWHLEWIhL6UvSZC1Qt3OkNe1khvi2h6xFiqpe5O8arYs46OU0qyUGq0cSTbroQyMktYNXu3a7sAA== dependencies: "@babel/runtime" "^7.9.2" "@types/testing-library__jest-dom" "^5.9.1" @@ -5821,14 +7161,14 @@ "@types/babel-types" "*" "@types/babel-types@*": - version "7.0.10" - resolved "https://registry.yarnpkg.com/@types/babel-types/-/babel-types-7.0.10.tgz#c12a182ecf326c26acc7b18a301827594bab6df9" - integrity sha512-g7zrcqL4MiRu3jZzdZZYk0g0KcKk2fddXazSdP1PacEpmjihRsNGU50aaEKnPFuKzfN7WkRktUiCXvs4zU9XXQ== + version "7.0.11" + resolved "https://registry.yarnpkg.com/@types/babel-types/-/babel-types-7.0.11.tgz#263b113fa396fac4373188d73225297fb86f19a9" + integrity sha512-pkPtJUUY+Vwv6B1inAz55rQvivClHJxc9aVEPPmaq2cbyeMLCiDpbKpcKyX4LAwpNGi+SHBv0tHv6+0gXv0P2A== "@types/babel__core@^7.0.0", "@types/babel__core@^7.1.7": - version "7.1.15" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.15.tgz#2ccfb1ad55a02c83f8e0ad327cbc332f55eb1024" - integrity sha512-bxlMKPDbY8x5h6HBwVzEOk2C8fb6SLfYQ5Jw3uBYuYF1lfWk/kbLd81la82vrIkBb0l+JdmrZaDikPrNxpS/Ew== + version "7.1.16" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.16.tgz#bc12c74b7d65e82d29876b5d0baf5c625ac58702" + integrity sha512-EAEHtisTMM+KaKwfWdC3oyllIqswlznXCIVCt7/oRNrh+DhgT4UEBNC/jlADNjvw7UnfbcdkGQcPVZ1xYiLcrQ== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" @@ -5859,9 +7199,9 @@ "@babel/types" "^7.3.0" "@types/body-parser@*", "@types/body-parser@^1.17.1": - version "1.19.1" - resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.1.tgz#0c0174c42a7d017b818303d4b5d969cb0b75929c" - integrity sha512-a6bTJ21vFOGIkwM0kzh9Yr89ziVxq4vYH2fQ6N8AeipEzai/cFK6aGMArIkUeIdRIgpwQa+2bXiLuUJCpSf2Cg== + version "1.19.2" + resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.2.tgz#aea2059e28b7658639081347ac4fab3de166e6f0" + integrity sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g== dependencies: "@types/connect" "*" "@types/node" "*" @@ -5923,10 +7263,10 @@ 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/eslint@^7.2.6": - version "7.28.0" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-7.28.0.tgz#7e41f2481d301c68e14f483fe10b017753ce8d5a" - integrity sha512-07XlgzX0YJUn4iG1ocY4IX9DzKSmMGUs6ESKlxWhZRaa0fatIWaHWUVapcuGa8r5HFnTqzj+4OCjd5f7EZ/i/A== +"@types/eslint@^7.28.2": + version "7.29.0" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-7.29.0.tgz#e56ddc8e542815272720bb0b4ccc2aff9c3e1c78" + integrity sha512-VNcvioYDH8/FxaeTKkM4/TiTwt6pBV9E3OfGmvaw8tPl0rrHCJ4Ll15HRT+pMiFAf/MLQvAzC+6RzUMEL9Ceng== dependencies: "@types/estree" "*" "@types/json-schema" "*" @@ -5963,9 +7303,9 @@ "@types/node" "*" "@types/express-serve-static-core@^4.17.18": - version "4.17.24" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.24.tgz#ea41f93bf7e0d59cd5a76665068ed6aab6815c07" - integrity sha512-3UJuW+Qxhzwjq3xhwXm2onQcFHn76frIYVbTu+kn24LFxI+dEhdfISDFovPB8VpEgW8oQCTpRuCe+0zJxB7NEA== + version "4.17.25" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.25.tgz#e42f7046adc65ece2eb6059b77aecfbe9e9f82e0" + integrity sha512-OUJIVfRMFijZukGGwTpKNFprqCCXk5WjNGvUgB/CxxBR40QWSjsNK86+yvGKlCOGc7sbwfHLaXhkG+NsytwBaQ== dependencies: "@types/node" "*" "@types/qs" "*" @@ -5994,9 +7334,9 @@ "@types/node" "*" "@types/glob@*", "@types/glob@^7.1.1": - version "7.1.4" - resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.4.tgz#ea59e21d2ee5c517914cb4bc8e4153b99e566672" - integrity sha512-w+LsMxKyYQm347Otw+IfBXOv9UWVjpHpCDdbBMt8Kz/xbvCYNjP+0qPh91Km3iKfSRLBB0P7fAMf0KHrPu+MyA== + version "7.2.0" + resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb" + integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA== dependencies: "@types/minimatch" "*" "@types/node" "*" @@ -6036,9 +7376,9 @@ integrity sha1-jvcX3PYY2EWE9QYQjqhc2FL206s= "@types/ini@^1.3.30": - version "1.3.30" - resolved "https://registry.yarnpkg.com/@types/ini/-/ini-1.3.30.tgz#d1485459c9fad84e937414b832a2adb649eab379" - integrity sha512-2+iF8zPSbpU83UKE+PNd4r/MhwNAdyGpk3H+VMgEH3EhjFZq1kouLgRoZrmIcmoGX97xFvqdS44DkICR5Nz3tQ== + version "1.3.31" + resolved "https://registry.yarnpkg.com/@types/ini/-/ini-1.3.31.tgz#c78541a187bd88d5c73e990711c9d85214800d1b" + integrity sha512-8ecxxaG4AlVEM1k9+BsziMw8UsX0qy3jYI1ad/71RrDZ+rdL6aZB0wLfAuflQiDhkD5o4yJ0uPK3OSUic3fG0w== "@types/inquirer@^6.5.0": version "6.5.0" @@ -6068,9 +7408,9 @@ "@types/istanbul-lib-report" "*" "@types/jest@*": - version "27.0.1" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-27.0.1.tgz#fafcc997da0135865311bb1215ba16dba6bdf4ca" - integrity sha512-HTLpVXHrY69556ozYkcq47TtQJXpcWAWfkoqz+ZGz2JnmZhzlRjprCIyFnetSy8gpDWwTTGBcRVv1J1I1vBrHw== + version "27.0.2" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-27.0.2.tgz#ac383c4d4aaddd29bbf2b916d8d105c304a5fcd7" + integrity sha512-4dRxkS/AFX0c5XW6IPMNOydLn2tEhNhJV7DnYK+0bjoJZ+QTmfucBlihX7aoEsh/ocYtkLC73UbnBXBXIxsULA== dependencies: jest-diff "^27.0.0" pretty-format "^27.0.0" @@ -6084,15 +7424,20 @@ pretty-format "^26.0.0" "@types/js-yaml@^4.0.0": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@types/js-yaml/-/js-yaml-4.0.2.tgz#4117a7a378593a218e9d6f0ef44ce6d5d9edf7fa" - integrity sha512-KbeHS/Y4R+k+5sWXEYzAZKuB1yQlZtEghuhRxrVRLaqhtoG5+26JwQsa4HyS3AWX8v1Uwukma5HheduUDskasA== + version "4.0.4" + resolved "https://registry.yarnpkg.com/@types/js-yaml/-/js-yaml-4.0.4.tgz#cc38781257612581a1a0eb25f1709d2b06812fce" + integrity sha512-AuHubXUmg0AzkXH0Mx6sIxeY/1C110mm/EkE/gB1sTRz3h2dao2W/63q42SlVST+lICxz5Oki2hzYA6+KnnieQ== "@types/json-schema@*", "@types/json-schema@^7.0.3", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.7", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": version "7.0.9" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== +"@types/json5@^0.0.29": + version "0.0.29" + resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" + integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= + "@types/lodash.throttle@^4.1.6": version "4.1.6" resolved "https://registry.yarnpkg.com/@types/lodash.throttle/-/lodash.throttle-4.1.6.tgz#f5ba2c22244ee42ff6c2c49e614401a870c1009c" @@ -6101,9 +7446,9 @@ "@types/lodash" "*" "@types/lodash@*", "@types/lodash@^4.14.149": - version "4.14.172" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.172.tgz#aad774c28e7bfd7a67de25408e03ee5a8c3d028a" - integrity sha512-/BHF5HAx3em7/KkzVKm3LrsD6HZAXuXO1AJZQ3cRRBZj4oHZDviWPYu0aEplAqDFNHZPW6d3G7KN+ONcCCC7pw== + version "4.14.177" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.177.tgz#f70c0d19c30fab101cad46b52be60363c43c4578" + integrity sha512-0fDwydE2clKe9MNfvXHBHF9WEahRuj+msTuQqOmAApNORFvhMYZKNGGJdCzuhheVjMps/ti0Ak/iJPACMaevvw== "@types/md5@^2.3.1": version "2.3.1" @@ -6142,10 +7487,10 @@ "@types/node" "*" form-data "^3.0.0" -"@types/node@*": - version "16.6.1" - resolved "https://registry.yarnpkg.com/@types/node/-/node-16.6.1.tgz#aee62c7b966f55fc66c7b6dfa1d58db2a616da61" - integrity sha512-Sr7BhXEAer9xyGuCN3Ek9eg9xPviCF2gfu9kTfuU2HkTVAMYSDeX40fvpmo72n5nansg3nsBjuQBrsS28r+NUw== +"@types/node@*", "@types/node@^16.9.2": + version "16.11.7" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.7.tgz#36820945061326978c42a01e56b61cd223dfdc42" + integrity sha512-QB5D2sqfSjCmTuWcBWyJ+/44bcjO7VbjSbOE0ucoVbAsSNQc4Lt6QkgkVXkTDwkL4z/beecZNDvVX15D4P8Jbw== "@types/node@^10.17.13", "@types/node@^10.17.60": version "10.17.60" @@ -6153,14 +7498,9 @@ integrity sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw== "@types/node@^12.12.6": - version "12.20.19" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.19.tgz#538e61fc220f77ae4a4663c3d8c3cb391365c209" - integrity sha512-niAuZrwrjKck4+XhoCw6AAVQBENHftpXw9F4ryk66fTgYaKQ53R4FI7c9vUGGw5vQis1HKBHDR1gcYI/Bq1xvw== - -"@types/node@^16.9.2": - version "16.11.1" - resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.1.tgz#2e50a649a50fc403433a14f829eface1a3443e97" - integrity sha512-PYGcJHL9mwl1Ek3PLiYgyEKtwTMmkMw4vbiyz/ps3pfdRYLVv+SN7qHVAImrjdAXxgluDEw6Ph4lyv+m9UpRmA== + version "12.20.37" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.37.tgz#abb38afa9d6e8a2f627a8cb52290b3c80fbe61ed" + integrity sha512-i1KGxqcvJaLQali+WuypQnXwcplhtNtjs66eNsZpp2P2FL/trJJxx/VWsM0YCL2iMoIJrbXje48lvIQAQ4p2ZA== "@types/normalize-package-data@^2.4.0": version "2.4.1" @@ -6173,11 +7513,11 @@ integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== "@types/pino-pretty@*": - version "4.7.1" - resolved "https://registry.yarnpkg.com/@types/pino-pretty/-/pino-pretty-4.7.1.tgz#2ce3f56f3cf4f9632374419d616ae2e6c933b935" - integrity sha512-l1ntNXdpVWsnPYUk5HyO5Lxfr38zLCgxVfEn/9Zhhm+nGF04/BiIou/m8XPwvoVZLV+livUo79VdHXMJPfUYxA== + version "4.7.2" + resolved "https://registry.yarnpkg.com/@types/pino-pretty/-/pino-pretty-4.7.2.tgz#c6e2a96d6ba1463d27cca6f512451ae70b40bf78" + integrity sha512-a4/hqUb8AYNJYtWkR4cVpT9m2bcO6DUO+MLAtaLNCgYhbrleHJiUBgTSZfcFbaZwi1naAIQVKJbHVrj9YRfujQ== dependencies: - "@types/pino" "*" + "@types/pino" "6.3" "@types/pino-std-serializers@*": version "2.4.1" @@ -6186,10 +7526,10 @@ dependencies: "@types/node" "*" -"@types/pino@*", "@types/pino@^6.3.11": - version "6.3.11" - resolved "https://registry.yarnpkg.com/@types/pino/-/pino-6.3.11.tgz#83652799e76b3ad692aaf68f6fbf994e83af5db2" - integrity sha512-S7+fLONqSpHeW9d7TApUqO6VN47KYgOXhCNKwGBVLHObq8HhaAYlVqUNdfnvoXjCMiwE5xcPm/5R2ZUh8bgaXQ== +"@types/pino@6.3", "@types/pino@^6.3.11": + version "6.3.12" + resolved "https://registry.yarnpkg.com/@types/pino/-/pino-6.3.12.tgz#4425db6ced806109c3df957100cba9dfcd73c228" + integrity sha512-dsLRTq8/4UtVSpJgl9aeqHvbh6pzdmjYD3C092SYgLD2TyoCqHpTJk6vp8DvCTGGc7iowZ2MoiYiVUUCcu7muw== dependencies: "@types/node" "*" "@types/pino-pretty" "*" @@ -6207,9 +7547,9 @@ integrity sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ== "@types/prettier@^2.0.0": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.3.2.tgz#fc8c2825e4ed2142473b4a81064e6e081463d1b3" - integrity sha512-eI5Yrz3Qv4KPUa/nSIAi0h+qX0XyewOliug5F2QAtuRg6Kjg6jfmxe1GIwoIRhZspD1A0RP8ANrPwvEXXtRFog== + version "2.4.2" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.4.2.tgz#4c62fae93eb479660c3bd93f9d24d561597a8281" + integrity sha512-ekoj4qOQYp7CvjX8ZDBgN86w3MqQhLE1hczEJbEIjgFEumDy+na/4AJAbLXfgEWFNB2pKadM5rPFtuSGMWK7xA== "@types/progress@^2.0.3": version "2.0.5" @@ -6251,9 +7591,9 @@ "@types/react" "^16" "@types/react@^16", "@types/react@^16.9.53": - version "16.14.13" - resolved "https://registry.yarnpkg.com/@types/react/-/react-16.14.13.tgz#14f77c75ea581fa632907440dfda23b3c6ab24c9" - integrity sha512-KznsRYfqPmbcA5pMxc4mYQ7UgsJa2tAgKE2YwEmY5xKaTVZXLAY/ImBohyQHnEoIjxIJR+Um4FmaEYDr3q3zlg== + version "16.14.21" + resolved "https://registry.yarnpkg.com/@types/react/-/react-16.14.21.tgz#35199b21a278355ec7a3c40003bd6a334bd4ae4a" + integrity sha512-rY4DzPKK/4aohyWiDRHS2fotN5rhBSK6/rz1X37KzNna9HJyqtaGAbq9fVttrEPWF5ywpfIP1ITL8Xi2QZn6Eg== dependencies: "@types/prop-types" "*" "@types/scheduler" "*" @@ -6267,9 +7607,9 @@ "@types/node" "*" "@types/rimraf@^3.0.0": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@types/rimraf/-/rimraf-3.0.1.tgz#1bbc106f0978742289103e080d4b41b3b4656e58" - integrity sha512-CAoSlbco40aKZ0CkelBF2g3JeN6aioRaTVnqSX5pWsn/WApm6IDxI4e4tD9D0dY/meCkyyleP1IQDVN13F4maA== + version "3.0.2" + resolved "https://registry.yarnpkg.com/@types/rimraf/-/rimraf-3.0.2.tgz#a63d175b331748e5220ad48c901d7bbf1f44eef8" + integrity sha512-F3OznnSLAUxFrCEu/L5PY8+ny8DtcFRjx7fZZ9bycvXRi3KPTRS9HOitGZwvPg0juRhXFWIeKX58cnX5YqLohQ== dependencies: "@types/glob" "*" "@types/node" "*" @@ -6280,9 +7620,9 @@ integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== "@types/semver@^7.1.0": - version "7.3.8" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.8.tgz#508a27995498d7586dcecd77c25e289bfaf90c59" - integrity sha512-D/2EJvAlCEtYFEYmmlGwbGXuK886HzyCc3nZX/tkFTQdEU8jZDAgiv08P162yB17y4ZXZoq7yFAnW4GDBb9Now== + version "7.3.9" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.9.tgz#152c6c20a7688c30b967ec1841d31ace569863fc" + integrity sha512-L/TMpyURfBkf+o/526Zb6kd/tchUP3iBDEPjqjb+U2MAJhVRxxrmr2fwpe08E7QsV7YLcpq0tUaQ9O9x97ZIxQ== "@types/serve-static@*", "@types/serve-static@^1.13.3": version "1.13.10" @@ -6316,9 +7656,9 @@ "@types/tar-stream" "*" "@types/tar-stream@*": - version "2.2.1" - resolved "https://registry.yarnpkg.com/@types/tar-stream/-/tar-stream-2.2.1.tgz#7cb4516fe6d1a926a37b7733905c50885718e7ad" - integrity sha512-zhcfACZ4HavArMutfAB1/ApfSx44kNF2zyytU4mbO1dGCT/y9kL2IZwRDRyYYtBUxW6LRparZpLoX8i67b6IZw== + version "2.2.2" + resolved "https://registry.yarnpkg.com/@types/tar-stream/-/tar-stream-2.2.2.tgz#be9d0be9404166e4b114151f93e8442e6ab6fb1d" + integrity sha512-1AX+Yt3icFuU6kxwmPakaiGrJUwG44MpuiqPg4dSolRFk6jmvs4b3IbUol9wKDLIgU76gevn3EwE8y/DkSJCZQ== dependencies: "@types/node" "*" @@ -6371,9 +7711,9 @@ source-map "^0.7.3" "@types/webpack@^4.41.8": - version "4.41.30" - resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.30.tgz#fd3db6d0d41e145a8eeeafcd3c4a7ccde9068ddc" - integrity sha512-GUHyY+pfuQ6haAfzu4S14F+R5iGRwN6b2FRNJY7U0NilmFAqbsOfK6j1HwuLBAqwRIT+pVdNDJGJ6e8rpp0KHA== + version "4.41.32" + resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.32.tgz#a7bab03b72904070162b2f169415492209e94212" + integrity sha512-cb+0ioil/7oz5//7tZUSwbrSAN/NWHrQylz5cW8G0dWTcF/g+/dSdMlKVZspBYuMAN1+WnwHrkxiRrLcwd0Heg== dependencies: "@types/node" "*" "@types/tapable" "^1" @@ -6401,6 +7741,13 @@ dependencies: "@types/node" "*" +"@types/ws@^8.0.0": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.2.0.tgz#75faefbe2328f3b833cb8dc640658328990d04f3" + integrity sha512-cyeefcUCgJlEk+hk2h3N+MqKKsPViQgF5boi9TTHSK+PoR9KWBb/C5ccPcDyAqgsbAYHTwulch725DV84+pSpg== + dependencies: + "@types/node" "*" + "@types/xml@^1.0.4": version "1.0.6" resolved "https://registry.yarnpkg.com/@types/xml/-/xml-1.0.6.tgz#6e77fc0e4503efcd0b504cab7f70e3bc71ee82a7" @@ -6445,14 +7792,15 @@ integrity sha512-fbF6oTd4sGGy0xjHPKAt+eS2CrxJ3+6gQ3FGcBoIJR2TLAyCkCyI8JqZNy+FeON0AhVgNJoUumVoZQjBFUqHkw== "@typescript-eslint/eslint-plugin@^4.14.2", "@typescript-eslint/eslint-plugin@^4.5.0": - version "4.29.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.29.2.tgz#f54dc0a32b8f61c6024ab8755da05363b733838d" - integrity sha512-x4EMgn4BTfVd9+Z+r+6rmWxoAzBaapt4QFqE+d8L8sUtYZYLDTK6VG/y/SMMWA5t1/BVU5Kf+20rX4PtWzUYZg== + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz#c24dc7c8069c7706bc40d99f6fa87edcb2005276" + integrity sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg== dependencies: - "@typescript-eslint/experimental-utils" "4.29.2" - "@typescript-eslint/scope-manager" "4.29.2" + "@typescript-eslint/experimental-utils" "4.33.0" + "@typescript-eslint/scope-manager" "4.33.0" debug "^4.3.1" functional-red-black-tree "^1.0.1" + ignore "^5.1.8" regexpp "^3.1.0" semver "^7.3.5" tsutils "^3.21.0" @@ -6468,15 +7816,15 @@ eslint-scope "^5.0.0" eslint-utils "^2.0.0" -"@typescript-eslint/experimental-utils@4.29.2", "@typescript-eslint/experimental-utils@^4.0.1": - version "4.29.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.29.2.tgz#5f67fb5c5757ef2cb3be64817468ba35c9d4e3b7" - integrity sha512-P6mn4pqObhftBBPAv4GQtEK7Yos1fz/MlpT7+YjH9fTxZcALbiiPKuSIfYP/j13CeOjfq8/fr9Thr2glM9ub7A== +"@typescript-eslint/experimental-utils@4.33.0", "@typescript-eslint/experimental-utils@^4.0.1": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz#6f2a786a4209fa2222989e9380b5331b2810f7fd" + integrity sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q== dependencies: "@types/json-schema" "^7.0.7" - "@typescript-eslint/scope-manager" "4.29.2" - "@typescript-eslint/types" "4.29.2" - "@typescript-eslint/typescript-estree" "4.29.2" + "@typescript-eslint/scope-manager" "4.33.0" + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/typescript-estree" "4.33.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" @@ -6492,32 +7840,32 @@ eslint-visitor-keys "^1.1.0" "@typescript-eslint/parser@^4.14.2", "@typescript-eslint/parser@^4.5.0": - version "4.29.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.29.2.tgz#1c7744f4c27aeb74610c955d3dce9250e95c370a" - integrity sha512-WQ6BPf+lNuwteUuyk1jD/aHKqMQ9jrdCn7Gxt9vvBnzbpj7aWEf+aZsJ1zvTjx5zFxGCt000lsbD9tQPEL8u6g== + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.33.0.tgz#dfe797570d9694e560528d18eecad86c8c744899" + integrity sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA== dependencies: - "@typescript-eslint/scope-manager" "4.29.2" - "@typescript-eslint/types" "4.29.2" - "@typescript-eslint/typescript-estree" "4.29.2" + "@typescript-eslint/scope-manager" "4.33.0" + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/typescript-estree" "4.33.0" debug "^4.3.1" -"@typescript-eslint/scope-manager@4.29.2": - version "4.29.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.29.2.tgz#442b0f029d981fa402942715b1718ac7fcd5aa1b" - integrity sha512-mfHmvlQxmfkU8D55CkZO2sQOueTxLqGvzV+mG6S/6fIunDiD2ouwsAoiYCZYDDK73QCibYjIZmGhpvKwAB5BOA== +"@typescript-eslint/scope-manager@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz#d38e49280d983e8772e29121cf8c6e9221f280a3" + integrity sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ== dependencies: - "@typescript-eslint/types" "4.29.2" - "@typescript-eslint/visitor-keys" "4.29.2" + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/visitor-keys" "4.33.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/types@4.29.2": - version "4.29.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.29.2.tgz#fc0489c6b89773f99109fb0aa0aaddff21f52fcd" - integrity sha512-K6ApnEXId+WTGxqnda8z4LhNMa/pZmbTFkDxEBLQAbhLZL50DjeY0VIDCml/0Y3FlcbqXZrABqrcKxq+n0LwzQ== +"@typescript-eslint/types@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.33.0.tgz#a1e59036a3b53ae8430ceebf2a919dc7f9af6d72" + integrity sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ== "@typescript-eslint/typescript-estree@3.10.1": version "3.10.1" @@ -6533,13 +7881,13 @@ semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/typescript-estree@4.29.2": - version "4.29.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.29.2.tgz#a0ea8b98b274adbb2577100ba545ddf8bf7dc219" - integrity sha512-TJ0/hEnYxapYn9SGn3dCnETO0r+MjaxtlWZ2xU+EvytF0g4CqTpZL48SqSNn2hXsPolnewF30pdzR9a5Lj3DNg== +"@typescript-eslint/typescript-estree@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz#0dfb51c2908f68c5c08d82aefeaf166a17c24609" + integrity sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA== dependencies: - "@typescript-eslint/types" "4.29.2" - "@typescript-eslint/visitor-keys" "4.29.2" + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/visitor-keys" "4.33.0" debug "^4.3.1" globby "^11.0.3" is-glob "^4.0.1" @@ -6553,12 +7901,12 @@ dependencies: eslint-visitor-keys "^1.1.0" -"@typescript-eslint/visitor-keys@4.29.2": - version "4.29.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.29.2.tgz#d2da7341f3519486f50655159f4e5ecdcb2cd1df" - integrity sha512-bDgJLQ86oWHJoZ1ai4TZdgXzJxsea3Ee9u9wsTAvjChdj2WLcVsgWYAPeY7RQMn16tKrlQaBnpKv7KBfs4EQag== +"@typescript-eslint/visitor-keys@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz#2a22f77a41604289b7a186586e9ec48ca92ef1dd" + integrity sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg== dependencies: - "@typescript-eslint/types" "4.29.2" + "@typescript-eslint/types" "4.33.0" eslint-visitor-keys "^2.0.0" "@ungap/promise-all-settled@1.1.2": @@ -6729,10 +8077,11 @@ integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== "@zkochan/cmd-shim@^5.1.0": - version "5.1.3" - resolved "https://registry.yarnpkg.com/@zkochan/cmd-shim/-/cmd-shim-5.1.3.tgz#10be7f66778aa9f6ed4c94dbc6bda83845d5b73e" - integrity sha512-XCy+ZwXoFKswHmJBFbhPIs+NBxYJpitzQ+kSvlhu2upIt74k0/OJsiOJnwJS4Usuydh+ipmcIjwQ55vIJOyKJg== + version "5.2.1" + resolved "https://registry.yarnpkg.com/@zkochan/cmd-shim/-/cmd-shim-5.2.1.tgz#33e89b8646cd040b03cae7053d06565a3efb861b" + integrity sha512-oBPLTj/T1t488X1hVv99HbX7AATpApeue/OWWtD37PYxcJN4YBEpFyf86KlYb/51JrqyPe9Rv7z3/3T3p9AERg== dependencies: + cmd-extension "^1.0.1" is-windows "^1.0.2" JSONStream@^1.0.4: @@ -6758,7 +8107,7 @@ abbrev@1.0.x: resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" integrity sha1-kbR5JYinc4wl813W9jdSovh3YTU= -abort-controller@3.0.0: +abort-controller@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== @@ -6806,12 +8155,7 @@ acorn@^7.1.0, acorn@^7.1.1, acorn@^7.4.0: resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^8.2.4: - version "8.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.4.1.tgz#56c36251fc7cabc7096adc18f05afe814321a28c" - integrity sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA== - -acorn@^8.4.1: +acorn@^8.2.4, acorn@^8.4.1: version "8.5.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.5.0.tgz#4512ccb99b3698c752591e9bb4472e38ad43cee2" integrity sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q== @@ -6887,9 +8231,9 @@ ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.2, ajv@^6.12.3, ajv@^6.12.4, ajv uri-js "^4.2.2" ajv@^8.0.1: - version "8.6.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.6.2.tgz#2fb45e0e5fcbc0813326c1c3da535d1881bb0571" - integrity sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w== + version "8.8.1" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.8.1.tgz#e73dd88eeb4b10bbcd82bee136e6fbe801664d18" + integrity sha512-6CiMNDrzv0ZR916u2T+iRunnD60uWmNn8SkdB44/6stVORUg0aAkWO7PkOhpCmjmW8f2I/G/xnowD66fxGyQJg== dependencies: fast-deep-equal "^3.1.1" json-schema-traverse "^1.0.0" @@ -6901,10 +8245,10 @@ alphanum-sort@^1.0.0: resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= -amazon-cognito-identity-js@5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/amazon-cognito-identity-js/-/amazon-cognito-identity-js-5.1.0.tgz#7330a897dc56b17f490f1c31a79efd66978b3d7a" - integrity sha512-zGJo9jpTBHaTrir9nBWxMnteR+uPMSq3SO9AT0EOAO/e1CyJ27sawe0Pd3218HPzsooOMZt0iYaWkpVrsQ3nSQ== +amazon-cognito-identity-js@5.2.3: + version "5.2.3" + resolved "https://registry.yarnpkg.com/amazon-cognito-identity-js/-/amazon-cognito-identity-js-5.2.3.tgz#8a730641258c9f6ecfb91f58fe3a711346a955dc" + integrity sha512-zTqhdUgvdGar+wjqcu8y9tnTYIS+6VxecZe7t5HAHXHjvzvENIjTehd4zrB6MvnU+oVKVH2wPlCg6jlWdSs0wg== dependencies: buffer "4.9.2" crypto-js "^4.1.1" @@ -6942,13 +8286,13 @@ amplify-cli-core@1.30.0: which "^2.0.2" amplify-codegen@^2.23.1: - version "2.26.2" - resolved "https://registry.yarnpkg.com/amplify-codegen/-/amplify-codegen-2.26.2.tgz#f5837dae2a15eaee214fe7eb318aa577a1f7e198" - integrity sha512-Kokdm3r+sF3FtJiCXxE5DqIq+cXNGb8+cWpeZjRwV1UQhcYl6TyMqff5EqsNuVZMAX0Yc+54MKNH05AJ+PJgyw== + version "2.26.15" + resolved "https://registry.yarnpkg.com/amplify-codegen/-/amplify-codegen-2.26.15.tgz#f52f07a2674e9287909c76061d5c0950b91fa822" + integrity sha512-tfy3qKnGaGNWimqSvbWQns2dBOQQbYhPHqeCC2HgWcY1vAnipF1LiXkgnwN0YBGpQscbWxJsydw2iVofwoaJ4Q== dependencies: - "@aws-amplify/appsync-modelgen-plugin" "1.27.1" - "@aws-amplify/graphql-docs-generator" "2.3.4" - "@aws-amplify/graphql-types-generator" "2.8.0" + "@aws-amplify/appsync-modelgen-plugin" "1.29.6" + "@aws-amplify/graphql-docs-generator" "2.4.2" + "@aws-amplify/graphql-types-generator" "2.8.5" "@graphql-codegen/core" "1.8.3" amplify-codegen-appsync-model-plugin "^1.22.3" amplify-graphql-docs-generator "^2.2.1" @@ -7083,11 +8427,11 @@ amplify-util-import@1.5.13: aws-sdk "^2.963.0" ansi-align@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.0.tgz#b536b371cf687caaef236c18d3e21fe3797467cb" - integrity sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw== + version "3.0.1" + resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.1.tgz#0cdf12e111ace773a86e9a1fad1225c43cb19a59" + integrity sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w== dependencies: - string-width "^3.0.0" + string-width "^4.1.0" ansi-colors@4.1.1, ansi-colors@^4.1.1: version "4.1.1" @@ -7136,10 +8480,10 @@ ansi-regex@^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-regex@^5.0.0, ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== ansi-styles@^2.2.1: version "2.2.1" @@ -7396,9 +8740,9 @@ archiver@^5.3.0: zip-stream "^4.1.0" are-we-there-yet@~1.1.2: - version "1.1.5" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" - integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w== + version "1.1.7" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz#b15474a932adab4ff8a50d9adfa7e4e926f21146" + integrity sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g== dependencies: delegates "^1.0.0" readable-stream "^2.0.6" @@ -7504,16 +8848,16 @@ array-ify@^1.0.0: resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" integrity sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4= -array-includes@^3.1.1, array-includes@^3.1.2, array-includes@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.3.tgz#c7f619b382ad2afaf5326cddfdc0afc61af7690a" - integrity sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A== +array-includes@^3.1.3, array-includes@^3.1.4: + version "3.1.4" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.4.tgz#f5b493162c760f3539631f005ba2bb46acb45ba9" + integrity sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw== dependencies: call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.18.0-next.2" + es-abstract "^1.19.1" get-intrinsic "^1.1.1" - is-string "^1.0.5" + is-string "^1.0.7" array-intersection@^0.1.2: version "0.1.2" @@ -7558,24 +8902,23 @@ 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.flat@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz#6ef638b43312bd401b4c6199fdec7e2dc9e9a123" - integrity sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg== +array.prototype.flat@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz#07e0975d84bbc7c48cd1879d609e682598d33e13" + integrity sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg== dependencies: - call-bind "^1.0.0" + call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.18.0-next.1" + es-abstract "^1.19.0" -array.prototype.flatmap@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.4.tgz#94cfd47cc1556ec0747d97f7c7738c58122004c9" - integrity sha512-r9Z0zYoxqHz60vvQbWEdXIEtCwHF0yxaWfno9qzXeNHvfyl3BZqygmGzb84dsubyaXLH4husF+NFgMSdpZhk2Q== +array.prototype.flatmap@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.5.tgz#908dc82d8a406930fdf38598d51e7411d18d4446" + integrity sha512-08u6rVyi1Lj7oqWbS9nUxliETrtIROT4XGTA4D/LWGten6E3ocm7cy9SIrmNHOL5XVbVuckUp3X6Xyg8/zpvHA== dependencies: call-bind "^1.0.0" define-properties "^1.1.3" - es-abstract "^1.18.0-next.1" - function-bind "^1.1.1" + es-abstract "^1.19.0" arrify@^1.0.1: version "1.0.1" @@ -7603,9 +8946,9 @@ asn1.js@^5.2.0: safer-buffer "^2.1.0" 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== + version "0.2.6" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" + integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ== dependencies: safer-buffer "~2.1.0" @@ -7672,9 +9015,9 @@ async@^2.6.2: lodash "^4.17.14" async@^3.1.0, async@^3.2.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/async/-/async-3.2.1.tgz#d3274ec66d107a47476a4c49136aacdb00665fc8" - integrity sha512-XdD5lRO/87udXCMC9meWdYiR+Nq6ZjUfXidViUZGu2F1MO4T3XwZ1et0hb2++BgLfhyJwy44BGB/yx80ABx8hg== + version "3.2.2" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.2.tgz#2eb7671034bb2194d45d30e31e24ec7e7f9670cd" + integrity sha512-H0E+qZaDEfx/FY4t7iLRv1W2fFI6+pyCeTw1uN20AQPiwqwM6ojPxHxdLv4z8hi2DtnW9BOckSspLucW7pIE5g== async@~1.0.0: version "1.0.0" @@ -7707,35 +9050,36 @@ auto-bind@4.0.0: integrity sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ== autoprefixer@^9.6.1: - version "9.8.6" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.6.tgz#3b73594ca1bf9266320c5acf1588d74dea74210f" - integrity sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg== + version "9.8.8" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.8.tgz#fd4bd4595385fa6f06599de749a4d5f7a474957a" + integrity sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA== dependencies: browserslist "^4.12.0" caniuse-lite "^1.0.30001109" - colorette "^1.2.1" normalize-range "^0.1.2" num2fraction "^1.2.2" + picocolors "^0.2.1" postcss "^7.0.32" postcss-value-parser "^4.1.0" aws-amplify@^4.2.8: - version "4.2.8" - resolved "https://registry.yarnpkg.com/aws-amplify/-/aws-amplify-4.2.8.tgz#5a2659aeaed36463c00de1a44fc5f6603fdb7e40" - integrity sha512-EFnYRhH9XvEwcLvolZfs1T0hhopo0LNnuVPIJnJlrHz267o2nVIc1kTUjGq1L0Art0ea0XlaBqFFIdAPaCSL2g== - dependencies: - "@aws-amplify/analytics" "5.0.14" - "@aws-amplify/api" "4.0.14" - "@aws-amplify/auth" "4.3.4" - "@aws-amplify/cache" "4.0.16" - "@aws-amplify/core" "4.2.8" - "@aws-amplify/datastore" "3.4.2" - "@aws-amplify/interactions" "4.0.14" - "@aws-amplify/predictions" "4.0.14" - "@aws-amplify/pubsub" "4.1.6" - "@aws-amplify/storage" "4.3.9" + version "4.3.6" + resolved "https://registry.yarnpkg.com/aws-amplify/-/aws-amplify-4.3.6.tgz#0bd0e3a50eaf35c919ea48e2710491f7b16672d2" + integrity sha512-pibJqVwJB+/vv43h7JK7J2ZlOoWS1SExcnOr7Tp3thskrsyNkRbdhjsD1nP56VoxhKVuPuWZe47IMKK7vXH1oA== + dependencies: + "@aws-amplify/analytics" "5.1.4" + "@aws-amplify/api" "4.0.24" + "@aws-amplify/auth" "4.3.14" + "@aws-amplify/cache" "4.0.26" + "@aws-amplify/core" "4.3.6" + "@aws-amplify/datastore" "3.6.0" + "@aws-amplify/geo" "1.1.6" + "@aws-amplify/interactions" "4.0.24" + "@aws-amplify/predictions" "4.0.24" + "@aws-amplify/pubsub" "4.2.0" + "@aws-amplify/storage" "4.4.7" "@aws-amplify/ui" "2.0.3" - "@aws-amplify/xr" "3.0.14" + "@aws-amplify/xr" "3.0.24" aws-appsync-auth-link@^1.0.1: version "1.0.1" @@ -7746,13 +9090,15 @@ aws-appsync-auth-link@^1.0.1: aws-sdk "^2.518.0" debug "2.6.9" -aws-appsync-auth-link@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/aws-appsync-auth-link/-/aws-appsync-auth-link-2.0.5.tgz#e368786dcac0c8eb99309ca68fb7920b6146dab8" - integrity sha512-CTxoVjxtX6Oip1QZ/v97dpTOp2anFddIZcs96ZJurGS94jIz3YzTGHC1YanGaptUrTKCfrG3PL67+SG45IKTYA== +aws-appsync-auth-link@^2.0.7: + version "2.0.7" + resolved "https://registry.yarnpkg.com/aws-appsync-auth-link/-/aws-appsync-auth-link-2.0.7.tgz#4dbb915df1882612b1af345a224ebdc9f0f5e46f" + integrity sha512-JURYtzEkiYL3VDrvvz/raXAjivPc64rXX6lV2PgQC5/5j+WP6DfRGBDviqk/lEqyl/XAetV91yoL6x5yNkzWmw== dependencies: + "@aws-crypto/sha256-js" "^1.2.0" + "@aws-sdk/types" "^3.25.0" + "@aws-sdk/util-hex-encoding" "^3.29.0" apollo-link "1.2.5" - aws-sdk "^2.814.0" debug "2.6.9" aws-appsync-subscription-link@^1.0.1: @@ -7767,16 +9113,16 @@ aws-appsync-subscription-link@^1.0.1: debug "2.6.9" url "^0.11.0" -aws-appsync-subscription-link@^2.2.3: - version "2.2.3" - resolved "https://registry.yarnpkg.com/aws-appsync-subscription-link/-/aws-appsync-subscription-link-2.2.3.tgz#53a68bdfc3a9384f43772ba6d685808bdc26fcaf" - integrity sha512-6gyT4gTUcjXlX5d/84Fax0hgF4W5BWzUfA3u9hjLlXBlfaTnS4XYobnrauCXnlwysMms969SzALorPJ08dolLA== +aws-appsync-subscription-link@^2.2.6: + version "2.2.6" + resolved "https://registry.yarnpkg.com/aws-appsync-subscription-link/-/aws-appsync-subscription-link-2.2.6.tgz#811685d1acc745a311c945f15c65b20308f02057" + integrity sha512-xSUC4iaIBeICl1V4+JMki2/IGnCP0t/Z1bbk2Sp055za3OAAyrlsL1QDLMoaUPN2DfluSlDh26iMhxIeDH5PHw== dependencies: apollo-link "1.2.5" apollo-link-context "1.0.11" apollo-link-http "1.5.8" apollo-link-retry "2.2.7" - aws-appsync-auth-link "^2.0.5" + aws-appsync-auth-link "^2.0.7" debug "2.6.9" url "^0.11.0" @@ -7804,22 +9150,24 @@ aws-appsync@^2.0.2: uuid "3.x" aws-appsync@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/aws-appsync/-/aws-appsync-4.1.1.tgz#f82aeeef973bb6b97fc87aeafe18bc60301c34d3" - integrity sha512-aGJIwG3Mt0eYIIIvZnTDY1xg6472Cq0k3QW0NDzr0inuUwajgMnPSq0BsQ9R3ubhtCljzsxgvBdJctQQVSPlyA== - dependencies: - "@redux-offline/redux-offline" "2.5.2-native.3" + version "4.1.4" + resolved "https://registry.yarnpkg.com/aws-appsync/-/aws-appsync-4.1.4.tgz#5c5fcf225a8a59f544850fffd6f1cc34480df761" + integrity sha512-bSbFo58iNVGbRmXuvRwTnvU39XiDTaYYvTzyB428gkeF9iOd6xDB/q8jOSIWO44EwzdC1BzNBGSxmi+ev25ySQ== + dependencies: + "@aws-crypto/sha256-universal" "^1.1.1" + "@aws-sdk/client-s3" "^3.25.0" + "@aws-sdk/lib-storage" "^3.25.0" + "@aws-sdk/types" "^3.25.0" + "@redux-offline/redux-offline" "2.6.0-native.1" apollo-cache-inmemory "1.3.12" apollo-client "2.4.6" apollo-link "1.2.5" apollo-link-context "1.0.11" apollo-link-http "1.5.8" apollo-link-retry "2.2.7" - aws-appsync-auth-link "^2.0.5" - aws-appsync-subscription-link "^2.2.3" - aws-sdk "^2.814.0" + aws-appsync-auth-link "^2.0.7" + aws-appsync-subscription-link "^2.2.6" debug "2.6.9" - graphql "0.13.0" redux "^3.7.2" redux-thunk "^2.2.0" setimmediate "^1.0.5" @@ -7857,9 +9205,9 @@ aws-cdk@~1.124.0: yargs "^16.2.0" aws-sdk-mock@^5.1.0: - version "5.2.2" - resolved "https://registry.yarnpkg.com/aws-sdk-mock/-/aws-sdk-mock-5.2.2.tgz#a1a815dff7c6a215717e14b099d04ce0a3ab0f2a" - integrity sha512-0w0w54wuXjuOZ4s5VDaGdggQrLOVlzYITwMdurcw49uqb/HCwAShLpxEkx6bQ8n24CiTQ8fEyR02S8KCqGxXNQ== + version "5.4.0" + resolved "https://registry.yarnpkg.com/aws-sdk-mock/-/aws-sdk-mock-5.4.0.tgz#1c7abbcb128972f0a3a475d08eff9c67b82a04a9" + integrity sha512-lAks83rzszMBNJ91YYGZT/NEaXUlW1rzeBNPFY4i4ImoL3Xx26Ro4sBUb9TwTnU+8LDCMgVigSEELMPFfTUkmA== dependencies: aws-sdk "^2.928.0" sinon "^11.1.1" @@ -7880,25 +9228,10 @@ aws-sdk@2.518.0: uuid "3.3.2" xml2js "0.4.19" -aws-sdk@^2.518.0, aws-sdk@^2.814.0, aws-sdk@^2.848.0, aws-sdk@^2.928.0, aws-sdk@^2.963.0: - version "2.971.0" - resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.971.0.tgz#84e5b119e2eb84dc484a2b1c3a81e2f91e1cbfc8" - integrity sha512-7mPN7HnPILMNA8YMEMCZp/bi3o4blPoQ1TbBWaowGUt8RhkxgdAAqMy2vAkhElT5xWjROZS+1NgG3khzBlb0xw== - 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.979.0: - version "2.993.0" - resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.993.0.tgz#872c038b9cf78d35d6d90d99fd9b2973f99209ca" - integrity sha512-uAxPVkGM0+hWt+OmFUtNgQmmo3tQUW1MJD8wBWFpfw97QpG2WPMv6fEFBJmuaVt0LkElgTs+9oKJsu9WkPIC9Q== +aws-sdk@^2.518.0, aws-sdk@^2.848.0, aws-sdk@^2.928.0, aws-sdk@^2.963.0, aws-sdk@^2.979.0: + version "2.1030.0" + resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.1030.0.tgz#24a856af3d2b8b37c14a8f59974993661c66fd82" + integrity sha512-to0STOb8DsSGuSsUb/WCbg/UFnMGfIYavnJH5ZlRCHzvCFjTyR+vfE8ku+qIZvfFM4+5MNTQC/Oxfun2X/TuyA== dependencies: buffer "4.9.2" events "1.1.1" @@ -7920,10 +9253,10 @@ aws4@^1.8.0: resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== -axe-core@^4.0.2: - version "4.3.2" - resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.3.2.tgz#fcf8777b82c62cfc69c7e9f32c0d2226287680e7" - integrity sha512-5LMaDRWm8ZFPAEdzTYmgjjEdj1YnQcpfrVajO/sn/LhbpGp0Y0H64c2hLZI1gRMxfA+w1S71Uc/nHaOXgcCvGg== +axe-core@^4.3.5: + version "4.3.5" + resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.3.5.tgz#78d6911ba317a8262bfee292aeafcc1e04b49cc5" + integrity sha512-WKTW1+xAzhMS5dJsxWkliixlO/PqC4VhmO9T4juNYcaTg9jzWiJsou6m5pxWYGfigWbwzJWeFY6z47a+4neRXA== axios@0.21.4, axios@^0.21.1, axios@^0.21.4: version "0.21.4" @@ -7996,9 +9329,9 @@ babel-loader@8.1.0: schema-utils "^2.6.5" babel-loader@^8.1.0: - version "8.2.2" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.2.tgz#9363ce84c10c9a40e6c753748e1441b60c8a0b81" - integrity sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g== + version "8.2.3" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.3.tgz#8986b40f1a64cacfcb4b8429320085ef68b1342d" + integrity sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw== dependencies: find-cache-dir "^3.3.1" loader-utils "^1.4.0" @@ -8020,14 +9353,14 @@ babel-plugin-dynamic-import-node@^2.3.3: 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== + version "6.1.1" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" + integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@istanbuljs/load-nyc-config" "^1.0.0" "@istanbuljs/schema" "^0.1.2" - istanbul-lib-instrument "^4.0.0" + istanbul-lib-instrument "^5.0.4" test-exclude "^6.0.0" babel-plugin-jest-hoist@^26.6.2: @@ -8054,29 +9387,29 @@ babel-plugin-named-asset-import@^0.3.7: resolved "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.7.tgz#156cd55d3f1228a5765774340937afc8398067dd" integrity sha512-squySRkf+6JGnvjoUtDEjSREJEBirnXi9NqP6rjSYsylxQxqBTz+pkmf395i9E2zsvmYUaI40BHo6SqZUdydlw== -babel-plugin-polyfill-corejs2@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz#e9124785e6fd94f94b618a7954e5693053bf5327" - integrity sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ== +babel-plugin-polyfill-corejs2@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.3.tgz#6ed8e30981b062f8fe6aca8873a37ebcc8cc1c0f" + integrity sha512-NDZ0auNRzmAfE1oDDPW2JhzIMXUk+FFe2ICejmt5T4ocKgiQx3e0VCRx9NCAidcMtL2RUZaWtXnmjTCkx0tcbA== dependencies: "@babel/compat-data" "^7.13.11" - "@babel/helper-define-polyfill-provider" "^0.2.2" + "@babel/helper-define-polyfill-provider" "^0.2.4" semver "^6.1.1" -babel-plugin-polyfill-corejs3@^0.2.2: - version "0.2.4" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.4.tgz#68cb81316b0e8d9d721a92e0009ec6ecd4cd2ca9" - integrity sha512-z3HnJE5TY/j4EFEa/qpQMSbcUJZ5JQi+3UFjXzn6pQCmIKc5Ug5j98SuYyH+m4xQnvKlMDIW4plLfgyVnd0IcQ== +babel-plugin-polyfill-corejs3@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.3.0.tgz#fa7ca3d1ee9ddc6193600ffb632c9785d54918af" + integrity sha512-JLwi9vloVdXLjzACL80j24bG6/T1gYxwowG44dg6HN/7aTPdyPbJJidf6ajoA3RPHHtW0j9KMrSOLpIZpAnPpg== dependencies: - "@babel/helper-define-polyfill-provider" "^0.2.2" - core-js-compat "^3.14.0" + "@babel/helper-define-polyfill-provider" "^0.2.4" + core-js-compat "^3.18.0" -babel-plugin-polyfill-regenerator@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz#b310c8d642acada348c1fa3b3e6ce0e851bee077" - integrity sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg== +babel-plugin-polyfill-regenerator@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.3.tgz#2e9808f5027c4336c994992b48a4262580cb8d6d" + integrity sha512-JVE78oRZPKFIeUqFGrSORNzQnrDwZR16oiWeGM8ZyjBn2XAT5OjP+wXx5ESuo33nUsFUEJYjtklnsKbxW5L+7g== dependencies: - "@babel/helper-define-polyfill-provider" "^0.2.2" + "@babel/helper-define-polyfill-provider" "^0.2.4" babel-plugin-syntax-object-rest-spread@^6.8.0: version "6.13.0" @@ -8279,10 +9612,10 @@ bfj@^7.0.2: hoopy "^0.1.4" tryer "^1.0.1" -big-integer@^1.6.44: - version "1.6.48" - resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.48.tgz#8fd88bd1632cba4a1c8c3e3d7159f08bb95b4b9e" - integrity sha512-j51egjPa7/i+RdiRuJbPdJ2FIUYYPhvYLjzoYbcMMm62ooO6F94fETG4MTs46zPAF9Brs04OajboA/qTGuz78w== +big-integer@1.6.x: + version "1.6.51" + resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.51.tgz#0df92a5d9880560d3ff2d5fd20245c889d130686" + integrity sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg== big.js@^5.2.2: version "5.2.2" @@ -8409,19 +9742,19 @@ boxen@^5.0.0: widest-line "^3.1.0" wrap-ansi "^7.0.0" -bplist-creator@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/bplist-creator/-/bplist-creator-0.0.8.tgz#56b2a6e79e9aec3fc33bf831d09347d73794e79c" - integrity sha512-Za9JKzD6fjLC16oX2wsXfc+qBEhJBJB1YPInoAQpMLhDuj5aVOv1baGeIQSq1Fr3OCqzvsoQcSBSwGId/Ja2PA== +bplist-creator@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/bplist-creator/-/bplist-creator-0.1.0.tgz#018a2d1b587f769e379ef5519103730f8963ba1e" + integrity sha512-sXaHZicyEEmY86WyueLTQesbeoH/mquvarJaQNbjuOQO+7gbFcDEWqKmcWA4cOTLzFlfgvkiVxolk1k5bBIpmg== dependencies: - stream-buffers "~2.2.0" + stream-buffers "2.2.x" -bplist-parser@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/bplist-parser/-/bplist-parser-0.2.0.tgz#43a9d183e5bf9d545200ceac3e712f79ebbe8d0e" - integrity sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw== +bplist-parser@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/bplist-parser/-/bplist-parser-0.3.0.tgz#ba50666370f61bbf94881636cd9f7d23c5286090" + integrity sha512-zgmaRvT6AN1JpPPV+S0a1/FAtoxSreYDccZGIqEMSvZl9DMe70mJ7MFzpxa1X+gHVdkToE2haRUHHMiW1OdejA== dependencies: - big-integer "^1.6.44" + big-integer "1.6.x" brace-expansion@^1.1.7: version "1.1.11" @@ -8566,16 +9899,16 @@ browserslist@4.14.2: escalade "^3.0.2" node-releases "^1.1.61" -browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.16.6, browserslist@^4.16.7, browserslist@^4.6.2, browserslist@^4.6.4: - version "4.16.8" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.8.tgz#cb868b0b554f137ba6e33de0ecff2eda403c4fb0" - integrity sha512-sc2m9ohR/49sWEbPj14ZSSZqp+kbi16aLao42Hmn3Z8FpjuMaq2xCA2l4zl9ITfyzvnvyE0hcg62YkIGKxgaNQ== +browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.17.5, browserslist@^4.17.6, browserslist@^4.6.2, browserslist@^4.6.4: + version "4.18.1" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.18.1.tgz#60d3920f25b6860eb917c6c7b185576f4d8b017f" + integrity sha512-8ScCzdpPwR2wQh8IT82CA2VgDwjHyqMovPBZSNH54+tm4Jk2pCuv90gmAdH6J84OCRWi0b4gMe6O6XPXuJnjgQ== dependencies: - caniuse-lite "^1.0.30001251" - colorette "^1.3.0" - electron-to-chromium "^1.3.811" + caniuse-lite "^1.0.30001280" + electron-to-chromium "^1.3.896" escalade "^3.1.1" - node-releases "^1.1.75" + node-releases "^2.0.1" + picocolors "^1.0.0" bs-logger@0.x: version "0.2.6" @@ -8652,7 +9985,7 @@ buffer@4.9.2, buffer@^4.3.0: ieee754 "^1.1.4" isarray "^1.0.0" -buffer@^5.2.1, buffer@^5.5.0, buffer@^5.7.0: +buffer@^5.2.1, buffer@^5.5.0, buffer@^5.6.0, buffer@^5.7.0: version "5.7.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== @@ -8717,10 +10050,11 @@ cacache@^12.0.2: y18n "^4.0.0" cacache@^15.0.5, cacache@^15.2.0: - version "15.2.0" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.2.0.tgz#73af75f77c58e72d8c630a7a2858cb18ef523389" - integrity sha512-uKoJSHmnrqXgthDFx/IU6ED/5xd+NNGe+Bb+kLZy7Ku4P+BaiWEUflAKPZ7eAzsYGcsAGASJZsybXp+quEcHTw== + version "15.3.0" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.3.0.tgz#dc85380fb2f556fe3dda4c719bfa0ec875a7f1eb" + integrity sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ== dependencies: + "@npmcli/fs" "^1.0.0" "@npmcli/move-file" "^1.0.1" chownr "^2.0.0" fs-minipass "^2.0.0" @@ -8833,15 +10167,7 @@ camel-case@^3.0.0: no-case "^2.2.0" upper-case "^1.1.1" -camelcase-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" - integrity sha1-MIvur/3ygRkFHvodkyITyRuPkuc= - dependencies: - camelcase "^2.0.0" - map-obj "^1.0.0" - -camelcase-keys@^6.2.2: +camelcase-keys@6.2.2, camelcase-keys@^6.2.2: version "6.2.2" resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== @@ -8850,6 +10176,14 @@ camelcase-keys@^6.2.2: map-obj "^4.0.0" quick-lru "^4.0.1" +camelcase-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" + integrity sha1-MIvur/3ygRkFHvodkyITyRuPkuc= + dependencies: + camelcase "^2.0.0" + map-obj "^1.0.0" + camelcase@5.3.1, camelcase@^5.0.0, camelcase@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" @@ -8861,9 +10195,9 @@ camelcase@^2.0.0: integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8= camelcase@^6.0.0, camelcase@^6.1.0, camelcase@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" - integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== + version "6.2.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.1.tgz#250fd350cfd555d0d2160b1d51510eaf8326e86e" + integrity sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA== caniuse-api@^3.0.0: version "3.0.0" @@ -8875,10 +10209,10 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001125, caniuse-lite@^1.0.30001251: - version "1.0.30001251" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001251.tgz#6853a606ec50893115db660f82c094d18f096d85" - integrity sha512-HOe1r+9VkU4TFmnU70z+r7OLmtR+/chB1rdcJUeQlAinjEeb0cKL20tlAtOagNZhbrtLnCvV19B4FmF1rgzl6A== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001125, caniuse-lite@^1.0.30001280: + version "1.0.30001280" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001280.tgz#066a506046ba4be34cde5f74a08db7a396718fb7" + integrity sha512-kFXwYvHe5rix25uwueBxC569o53J6TpnGu0BEEn+6Lhl2vsnAumRFWEBhDft1fwyo6m1r4i+RqA4+163FpeFcA== capital-case@^1.0.4: version "1.0.4" @@ -9157,9 +10491,9 @@ class-utils@^0.3.5: static-extend "^0.1.1" clean-css@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78" - integrity sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA== + version "4.2.4" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.4.tgz#733bf46eba4e607c6891ea57c24a989356831178" + integrity sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A== dependencies: source-map "~0.6.0" @@ -9202,9 +10536,9 @@ cli-cursor@^3.1.0: restore-cursor "^3.1.0" cli-spinners@^2.2.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.6.0.tgz#36c7dc98fb6a9a76bd6238ec3f77e2425627e939" - integrity sha512-t+4/y50K/+4xcCRosKkA7W4gTr1MySvLV0q+PxmG7FJ5g+66ChKurYjxBCjHggHH3HA5Hh9cy+lcUGWDqVH+4Q== + version "2.6.1" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.6.1.tgz#adc954ebe281c37a6319bfa401e6dd2488ffb70d" + integrity sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g== cli-table3@^0.6.0: version "0.6.0" @@ -9304,6 +10638,11 @@ clsx@^1.1.1: resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.1.1.tgz#98b3134f9abbdf23b2663491ace13c5c03a73188" integrity sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA== +cmd-extension@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/cmd-extension/-/cmd-extension-1.0.2.tgz#6cce0233938f02f03d18a1198de5dfe546c80a82" + integrity sha512-iWDjmP8kvsMdBmLTHxFaqXikO8EdFRDfim7k6vUHglY/2xJ5jLrPsnQGijdfp4U+sr/BeecG0wKm02dSIAeQ1g== + cmd-shim@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-4.1.0.tgz#b3a904a6743e9fede4148c6f3800bf2a08135bdd" @@ -9341,18 +10680,18 @@ codecov@^3.7.0: teeny-request "7.1.1" urlgrey "1.0.0" -codemirror-graphql@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/codemirror-graphql/-/codemirror-graphql-1.0.2.tgz#cfbfb4ab9ed81467dc606848c5eb84e1f5d82766" - integrity sha512-D4+BdYa6iQnDlio4mBk1Yap5ROCqEWapSFLkiKGatx/I0dF6euzdwd0um3Ndudw6rFQbNuT7hpcH8tnBO6VOfQ== +codemirror-graphql@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/codemirror-graphql/-/codemirror-graphql-1.1.0.tgz#dd22ddf7761efa9131fa99a70a4a85fe653484e5" + integrity sha512-bp2XUg7epL07kJcylM8VCISK6X+rFsHL2lUkPQAw2v721MVhn+80FgjMP8tiZCOfJgHn1+JgsA71L5nOHWgUdA== dependencies: - graphql-language-service-interface "^2.8.2" - graphql-language-service-parser "^1.9.0" + graphql-language-service-interface "^2.9.0" + graphql-language-service-parser "^1.10.0" -codemirror@^5.54.0: - version "5.62.2" - resolved "https://registry.yarnpkg.com/codemirror/-/codemirror-5.62.2.tgz#bce6d19c9829e6e788f83886d48ecf5c1e106e65" - integrity sha512-tVFMUa4J3Q8JUd1KL9yQzQB0/BJt7ZYZujZmTPgo/54Lpuq3ez4C8x/ATUY/wv7b7X3AUq8o3Xd+2C5ZrCGWHw== +codemirror@^5.58.2: + version "5.63.3" + resolved "https://registry.yarnpkg.com/codemirror/-/codemirror-5.63.3.tgz#97042a242027fe0c87c09b36bc01931d37b76527" + integrity sha512-1C+LELr+5grgJYqwZKqxrcbPsHFHapVaVAloBsFBASbpLnQqLw1U8yXJ3gT5D+rhxIiSpo+kTqN+hQ+9ialIXw== collect-v8-coverage@^1.0.0: version "1.0.1" @@ -9367,7 +10706,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.1, color-convert@^1.9.3: +color-convert@^1.9.0, color-convert@^1.9.3: 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== @@ -9391,7 +10730,7 @@ color-name@^1.0.0, color-name@~1.1.4: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -color-string@^1.5.2, color-string@^1.6.0: +color-string@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.6.0.tgz#c3915f61fe267672cb7e1e064c9d692219f6c312" integrity sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA== @@ -9399,15 +10738,7 @@ color-string@^1.5.2, color-string@^1.6.0: 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" - -color@^3.0.0: +color@^3.0.0, color@^3.1.3: version "3.2.1" resolved "https://registry.yarnpkg.com/color/-/color-3.2.1.tgz#3544dc198caf4490c3ecc9a790b54fe9ff45e164" integrity sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA== @@ -9415,11 +10746,6 @@ color@^3.0.0: color-convert "^1.9.3" color-string "^1.6.0" -colorette@^1.2.1, colorette@^1.2.2, colorette@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.3.0.tgz#ff45d2f0edb244069d3b772adeb04fed38d0a0af" - integrity sha512-ecORCqbSFP7Wm8Y6lyqMJjexBQqXSF7SSeaTyGGphogUjBlFP9m9o08wy86HL2uB7fMTxtOUzLMk7ogKcxMg1w== - colors@1.0.x: version "1.0.3" resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" @@ -9431,11 +10757,11 @@ colors@^1.1.2, colors@^1.2.1, colors@^1.4.0: 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== + version "1.1.4" + resolved "https://registry.yarnpkg.com/colorspace/-/colorspace-1.1.4.tgz#8d442d1186152f60453bf8070cd66eb364e59243" + integrity sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w== dependencies: - color "3.0.x" + color "^3.1.3" text-hex "1.0.x" columnify@^1.5.4: @@ -9488,11 +10814,16 @@ commitizen@^4.0.3, commitizen@^4.2.4: strip-bom "4.0.0" strip-json-comments "3.0.1" -common-tags@1.8.0, common-tags@^1.4.0, common-tags@^1.8.0: +common-tags@1.8.0: version "1.8.0" resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.0.tgz#8e3153e542d4a39e9b10554434afaaf98956a937" integrity sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw== +common-tags@^1.4.0, common-tags@^1.8.0: + version "1.8.2" + resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.2.tgz#94ebb3c076d26032745fd54face7f688ef5ac9c6" + integrity sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA== + commondir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" @@ -9645,9 +10976,9 @@ constants-browserify@^1.0.0: integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= constructs@^3.3.125, constructs@^3.3.69: - version "3.3.126" - resolved "https://registry.yarnpkg.com/constructs/-/constructs-3.3.126.tgz#757c6a15bcc36bb25f79ca373883d571b422726c" - integrity sha512-2jnFK4CL9oc3yAtzSe3jUpdpW8eVGNNU3vAeXTHLv7ySHfHvLYsTDgr3txs1oi9anwXdJgivI6gB0JUjuT7T0g== + version "3.3.161" + resolved "https://registry.yarnpkg.com/constructs/-/constructs-3.3.161.tgz#9726b1d450f3b9aca7907230f2248e3fd4058ce4" + integrity sha512-/27vW3fo0iyb3py4vKI1BduEYmv8vv8uJgLXvI+5F0Jbnn0/E+As2wkGMa7bumhzCd0Ckv/USkAXstGYVXTYQA== content-disposition@0.5.3, content-disposition@^0.5.2: version "0.5.3" @@ -9662,26 +10993,26 @@ content-type@~1.0.4: integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== conventional-changelog-angular@^5.0.11, conventional-changelog-angular@^5.0.12: - version "5.0.12" - resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.12.tgz#c979b8b921cbfe26402eb3da5bbfda02d865a2b9" - integrity sha512-5GLsbnkR/7A89RyHLvvoExbiGbd9xKdKqDTrArnPbOqBqG/2wIosu0fHwpeIRI8Tl94MhVNBXcLJZl92ZQ5USw== + version "5.0.13" + resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz#896885d63b914a70d4934b59d2fe7bde1832b28c" + integrity sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA== dependencies: compare-func "^2.0.0" q "^1.5.1" conventional-changelog-conventionalcommits@^4.3.1: - version "4.6.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.0.tgz#7fc17211dbca160acf24687bd2fdd5fd767750eb" - integrity sha512-sj9tj3z5cnHaSJCYObA9nISf7eq/YjscLPoq6nmew4SiOjxqL2KRpK20fjnjVbpNDjJ2HR3MoVcWKXwbVvzS0A== + version "4.6.1" + resolved "https://registry.yarnpkg.com/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.1.tgz#f4c0921937050674e578dc7875f908351ccf4014" + integrity sha512-lzWJpPZhbM1R0PIzkwzGBCnAkH5RKJzJfFQZcl/D+2lsJxAwGnDKBqn/F4C1RD31GJNn8NuKWQzAZDAVXPp2Mw== dependencies: compare-func "^2.0.0" lodash "^4.17.15" q "^1.5.1" conventional-changelog-core@^4.2.2: - version "4.2.3" - resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-4.2.3.tgz#ce44d4bbba4032e3dc14c00fcd5b53fc00b66433" - integrity sha512-MwnZjIoMRL3jtPH5GywVNqetGILC7g6RQFvdb8LRU/fA/338JbeWAku3PZ8yQ+mtVRViiISqJlb0sOz0htBZig== + version "4.2.4" + resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz#e50d047e8ebacf63fac3dc67bf918177001e1e9f" + integrity sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg== dependencies: add-stream "^1.0.0" conventional-changelog-writer "^5.0.0" @@ -9732,9 +11063,9 @@ conventional-commits-filter@^2.0.7: modify-values "^1.0.0" conventional-commits-parser@^3.0.0, conventional-commits-parser@^3.2.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-3.2.1.tgz#ba44f0b3b6588da2ee9fd8da508ebff50d116ce2" - integrity sha512-OG9kQtmMZBJD/32NEw5IhN5+HnBqVjy03eC+I71I0oQRFA5rOgA4OtPOYG7mz1GkCfCNxn3gKIX8EiHJYuf1cA== + version "3.2.3" + resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-3.2.3.tgz#fc43704698239451e3ef35fd1d8ed644f46bd86e" + integrity sha512-YyRDR7On9H07ICFpRm/igcdjIqebXbvf4Cff+Pf0BrBys1i1EOzx9iFXNlAbdrLAR8jf7bkUYkDAr8pEy0q4Pw== dependencies: JSONStream "^1.0.4" is-text-path "^1.0.1" @@ -9742,7 +11073,6 @@ conventional-commits-parser@^3.0.0, conventional-commits-parser@^3.2.0: meow "^8.0.0" split2 "^3.0.0" through2 "^4.0.0" - trim-off-newlines "^1.0.0" conventional-recommended-bump@^6.1.0: version "6.1.0" @@ -9829,18 +11159,18 @@ copyfiles@^2.2.0: untildify "^4.0.0" yargs "^16.1.0" -core-js-compat@^3.14.0, core-js-compat@^3.16.0, core-js-compat@^3.6.2: - version "3.16.2" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.16.2.tgz#442ef1d933ca6fc80859bd5a1db7a3ba716aaf56" - integrity sha512-4lUshXtBXsdmp8cDWh6KKiHUg40AjiuPD3bOWkNVsr1xkAhpUqCjaZ8lB1bKx9Gb5fXcbRbFJ4f4qpRIRTuJqQ== +core-js-compat@^3.18.0, core-js-compat@^3.19.0, core-js-compat@^3.6.2: + version "3.19.1" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.19.1.tgz#fe598f1a9bf37310d77c3813968e9f7c7bb99476" + integrity sha512-Q/VJ7jAF/y68+aUsQJ/afPOewdsGkDtcMb40J8MbuWKlK3Y+wtHq8bTHKPj2WKWLIqmS5JhHs4CzHtz6pT2W6g== dependencies: - browserslist "^4.16.7" + browserslist "^4.17.6" semver "7.0.0" -core-js-pure@^3.16.0: - version "3.16.2" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.16.2.tgz#0ef4b79cabafb251ea86eb7d139b42bd98c533e8" - integrity sha512-oxKe64UH049mJqrKkynWp6Vu0Rlm/BTXO/bJZuN2mmR3RtOFNepLlSWDd1eo16PzHpQAoNG97rLU1V/YxesJjw== +core-js-pure@^3.19.0: + version "3.19.1" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.19.1.tgz#edffc1fc7634000a55ba05e95b3f0fe9587a5aa4" + integrity sha512-Q0Knr8Es84vtv62ei6/6jXH/7izKmOrtrxH9WJTHLCMAVeU+8TF8z8Nr08CsH4Ot0oJKzBzJJL9SJBYIv7WlfQ== core-js@^2.4.0, core-js@^2.4.1, core-js@^2.5.0, core-js@^2.5.1: version "2.6.12" @@ -9848,15 +11178,20 @@ core-js@^2.4.0, core-js@^2.4.1, core-js@^2.5.0, core-js@^2.5.1: integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== core-js@^3.6.4, core-js@^3.6.5: - version "3.16.2" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.16.2.tgz#3f485822889c7fc48ef463e35be5cc2a4a01a1f4" - integrity sha512-P0KPukO6OjMpjBtHSceAZEWlDD1M2Cpzpg6dBbrjFqFhBHe/BwhxaP820xKOjRn/lZRQirrCusIpLS/n2sgXLQ== + version "3.19.1" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.19.1.tgz#f6f173cae23e73a7d88fa23b6e9da329276c6641" + integrity sha512-Tnc7E9iKd/b/ff7GFbhwPVzJzPztGrChB8X8GLqoYGdEOG8IpLnK1xPyo3ZoO3HsK6TodJS58VGPOxA+hLHQMg== -core-util-is@1.0.2, core-util-is@~1.0.0: +core-util-is@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + cors@^2.8.5: version "2.8.5" resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" @@ -9887,9 +11222,9 @@ cosmiconfig@^6.0.0: yaml "^1.7.2" cosmiconfig@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3" - integrity sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA== + version "7.0.1" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d" + integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ== dependencies: "@types/parse-json" "^4.0.0" import-fresh "^3.2.1" @@ -9975,13 +11310,6 @@ cross-fetch@2.2.2: node-fetch "2.1.2" whatwg-fetch "2.0.4" -cross-fetch@3.1.4: - version "3.1.4" - resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.4.tgz#9723f3a3a247bf8b89039f3a380a9244e8fa2f39" - integrity sha512-1eAtFWdIubi6T4XPy6ei9iUFoKpUkIF971QLN8lIvvvwueI65+Nw5haMNKUwfJxabqlIIDODJKGrQ66gxC0PbQ== - dependencies: - node-fetch "2.6.1" - cross-spawn@7.0.3, 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" @@ -10002,6 +11330,16 @@ cross-spawn@^6.0.0, cross-spawn@^6.0.5: shebang-command "^1.2.0" which "^1.2.9" +cross-undici-fetch@^0.0.20: + version "0.0.20" + resolved "https://registry.yarnpkg.com/cross-undici-fetch/-/cross-undici-fetch-0.0.20.tgz#6b7c5ac82a3601edd439f37275ac0319d77a120a" + integrity sha512-5d3WBC4VRHpFndECK9bx4TngXrw0OUXdhX561Ty1ZoqMASz9uf55BblhTC1CO6GhMWnvk9SOqYEXQliq6D2P4A== + dependencies: + abort-controller "^3.0.0" + form-data "^4.0.0" + node-fetch "^2.6.5" + undici "^4.9.3" + crypt@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b" @@ -10155,9 +11493,9 @@ css-what@^3.2.1: integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ== css-what@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.0.1.tgz#3efa820131f4669a8ac2408f9c32e7c7de9f4cad" - integrity sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg== + version "5.1.0" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.1.0.tgz#3f7b707aadf633baf62c2ceb8579b545bb40f7fe" + integrity sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw== css.escape@^1.5.1: version "1.5.1" @@ -10291,9 +11629,9 @@ cssstyle@^2.3.0: cssom "~0.3.6" csstype@^3.0.2: - version "3.0.8" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.8.tgz#d2266a792729fb227cd216fb572f43728e1ad340" - integrity sha512-jXKhWqXPmlUeoQnF/EhTtTl4C9SnrxSH/jZUih3jmO6lBKr99rP3/+FmrMj4EFpOXzMtXHAZkd3x0E6h6Fgflw== + version "3.0.10" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.10.tgz#2ad3a7bed70f35b965707c092e5f30b327c290e5" + integrity sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA== currently-unhandled@^0.4.1: version "0.4.1" @@ -10334,7 +11672,7 @@ d@1, d@^1.0.1: es5-ext "^0.10.50" type "^1.0.1" -damerau-levenshtein@^1.0.6: +damerau-levenshtein@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.7.tgz#64368003512a1a6992593741a09a9d31a836f55d" integrity sha512-VvdQIPGdWP0SqFXghj79Wf/5LArmreyMsGLa6FG6iC4t3j7j5s71TrwWmT/4akbDQIqjfACkLZmjXhA7g2oUZw== @@ -10397,20 +11735,13 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.9: dependencies: ms "2.0.0" -debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1: +debug@4, debug@4.3.2, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1: version "4.3.2" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== dependencies: ms "2.1.2" -debug@4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" - integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== - dependencies: - ms "2.1.2" - debug@^3.1.1, debug@^3.2.6, debug@^3.2.7: version "3.2.7" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" @@ -10442,9 +11773,9 @@ decamelize@^4.0.0: integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== decamelize@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-5.0.0.tgz#88358157b010ef133febfd27c18994bd80c6215b" - integrity sha512-U75DcT5hrio3KNtvdULAWnLiAPbFUC4191ldxMmj4FA/mRuBnmDwU0boNfPyFRhnan+Jm+haLeSn3P0afcBn4w== + version "5.0.1" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-5.0.1.tgz#db11a92e58c741ef339fb0a2868d8a06a9a7b1e9" + integrity sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA== decimal.js@^10.2.1: version "10.3.1" @@ -10551,9 +11882,9 @@ deep-extend@^0.6.0: integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== 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= + version "0.1.4" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== deepmerge@4.2.2, deepmerge@^4.2.2: version "4.2.2" @@ -10611,7 +11942,7 @@ define-property@^2.0.2: degenerator@^3.0.1: version "3.0.1" - resolved "https://registry.npmjs.org/degenerator/-/degenerator-3.0.1.tgz#7ef78ec0c8577a544477308ddf1d2d6e88d51f5b" + resolved "https://registry.yarnpkg.com/degenerator/-/degenerator-3.0.1.tgz#7ef78ec0c8577a544477308ddf1d2d6e88d51f5b" integrity sha512-LFsIFEeLPlKvAKXu7j3ssIG6RT0TbI7/GhsqrI0DnHASEQjXQ0LUSYcjJteGgRGmZbl1TnMSxpNQIAiJ7Du5TQ== dependencies: ast-types "^0.13.2" @@ -10751,15 +12082,15 @@ diff-sequences@^27.0.6: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.0.6.tgz#3305cb2e55a033924054695cc66019fd7f8e5723" integrity sha512-ag6wfpBFyNXZ0p8pcuIDS//D8H062ZQJ3fzYxjpmeKjnz8W4pekL3AI8VohmyZmsWW2PWaHgjsmqR6L13101VQ== -diff2html@^3.4.8: - version "3.4.9" - resolved "https://registry.yarnpkg.com/diff2html/-/diff2html-3.4.9.tgz#b58151aee1d1c78dc461aad97991879fb15670b8" - integrity sha512-33x45h6Xgfasjt49e0ldfLnUdCjLjHIdablpAlrKnQyyG1RA7w+4cbp9+bUfNLxfFj584BookXqh5KJEt4+MLA== +diff2html@^3.4.12: + version "3.4.13" + resolved "https://registry.yarnpkg.com/diff2html/-/diff2html-3.4.13.tgz#a19fb9e47b05b7ed573590d57a45e7a132d3dd9c" + integrity sha512-IQb+P3aDVjjctcpRF089E9Uxjb6JInu/1SDklLaw2KapdwXKl3xd87mieweR2h6hNvdyAlylMHRrwK8M4oV1Sw== dependencies: diff "5.0.0" hogan.js "3.0.2" optionalDependencies: - highlight.js "11.1.0" + highlight.js "11.2.0" diff@5.0.0, diff@^5.0.0: version "5.0.0" @@ -10847,9 +12178,9 @@ doctrine@^3.0.0: esutils "^2.0.2" dom-accessibility-api@^0.5.6: - version "0.5.7" - resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.7.tgz#8c2aa6325968f2933160a0b7dbb380893ddf3e7d" - integrity sha512-ml3lJIq9YjUfM9TUnEPvEYWFSwivwIGBPKpewX7tii7fwCazA8yCioGdqQcNsItPpfFvSJ3VIdMQPj60LJhcQA== + version "0.5.10" + resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.10.tgz#caa6d08f60388d0bb4539dd75fe458a9a1d0014c" + integrity sha512-Xu9mD0UjrJisTmv7lmVSDMagQcU9R5hwAbxsaAE/35XPnPLJobbuREfV/rraiSaEj/UOvgrzQs66zyTWTlyd+g== dom-converter@^0.2.0: version "0.2.0" @@ -10913,9 +12244,9 @@ domhandler@^2.3.0: domelementtype "1" domhandler@^4.0.0, domhandler@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.2.0.tgz#f9768a5f034be60a89a27c2e4d0f74eba0d8b059" - integrity sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA== + version "4.2.2" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.2.2.tgz#e825d721d19a86b8c201a35264e226c678ee755f" + integrity sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w== dependencies: domelementtype "^2.2.0" @@ -10936,9 +12267,9 @@ domutils@^1.5.1, domutils@^1.7.0: domelementtype "1" domutils@^2.5.2, domutils@^2.6.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.7.0.tgz#8ebaf0c41ebafcf55b0b72ec31c56323712c5442" - integrity sha512-8eaHa17IwJUPAiB+SoTYBo5mCdeMgdcAoXJ59m6DT1vw+5iLS3gNoqYaRowaBKtGVrOF1Jz4yDTgYKLK2kvfJg== + version "2.8.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" + integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== dependencies: dom-serializer "^1.0.1" domelementtype "^2.2.0" @@ -11021,9 +12352,9 @@ dreamopt@~0.6.0: wordwrap ">=0.0.2" dset@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/dset/-/dset-3.1.0.tgz#23feb6df93816ea452566308b1374d6e869b0d7b" - integrity sha512-7xTQ5DzyE59Nn+7ZgXDXjKAGSGmXZHqttMVVz1r4QNfmGpyj+cm2YtI3II0c/+4zS4a9yq2mBhgdeq2QnpcYlw== + version "3.1.1" + resolved "https://registry.yarnpkg.com/dset/-/dset-3.1.1.tgz#07de5af7a8d03eab337ad1a8ba77fe17bba61a8c" + integrity sha512-hYf+jZNNqJBD2GiMYb+5mqOIX4R4RRHXU3qWMWYN+rqcR2/YpRL2bUHr8C8fU+5DNvqYjJ8YvMGSLuVPWU1cNg== duplexer3@^0.1.4: version "0.1.4" @@ -11077,10 +12408,10 @@ ejs@^3.0.1: dependencies: jake "^10.6.1" -electron-to-chromium@^1.3.564, electron-to-chromium@^1.3.811: - version "1.3.811" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.811.tgz#df5a7b18267a0b8b6ffed0dde63b9fb701f777f8" - integrity sha512-hv3kgf6YSd+jQ7J+7Kdm44yux/1vxcAwfGV/6M6Nq4E9zJ3Bml/P2+vULCvqLS6Lh9knBCQ7iEMvyeDiGe5EbA== +electron-to-chromium@^1.3.564, electron-to-chromium@^1.3.896: + version "1.3.899" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.899.tgz#4d7d040e73def3d5f5bd6b8a21049025dce6fce0" + integrity sha512-w16Dtd2zl7VZ4N4Db+FIa7n36sgPGCKjrKvUUmp5ialsikvcQLjcJR9RWnlYNxIyEHLdHaoIZEqKsPxU9MdyBg== elliptic@^6.5.3: version "6.5.4" @@ -11110,7 +12441,7 @@ 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== -emoji-regex@^9.0.0: +emoji-regex@^9.2.2: version "9.2.2" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== @@ -11165,20 +12496,20 @@ enquirer@^2.3.5, enquirer@^2.3.6: dependencies: ansi-colors "^4.1.1" +entities@2.2.0, entities@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" + integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== + entities@^1.1.1, entities@~1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== -entities@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" - integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== - -entities@~2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.3.tgz#5c487e5742ab93c15abb5da22759b8590ec03b7f" - integrity sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ== +entities@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.1.0.tgz#992d3129cf7df6870b96c57858c249a120f8b8b5" + integrity sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w== env-editor@^0.5.0: version "0.5.0" @@ -11221,22 +12552,25 @@ error-stack-parser@^2.0.6: dependencies: stackframe "^1.1.1" -es-abstract@^1.17.2, es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2, es-abstract@^1.18.2: - version "1.18.5" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.5.tgz#9b10de7d4c206a3581fd5b2124233e04db49ae19" - integrity sha512-DDggyJLoS91CkJjgauM5c0yZMjiD1uK3KcaCeAmffGwZ+ODWzOkPN4QwRbsK5DOFf06fywmyLci3ZD8jLGhVYA== +es-abstract@^1.17.2, es-abstract@^1.19.0, es-abstract@^1.19.1: + version "1.19.1" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.19.1.tgz#d4885796876916959de78edaa0df456627115ec3" + integrity sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w== dependencies: call-bind "^1.0.2" es-to-primitive "^1.2.1" function-bind "^1.1.1" get-intrinsic "^1.1.1" + get-symbol-description "^1.0.0" has "^1.0.3" has-symbols "^1.0.2" internal-slot "^1.0.3" - is-callable "^1.2.3" + is-callable "^1.2.4" is-negative-zero "^2.0.1" - is-regex "^1.1.3" - is-string "^1.0.6" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.1" + is-string "^1.0.7" + is-weakref "^1.0.1" object-inspect "^1.11.0" object-keys "^1.1.1" object.assign "^4.1.2" @@ -11294,7 +12628,7 @@ escape-goat@^2.0.0: resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675" integrity sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q== -escape-html@~1.0.3: +escape-html@^1.0.3, escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= @@ -11380,7 +12714,7 @@ eslint-config-react-app@^6.0.0: dependencies: confusing-browser-globals "^1.0.10" -eslint-import-resolver-node@^0.3.5: +eslint-import-resolver-node@^0.3.6: version "0.3.6" resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== @@ -11389,57 +12723,56 @@ eslint-import-resolver-node@^0.3.5: resolve "^1.20.0" eslint-import-resolver-typescript@^2.0.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.4.0.tgz#ec1e7063ebe807f0362a7320543aaed6fe1100e1" - integrity sha512-useJKURidCcldRLCNKWemr1fFQL1SzB3G4a0li6lFGvlc5xGe1hY343bvG07cbpCzPuM/lK19FIJB3XGFSkplA== + version "2.5.0" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.5.0.tgz#07661966b272d14ba97f597b51e1a588f9722f0a" + integrity sha512-qZ6e5CFr+I7K4VVhQu3M/9xGv9/YmwsEXrsm3nimw8vWaVHRDrQRp26BgCypTxBp3vUp4o5aVEJRiy0F2DFddQ== dependencies: - debug "^4.1.1" - glob "^7.1.6" + debug "^4.3.1" + glob "^7.1.7" is-glob "^4.0.1" - resolve "^1.17.0" + resolve "^1.20.0" tsconfig-paths "^3.9.0" -eslint-module-utils@^2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.2.tgz#94e5540dd15fe1522e8ffa3ec8db3b7fa7e7a534" - integrity sha512-QG8pcgThYOuqxupd06oYTZoNOGaUdTY1PqK+oS6ElF6vs4pBdk/aYxFVQQXzcrAqp9m7cl7lb2ubazX+g16k2Q== +eslint-module-utils@^2.7.1: + version "2.7.1" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.1.tgz#b435001c9f8dd4ab7f6d0efcae4b9696d4c24b7c" + integrity sha512-fjoetBXQZq2tSTWZ9yWVl2KuFrTZZH3V+9iD1V1RfpDgxzJR+mPd/KZmMiA8gbPqdBzpNiEHOuT7IYEWxrH0zQ== dependencies: debug "^3.2.7" + find-up "^2.1.0" pkg-dir "^2.0.0" eslint-plugin-flowtype@^5.2.0: - version "5.9.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-5.9.0.tgz#8d2d81d3d79bb53470ed62b97409b31684757e30" - integrity sha512-aBUVPA5Wt0XyuV3Wg8flfVqYJR6yR2nRLuyPwoTjCg5VTk4G1X1zQpInr39tUGgRxqrA+d+B9GYK4+/d1i0Rfw== + version "5.10.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-5.10.0.tgz#7764cc63940f215bf3f0bd2d9a1293b2b9b2b4bb" + integrity sha512-vcz32f+7TP+kvTUyMXZmCnNujBQZDNmcqPImw8b9PZ+16w1Qdm6ryRuYZYVaG9xRqqmAPr2Cs9FAX5gN+x/bjw== dependencies: lodash "^4.17.15" string-natural-compare "^3.0.1" eslint-plugin-import@^2.22.1: - version "2.24.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.24.0.tgz#697ffd263e24da5e84e03b282f5fb62251777177" - integrity sha512-Kc6xqT9hiYi2cgybOc0I2vC9OgAYga5o/rAFinam/yF/t5uBqxQbauNPMC6fgb640T/89P0gFoO27FOilJ/Cqg== + version "2.25.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.25.3.tgz#a554b5f66e08fb4f6dc99221866e57cfff824766" + integrity sha512-RzAVbby+72IB3iOEL8clzPLzL3wpDrlwjsTBAQXgyp5SeTqqY+0bFubwuo+y/HLhNZcXV4XqTBO4LGsfyHIDXg== dependencies: - array-includes "^3.1.3" - array.prototype.flat "^1.2.4" + array-includes "^3.1.4" + array.prototype.flat "^1.2.5" debug "^2.6.9" doctrine "^2.1.0" - eslint-import-resolver-node "^0.3.5" - eslint-module-utils "^2.6.2" - find-up "^2.0.0" + eslint-import-resolver-node "^0.3.6" + eslint-module-utils "^2.7.1" has "^1.0.3" - is-core-module "^2.4.0" + is-core-module "^2.8.0" + is-glob "^4.0.3" minimatch "^3.0.4" - object.values "^1.1.3" - pkg-up "^2.0.0" - read-pkg-up "^3.0.0" + object.values "^1.1.5" resolve "^1.20.0" - tsconfig-paths "^3.9.0" + tsconfig-paths "^3.11.0" eslint-plugin-jest@^24.1.0, eslint-plugin-jest@^24.1.3: - version "24.4.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-24.4.0.tgz#fa4b614dbd46a98b652d830377971f097bda9262" - integrity sha512-8qnt/hgtZ94E9dA6viqfViKBfkJwFHXgJmTWlMGDgunw1XJEGqm3eiPjDsTanM3/u/3Az82nyQM9GX7PM/QGmg== + version "24.7.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-24.7.0.tgz#206ac0833841e59e375170b15f8d0955219c4889" + integrity sha512-wUxdF2bAZiYSKBclsUMrYHH6WxiBreNjyDxbRv345TIvPeoCEgPNEn3Sa+ZrSqsf1Dl9SqqSREXMHExlMMu1DA== dependencies: "@typescript-eslint/experimental-utils" "^4.0.1" @@ -11452,51 +12785,54 @@ eslint-plugin-json@^2.0.1: vscode-json-languageservice "^3.7.0" eslint-plugin-jsx-a11y@^6.3.1, eslint-plugin-jsx-a11y@^6.4.1: - version "6.4.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.4.1.tgz#a2d84caa49756942f42f1ffab9002436391718fd" - integrity sha512-0rGPJBbwHoGNPU73/QCLP/vveMlM1b1Z9PponxO87jfr6tuH5ligXbDT6nHSSzBC8ovX2Z+BQu7Bk5D/Xgq9zg== + version "6.5.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.5.1.tgz#cdbf2df901040ca140b6ec14715c988889c2a6d8" + integrity sha512-sVCFKX9fllURnXT2JwLN5Qgo24Ug5NF6dxhkmxsMEUZhXRcGg+X3e1JbJ84YePQKBl5E0ZjAH5Q4rkdcGY99+g== dependencies: - "@babel/runtime" "^7.11.2" + "@babel/runtime" "^7.16.3" aria-query "^4.2.2" - array-includes "^3.1.1" + array-includes "^3.1.4" ast-types-flow "^0.0.7" - axe-core "^4.0.2" + axe-core "^4.3.5" axobject-query "^2.2.0" - damerau-levenshtein "^1.0.6" - emoji-regex "^9.0.0" + damerau-levenshtein "^1.0.7" + emoji-regex "^9.2.2" has "^1.0.3" - jsx-ast-utils "^3.1.0" + jsx-ast-utils "^3.2.1" language-tags "^1.0.5" + minimatch "^3.0.4" eslint-plugin-prettier@^3.1.2: - version "3.4.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.0.tgz#cdbad3bf1dbd2b177e9825737fe63b476a08f0c7" - integrity sha512-UDK6rJT6INSfcOo545jiaOwB701uAIt2/dR7WnFQoGCVl1/EMqdANBmwUaqqQ45aXprsTGzSa39LI1PyuRBxxw== + version "3.4.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz#e9ddb200efb6f3d05ffe83b1665a716af4a387e5" + integrity sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g== dependencies: prettier-linter-helpers "^1.0.0" eslint-plugin-react-hooks@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.2.0.tgz#8c229c268d468956334c943bb45fc860280f5556" - integrity sha512-623WEiZJqxR7VdxFCKLI6d6LLpwJkGPYKODnkH3D7WpOG5KM8yWueBd8TLsNAetEJNF5iJmolaAKO3F8yzyVBQ== + version "4.3.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.3.0.tgz#318dbf312e06fab1c835a4abef00121751ac1172" + integrity sha512-XslZy0LnMn+84NEG9jSGR6eGqaZB3133L8xewQo3fQagbQuGt7a63gf+P1NGKZavEYEC3UXaWEAA/AqDkuN6xA== eslint-plugin-react@^7.21.5, eslint-plugin-react@^7.22.0: - version "7.24.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.24.0.tgz#eadedfa351a6f36b490aa17f4fa9b14e842b9eb4" - integrity sha512-KJJIx2SYx7PBx3ONe/mEeMz4YE0Lcr7feJTCMyyKb/341NcjuAgim3Acgan89GfPv7nxXK2+0slu0CWXYM4x+Q== + version "7.27.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.27.0.tgz#f952c76517a3915b81c7788b220b2b4c96703124" + integrity sha512-0Ut+CkzpppgFtoIhdzi2LpdpxxBvgFf99eFqWxJnUrO7mMe0eOiNpou6rvNYeVVV6lWZvTah0BFne7k5xHjARg== dependencies: - array-includes "^3.1.3" - array.prototype.flatmap "^1.2.4" + array-includes "^3.1.4" + array.prototype.flatmap "^1.2.5" doctrine "^2.1.0" - has "^1.0.3" + estraverse "^5.3.0" jsx-ast-utils "^2.4.1 || ^3.0.0" minimatch "^3.0.4" - object.entries "^1.1.4" - object.fromentries "^2.0.4" - object.values "^1.1.4" + object.entries "^1.1.5" + object.fromentries "^2.0.5" + object.hasown "^1.1.0" + object.values "^1.1.5" prop-types "^15.7.2" resolve "^2.0.0-next.3" - string.prototype.matchall "^4.0.5" + semver "^6.3.0" + string.prototype.matchall "^4.0.6" eslint-plugin-spellcheck@^0.0.17: version "0.0.17" @@ -11555,16 +12891,16 @@ eslint-visitor-keys@^2.0.0: integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== eslint-webpack-plugin@^2.5.2: - version "2.5.4" - resolved "https://registry.yarnpkg.com/eslint-webpack-plugin/-/eslint-webpack-plugin-2.5.4.tgz#473b84932f1a8e2c2b8e66a402d0497bf440b986" - integrity sha512-7rYh0m76KyKSDE+B+2PUQrlNS4HJ51t3WKpkJg6vo2jFMbEPTG99cBV0Dm7LXSHucN4WGCG65wQcRiTFrj7iWw== + version "2.6.0" + resolved "https://registry.yarnpkg.com/eslint-webpack-plugin/-/eslint-webpack-plugin-2.6.0.tgz#3bd4ada4e539cb1f6687d2f619073dbb509361cd" + integrity sha512-V+LPY/T3kur5QO3u+1s34VDTcRxjXWPUGM4hlmTb5DwVD0OQz631yGTxJZf4SpAqAjdbBVe978S8BJeHpAdOhQ== dependencies: - "@types/eslint" "^7.2.6" + "@types/eslint" "^7.28.2" arrify "^2.0.1" - jest-worker "^26.6.2" - micromatch "^4.0.2" + jest-worker "^27.3.1" + micromatch "^4.0.4" normalize-path "^3.0.0" - schema-utils "^3.0.0" + schema-utils "^3.1.1" eslint@^7.11.0, eslint@^7.19.0, eslint@^7.9.0: version "7.32.0" @@ -11669,10 +13005,10 @@ estraverse@^4.1.1, estraverse@^4.2.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== +estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== estree-walker@^0.6.1: version "0.6.1" @@ -11910,11 +13246,11 @@ ext-name@^5.0.0: sort-keys-length "^1.0.0" ext@^1.1.2: - version "1.4.0" - resolved "https://registry.yarnpkg.com/ext/-/ext-1.4.0.tgz#89ae7a07158f79d35517882904324077e4379244" - integrity sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A== + version "1.6.0" + resolved "https://registry.yarnpkg.com/ext/-/ext-1.6.0.tgz#3871d50641e874cc172e2b53f919842d19db4c52" + integrity sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg== dependencies: - type "^2.0.0" + type "^2.5.0" extend-shallow@^2.0.1: version "2.0.1" @@ -11988,9 +13324,9 @@ extsprintf@1.3.0: 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= + version "1.4.1" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" + integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== eyes@0.1.x: version "0.1.8" @@ -12046,14 +13382,14 @@ fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= fast-redact@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/fast-redact/-/fast-redact-3.0.1.tgz#d6015b971e933d03529b01333ba7f22c29961e92" - integrity sha512-kYpn4Y/valC9MdrISg47tZOpYBNoTXKgT9GYXFpHN/jYFs+lFkPoisY+LcBODdKVMY96ATzvzsWv+ES/4Kmufw== + version "3.0.2" + resolved "https://registry.yarnpkg.com/fast-redact/-/fast-redact-3.0.2.tgz#c940ba7162dde3aeeefc522926ae8c5231412904" + integrity sha512-YN+CYfCVRVMUZOUPeinHNKgytM1wPI/C/UCLEi56EsY2dwwvI00kIJHJoI7pMVqGoMew8SMZ2SSfHKHULHXDsg== -fast-safe-stringify@^2.0.4, fast-safe-stringify@^2.0.8: - version "2.0.8" - resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.0.8.tgz#dc2af48c46cf712b683e849b2bbd446b32de936f" - integrity sha512-lXatBjf3WPjmWD6DpIZxkeSsCOwqI0maYMpgDlx8g4U2qi4lbjA9oH/HD2a87G+KfsUmo5WbJFmqBZlPxtptag== +fast-safe-stringify@^2.0.8: + version "2.1.1" + resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884" + integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== fast-url-parser@^1.1.3: version "1.1.3" @@ -12062,11 +13398,18 @@ fast-url-parser@^1.1.3: dependencies: punycode "^1.3.2" -fast-xml-parser@^3.16.0: +fast-xml-parser@3.19.0: version "3.19.0" resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-3.19.0.tgz#cb637ec3f3999f51406dd8ff0e6fc4d83e520d01" integrity sha512-4pXwmBplsCPv8FOY1WRakF970TjNGnGnfbOnLqjlYvMiF1SR3yOHyxMR/YCXpPTOspNF5gwudqktIP4VsWkvBg== +fast-xml-parser@^3.16.0: + version "3.21.1" + resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-3.21.1.tgz#152a1d51d445380f7046b304672dd55d15c9e736" + integrity sha512-FTFVjYoBOZTJekiUsawGsSYV9QL0A+zDYCRj7y34IO6Jg+2IMYEtQa+bbictpdpV8dHxXywqU7C0gRDEOFtBFg== + dependencies: + strnum "^1.0.4" + fastfall@^1.5.0: version "1.5.1" resolved "https://registry.yarnpkg.com/fastfall/-/fastfall-1.5.1.tgz#3fee03331a49d1d39b3cdf7a5e9cd66f475e7b94" @@ -12074,18 +13417,23 @@ fastfall@^1.5.0: dependencies: reusify "^1.0.0" +fastify-warning@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/fastify-warning/-/fastify-warning-0.2.0.tgz#e717776026a4493dc9a2befa44db6d17f618008f" + integrity sha512-s1EQguBw/9qtc1p/WTY4eq9WMRIACkj+HTcOIK1in4MV5aFaQC9ZCIt0dJ7pr5bIf4lPpHvAtP2ywpTNgs7hqw== + fastparallel@^2.2.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/fastparallel/-/fastparallel-2.4.0.tgz#65fbec1a5e5902494be772cf5765cbaaece08688" - integrity sha512-sacwQ7wwKlQXsa7TN24UvMBLZNLmVcPhmxccC9riFqb3N+fSczJL8eWdnZodZ/KijGVgNBBfvF/NeXER08uXnQ== + version "2.4.1" + resolved "https://registry.yarnpkg.com/fastparallel/-/fastparallel-2.4.1.tgz#0d984a5813ffa67f30b4a5cb4cb8cbe61c7ee5a5" + integrity sha512-qUmhxPgNHmvRjZKBFUNI0oZuuH9OlSIOXmJ98lhKPxMZZ7zS/Fi0wRHOihDSz0R1YiIOjxzOY4bq65YTcdBi2Q== dependencies: reusify "^1.0.4" xtend "^4.0.2" fastq@^1.3.0, fastq@^1.6.0: - version "1.11.1" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.11.1.tgz#5d8175aae17db61947f8b162cfc7f63264d22807" - integrity sha512-HOnr8Mc60eNYl1gzwp6r5RoUyAn5/glBolUzP/Ez6IFVPMPirxn/9phgL6zhOtaTy7ISwPvQ+wT+hfcRZh/bzw== + version "1.13.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" + integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== dependencies: reusify "^1.0.4" @@ -12312,9 +13660,9 @@ find-cache-dir@^2.1.0: pkg-dir "^3.0.0" find-cache-dir@^3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880" - integrity sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ== + version "3.3.2" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" + integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== dependencies: commondir "^1.0.1" make-dir "^3.0.2" @@ -12400,9 +13748,9 @@ flatstr@^1.0.12: integrity sha512-4zPxDyhCyiN2wIAtSLI6gc82/EjqZc1onI4Mz/l0pWrAlsSfYH/2ZIcU+e3oA2wDwbzIWNKwa23F8rh6+DRWkw== flatted@^3.1.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.2.tgz#64bfed5cb68fe3ca78b3eb214ad97b63bedce561" - integrity sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA== + version "3.2.4" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.4.tgz#28d9969ea90661b5134259f312ab6aa7929ac5e2" + integrity sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw== flatten@^1.0.2: version "1.0.3" @@ -12432,9 +13780,9 @@ folder-hash@^4.0.1: minimatch "~3.0.4" follow-redirects@^1.0.0, follow-redirects@^1.14.0: - version "1.14.3" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.3.tgz#6ada78118d8d24caee595595accdc0ac6abd022e" - integrity sha512-3MkHxknWMUtb23apkgz/83fDoe+y+qr0TdgacGIA7bew+QLBo3vdgEN2xEsuXNivpFy4CyDhBBZnNZOtalmenw== + version "1.14.5" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.5.tgz#f09a5848981d3c772b5392309778523f8d85c381" + integrity sha512-wtphSXy7d4/OR+MvIFbCVBDzZ5520qV8XfPklSN5QtxuMUJZ+b0Wnst1e1lCDocfzuCkHqj8k0FpZqO+UIaKNA== for-in@^1.0.1, for-in@^1.0.2: version "1.0.2" @@ -12466,19 +13814,19 @@ fork-ts-checker-webpack-plugin@4.1.6: tapable "^1.0.0" worker-rpc "^0.1.0" -form-data@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" - integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== +form-data@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" + integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== dependencies: asynckit "^0.4.0" combined-stream "^1.0.8" mime-types "^2.1.12" -form-data@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" - integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== +form-data@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" + integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== dependencies: asynckit "^0.4.0" combined-stream "^1.0.8" @@ -12608,9 +13956,9 @@ fsevents@^2.1.2, fsevents@^2.1.3, fsevents@~2.3.2: integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== fswin@^3.18.918: - version "3.21.107" - resolved "https://registry.yarnpkg.com/fswin/-/fswin-3.21.107.tgz#dad9259f72b016ae2e142552a41c58780d99920d" - integrity sha512-soKM5UyaZcsdCr3tlJXYTVPgpSMD28uJKFI5izxgLzBZe4z1Vh8/6on7I1Wv9CrBBerJXSTeTwr0RW+GRhu72Q== + version "3.21.1015" + resolved "https://registry.yarnpkg.com/fswin/-/fswin-3.21.1015.tgz#cabbeba40f2c5a6658be8feb1bdcfd19f9cb52db" + integrity sha512-aInTCya2B/9watMEaG3ZEdTyIHDUIy7ck02xONKIYULVCj6cqJTfxm6ndwWFkBoyyofKgPXW8LKj3uUtZ3qpuQ== ftp@^0.3.10: version "0.3.10" @@ -12679,14 +14027,14 @@ get-package-type@^0.1.0: integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== get-pkg-repo@^4.0.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/get-pkg-repo/-/get-pkg-repo-4.1.2.tgz#c4ffd60015cf091be666a0212753fc158f01a4c0" - integrity sha512-/FjamZL9cBYllEbReZkxF2IMh80d8TJoC4e3bmLNif8ibHw95aj0N/tzqK0kZz9eU/3w3dL6lF4fnnX/sDdW3A== + version "4.2.1" + resolved "https://registry.yarnpkg.com/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz#75973e1c8050c73f48190c52047c4cee3acbf385" + integrity sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA== dependencies: "@hutson/parse-repository-url" "^3.0.0" hosted-git-info "^4.0.0" - meow "^7.0.0" through2 "^2.0.0" + yargs "^16.2.0" get-port@^5.1.1: version "5.1.1" @@ -12742,6 +14090,14 @@ get-stream@^6.0.0: resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== +get-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" + integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + get-uri@3: version "3.0.2" resolved "https://registry.yarnpkg.com/get-uri/-/get-uri-3.0.2.tgz#f0ef1356faabc70e1f9404fa3b66b2ba9bfc725c" @@ -12802,9 +14158,9 @@ git-up@^4.0.0: parse-url "^6.0.0" git-url-parse@^11.4.4: - version "11.5.0" - resolved "https://registry.yarnpkg.com/git-url-parse/-/git-url-parse-11.5.0.tgz#acaaf65239cb1536185b19165a24bbc754b3f764" - integrity sha512-TZYSMDeM37r71Lqg1mbnMlOqlHd7BSij9qN7XwTkRqSAYFMihGLGhfHwgqQob3GUhEneKnV4nskN9rbQw2KGxA== + version "11.6.0" + resolved "https://registry.yarnpkg.com/git-url-parse/-/git-url-parse-11.6.0.tgz#c634b8de7faa66498a2b88932df31702c67df605" + integrity sha512-WWUxvJs5HsyHL6L08wOusa/IXYtMuCAhrMmnTjQPpBU0TTHyDhnOATNH3xNQz7YOQUsqIIPTGr4xiVti1Hsk5g== dependencies: git-up "^4.0.0" @@ -12875,7 +14231,7 @@ glob@7.1.4: once "^1.3.0" path-is-absolute "^1.0.0" -glob@7.1.7, glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.1.7, glob@~7.1.4: +glob@7.1.7, glob@~7.1.4: version "7.1.7" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== @@ -12898,7 +14254,7 @@ glob@^5.0.15: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.2.0: +glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.1.7, glob@^7.2.0: version "7.2.0" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== @@ -12966,9 +14322,9 @@ globals@^11.1.0: integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== globals@^13.0.0, globals@^13.6.0, globals@^13.9.0: - version "13.11.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.11.0.tgz#40ef678da117fe7bd2e28f1fab24951bd0255be7" - integrity sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g== + version "13.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.12.0.tgz#4d733760304230a0082ed96e21e5c565f898089e" + integrity sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg== dependencies: type-fest "^0.20.2" @@ -13055,18 +14411,19 @@ graphiql-explorer@^0.6.2: integrity sha512-TYQZm5aaHt1bRtoJAcur0fZpvSO3pvYiz22fgrBeEfeqMYKtzabaVQlRSTpyAhmlsTppR+O3qK7c77CFsGN/+A== graphiql@^1.3.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/graphiql/-/graphiql-1.4.2.tgz#a1dc1a4d8d35f60c90d6d8a9eb62a99756e9fd9b" - integrity sha512-TQDuuU/ZqTWV1yQDpVEiKskg0IYA+Wck37DYrrFzLlpgZWRbWiyab1PyHKiRep7J540CgScBg6C/gGCymKyO3g== + version "1.5.1" + resolved "https://registry.yarnpkg.com/graphiql/-/graphiql-1.5.1.tgz#f1f0ae7ce757693164fcc0a18147f1f9da9f62c6" + integrity sha512-D/ihDMKk+NJwgi6aNSzyNJbK5prg7oDL4F2jLcyZJj0E/ZzBldTDJwvZfoRVBCJCEK5HhvPhxBieH90bhdZTig== dependencies: - "@graphiql/toolkit" "^0.2.0" - codemirror "^5.54.0" - codemirror-graphql "^1.0.0" + "@graphiql/toolkit" "^0.4.0" + codemirror "^5.58.2" + codemirror-graphql "^1.1.0" copy-to-clipboard "^3.2.0" dset "^3.1.0" entities "^2.0.0" - graphql-language-service "^3.1.2" - markdown-it "^10.0.0" + escape-html "^1.0.3" + graphql-language-service "^3.2.1" + markdown-it "^12.2.0" graphql-auth-transformer@6.24.24: version "6.24.24" @@ -13175,43 +14532,45 @@ graphql-key-transformer@2.23.23: graphql-transformer-common "4.19.10" graphql-transformer-core "6.30.0" -graphql-language-service-interface@^2.8.2: - version "2.8.4" - resolved "https://registry.yarnpkg.com/graphql-language-service-interface/-/graphql-language-service-interface-2.8.4.tgz#3ff31754e9b295b1abc26b97d286c00835aacff0" - integrity sha512-myW8z7HOZkYfhYGKDc0URFkTZChp41Po890W92zuBIhGccckgtiWSJGXaLX+r9QAwVIeZhKaNgEacsyvQb1f/g== +graphql-language-service-interface@^2.9.0, graphql-language-service-interface@^2.9.1: + version "2.9.1" + resolved "https://registry.yarnpkg.com/graphql-language-service-interface/-/graphql-language-service-interface-2.9.1.tgz#be0b11b06b78730ea9d250e0e2290e7ed9c8d283" + integrity sha512-yGsE67fxJBXxY82+rLDMvUpmzpOUM8XFB+k+xOTUyABWs27osKaoGiuDDXAVGg1adhm+cpunWbipe763ZJkAVA== dependencies: - graphql-language-service-parser "^1.9.0" - graphql-language-service-types "^1.8.0" - graphql-language-service-utils "^2.5.1" + graphql-language-service-parser "^1.10.0" + graphql-language-service-types "^1.8.3" + graphql-language-service-utils "^2.6.0" vscode-languageserver-types "^3.15.1" -graphql-language-service-parser@^1.9.0: - version "1.9.2" - resolved "https://registry.yarnpkg.com/graphql-language-service-parser/-/graphql-language-service-parser-1.9.2.tgz#b2dc45620cb6b9bac8ac175c197c77f0ff12d679" - integrity sha512-3txms73cJsXDfJQdR5hI83N2rpTuq9FD6aijdrXAeSuI5B60g32DxjelUkt4Ge+2BvBEDLn5ppXlpVYDC9UQHQ== +graphql-language-service-parser@^1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/graphql-language-service-parser/-/graphql-language-service-parser-1.10.0.tgz#116f4be849754f6afb4c196421a43fe96d87b278" + integrity sha512-cLExv0EjqT2hsKdwVTPmKU6eMfjZAjxqywgCPnWD48eJn6tyuePMyG7ye+jpX1PRPPx/cDHfFJGf8sUclchvng== dependencies: graphql-language-service-types "^1.8.0" -graphql-language-service-types@^1.8.0: - version "1.8.2" - resolved "https://registry.yarnpkg.com/graphql-language-service-types/-/graphql-language-service-types-1.8.2.tgz#50ae56f69cc24fcfc3daa129b68b0eb9421e8578" - integrity sha512-Sj07RHnMwAhEvAt7Jdt1l/x56ZpoNh+V6g+T58CF6GiYqI5l4vXqqRB4d4xHDcNQX98GpJfnf3o8BqPgP3C5Sw== +graphql-language-service-types@^1.8.0, graphql-language-service-types@^1.8.3: + version "1.8.3" + resolved "https://registry.yarnpkg.com/graphql-language-service-types/-/graphql-language-service-types-1.8.3.tgz#d7d688d74c122c4d9cc4cceae761a1f2a3c396a1" + integrity sha512-m+RHnlGkKDcesW/gC4M7I2pSmWJB84uWS6LtnjplO/07JN312nJCJYCwV/DBny2m1fmSOxN7H/o+JW0l56KwBA== -graphql-language-service-utils@^2.5.1: - version "2.5.3" - resolved "https://registry.yarnpkg.com/graphql-language-service-utils/-/graphql-language-service-utils-2.5.3.tgz#185f4f65cf8c010871eb9405452a3a0bfdf88748" - integrity sha512-ydevEZ0AgzEKQF3hiCbLXuS0o7189Ww/T30WtCKCLaRHDYk9Yyb2PZWdhSTWLxYZTaX2TccV6NtFWvzIC7UP3g== +graphql-language-service-utils@^2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/graphql-language-service-utils/-/graphql-language-service-utils-2.6.0.tgz#d04904641248167ccbb381d8705ba97daa784954" + integrity sha512-idqwmbREixhDuQMcYp8WH0btQT02xZny8MO/HduNTVjnPrmTYnZUbpZ9AejdflmaKoS0o8nNvgXQ0GpIOzbG5g== dependencies: - graphql-language-service-types "^1.8.0" + graphql-language-service-types "^1.8.3" nullthrows "^1.0.0" -graphql-language-service@^3.1.2: - version "3.1.4" - resolved "https://registry.yarnpkg.com/graphql-language-service/-/graphql-language-service-3.1.4.tgz#ca8698f70e9923e3267e3d457228bc55a7dd75f9" - integrity sha512-AF98AT4wLxkE9q1gRf20Yn0EPgd5SctRiw1IkGFivPr98pEX0sKqUcIcIHePn2mxqf73jlWUJV5v6l/CB1gdqQ== +graphql-language-service@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/graphql-language-service/-/graphql-language-service-3.2.1.tgz#6269983d3cc59def1d09919259d8658cfc8fa3b8" + integrity sha512-w1FxU85zo1zuktcBZ3J5hk3OfxQv3GkzC/NKNh84gcyUZnJc+LOGq+gFzoPhfVdJO+v7JYkP73d3B48cbmmFDA== dependencies: - graphql-language-service-interface "^2.8.2" - graphql-language-service-types "^1.8.0" + graphql-language-service-interface "^2.9.1" + graphql-language-service-parser "^1.10.0" + graphql-language-service-types "^1.8.3" + graphql-language-service-utils "^2.6.0" graphql-mapping-template@4.18.3: version "4.18.3" @@ -13237,21 +14596,26 @@ graphql-request@^1.5.0: cross-fetch "2.2.2" graphql-schema-diff@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/graphql-schema-diff/-/graphql-schema-diff-2.3.0.tgz#abb19a762944253529fb58324fa18715fd0f360c" - integrity sha512-t7V73UOKHZ6EUu9vFhvQGUaHdbg/hALG9pDfRzpjyl+hv7vVqYsPfaTeB5xPFHLQN3d1UpUFCh9Jrricu5KJQw== + version "2.4.0" + resolved "https://registry.yarnpkg.com/graphql-schema-diff/-/graphql-schema-diff-2.4.0.tgz#c3f81ec4c676f223d7a79717d8e19ed9a5912ead" + integrity sha512-HLzrpAgePdyvqAfPILBvqgygEQFyoofBqTL1Nve2vjJ2XFHqykd7/j5duR2GHbYIA3W9YLK4JniXcJs0iUazSw== dependencies: - "@graphql-tools/graphql-file-loader" "^7.0.1" - "@graphql-tools/json-file-loader" "^7.0.1" - "@graphql-tools/load" "^7.0.1" - "@graphql-tools/url-loader" "^7.0.3" + "@graphql-tools/graphql-file-loader" "^7.3.0" + "@graphql-tools/json-file-loader" "^7.3.0" + "@graphql-tools/load" "^7.3.2" + "@graphql-tools/url-loader" "^7.2.0" chalk "^4.1.2" - diff2html "^3.4.8" + diff2html "^3.4.12" disparity "^3.2.0" fs-extra "^10.0.0" - graphql "^15.5.1" + graphql "^15.6.1" meow "^9.0.0" +graphql-sse@^1.0.1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/graphql-sse/-/graphql-sse-1.0.5.tgz#9185dc4764cce9296fc90341f9fdac9ed024ff67" + integrity sha512-x7HpPtbODImc20YfpKea++8Tj2ruKb1oLWNxd4xxa62BASxZRdm+uIq5bYGv7TwENeckgi/MjELtj2dZrTkQ8A== + graphql-subscriptions@^1.1.0: version "1.2.1" resolved "https://registry.yarnpkg.com/graphql-subscriptions/-/graphql-subscriptions-1.2.1.tgz#2142b2d729661ddf967b7388f7cf1dd4cf2e061d" @@ -13265,9 +14629,9 @@ graphql-tag@2.10.1: integrity sha512-jApXqWBzNXQ8jYa/HLkZJaVw9jgwNqZkywa2zfFn16Iv1Zb7ELNHkJaXHR7Quvd5SIGsy6Ny7SUKATgnu05uEg== graphql-tag@^2.10.1: - version "2.12.5" - resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.12.5.tgz#5cff974a67b417747d05c8d9f5f3cb4495d0db8f" - integrity sha512-5xNhP4063d16Pz3HBtKprutsPrmHZi5IdUGOWRxA2B6VF7BIRGOHZ5WQvDmJXZuPcBg7rYwaFxvQYjqkSdR3TQ== + version "2.12.6" + resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.12.6.tgz#d441a569c1d2537ef10ca3d1633b48725329b5f1" + integrity sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg== dependencies: tslib "^2.1.0" @@ -13320,15 +14684,15 @@ graphql-versioned-transformer@4.17.23: graphql-transformer-common "4.19.10" graphql-transformer-core "6.30.0" -graphql-ws@^4.3.2: +graphql-ws@^4.9.0: version "4.9.0" resolved "https://registry.yarnpkg.com/graphql-ws/-/graphql-ws-4.9.0.tgz#5cfd8bb490b35e86583d8322f5d5d099c26e365c" integrity sha512-sHkK9+lUm20/BGawNEWNtVAeJzhZeBg21VmvmLoT5NdGVeZWv5PdIhkcayQIAgjSyyQ17WMKmbDijIPG2On+Ag== -graphql-ws@^5.0.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/graphql-ws/-/graphql-ws-5.3.0.tgz#345f73686b639735f1f4ef0b9ea28e17c7f6a745" - integrity sha512-53MbSTOmgx5i6hf3DHVD5PrXix1drDmt2ja8MW7NG+aTpKGzkXVLyNcyNpxme4SK8jVtIV6ZIHkiwirqN0efpw== +graphql-ws@^5.4.1: + version "5.5.5" + resolved "https://registry.yarnpkg.com/graphql-ws/-/graphql-ws-5.5.5.tgz#f375486d3f196e2a2527b503644693ae3a8670a9" + integrity sha512-hvyIS71vs4Tu/yUYHPvGXsTgo0t3arU820+lT5VjZS2go0ewp2LqyCgxEN56CzOG7Iys52eRhHBiD1gGRdiQtw== graphql@0.13.0: version "0.13.0" @@ -13344,6 +14708,13 @@ graphql@14.0.0: dependencies: iterall "^1.2.2" +graphql@14.5.0: + version "14.5.0" + resolved "https://registry.yarnpkg.com/graphql/-/graphql-14.5.0.tgz#4801e6460942c9c591944617f6dd224a9e531520" + integrity sha512-wnGcTD181L2xPnIwHHjx/moV4ulxA2Kms9zcUY+B/SIrK+2N+iOC6WNgnR2zVTmg1Z8P+CZq5KXibTnatg3WUw== + dependencies: + iterall "^1.2.2" + graphql@^14.5.8: version "14.7.0" resolved "https://registry.yarnpkg.com/graphql/-/graphql-14.7.0.tgz#7fa79a80a69be4a31c27dda824dc04dac2035a72" @@ -13351,10 +14722,10 @@ graphql@^14.5.8: dependencies: iterall "^1.2.2" -graphql@^15.5.0, graphql@^15.5.1: - version "15.5.1" - resolved "https://registry.yarnpkg.com/graphql/-/graphql-15.5.1.tgz#f2f84415d8985e7b84731e7f3536f8bb9d383aad" - integrity sha512-FeTRX67T3LoE3LWAxxOlW2K3Bz+rMYAC18rRguK4wgXaTZMiJwSUwDmPFo3UadAKbzirKIg5Qy+sNJXbpPRnQw== +graphql@^15.5.0, graphql@^15.6.1: + version "15.7.2" + resolved "https://registry.yarnpkg.com/graphql/-/graphql-15.7.2.tgz#85ab0eeb83722977151b3feb4d631b5f2ab287ef" + integrity sha512-AnnKk7hFQFmU/2I9YSQf3xw44ctnSFCfp3zE0N6W174gqe9fWG/2rKaKxROK7CcI3XtERpjEKFqts8o319Kf7A== growl@1.10.5, growl@^1.10.5: version "1.10.5" @@ -13580,10 +14951,10 @@ hidefile@^3.0.0: dependencies: winattr "^3.0.0" -highlight.js@11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-11.1.0.tgz#0198f7326e64ddfbea5f76b00e84ab542cf24ae8" - integrity sha512-X9VVhYKHQPPuwffO8jk4bP/FVj+ibNCy3HxZZNDXFtJrq4O5FdcdCDRIkDis5MiMnjh7UwEdHgRZJcHFYdzDdA== +highlight.js@11.2.0: + version "11.2.0" + resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-11.2.0.tgz#a7e3b8c1fdc4f0538b93b2dc2ddd53a40c6ab0f0" + integrity sha512-JOySjtOEcyG8s4MLR2MNbLUyaXqUunmSnL2kdV/KuGJOmHZuAR5xC54Ko7goAXBWNhf09Vy3B+U7vR62UZ/0iw== hjson@^3.2.1: version "3.2.2" @@ -13920,9 +15291,9 @@ ignore@^4.0.6: integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== ignore@^5.1.4, 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== + version "5.1.9" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.9.tgz#9ec1a5cbe8e1446ec60d4420060d43aa6e7382fb" + integrity sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ== immer@8.0.1: version "8.0.1" @@ -14007,9 +15378,9 @@ import-local@^2.0.0: resolve-cwd "^2.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== + version "3.0.3" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.3.tgz#4d51c2c495ca9393da259ec66b62e022920211e0" + integrity sha512-bE9iaUY3CXH8Cwfan/abDKAxe1KGT9kyGsBPqf6DMK/z0a2OzAsrukeYNgIH6cH5Xr452jb1TUL8rSfCLjZ9uA== dependencies: pkg-dir "^4.2.0" resolve-cwd "^3.0.0" @@ -14064,7 +15435,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3, inherits@~2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -14090,15 +15461,14 @@ ini@^1.3.2, ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== init-package-json@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/init-package-json/-/init-package-json-2.0.3.tgz#c8ae4f2a4ad353bcbc089e5ffe98a8f1a314e8fd" - integrity sha512-tk/gAgbMMxR6fn1MgMaM1HpU1ryAmBWWitnxG5OhuNXeX0cbpbgV5jA4AIpQJVNoyOfOevTtO6WX+rPs+EFqaQ== + version "2.0.5" + resolved "https://registry.yarnpkg.com/init-package-json/-/init-package-json-2.0.5.tgz#78b85f3c36014db42d8f32117252504f68022646" + integrity sha512-u1uGAtEFu3VA6HNl/yUWw57jmKEMx8SKOxHhxjGnOFUiIlFnohKDFg4ZrPpv9wWqk44nDxGJAtqjdQFm+9XXQA== dependencies: - glob "^7.1.1" - npm-package-arg "^8.1.2" + npm-package-arg "^8.1.5" promzard "^0.3.0" read "~1.0.1" - read-package-json "^3.0.1" + read-package-json "^4.1.1" semver "^7.3.5" validate-npm-package-license "^3.0.4" validate-npm-package-name "^3.0.0" @@ -14297,7 +15667,7 @@ is-buffer@^1.1.5, is-buffer@~1.1.6: resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== -is-callable@^1.1.4, is-callable@^1.2.3: +is-callable@^1.1.4, is-callable@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== @@ -14321,10 +15691,10 @@ is-color-stop@^1.0.0: rgb-regex "^1.0.1" rgba-regex "^1.0.0" -is-core-module@^2.0.0, is-core-module@^2.2.0, is-core-module@^2.4.0, is-core-module@^2.5.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.6.0.tgz#d7553b2526fe59b92ba3e40c8df757ec8a709e19" - integrity sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ== +is-core-module@^2.0.0, is-core-module@^2.2.0, is-core-module@^2.5.0, is-core-module@^2.8.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.0.tgz#0321336c3d0925e497fd97f5d95cb114a5ccd548" + integrity sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw== dependencies: has "^1.0.3" @@ -14457,10 +15827,10 @@ 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.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== +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== dependencies: is-extglob "^2.1.1" @@ -14621,12 +15991,7 @@ is-primitive@^2.0.0: resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" integrity sha1-IHurkWOEmcB7Kt8kCkGochADRXU= -is-promise@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-4.0.0.tgz#42ff9f84206c1991d26debf520dd5c01042dd2f3" - integrity sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ== - -is-regex@^1.0.4, is-regex@^1.1.3: +is-regex@^1.0.4, is-regex@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== @@ -14654,6 +16019,11 @@ is-root@2.1.0: resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c" integrity sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg== +is-shared-array-buffer@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6" + integrity sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA== + is-ssh@^1.3.0: version "1.3.3" resolved "https://registry.yarnpkg.com/is-ssh/-/is-ssh-1.3.3.tgz#7f133285ccd7f2c2c7fc897b771b53d95a2b2c7e" @@ -14671,7 +16041,7 @@ is-stream@^2.0.0: resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== -is-string@^1.0.5, is-string@^1.0.6: +is-string@^1.0.5, is-string@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== @@ -14714,6 +16084,13 @@ is-utf8@^0.2.0, is-utf8@^0.2.1: resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= +is-weakref@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.1.tgz#842dba4ec17fa9ac9850df2d6efbc1737274f2a2" + integrity sha512-b2jKc2pQZjaeFYWEf7ScFj+Be1I+PXmlu572Q8coTXZ+LD/QQZ7ShPMst8h16riVgyXTQwUsFEl74mDvc/3MHQ== + dependencies: + call-bind "^1.0.0" + is-windows@^1.0.1, is-windows@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" @@ -14773,7 +16150,7 @@ isomorphic-fetch@^2.1.1: isomorphic-fetch@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-3.0.0.tgz#0267b005049046d2421207215d45d6a262b8b8b4" + resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-3.0.0.tgz#0267b005049046d2421207215d45d6a262b8b8b4" integrity sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA== dependencies: node-fetch "^2.6.1" @@ -14797,12 +16174,12 @@ isstream@0.1.x, isstream@~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-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" + integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== -istanbul-lib-instrument@^4.0.0, istanbul-lib-instrument@^4.0.3: +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== @@ -14812,6 +16189,17 @@ istanbul-lib-instrument@^4.0.0, istanbul-lib-instrument@^4.0.3: istanbul-lib-coverage "^3.0.0" semver "^6.3.0" +istanbul-lib-instrument@^5.0.4: + version "5.1.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz#7b49198b657b27a730b8e9cb601f1e1bff24c59a" + integrity sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q== + dependencies: + "@babel/core" "^7.12.3" + "@babel/parser" "^7.14.7" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.2.0" + semver "^6.3.0" + istanbul-lib-report@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" @@ -14822,18 +16210,18 @@ istanbul-lib-report@^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== + version "4.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" + integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== dependencies: debug "^4.1.1" istanbul-lib-coverage "^3.0.0" source-map "^0.6.1" istanbul-reports@^3.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== + version "3.0.5" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.5.tgz#a2580107e71279ea6d661ddede929ffc6d693384" + integrity sha512-5+19PlhnGabNWB7kOFnuxT8H3T/iIyQzIbQMxXsURmmvKg86P2sbkrGOT77VnHw0Qr0gc2XzRaRfMZYYbSQCJQ== dependencies: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" @@ -15010,14 +16398,14 @@ jest-diff@^26.0.0, jest-diff@^26.6.2: pretty-format "^26.6.2" jest-diff@^27.0.0: - version "27.0.6" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.0.6.tgz#4a7a19ee6f04ad70e0e3388f35829394a44c7b5e" - integrity sha512-Z1mqgkTCSYaFgwTlP/NUiRzdqgxmmhzHY1Tq17zL94morOHfHu3K4bgSgl+CR4GLhpV8VxkuOYuIWnQ9LnFqmg== + version "27.3.1" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.3.1.tgz#d2775fea15411f5f5aeda2a5e02c2f36440f6d55" + integrity sha512-PCeuAH4AWUo2O5+ksW4pL9v5xJAcIKPUPfIhZBcG1RKv/0+dvaWTQK1Nrau8d67dp65fOqbeMdoil+6PedyEPQ== dependencies: chalk "^4.0.0" diff-sequences "^27.0.6" - jest-get-type "^27.0.6" - pretty-format "^27.0.6" + jest-get-type "^27.3.1" + pretty-format "^27.3.1" jest-docblock@^26.0.0: version "26.0.0" @@ -15067,10 +16455,10 @@ jest-get-type@^26.3.0: resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.3.0.tgz#e97dc3c3f53c2b406ca7afaed4493b1d099199e0" integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== -jest-get-type@^27.0.6: - version "27.0.6" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.0.6.tgz#0eb5c7f755854279ce9b68a9f1a4122f69047cfe" - integrity sha512-XTkK5exIeUbbveehcSR8w0bhH+c0yloW/Wpl+9vZrjzztCPWrxhHwkIFpZzCt71oRBsgxmuUfxEqOYoZI2macg== +jest-get-type@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.3.1.tgz#a8a2b0a12b50169773099eee60a0e6dd11423eff" + integrity sha512-+Ilqi8hgHSAdhlQ3s12CAVNd8H96ZkQBfYoXmArzZnOfAtVAJEiPDBirjByEblvG/4LPJmkL+nBqPO3A1YJAEg== jest-haste-map@^26.6.2: version "26.6.2" @@ -15118,9 +16506,9 @@ jest-jasmine2@^26.6.3: throat "^5.0.0" jest-junit@^12.0.0: - version "12.2.0" - resolved "https://registry.yarnpkg.com/jest-junit/-/jest-junit-12.2.0.tgz#cff7f9516e84f8e30f6bdea04cd84db6b095a376" - integrity sha512-ecGzF3KEQwLbMP5xMO7wqmgmyZlY/5yWDvgE/vFa+/uIT0KsU5nluf0D2fjIlOKB+tb6DiuSSpZuGpsmwbf7Fw== + version "12.3.0" + resolved "https://registry.yarnpkg.com/jest-junit/-/jest-junit-12.3.0.tgz#ee41a74e439eecdc8965f163f83035cce5998d6d" + integrity sha512-+NmE5ogsEjFppEl90GChrk7xgz8xzvF0f+ZT5AnhW6suJC93gvQtmQjfyjDnE0Z2nXJqEkxF0WXlvjG/J+wn/g== dependencies: mkdirp "^1.0.4" strip-ansi "^5.2.0" @@ -15371,6 +16759,15 @@ jest-worker@^26.5.0, jest-worker@^26.6.2: merge-stream "^2.0.0" supports-color "^7.0.0" +jest-worker@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.3.1.tgz#0def7feae5b8042be38479799aeb7b5facac24b2" + integrity sha512-ks3WCzsiZaOPJl/oMsDjaf0TRiSv7ctNgs0FqRr2nARsovz6AWWy4oLElwcquGSz692DzgZQrCLScPNs5YlC4g== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + jest@26.6.0: version "26.6.0" resolved "https://registry.yarnpkg.com/jest/-/jest-26.6.0.tgz#546b25a1d8c888569dbbe93cae131748086a4a25" @@ -15550,7 +16947,7 @@ json3@^3.3.3: resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81" integrity sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA== -json5@2.x, json5@^2.1.2, json5@^2.2.0: +json5@2.x, json5@^2.1.2: version "2.2.0" resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== @@ -15636,12 +17033,12 @@ jstreemap@^1.28.2: resolved "https://registry.yarnpkg.com/jstreemap/-/jstreemap-1.28.2.tgz#fe884994039e5ee23a157cf7ddd6c01c3a6d134d" integrity sha512-JYVDYwLat+OVXLpIXgUPy06wPSEkQafGOeotpGFodkM5+K8x3IrVPGaTw+Fd9MmZy092cLG/N+3q90oSBHZoQQ== -"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.2.0.tgz#41108d2cec408c3453c1bbe8a4aae9e1e2bd8f82" - integrity sha512-EIsmt3O3ljsU6sot/J4E1zDRxfBNrhjyf/OKjlydwgEimQuznlM4Wv7U+ueONJMyEn1WRE0K8dhi3dVAXYT24Q== +"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.2.1.tgz#720b97bfe7d901b927d87c3773637ae8ea48781b" + integrity sha512-uP5vu8xfy2F9A6LGC22KO7e2/vGTS1MhP+18f++ZNlf0Ohaxbc9nIEwHAsejlJKyzfZzU5UIhe5ItYkitcZnZA== dependencies: - array-includes "^3.1.2" + array-includes "^3.1.3" object.assign "^4.1.2" junjo@>=0.2.6: @@ -15728,9 +17125,9 @@ kleur@^3.0.3: integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== klona@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.4.tgz#7bb1e3affb0cb8624547ef7e8f6708ea2e39dfc0" - integrity sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA== + version "2.0.5" + resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.5.tgz#d166574d90076395d9963aa7a928fabb8d76afbc" + integrity sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ== kuler@^2.0.0: version "2.0.0" @@ -15765,9 +17162,9 @@ latest-version@^5.1.0: package-json "^6.3.0" lazystream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4" - integrity sha1-9plf4PggOS9hOWvolGJAe7dxaOQ= + version "1.0.1" + resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.1.tgz#494c831062f1f9408251ec44db1cba29242a2638" + integrity sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw== dependencies: readable-stream "^2.0.5" @@ -15843,19 +17240,19 @@ libnpmpublish@^4.0.0: ssri "^8.0.1" libphonenumber-js@^1.7.31: - version "1.9.23" - resolved "https://registry.yarnpkg.com/libphonenumber-js/-/libphonenumber-js-1.9.23.tgz#e28babdaaaf7e09fbaf23a1c714166fa63001ea3" - integrity sha512-+qWSwPyJWSV9ukb7Iu21WpWEP7irFWR1ojoYykL2itAfXKj9FjsTjS6PPZoPUOZk+1kxliHjwsilqA1TNeOhuQ== + version "1.9.42" + resolved "https://registry.yarnpkg.com/libphonenumber-js/-/libphonenumber-js-1.9.42.tgz#41f41d540f89b6e3fd36de7120ddb57b3a468c77" + integrity sha512-UBtU0ylpZPKPT8NLIyQJWj/DToMFxmo3Fm5m6qDc0LATvf0SY0qUhaurCEvukAB9Fo+Ia2Anjzqwoupaa64fXg== 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= -linkify-it@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-2.2.0.tgz#e3b54697e78bf915c70a38acd78fd09e0058b1cf" - integrity sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw== +linkify-it@^3.0.1: + version "3.0.3" + resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-3.0.3.tgz#a98baf44ce45a550efb4d49c769d07524cc2fa2e" + integrity sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ== dependencies: uc.micro "^1.0.1" @@ -15914,7 +17311,7 @@ loader-utils@1.2.3: emojis-list "^2.0.0" json5 "^1.0.1" -loader-utils@2.0.0, loader-utils@^2.0.0: +loader-utils@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.0.tgz#e4cace5b816d425a166b5f097e10cd12b36064b0" integrity sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ== @@ -15932,6 +17329,15 @@ loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4.0: emojis-list "^3.0.0" json5 "^1.0.1" +loader-utils@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.2.tgz#d6e3b4fb81870721ae4e0868ab11dd638368c129" + integrity sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^2.1.2" + locate-path@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" @@ -15962,7 +17368,7 @@ locate-path@^6.0.0: dependencies: p-locate "^5.0.0" -lodash-es@^4.17.15, lodash-es@^4.17.4, lodash-es@^4.2.1: +lodash-es@^4.17.21, lodash-es@^4.17.4, lodash-es@^4.2.1: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== @@ -15982,11 +17388,6 @@ lodash.bind@^4.1.4: resolved "https://registry.yarnpkg.com/lodash.bind/-/lodash.bind-4.2.1.tgz#7ae3017e939622ac31b7d7d7dcb1b34db1690d35" integrity sha1-euMBfpOWIqwxt9fX3LGzTbFpDTU= -lodash.clonedeep@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" - integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= - lodash.debounce@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" @@ -16017,7 +17418,7 @@ lodash.foreach@^4.3.0: resolved "https://registry.yarnpkg.com/lodash.foreach/-/lodash.foreach-4.5.0.tgz#1a6a35eace401280c7f06dddec35165ab27e3e53" integrity sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM= -lodash.get@^4.4.2: +lodash.get@^4, lodash.get@^4.4.2: version "4.4.2" resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= @@ -16142,7 +17543,7 @@ lodash@4.17.15: resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== -lodash@4.17.21, lodash@4.x, "lodash@>=3.5 <5", lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.5.1, lodash@^4.7.0, lodash@~4.17.0, lodash@~4.17.15: +lodash@4.x, "lodash@>=3.5 <5", lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.5.1, lodash@^4.7.0, lodash@~4.17.0, lodash@~4.17.15: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -16188,14 +17589,14 @@ logdown@^3.3.0: chalk "^2.3.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== + version "2.3.0" + resolved "https://registry.yarnpkg.com/logform/-/logform-2.3.0.tgz#a3997a05985de2ebd325ae0d166dffc9c6fe6b57" + integrity sha512-graeoWUH2knKbGthMtuG1EfaSPMZFZBIrhuJHhkS5ZseFBrc7DupCzihOQAzsK/qIKPQaPJ/lFQFctILUY5ARQ== dependencies: colors "^1.2.1" - fast-safe-stringify "^2.0.4" fecha "^4.2.0" ms "^2.1.1" + safe-stable-stringify "^1.1.0" triple-beam "^1.3.0" loglevel-colored-level-prefix@^1.0.0: @@ -16334,7 +17735,7 @@ make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0: dependencies: semver "^6.0.0" -make-error@1.x, make-error@^1.1.1: +make-error@1.x, make-error@^1, make-error@^1.1.1: version "1.3.6" resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== @@ -16361,9 +17762,9 @@ make-fetch-happen@^8.0.9: ssri "^8.0.0" make-fetch-happen@^9.0.1: - version "9.0.4" - resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-9.0.4.tgz#ceaa100e60e0ef9e8d1ede94614bb2ba83c8bb24" - integrity sha512-sQWNKMYqSmbAGXqJg2jZ+PmHh5JAybvwu0xM8mZR/bsTjGiTASj3ldXJV7KFHy1k/IJIBkjxQFoWIVsv9+PQMg== + version "9.1.0" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz#53085a09e7971433e6765f7971bf63f4e05cb968" + integrity sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg== dependencies: agentkeepalive "^4.1.3" cacache "^15.2.0" @@ -16379,7 +17780,7 @@ make-fetch-happen@^9.0.1: minipass-pipeline "^1.2.4" negotiator "^0.6.2" promise-retry "^2.0.1" - socks-proxy-agent "^5.0.0" + socks-proxy-agent "^6.0.0" ssri "^8.0.0" make-iterator@^0.1.1: @@ -16396,12 +17797,12 @@ make-iterator@^1.0.0: dependencies: kind-of "^6.0.2" -makeerror@1.0.x: - version "1.0.11" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" - integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= +makeerror@1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" + integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== dependencies: - tmpl "1.0.x" + tmpl "1.0.5" map-cache@^0.2.2: version "0.2.2" @@ -16414,9 +17815,9 @@ map-obj@^1.0.0, map-obj@^1.0.1: integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= map-obj@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.2.1.tgz#e4ea399dbc979ae735c83c863dd31bdf364277b7" - integrity sha512-+WA2/1sPmDj1dlvvJmB5G6JKfY9dpn7EVBUL06+y6PoljPkh+6V1QihwxNkbcGxCRjt2b0F9K0taiCuo7MbdFQ== + version "4.3.0" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" + integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== map-visit@^1.0.0: version "1.0.0" @@ -16425,14 +17826,14 @@ map-visit@^1.0.0: dependencies: object-visit "^1.0.0" -markdown-it@^10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-10.0.0.tgz#abfc64f141b1722d663402044e43927f1f50a8dc" - integrity sha512-YWOP1j7UbDNz+TumYP1kpwnP0aEa711cJjrAQrzd0UXlbJfc5aAq0F/PZHjiioqDC1NKgvIMX+o+9Bk7yuM2dg== +markdown-it@^12.2.0: + version "12.2.0" + resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-12.2.0.tgz#091f720fd5db206f80de7a8d1f1a7035fd0d38db" + integrity sha512-Wjws+uCrVQRqOoJvze4HCqkKl1AsSh95iFAeQDwnyfxM09divCBSXlDR1uTvyUP3Grzpn4Ru8GeCxYPM8vkCQg== dependencies: - argparse "^1.0.7" - entities "~2.0.0" - linkify-it "^2.0.0" + argparse "^2.0.1" + entities "~2.1.0" + linkify-it "^3.0.1" mdurl "^1.0.1" uc.micro "^1.0.5" @@ -16511,23 +17912,6 @@ meow@^3.3.0: redent "^1.0.0" trim-newlines "^1.0.0" -meow@^7.0.0: - version "7.1.1" - resolved "https://registry.yarnpkg.com/meow/-/meow-7.1.1.tgz#7c01595e3d337fcb0ec4e8eed1666ea95903d306" - integrity sha512-GWHvA5QOcS412WCo8vwKDlTelGLsCGBVevQB5Kva961rmNfun0PCbv5+xta2kUMFJyR8/oWnn7ddeKdosbAPbA== - dependencies: - "@types/minimist" "^1.2.0" - camelcase-keys "^6.2.2" - decamelize-keys "^1.1.0" - hard-rejection "^2.1.0" - minimist-options "4.1.0" - normalize-package-data "^2.5.0" - read-pkg-up "^7.0.1" - redent "^3.0.0" - trim-newlines "^3.0.0" - type-fest "^0.13.1" - yargs-parser "^18.1.3" - meow@^8.0.0: version "8.1.2" resolved "https://registry.yarnpkg.com/meow/-/meow-8.1.2.tgz#bcbe45bda0ee1729d350c03cffc8395a36c4e897" @@ -16659,17 +18043,17 @@ miller-rabin@^4.0.0: bn.js "^4.0.0" brorand "^1.0.1" -mime-db@1.49.0, "mime-db@>= 1.43.0 < 2", mime-db@^1.28.0: - version "1.49.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.49.0.tgz#f3dfde60c99e9cf3bc9701d687778f537001cbed" - integrity sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA== +mime-db@1.51.0, "mime-db@>= 1.43.0 < 2", mime-db@^1.28.0: + version "1.51.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c" + integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g== mime-types@^2.1.12, mime-types@^2.1.26, mime-types@^2.1.27, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24: - version "2.1.32" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.32.tgz#1d00e89e7de7fe02008db61001d9e02852670fd5" - integrity sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A== + version "2.1.34" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24" + integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A== dependencies: - mime-db "1.49.0" + mime-db "1.51.0" mime@1.6.0: version "1.6.0" @@ -16677,9 +18061,9 @@ mime@1.6.0: integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== mime@^2.4.4, mime@^2.5.2: - version "2.5.2" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.5.2.tgz#6e3dc6cc2b9510643830e5f19d5cb753da5eeabe" - integrity sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg== + version "2.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" + integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== mimic-fn@^1.0.0: version "1.2.0" @@ -16755,9 +18139,9 @@ minipass-collect@^1.0.2: minipass "^3.0.0" minipass-fetch@^1.3.0, minipass-fetch@^1.3.2: - version "1.3.4" - resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-1.3.4.tgz#63f5af868a38746ca7b33b03393ddf8c291244fe" - integrity sha512-TielGogIzbUEtd1LsjZFs47RWuHHfhl6TiCx1InVxApBAmQ8bL0dL5ilkLGcRvuyW/A9nE+Lvn855Ewz8S0PnQ== + version "1.4.1" + resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-1.4.1.tgz#d75e0091daac1b0ffd7e9d41629faff7d0c1f1b6" + integrity sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw== dependencies: minipass "^3.1.0" minipass-sized "^1.0.3" @@ -16803,9 +18187,9 @@ minipass@^2.6.0, minipass@^2.9.0: yallist "^3.0.0" minipass@^3.0.0, minipass@^3.1.0, minipass@^3.1.1, minipass@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.3.tgz#7d42ff1f39635482e15f9cdb53184deebd5815fd" - integrity sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg== + version "3.1.5" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.5.tgz#71f6251b0a33a49c01b3cf97ff77eda030dff732" + integrity sha512-+8NzxD82XQoNKNrl1d/FSi+X8wAEWR+sbYAfIvub4Nz0d22plFG72CEVVaufV8PNf4qSslFTD8VMOxNVhHCjTw== dependencies: yallist "^4.0.0" @@ -16885,15 +18269,15 @@ mocha-lcov-reporter@1.3.0: integrity sha1-Rpve9PivyaEWBW8HnfYYLQr7A4Q= mocha@>=7.0.0: - version "9.0.3" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-9.0.3.tgz#128cd6bbd3ee0adcdaef715f357f76ec1e6227c7" - integrity sha512-hnYFrSefHxYS2XFGtN01x8un0EwNu2bzKvhpRFhgoybIvMaOkkL60IVPmkb5h6XDmUl4IMSB+rT5cIO4/4bJgg== + version "9.1.3" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-9.1.3.tgz#8a623be6b323810493d8c8f6f7667440fa469fdb" + integrity sha512-Xcpl9FqXOAYqI3j79pEtHBBnQgVXIhpULjGQa7DVb0Po+VzmSIK9kanAiWLHoRR/dbZ2qpdPshuXr8l1VaHCzw== dependencies: "@ungap/promise-all-settled" "1.1.2" ansi-colors "4.1.1" browser-stdout "1.3.1" chokidar "3.5.2" - debug "4.3.1" + debug "4.3.2" diff "5.0.0" escape-string-regexp "4.0.0" find-up "5.0.0" @@ -16904,12 +18288,11 @@ mocha@>=7.0.0: log-symbols "4.1.0" minimatch "3.0.4" ms "2.1.3" - nanoid "3.1.23" + nanoid "3.1.25" serialize-javascript "6.0.0" strip-json-comments "3.1.1" supports-color "8.1.1" which "2.0.2" - wide-align "1.1.3" workerpool "6.1.5" yargs "16.2.0" yargs-parser "20.2.4" @@ -16975,9 +18358,9 @@ mqtt-packet@^6.0.0: process-nextick-args "^2.0.1" mri@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/mri/-/mri-1.1.6.tgz#49952e1044db21dbf90f6cd92bc9c9a777d415a6" - integrity sha512-oi1b3MfbyGa7FJMP9GmLTttni5JoICpYBRlq+x5V16fZbLsnL9N3wFqqIm/nIG43FjUFkFh9Epzp/kzUGUnJxQ== + version "1.2.0" + resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b" + integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA== ms@2.0.0: version "2.0.0" @@ -17067,16 +18450,16 @@ nanoid@2.1.10: resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-2.1.10.tgz#66fb5ac664ee2d3017f451b9f0d26cfec3c034b5" integrity sha512-ZPUHBAwrQ+BSwVV2Xh6hBOEStTzAf8LgohOY0kk22lDiDdI32582KjVPYCqgqj7834hTunGzwZOB4me9T6ZcnA== -nanoid@3.1.23: - version "3.1.23" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.23.tgz#f744086ce7c2bc47ee0a8472574d5c78e4183a81" - integrity sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw== - -nanoid@^3.1.23: +nanoid@3.1.25: version "3.1.25" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.25.tgz#09ca32747c0e543f0e1814b7d3793477f9c8e152" integrity sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q== +nanoid@^3.1.30: + version "3.1.30" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.30.tgz#63f93cc548d2a113dc5dfbc63bfa09e2b9b64362" + integrity sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ== + nanomatch@^1.2.9: version "1.2.13" resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" @@ -17191,9 +18574,9 @@ nock@^12.0.3: propagate "^2.0.0" nock@^13.0.11: - version "13.1.1" - resolved "https://registry.yarnpkg.com/nock/-/nock-13.1.1.tgz#3c830129d4560957f59b6f480a41ddbaf9cf57af" - integrity sha512-YKTR9MjfK3kS9/l4nuTxyYm30cgOExRHzkLNhL8nhEUyU4f8Za/dRxOqjhVT1vGs0svWo3dDnJTUX1qxYeWy5w== + version "13.2.1" + resolved "https://registry.yarnpkg.com/nock/-/nock-13.2.1.tgz#fcf5bdb9bb9f0554a84c25d3333166c0ffd80858" + integrity sha512-CoHAabbqq/xZEknubuyQMjq6Lfi5b7RtK6SoNK6m40lebGp3yiMagWtIoYaw2s9sISD7wPuCfwFpivVHX/35RA== dependencies: debug "^4.1.0" json-stringify-safe "^5.0.1" @@ -17201,9 +18584,9 @@ nock@^13.0.11: propagate "^2.0.0" node-abi@^2.7.0: - version "2.30.0" - resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.30.0.tgz#8be53bf3e7945a34eea10e0fc9a5982776cf550b" - integrity sha512-g6bZh3YCKQRdwuO/tSZZYJAw622SjsRfJ2X0Iy4sSOHZ34/sPPdVBn8fev2tj7njzLwuqPw9uMtGsGkO5kIQvg== + version "2.30.1" + resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.30.1.tgz#c437d4b1fe0e285aaf290d45b45d4d7afedac4cf" + integrity sha512-/2D0wOQPgaUWzVSVgRMx+trKJRC2UG4SUc4oCJoXx9Uxjtp0Vy3/kt7zcbxHF8+Z/pK3UloLWzBISg72brfy1w== dependencies: semver "^5.4.1" @@ -17219,11 +18602,6 @@ node-fetch@2.1.2: resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.1.2.tgz#ab884e8e7e57e38a944753cec706f788d1768bb5" integrity sha1-q4hOjn5X44qUR1POxwb3iNF2i7U= -node-fetch@2.6.1, node-fetch@^2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" - integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== - node-fetch@^1.0.1: version "1.7.3" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" @@ -17232,6 +18610,13 @@ node-fetch@^1.0.1: encoding "^0.1.11" is-stream "^1.0.1" +node-fetch@^2.6.1, node-fetch@^2.6.5: + version "2.6.6" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.6.tgz#1751a7c01834e8e1697758732e9efb6eeadfaf89" + integrity sha512-Z8/6vRlTUChSdIgMa51jxQ4lrw/Jy5SOW10ObaA47/RElsAN2c5Pn8bTgFGWn/ibwzXTE8qwr1Yzx28vsecXEA== + dependencies: + whatwg-url "^5.0.0" + node-forge@^0.10.0: version "0.10.0" resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" @@ -17334,10 +18719,15 @@ node-pty-prebuilt-multiarch@^0.9.0: nan "^2.14.0" prebuild-install "^5.2.5" -node-releases@^1.1.61, node-releases@^1.1.75: - version "1.1.75" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.75.tgz#6dd8c876b9897a1b8e5a02de26afa79bb54ebbfe" - integrity sha512-Qe5OUajvqrqDSy6wrWFmMwfJ0jVgwiw4T3KqmbTcZ62qW0gQkheXYhcFM1+lOVcGUoRxcEcfyvFMAnDgaF1VWw== +node-releases@^1.1.61: + version "1.1.77" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.77.tgz#50b0cfede855dd374e7585bf228ff34e57c1c32e" + integrity sha512-rB1DUFUNAN4Gn9keO2K1efO35IDK7yKHCdCaIMvFO7yUYmmZYeDjnGKle26G4rwj+LKRQpjyUUvMkPglwGCYNQ== + +node-releases@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5" + integrity sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA== noms@0.0.0: version "0.0.0" @@ -17484,7 +18874,7 @@ npm-normalize-package-bin@^1.0.0, npm-normalize-package-bin@^1.0.1: resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2" integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA== -npm-package-arg@^8.0.0, npm-package-arg@^8.0.1, npm-package-arg@^8.1.0, npm-package-arg@^8.1.2: +npm-package-arg@^8.0.0, npm-package-arg@^8.0.1, npm-package-arg@^8.1.0, npm-package-arg@^8.1.2, npm-package-arg@^8.1.5: version "8.1.5" resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-8.1.5.tgz#3369b2d5fe8fdc674baa7f1786514ddc15466e44" integrity sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q== @@ -17571,9 +18961,9 @@ nth-check@^1.0.2, nth-check@~1.0.1: boolbase "~1.0.0" nth-check@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.0.tgz#1bb4f6dac70072fc313e8c9cd1417b5074c0a125" - integrity sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q== + version "2.0.1" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.1.tgz#2efe162f5c3da06a28959fbd3db75dbeea9f0fc2" + integrity sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w== dependencies: boolbase "^1.0.0" @@ -17665,33 +19055,40 @@ object.assign@^4.1.0, object.assign@^4.1.2: has-symbols "^1.0.1" object-keys "^1.1.1" -object.entries@^1.1.0, object.entries@^1.1.2, object.entries@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.4.tgz#43ccf9a50bc5fd5b649d45ab1a579f24e088cafd" - integrity sha512-h4LWKWE+wKQGhtMjZEBud7uLGhqyLwj8fpHOarZhD2uY3C9cRtk57VQ89ke3moByLXMedqs3XCHzyb4AmA2DjA== +object.entries@^1.1.0, object.entries@^1.1.2, object.entries@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.5.tgz#e1acdd17c4de2cd96d5a08487cfb9db84d881861" + integrity sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g== dependencies: call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.18.2" + es-abstract "^1.19.1" -object.fromentries@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.4.tgz#26e1ba5c4571c5c6f0890cef4473066456a120b8" - integrity sha512-EsFBshs5RUUpQEY1D4q/m59kMfz4YJvxuNCJcv/jWwOJr34EaVnG11ZrZa0UHB3wnzV1wx8m58T4hQL8IuNXlQ== +object.fromentries@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.5.tgz#7b37b205109c21e741e605727fe8b0ad5fa08251" + integrity sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw== dependencies: call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.18.0-next.2" - has "^1.0.3" + es-abstract "^1.19.1" object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz#1bd63aeacf0d5d2d2f31b5e393b03a7c601a23f7" - integrity sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ== + version "2.1.3" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz#b223cf38e17fefb97a63c10c91df72ccb386df9e" + integrity sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw== dependencies: call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.18.0-next.2" + es-abstract "^1.19.1" + +object.hasown@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.0.tgz#7232ed266f34d197d15cac5880232f7a4790afe5" + integrity sha512-MhjYRfj3GBlhSkDHo6QmvgjRLXQ2zndabdf3nX0yTyZK9rPfxb6uRpAac8HXNLy1GpqWtZ81Qh4v3uOls2sRAg== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.19.1" object.omit@^2.0.0: version "2.0.1" @@ -17708,14 +19105,14 @@ object.pick@^1.3.0: dependencies: isobject "^3.0.1" -object.values@^1.1.0, object.values@^1.1.3, object.values@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.4.tgz#0d273762833e816b693a637d30073e7051535b30" - integrity sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg== +object.values@^1.1.0, object.values@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" + integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg== dependencies: call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.18.2" + es-abstract "^1.19.1" obuf@^1.0.0, obuf@^1.1.2: version "1.1.2" @@ -18034,7 +19431,7 @@ p-waterfall@^2.1.1: pac-proxy-agent@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-5.0.0.tgz#b718f76475a6a5415c2efbe256c1c971c84f635e" + resolved "https://registry.yarnpkg.com/pac-proxy-agent/-/pac-proxy-agent-5.0.0.tgz#b718f76475a6a5415c2efbe256c1c971c84f635e" integrity sha512-CcFG3ZtnxO8McDigozwE3AqAw15zDvGH+OjXO4kzf7IkEKkQ4gxQ+3sdF50WmhQ4P/bVusXcqNE2S3XrNURwzQ== dependencies: "@tootallnate/once" "1" @@ -18049,7 +19446,7 @@ pac-proxy-agent@^5.0.0: pac-resolver@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/pac-resolver/-/pac-resolver-5.0.0.tgz#1d717a127b3d7a9407a16d6e1b012b13b9ba8dc0" + resolved "https://registry.yarnpkg.com/pac-resolver/-/pac-resolver-5.0.0.tgz#1d717a127b3d7a9407a16d6e1b012b13b9ba8dc0" integrity sha512-H+/A6KitiHNNW+bxBKREk2MCGSxljfqRX76NjummWEYIat7ldVXRU3dhRIE3iXZ0nvGBk6smv3nntxKkzRL8NA== dependencies: degenerator "^3.0.1" @@ -18385,6 +19782,16 @@ performance-now@^2.1.0: resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= +picocolors@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f" + integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3: version "2.3.0" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" @@ -18428,12 +19835,13 @@ pino-std-serializers@^3.1.0: integrity sha512-EqX4pwDPrt3MuOAAUBMU0Tk5kR/YcCM5fNPEzgCO2zJ5HfX0vbiH9HbJglnyeQsN96Kznae6MWD47pZB5avTrg== pino@^6.13.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/pino/-/pino-6.13.0.tgz#41810b9be213af6f8f7c23a1b17058d880267e7b" - integrity sha512-mRXSTfa34tbfrWqCIp1sUpZLqBhcoaGapoyxfEwaWwJGMpLijlRdDKIQUyvq4M3DUfFH5vEglwSw8POZYwbThA== + version "6.13.3" + resolved "https://registry.yarnpkg.com/pino/-/pino-6.13.3.tgz#60b93bcda1541f92fb37b3f2be0a25cf1d05b6fe" + integrity sha512-tJy6qVgkh9MwNgqX1/oYi3ehfl2Y9H0uHyEEMsBe74KinESIjdMrMQDWpcZPpPicg3VV35d/GLQZmo4QgU2Xkg== dependencies: fast-redact "^3.0.0" fast-safe-stringify "^2.0.8" + fastify-warning "^0.2.0" flatstr "^1.0.12" pino-std-serializers "^3.1.0" quick-format-unescaped "^4.0.3" @@ -18487,13 +19895,6 @@ pkg-up@3.1.0: dependencies: find-up "^3.0.0" -pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f" - integrity sha1-yBmscoBZpGHKscOImivjxJoATX8= - dependencies: - find-up "^2.1.0" - pkg@^5.4.1: version "5.4.1" resolved "https://registry.npmjs.org/pkg/-/pkg-5.4.1.tgz#4d824e42c454f32131e471d7cd8d14bfdb3e1c4c" @@ -18522,7 +19923,7 @@ please-upgrade-node@^3.2.0: dependencies: semver-compare "^1.0.0" -plist@^3.0.1: +plist@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.4.tgz#a62df837e3aed2bb3b735899d510c4f186019cbe" integrity sha512-ksrr8y9+nXOxQB2osVNqrgvX/XQPOXaU4BQMKjYq8PvaY1U18mo+fKgBSwzK+luSyinOuPae956lSVcBwxlAMg== @@ -19196,7 +20597,7 @@ postcss-values-parser@^2.0.0, postcss-values-parser@^2.0.1: indexes-of "^1.0.1" uniq "^1.0.1" -postcss@7.0.36, postcss@^7, postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.26, postcss@^7.0.27, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: +postcss@7.0.36: version "7.0.36" resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.36.tgz#056f8cffa939662a8f5905950c07d5285644dfcb" integrity sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw== @@ -19205,13 +20606,21 @@ postcss@7.0.36, postcss@^7, postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, pos source-map "^0.6.1" supports-color "^6.1.0" +postcss@^7, postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.26, postcss@^7.0.27, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: + version "7.0.39" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309" + integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== + dependencies: + picocolors "^0.2.1" + source-map "^0.6.1" + postcss@^8.1.0: - version "8.3.6" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.3.6.tgz#2730dd76a97969f37f53b9a6096197be311cc4ea" - integrity sha512-wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A== + version "8.3.11" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.3.11.tgz#c3beca7ea811cd5e1c4a3ec6d2e7599ef1f8f858" + integrity sha512-hCmlUAIlUiav8Xdqw3Io4LcpA1DOt7h3LSTAC4G6JGHFFaWzI6qvFt9oilvl8BmkbBRX1IhM90ZAmpk68zccQA== dependencies: - colorette "^1.2.2" - nanoid "^3.1.23" + nanoid "^3.1.30" + picocolors "^1.0.0" source-map-js "^0.6.2" prebuild-install@6.0.1: @@ -19312,9 +20721,9 @@ prettier@^1.19.1: integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== prettier@^2.0.0, prettier@^2.2.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.3.2.tgz#ef280a05ec253712e486233db5c6f23441e7342d" - integrity sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ== + version "2.4.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.4.1.tgz#671e11c89c14a4cfc876ce564106c4a6726c9f5c" + integrity sha512-9fbDAXSBcc6Bs1mZrDYb3XKzDLm4EXXL9sC1LqKP5rZkT6KRr/rf9amVUcODVXgguK/isJz0d0hP72WeaKWsvA== pretty-bytes@^5.3.0: version "5.6.0" @@ -19347,20 +20756,20 @@ pretty-format@^26.0.0, pretty-format@^26.6.0, pretty-format@^26.6.2: ansi-styles "^4.0.0" react-is "^17.0.1" -pretty-format@^27.0.0, pretty-format@^27.0.6: - version "27.0.6" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.0.6.tgz#ab770c47b2c6f893a21aefc57b75da63ef49a11f" - integrity sha512-8tGD7gBIENgzqA+UBzObyWqQ5B778VIFZA/S66cclyd5YkFLYs2Js7gxDKf0MXtTc9zcS7t1xhdfcElJ3YIvkQ== +pretty-format@^27.0.0, pretty-format@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.3.1.tgz#7e9486365ccdd4a502061fa761d3ab9ca1b78df5" + integrity sha512-DR/c+pvFc52nLimLROYjnXPtolawm+uWDxr4FjuLDLUn+ktWnSN851KoHwHzzqq6rfCOjkzN8FLgDrSub6UDuA== dependencies: - "@jest/types" "^27.0.6" - ansi-regex "^5.0.0" + "@jest/types" "^27.2.5" + ansi-regex "^5.0.1" ansi-styles "^5.0.0" react-is "^17.0.1" pretty-quick@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/pretty-quick/-/pretty-quick-3.1.1.tgz#93ca4e2dd38cc4e970e3f54a0ead317a25454688" - integrity sha512-ZYLGiMoV2jcaas3vTJrLvKAYsxDoXQBUn8OSTxkl67Fyov9lyXivJTl0+2WVh+y6EovGcw7Lm5ThYpH+Sh3XxQ== + version "3.1.2" + resolved "https://registry.yarnpkg.com/pretty-quick/-/pretty-quick-3.1.2.tgz#89d8741af7122cbd7f34182df746c5a7ea360b5c" + integrity sha512-T+fpTJrDjTzewql4p3lKrRA7z3MrNyjBK1MKeaBm5PpKwATgVm885TpY7TgY8KFt5Q1Qn3QDseRQcyX9AKTKkA== dependencies: chalk "^3.0.0" execa "^4.0.0" @@ -19437,9 +20846,9 @@ prompts@2.4.0: sisteransi "^1.0.5" prompts@^2.0.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.1.tgz#befd3b1195ba052f9fd2fde8a486c4e82ee77f61" - integrity sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ== + version "2.4.2" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" + integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== dependencies: kleur "^3.0.3" sisteransi "^1.0.5" @@ -19485,7 +20894,7 @@ proxy-addr@~2.0.5: proxy-agent@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/proxy-agent/-/proxy-agent-5.0.0.tgz#d31405c10d6e8431fde96cba7a0c027ce01d633b" + resolved "https://registry.yarnpkg.com/proxy-agent/-/proxy-agent-5.0.0.tgz#d31405c10d6e8431fde96cba7a0c027ce01d633b" integrity sha512-gkH7BkvLVkSfX9Dk27W6TyNOWWZWRilRfk1XxGNWOYJ2TuedAv1yFpCaU9QSBmBe716XOTNpYNOzhysyw8xn7g== dependencies: agent-base "^6.0.0" @@ -19642,9 +21051,9 @@ queue-microtask@^1.2.2: integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== quick-format-unescaped@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/quick-format-unescaped/-/quick-format-unescaped-4.0.3.tgz#6d6b66b8207aa2b35eef12be1421bb24c428f652" - integrity sha512-MaL/oqh02mhEo5m5J2rwsVL23Iw2PEaGVHgT2vFt8AAsr0lfvQA5dpXo9TPu0rz7tSBdUPgkbam0j/fj5ZM8yg== + version "4.0.4" + resolved "https://registry.yarnpkg.com/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz#93ef6dd8d3453cbc7970dd614fad4c5954d6b5a7" + integrity sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg== quick-lru@^4.0.1: version "4.0.1" @@ -19789,9 +21198,9 @@ react-is@^16.6.3, react-is@^16.8.1: integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== react-native-get-random-values@^1.4.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/react-native-get-random-values/-/react-native-get-random-values-1.7.0.tgz#86d9d1960828b606392dba4540bf760605448530" - integrity sha512-zDhmpWUekGRFb9I+MQkxllHcqXN9HBSsgPwBQfrZ1KZYpzDspWLZ6/yLMMZrtq4pVqNR7C7N96L3SuLpXv1nhQ== + version "1.7.1" + resolved "https://registry.yarnpkg.com/react-native-get-random-values/-/react-native-get-random-values-1.7.1.tgz#6dbeff54c7528763f209e0e7c991f1c78dcc6801" + integrity sha512-VXWdk73N7pQMEAcM9pvZv+yuWmu2qQrS0QldhdgYmo7dmPHb3x/7tvQKDxkR9gy9/+SoS2uQq9eq06sZ200piA== dependencies: fast-base64-decode "^1.0.0" @@ -19905,7 +21314,7 @@ read-package-json@^2.0.0: normalize-package-data "^2.0.0" npm-normalize-package-bin "^1.0.0" -read-package-json@^3.0.0, read-package-json@^3.0.1: +read-package-json@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-3.0.1.tgz#c7108f0b9390257b08c21e3004d2404c806744b9" integrity sha512-aLcPqxovhJTVJcsnROuuzQvv6oziQx4zd3JvG0vGCL5MjTONUc4uJ90zCBC6R7W7oUKBNoR/F8pkyfVwlbxqng== @@ -19915,6 +21324,16 @@ read-package-json@^3.0.0, read-package-json@^3.0.1: normalize-package-data "^3.0.0" npm-normalize-package-bin "^1.0.0" +read-package-json@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-4.1.1.tgz#153be72fce801578c1c86b8ef2b21188df1b9eea" + integrity sha512-P82sbZJ3ldDrWCOSKxJT0r/CXMWR0OR3KRh55SgKo3p91GSIEEC32v3lSHAvO/UcH3/IoL7uqhOFBduAnwdldw== + dependencies: + glob "^7.1.1" + json-parse-even-better-errors "^2.3.0" + normalize-package-data "^3.0.0" + npm-normalize-package-bin "^1.0.0" + read-package-tree@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/read-package-tree/-/read-package-tree-5.3.1.tgz#a32cb64c7f31eb8a6f31ef06f9cedf74068fe636" @@ -20007,7 +21426,7 @@ readable-stream@1.1.x: isarray "0.0.1" string_decoder "~0.10.x" -readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: +readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.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== @@ -20101,9 +21520,9 @@ redux-persist@^4.6.0: lodash-es "^4.17.4" redux-thunk@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/redux-thunk/-/redux-thunk-2.3.0.tgz#51c2c19a185ed5187aaa9a2d08b666d0d6467622" - integrity sha512-km6dclyFnmcvxhAcrQV2AkZmPQjzPDjgVlQtR0EQjxZPyJ0BnMf3in1ryuR8A2qU0HldVRfxYXbFSKlI3N7Slw== + version "2.4.0" + resolved "https://registry.yarnpkg.com/redux-thunk/-/redux-thunk-2.4.0.tgz#ac89e1d6b9bdb9ee49ce69a69071be41bbd82d67" + integrity sha512-/y6ZKQNU/0u8Bm7ROLq9Pt/7lU93cT0IucYMrubo89ENjxPa7i8pqLKu6V4X7/TvYovQ6x01unTeyeZ9lgXiTA== redux@^3.7.2: version "3.7.2" @@ -20115,14 +21534,14 @@ redux@^3.7.2: loose-envify "^1.1.0" symbol-observable "^1.0.3" -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== +regenerate-unicode-properties@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz#54d09c7115e1f53dc2314a974b32c1c344efe326" + integrity sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA== dependencies: - regenerate "^1.4.0" + regenerate "^1.4.2" -regenerate@^1.4.0: +regenerate@^1.4.2: version "1.4.2" resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== @@ -20183,16 +21602,16 @@ regexpp@^3.1.0: integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== regexpu-core@^4.7.1: - version "4.7.1" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.1.tgz#2dea5a9a07233298fbf0db91fa9abc4c6e0f8ad6" - integrity sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ== + version "4.8.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.8.0.tgz#e5605ba361b67b1718478501327502f4479a98f0" + integrity sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg== 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" + regenerate "^1.4.2" + regenerate-unicode-properties "^9.0.0" + regjsgen "^0.5.2" + regjsparser "^0.7.0" + unicode-match-property-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.0.0" registry-auth-token@^4.0.0: version "4.2.1" @@ -20208,15 +21627,15 @@ registry-url@^5.0.0: dependencies: rc "^1.2.8" -regjsgen@^0.5.1: +regjsgen@^0.5.2: 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.9" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.9.tgz#b489eef7c9a2ce43727627011429cf833a7183e6" - integrity sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ== +regjsparser@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.7.0.tgz#a6b667b54c885e18b52554cb4960ef71187e9968" + integrity sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ== dependencies: jsesc "~0.5.0" @@ -20636,6 +22055,11 @@ safe-regex@^1.1.0: dependencies: ret "~0.1.10" +safe-stable-stringify@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/safe-stable-stringify/-/safe-stable-stringify-1.1.1.tgz#c8a220ab525cd94e60ebf47ddc404d610dc5d84a" + integrity sha512-ERq4hUjKDbJfE4+XtZLFPCDi8Vb1JqaxAPTxWFLBx8XcAlf9Bda/ZJdVezs/NAfsMQScyIlUMx+Yeu7P7rx5jw== + "safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", 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" @@ -20720,7 +22144,7 @@ schema-utils@^2.6.5, schema-utils@^2.7.0, schema-utils@^2.7.1: ajv "^6.12.4" ajv-keywords "^3.5.2" -schema-utils@^3.0.0: +schema-utils@^3.0.0, schema-utils@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281" integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== @@ -20756,9 +22180,9 @@ semantic-ui-css@^2.4.1: jquery x.* semantic-ui-react@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/semantic-ui-react/-/semantic-ui-react-2.0.3.tgz#39091e24078e28129ff9b1beb7dbfc84ca85544b" - integrity sha512-a0hGN6XXw64sRSKwWqMCKSI/AGLohxNeWuErS39eswvBbUnLjBij8ZoEdiqDiz/PuWpwYIRjgmQVrut+7h3b2g== + version "2.0.4" + resolved "https://registry.yarnpkg.com/semantic-ui-react/-/semantic-ui-react-2.0.4.tgz#a66862964e0482d9b862a5f9cf5c8f3417cfb101" + integrity sha512-nTlIN/K1iEA7ybut2ICBlPfAushs2afkyUuwQ6vMlYpvLjnnUgN+JKhhoq47MlRuQ2ekdMDZ9OgctViTbDyBaQ== dependencies: "@babel/runtime" "^7.10.5" "@fluentui/react-component-event-listener" "~0.51.6" @@ -20767,8 +22191,8 @@ semantic-ui-react@^2.0.3: "@semantic-ui-react/event-stack" "^3.1.2" clsx "^1.1.1" keyboard-key "^1.1.0" - lodash "^4.17.19" - lodash-es "^4.17.15" + lodash "^4.17.21" + lodash-es "^4.17.21" prop-types "^15.7.2" react-is "^16.8.6 || ^17.0.0" react-popper "^2.2.4" @@ -21031,9 +22455,9 @@ side-channel@^1.0.4: object-inspect "^1.9.0" signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" - integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== + version "3.0.5" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.5.tgz#9e3e8cc0c75a99472b44321033a7702e7738252f" + integrity sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ== signedsource@^1.0.0: version "1.0.0" @@ -21055,13 +22479,13 @@ simple-get@^3.0.3: simple-concat "^1.0.0" simple-plist@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/simple-plist/-/simple-plist-1.1.1.tgz#54367ca28bc5996a982c325c1c4a4c1a05f4047c" - integrity sha512-pKMCVKvZbZTsqYR6RKgLfBHkh2cV89GXcA/0CVPje3sOiNOnXA8+rp/ciAMZ7JRaUdLzlEM6JFfUn+fS6Nt3hg== + version "1.3.0" + resolved "https://registry.yarnpkg.com/simple-plist/-/simple-plist-1.3.0.tgz#f451997663eafd8ea6bad353a01caf49ef186d43" + integrity sha512-uYWpeGFtZtVt2NhG4AHgpwx323zxD85x42heMJBan1qAiqqozIlaGrwrEt6kRjXWRWIXsuV1VLCvVmZan2B5dg== dependencies: - bplist-creator "0.0.8" - bplist-parser "0.2.0" - plist "^3.0.1" + bplist-creator "0.1.0" + bplist-parser "0.3.0" + plist "^3.0.4" simple-swizzle@^0.2.2: version "0.2.2" @@ -21175,16 +22599,16 @@ snapdragon@^0.8.1: use "^3.1.0" sockjs-client@^1.5.0: - version "1.5.1" - resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.5.1.tgz#256908f6d5adfb94dabbdbd02c66362cca0f9ea6" - integrity sha512-VnVAb663fosipI/m6pqRXakEOw7nvd7TUgdr3PlR/8V2I95QIdwT8L4nMxhyU8SmDBHYXU1TOElaKOmKLfYzeQ== + version "1.5.2" + resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.5.2.tgz#4bc48c2da9ce4769f19dc723396b50f5c12330a3" + integrity sha512-ZzRxPBISQE7RpzlH4tKJMQbHM9pabHluk0WBaxAQ+wm/UieeBVBou0p4wVnSQGN9QmpAZygQ0cDIypWuqOFmFQ== dependencies: debug "^3.2.6" eventsource "^1.0.7" faye-websocket "^0.11.3" inherits "^2.0.4" json3 "^3.3.3" - url-parse "^1.5.1" + url-parse "^1.5.3" sockjs@^0.3.21: version "0.3.21" @@ -21204,7 +22628,16 @@ socks-proxy-agent@5, socks-proxy-agent@^5.0.0: debug "4" socks "^2.3.3" -socks@^2.3.3: +socks-proxy-agent@^6.0.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-6.1.0.tgz#869cf2d7bd10fea96c7ad3111e81726855e285c3" + integrity sha512-57e7lwCN4Tzt3mXz25VxOErJKXlPfXmkMLnk310v/jwW20jWRVcgsOit+xNkN3eIEdB47GwnfAEBLacZ/wVIKg== + dependencies: + agent-base "^6.0.2" + debug "^4.3.1" + socks "^2.6.1" + +socks@^2.3.3, socks@^2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/socks/-/socks-2.6.1.tgz#989e6534a07cf337deb1b1c94aaa44296520d30e" integrity sha512-kLQ9N5ucj8uIcxrDwjm0Jsqk06xdpBjGNQtpXy4Q8/QY2k+fY7nZH8CARy+hkbG+SGAovmzzuauCpBlb8FrnBA== @@ -21221,9 +22654,9 @@ sonic-boom@^1.0.2: flatstr "^1.0.12" sonic-boom@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/sonic-boom/-/sonic-boom-2.1.0.tgz#07b7b181b078aeb5f202019769e4088c70c4f0eb" - integrity sha512-x2j9LXx27EDlyZEC32gBM+scNVMdPutU7FIKV2BOTKCnPrp7bY5BsplCMQ4shYYR3IhDSIrEXoqb6GlS+z7KyQ== + version "2.3.1" + resolved "https://registry.yarnpkg.com/sonic-boom/-/sonic-boom-2.3.1.tgz#e6572184fb3adf145dbfeccff48141bbd1009e4c" + integrity sha512-o0vJPsRiCW5Q0EmRKjNiiYGy2DqSXcxk4mY9vIBSPwmkH/e/vJ2Tq8EECd5NTiO77x8vlVN+ykDjRQJTqf7eKg== dependencies: atomic-sleep "^1.0.0" @@ -21284,10 +22717,10 @@ source-map-resolve@^0.6.0: atob "^2.1.2" decode-uri-component "^0.2.0" -source-map-support@^0.5.0, source-map-support@^0.5.16, source-map-support@^0.5.17, source-map-support@^0.5.19, source-map-support@^0.5.6, source-map-support@~0.5.12, source-map-support@~0.5.19: - 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== +source-map-support@^0.5.0, source-map-support@^0.5.16, source-map-support@^0.5.17, source-map-support@^0.5.19, source-map-support@^0.5.6, source-map-support@~0.5.12, source-map-support@~0.5.20: + version "0.5.20" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.20.tgz#12166089f8f5e5e8c56926b377633392dd2cb6c9" + integrity sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw== dependencies: buffer-from "^1.0.0" source-map "^0.6.0" @@ -21346,9 +22779,9 @@ spdx-expression-parse@^3.0.0: spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.10" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.10.tgz#0d9becccde7003d6c658d487dd48a32f0bf3014b" - integrity sha512-oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA== + version "3.0.11" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz#50c0d8c40a14ec1bf449bae69a0ea4685a9d9f95" + integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g== spdy-transport@^3.0.0: version "3.0.0" @@ -21444,9 +22877,9 @@ stack-trace@0.0.x: integrity sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA= stack-utils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.3.tgz#cd5f030126ff116b78ccb3c027fe302713b61277" - integrity sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw== + version "2.0.5" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.5.tgz#d25265fca995154659dbbfba3b49254778d2fdd5" + integrity sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA== dependencies: escape-string-regexp "^2.0.0" @@ -21487,7 +22920,15 @@ stream-browserify@^2.0.1: inherits "~2.0.1" readable-stream "^2.0.2" -stream-buffers@~2.2.0: +stream-browserify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-3.0.0.tgz#22b0a2850cdf6503e73085da1fc7b7d0c2122f2f" + integrity sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA== + dependencies: + inherits "~2.0.4" + readable-stream "^3.5.0" + +stream-buffers@2.2.x: version "2.2.0" resolved "https://registry.yarnpkg.com/stream-buffers/-/stream-buffers-2.2.0.tgz#91d5f5130d1cef96dcfa7f726945188741d09ee4" integrity sha1-kdX1Ew0c75bc+n9yaUUYh0HQnuQ= @@ -21562,7 +23003,16 @@ string-width@^1.0.1: is-fullwidth-code-point "^1.0.0" strip-ansi "^3.0.0" -"string-width@^1.0.2 || 2", string-width@^2.1.0: +"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== @@ -21579,23 +23029,14 @@ string-width@^3.0.0, string-width@^3.1.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^5.1.0" -string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5" - integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.0" - -string.prototype.matchall@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.5.tgz#59370644e1db7e4c0c045277690cf7b01203c4da" - integrity sha512-Z5ZaXO0svs0M2xd/6By3qpeKpLKd9mO4v4q3oMEQrk8Ck4xOD5d5XeBOOjGrmVZZ/AHB1S0CgG4N5r1G9N3E2Q== +string.prototype.matchall@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.6.tgz#5abb5dabc94c7b0ea2380f65ba610b3a544b15fa" + integrity sha512-6WgDX8HmQqvEd7J+G6VtAahhsQIssiZ8zl7zKh1VDMFyL3hRTJP4FTNA3RbIp2TOQ9AYNDcc7e3fH0Qbup+DBg== dependencies: call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.18.2" + es-abstract "^1.19.1" get-intrinsic "^1.1.1" has-symbols "^1.0.2" internal-slot "^1.0.3" @@ -21646,7 +23087,7 @@ stringify-object@^3.3.0: is-obj "^1.0.1" is-regexp "^1.0.0" -strip-ansi@6.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== @@ -21674,6 +23115,13 @@ strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: dependencies: ansi-regex "^4.1.0" +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + strip-bom@4.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" @@ -21752,6 +23200,11 @@ strip-outer@^1.0.0: dependencies: escape-string-regexp "^1.0.2" +strnum@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/strnum/-/strnum-1.0.4.tgz#e97e36a7d6ba9f93d0d6b496b2ed0678d422832b" + integrity sha512-lMzNMfDpaQOLt4B2mEbfzYS0+T7dvCXeojnlGf6f1AygvWDMcWyXYaLbyICfjVu29sErR8fnRagQfBW/N/hGgw== + strong-log-transformer@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz#0f5ed78d325e0421ac6f90f7f10e691d6ae3ae10" @@ -21783,21 +23236,10 @@ stylehacks@^4.0.0: postcss "^7.0.0" postcss-selector-parser "^3.0.0" -subscriptions-transport-ws@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/subscriptions-transport-ws/-/subscriptions-transport-ws-0.10.0.tgz#91fce775b31935e4ca995895a40942268877d23f" - integrity sha512-k28LhLn3abJ1mowFW+LP4QGggE0e3hrk55zXbMHyAeZkCUYtC0owepiwqMD3zX8DglQVaxnhE760pESrNSEzpg== - dependencies: - backo2 "^1.0.2" - eventemitter3 "^3.1.0" - iterall "^1.2.1" - symbol-observable "^1.0.4" - ws "^5.2.0 || ^6.0.0 || ^7.0.0" - -subscriptions-transport-ws@^0.9.18: - version "0.9.19" - resolved "https://registry.yarnpkg.com/subscriptions-transport-ws/-/subscriptions-transport-ws-0.9.19.tgz#10ca32f7e291d5ee8eb728b9c02e43c52606cdcf" - integrity sha512-dxdemxFFB0ppCLg10FTtRqH/31FNRL1y1BQv8209MK5I4CwALb7iihQg+7p65lFcIl8MHatINWBLOqpgU4Kyyw== +subscriptions-transport-ws@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/subscriptions-transport-ws/-/subscriptions-transport-ws-0.11.0.tgz#baf88f050cba51d52afe781de5e81b3c31f89883" + integrity sha512-8D4C6DIH5tGiAIpp5I0wD/xRlNiZAPGHygzCe7VzyzUoxHtawzjNAY9SUTXU05/EY2NMY9/9GF0ycizkXr1CWQ== dependencies: backo2 "^1.0.2" eventemitter3 "^3.1.0" @@ -21805,7 +23247,7 @@ subscriptions-transport-ws@^0.9.18: symbol-observable "^1.0.4" ws "^5.2.0 || ^6.0.0 || ^7.0.0" -supports-color@8.1.1: +supports-color@8.1.1, supports-color@^8.0.0: version "8.1.1" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== @@ -21895,25 +23337,24 @@ 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== -sync-fetch@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/sync-fetch/-/sync-fetch-0.3.0.tgz#77246da949389310ad978ab26790bb05f88d1335" - integrity sha512-dJp4qg+x4JwSEW1HibAuMi0IIrBI3wuQr2GimmqB7OXR50wmwzfdusG+p39R9w3R6aFtZ2mzvxvWKQ3Bd/vx3g== +sync-fetch@0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/sync-fetch/-/sync-fetch-0.3.1.tgz#62aa82c4b4d43afd6906bfd7b5f92056458509f0" + integrity sha512-xj5qiCDap/03kpci5a+qc5wSJjc8ZSixgG2EUmH1B8Ea2sfWclQA7eH40hiHPCtkCn6MCk4Wb+dqcXdCy2PP3g== dependencies: buffer "^5.7.0" node-fetch "^2.6.1" table@^6.0.9, table@^6.7.1: - version "6.7.1" - resolved "https://registry.yarnpkg.com/table/-/table-6.7.1.tgz#ee05592b7143831a8c94f3cee6aae4c1ccef33e2" - integrity sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg== + version "6.7.3" + resolved "https://registry.yarnpkg.com/table/-/table-6.7.3.tgz#255388439715a738391bd2ee4cbca89a4d05a9b7" + integrity sha512-5DkIxeA7XERBqMwJq0aHZOdMadBx4e6eDoFRuyT5VR82J0Ycg2DwM6GfA/EQAhJ+toRTaS1lIdSQCqgrmhPnlw== dependencies: ajv "^8.0.1" - lodash.clonedeep "^4.5.0" lodash.truncate "^4.4.2" slice-ansi "^4.0.0" - string-width "^4.2.0" - strip-ansi "^6.0.0" + string-width "^4.2.3" + strip-ansi "^6.0.1" tapable@^1.0.0, tapable@^1.1.3: version "1.1.3" @@ -21968,9 +23409,9 @@ tar@^4.4.12: yallist "^3.1.1" tar@^6.0.2, tar@^6.1.0: - version "6.1.8" - resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.8.tgz#4fc50cfe56511c538ce15b71e05eebe66530cbd4" - integrity sha512-sb9b0cp855NbkMJcskdSYA7b11Q8JsX4qe4pyUAfHp+Y6jBjJeek2ZVlwEfWayshEIwlIzXx0Fain3QG9JPm2A== + version "6.1.11" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621" + integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA== dependencies: chownr "^2.0.0" fs-minipass "^2.0.0" @@ -22073,13 +23514,13 @@ terser@^4.1.2, terser@^4.6.2, terser@^4.6.3: source-map-support "~0.5.12" terser@^5.3.4: - version "5.7.1" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.7.1.tgz#2dc7a61009b66bb638305cb2a824763b116bf784" - integrity sha512-b3e+d5JbHAe/JSjwsC3Zn55wsBIM7AsHLjKxT31kGCldgbpFePaFo+PiddtO6uwRZWRw7sPXmAN8dTW61xmnSg== + version "5.10.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.10.0.tgz#b86390809c0389105eb0a0b62397563096ddafcc" + integrity sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA== dependencies: commander "^2.20.0" source-map "~0.7.2" - source-map-support "~0.5.19" + source-map-support "~0.5.20" test-exclude@^6.0.0: version "6.0.0" @@ -22172,7 +23613,7 @@ tmp@^0.0.33: dependencies: os-tmpdir "~1.0.2" -tmpl@1.0.x: +tmpl@1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== @@ -22268,6 +23709,11 @@ tr46@^2.1.0: dependencies: punycode "^2.1.1" +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= + traverse@^0.6.6: version "0.6.6" resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.6.6.tgz#cbdf560fd7b9af632502fed40f918c157ea97137" @@ -22283,11 +23729,6 @@ trim-newlines@^3.0.0: resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== -trim-off-newlines@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz#9f9ba9d9efa8764c387698bcbfeb2c848f11adb3" - integrity sha1-n5up2e+odkw4dpi8v+sshI8RrbM= - trim-repeated@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/trim-repeated/-/trim-repeated-1.0.0.tgz#e3646a2ea4e891312bf7eace6cfb05380bc01c21" @@ -22344,9 +23785,9 @@ ts-jest@^26.4.4: yargs-parser "20.x" ts-node@^10.2.1: - version "10.3.0" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.3.0.tgz#a797f2ed3ff50c9a5d814ce400437cb0c1c048b4" - integrity sha512-RYIy3i8IgpFH45AX4fQHExrT8BxDeKTdC83QFJkNzkvt8uFB6QJ8XMyhynYiKMLxt9a7yuXaDBZNOYS3XjDcYw== + version "10.4.0" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.4.0.tgz#680f88945885f4e6cf450e7f0d6223dd404895f7" + integrity sha512-g0FlPvvCXSIO1JDF6S232P5jPYqBkRL9qly81ZgAOSU7rwI0stphCgd2kLiCrU9DjQCrJMWEqcNSjQL02s6d8A== dependencies: "@cspotcode/source-map-support" "0.7.0" "@tsconfig/node10" "^1.0.7" @@ -22372,17 +23813,30 @@ ts-node@^8.10.1, ts-node@^8.10.2, ts-node@^8.9.0: source-map-support "^0.5.17" yn "3.1.1" +ts-node@^9: + version "9.1.1" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-9.1.1.tgz#51a9a450a3e959401bda5f004a72d54b936d376d" + integrity sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg== + dependencies: + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + source-map-support "^0.5.17" + yn "3.1.1" + ts-pnp@1.2.0, ts-pnp@^1.1.6: version "1.2.0" resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.2.0.tgz#a500ad084b0798f1c3071af391e65912c86bca92" integrity sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw== -tsconfig-paths@^3.9.0: - version "3.10.1" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.10.1.tgz#79ae67a68c15289fdf5c51cb74f397522d795ed7" - integrity sha512-rETidPDgCpltxF7MjBZlAFPUHv5aHH2MymyPvh+vEyWAED4Eb/WeMbsnD/JDr4OKPOA1TssDHgIcpTN5Kh0p6Q== +tsconfig-paths@^3.11.0, tsconfig-paths@^3.9.0: + version "3.11.0" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.11.0.tgz#954c1fe973da6339c78e06b03ce2e48810b65f36" + integrity sha512-7ecdYDnIdmv639mmDwslG6KQg1Z9STTz1j7Gcz0xa+nshh/gKDAHcPxRbWOsA3SPp0tXP2leTcY9Kw+NAkfZzA== dependencies: - json5 "^2.2.0" + "@types/json5" "^0.0.29" + json5 "^1.0.1" minimist "^1.2.0" strip-bom "^3.0.0" @@ -22401,7 +23855,7 @@ tslib@^1.10.0, tslib@^1.11.1, tslib@^1.8.0, tslib@^1.8.1, tslib@^1.9.0, tslib@^1 resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@~2.3.0: +tslib@^2, tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@~2.3.0: version "2.3.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== @@ -22459,11 +23913,6 @@ type-detect@4.0.8, type-detect@^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.13.1: - version "0.13.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934" - integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== - type-fest@^0.18.0: version "0.18.1" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" @@ -22512,7 +23961,7 @@ type@^1.0.1: resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== -type@^2.0.0: +type@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/type/-/type-2.5.0.tgz#0a2e78c2e77907b252abe5f298c1b01c63f0db3d" integrity sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw== @@ -22558,10 +24007,10 @@ typescript@^3.5.3, typescript@^3.8.3, typescript@^3.9.3: resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.10.tgz#70f3910ac7a51ed6bef79da7800690b19bf778b8" integrity sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q== -typescript@^4.1.3: - version "4.3.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.3.5.tgz#4d1c37cc16e893973c45a06886b7113234f119f4" - integrity sha512-DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA== +typescript@^4.1.3, typescript@^4.4.3: + version "4.4.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.4.4.tgz#2cd01a1a1f160704d3101fd5a58ff0f9fcb8030c" + integrity sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA== typescript@~4.2.3: version "4.2.4" @@ -22574,9 +24023,9 @@ u2r@x.x.x: integrity sha1-xfx5FnJTIJwWpVzYP0eBY9a9AHQ= ua-parser-js@^0.7.18: - version "0.7.28" - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.28.tgz#8ba04e653f35ce210239c64661685bf9121dec31" - integrity sha512-6Gurc1n//gjp9eQNXjD9O3M/sMwVtN5S8Lv9bvOYBfKfDNiIIhqiyi01vMBO45u4zkDE420w/e0se7Vs+sIg+g== + version "0.7.31" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.31.tgz#649a656b191dffab4f21d5e053e27ca17cbff5c6" + integrity sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ== uc.micro@^1.0.1, uc.micro@^1.0.5: version "1.0.6" @@ -22584,9 +24033,9 @@ uc.micro@^1.0.1, uc.micro@^1.0.5: integrity sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA== uglify-js@^3.1.4: - version "3.14.1" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.14.1.tgz#e2cb9fe34db9cb4cf7e35d1d26dfea28e09a7d06" - integrity sha512-JhS3hmcVaXlp/xSo3PKY5R0JqKs5M3IV+exdLHW99qKvKivPO4Z8qbej6mte17SOPqAOVMjt/XGgWacnFSzM3g== + version "3.14.3" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.14.3.tgz#c0f25dfea1e8e5323eccf59610be08b6043c15cf" + integrity sha512-mic3aOdiq01DuSVx0TseaEzMIVqebMZ0Z3vaeDhFEh9bsc24hV1TFvN74reA2vs08D0ZWfNjAcJ3UbVLaBss+g== uid-number@0.0.6: version "0.0.6" @@ -22621,33 +24070,38 @@ unbzip2-stream@^1.0.9: buffer "^5.2.1" through "^2.3.8" +undici@^4.9.3: + version "4.10.0" + resolved "https://registry.yarnpkg.com/undici/-/undici-4.10.0.tgz#f2684de9cbe2ab0a85a477ce0ec59b739be4438d" + integrity sha512-W7NwyQzfiSYIZ+maOvz/u9tPFyAYhstF9XhtohK7txvD1jg41oatcHVq6Zls81LhzGvh4BN5WpQGuMiT4IipoA== + unfetch@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/unfetch/-/unfetch-4.2.0.tgz#7e21b0ef7d363d8d9af0fb929a5555f6ef97a3be" integrity sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA== -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-canonical-property-names-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" + integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== -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== +unicode-match-property-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" + integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== dependencies: - unicode-canonical-property-names-ecmascript "^1.0.4" - unicode-property-aliases-ecmascript "^1.0.4" + unicode-canonical-property-names-ecmascript "^2.0.0" + unicode-property-aliases-ecmascript "^2.0.0" -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-match-property-value-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz#1a01aa57247c14c568b89775a54938788189a714" + integrity sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw== -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== +unicode-property-aliases-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz#0a36cb9a585c4f6abd51ad1deddb285c165297c8" + integrity sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ== union-value@^1.0.0: version "1.0.1" @@ -22848,7 +24302,7 @@ url-parse-lax@^3.0.0: dependencies: prepend-http "^2.0.0" -url-parse@^1.4.3, url-parse@^1.5.1: +url-parse@^1.4.3, url-parse@^1.5.3: version "1.5.3" resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.3.tgz#71c1303d38fb6639ade183c2992c8cc0686df862" integrity sha512-IIORyIQD9rvj0A4CLWsHkBBJuNqWpFQe224b6j9t/ABmquIS0qDU2pY6kl6AuOrL5OkCXHMCFNe1jBcuAggjvQ== @@ -22997,10 +24451,10 @@ validate-npm-package-name@^3.0.0: dependencies: builtins "^1.0.3" -value-or-promise@1.0.10: - version "1.0.10" - resolved "https://registry.yarnpkg.com/value-or-promise/-/value-or-promise-1.0.10.tgz#5bf041f1e9a8e7043911875547636768a836e446" - integrity sha512-1OwTzvcfXkAfabk60UVr5NdjtjJ0Fg0T5+B1bhxtrOEwSH2fe8y4DnLgoksfCyd8yZCOQQHB0qLMQnwgCjbXLQ== +value-or-promise@1.0.11: + version "1.0.11" + resolved "https://registry.yarnpkg.com/value-or-promise/-/value-or-promise-1.0.11.tgz#3e90299af31dd014fe843fe309cefa7c1d94b140" + integrity sha512-41BrgH+dIbCFXClcSapVs5M6GkENd3gQOJpEfPDNa71LsUGMXDL0jMWpI/Rh7WhX+Aalfz2TTS3Zt5pUsbnhLg== vary@^1, vary@~1.1.2: version "1.1.2" @@ -23008,9 +24462,9 @@ vary@^1, vary@~1.1.2: integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= velocityjs@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/velocityjs/-/velocityjs-2.0.3.tgz#cc772f687061997127b7d8a827dbef3af8a0bbe6" - integrity sha512-sUkygY7HwvbKZvS3naiI7t2o4RTqui6efSwTXLb03igdvPKm3SwCpnqA2kU4/jLD2f0eHB9xPoiza9XAkpuU+g== + version "2.0.5" + resolved "https://registry.yarnpkg.com/velocityjs/-/velocityjs-2.0.5.tgz#81e31d31874039408a70bf7f552f2a68955f2288" + integrity sha512-KiQmrNUTHCZ7ZfAekvXQouCONLJ8ZI92RUvCO86kcvgWhSuoNTg53eJLx5p7fkdbLMC4+KjJA6uJ8e3RAvDpwA== vendors@^1.0.0: version "1.0.4" @@ -23031,7 +24485,7 @@ vm-browserify@^1.0.1: resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== -vm2@^3.9.3: +vm2@^3.9.3, vm2@^3.9.5: version "3.9.5" resolved "https://registry.yarnpkg.com/vm2/-/vm2-3.9.5.tgz#5288044860b4bbace443101fcd3bddb2a0aa2496" integrity sha512-LuCAHZN75H9tdrAiLFf030oW7nJV5xwNMuk1ymOZwopmuK3d2H4L1Kv4+GFHgarKiLfXXLFU+7LDABHnwOkWng== @@ -23064,9 +24518,9 @@ vscode-json-languageservice@^3.7.0: vscode-uri "^2.1.2" vscode-languageserver-textdocument@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.1.tgz#178168e87efad6171b372add1dea34f53e5d330f" - integrity sha512-UIcJDjX7IFkck7cSkNNyzIz5FyvpQfY7sdzVy+wkKN/BLaD4DQ0ppXQrKePomCxTS7RrolK1I0pey0bG9eh8dA== + version "1.0.2" + resolved "https://registry.yarnpkg.com/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.2.tgz#2f9f6bd5b5eb3d8e21424c0c367009216f016236" + integrity sha512-T7uPC18+f8mYE4lbVZwb3OSmvwTZm3cuFhrdx9Bn2l11lmp3SvSuSVjy2JtvrghzjAo4G6Trqny2m9XGnFnWVA== vscode-languageserver-types@3.16.0-next.2: version "3.16.0-next.2" @@ -23124,11 +24578,11 @@ wait-port@^0.2.7: debug "^4.1.1" 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= + version "1.0.8" + resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" + integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== dependencies: - makeerror "1.0.x" + makeerror "1.0.12" warning@^4.0.2: version "4.0.3" @@ -23174,6 +24628,11 @@ web-vitals@^0.2.4: resolved "https://registry.yarnpkg.com/web-vitals/-/web-vitals-0.2.4.tgz#ec3df43c834a207fd7cdefd732b2987896e08511" integrity sha512-6BjspCO9VriYy12z356nL6JBS0GYeEcA457YyRzD+dD6XYCQ75NKhcOHUMHentOE7OcVCIXXDvOm0jKFfQG2Gg== +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE= + webidl-conversions@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" @@ -23325,6 +24784,14 @@ whatwg-mimetype@^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@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0= + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + whatwg-url@^8.0.0, whatwg-url@^8.4.0, whatwg-url@^8.5.0: version "8.7.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" @@ -23369,12 +24836,12 @@ which@^1.1.1, which@^1.2.14, which@^1.2.9, which@^1.3.1: dependencies: isexe "^2.0.0" -wide-align@1.1.3, wide-align@^1.1.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" - integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== +wide-align@^1.1.0: + version "1.1.5" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" + integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== dependencies: - string-width "^1.0.2 || 2" + string-width "^1.0.2 || 2 || 3 || 4" widest-line@^3.1.0: version "3.1.0" @@ -23709,15 +25176,15 @@ write-pkg@^4.0.0: type-fest "^0.4.1" write-json-file "^3.2.0" -ws@8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.1.0.tgz#75e5ec608f66d3d3934ec6dbc4ebc8a34a68638c" - integrity sha512-0UWlCD2s3RSclw8FN+D0zDTUyMO+1kHwJQQJzkgUh16S8d3NYON0AKCEQPffE0ez4JyRFu76QDA9KR5bOG/7jw== +ws@8.2.3: + version "8.2.3" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.2.3.tgz#63a56456db1b04367d0b721a0b80cae6d8becbba" + integrity sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA== "ws@^5.2.0 || ^6.0.0 || ^7.0.0", ws@^7.4.6: - version "7.5.3" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.3.tgz#160835b63c7d97bfab418fc1b8a9fced2ac01a74" - integrity sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg== + version "7.5.5" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.5.tgz#8b4bc4af518cfabd0473ae4f99144287b33eb881" + integrity sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w== ws@^6.2.1: version "6.2.2" @@ -23780,9 +25247,9 @@ xregexp@2.0.0: integrity sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM= xstate@^4.14.0: - version "4.23.1" - resolved "https://registry.yarnpkg.com/xstate/-/xstate-4.23.1.tgz#a85ce0ca4ad9737f1497e2da7a3abc6a5697fbcd" - integrity sha512-8ZoCe8d6wDSPfkep+GBgi+fKAdMyXcaizoNf5FKceEhlso4+9n1TeK6oviaDsXZ3Z5O8xKkJOxXPNuD4cA9LCw== + version "4.26.0" + resolved "https://registry.yarnpkg.com/xstate/-/xstate-4.26.0.tgz#aea3c94b6df57729f55d3d2b83ab9d21801ad24e" + integrity sha512-l0tfRBhVYM17D6IWT4pVOzzN9kY/5lnPWCe4LXjJ3F9HCrJOPBn6tPRAb9mapSRBS8cOeByJFDCRSNopgaoC5w== xtend@^4.0.0, xtend@^4.0.2, xtend@~4.0.1: version "4.0.2" @@ -23840,7 +25307,7 @@ yargs-parser@^15.0.1: camelcase "^5.0.0" decamelize "^1.2.0" -yargs-parser@^18.1.2, yargs-parser@^18.1.3: +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==