├── .gitignore ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── NOTICE ├── README.md ├── cdk ├── .gitignore ├── .npmignore ├── README.md ├── bin │ └── cdk.ts ├── cdk.json ├── jest.config.js ├── lib │ └── cdk-stack.ts ├── package-lock.json ├── package.json ├── test │ └── cdk.test.ts ├── tsconfig.json └── yarn.lock ├── frontend ├── .eslintrc.json ├── .gitignore ├── README.md ├── next.config.js ├── package.json ├── postcss.config.js ├── public │ ├── next.svg │ └── vercel.svg ├── src │ ├── .local.json │ └── app │ │ ├── favicon.ico │ │ ├── globals.css │ │ ├── layout.tsx │ │ └── page.tsx ├── tailwind.config.ts ├── tsconfig.json └── yarn.lock ├── lambda ├── .eslintrc.json ├── build.js ├── package-lock.json ├── package.json ├── src │ ├── .local.json │ ├── ddb.ts │ └── todo │ │ └── index.ts ├── tsconfig.json └── yarn.lock ├── package.json ├── start.js └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | dist -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | ## Code of Conduct 2 | This project has adopted the [Amazon Open Source Code of Conduct](https://aws.github.io/code-of-conduct). 3 | For more information see the [Code of Conduct FAQ](https://aws.github.io/code-of-conduct-faq) or contact 4 | opensource-codeofconduct@amazon.com with any additional questions or comments. 5 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing Guidelines 2 | 3 | Thank you for your interest in contributing to our project. Whether it's a bug report, new feature, correction, or additional 4 | documentation, we greatly value feedback and contributions from our community. 5 | 6 | Please read through this document before submitting any issues or pull requests to ensure we have all the necessary 7 | information to effectively respond to your bug report or contribution. 8 | 9 | 10 | ## Reporting Bugs/Feature Requests 11 | 12 | We welcome you to use the GitHub issue tracker to report bugs or suggest features. 13 | 14 | When filing an issue, please check existing open, or recently closed, issues to make sure somebody else hasn't already 15 | reported the issue. Please try to include as much information as you can. Details like these are incredibly useful: 16 | 17 | * A reproducible test case or series of steps 18 | * The version of our code being used 19 | * Any modifications you've made relevant to the bug 20 | * Anything unusual about your environment or deployment 21 | 22 | 23 | ## Contributing via Pull Requests 24 | Contributions via pull requests are much appreciated. Before sending us a pull request, please ensure that: 25 | 26 | 1. You are working against the latest source on the *main* branch. 27 | 2. You check existing open, and recently merged, pull requests to make sure someone else hasn't addressed the problem already. 28 | 3. You open an issue to discuss any significant work - we would hate for your time to be wasted. 29 | 30 | To send us a pull request, please: 31 | 32 | 1. Fork the repository. 33 | 2. Modify the source; please focus on the specific change you are contributing. If you also reformat all the code, it will be hard for us to focus on your change. 34 | 3. Ensure local tests pass. 35 | 4. Commit to your fork using clear commit messages. 36 | 5. Send us a pull request, answering any default questions in the pull request interface. 37 | 6. Pay attention to any automated CI failures reported in the pull request, and stay involved in the conversation. 38 | 39 | GitHub provides additional document on [forking a repository](https://help.github.com/articles/fork-a-repo/) and 40 | [creating a pull request](https://help.github.com/articles/creating-a-pull-request/). 41 | 42 | 43 | ## Finding contributions to work on 44 | Looking at the existing issues is a great way to find something to contribute on. As our projects, by default, use the default GitHub issue labels (enhancement/bug/duplicate/help wanted/invalid/question/wontfix), looking at any 'help wanted' issues is a great place to start. 45 | 46 | 47 | ## Code of Conduct 48 | This project has adopted the [Amazon Open Source Code of Conduct](https://aws.github.io/code-of-conduct). 49 | For more information see the [Code of Conduct FAQ](https://aws.github.io/code-of-conduct-faq) or contact 50 | opensource-codeofconduct@amazon.com with any additional questions or comments. 51 | 52 | 53 | ## Security issue notifications 54 | If you discover a potential security issue in this project we ask that you notify AWS/Amazon Security via our [vulnerability reporting page](http://aws.amazon.com/security/vulnerability-reporting/). Please do **not** create a public github issue. 55 | 56 | 57 | ## Licensing 58 | 59 | See the [LICENSE](LICENSE) file for our project's licensing. We will ask you to confirm the licensing of your contribution. 60 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT No Attribution 2 | 3 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so. 10 | 11 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 12 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 13 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 14 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 15 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 16 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 17 | 18 | -------------------------------------------------------------------------------- /NOTICE: -------------------------------------------------------------------------------- 1 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Localstack + AWS CDK example 2 | 3 | by @maxthom 4 | 5 | # Purpose 6 | 7 | This repo aims to showcase the usage of Localstack and AWS CDK to address specific integration challenges regarding local development where the end target is the AWS platform. 8 | 9 | The following tenets were in mind (unless you know better ones): 10 | 11 | 1. **Everything is code and is stored at the same location** - Every single component of the application we're building has a code representation to ensure quality through test, reliability through reproduction and security through auditability. 12 | 1. **Our implementation is frugal** - We use the right tool for the right job and we decrease the number of lines of code to maximize productivity, ease debug and ensure high quality. 13 | 1. **We trust the code** - Local code is exactly the code sent and deployed in the cloud. 14 | 1. **We test in production-close conditions** - Local development is representative of the AWS cloud and we can add / remove test AWS accounts without interferring with CI/CD pipelines. 15 | 16 | # Stack 17 | 18 | ## Local stack 19 | 20 | 1. [Docker](https://www.docker.com/) 21 | 1. (Optional) [Docker Desktop](https://www.docker.com/products/docker-desktop/) 22 | 1. [Localstack](https://localstack.cloud/) 23 | 1. (Optional) [Localstack Desktop](https://docs.localstack.cloud/user-guide/tools/localstack-desktop/) 24 | 1. [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) 25 | 1. [Localstack AWSLocal](https://github.com/localstack/awscli-local) 26 | 1. [AWS CDK](https://aws.amazon.com/fr/cdk/) 27 | 1. [Localstack CDKLocal](https://github.com/localstack/aws-cdk-local) 28 | 29 | ## Backend 30 | 31 | 1. (global) [Typescript](https://www.typescriptlang.org/download) 32 | 1. (dependency) [esbuild](https://esbuild.github.io/) 33 | 34 | ## Frontend 35 | 36 | 1. (dependency) [React](https://react.dev/) 37 | 1. (dependency) [Next.js](https://nextjs.org/) 38 | 1. (dependency) [Axios](https://axios-http.com/) 39 | 40 | ## Install the stack 41 | 42 | ### Docker 43 | 44 | brew install docker 45 | docker --version 46 | 47 | (Optional) install [Docker Desktop](https://www.docker.com/products/docker-desktop/) 48 | 49 | ### Localstack 50 | 51 | brew install localstack/tap/localstack-cli 52 | localstack --version 53 | 54 | (Optional) Install [LocalStack Desktop](https://docs.localstack.cloud/user-guide/tools/localstack-desktop/) 55 | 56 | ### AWS CDK & LocalStack CDK Local 57 | 58 | [Download](https://github.com/localstack/aws-cdk-local) 59 | 60 | npm install -g aws-cdk-local aws-cdk 61 | 62 | ### AWS CLI && LocalStack AWS Local 63 | 64 | [Download](https://github.com/localstack/awscli-local) 65 | 66 | python3 -m pip --version 67 | python3 -m pip install awscli awscli-local 68 | awslocal --version 69 | 70 | # Localstack 71 | 72 | ## Start 73 | 74 | localstack start -d --no-banner 75 | 76 | Where: 77 | 78 | - d is for Daemon mode 79 | - no banner remove the ASCII style banner (might cause trouble with Windows) 80 | 81 | ## Stop 82 | 83 | localstack stop 84 | 85 | ## Configuration get/set 86 | 87 | localstack config show 88 | 89 | # CDK and AWS Local 90 | 91 | ## Init 92 | 93 | mkdir cdk 94 | cd cdk 95 | cdklocal init --language typescript 96 | 97 | ## Bootstrap 98 | 99 | cd cdk 100 | cdklocal bootstrap 101 | awslocal s3 ls 102 | 103 | ## Deploy 104 | 105 | cdk deploy --require-approval never 106 | 107 | Where: 108 | 109 | - require approval never skips approval prompts 110 | 111 | # Part 1 - Building a simple stack 112 | 113 | The following takes all the benefits from cdk and localstack to have one unique stack deployed both locally and remotely. 114 | This means the services requried by the architecture is lowered by the actual list of LocalStack supported service. 115 | For non exotic usage, it should cover most of the cases. 116 | 117 | ## Creating the stack 118 | 119 | - Edit `cdk/lib/cdk-stack.ts` 120 | 121 | - Add the creation of the Dynamo Table as follow (or uncomment the code): 122 | 123 | ``` 124 | const todoTable = new Table(this, "TodoTable", { 125 | tableName: "Todo", 126 | partitionKey: { name: "id", type: AttributeType.STRING }, 127 | }) 128 | ``` 129 | 130 | - Synthetize the Cloudformation template: 131 | 132 | ``` 133 | # cdklocal synth 134 | ``` 135 | 136 | - Deploy 137 | 138 | ``` 139 | cdklocal deploy --require-approval never 140 | ``` 141 | 142 | ## Developping the backend 143 | 144 | Backend code is supported by Typescript and esbuild. Source code is located in the `src` directory and has different directories for each lambda. Shared code is at the root of `src`. 145 | 146 | src 147 | --> 148 | --> index.ts 149 | --> 150 | ddb.ts 151 | 152 | 153 | To start to develop: 154 | 155 | $ cd lambda 156 | $ lambda > npm start 157 | 158 | It kicks off a watch process to compile the typescript if the content of the file change. 159 | 160 | Using the [`Hot reload`](https://docs.localstack.cloud/user-guide/tools/lambda-tools/hot-reloading/) of Localstack, the code is then automatically (and magically) uploaded in the lambda. It allows you to developp locally and have a seamless developer experience, faster than Lambda's web editor. 161 | 162 | _Note:_ You need one hot reload bucket for each lambda (using the same does not work) 163 | 164 | ## Developping frontend 165 | 166 | Frontend does not need to be in the local CDK infrastructure as a developer can develop locally SPA without all the stack. 167 | 168 | To start to develop: 169 | 170 | $ npm run dev 171 | 172 | ## Troubleshooting 173 | 174 | ### View the data from DynamoDB with NoSQL Workbench 175 | 176 | - Check that the table is created 177 | 178 | $ awslocal dynamodb list-tables 179 | 180 | - Download the [software](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/workbench.html) 181 | - Install it & run it 182 | - Select `Operation Builder` > `Add Connection` and fill the `DynamoDB local` form 183 | - Change the port to `4566` //TOCHECK 184 | - Browse the local tables 185 | 186 | ### Invoke a specific lambda from the console 187 | 188 | $ curl -X POST \ 189 | 'http://.lambda-url.us-east-1.localhost.localstack.cloud:4566/' \ 190 | -H 'Content-Type: application/json' \ 191 | -d '{"num1": "10", "num2": "10"}' 192 | 193 | ### View the logs of a specific lambda, since 1 min 194 | 195 | $ awslocal logs tail /aws/lambda/Todo --since 1m 196 | 197 | ### Debuging API calls from the frontend 198 | 199 | **Symptoms**: in the browser, a RestAPI call response status is "502" with CORS reason. 200 | 201 | **Debug steps**: 202 | 203 | 1. Brower shows CORS errors but it can be a classic regular error such as 4xx or 5xx. If the method is GET, open the link in the browser. You would have the main reason of the CORS issue: either a 404 or a 500. For example, \*Internal errorraises a 204 | 1. Check the following: 205 | 1. API has the API resource definition in the CDK stack code 206 | 1. CDK has been deployed 207 | 1. Lambda resource is found and entered (console.log at the top of the handler) 208 | 1. Lambda resource is entered and you enter the right method/path branch (console.log in the right portion of the code) 209 | 210 | # Part 2 - Building deployment in AWS 211 | 212 | ## Backend 213 | 214 | Build is pushed in the `dist` directory, so deployment is about pushing the lambda code through CDK. 215 | 216 | ## Frontend 217 | 218 | Build is pushed in the `.next` directory, so the deployment is about pushing the SPA code through CDK. 219 | 220 | ## CDK 221 | 222 | Considering the architecture of your project, you might have some differences between the infrastructure described locally and what you might have in the AWS platform. Localstack does not cover all the AWS Services and the coverage is available here: https://docs.localstack.cloud/user-guide/aws/feature-coverage/. 223 | 224 | It implies that you'll have to add some logic in the CDK code to split both architectures. 225 | 226 | ### Part 1 - Split by Typescript imports 227 | 228 | Basically, we use the TS imports to isolate parts of the code in different sections. Regarding the documentation of CDK on building a stack, a stack is defined by a scope and all constructs can be attached to this scope with [construct's constructor function](https://docs.aws.amazon.com/cdk/v2/guide/constructs.html) signature. 229 | 230 | It means, you can leverage function in Typescript building Constructs, Array of Constructs or externalize the code for reuse. 231 | 232 | #### Function returning a construct 233 | 234 | In `cdk/lib/cdk-stack.ts`, you can add the following: 235 | 236 | ``` 237 | const getBucket = (scope: Construct, bucketName: string) => { 238 | return new s3.Bucket(scope, 'Bucket', { 239 | bucketName, 240 | blockPublicAccess: s3.BlockPublicAccess.BLOCK_ALL, 241 | encryption: s3.BucketEncryption.S3_MANAGED, 242 | enforceSSL: true, 243 | versioned: true, 244 | removalPolicy: RemovalPolicy.RETAIN, 245 | }) 246 | } 247 | 248 | ``` 249 | 250 | and use it in the code of the stack's constructor: 251 | 252 | ``` 253 | ... 254 | const myBucket = getBucket("my-bucket-32") 255 | ... 256 | ``` 257 | 258 | #### Function returning an array of constructs 259 | 260 | Following the same principle, you can factorize your code to minimize its size, increase readability and reduce time to debug (less lines of code = easier to manage). 261 | 262 | Let's say you have a list of lambda and you want one bucket by lambda, you can do: 263 | 264 | ``` 265 | const getLambdas = (scope: Construct)=>{ 266 | const lambdaList : Function[] = ... 267 | const bucketList : any = {} 268 | lambdaList.map((lambda:Function)=>{ 269 | const bucket = getBucket(scope, lambda.functionName) 270 | bucketList[lambda.functionName] = bucket 271 | }) 272 | return {lambdaList, bucketList} 273 | } 274 | ``` 275 | 276 | 277 | #### Exporting code in files 278 | 279 | The last part is to reorganize the code so we have functional blocks corresponding to a specific intent. To do so, apply the following architecture tenet: **"for each single feature, we havee one and only one technical solution"**, whih basically means "we have only one file for every single purpose". 280 | 281 | Following the same example, we can split our code in several pieces. 282 | 283 | 1. We move the getBucket function to another file called `storage.ts`. And we prefix the function by `export` so the code will be reacheable from an `import` elsewhere. 284 | 1. We move the lambda code to another file called `compute.ts`, we package it in a function, similar to `getBucket` and we do the same prefix to expose our function. As the lambda code use `getBucket`, we import it at the top of the file. 285 | 1. We remove all the previous code in the stack and we import the `getLambdas` function to use it. 286 | 287 | Proceeding like this has several benefits: 288 | 1. the import system guarantees that you use only what is useful. 289 | 1. the functions are reusable and also composable (see CDK documentation) 290 | 1. the approach is functional, by big set of features, so you can easily navigate the code of your stack and identify resources easily. 291 | 292 | 293 | ### Part 2 - Flattening and Nested stack 294 | 295 | This is great but if your infrastructure becomes huge, you'll face two main challenges: 296 | 1. CDK generates resources for you through the use of construct, and in certain cases, you won't need constrcut abstraction (L3). 297 | 1. CDK generates resources, so you'll quickly reach the famous limit of [500 resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) by AWS Cloud Formation. 298 | 299 | To avoid those, the architecture tenet above helps your to split in the right way: 300 | 1. split your stack in several [Nested Stacks](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.NestedStack.html) 301 | 1. split by big technical mandatory features such as Network, Storage, Compute, Security and so on. It will result on resources set for the whole application and required for the built of the application. 302 | 1. then for the application, if it's too big, you'll get to split in several nested stacks. You have the choice on two approaches: 303 | 1. There's a natural split by technology or purpose : frontend and backend for instances. 304 | 1. There's a functional split by domain or feature : users and registrations for example (including a mini-stack for each of those solutions) 305 | 306 | The benefit of using `Nasted Stacks` is important: 307 | 1. For the delivery, Cloud Formation delivers only what needs to be changed, so it's quicker and you limit your blast radius in case of issue. 308 | 1. For reversibility, if you have to roll out for any reason, you'll roll out only the corresponding nested stack, so the time to retrieve normal operations is reduced. 309 | 310 | And it comes with several constraints: 311 | 1. Reorganizing the code implies a recompute for CDK of the logical ID. The logical ID is used to identify resource in CloudFormation and it's generated by CDK. Moving code from one file to another file will change the generated logical id and then create a new resource. 312 | 1. The granularity comes with a cost in terms of time as you have to set up the initial file split. 313 | 314 | 315 | # Contributing 316 | 317 | Please create a new [GitHub issue](https://github.com/aws-samples/localstack-aws-cdk-example/issues) for any feature requests, bugs, or documentation improvements. 318 | 319 | Where possible, please also submit a [pull request](https://github.com/aws-samples/localstack-aws-cdk-example/pulls) for the change. 320 | 321 | 322 | # License 323 | 324 | This sample code is made available under the MIT-0 license. See the LICENSE file. 325 | -------------------------------------------------------------------------------- /cdk/.gitignore: -------------------------------------------------------------------------------- 1 | *.js 2 | !jest.config.js 3 | *.d.ts 4 | node_modules 5 | 6 | # CDK asset staging directory 7 | .cdk.staging 8 | cdk.out 9 | -------------------------------------------------------------------------------- /cdk/.npmignore: -------------------------------------------------------------------------------- 1 | *.ts 2 | !*.d.ts 3 | 4 | # CDK asset staging directory 5 | .cdk.staging 6 | cdk.out 7 | -------------------------------------------------------------------------------- /cdk/README.md: -------------------------------------------------------------------------------- 1 | # Welcome to your CDK TypeScript project 2 | 3 | This is a blank project for CDK development with TypeScript. 4 | 5 | The `cdk.json` file tells the CDK Toolkit how to execute your app. 6 | 7 | ## Useful commands 8 | 9 | * `npm run build` compile typescript to js 10 | * `npm run watch` watch for changes and compile 11 | * `npm run test` perform the jest unit tests 12 | * `cdk deploy` deploy this stack to your default AWS account/region 13 | * `cdk diff` compare deployed stack with current state 14 | * `cdk synth` emits the synthesized CloudFormation template 15 | -------------------------------------------------------------------------------- /cdk/bin/cdk.ts: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | import "source-map-support/register" 3 | import * as cdk from "aws-cdk-lib" 4 | import { CdkStack } from "../lib/cdk-stack" 5 | 6 | const app = new cdk.App() 7 | const environment = process.env.TARGET || "dev" 8 | if (environment === "dev") { 9 | new CdkStack(app, "CdkStack", { 10 | env: { 11 | account: "000000000000", 12 | region: "us-east-1", 13 | }, 14 | }) 15 | } else if (environment === "prod") { 16 | new CdkStack(app, "CdkStack", { 17 | /* If you don't specify 'env', this stack will be environment-agnostic. 18 | * Account/Region-dependent features and context lookups will not work, 19 | * but a single synthesized template can be deployed anywhere. */ 20 | /* Uncomment the next line to specialize this stack for the AWS Account 21 | * and Region that are implied by the current CLI configuration. */ 22 | // env: { account: process.env.CDK_DEFAULT_ACCOUNT, region: process.env.CDK_DEFAULT_REGION }, 23 | /* Uncomment the next line if you know exactly what Account and Region you 24 | * want to deploy the stack to. */ 25 | // env: { account: '123456789012', region: 'us-east-1' }, 26 | /* For more information, see https://docs.aws.amazon.com/cdk/latest/guide/environments.html */ 27 | }) 28 | } 29 | -------------------------------------------------------------------------------- /cdk/cdk.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": "npx ts-node --prefer-ts-exts bin/cdk.ts", 3 | "watch": { 4 | "include": [ 5 | "**" 6 | ], 7 | "exclude": [ 8 | "README.md", 9 | "cdk*.json", 10 | "**/*.d.ts", 11 | "**/*.js", 12 | "tsconfig.json", 13 | "package*.json", 14 | "yarn.lock", 15 | "node_modules", 16 | "test" 17 | ] 18 | }, 19 | "context": { 20 | "@aws-cdk/aws-lambda:recognizeLayerVersion": true, 21 | "@aws-cdk/core:checkSecretUsage": true, 22 | "@aws-cdk/core:target-partitions": [ 23 | "aws", 24 | "aws-cn" 25 | ], 26 | "@aws-cdk-containers/ecs-service-extensions:enableDefaultLogDriver": true, 27 | "@aws-cdk/aws-ec2:uniqueImdsv2TemplateName": true, 28 | "@aws-cdk/aws-ecs:arnFormatIncludesClusterName": true, 29 | "@aws-cdk/aws-iam:minimizePolicies": true, 30 | "@aws-cdk/core:validateSnapshotRemovalPolicy": true, 31 | "@aws-cdk/aws-codepipeline:crossAccountKeyAliasStackSafeResourceName": true, 32 | "@aws-cdk/aws-s3:createDefaultLoggingPolicy": true, 33 | "@aws-cdk/aws-sns-subscriptions:restrictSqsDescryption": true, 34 | "@aws-cdk/aws-apigateway:disableCloudWatchRole": true, 35 | "@aws-cdk/core:enablePartitionLiterals": true, 36 | "@aws-cdk/aws-events:eventsTargetQueueSameAccount": true, 37 | "@aws-cdk/aws-iam:standardizedServicePrincipals": true, 38 | "@aws-cdk/aws-ecs:disableExplicitDeploymentControllerForCircuitBreaker": true, 39 | "@aws-cdk/aws-iam:importedRoleStackSafeDefaultPolicyName": true, 40 | "@aws-cdk/aws-s3:serverAccessLogsUseBucketPolicy": true, 41 | "@aws-cdk/aws-route53-patters:useCertificate": true, 42 | "@aws-cdk/customresources:installLatestAwsSdkDefault": false, 43 | "@aws-cdk/aws-rds:databaseProxyUniqueResourceName": true, 44 | "@aws-cdk/aws-codedeploy:removeAlarmsFromDeploymentGroup": true, 45 | "@aws-cdk/aws-apigateway:authorizerChangeDeploymentLogicalId": true, 46 | "@aws-cdk/aws-ec2:launchTemplateDefaultUserData": true, 47 | "@aws-cdk/aws-secretsmanager:useAttachedSecretResourcePolicyForSecretTargetAttachments": true, 48 | "@aws-cdk/aws-redshift:columnId": true, 49 | "@aws-cdk/aws-stepfunctions-tasks:enableEmrServicePolicyV2": true, 50 | "@aws-cdk/aws-ec2:restrictDefaultSecurityGroup": true, 51 | "@aws-cdk/aws-apigateway:requestValidatorUniqueId": true, 52 | "@aws-cdk/aws-kms:aliasNameRef": true, 53 | "@aws-cdk/aws-autoscaling:generateLaunchTemplateInsteadOfLaunchConfig": true, 54 | "@aws-cdk/core:includePrefixInUniqueNameGeneration": true, 55 | "@aws-cdk/aws-efs:denyAnonymousAccess": true, 56 | "@aws-cdk/aws-opensearchservice:enableOpensearchMultiAzWithStandby": true, 57 | "@aws-cdk/aws-lambda-nodejs:useLatestRuntimeVersion": true, 58 | "@aws-cdk/aws-efs:mountTargetOrderInsensitiveLogicalId": true, 59 | "@aws-cdk/aws-rds:auroraClusterChangeScopeOfInstanceParameterGroupWithEachParameters": true, 60 | "@aws-cdk/aws-appsync:useArnForSourceApiAssociationIdentifier": true, 61 | "@aws-cdk/aws-rds:preventRenderingDeprecatedCredentials": true 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /cdk/jest.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | testEnvironment: 'node', 3 | roots: ['/test'], 4 | testMatch: ['**/*.test.ts'], 5 | transform: { 6 | '^.+\\.tsx?$': 'ts-jest' 7 | } 8 | }; 9 | -------------------------------------------------------------------------------- /cdk/lib/cdk-stack.ts: -------------------------------------------------------------------------------- 1 | // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | // SPDX-License-Identifier: MIT-0 3 | 4 | import * as cdk from "aws-cdk-lib" 5 | import { Construct } from "constructs" 6 | import { AttributeType, Table } from "aws-cdk-lib/aws-dynamodb" 7 | import { 8 | ManagedPolicy, 9 | PolicyStatement, 10 | Role, 11 | ServicePrincipal, 12 | } from "aws-cdk-lib/aws-iam" 13 | import { Bucket } from "aws-cdk-lib/aws-s3" 14 | import { Code, Function, Runtime } from "aws-cdk-lib/aws-lambda" 15 | import * as path from "path" 16 | import { 17 | AuthorizationType, 18 | Cors, 19 | LambdaIntegration, 20 | MethodOptions, 21 | RestApi, 22 | } from "aws-cdk-lib/aws-apigateway" 23 | 24 | export class CdkStack extends cdk.Stack { 25 | constructor(scope: Construct, id: string, props?: cdk.StackProps) { 26 | super(scope, id, props) 27 | 28 | //Part 1 - DynamoDB 29 | const todoTable = new Table(this, "TodoTable", { 30 | tableName: "Todo", 31 | partitionKey: { name: "id", type: AttributeType.STRING }, 32 | }) 33 | 34 | //Part 2 - Lambda 35 | const lambdaRole = new Role(this, "LambdaRole", { 36 | assumedBy: new ServicePrincipal("lambda.amazon.com"), 37 | }) 38 | 39 | lambdaRole.addToPolicy( 40 | new PolicyStatement({ 41 | actions: ["dynamodb:*"], 42 | resources: ["arn:aws:synamodb:us-east-1::table/*"], 43 | }) 44 | ) 45 | lambdaRole.addManagedPolicy( 46 | ManagedPolicy.fromAwsManagedPolicyName( 47 | "service-role/AWSLambdaBasicExecutionRole" 48 | ) 49 | ) 50 | 51 | const lambdaPath = "../../lambda/dist/todo" 52 | const hotReloadingBucket = Bucket.fromBucketName( 53 | this, 54 | "HotReloadingBucket", 55 | "hot-reload" 56 | ) 57 | 58 | const todoLambda = new Function(this, "LambdaFunctionTodo", { 59 | functionName: "Todo", 60 | runtime: Runtime.NODEJS_18_X, 61 | timeout: cdk.Duration.seconds(120), 62 | handler: "index.handler", 63 | code: Code.fromBucket( 64 | hotReloadingBucket, 65 | path.join(__dirname, lambdaPath) 66 | ), 67 | memorySize: 128, 68 | }) 69 | 70 | //Part 3 - API Gateway 71 | const sharedMO: MethodOptions = { 72 | authorizationType: AuthorizationType.NONE, 73 | } 74 | const sharedMOItem: MethodOptions = { 75 | ...sharedMO, 76 | requestParameters: { 77 | "method.request.path.itemId": true, 78 | }, 79 | } 80 | const api = new RestApi(this, "RestAPI", { 81 | defaultCorsPreflightOptions: { 82 | allowOrigins: Cors.ALL_ORIGINS, 83 | allowMethods: Cors.ALL_METHODS, 84 | }, 85 | }) 86 | const todoLI = new LambdaIntegration(todoLambda) 87 | const todoResource = api.root.addResource("todo") 88 | todoResource.addMethod("GET", todoLI, sharedMO) 89 | todoResource.addMethod("POST", todoLI, sharedMO) 90 | 91 | const todoResourceItem = todoResource.addResource("{itemId}") 92 | todoResourceItem.addMethod("DELETE", todoLI, sharedMOItem) 93 | } 94 | } 95 | -------------------------------------------------------------------------------- /cdk/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "cdk", 3 | "version": "0.1.0", 4 | "bin": { 5 | "cdk": "bin/cdk.js" 6 | }, 7 | "scripts": { 8 | "build": "tsc", 9 | "watch": "tsc -w", 10 | "test": "jest", 11 | "cdk": "cdk" 12 | }, 13 | "devDependencies": { 14 | "@babel/traverse": "^7.23.2", 15 | "@types/jest": "^29.5.5", 16 | "@types/node": "20.6.3", 17 | "aws-cdk": "2.99.1", 18 | "jest": "^29.7.0", 19 | "ts-jest": "^29.1.1", 20 | "ts-node": "^10.9.1", 21 | "typescript": "~5.2.2" 22 | }, 23 | "dependencies": { 24 | "aws-cdk-lib": "2.99.1", 25 | "constructs": "^10.0.0", 26 | "path": "^0.12.7", 27 | "source-map-support": "^0.5.21" 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /cdk/test/cdk.test.ts: -------------------------------------------------------------------------------- 1 | // import * as cdk from 'aws-cdk-lib'; 2 | // import { Template } from 'aws-cdk-lib/assertions'; 3 | // import * as Cdk from '../lib/cdk-stack'; 4 | 5 | // example test. To run these tests, uncomment this file along with the 6 | // example resource in lib/cdk-stack.ts 7 | test('SQS Queue Created', () => { 8 | // const app = new cdk.App(); 9 | // // WHEN 10 | // const stack = new Cdk.CdkStack(app, 'MyTestStack'); 11 | // // THEN 12 | // const template = Template.fromStack(stack); 13 | 14 | // template.hasResourceProperties('AWS::SQS::Queue', { 15 | // VisibilityTimeout: 300 16 | // }); 17 | }); 18 | -------------------------------------------------------------------------------- /cdk/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2020", 4 | "module": "commonjs", 5 | "lib": [ 6 | "es2020", 7 | "dom" 8 | ], 9 | "declaration": true, 10 | "strict": true, 11 | "noImplicitAny": true, 12 | "strictNullChecks": true, 13 | "noImplicitThis": true, 14 | "alwaysStrict": true, 15 | "noUnusedLocals": false, 16 | "noUnusedParameters": false, 17 | "noImplicitReturns": true, 18 | "noFallthroughCasesInSwitch": false, 19 | "inlineSourceMap": true, 20 | "inlineSources": true, 21 | "experimentalDecorators": true, 22 | "strictPropertyInitialization": false, 23 | "typeRoots": [ 24 | "./node_modules/@types" 25 | ] 26 | }, 27 | "exclude": [ 28 | "node_modules", 29 | "cdk.out" 30 | ] 31 | } 32 | -------------------------------------------------------------------------------- /frontend/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "next/core-web-vitals" 3 | } 4 | -------------------------------------------------------------------------------- /frontend/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # next.js 12 | /.next/ 13 | /out/ 14 | 15 | # production 16 | /build 17 | 18 | # misc 19 | .DS_Store 20 | *.pem 21 | 22 | # debug 23 | npm-debug.log* 24 | yarn-debug.log* 25 | yarn-error.log* 26 | 27 | # local env files 28 | .env*.local 29 | 30 | # vercel 31 | .vercel 32 | 33 | # typescript 34 | *.tsbuildinfo 35 | next-env.d.ts 36 | -------------------------------------------------------------------------------- /frontend/README.md: -------------------------------------------------------------------------------- 1 | This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app). 2 | 3 | ## Getting Started 4 | 5 | First, run the development server: 6 | 7 | ```bash 8 | npm run dev 9 | # or 10 | yarn dev 11 | # or 12 | pnpm dev 13 | # or 14 | bun dev 15 | ``` 16 | 17 | Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. 18 | 19 | You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file. 20 | 21 | This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font. 22 | 23 | ## Learn More 24 | 25 | To learn more about Next.js, take a look at the following resources: 26 | 27 | - [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. 28 | - [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. 29 | 30 | You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome! 31 | 32 | ## Deploy on Vercel 33 | 34 | The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. 35 | 36 | Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details. 37 | -------------------------------------------------------------------------------- /frontend/next.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('next').NextConfig} */ 2 | const nextConfig = {} 3 | 4 | module.exports = nextConfig 5 | -------------------------------------------------------------------------------- /frontend/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "frontend", 3 | "version": "0.1.0", 4 | "private": true, 5 | "scripts": { 6 | "dev": "next dev", 7 | "build": "next build", 8 | "start": "next start", 9 | "lint": "next lint" 10 | }, 11 | "dependencies": { 12 | "axios": "^1.5.1", 13 | "next": "13.5.4", 14 | "react": "^18", 15 | "react-dom": "^18" 16 | }, 17 | "devDependencies": { 18 | "@types/node": "^20", 19 | "@types/react": "^18", 20 | "@types/react-dom": "^18", 21 | "autoprefixer": "^10", 22 | "eslint": "^8", 23 | "eslint-config-next": "13.5.4", 24 | "postcss": "^8", 25 | "tailwindcss": "^3", 26 | "typescript": "^5" 27 | }, 28 | "resolutions": { 29 | "follow-redirects": "^1.15.6" 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /frontend/postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /frontend/public/next.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/public/vercel.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/src/.local.json: -------------------------------------------------------------------------------- 1 | { 2 | "apiId": "xziqw3qow7" 3 | } 4 | -------------------------------------------------------------------------------- /frontend/src/app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aws-samples/localstack-aws-cdk-example/822819d1767a7b3d56d58bb755153f7a15c422b7/frontend/src/app/favicon.ico -------------------------------------------------------------------------------- /frontend/src/app/globals.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; 4 | 5 | :root { 6 | --foreground-rgb: 0, 0, 0; 7 | --background-start-rgb: 214, 219, 220; 8 | --background-end-rgb: 255, 255, 255; 9 | } 10 | 11 | @media (prefers-color-scheme: dark) { 12 | :root { 13 | --foreground-rgb: 255, 255, 255; 14 | --background-start-rgb: 0, 0, 0; 15 | --background-end-rgb: 0, 0, 0; 16 | } 17 | } 18 | 19 | body { 20 | color: rgb(var(--foreground-rgb)); 21 | } 22 | -------------------------------------------------------------------------------- /frontend/src/app/layout.tsx: -------------------------------------------------------------------------------- 1 | // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | // SPDX-License-Identifier: MIT-0 3 | import './globals.css' 4 | import type { Metadata } from 'next' 5 | import { Inter } from 'next/font/google' 6 | 7 | const inter = Inter({ subsets: ['latin'] }) 8 | 9 | export const metadata: Metadata = { 10 | title: 'Create Next App', 11 | description: 'Generated by create next app', 12 | } 13 | 14 | export default function RootLayout({ 15 | children, 16 | }: { 17 | children: React.ReactNode 18 | }) { 19 | return ( 20 | 21 | {children} 22 | 23 | ) 24 | } 25 | -------------------------------------------------------------------------------- /frontend/src/app/page.tsx: -------------------------------------------------------------------------------- 1 | // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | // SPDX-License-Identifier: MIT-0 3 | "use client" 4 | import Image from "next/image" 5 | import axios from "axios" 6 | 7 | import config from "../.local.json" 8 | import { useEffect, useState } from "react" 9 | // const API_URL = `http://${config.apiId}.execute-api.localhost.localstack.cloud:4566/prod/todo` 10 | const API_URL = ` http://localhost:4566/restapis/${config.apiId}/test/_user_request_/todo` 11 | 12 | export default function Home() { 13 | const read = async () => { 14 | const results = await axios.get(API_URL) 15 | setItems(results.data) 16 | } 17 | 18 | const save = async () => { 19 | const result = await axios.post(API_URL, { 20 | activity 21 | }) 22 | setActivity("") 23 | await read() 24 | } 25 | const del = async (event: any) => { 26 | const id = event.target.id 27 | const result = await axios.delete(`${API_URL}/${id}`) 28 | await read() 29 | } 30 | 31 | const [items, setItems] = useState([]) 32 | const [activity, setActivity] = useState("") 33 | 34 | useEffect(() => { 35 | if (!items.length) { 36 | read() 37 | } 38 | }, [items.length]) 39 | 40 | // console.log("ITEMS", items) 41 | 42 | return ( 43 |
44 |
45 |

46 | 56 |
57 | 58 |
59 | Vercel Logo 67 |
68 | 69 |
RestAPI : {config.apiId}
70 |
71 | { 77 | setActivity(event.target.value) 78 | }} 79 | data-np-intersection-state 80 | data-np-mark 81 | style={{ color: "black", paddingLeft: 10, border: "1px solid black" }} 82 | /> 83 | 86 |
87 | 88 |
89 | {items.length > 0 && 90 | items.map((item: any) => ( 91 |
92 | 95 | {item.activity} 96 |
97 | ))} 98 |
99 |
100 | ) 101 | } 102 | -------------------------------------------------------------------------------- /frontend/tailwind.config.ts: -------------------------------------------------------------------------------- 1 | import type { Config } from 'tailwindcss' 2 | 3 | const config: Config = { 4 | content: [ 5 | './src/pages/**/*.{js,ts,jsx,tsx,mdx}', 6 | './src/components/**/*.{js,ts,jsx,tsx,mdx}', 7 | './src/app/**/*.{js,ts,jsx,tsx,mdx}', 8 | ], 9 | theme: { 10 | extend: { 11 | backgroundImage: { 12 | 'gradient-radial': 'radial-gradient(var(--tw-gradient-stops))', 13 | 'gradient-conic': 14 | 'conic-gradient(from 180deg at 50% 50%, var(--tw-gradient-stops))', 15 | }, 16 | }, 17 | }, 18 | plugins: [], 19 | } 20 | export default config 21 | -------------------------------------------------------------------------------- /frontend/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "lib": ["dom", "dom.iterable", "esnext"], 5 | "allowJs": true, 6 | "skipLibCheck": true, 7 | "strict": true, 8 | "noEmit": true, 9 | "esModuleInterop": true, 10 | "module": "esnext", 11 | "moduleResolution": "bundler", 12 | "resolveJsonModule": true, 13 | "isolatedModules": true, 14 | "jsx": "preserve", 15 | "incremental": true, 16 | "plugins": [ 17 | { 18 | "name": "next" 19 | } 20 | ], 21 | "paths": { 22 | "@/*": ["./src/*"] 23 | } 24 | }, 25 | "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], 26 | "exclude": ["node_modules"] 27 | } 28 | -------------------------------------------------------------------------------- /lambda/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "node": true, 4 | "es2021": true 5 | }, 6 | "extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended"], 7 | "parser": "@typescript-eslint/parser", 8 | "parserOptions": { 9 | "ecmaVersion": "latest", 10 | "sourceType": "module" 11 | }, 12 | "plugins": ["@typescript-eslint"], 13 | "rules": { 14 | "indent": ["error", 2], 15 | "linebreak-styles": ["error", "windows"], 16 | "quotes": ["error", "double"], 17 | "semi": ["error", "never"], 18 | "@typescript-eslint/no-explicit-any": "off" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /lambda/build.js: -------------------------------------------------------------------------------- 1 | // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | // SPDX-License-Identifier: MIT-0 3 | 4 | const esbuild = require("esbuild") 5 | const glob = require("fast-glob") 6 | const path = require("path") 7 | const fs = require("fs/promises") 8 | 9 | const OUT_DIR = "dist" 10 | 11 | const main = async () => { 12 | const entryFiles = await glob(`./src/(*/**.ts)`) 13 | const entryPoints = entryFiles.reduce((acc, file) => { 14 | const { name } = path.parse(file) 15 | const baseDir = path.basename(path.dirname(file)) 16 | acc[`${baseDir}/${name}`] = file 17 | return acc 18 | }, {}) 19 | 20 | fs.rm(OUT_DIR, { recursive: true, force: true }) 21 | 22 | const watch = process.argv.indexOf("--watch") > -1 ? true : false 23 | 24 | const options = { 25 | entryPoints, 26 | bundle: true, 27 | target: "node18", 28 | minify: false, 29 | sourcemap: true, 30 | platform: "node", 31 | external: ["aws-sdk"], 32 | outdir: OUT_DIR, 33 | outbase: `./src`, 34 | logLevel: "info", 35 | } 36 | 37 | if (watch) { 38 | options.define = { "process.env.NODE_ENV": '"test"' } 39 | let ctx = await esbuild.context(options) 40 | await ctx.watch() 41 | } else { 42 | await esbuild.build(options) 43 | } 44 | } 45 | main().catch(console.error) 46 | -------------------------------------------------------------------------------- /lambda/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "lambda", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "author": "", 7 | "license": "ISC", 8 | "dependencies": { 9 | "@aws-sdk/client-dynamodb": "^3.423.0", 10 | "@aws-sdk/lib-dynamodb": "^3.423.0", 11 | "aws-lambda": "^1.0.7", 12 | "esbuild": "^0.19.4", 13 | "uuid": "^9.0.1" 14 | }, 15 | "devDependencies": { 16 | "@tsconfig/node18": "^18.2.2", 17 | "@tsconfig/recommended": "^1.0.3", 18 | "@types/aws-lambda": "^8.10.122", 19 | "@types/node": "^20.8.2", 20 | "@types/uuid": "^9.0.4", 21 | "@typescript-eslint/eslint-plugin": "^6.7.3", 22 | "@typescript-eslint/parser": "^6.7.3", 23 | "eslint": "^8.50.0" 24 | }, 25 | "type": "commonjs", 26 | "scripts": { 27 | "typecheck": "tsc --noEmit --pretty", 28 | "start": "node build --watch", 29 | "build": "node build" 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /lambda/src/.local.json: -------------------------------------------------------------------------------- 1 | { 2 | "apiId": "xziqw3qow7" 3 | } 4 | -------------------------------------------------------------------------------- /lambda/src/ddb.ts: -------------------------------------------------------------------------------- 1 | // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | // SPDX-License-Identifier: MIT-0 3 | 4 | import { DynamoDBClient, DynamoDBClientConfig } from "@aws-sdk/client-dynamodb" 5 | import { 6 | DynamoDBDocument, 7 | ScanCommand, 8 | UpdateCommandInput, 9 | } from "@aws-sdk/lib-dynamodb" 10 | import { log } from "console" 11 | import { v4 as uuid } from "uuid" 12 | 13 | const client = () => { 14 | let config: DynamoDBClientConfig & { 15 | accessKeyId?: string 16 | secretAccesskey?: string 17 | } = {} 18 | 19 | if (process.env.NODE_ENV === "test") { 20 | config = { 21 | region: "us-east-1", 22 | endpoint: `http://${process.env.LOCALSTACK_HOSTNAME}:4566`, 23 | } 24 | } 25 | const ddbClient = new DynamoDBClient(config) 26 | return DynamoDBDocument.from(ddbClient) 27 | } 28 | 29 | export const upsert = async (params: any) => { 30 | const id = params.id || uuid() 31 | const paramsWithoutId = params 32 | delete paramsWithoutId.id 33 | 34 | const commandOptions: UpdateCommandInput = { 35 | TableName: "Todo", 36 | Key: { id }, 37 | UpdateExpression: "set #activity = :activity", 38 | ExpressionAttributeNames: { 39 | "#activity": "activity", 40 | }, 41 | ExpressionAttributeValues: { 42 | ":activity": params["activity"], 43 | }, 44 | } 45 | log(JSON.stringify(commandOptions)) 46 | await client().update(commandOptions) 47 | return { ...paramsWithoutId, id } 48 | } 49 | 50 | export const read = async () => { 51 | const items = await client().send( 52 | new ScanCommand({ 53 | TableName: "Todo", 54 | }) 55 | ) 56 | return items.Items 57 | } 58 | 59 | export const del = async (id: string) => { 60 | await client().delete({ 61 | TableName: "Todo", 62 | Key: { id }, 63 | }) 64 | return 65 | } 66 | -------------------------------------------------------------------------------- /lambda/src/todo/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | // SPDX-License-Identifier: MIT-0 3 | import { APIGatewayEvent, APIGatewayProxyResultV2 } from "aws-lambda" 4 | import { del, read, upsert } from "../ddb" 5 | import { log } from "console" 6 | 7 | const headers = { 8 | "Access-Control-Allow-Headers": "*", 9 | "Access-Control-Allow-Origin": "*", 10 | "Access-Control-Allow-Methods": "*", 11 | } 12 | 13 | const ok = (body: any) => { 14 | return { 15 | statusCode: 200, 16 | body: JSON.stringify(body), 17 | headers, 18 | } 19 | } 20 | 21 | const ko = () => { 22 | return { 23 | statusCode: 401, 24 | headers, 25 | } 26 | } 27 | 28 | export const handler = async ( 29 | event: APIGatewayEvent 30 | ): Promise => { 31 | if (event.resource === "/todo") { 32 | if (event.httpMethod === "GET") { 33 | const results = await read() 34 | return ok(results) 35 | } else if (event.httpMethod === "POST") { 36 | const body = JSON.parse(event.body || "") 37 | const results = await upsert(body) 38 | return ok(results) 39 | } 40 | } else if (event.resource === "/todo/{itemId}") { 41 | await del(event.pathParameters?.itemId || "") 42 | return ok({}) 43 | } 44 | return ko() 45 | } 46 | -------------------------------------------------------------------------------- /lambda/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | // "extends": [ 3 | // "@tsconfig/recommended/tsconfig.json", 4 | // "@tsconfig/node18/tsconfig.json" 5 | // ], 6 | "compilerOptions": { 7 | "experimentalDecorators": true, 8 | "resolveJsonModule": true, 9 | "module": "ESNext", 10 | "moduleResolution": "bundler" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /lambda/yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@aashutoshrathi/word-wrap@^1.2.3": 6 | version "1.2.6" 7 | resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" 8 | integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== 9 | 10 | "@aws-crypto/crc32@3.0.0": 11 | version "3.0.0" 12 | resolved "https://registry.yarnpkg.com/@aws-crypto/crc32/-/crc32-3.0.0.tgz#07300eca214409c33e3ff769cd5697b57fdd38fa" 13 | integrity sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA== 14 | dependencies: 15 | "@aws-crypto/util" "^3.0.0" 16 | "@aws-sdk/types" "^3.222.0" 17 | tslib "^1.11.1" 18 | 19 | "@aws-crypto/ie11-detection@^3.0.0": 20 | version "3.0.0" 21 | resolved "https://registry.yarnpkg.com/@aws-crypto/ie11-detection/-/ie11-detection-3.0.0.tgz#640ae66b4ec3395cee6a8e94ebcd9f80c24cd688" 22 | integrity sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q== 23 | dependencies: 24 | tslib "^1.11.1" 25 | 26 | "@aws-crypto/sha256-browser@3.0.0": 27 | version "3.0.0" 28 | resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-browser/-/sha256-browser-3.0.0.tgz#05f160138ab893f1c6ba5be57cfd108f05827766" 29 | integrity sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ== 30 | dependencies: 31 | "@aws-crypto/ie11-detection" "^3.0.0" 32 | "@aws-crypto/sha256-js" "^3.0.0" 33 | "@aws-crypto/supports-web-crypto" "^3.0.0" 34 | "@aws-crypto/util" "^3.0.0" 35 | "@aws-sdk/types" "^3.222.0" 36 | "@aws-sdk/util-locate-window" "^3.0.0" 37 | "@aws-sdk/util-utf8-browser" "^3.0.0" 38 | tslib "^1.11.1" 39 | 40 | "@aws-crypto/sha256-js@3.0.0", "@aws-crypto/sha256-js@^3.0.0": 41 | version "3.0.0" 42 | resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz#f06b84d550d25521e60d2a0e2a90139341e007c2" 43 | integrity sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ== 44 | dependencies: 45 | "@aws-crypto/util" "^3.0.0" 46 | "@aws-sdk/types" "^3.222.0" 47 | tslib "^1.11.1" 48 | 49 | "@aws-crypto/supports-web-crypto@^3.0.0": 50 | version "3.0.0" 51 | resolved "https://registry.yarnpkg.com/@aws-crypto/supports-web-crypto/-/supports-web-crypto-3.0.0.tgz#5d1bf825afa8072af2717c3e455f35cda0103ec2" 52 | integrity sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg== 53 | dependencies: 54 | tslib "^1.11.1" 55 | 56 | "@aws-crypto/util@^3.0.0": 57 | version "3.0.0" 58 | resolved "https://registry.yarnpkg.com/@aws-crypto/util/-/util-3.0.0.tgz#1c7ca90c29293f0883468ad48117937f0fe5bfb0" 59 | integrity sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w== 60 | dependencies: 61 | "@aws-sdk/types" "^3.222.0" 62 | "@aws-sdk/util-utf8-browser" "^3.0.0" 63 | tslib "^1.11.1" 64 | 65 | "@aws-sdk/client-dynamodb@^3.423.0": 66 | version "3.533.0" 67 | resolved "https://registry.yarnpkg.com/@aws-sdk/client-dynamodb/-/client-dynamodb-3.533.0.tgz#23593a7cf54c9d2f8f690fa7efcf606927323e77" 68 | integrity sha512-2rg4EcdwaJZV9edhGyH1oZLH9fNkAfkofq5D2b7zpKuR+Pt1jsmvok22Tfh3NZknNBkWrGKzFubZAqcCMyVIMw== 69 | dependencies: 70 | "@aws-crypto/sha256-browser" "3.0.0" 71 | "@aws-crypto/sha256-js" "3.0.0" 72 | "@aws-sdk/client-sts" "3.533.0" 73 | "@aws-sdk/core" "3.533.0" 74 | "@aws-sdk/credential-provider-node" "3.533.0" 75 | "@aws-sdk/middleware-endpoint-discovery" "3.533.0" 76 | "@aws-sdk/middleware-host-header" "3.533.0" 77 | "@aws-sdk/middleware-logger" "3.533.0" 78 | "@aws-sdk/middleware-recursion-detection" "3.533.0" 79 | "@aws-sdk/middleware-user-agent" "3.533.0" 80 | "@aws-sdk/region-config-resolver" "3.533.0" 81 | "@aws-sdk/types" "3.533.0" 82 | "@aws-sdk/util-endpoints" "3.533.0" 83 | "@aws-sdk/util-user-agent-browser" "3.533.0" 84 | "@aws-sdk/util-user-agent-node" "3.533.0" 85 | "@smithy/config-resolver" "^2.1.5" 86 | "@smithy/core" "^1.3.8" 87 | "@smithy/fetch-http-handler" "^2.4.5" 88 | "@smithy/hash-node" "^2.1.4" 89 | "@smithy/invalid-dependency" "^2.1.4" 90 | "@smithy/middleware-content-length" "^2.1.4" 91 | "@smithy/middleware-endpoint" "^2.4.6" 92 | "@smithy/middleware-retry" "^2.1.7" 93 | "@smithy/middleware-serde" "^2.2.1" 94 | "@smithy/middleware-stack" "^2.1.4" 95 | "@smithy/node-config-provider" "^2.2.5" 96 | "@smithy/node-http-handler" "^2.4.3" 97 | "@smithy/protocol-http" "^3.2.2" 98 | "@smithy/smithy-client" "^2.4.5" 99 | "@smithy/types" "^2.11.0" 100 | "@smithy/url-parser" "^2.1.4" 101 | "@smithy/util-base64" "^2.2.1" 102 | "@smithy/util-body-length-browser" "^2.1.1" 103 | "@smithy/util-body-length-node" "^2.2.2" 104 | "@smithy/util-defaults-mode-browser" "^2.1.7" 105 | "@smithy/util-defaults-mode-node" "^2.2.7" 106 | "@smithy/util-endpoints" "^1.1.5" 107 | "@smithy/util-middleware" "^2.1.4" 108 | "@smithy/util-retry" "^2.1.4" 109 | "@smithy/util-utf8" "^2.2.0" 110 | "@smithy/util-waiter" "^2.1.4" 111 | tslib "^2.5.0" 112 | uuid "^9.0.1" 113 | 114 | "@aws-sdk/client-sso-oidc@3.533.0": 115 | version "3.533.0" 116 | resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.533.0.tgz#a4a3ad2c50a8852119c28b7dc5aa43b6aac9570f" 117 | integrity sha512-jxG+L81bcuH6JJkls+VSRsOTpixvNEQ8clpUglal/XC+qiV09yZUnOi+Fxf2q7OAB7bfM9DB3Wy8YwbhaR2wYg== 118 | dependencies: 119 | "@aws-crypto/sha256-browser" "3.0.0" 120 | "@aws-crypto/sha256-js" "3.0.0" 121 | "@aws-sdk/client-sts" "3.533.0" 122 | "@aws-sdk/core" "3.533.0" 123 | "@aws-sdk/middleware-host-header" "3.533.0" 124 | "@aws-sdk/middleware-logger" "3.533.0" 125 | "@aws-sdk/middleware-recursion-detection" "3.533.0" 126 | "@aws-sdk/middleware-user-agent" "3.533.0" 127 | "@aws-sdk/region-config-resolver" "3.533.0" 128 | "@aws-sdk/types" "3.533.0" 129 | "@aws-sdk/util-endpoints" "3.533.0" 130 | "@aws-sdk/util-user-agent-browser" "3.533.0" 131 | "@aws-sdk/util-user-agent-node" "3.533.0" 132 | "@smithy/config-resolver" "^2.1.5" 133 | "@smithy/core" "^1.3.8" 134 | "@smithy/fetch-http-handler" "^2.4.5" 135 | "@smithy/hash-node" "^2.1.4" 136 | "@smithy/invalid-dependency" "^2.1.4" 137 | "@smithy/middleware-content-length" "^2.1.4" 138 | "@smithy/middleware-endpoint" "^2.4.6" 139 | "@smithy/middleware-retry" "^2.1.7" 140 | "@smithy/middleware-serde" "^2.2.1" 141 | "@smithy/middleware-stack" "^2.1.4" 142 | "@smithy/node-config-provider" "^2.2.5" 143 | "@smithy/node-http-handler" "^2.4.3" 144 | "@smithy/protocol-http" "^3.2.2" 145 | "@smithy/smithy-client" "^2.4.5" 146 | "@smithy/types" "^2.11.0" 147 | "@smithy/url-parser" "^2.1.4" 148 | "@smithy/util-base64" "^2.2.1" 149 | "@smithy/util-body-length-browser" "^2.1.1" 150 | "@smithy/util-body-length-node" "^2.2.2" 151 | "@smithy/util-defaults-mode-browser" "^2.1.7" 152 | "@smithy/util-defaults-mode-node" "^2.2.7" 153 | "@smithy/util-endpoints" "^1.1.5" 154 | "@smithy/util-middleware" "^2.1.4" 155 | "@smithy/util-retry" "^2.1.4" 156 | "@smithy/util-utf8" "^2.2.0" 157 | tslib "^2.5.0" 158 | 159 | "@aws-sdk/client-sso@3.533.0": 160 | version "3.533.0" 161 | resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.533.0.tgz#ff0fd1631ed26d577e4ba28601699131d3c285e0" 162 | integrity sha512-qO+PCEM3fGS/3uBJQjQ01oAI+ashN0CHTJF8X0h3ycVsv3VAAYrpZigpylOOgv7c253s7VrSwjvdKIE8yTbelw== 163 | dependencies: 164 | "@aws-crypto/sha256-browser" "3.0.0" 165 | "@aws-crypto/sha256-js" "3.0.0" 166 | "@aws-sdk/core" "3.533.0" 167 | "@aws-sdk/middleware-host-header" "3.533.0" 168 | "@aws-sdk/middleware-logger" "3.533.0" 169 | "@aws-sdk/middleware-recursion-detection" "3.533.0" 170 | "@aws-sdk/middleware-user-agent" "3.533.0" 171 | "@aws-sdk/region-config-resolver" "3.533.0" 172 | "@aws-sdk/types" "3.533.0" 173 | "@aws-sdk/util-endpoints" "3.533.0" 174 | "@aws-sdk/util-user-agent-browser" "3.533.0" 175 | "@aws-sdk/util-user-agent-node" "3.533.0" 176 | "@smithy/config-resolver" "^2.1.5" 177 | "@smithy/core" "^1.3.8" 178 | "@smithy/fetch-http-handler" "^2.4.5" 179 | "@smithy/hash-node" "^2.1.4" 180 | "@smithy/invalid-dependency" "^2.1.4" 181 | "@smithy/middleware-content-length" "^2.1.4" 182 | "@smithy/middleware-endpoint" "^2.4.6" 183 | "@smithy/middleware-retry" "^2.1.7" 184 | "@smithy/middleware-serde" "^2.2.1" 185 | "@smithy/middleware-stack" "^2.1.4" 186 | "@smithy/node-config-provider" "^2.2.5" 187 | "@smithy/node-http-handler" "^2.4.3" 188 | "@smithy/protocol-http" "^3.2.2" 189 | "@smithy/smithy-client" "^2.4.5" 190 | "@smithy/types" "^2.11.0" 191 | "@smithy/url-parser" "^2.1.4" 192 | "@smithy/util-base64" "^2.2.1" 193 | "@smithy/util-body-length-browser" "^2.1.1" 194 | "@smithy/util-body-length-node" "^2.2.2" 195 | "@smithy/util-defaults-mode-browser" "^2.1.7" 196 | "@smithy/util-defaults-mode-node" "^2.2.7" 197 | "@smithy/util-endpoints" "^1.1.5" 198 | "@smithy/util-middleware" "^2.1.4" 199 | "@smithy/util-retry" "^2.1.4" 200 | "@smithy/util-utf8" "^2.2.0" 201 | tslib "^2.5.0" 202 | 203 | "@aws-sdk/client-sts@3.533.0": 204 | version "3.533.0" 205 | resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.533.0.tgz#a792fc321509dee0b104a3470653663315068bce" 206 | integrity sha512-Z/z76T/pEq0DsBpoyWSMQdS7R6IRpq2ZV6dfZwr+HZ2vho2Icd70nIxwiNzZxaV16aVIhu5/l/5v5Ns9ZCfyOA== 207 | dependencies: 208 | "@aws-crypto/sha256-browser" "3.0.0" 209 | "@aws-crypto/sha256-js" "3.0.0" 210 | "@aws-sdk/core" "3.533.0" 211 | "@aws-sdk/middleware-host-header" "3.533.0" 212 | "@aws-sdk/middleware-logger" "3.533.0" 213 | "@aws-sdk/middleware-recursion-detection" "3.533.0" 214 | "@aws-sdk/middleware-user-agent" "3.533.0" 215 | "@aws-sdk/region-config-resolver" "3.533.0" 216 | "@aws-sdk/types" "3.533.0" 217 | "@aws-sdk/util-endpoints" "3.533.0" 218 | "@aws-sdk/util-user-agent-browser" "3.533.0" 219 | "@aws-sdk/util-user-agent-node" "3.533.0" 220 | "@smithy/config-resolver" "^2.1.5" 221 | "@smithy/core" "^1.3.8" 222 | "@smithy/fetch-http-handler" "^2.4.5" 223 | "@smithy/hash-node" "^2.1.4" 224 | "@smithy/invalid-dependency" "^2.1.4" 225 | "@smithy/middleware-content-length" "^2.1.4" 226 | "@smithy/middleware-endpoint" "^2.4.6" 227 | "@smithy/middleware-retry" "^2.1.7" 228 | "@smithy/middleware-serde" "^2.2.1" 229 | "@smithy/middleware-stack" "^2.1.4" 230 | "@smithy/node-config-provider" "^2.2.5" 231 | "@smithy/node-http-handler" "^2.4.3" 232 | "@smithy/protocol-http" "^3.2.2" 233 | "@smithy/smithy-client" "^2.4.5" 234 | "@smithy/types" "^2.11.0" 235 | "@smithy/url-parser" "^2.1.4" 236 | "@smithy/util-base64" "^2.2.1" 237 | "@smithy/util-body-length-browser" "^2.1.1" 238 | "@smithy/util-body-length-node" "^2.2.2" 239 | "@smithy/util-defaults-mode-browser" "^2.1.7" 240 | "@smithy/util-defaults-mode-node" "^2.2.7" 241 | "@smithy/util-endpoints" "^1.1.5" 242 | "@smithy/util-middleware" "^2.1.4" 243 | "@smithy/util-retry" "^2.1.4" 244 | "@smithy/util-utf8" "^2.2.0" 245 | tslib "^2.5.0" 246 | 247 | "@aws-sdk/core@3.533.0": 248 | version "3.533.0" 249 | resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.533.0.tgz#222dd8eed4fe93904462dc094d35bc67f5eaaac7" 250 | integrity sha512-m3jq9WJbIvlDOnN5KG5U/org1MwOwXzfyU2Rr/48rRey6/+kNSm5QzYZMT0Htsk8V5Ukp325dzs/XR8DyO9uMQ== 251 | dependencies: 252 | "@smithy/core" "^1.3.8" 253 | "@smithy/protocol-http" "^3.2.2" 254 | "@smithy/signature-v4" "^2.1.4" 255 | "@smithy/smithy-client" "^2.4.5" 256 | "@smithy/types" "^2.11.0" 257 | fast-xml-parser "4.2.5" 258 | tslib "^2.5.0" 259 | 260 | "@aws-sdk/credential-provider-env@3.533.0": 261 | version "3.533.0" 262 | resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.533.0.tgz#d246b17f1206cf77d4d55651116b3b0d637a45e9" 263 | integrity sha512-opj7hfcCeNosSmxfJkJr0Af0aSxlqwkdCPlLEvOTwbHmdkovD+SyEpaI4/0ild0syZDMifuJAU6I6K0ukbcm3g== 264 | dependencies: 265 | "@aws-sdk/types" "3.533.0" 266 | "@smithy/property-provider" "^2.1.4" 267 | "@smithy/types" "^2.11.0" 268 | tslib "^2.5.0" 269 | 270 | "@aws-sdk/credential-provider-http@3.533.0": 271 | version "3.533.0" 272 | resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-http/-/credential-provider-http-3.533.0.tgz#bf403804e956d32ea405f7dd3f2cbf9c9a089fe8" 273 | integrity sha512-m5z3V9MRO77t1CF312QKaQSfYG2MM/USqZ1Jj6srb+kJBX+GuVXbkc0+NwrpG5+j8Iukgxy1tms+0p3Wjatu6A== 274 | dependencies: 275 | "@aws-sdk/types" "3.533.0" 276 | "@smithy/fetch-http-handler" "^2.4.5" 277 | "@smithy/node-http-handler" "^2.4.3" 278 | "@smithy/property-provider" "^2.1.4" 279 | "@smithy/protocol-http" "^3.2.2" 280 | "@smithy/smithy-client" "^2.4.5" 281 | "@smithy/types" "^2.11.0" 282 | "@smithy/util-stream" "^2.1.5" 283 | tslib "^2.5.0" 284 | 285 | "@aws-sdk/credential-provider-ini@3.533.0": 286 | version "3.533.0" 287 | resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.533.0.tgz#3018cf2d26b0153a3599a375037220254ca0506c" 288 | integrity sha512-xQ7TMY+j99zxOph+LJJhGPIav6RpydESZgIp5cp/pFY4Liwe5e84M7SaCgkFLck2HE9s7MhP42c8xmC6u9PIuw== 289 | dependencies: 290 | "@aws-sdk/client-sts" "3.533.0" 291 | "@aws-sdk/credential-provider-env" "3.533.0" 292 | "@aws-sdk/credential-provider-process" "3.533.0" 293 | "@aws-sdk/credential-provider-sso" "3.533.0" 294 | "@aws-sdk/credential-provider-web-identity" "3.533.0" 295 | "@aws-sdk/types" "3.533.0" 296 | "@smithy/credential-provider-imds" "^2.2.6" 297 | "@smithy/property-provider" "^2.1.4" 298 | "@smithy/shared-ini-file-loader" "^2.3.5" 299 | "@smithy/types" "^2.11.0" 300 | tslib "^2.5.0" 301 | 302 | "@aws-sdk/credential-provider-node@3.533.0": 303 | version "3.533.0" 304 | resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.533.0.tgz#96d6fcbef83520bd270a5797d9ca8ba7517e05d0" 305 | integrity sha512-Tn2grwFfFDLV5Hr8sZvZY5pjEmDUOm/e+ipnyxxCBB/K7t2ru2R4jG/RUa6+dZXSH/pi+TNte9cYq/Lx2Szjlw== 306 | dependencies: 307 | "@aws-sdk/credential-provider-env" "3.533.0" 308 | "@aws-sdk/credential-provider-http" "3.533.0" 309 | "@aws-sdk/credential-provider-ini" "3.533.0" 310 | "@aws-sdk/credential-provider-process" "3.533.0" 311 | "@aws-sdk/credential-provider-sso" "3.533.0" 312 | "@aws-sdk/credential-provider-web-identity" "3.533.0" 313 | "@aws-sdk/types" "3.533.0" 314 | "@smithy/credential-provider-imds" "^2.2.6" 315 | "@smithy/property-provider" "^2.1.4" 316 | "@smithy/shared-ini-file-loader" "^2.3.5" 317 | "@smithy/types" "^2.11.0" 318 | tslib "^2.5.0" 319 | 320 | "@aws-sdk/credential-provider-process@3.533.0": 321 | version "3.533.0" 322 | resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.533.0.tgz#e7fa3e721fb7e82fd9c1c33dd9b224b16e5cf8b9" 323 | integrity sha512-9Iuhp8dhMqEv7kPsZlc9KFhC5XvuB/jFv3IZoTtRgbACW4cdxng7OwJEWdeZGrcjy9x40Tc2DT9KcmCE895KpQ== 324 | dependencies: 325 | "@aws-sdk/types" "3.533.0" 326 | "@smithy/property-provider" "^2.1.4" 327 | "@smithy/shared-ini-file-loader" "^2.3.5" 328 | "@smithy/types" "^2.11.0" 329 | tslib "^2.5.0" 330 | 331 | "@aws-sdk/credential-provider-sso@3.533.0": 332 | version "3.533.0" 333 | resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.533.0.tgz#ede23bde4e871ad1c3a234c7b364ed3c010d851a" 334 | integrity sha512-1zPZQnFUoZ0fWuLPW2X2L3jPKyd+qW8VzFO1k26oX1KJuiEZJzoYbfap08soy6vhFI+n4NfsAgvoA1IMsqG0Pg== 335 | dependencies: 336 | "@aws-sdk/client-sso" "3.533.0" 337 | "@aws-sdk/token-providers" "3.533.0" 338 | "@aws-sdk/types" "3.533.0" 339 | "@smithy/property-provider" "^2.1.4" 340 | "@smithy/shared-ini-file-loader" "^2.3.5" 341 | "@smithy/types" "^2.11.0" 342 | tslib "^2.5.0" 343 | 344 | "@aws-sdk/credential-provider-web-identity@3.533.0": 345 | version "3.533.0" 346 | resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.533.0.tgz#f7c8c27e07d881ac9b702f14bad0849ba9f9e184" 347 | integrity sha512-utemXrFmvFxBvX+WCznlh5wGdXRIfwEyeNIDFs+WLRn8NIR/6gqCipi7rlC9ZbFFkBhkCTssa6+ruXG+kUQcMg== 348 | dependencies: 349 | "@aws-sdk/client-sts" "3.533.0" 350 | "@aws-sdk/types" "3.533.0" 351 | "@smithy/property-provider" "^2.1.4" 352 | "@smithy/types" "^2.11.0" 353 | tslib "^2.5.0" 354 | 355 | "@aws-sdk/endpoint-cache@3.495.0": 356 | version "3.495.0" 357 | resolved "https://registry.yarnpkg.com/@aws-sdk/endpoint-cache/-/endpoint-cache-3.495.0.tgz#f1c59a4315e61394ebd18b3dda211485c07ee7f8" 358 | integrity sha512-XCDrpiS50WaPzPzp7FwsChPHtX9PQQUU4nRzcn2N7IkUtpcFCUx8m1PAZe086VQr6hrbdeE4Z4j8hUPNwVdJGQ== 359 | dependencies: 360 | mnemonist "0.38.3" 361 | tslib "^2.5.0" 362 | 363 | "@aws-sdk/lib-dynamodb@^3.423.0": 364 | version "3.533.0" 365 | resolved "https://registry.yarnpkg.com/@aws-sdk/lib-dynamodb/-/lib-dynamodb-3.533.0.tgz#e0b0a00494e93fdc3b7634db3399ef32c9f52d2c" 366 | integrity sha512-8pDJZXWd9rdq1sTyvx9zgz9xg5K83aNaavVmlhcYWWFQ3Ykqf1sVPb14dG0MeRLwaWpU3D6Htj6+9m+tSyQ8ag== 367 | dependencies: 368 | "@aws-sdk/util-dynamodb" "3.533.0" 369 | "@smithy/smithy-client" "^2.4.5" 370 | "@smithy/types" "^2.11.0" 371 | tslib "^2.5.0" 372 | 373 | "@aws-sdk/middleware-endpoint-discovery@3.533.0": 374 | version "3.533.0" 375 | resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-endpoint-discovery/-/middleware-endpoint-discovery-3.533.0.tgz#982b84a58625a473edeeb7da60f653493a26a8ff" 376 | integrity sha512-j3RPLzTQfNYUxMj2blZBRrdTBH6BE9Mbqs1JmXL89jwGJ8M1TmMlbwplxmuGKLLKeKgB67DWow1RG58XyniSJA== 377 | dependencies: 378 | "@aws-sdk/endpoint-cache" "3.495.0" 379 | "@aws-sdk/types" "3.533.0" 380 | "@smithy/node-config-provider" "^2.2.5" 381 | "@smithy/protocol-http" "^3.2.2" 382 | "@smithy/types" "^2.11.0" 383 | tslib "^2.5.0" 384 | 385 | "@aws-sdk/middleware-host-header@3.533.0": 386 | version "3.533.0" 387 | resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.533.0.tgz#227b785e632a92ec9e6a261a523c9e7d215af9fd" 388 | integrity sha512-y9JaPjvz3pk4DZcFB6Nud//Hc6y4BkkSwiGXfthwFv5kxfaaksHKd8smDjL3RUPqDKl8AI9vxHzTz1UrQQkpQw== 389 | dependencies: 390 | "@aws-sdk/types" "3.533.0" 391 | "@smithy/protocol-http" "^3.2.2" 392 | "@smithy/types" "^2.11.0" 393 | tslib "^2.5.0" 394 | 395 | "@aws-sdk/middleware-logger@3.533.0": 396 | version "3.533.0" 397 | resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.533.0.tgz#259915eceaf158f00b9a4f925c442bde3d6462af" 398 | integrity sha512-W+ou4YgqnHn/xVNcBgfwAUCtXTHGJjjsFffdt69s1Tb7rP5U4gXnl8wHHADajy9tXiKK48fRc2SGF42EthjQIA== 399 | dependencies: 400 | "@aws-sdk/types" "3.533.0" 401 | "@smithy/types" "^2.11.0" 402 | tslib "^2.5.0" 403 | 404 | "@aws-sdk/middleware-recursion-detection@3.533.0": 405 | version "3.533.0" 406 | resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.533.0.tgz#ac48fdce1e3f7c3e106c41d16a784596695418eb" 407 | integrity sha512-dobVdJ4g1avrVG6QTRHndfvdTxUeloDCn32WLwyOV11XF/2x5p8QJ1VZS+K24xsl29DoJ8bXibZf9xZ7MPwRLg== 408 | dependencies: 409 | "@aws-sdk/types" "3.533.0" 410 | "@smithy/protocol-http" "^3.2.2" 411 | "@smithy/types" "^2.11.0" 412 | tslib "^2.5.0" 413 | 414 | "@aws-sdk/middleware-user-agent@3.533.0": 415 | version "3.533.0" 416 | resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.533.0.tgz#0cad8c5a4220170d3368708a589ded997a12256d" 417 | integrity sha512-H5vbkgwFVgp9egQ/CR+gLRXhVJ/jHqq+J9TTug/To4ev183fcNc2OE15ojiNek8phuSsBZITLaQB+DWBTydsAA== 418 | dependencies: 419 | "@aws-sdk/types" "3.533.0" 420 | "@aws-sdk/util-endpoints" "3.533.0" 421 | "@smithy/protocol-http" "^3.2.2" 422 | "@smithy/types" "^2.11.0" 423 | tslib "^2.5.0" 424 | 425 | "@aws-sdk/region-config-resolver@3.533.0": 426 | version "3.533.0" 427 | resolved "https://registry.yarnpkg.com/@aws-sdk/region-config-resolver/-/region-config-resolver-3.533.0.tgz#86f922a7888eff36411ab5507b7a1fd39c08696d" 428 | integrity sha512-1FLLcohz23aVV+lK3iCUJpjKO/4adXjre0KMg9tvHWwCkOD/sZgLjzlv+BW5Fx2vH3Dgo0kDQ04+XEsbuVC2xA== 429 | dependencies: 430 | "@aws-sdk/types" "3.533.0" 431 | "@smithy/node-config-provider" "^2.2.5" 432 | "@smithy/types" "^2.11.0" 433 | "@smithy/util-config-provider" "^2.2.1" 434 | "@smithy/util-middleware" "^2.1.4" 435 | tslib "^2.5.0" 436 | 437 | "@aws-sdk/token-providers@3.533.0": 438 | version "3.533.0" 439 | resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.533.0.tgz#7cfca598d77931bb3cbdaefca72c24d2133c10ec" 440 | integrity sha512-mHaZUeJ6zfbkW0E64dUmzDwReO1LoDYRful+FT1dbKqQr0p+9Q8o4n6fAswwAVfCYHaAeIt68vE0zVkAlbGCqA== 441 | dependencies: 442 | "@aws-sdk/client-sso-oidc" "3.533.0" 443 | "@aws-sdk/types" "3.533.0" 444 | "@smithy/property-provider" "^2.1.4" 445 | "@smithy/shared-ini-file-loader" "^2.3.5" 446 | "@smithy/types" "^2.11.0" 447 | tslib "^2.5.0" 448 | 449 | "@aws-sdk/types@3.533.0", "@aws-sdk/types@^3.222.0": 450 | version "3.533.0" 451 | resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.533.0.tgz#4c4ade8f41f153295c69f1dea812dcd6154613e3" 452 | integrity sha512-mFb0701oLRcJ7Y2unlrszzk9rr2P6nt2A4Bdz4K5WOsY4f4hsdbcYkrzA1NPmIUTEttU9JT0YG+8z0XxLEX4Aw== 453 | dependencies: 454 | "@smithy/types" "^2.11.0" 455 | tslib "^2.5.0" 456 | 457 | "@aws-sdk/util-dynamodb@3.533.0": 458 | version "3.533.0" 459 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-dynamodb/-/util-dynamodb-3.533.0.tgz#c12f41b2f445e6738dc0aa6c15e63bc0de423e40" 460 | integrity sha512-ebbdeORpPUkL/UtsgIjPuaZ0ROLJrbZRNoP2NFCTySW3jIzxRphSOkLs2zk6VZ7Je3bG06DXtZe6Uziihcuvow== 461 | dependencies: 462 | tslib "^2.5.0" 463 | 464 | "@aws-sdk/util-endpoints@3.533.0": 465 | version "3.533.0" 466 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.533.0.tgz#b9751fef5436caabdf0f168534b84c4a61df4d7d" 467 | integrity sha512-pmjRqWqno6X61RaJ/iEbSSql79Jyaq9d9SvTkyvo8Ce8Kb+49cflzUY1PP0s40Caj4H+bUkpksVHwO7t2qIakw== 468 | dependencies: 469 | "@aws-sdk/types" "3.533.0" 470 | "@smithy/types" "^2.11.0" 471 | "@smithy/util-endpoints" "^1.1.5" 472 | tslib "^2.5.0" 473 | 474 | "@aws-sdk/util-locate-window@^3.0.0": 475 | version "3.495.0" 476 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-locate-window/-/util-locate-window-3.495.0.tgz#9034fd8db77991b28ed20e067acdd53e8b8f824b" 477 | integrity sha512-MfaPXT0kLX2tQaR90saBT9fWQq2DHqSSJRzW+MZWsmF+y5LGCOhO22ac/2o6TKSQm7h0HRc2GaADqYYYor62yg== 478 | dependencies: 479 | tslib "^2.5.0" 480 | 481 | "@aws-sdk/util-user-agent-browser@3.533.0": 482 | version "3.533.0" 483 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.533.0.tgz#323da7e2cae11528adcdab98573f1e4196e97cb6" 484 | integrity sha512-wyzDxH89yQ89+Q/9rWZeYBeegaXkB4nhb9Bd+xG4J3KgaNVuVvaYT6Nbzjg4oPtuC+pPeQp1iSXKs/2QTlsqPA== 485 | dependencies: 486 | "@aws-sdk/types" "3.533.0" 487 | "@smithy/types" "^2.11.0" 488 | bowser "^2.11.0" 489 | tslib "^2.5.0" 490 | 491 | "@aws-sdk/util-user-agent-node@3.533.0": 492 | version "3.533.0" 493 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.533.0.tgz#14e65837096544f7504953831a7a45a6a29525b2" 494 | integrity sha512-Tu79n4+q1MAPPFEtu7xTgiTQGzOAPe4c2p8vSyrIJEBHclf7cyvZxgziQAyM9Yy4DoRdtnnAeeybao3U4d+CzA== 495 | dependencies: 496 | "@aws-sdk/types" "3.533.0" 497 | "@smithy/node-config-provider" "^2.2.5" 498 | "@smithy/types" "^2.11.0" 499 | tslib "^2.5.0" 500 | 501 | "@aws-sdk/util-utf8-browser@^3.0.0": 502 | version "3.259.0" 503 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.259.0.tgz#3275a6f5eb334f96ca76635b961d3c50259fd9ff" 504 | integrity sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw== 505 | dependencies: 506 | tslib "^2.3.1" 507 | 508 | "@esbuild/aix-ppc64@0.19.12": 509 | version "0.19.12" 510 | resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz#d1bc06aedb6936b3b6d313bf809a5a40387d2b7f" 511 | integrity sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA== 512 | 513 | "@esbuild/android-arm64@0.19.12": 514 | version "0.19.12" 515 | resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz#7ad65a36cfdb7e0d429c353e00f680d737c2aed4" 516 | integrity sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA== 517 | 518 | "@esbuild/android-arm@0.19.12": 519 | version "0.19.12" 520 | resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.19.12.tgz#b0c26536f37776162ca8bde25e42040c203f2824" 521 | integrity sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w== 522 | 523 | "@esbuild/android-x64@0.19.12": 524 | version "0.19.12" 525 | resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.19.12.tgz#cb13e2211282012194d89bf3bfe7721273473b3d" 526 | integrity sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew== 527 | 528 | "@esbuild/darwin-arm64@0.19.12": 529 | version "0.19.12" 530 | resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz#cbee41e988020d4b516e9d9e44dd29200996275e" 531 | integrity sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g== 532 | 533 | "@esbuild/darwin-x64@0.19.12": 534 | version "0.19.12" 535 | resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz#e37d9633246d52aecf491ee916ece709f9d5f4cd" 536 | integrity sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A== 537 | 538 | "@esbuild/freebsd-arm64@0.19.12": 539 | version "0.19.12" 540 | resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz#1ee4d8b682ed363b08af74d1ea2b2b4dbba76487" 541 | integrity sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA== 542 | 543 | "@esbuild/freebsd-x64@0.19.12": 544 | version "0.19.12" 545 | resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz#37a693553d42ff77cd7126764b535fb6cc28a11c" 546 | integrity sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg== 547 | 548 | "@esbuild/linux-arm64@0.19.12": 549 | version "0.19.12" 550 | resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz#be9b145985ec6c57470e0e051d887b09dddb2d4b" 551 | integrity sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA== 552 | 553 | "@esbuild/linux-arm@0.19.12": 554 | version "0.19.12" 555 | resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz#207ecd982a8db95f7b5279207d0ff2331acf5eef" 556 | integrity sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w== 557 | 558 | "@esbuild/linux-ia32@0.19.12": 559 | version "0.19.12" 560 | resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz#d0d86b5ca1562523dc284a6723293a52d5860601" 561 | integrity sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA== 562 | 563 | "@esbuild/linux-loong64@0.19.12": 564 | version "0.19.12" 565 | resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz#9a37f87fec4b8408e682b528391fa22afd952299" 566 | integrity sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA== 567 | 568 | "@esbuild/linux-mips64el@0.19.12": 569 | version "0.19.12" 570 | resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz#4ddebd4e6eeba20b509d8e74c8e30d8ace0b89ec" 571 | integrity sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w== 572 | 573 | "@esbuild/linux-ppc64@0.19.12": 574 | version "0.19.12" 575 | resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz#adb67dadb73656849f63cd522f5ecb351dd8dee8" 576 | integrity sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg== 577 | 578 | "@esbuild/linux-riscv64@0.19.12": 579 | version "0.19.12" 580 | resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz#11bc0698bf0a2abf8727f1c7ace2112612c15adf" 581 | integrity sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg== 582 | 583 | "@esbuild/linux-s390x@0.19.12": 584 | version "0.19.12" 585 | resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz#e86fb8ffba7c5c92ba91fc3b27ed5a70196c3cc8" 586 | integrity sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg== 587 | 588 | "@esbuild/linux-x64@0.19.12": 589 | version "0.19.12" 590 | resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz#5f37cfdc705aea687dfe5dfbec086a05acfe9c78" 591 | integrity sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg== 592 | 593 | "@esbuild/netbsd-x64@0.19.12": 594 | version "0.19.12" 595 | resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz#29da566a75324e0d0dd7e47519ba2f7ef168657b" 596 | integrity sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA== 597 | 598 | "@esbuild/openbsd-x64@0.19.12": 599 | version "0.19.12" 600 | resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz#306c0acbdb5a99c95be98bdd1d47c916e7dc3ff0" 601 | integrity sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw== 602 | 603 | "@esbuild/sunos-x64@0.19.12": 604 | version "0.19.12" 605 | resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz#0933eaab9af8b9b2c930236f62aae3fc593faf30" 606 | integrity sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA== 607 | 608 | "@esbuild/win32-arm64@0.19.12": 609 | version "0.19.12" 610 | resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz#773bdbaa1971b36db2f6560088639ccd1e6773ae" 611 | integrity sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A== 612 | 613 | "@esbuild/win32-ia32@0.19.12": 614 | version "0.19.12" 615 | resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz#000516cad06354cc84a73f0943a4aa690ef6fd67" 616 | integrity sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ== 617 | 618 | "@esbuild/win32-x64@0.19.12": 619 | version "0.19.12" 620 | resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz#c57c8afbb4054a3ab8317591a0b7320360b444ae" 621 | integrity sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA== 622 | 623 | "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": 624 | version "4.4.0" 625 | resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" 626 | integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== 627 | dependencies: 628 | eslint-visitor-keys "^3.3.0" 629 | 630 | "@eslint-community/regexpp@^4.5.1", "@eslint-community/regexpp@^4.6.1": 631 | version "4.10.0" 632 | resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63" 633 | integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== 634 | 635 | "@eslint/eslintrc@^2.1.4": 636 | version "2.1.4" 637 | resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad" 638 | integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== 639 | dependencies: 640 | ajv "^6.12.4" 641 | debug "^4.3.2" 642 | espree "^9.6.0" 643 | globals "^13.19.0" 644 | ignore "^5.2.0" 645 | import-fresh "^3.2.1" 646 | js-yaml "^4.1.0" 647 | minimatch "^3.1.2" 648 | strip-json-comments "^3.1.1" 649 | 650 | "@eslint/js@8.57.0": 651 | version "8.57.0" 652 | resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.0.tgz#a5417ae8427873f1dd08b70b3574b453e67b5f7f" 653 | integrity sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g== 654 | 655 | "@humanwhocodes/config-array@^0.11.14": 656 | version "0.11.14" 657 | resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.14.tgz#d78e481a039f7566ecc9660b4ea7fe6b1fec442b" 658 | integrity sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg== 659 | dependencies: 660 | "@humanwhocodes/object-schema" "^2.0.2" 661 | debug "^4.3.1" 662 | minimatch "^3.0.5" 663 | 664 | "@humanwhocodes/module-importer@^1.0.1": 665 | version "1.0.1" 666 | resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" 667 | integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== 668 | 669 | "@humanwhocodes/object-schema@^2.0.2": 670 | version "2.0.2" 671 | resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz#d9fae00a2d5cb40f92cfe64b47ad749fbc38f917" 672 | integrity sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw== 673 | 674 | "@nodelib/fs.scandir@2.1.5": 675 | version "2.1.5" 676 | resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" 677 | integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== 678 | dependencies: 679 | "@nodelib/fs.stat" "2.0.5" 680 | run-parallel "^1.1.9" 681 | 682 | "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": 683 | version "2.0.5" 684 | resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" 685 | integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== 686 | 687 | "@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": 688 | version "1.2.8" 689 | resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" 690 | integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== 691 | dependencies: 692 | "@nodelib/fs.scandir" "2.1.5" 693 | fastq "^1.6.0" 694 | 695 | "@smithy/abort-controller@^2.1.4": 696 | version "2.1.4" 697 | resolved "https://registry.yarnpkg.com/@smithy/abort-controller/-/abort-controller-2.1.4.tgz#7c65f910ce59abc9715cba8347dd454dbf5538a9" 698 | integrity sha512-66HO817oIZ2otLIqy06R5muapqZjkgF1jfU0wyNko8cuqZNu8nbS9ljlhcRYw/M/uWRJzB9ih81DLSHhYbBLlQ== 699 | dependencies: 700 | "@smithy/types" "^2.11.0" 701 | tslib "^2.5.0" 702 | 703 | "@smithy/config-resolver@^2.1.5": 704 | version "2.1.5" 705 | resolved "https://registry.yarnpkg.com/@smithy/config-resolver/-/config-resolver-2.1.5.tgz#51d047d2ff7b69cbb8d8b1a197f0edc2a17fbc1b" 706 | integrity sha512-LcBB5JQC3Tx2ZExIJzfvWaajhFIwHrUNQeqxhred2r5nnqrdly9uoCrvM1sxOOdghYuWWm2Kr8tBCDOmxsgeTA== 707 | dependencies: 708 | "@smithy/node-config-provider" "^2.2.5" 709 | "@smithy/types" "^2.11.0" 710 | "@smithy/util-config-provider" "^2.2.1" 711 | "@smithy/util-middleware" "^2.1.4" 712 | tslib "^2.5.0" 713 | 714 | "@smithy/core@^1.3.8": 715 | version "1.3.8" 716 | resolved "https://registry.yarnpkg.com/@smithy/core/-/core-1.3.8.tgz#91e432bf78fe79ef80b0314e4dec12de92b7b561" 717 | integrity sha512-6cFhQ9ChU7MxvOXJn6nuUSONacpNsGHWhfueROQuM/0vibDdZA9FWEdNbVkuVuc+BFI5BnaX3ltERUlpUirpIA== 718 | dependencies: 719 | "@smithy/middleware-endpoint" "^2.4.6" 720 | "@smithy/middleware-retry" "^2.1.7" 721 | "@smithy/middleware-serde" "^2.2.1" 722 | "@smithy/protocol-http" "^3.2.2" 723 | "@smithy/smithy-client" "^2.4.5" 724 | "@smithy/types" "^2.11.0" 725 | "@smithy/util-middleware" "^2.1.4" 726 | tslib "^2.5.0" 727 | 728 | "@smithy/credential-provider-imds@^2.2.6": 729 | version "2.2.6" 730 | resolved "https://registry.yarnpkg.com/@smithy/credential-provider-imds/-/credential-provider-imds-2.2.6.tgz#a518575d5b830370fa76a270c376ce9f208d4c74" 731 | integrity sha512-+xQe4Pite0kdk9qn0Vyw5BRVh0iSlj+T4TEKRXr4E1wZKtVgIzGlkCrfICSjiPVFkPxk4jMpVboMYdEiiA88/w== 732 | dependencies: 733 | "@smithy/node-config-provider" "^2.2.5" 734 | "@smithy/property-provider" "^2.1.4" 735 | "@smithy/types" "^2.11.0" 736 | "@smithy/url-parser" "^2.1.4" 737 | tslib "^2.5.0" 738 | 739 | "@smithy/eventstream-codec@^2.1.4": 740 | version "2.1.4" 741 | resolved "https://registry.yarnpkg.com/@smithy/eventstream-codec/-/eventstream-codec-2.1.4.tgz#ba8855fcd53d06a456ec2e59f11eadd1eb7ffa62" 742 | integrity sha512-UkiieTztP7adg8EuqZvB0Y4LewdleZCJU7Kgt9RDutMsRYqO32fMpWeQHeTHaIMosmzcRZUykMRrhwGJe9mP3A== 743 | dependencies: 744 | "@aws-crypto/crc32" "3.0.0" 745 | "@smithy/types" "^2.11.0" 746 | "@smithy/util-hex-encoding" "^2.1.1" 747 | tslib "^2.5.0" 748 | 749 | "@smithy/fetch-http-handler@^2.4.5": 750 | version "2.4.5" 751 | resolved "https://registry.yarnpkg.com/@smithy/fetch-http-handler/-/fetch-http-handler-2.4.5.tgz#e036f6653259e742841d10280fc049c337e739e8" 752 | integrity sha512-FR1IMGdo0yRFs1tk71zRGSa1MznVLQOVNaPjyNtx6dOcy/u0ovEnXN5NVz6slw5KujFlg3N1w4+UbO8F3WyYUg== 753 | dependencies: 754 | "@smithy/protocol-http" "^3.2.2" 755 | "@smithy/querystring-builder" "^2.1.4" 756 | "@smithy/types" "^2.11.0" 757 | "@smithy/util-base64" "^2.2.1" 758 | tslib "^2.5.0" 759 | 760 | "@smithy/hash-node@^2.1.4": 761 | version "2.1.4" 762 | resolved "https://registry.yarnpkg.com/@smithy/hash-node/-/hash-node-2.1.4.tgz#a2cc973ca9a074085d3b70969b5be186a0d5ee94" 763 | integrity sha512-uvCcpDLXaTTL0X/9ezF8T8sS77UglTfZVQaUOBiCvR0QydeSyio3t0Hj3QooVdyFsKTubR8gCk/ubLk3vAyDng== 764 | dependencies: 765 | "@smithy/types" "^2.11.0" 766 | "@smithy/util-buffer-from" "^2.1.1" 767 | "@smithy/util-utf8" "^2.2.0" 768 | tslib "^2.5.0" 769 | 770 | "@smithy/invalid-dependency@^2.1.4": 771 | version "2.1.4" 772 | resolved "https://registry.yarnpkg.com/@smithy/invalid-dependency/-/invalid-dependency-2.1.4.tgz#aa58540c21b39fbedf58192fb34e6fb49cc736ca" 773 | integrity sha512-QzlNBl6jt3nb9jNnE51wTegReVvUdozyMMrFEyb/rc6AzPID1O+qMJYjAAoNw098y0CZVfCpEnoK2+mfBOd8XA== 774 | dependencies: 775 | "@smithy/types" "^2.11.0" 776 | tslib "^2.5.0" 777 | 778 | "@smithy/is-array-buffer@^2.1.1": 779 | version "2.1.1" 780 | resolved "https://registry.yarnpkg.com/@smithy/is-array-buffer/-/is-array-buffer-2.1.1.tgz#07b4c77ae67ed58a84400c76edd482271f9f957b" 781 | integrity sha512-xozSQrcUinPpNPNPds4S7z/FakDTh1MZWtRP/2vQtYB/u3HYrX2UXuZs+VhaKBd6Vc7g2XPr2ZtwGBNDN6fNKQ== 782 | dependencies: 783 | tslib "^2.5.0" 784 | 785 | "@smithy/middleware-content-length@^2.1.4": 786 | version "2.1.4" 787 | resolved "https://registry.yarnpkg.com/@smithy/middleware-content-length/-/middleware-content-length-2.1.4.tgz#0939d7b36f029f075a118ac1673db2655f51ff81" 788 | integrity sha512-C6VRwfcr0w9qRFhDGCpWMVhlEIBFlmlPRP1aX9Cv9xDj9SUwlDrNvoV1oP1vjRYuLxCDgovBBynCwwcluS2wLw== 789 | dependencies: 790 | "@smithy/protocol-http" "^3.2.2" 791 | "@smithy/types" "^2.11.0" 792 | tslib "^2.5.0" 793 | 794 | "@smithy/middleware-endpoint@^2.4.6": 795 | version "2.4.6" 796 | resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-2.4.6.tgz#18fbae774b722d47d4d40dad73466893a035a072" 797 | integrity sha512-AsXtUXHPOAS0EGZUSFOsVJvc7p0KL29PGkLxLfycPOcFVLru/oinYB6yvyL73ZZPX2OB8sMYUMrj7eH2kI7V/w== 798 | dependencies: 799 | "@smithy/middleware-serde" "^2.2.1" 800 | "@smithy/node-config-provider" "^2.2.5" 801 | "@smithy/shared-ini-file-loader" "^2.3.5" 802 | "@smithy/types" "^2.11.0" 803 | "@smithy/url-parser" "^2.1.4" 804 | "@smithy/util-middleware" "^2.1.4" 805 | tslib "^2.5.0" 806 | 807 | "@smithy/middleware-retry@^2.1.7": 808 | version "2.1.7" 809 | resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-2.1.7.tgz#ad49013c40f0b3593ad8140dd7b50368a1e2ce42" 810 | integrity sha512-8fOP/cJN4oMv+5SRffZC8RkqfWxHqGgn/86JPINY/1DnTRegzf+G5GT9lmIdG1YasuSbU7LISfW9PXil3isPVw== 811 | dependencies: 812 | "@smithy/node-config-provider" "^2.2.5" 813 | "@smithy/protocol-http" "^3.2.2" 814 | "@smithy/service-error-classification" "^2.1.4" 815 | "@smithy/smithy-client" "^2.4.5" 816 | "@smithy/types" "^2.11.0" 817 | "@smithy/util-middleware" "^2.1.4" 818 | "@smithy/util-retry" "^2.1.4" 819 | tslib "^2.5.0" 820 | uuid "^8.3.2" 821 | 822 | "@smithy/middleware-serde@^2.2.1": 823 | version "2.2.1" 824 | resolved "https://registry.yarnpkg.com/@smithy/middleware-serde/-/middleware-serde-2.2.1.tgz#b4a6a757e3f6f62e432f53020a06d27eabe8f424" 825 | integrity sha512-VAWRWqnNjgccebndpyK94om4ZTYzXLQxUmNCXYzM/3O9MTfQjTNBgtFtQwyIIez6z7LWcCsXmnKVIOE9mLqAHQ== 826 | dependencies: 827 | "@smithy/types" "^2.11.0" 828 | tslib "^2.5.0" 829 | 830 | "@smithy/middleware-stack@^2.1.4": 831 | version "2.1.4" 832 | resolved "https://registry.yarnpkg.com/@smithy/middleware-stack/-/middleware-stack-2.1.4.tgz#eb475eb31ad6fed0aa21ee0896c3c80114b73507" 833 | integrity sha512-Qqs2ba8Ax1rGKOSGJS2JN23fhhox2WMdRuzx0NYHtXzhxbJOIMmz9uQY6Hf4PY8FPteBPp1+h0j5Fmr+oW12sg== 834 | dependencies: 835 | "@smithy/types" "^2.11.0" 836 | tslib "^2.5.0" 837 | 838 | "@smithy/node-config-provider@^2.2.5": 839 | version "2.2.5" 840 | resolved "https://registry.yarnpkg.com/@smithy/node-config-provider/-/node-config-provider-2.2.5.tgz#39c7a06e798f763722d12fccab6160896b2ee08b" 841 | integrity sha512-CxPf2CXhjO79IypHJLBATB66Dw6suvr1Yc2ccY39hpR6wdse3pZ3E8RF83SODiNH0Wjmkd0ze4OF8exugEixgA== 842 | dependencies: 843 | "@smithy/property-provider" "^2.1.4" 844 | "@smithy/shared-ini-file-loader" "^2.3.5" 845 | "@smithy/types" "^2.11.0" 846 | tslib "^2.5.0" 847 | 848 | "@smithy/node-http-handler@^2.4.3": 849 | version "2.4.3" 850 | resolved "https://registry.yarnpkg.com/@smithy/node-http-handler/-/node-http-handler-2.4.3.tgz#f9cc5a2197098a78be5a31776829b82a01b34276" 851 | integrity sha512-bD5zRdEl1u/4vAAMeQnGEUNbH1seISV2Z0Wnn7ltPRl/6B2zND1R9XzTfsOnH1R5jqghpochF/mma8u7uXz0qQ== 852 | dependencies: 853 | "@smithy/abort-controller" "^2.1.4" 854 | "@smithy/protocol-http" "^3.2.2" 855 | "@smithy/querystring-builder" "^2.1.4" 856 | "@smithy/types" "^2.11.0" 857 | tslib "^2.5.0" 858 | 859 | "@smithy/property-provider@^2.1.4": 860 | version "2.1.4" 861 | resolved "https://registry.yarnpkg.com/@smithy/property-provider/-/property-provider-2.1.4.tgz#0f127125c4b6f3ae0ddb4777946926f0bd8f0ca1" 862 | integrity sha512-nWaY/MImj1BiXZ9WY65h45dcxOx8pl06KYoHxwojDxDL+Q9yLU1YnZpgv8zsHhEftlj9KhePENjQTlNowWVyug== 863 | dependencies: 864 | "@smithy/types" "^2.11.0" 865 | tslib "^2.5.0" 866 | 867 | "@smithy/protocol-http@^3.2.2": 868 | version "3.2.2" 869 | resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-3.2.2.tgz#af001dcc61e6ce6374315c907ad5bbd09bd3c810" 870 | integrity sha512-xYBlllOQcOuLoxzhF2u8kRHhIFGQpDeTQj/dBSnw4kfI29WMKL5RnW1m9YjnJAJ49miuIvrkJR+gW5bCQ+Mchw== 871 | dependencies: 872 | "@smithy/types" "^2.11.0" 873 | tslib "^2.5.0" 874 | 875 | "@smithy/querystring-builder@^2.1.4": 876 | version "2.1.4" 877 | resolved "https://registry.yarnpkg.com/@smithy/querystring-builder/-/querystring-builder-2.1.4.tgz#f9cc5f389671d030701dc6ee66e2eaf309642eab" 878 | integrity sha512-LXSL0J/nRWvGT+jIj+Fip3j0J1ZmHkUyBFRzg/4SmPNCLeDrtVu7ptKOnTboPsFZu5BxmpYok3kJuQzzRdrhbw== 879 | dependencies: 880 | "@smithy/types" "^2.11.0" 881 | "@smithy/util-uri-escape" "^2.1.1" 882 | tslib "^2.5.0" 883 | 884 | "@smithy/querystring-parser@^2.1.4": 885 | version "2.1.4" 886 | resolved "https://registry.yarnpkg.com/@smithy/querystring-parser/-/querystring-parser-2.1.4.tgz#17202a1d4844ac2691bc88d676eb0969b5c01265" 887 | integrity sha512-U2b8olKXgZAs0eRo7Op11jTNmmcC/sqYmsA7vN6A+jkGnDvJlEl7AetUegbBzU8q3D6WzC5rhR/joIy8tXPzIg== 888 | dependencies: 889 | "@smithy/types" "^2.11.0" 890 | tslib "^2.5.0" 891 | 892 | "@smithy/service-error-classification@^2.1.4": 893 | version "2.1.4" 894 | resolved "https://registry.yarnpkg.com/@smithy/service-error-classification/-/service-error-classification-2.1.4.tgz#19ba871fcfb654ac03256b885e3184d69ec11a13" 895 | integrity sha512-JW2Hthy21evnvDmYYk1kItOmbp3X5XI5iqorXgFEunb6hQfSDZ7O1g0Clyxg7k/Pcr9pfLk5xDIR2To/IohlsQ== 896 | dependencies: 897 | "@smithy/types" "^2.11.0" 898 | 899 | "@smithy/shared-ini-file-loader@^2.3.5": 900 | version "2.3.5" 901 | resolved "https://registry.yarnpkg.com/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.3.5.tgz#3e2f6f5fcfb1edf934f531dbf17429e2631e3a21" 902 | integrity sha512-oI99+hOvsM8oAJtxAGmoL/YCcGXtbP0fjPseYGaNmJ4X5xOFTer0KPk7AIH3AL6c5AlYErivEi1X/X78HgTVIw== 903 | dependencies: 904 | "@smithy/types" "^2.11.0" 905 | tslib "^2.5.0" 906 | 907 | "@smithy/signature-v4@^2.1.4": 908 | version "2.1.4" 909 | resolved "https://registry.yarnpkg.com/@smithy/signature-v4/-/signature-v4-2.1.4.tgz#e83b426ab4138cbb06c755c14a152ed514e1d052" 910 | integrity sha512-gnu9gCn0qQ8IdhNjs6o3QVCXzUs33znSDYwVMWo3nX4dM6j7z9u6FC302ShYyVWfO4MkVMuGCCJ6nl3PcH7V1Q== 911 | dependencies: 912 | "@smithy/eventstream-codec" "^2.1.4" 913 | "@smithy/is-array-buffer" "^2.1.1" 914 | "@smithy/types" "^2.11.0" 915 | "@smithy/util-hex-encoding" "^2.1.1" 916 | "@smithy/util-middleware" "^2.1.4" 917 | "@smithy/util-uri-escape" "^2.1.1" 918 | "@smithy/util-utf8" "^2.2.0" 919 | tslib "^2.5.0" 920 | 921 | "@smithy/smithy-client@^2.4.5": 922 | version "2.4.5" 923 | resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-2.4.5.tgz#63cf9e12c94c113de200cc99f2cecca8a0cda822" 924 | integrity sha512-igXOM4kPXPo6b5LZXTUqTnrGk20uVd8OXoybC3f89gczzGfziLK4yUNOmiHSdxY9OOMOnnhVe5MpTm01MpFqvA== 925 | dependencies: 926 | "@smithy/middleware-endpoint" "^2.4.6" 927 | "@smithy/middleware-stack" "^2.1.4" 928 | "@smithy/protocol-http" "^3.2.2" 929 | "@smithy/types" "^2.11.0" 930 | "@smithy/util-stream" "^2.1.5" 931 | tslib "^2.5.0" 932 | 933 | "@smithy/types@^2.11.0": 934 | version "2.11.0" 935 | resolved "https://registry.yarnpkg.com/@smithy/types/-/types-2.11.0.tgz#d40c27302151be243d3a7319a154b7d7d5775021" 936 | integrity sha512-AR0SXO7FuAskfNhyGfSTThpLRntDI5bOrU0xrpVYU0rZyjl3LBXInZFMTP/NNSd7IS6Ksdtar0QvnrPRIhVrLQ== 937 | dependencies: 938 | tslib "^2.5.0" 939 | 940 | "@smithy/url-parser@^2.1.4": 941 | version "2.1.4" 942 | resolved "https://registry.yarnpkg.com/@smithy/url-parser/-/url-parser-2.1.4.tgz#b24c13d80677b1cbcf61172f1c3dd49402ff6a07" 943 | integrity sha512-1hTy6UYRYqOZlHKH2/2NzdNQ4NNmW2Lp0sYYvztKy+dEQuLvZL9w88zCzFQqqFer3DMcscYOshImxkJTGdV+rg== 944 | dependencies: 945 | "@smithy/querystring-parser" "^2.1.4" 946 | "@smithy/types" "^2.11.0" 947 | tslib "^2.5.0" 948 | 949 | "@smithy/util-base64@^2.2.1": 950 | version "2.2.1" 951 | resolved "https://registry.yarnpkg.com/@smithy/util-base64/-/util-base64-2.2.1.tgz#215634c4ab9dd48abf4dad6bb328fadc14c488c3" 952 | integrity sha512-troGfokrpoqv8TGgsb8p4vvM71vqor314514jyQ0i9Zae3qs0jUVbSMCIBB1tseVynXFRcZJAZ9hPQYlifLD5A== 953 | dependencies: 954 | "@smithy/util-buffer-from" "^2.1.1" 955 | "@smithy/util-utf8" "^2.2.0" 956 | tslib "^2.5.0" 957 | 958 | "@smithy/util-body-length-browser@^2.1.1": 959 | version "2.1.1" 960 | resolved "https://registry.yarnpkg.com/@smithy/util-body-length-browser/-/util-body-length-browser-2.1.1.tgz#1fc77072768013ae646415eedb9833cd252d055d" 961 | integrity sha512-ekOGBLvs1VS2d1zM2ER4JEeBWAvIOUKeaFch29UjjJsxmZ/f0L3K3x0dEETgh3Q9bkZNHgT+rkdl/J/VUqSRag== 962 | dependencies: 963 | tslib "^2.5.0" 964 | 965 | "@smithy/util-body-length-node@^2.2.2": 966 | version "2.2.2" 967 | resolved "https://registry.yarnpkg.com/@smithy/util-body-length-node/-/util-body-length-node-2.2.2.tgz#33924882adcc8f4e083cc4ec789210b033d4cca1" 968 | integrity sha512-U7DooaT1SfW7XHrOcxthYJnQ+WMaefRrFPxW5Qmypw38Ivv+TKvfVuVHA9V162h8BeW9rzOJwOunjgXd0DdB4w== 969 | dependencies: 970 | tslib "^2.5.0" 971 | 972 | "@smithy/util-buffer-from@^2.1.1": 973 | version "2.1.1" 974 | resolved "https://registry.yarnpkg.com/@smithy/util-buffer-from/-/util-buffer-from-2.1.1.tgz#f9346bf8b23c5ba6f6bdb61dd9db779441ba8d08" 975 | integrity sha512-clhNjbyfqIv9Md2Mg6FffGVrJxw7bgK7s3Iax36xnfVj6cg0fUG7I4RH0XgXJF8bxi+saY5HR21g2UPKSxVCXg== 976 | dependencies: 977 | "@smithy/is-array-buffer" "^2.1.1" 978 | tslib "^2.5.0" 979 | 980 | "@smithy/util-config-provider@^2.2.1": 981 | version "2.2.1" 982 | resolved "https://registry.yarnpkg.com/@smithy/util-config-provider/-/util-config-provider-2.2.1.tgz#aea0a80236d6cedaee60473802899cff4a8cc0ba" 983 | integrity sha512-50VL/tx9oYYcjJn/qKqNy7sCtpD0+s8XEBamIFo4mFFTclKMNp+rsnymD796uybjiIquB7VCB/DeafduL0y2kw== 984 | dependencies: 985 | tslib "^2.5.0" 986 | 987 | "@smithy/util-defaults-mode-browser@^2.1.7": 988 | version "2.1.7" 989 | resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.1.7.tgz#a14cb2d585bcb01a9b36b93819fe042460cfc612" 990 | integrity sha512-vvIpWsysEdY77R0Qzr6+LRW50ye7eii7AyHM0OJnTi0isHYiXo5M/7o4k8gjK/b1upQJdfjzSBoJVa2SWrI+2g== 991 | dependencies: 992 | "@smithy/property-provider" "^2.1.4" 993 | "@smithy/smithy-client" "^2.4.5" 994 | "@smithy/types" "^2.11.0" 995 | bowser "^2.11.0" 996 | tslib "^2.5.0" 997 | 998 | "@smithy/util-defaults-mode-node@^2.2.7": 999 | version "2.2.7" 1000 | resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.2.7.tgz#f92aa2de80a5bb469cc3fdbc4ff000bbccead0bc" 1001 | integrity sha512-qzXkSDyU6Th+rNNcNkG4a7Ix7m5HlMOtSCPxTVKlkz7eVsqbSSPggegbFeQJ2MVELBB4wnzNPsVPJIrpIaJpXA== 1002 | dependencies: 1003 | "@smithy/config-resolver" "^2.1.5" 1004 | "@smithy/credential-provider-imds" "^2.2.6" 1005 | "@smithy/node-config-provider" "^2.2.5" 1006 | "@smithy/property-provider" "^2.1.4" 1007 | "@smithy/smithy-client" "^2.4.5" 1008 | "@smithy/types" "^2.11.0" 1009 | tslib "^2.5.0" 1010 | 1011 | "@smithy/util-endpoints@^1.1.5": 1012 | version "1.1.5" 1013 | resolved "https://registry.yarnpkg.com/@smithy/util-endpoints/-/util-endpoints-1.1.5.tgz#2f07510013353299b95f483842c59115c0a01e00" 1014 | integrity sha512-tgDpaUNsUtRvNiBulKU1VnpoXU1GINMfZZXunRhUXOTBEAufG1Wp79uDXLau2gg1RZ4dpAR6lXCkrmddihCGUg== 1015 | dependencies: 1016 | "@smithy/node-config-provider" "^2.2.5" 1017 | "@smithy/types" "^2.11.0" 1018 | tslib "^2.5.0" 1019 | 1020 | "@smithy/util-hex-encoding@^2.1.1": 1021 | version "2.1.1" 1022 | resolved "https://registry.yarnpkg.com/@smithy/util-hex-encoding/-/util-hex-encoding-2.1.1.tgz#978252b9fb242e0a59bae4ead491210688e0d15f" 1023 | integrity sha512-3UNdP2pkYUUBGEXzQI9ODTDK+Tcu1BlCyDBaRHwyxhA+8xLP8agEKQq4MGmpjqb4VQAjq9TwlCQX0kP6XDKYLg== 1024 | dependencies: 1025 | tslib "^2.5.0" 1026 | 1027 | "@smithy/util-middleware@^2.1.4": 1028 | version "2.1.4" 1029 | resolved "https://registry.yarnpkg.com/@smithy/util-middleware/-/util-middleware-2.1.4.tgz#eb5f8d3f3639c1c2ff6fae574353249c174f1c03" 1030 | integrity sha512-5yYNOgCN0DL0OplME0pthoUR/sCfipnROkbTO7m872o0GHCVNJj5xOFJ143rvHNA54+pIPMLum4z2DhPC2pVGA== 1031 | dependencies: 1032 | "@smithy/types" "^2.11.0" 1033 | tslib "^2.5.0" 1034 | 1035 | "@smithy/util-retry@^2.1.4": 1036 | version "2.1.4" 1037 | resolved "https://registry.yarnpkg.com/@smithy/util-retry/-/util-retry-2.1.4.tgz#cfbe7aa7609f92eecdce562be5308599a2f6537b" 1038 | integrity sha512-JRZwhA3fhkdenSEYIWatC8oLwt4Bdf2LhHbNQApqb7yFoIGMl4twcYI3BcJZ7YIBZrACA9jGveW6tuCd836XzQ== 1039 | dependencies: 1040 | "@smithy/service-error-classification" "^2.1.4" 1041 | "@smithy/types" "^2.11.0" 1042 | tslib "^2.5.0" 1043 | 1044 | "@smithy/util-stream@^2.1.5": 1045 | version "2.1.5" 1046 | resolved "https://registry.yarnpkg.com/@smithy/util-stream/-/util-stream-2.1.5.tgz#8fa752e55b30209de47d00aed40f93b9b781fae1" 1047 | integrity sha512-FqvBFeTgx+QC4+i8USHqU8Ifs9nYRpW/OBfksojtgkxPIQ2H7ypXDEbnQRAV7PwoNHWcSwPomLYi0svmQQG5ow== 1048 | dependencies: 1049 | "@smithy/fetch-http-handler" "^2.4.5" 1050 | "@smithy/node-http-handler" "^2.4.3" 1051 | "@smithy/types" "^2.11.0" 1052 | "@smithy/util-base64" "^2.2.1" 1053 | "@smithy/util-buffer-from" "^2.1.1" 1054 | "@smithy/util-hex-encoding" "^2.1.1" 1055 | "@smithy/util-utf8" "^2.2.0" 1056 | tslib "^2.5.0" 1057 | 1058 | "@smithy/util-uri-escape@^2.1.1": 1059 | version "2.1.1" 1060 | resolved "https://registry.yarnpkg.com/@smithy/util-uri-escape/-/util-uri-escape-2.1.1.tgz#7eedc93b73ecda68f12fb9cf92e9fa0fbbed4d83" 1061 | integrity sha512-saVzI1h6iRBUVSqtnlOnc9ssU09ypo7n+shdQ8hBTZno/9rZ3AuRYvoHInV57VF7Qn7B+pFJG7qTzFiHxWlWBw== 1062 | dependencies: 1063 | tslib "^2.5.0" 1064 | 1065 | "@smithy/util-utf8@^2.2.0": 1066 | version "2.2.0" 1067 | resolved "https://registry.yarnpkg.com/@smithy/util-utf8/-/util-utf8-2.2.0.tgz#e352a81adc0491fbdc0086a00950d7e8333e211f" 1068 | integrity sha512-hBsKr5BqrDrKS8qy+YcV7/htmMGxriA1PREOf/8AGBhHIZnfilVv1Waf1OyKhSbFW15U/8+gcMUQ9/Kk5qwpHQ== 1069 | dependencies: 1070 | "@smithy/util-buffer-from" "^2.1.1" 1071 | tslib "^2.5.0" 1072 | 1073 | "@smithy/util-waiter@^2.1.4": 1074 | version "2.1.4" 1075 | resolved "https://registry.yarnpkg.com/@smithy/util-waiter/-/util-waiter-2.1.4.tgz#675798056b120a51ca4220d3dac5703ca6a7bba5" 1076 | integrity sha512-AK17WaC0hx1wR9juAOsQkJ6DjDxBGEf5TrKhpXtNFEn+cVto9Li3MVsdpAO97AF7bhFXSyC8tJA3F4ThhqwCdg== 1077 | dependencies: 1078 | "@smithy/abort-controller" "^2.1.4" 1079 | "@smithy/types" "^2.11.0" 1080 | tslib "^2.5.0" 1081 | 1082 | "@tsconfig/node18@^18.2.2": 1083 | version "18.2.2" 1084 | resolved "https://registry.yarnpkg.com/@tsconfig/node18/-/node18-18.2.2.tgz#81fb16ecff0d400b1cbadbf76713b50f331029ce" 1085 | integrity sha512-d6McJeGsuoRlwWZmVIeE8CUA27lu6jLjvv1JzqmpsytOYYbVi1tHZEnwCNVOXnj4pyLvneZlFlpXUK+X9wBWyw== 1086 | 1087 | "@tsconfig/recommended@^1.0.3": 1088 | version "1.0.3" 1089 | resolved "https://registry.yarnpkg.com/@tsconfig/recommended/-/recommended-1.0.3.tgz#742540ba9170897a44097e838bca411abf56ccd2" 1090 | integrity sha512-+jby/Guq9H8O7NWgCv6X8VAiQE8Dr/nccsCtL74xyHKhu2Knu5EAKmOZj3nLCnLm1KooUzKY+5DsnGVqhM8/wQ== 1091 | 1092 | "@types/aws-lambda@^8.10.122": 1093 | version "8.10.136" 1094 | resolved "https://registry.yarnpkg.com/@types/aws-lambda/-/aws-lambda-8.10.136.tgz#12a2af86b9123f4e4549992b27e1bf0dcf60d9f9" 1095 | integrity sha512-cmmgqxdVGhxYK9lZMYYXYRJk6twBo53ivtXjIUEFZxfxe4TkZTZBK3RRWrY2HjJcUIix0mdifn15yjOAat5lTA== 1096 | 1097 | "@types/json-schema@^7.0.12": 1098 | version "7.0.15" 1099 | resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" 1100 | integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== 1101 | 1102 | "@types/node@^20.8.2": 1103 | version "20.11.27" 1104 | resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.27.tgz#debe5cfc8a507dd60fe2a3b4875b1604f215c2ac" 1105 | integrity sha512-qyUZfMnCg1KEz57r7pzFtSGt49f6RPkPBis3Vo4PbS7roQEDn22hiHzl/Lo1q4i4hDEgBJmBF/NTNg2XR0HbFg== 1106 | dependencies: 1107 | undici-types "~5.26.4" 1108 | 1109 | "@types/semver@^7.5.0": 1110 | version "7.5.8" 1111 | resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.8.tgz#8268a8c57a3e4abd25c165ecd36237db7948a55e" 1112 | integrity sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ== 1113 | 1114 | "@types/uuid@^9.0.4": 1115 | version "9.0.8" 1116 | resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-9.0.8.tgz#7545ba4fc3c003d6c756f651f3bf163d8f0f29ba" 1117 | integrity sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA== 1118 | 1119 | "@typescript-eslint/eslint-plugin@^6.7.3": 1120 | version "6.21.0" 1121 | resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz#30830c1ca81fd5f3c2714e524c4303e0194f9cd3" 1122 | integrity sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA== 1123 | dependencies: 1124 | "@eslint-community/regexpp" "^4.5.1" 1125 | "@typescript-eslint/scope-manager" "6.21.0" 1126 | "@typescript-eslint/type-utils" "6.21.0" 1127 | "@typescript-eslint/utils" "6.21.0" 1128 | "@typescript-eslint/visitor-keys" "6.21.0" 1129 | debug "^4.3.4" 1130 | graphemer "^1.4.0" 1131 | ignore "^5.2.4" 1132 | natural-compare "^1.4.0" 1133 | semver "^7.5.4" 1134 | ts-api-utils "^1.0.1" 1135 | 1136 | "@typescript-eslint/parser@^6.7.3": 1137 | version "6.21.0" 1138 | resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.21.0.tgz#af8fcf66feee2edc86bc5d1cf45e33b0630bf35b" 1139 | integrity sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ== 1140 | dependencies: 1141 | "@typescript-eslint/scope-manager" "6.21.0" 1142 | "@typescript-eslint/types" "6.21.0" 1143 | "@typescript-eslint/typescript-estree" "6.21.0" 1144 | "@typescript-eslint/visitor-keys" "6.21.0" 1145 | debug "^4.3.4" 1146 | 1147 | "@typescript-eslint/scope-manager@6.21.0": 1148 | version "6.21.0" 1149 | resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz#ea8a9bfc8f1504a6ac5d59a6df308d3a0630a2b1" 1150 | integrity sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg== 1151 | dependencies: 1152 | "@typescript-eslint/types" "6.21.0" 1153 | "@typescript-eslint/visitor-keys" "6.21.0" 1154 | 1155 | "@typescript-eslint/type-utils@6.21.0": 1156 | version "6.21.0" 1157 | resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz#6473281cfed4dacabe8004e8521cee0bd9d4c01e" 1158 | integrity sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag== 1159 | dependencies: 1160 | "@typescript-eslint/typescript-estree" "6.21.0" 1161 | "@typescript-eslint/utils" "6.21.0" 1162 | debug "^4.3.4" 1163 | ts-api-utils "^1.0.1" 1164 | 1165 | "@typescript-eslint/types@6.21.0": 1166 | version "6.21.0" 1167 | resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.21.0.tgz#205724c5123a8fef7ecd195075fa6e85bac3436d" 1168 | integrity sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg== 1169 | 1170 | "@typescript-eslint/typescript-estree@6.21.0": 1171 | version "6.21.0" 1172 | resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz#c47ae7901db3b8bddc3ecd73daff2d0895688c46" 1173 | integrity sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ== 1174 | dependencies: 1175 | "@typescript-eslint/types" "6.21.0" 1176 | "@typescript-eslint/visitor-keys" "6.21.0" 1177 | debug "^4.3.4" 1178 | globby "^11.1.0" 1179 | is-glob "^4.0.3" 1180 | minimatch "9.0.3" 1181 | semver "^7.5.4" 1182 | ts-api-utils "^1.0.1" 1183 | 1184 | "@typescript-eslint/utils@6.21.0": 1185 | version "6.21.0" 1186 | resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.21.0.tgz#4714e7a6b39e773c1c8e97ec587f520840cd8134" 1187 | integrity sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ== 1188 | dependencies: 1189 | "@eslint-community/eslint-utils" "^4.4.0" 1190 | "@types/json-schema" "^7.0.12" 1191 | "@types/semver" "^7.5.0" 1192 | "@typescript-eslint/scope-manager" "6.21.0" 1193 | "@typescript-eslint/types" "6.21.0" 1194 | "@typescript-eslint/typescript-estree" "6.21.0" 1195 | semver "^7.5.4" 1196 | 1197 | "@typescript-eslint/visitor-keys@6.21.0": 1198 | version "6.21.0" 1199 | resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz#87a99d077aa507e20e238b11d56cc26ade45fe47" 1200 | integrity sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A== 1201 | dependencies: 1202 | "@typescript-eslint/types" "6.21.0" 1203 | eslint-visitor-keys "^3.4.1" 1204 | 1205 | "@ungap/structured-clone@^1.2.0": 1206 | version "1.2.0" 1207 | resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" 1208 | integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== 1209 | 1210 | acorn-jsx@^5.3.2: 1211 | version "5.3.2" 1212 | resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" 1213 | integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== 1214 | 1215 | acorn@^8.9.0: 1216 | version "8.11.3" 1217 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" 1218 | integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== 1219 | 1220 | ajv@^6.12.4: 1221 | version "6.12.6" 1222 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" 1223 | integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== 1224 | dependencies: 1225 | fast-deep-equal "^3.1.1" 1226 | fast-json-stable-stringify "^2.0.0" 1227 | json-schema-traverse "^0.4.1" 1228 | uri-js "^4.2.2" 1229 | 1230 | ansi-regex@^5.0.1: 1231 | version "5.0.1" 1232 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" 1233 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== 1234 | 1235 | ansi-styles@^4.1.0: 1236 | version "4.3.0" 1237 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" 1238 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 1239 | dependencies: 1240 | color-convert "^2.0.1" 1241 | 1242 | argparse@^1.0.7: 1243 | version "1.0.10" 1244 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" 1245 | integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== 1246 | dependencies: 1247 | sprintf-js "~1.0.2" 1248 | 1249 | argparse@^2.0.1: 1250 | version "2.0.1" 1251 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" 1252 | integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== 1253 | 1254 | array-union@^2.1.0: 1255 | version "2.1.0" 1256 | resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" 1257 | integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== 1258 | 1259 | available-typed-arrays@^1.0.7: 1260 | version "1.0.7" 1261 | resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846" 1262 | integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== 1263 | dependencies: 1264 | possible-typed-array-names "^1.0.0" 1265 | 1266 | aws-lambda@^1.0.7: 1267 | version "1.0.7" 1268 | resolved "https://registry.yarnpkg.com/aws-lambda/-/aws-lambda-1.0.7.tgz#c6b674df47458b5ecd43ab734899ad2e2d457013" 1269 | integrity sha512-9GNFMRrEMG5y3Jvv+V4azWvc+qNWdWLTjDdhf/zgMlz8haaaLWv0xeAIWxz9PuWUBawsVxy0zZotjCdR3Xq+2w== 1270 | dependencies: 1271 | aws-sdk "^2.814.0" 1272 | commander "^3.0.2" 1273 | js-yaml "^3.14.1" 1274 | watchpack "^2.0.0-beta.10" 1275 | 1276 | aws-sdk@^2.814.0: 1277 | version "2.1577.0" 1278 | resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.1577.0.tgz#c86c15f25ba78adba54d8aeada54bcddb734c26f" 1279 | integrity sha512-B9glJQaJ53XEUUgFe6653n1ImuLgxFUJVIbEvafRlYhEcPW+1mzn4DjDWG0r9bMxDEIhSjAgIT1YoaJrxxT1iw== 1280 | dependencies: 1281 | buffer "4.9.2" 1282 | events "1.1.1" 1283 | ieee754 "1.1.13" 1284 | jmespath "0.16.0" 1285 | querystring "0.2.0" 1286 | sax "1.2.1" 1287 | url "0.10.3" 1288 | util "^0.12.4" 1289 | uuid "8.0.0" 1290 | xml2js "0.6.2" 1291 | 1292 | balanced-match@^1.0.0: 1293 | version "1.0.2" 1294 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" 1295 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 1296 | 1297 | base64-js@^1.0.2: 1298 | version "1.5.1" 1299 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" 1300 | integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== 1301 | 1302 | bowser@^2.11.0: 1303 | version "2.11.0" 1304 | resolved "https://registry.yarnpkg.com/bowser/-/bowser-2.11.0.tgz#5ca3c35757a7aa5771500c70a73a9f91ef420a8f" 1305 | integrity sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA== 1306 | 1307 | brace-expansion@^1.1.7: 1308 | version "1.1.11" 1309 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 1310 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 1311 | dependencies: 1312 | balanced-match "^1.0.0" 1313 | concat-map "0.0.1" 1314 | 1315 | brace-expansion@^2.0.1: 1316 | version "2.0.1" 1317 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" 1318 | integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== 1319 | dependencies: 1320 | balanced-match "^1.0.0" 1321 | 1322 | braces@^3.0.2: 1323 | version "3.0.2" 1324 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 1325 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 1326 | dependencies: 1327 | fill-range "^7.0.1" 1328 | 1329 | buffer@4.9.2: 1330 | version "4.9.2" 1331 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" 1332 | integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== 1333 | dependencies: 1334 | base64-js "^1.0.2" 1335 | ieee754 "^1.1.4" 1336 | isarray "^1.0.0" 1337 | 1338 | call-bind@^1.0.2, call-bind@^1.0.7: 1339 | version "1.0.7" 1340 | resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9" 1341 | integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== 1342 | dependencies: 1343 | es-define-property "^1.0.0" 1344 | es-errors "^1.3.0" 1345 | function-bind "^1.1.2" 1346 | get-intrinsic "^1.2.4" 1347 | set-function-length "^1.2.1" 1348 | 1349 | callsites@^3.0.0: 1350 | version "3.1.0" 1351 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" 1352 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== 1353 | 1354 | chalk@^4.0.0: 1355 | version "4.1.2" 1356 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" 1357 | integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== 1358 | dependencies: 1359 | ansi-styles "^4.1.0" 1360 | supports-color "^7.1.0" 1361 | 1362 | color-convert@^2.0.1: 1363 | version "2.0.1" 1364 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" 1365 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 1366 | dependencies: 1367 | color-name "~1.1.4" 1368 | 1369 | color-name@~1.1.4: 1370 | version "1.1.4" 1371 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 1372 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 1373 | 1374 | commander@^3.0.2: 1375 | version "3.0.2" 1376 | resolved "https://registry.yarnpkg.com/commander/-/commander-3.0.2.tgz#6837c3fb677ad9933d1cfba42dd14d5117d6b39e" 1377 | integrity sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow== 1378 | 1379 | concat-map@0.0.1: 1380 | version "0.0.1" 1381 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 1382 | integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== 1383 | 1384 | cross-spawn@^7.0.2: 1385 | version "7.0.3" 1386 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" 1387 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== 1388 | dependencies: 1389 | path-key "^3.1.0" 1390 | shebang-command "^2.0.0" 1391 | which "^2.0.1" 1392 | 1393 | debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: 1394 | version "4.3.4" 1395 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" 1396 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== 1397 | dependencies: 1398 | ms "2.1.2" 1399 | 1400 | deep-is@^0.1.3: 1401 | version "0.1.4" 1402 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" 1403 | integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== 1404 | 1405 | define-data-property@^1.1.4: 1406 | version "1.1.4" 1407 | resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" 1408 | integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== 1409 | dependencies: 1410 | es-define-property "^1.0.0" 1411 | es-errors "^1.3.0" 1412 | gopd "^1.0.1" 1413 | 1414 | dir-glob@^3.0.1: 1415 | version "3.0.1" 1416 | resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" 1417 | integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== 1418 | dependencies: 1419 | path-type "^4.0.0" 1420 | 1421 | doctrine@^3.0.0: 1422 | version "3.0.0" 1423 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" 1424 | integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== 1425 | dependencies: 1426 | esutils "^2.0.2" 1427 | 1428 | es-define-property@^1.0.0: 1429 | version "1.0.0" 1430 | resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845" 1431 | integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== 1432 | dependencies: 1433 | get-intrinsic "^1.2.4" 1434 | 1435 | es-errors@^1.3.0: 1436 | version "1.3.0" 1437 | resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" 1438 | integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== 1439 | 1440 | esbuild@^0.19.4: 1441 | version "0.19.12" 1442 | resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.19.12.tgz#dc82ee5dc79e82f5a5c3b4323a2a641827db3e04" 1443 | integrity sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg== 1444 | optionalDependencies: 1445 | "@esbuild/aix-ppc64" "0.19.12" 1446 | "@esbuild/android-arm" "0.19.12" 1447 | "@esbuild/android-arm64" "0.19.12" 1448 | "@esbuild/android-x64" "0.19.12" 1449 | "@esbuild/darwin-arm64" "0.19.12" 1450 | "@esbuild/darwin-x64" "0.19.12" 1451 | "@esbuild/freebsd-arm64" "0.19.12" 1452 | "@esbuild/freebsd-x64" "0.19.12" 1453 | "@esbuild/linux-arm" "0.19.12" 1454 | "@esbuild/linux-arm64" "0.19.12" 1455 | "@esbuild/linux-ia32" "0.19.12" 1456 | "@esbuild/linux-loong64" "0.19.12" 1457 | "@esbuild/linux-mips64el" "0.19.12" 1458 | "@esbuild/linux-ppc64" "0.19.12" 1459 | "@esbuild/linux-riscv64" "0.19.12" 1460 | "@esbuild/linux-s390x" "0.19.12" 1461 | "@esbuild/linux-x64" "0.19.12" 1462 | "@esbuild/netbsd-x64" "0.19.12" 1463 | "@esbuild/openbsd-x64" "0.19.12" 1464 | "@esbuild/sunos-x64" "0.19.12" 1465 | "@esbuild/win32-arm64" "0.19.12" 1466 | "@esbuild/win32-ia32" "0.19.12" 1467 | "@esbuild/win32-x64" "0.19.12" 1468 | 1469 | escape-string-regexp@^4.0.0: 1470 | version "4.0.0" 1471 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" 1472 | integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== 1473 | 1474 | eslint-scope@^7.2.2: 1475 | version "7.2.2" 1476 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" 1477 | integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== 1478 | dependencies: 1479 | esrecurse "^4.3.0" 1480 | estraverse "^5.2.0" 1481 | 1482 | eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: 1483 | version "3.4.3" 1484 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" 1485 | integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== 1486 | 1487 | eslint@^8.50.0: 1488 | version "8.57.0" 1489 | resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.57.0.tgz#c786a6fd0e0b68941aaf624596fb987089195668" 1490 | integrity sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ== 1491 | dependencies: 1492 | "@eslint-community/eslint-utils" "^4.2.0" 1493 | "@eslint-community/regexpp" "^4.6.1" 1494 | "@eslint/eslintrc" "^2.1.4" 1495 | "@eslint/js" "8.57.0" 1496 | "@humanwhocodes/config-array" "^0.11.14" 1497 | "@humanwhocodes/module-importer" "^1.0.1" 1498 | "@nodelib/fs.walk" "^1.2.8" 1499 | "@ungap/structured-clone" "^1.2.0" 1500 | ajv "^6.12.4" 1501 | chalk "^4.0.0" 1502 | cross-spawn "^7.0.2" 1503 | debug "^4.3.2" 1504 | doctrine "^3.0.0" 1505 | escape-string-regexp "^4.0.0" 1506 | eslint-scope "^7.2.2" 1507 | eslint-visitor-keys "^3.4.3" 1508 | espree "^9.6.1" 1509 | esquery "^1.4.2" 1510 | esutils "^2.0.2" 1511 | fast-deep-equal "^3.1.3" 1512 | file-entry-cache "^6.0.1" 1513 | find-up "^5.0.0" 1514 | glob-parent "^6.0.2" 1515 | globals "^13.19.0" 1516 | graphemer "^1.4.0" 1517 | ignore "^5.2.0" 1518 | imurmurhash "^0.1.4" 1519 | is-glob "^4.0.0" 1520 | is-path-inside "^3.0.3" 1521 | js-yaml "^4.1.0" 1522 | json-stable-stringify-without-jsonify "^1.0.1" 1523 | levn "^0.4.1" 1524 | lodash.merge "^4.6.2" 1525 | minimatch "^3.1.2" 1526 | natural-compare "^1.4.0" 1527 | optionator "^0.9.3" 1528 | strip-ansi "^6.0.1" 1529 | text-table "^0.2.0" 1530 | 1531 | espree@^9.6.0, espree@^9.6.1: 1532 | version "9.6.1" 1533 | resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" 1534 | integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== 1535 | dependencies: 1536 | acorn "^8.9.0" 1537 | acorn-jsx "^5.3.2" 1538 | eslint-visitor-keys "^3.4.1" 1539 | 1540 | esprima@^4.0.0: 1541 | version "4.0.1" 1542 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" 1543 | integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== 1544 | 1545 | esquery@^1.4.2: 1546 | version "1.5.0" 1547 | resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" 1548 | integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== 1549 | dependencies: 1550 | estraverse "^5.1.0" 1551 | 1552 | esrecurse@^4.3.0: 1553 | version "4.3.0" 1554 | resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" 1555 | integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== 1556 | dependencies: 1557 | estraverse "^5.2.0" 1558 | 1559 | estraverse@^5.1.0, estraverse@^5.2.0: 1560 | version "5.3.0" 1561 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" 1562 | integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== 1563 | 1564 | esutils@^2.0.2: 1565 | version "2.0.3" 1566 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" 1567 | integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== 1568 | 1569 | events@1.1.1: 1570 | version "1.1.1" 1571 | resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" 1572 | integrity sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw== 1573 | 1574 | fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: 1575 | version "3.1.3" 1576 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" 1577 | integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== 1578 | 1579 | fast-glob@^3.2.9: 1580 | version "3.3.2" 1581 | resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" 1582 | integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== 1583 | dependencies: 1584 | "@nodelib/fs.stat" "^2.0.2" 1585 | "@nodelib/fs.walk" "^1.2.3" 1586 | glob-parent "^5.1.2" 1587 | merge2 "^1.3.0" 1588 | micromatch "^4.0.4" 1589 | 1590 | fast-json-stable-stringify@^2.0.0: 1591 | version "2.1.0" 1592 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" 1593 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== 1594 | 1595 | fast-levenshtein@^2.0.6: 1596 | version "2.0.6" 1597 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" 1598 | integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== 1599 | 1600 | fast-xml-parser@4.2.5: 1601 | version "4.2.5" 1602 | resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.2.5.tgz#a6747a09296a6cb34f2ae634019bf1738f3b421f" 1603 | integrity sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g== 1604 | dependencies: 1605 | strnum "^1.0.5" 1606 | 1607 | fastq@^1.6.0: 1608 | version "1.17.1" 1609 | resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47" 1610 | integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== 1611 | dependencies: 1612 | reusify "^1.0.4" 1613 | 1614 | file-entry-cache@^6.0.1: 1615 | version "6.0.1" 1616 | resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" 1617 | integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== 1618 | dependencies: 1619 | flat-cache "^3.0.4" 1620 | 1621 | fill-range@^7.0.1: 1622 | version "7.0.1" 1623 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 1624 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 1625 | dependencies: 1626 | to-regex-range "^5.0.1" 1627 | 1628 | find-up@^5.0.0: 1629 | version "5.0.0" 1630 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" 1631 | integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== 1632 | dependencies: 1633 | locate-path "^6.0.0" 1634 | path-exists "^4.0.0" 1635 | 1636 | flat-cache@^3.0.4: 1637 | version "3.2.0" 1638 | resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" 1639 | integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== 1640 | dependencies: 1641 | flatted "^3.2.9" 1642 | keyv "^4.5.3" 1643 | rimraf "^3.0.2" 1644 | 1645 | flatted@^3.2.9: 1646 | version "3.3.1" 1647 | resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.1.tgz#21db470729a6734d4997002f439cb308987f567a" 1648 | integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== 1649 | 1650 | for-each@^0.3.3: 1651 | version "0.3.3" 1652 | resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" 1653 | integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== 1654 | dependencies: 1655 | is-callable "^1.1.3" 1656 | 1657 | fs.realpath@^1.0.0: 1658 | version "1.0.0" 1659 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 1660 | integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== 1661 | 1662 | function-bind@^1.1.2: 1663 | version "1.1.2" 1664 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" 1665 | integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== 1666 | 1667 | get-intrinsic@^1.1.3, get-intrinsic@^1.2.4: 1668 | version "1.2.4" 1669 | resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" 1670 | integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== 1671 | dependencies: 1672 | es-errors "^1.3.0" 1673 | function-bind "^1.1.2" 1674 | has-proto "^1.0.1" 1675 | has-symbols "^1.0.3" 1676 | hasown "^2.0.0" 1677 | 1678 | glob-parent@^5.1.2: 1679 | version "5.1.2" 1680 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" 1681 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 1682 | dependencies: 1683 | is-glob "^4.0.1" 1684 | 1685 | glob-parent@^6.0.2: 1686 | version "6.0.2" 1687 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" 1688 | integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== 1689 | dependencies: 1690 | is-glob "^4.0.3" 1691 | 1692 | glob-to-regexp@^0.4.1: 1693 | version "0.4.1" 1694 | resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" 1695 | integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== 1696 | 1697 | glob@^7.1.3: 1698 | version "7.2.3" 1699 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" 1700 | integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== 1701 | dependencies: 1702 | fs.realpath "^1.0.0" 1703 | inflight "^1.0.4" 1704 | inherits "2" 1705 | minimatch "^3.1.1" 1706 | once "^1.3.0" 1707 | path-is-absolute "^1.0.0" 1708 | 1709 | globals@^13.19.0: 1710 | version "13.24.0" 1711 | resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" 1712 | integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== 1713 | dependencies: 1714 | type-fest "^0.20.2" 1715 | 1716 | globby@^11.1.0: 1717 | version "11.1.0" 1718 | resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" 1719 | integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== 1720 | dependencies: 1721 | array-union "^2.1.0" 1722 | dir-glob "^3.0.1" 1723 | fast-glob "^3.2.9" 1724 | ignore "^5.2.0" 1725 | merge2 "^1.4.1" 1726 | slash "^3.0.0" 1727 | 1728 | gopd@^1.0.1: 1729 | version "1.0.1" 1730 | resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" 1731 | integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== 1732 | dependencies: 1733 | get-intrinsic "^1.1.3" 1734 | 1735 | graceful-fs@^4.1.2: 1736 | version "4.2.11" 1737 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" 1738 | integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== 1739 | 1740 | graphemer@^1.4.0: 1741 | version "1.4.0" 1742 | resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" 1743 | integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== 1744 | 1745 | has-flag@^4.0.0: 1746 | version "4.0.0" 1747 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" 1748 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 1749 | 1750 | has-property-descriptors@^1.0.2: 1751 | version "1.0.2" 1752 | resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" 1753 | integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== 1754 | dependencies: 1755 | es-define-property "^1.0.0" 1756 | 1757 | has-proto@^1.0.1: 1758 | version "1.0.3" 1759 | resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd" 1760 | integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== 1761 | 1762 | has-symbols@^1.0.3: 1763 | version "1.0.3" 1764 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" 1765 | integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== 1766 | 1767 | has-tostringtag@^1.0.0, has-tostringtag@^1.0.2: 1768 | version "1.0.2" 1769 | resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" 1770 | integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== 1771 | dependencies: 1772 | has-symbols "^1.0.3" 1773 | 1774 | hasown@^2.0.0: 1775 | version "2.0.2" 1776 | resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" 1777 | integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== 1778 | dependencies: 1779 | function-bind "^1.1.2" 1780 | 1781 | ieee754@1.1.13: 1782 | version "1.1.13" 1783 | resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" 1784 | integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== 1785 | 1786 | ieee754@^1.1.4: 1787 | version "1.2.1" 1788 | resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" 1789 | integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== 1790 | 1791 | ignore@^5.2.0, ignore@^5.2.4: 1792 | version "5.3.1" 1793 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef" 1794 | integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== 1795 | 1796 | import-fresh@^3.2.1: 1797 | version "3.3.0" 1798 | resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" 1799 | integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== 1800 | dependencies: 1801 | parent-module "^1.0.0" 1802 | resolve-from "^4.0.0" 1803 | 1804 | imurmurhash@^0.1.4: 1805 | version "0.1.4" 1806 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 1807 | integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== 1808 | 1809 | inflight@^1.0.4: 1810 | version "1.0.6" 1811 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1812 | integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== 1813 | dependencies: 1814 | once "^1.3.0" 1815 | wrappy "1" 1816 | 1817 | inherits@2, inherits@^2.0.3: 1818 | version "2.0.4" 1819 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 1820 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 1821 | 1822 | is-arguments@^1.0.4: 1823 | version "1.1.1" 1824 | resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" 1825 | integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== 1826 | dependencies: 1827 | call-bind "^1.0.2" 1828 | has-tostringtag "^1.0.0" 1829 | 1830 | is-callable@^1.1.3: 1831 | version "1.2.7" 1832 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" 1833 | integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== 1834 | 1835 | is-extglob@^2.1.1: 1836 | version "2.1.1" 1837 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 1838 | integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== 1839 | 1840 | is-generator-function@^1.0.7: 1841 | version "1.0.10" 1842 | resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" 1843 | integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== 1844 | dependencies: 1845 | has-tostringtag "^1.0.0" 1846 | 1847 | is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: 1848 | version "4.0.3" 1849 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" 1850 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== 1851 | dependencies: 1852 | is-extglob "^2.1.1" 1853 | 1854 | is-number@^7.0.0: 1855 | version "7.0.0" 1856 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 1857 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 1858 | 1859 | is-path-inside@^3.0.3: 1860 | version "3.0.3" 1861 | resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" 1862 | integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== 1863 | 1864 | is-typed-array@^1.1.3: 1865 | version "1.1.13" 1866 | resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.13.tgz#d6c5ca56df62334959322d7d7dd1cca50debe229" 1867 | integrity sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw== 1868 | dependencies: 1869 | which-typed-array "^1.1.14" 1870 | 1871 | isarray@^1.0.0: 1872 | version "1.0.0" 1873 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 1874 | integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== 1875 | 1876 | isexe@^2.0.0: 1877 | version "2.0.0" 1878 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 1879 | integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== 1880 | 1881 | jmespath@0.16.0: 1882 | version "0.16.0" 1883 | resolved "https://registry.yarnpkg.com/jmespath/-/jmespath-0.16.0.tgz#b15b0a85dfd4d930d43e69ed605943c802785076" 1884 | integrity sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw== 1885 | 1886 | js-yaml@^3.14.1: 1887 | version "3.14.1" 1888 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" 1889 | integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== 1890 | dependencies: 1891 | argparse "^1.0.7" 1892 | esprima "^4.0.0" 1893 | 1894 | js-yaml@^4.1.0: 1895 | version "4.1.0" 1896 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" 1897 | integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== 1898 | dependencies: 1899 | argparse "^2.0.1" 1900 | 1901 | json-buffer@3.0.1: 1902 | version "3.0.1" 1903 | resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" 1904 | integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== 1905 | 1906 | json-schema-traverse@^0.4.1: 1907 | version "0.4.1" 1908 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" 1909 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== 1910 | 1911 | json-stable-stringify-without-jsonify@^1.0.1: 1912 | version "1.0.1" 1913 | resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" 1914 | integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== 1915 | 1916 | keyv@^4.5.3: 1917 | version "4.5.4" 1918 | resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" 1919 | integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== 1920 | dependencies: 1921 | json-buffer "3.0.1" 1922 | 1923 | levn@^0.4.1: 1924 | version "0.4.1" 1925 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" 1926 | integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== 1927 | dependencies: 1928 | prelude-ls "^1.2.1" 1929 | type-check "~0.4.0" 1930 | 1931 | locate-path@^6.0.0: 1932 | version "6.0.0" 1933 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" 1934 | integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== 1935 | dependencies: 1936 | p-locate "^5.0.0" 1937 | 1938 | lodash.merge@^4.6.2: 1939 | version "4.6.2" 1940 | resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" 1941 | integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== 1942 | 1943 | lru-cache@^6.0.0: 1944 | version "6.0.0" 1945 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" 1946 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== 1947 | dependencies: 1948 | yallist "^4.0.0" 1949 | 1950 | merge2@^1.3.0, merge2@^1.4.1: 1951 | version "1.4.1" 1952 | resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" 1953 | integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== 1954 | 1955 | micromatch@^4.0.4: 1956 | version "4.0.5" 1957 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" 1958 | integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== 1959 | dependencies: 1960 | braces "^3.0.2" 1961 | picomatch "^2.3.1" 1962 | 1963 | minimatch@9.0.3: 1964 | version "9.0.3" 1965 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825" 1966 | integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== 1967 | dependencies: 1968 | brace-expansion "^2.0.1" 1969 | 1970 | minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: 1971 | version "3.1.2" 1972 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" 1973 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== 1974 | dependencies: 1975 | brace-expansion "^1.1.7" 1976 | 1977 | mnemonist@0.38.3: 1978 | version "0.38.3" 1979 | resolved "https://registry.yarnpkg.com/mnemonist/-/mnemonist-0.38.3.tgz#35ec79c1c1f4357cfda2fe264659c2775ccd7d9d" 1980 | integrity sha512-2K9QYubXx/NAjv4VLq1d1Ly8pWNC5L3BrixtdkyTegXWJIqY+zLNDhhX/A+ZwWt70tB1S8H4BE8FLYEFyNoOBw== 1981 | dependencies: 1982 | obliterator "^1.6.1" 1983 | 1984 | ms@2.1.2: 1985 | version "2.1.2" 1986 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 1987 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 1988 | 1989 | natural-compare@^1.4.0: 1990 | version "1.4.0" 1991 | resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" 1992 | integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== 1993 | 1994 | obliterator@^1.6.1: 1995 | version "1.6.1" 1996 | resolved "https://registry.yarnpkg.com/obliterator/-/obliterator-1.6.1.tgz#dea03e8ab821f6c4d96a299e17aef6a3af994ef3" 1997 | integrity sha512-9WXswnqINnnhOG/5SLimUlzuU1hFJUc8zkwyD59Sd+dPOMf05PmnYG/d6Q7HZ+KmgkZJa1PxRso6QdM3sTNHig== 1998 | 1999 | once@^1.3.0: 2000 | version "1.4.0" 2001 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 2002 | integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== 2003 | dependencies: 2004 | wrappy "1" 2005 | 2006 | optionator@^0.9.3: 2007 | version "0.9.3" 2008 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64" 2009 | integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== 2010 | dependencies: 2011 | "@aashutoshrathi/word-wrap" "^1.2.3" 2012 | deep-is "^0.1.3" 2013 | fast-levenshtein "^2.0.6" 2014 | levn "^0.4.1" 2015 | prelude-ls "^1.2.1" 2016 | type-check "^0.4.0" 2017 | 2018 | p-limit@^3.0.2: 2019 | version "3.1.0" 2020 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" 2021 | integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== 2022 | dependencies: 2023 | yocto-queue "^0.1.0" 2024 | 2025 | p-locate@^5.0.0: 2026 | version "5.0.0" 2027 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" 2028 | integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== 2029 | dependencies: 2030 | p-limit "^3.0.2" 2031 | 2032 | parent-module@^1.0.0: 2033 | version "1.0.1" 2034 | resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" 2035 | integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== 2036 | dependencies: 2037 | callsites "^3.0.0" 2038 | 2039 | path-exists@^4.0.0: 2040 | version "4.0.0" 2041 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" 2042 | integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== 2043 | 2044 | path-is-absolute@^1.0.0: 2045 | version "1.0.1" 2046 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 2047 | integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== 2048 | 2049 | path-key@^3.1.0: 2050 | version "3.1.1" 2051 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" 2052 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== 2053 | 2054 | path-type@^4.0.0: 2055 | version "4.0.0" 2056 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" 2057 | integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== 2058 | 2059 | picomatch@^2.3.1: 2060 | version "2.3.1" 2061 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" 2062 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== 2063 | 2064 | possible-typed-array-names@^1.0.0: 2065 | version "1.0.0" 2066 | resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz#89bb63c6fada2c3e90adc4a647beeeb39cc7bf8f" 2067 | integrity sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q== 2068 | 2069 | prelude-ls@^1.2.1: 2070 | version "1.2.1" 2071 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" 2072 | integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== 2073 | 2074 | punycode@1.3.2: 2075 | version "1.3.2" 2076 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" 2077 | integrity sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw== 2078 | 2079 | punycode@^2.1.0: 2080 | version "2.3.1" 2081 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" 2082 | integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== 2083 | 2084 | querystring@0.2.0: 2085 | version "0.2.0" 2086 | resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" 2087 | integrity sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g== 2088 | 2089 | queue-microtask@^1.2.2: 2090 | version "1.2.3" 2091 | resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" 2092 | integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== 2093 | 2094 | resolve-from@^4.0.0: 2095 | version "4.0.0" 2096 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" 2097 | integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== 2098 | 2099 | reusify@^1.0.4: 2100 | version "1.0.4" 2101 | resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" 2102 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== 2103 | 2104 | rimraf@^3.0.2: 2105 | version "3.0.2" 2106 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" 2107 | integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== 2108 | dependencies: 2109 | glob "^7.1.3" 2110 | 2111 | run-parallel@^1.1.9: 2112 | version "1.2.0" 2113 | resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" 2114 | integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== 2115 | dependencies: 2116 | queue-microtask "^1.2.2" 2117 | 2118 | sax@1.2.1: 2119 | version "1.2.1" 2120 | resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a" 2121 | integrity sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA== 2122 | 2123 | sax@>=0.6.0: 2124 | version "1.3.0" 2125 | resolved "https://registry.yarnpkg.com/sax/-/sax-1.3.0.tgz#a5dbe77db3be05c9d1ee7785dbd3ea9de51593d0" 2126 | integrity sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA== 2127 | 2128 | semver@^7.5.4: 2129 | version "7.6.0" 2130 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.0.tgz#1a46a4db4bffcccd97b743b5005c8325f23d4e2d" 2131 | integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== 2132 | dependencies: 2133 | lru-cache "^6.0.0" 2134 | 2135 | set-function-length@^1.2.1: 2136 | version "1.2.2" 2137 | resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" 2138 | integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== 2139 | dependencies: 2140 | define-data-property "^1.1.4" 2141 | es-errors "^1.3.0" 2142 | function-bind "^1.1.2" 2143 | get-intrinsic "^1.2.4" 2144 | gopd "^1.0.1" 2145 | has-property-descriptors "^1.0.2" 2146 | 2147 | shebang-command@^2.0.0: 2148 | version "2.0.0" 2149 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" 2150 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== 2151 | dependencies: 2152 | shebang-regex "^3.0.0" 2153 | 2154 | shebang-regex@^3.0.0: 2155 | version "3.0.0" 2156 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" 2157 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== 2158 | 2159 | slash@^3.0.0: 2160 | version "3.0.0" 2161 | resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" 2162 | integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== 2163 | 2164 | sprintf-js@~1.0.2: 2165 | version "1.0.3" 2166 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 2167 | integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== 2168 | 2169 | strip-ansi@^6.0.1: 2170 | version "6.0.1" 2171 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" 2172 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== 2173 | dependencies: 2174 | ansi-regex "^5.0.1" 2175 | 2176 | strip-json-comments@^3.1.1: 2177 | version "3.1.1" 2178 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" 2179 | integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== 2180 | 2181 | strnum@^1.0.5: 2182 | version "1.0.5" 2183 | resolved "https://registry.yarnpkg.com/strnum/-/strnum-1.0.5.tgz#5c4e829fe15ad4ff0d20c3db5ac97b73c9b072db" 2184 | integrity sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA== 2185 | 2186 | supports-color@^7.1.0: 2187 | version "7.2.0" 2188 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" 2189 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 2190 | dependencies: 2191 | has-flag "^4.0.0" 2192 | 2193 | text-table@^0.2.0: 2194 | version "0.2.0" 2195 | resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" 2196 | integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== 2197 | 2198 | to-regex-range@^5.0.1: 2199 | version "5.0.1" 2200 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 2201 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 2202 | dependencies: 2203 | is-number "^7.0.0" 2204 | 2205 | ts-api-utils@^1.0.1: 2206 | version "1.3.0" 2207 | resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.3.0.tgz#4b490e27129f1e8e686b45cc4ab63714dc60eea1" 2208 | integrity sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ== 2209 | 2210 | tslib@^1.11.1: 2211 | version "1.14.1" 2212 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" 2213 | integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== 2214 | 2215 | tslib@^2.3.1, tslib@^2.5.0: 2216 | version "2.6.2" 2217 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" 2218 | integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== 2219 | 2220 | type-check@^0.4.0, type-check@~0.4.0: 2221 | version "0.4.0" 2222 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" 2223 | integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== 2224 | dependencies: 2225 | prelude-ls "^1.2.1" 2226 | 2227 | type-fest@^0.20.2: 2228 | version "0.20.2" 2229 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" 2230 | integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== 2231 | 2232 | undici-types@~5.26.4: 2233 | version "5.26.5" 2234 | resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" 2235 | integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== 2236 | 2237 | uri-js@^4.2.2: 2238 | version "4.4.1" 2239 | resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" 2240 | integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== 2241 | dependencies: 2242 | punycode "^2.1.0" 2243 | 2244 | url@0.10.3: 2245 | version "0.10.3" 2246 | resolved "https://registry.yarnpkg.com/url/-/url-0.10.3.tgz#021e4d9c7705f21bbf37d03ceb58767402774c64" 2247 | integrity sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ== 2248 | dependencies: 2249 | punycode "1.3.2" 2250 | querystring "0.2.0" 2251 | 2252 | util@^0.12.4: 2253 | version "0.12.5" 2254 | resolved "https://registry.yarnpkg.com/util/-/util-0.12.5.tgz#5f17a6059b73db61a875668781a1c2b136bd6fbc" 2255 | integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== 2256 | dependencies: 2257 | inherits "^2.0.3" 2258 | is-arguments "^1.0.4" 2259 | is-generator-function "^1.0.7" 2260 | is-typed-array "^1.1.3" 2261 | which-typed-array "^1.1.2" 2262 | 2263 | uuid@8.0.0: 2264 | version "8.0.0" 2265 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.0.0.tgz#bc6ccf91b5ff0ac07bbcdbf1c7c4e150db4dbb6c" 2266 | integrity sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw== 2267 | 2268 | uuid@^8.3.2: 2269 | version "8.3.2" 2270 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" 2271 | integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== 2272 | 2273 | uuid@^9.0.1: 2274 | version "9.0.1" 2275 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30" 2276 | integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== 2277 | 2278 | watchpack@^2.0.0-beta.10: 2279 | version "2.4.1" 2280 | resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.1.tgz#29308f2cac150fa8e4c92f90e0ec954a9fed7fff" 2281 | integrity sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg== 2282 | dependencies: 2283 | glob-to-regexp "^0.4.1" 2284 | graceful-fs "^4.1.2" 2285 | 2286 | which-typed-array@^1.1.14, which-typed-array@^1.1.2: 2287 | version "1.1.15" 2288 | resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.15.tgz#264859e9b11a649b388bfaaf4f767df1f779b38d" 2289 | integrity sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA== 2290 | dependencies: 2291 | available-typed-arrays "^1.0.7" 2292 | call-bind "^1.0.7" 2293 | for-each "^0.3.3" 2294 | gopd "^1.0.1" 2295 | has-tostringtag "^1.0.2" 2296 | 2297 | which@^2.0.1: 2298 | version "2.0.2" 2299 | resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" 2300 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== 2301 | dependencies: 2302 | isexe "^2.0.0" 2303 | 2304 | wrappy@1: 2305 | version "1.0.2" 2306 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 2307 | integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== 2308 | 2309 | xml2js@0.6.2: 2310 | version "0.6.2" 2311 | resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.6.2.tgz#dd0b630083aa09c161e25a4d0901e2b2a929b499" 2312 | integrity sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA== 2313 | dependencies: 2314 | sax ">=0.6.0" 2315 | xmlbuilder "~11.0.0" 2316 | 2317 | xmlbuilder@~11.0.0: 2318 | version "11.0.1" 2319 | resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3" 2320 | integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA== 2321 | 2322 | yallist@^4.0.0: 2323 | version "4.0.0" 2324 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" 2325 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== 2326 | 2327 | yocto-queue@^0.1.0: 2328 | version "0.1.0" 2329 | resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" 2330 | integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== 2331 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "module", 3 | "scripts": { 4 | "start": "node start" 5 | }, 6 | "dependencies": { 7 | "shelljs": "^0.8.5" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /start.js: -------------------------------------------------------------------------------- 1 | // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | // SPDX-License-Identifier: MIT-0 3 | 4 | import shell from "shelljs" 5 | 6 | const run = () => { 7 | shell.env["TARGET"] = "dev" 8 | shell.env["AWS_REGION"] = "us-east-1" 9 | 10 | shell.exec(`localstack stop`) 11 | shell.exec(`localstack start -d --no-banner`) 12 | shell.exec(`localstack config show`) 13 | 14 | shell.cd("cdk") 15 | shell.exec(`cdklocal bootstrap`) 16 | shell.exec(`cdklocal deploy --require-approval never`) 17 | 18 | shell.exec( 19 | `awslocal apigateway get-rest-apis --output json --query "items[0].{apiId: id}" > ../frontend/src/.local.json` 20 | ) 21 | shell.cd("..") 22 | shell.cp("./frontend/src/.local.json", "./lambda/src/.local.json") 23 | } 24 | run() 25 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | balanced-match@^1.0.0: 6 | version "1.0.2" 7 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" 8 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 9 | 10 | brace-expansion@^1.1.7: 11 | version "1.1.11" 12 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 13 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 14 | dependencies: 15 | balanced-match "^1.0.0" 16 | concat-map "0.0.1" 17 | 18 | concat-map@0.0.1: 19 | version "0.0.1" 20 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 21 | integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== 22 | 23 | fs.realpath@^1.0.0: 24 | version "1.0.0" 25 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 26 | integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== 27 | 28 | function-bind@^1.1.2: 29 | version "1.1.2" 30 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" 31 | integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== 32 | 33 | glob@^7.0.0: 34 | version "7.2.3" 35 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" 36 | integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== 37 | dependencies: 38 | fs.realpath "^1.0.0" 39 | inflight "^1.0.4" 40 | inherits "2" 41 | minimatch "^3.1.1" 42 | once "^1.3.0" 43 | path-is-absolute "^1.0.0" 44 | 45 | hasown@^2.0.0: 46 | version "2.0.2" 47 | resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" 48 | integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== 49 | dependencies: 50 | function-bind "^1.1.2" 51 | 52 | inflight@^1.0.4: 53 | version "1.0.6" 54 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 55 | integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== 56 | dependencies: 57 | once "^1.3.0" 58 | wrappy "1" 59 | 60 | inherits@2: 61 | version "2.0.4" 62 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 63 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 64 | 65 | interpret@^1.0.0: 66 | version "1.4.0" 67 | resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" 68 | integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== 69 | 70 | is-core-module@^2.13.0: 71 | version "2.13.1" 72 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" 73 | integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== 74 | dependencies: 75 | hasown "^2.0.0" 76 | 77 | minimatch@^3.1.1: 78 | version "3.1.2" 79 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" 80 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== 81 | dependencies: 82 | brace-expansion "^1.1.7" 83 | 84 | once@^1.3.0: 85 | version "1.4.0" 86 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 87 | integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== 88 | dependencies: 89 | wrappy "1" 90 | 91 | path-is-absolute@^1.0.0: 92 | version "1.0.1" 93 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 94 | integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== 95 | 96 | path-parse@^1.0.7: 97 | version "1.0.7" 98 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 99 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 100 | 101 | rechoir@^0.6.2: 102 | version "0.6.2" 103 | resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" 104 | integrity sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== 105 | dependencies: 106 | resolve "^1.1.6" 107 | 108 | resolve@^1.1.6: 109 | version "1.22.8" 110 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" 111 | integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== 112 | dependencies: 113 | is-core-module "^2.13.0" 114 | path-parse "^1.0.7" 115 | supports-preserve-symlinks-flag "^1.0.0" 116 | 117 | shelljs@^0.8.5: 118 | version "0.8.5" 119 | resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.5.tgz#de055408d8361bed66c669d2f000538ced8ee20c" 120 | integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== 121 | dependencies: 122 | glob "^7.0.0" 123 | interpret "^1.0.0" 124 | rechoir "^0.6.2" 125 | 126 | supports-preserve-symlinks-flag@^1.0.0: 127 | version "1.0.0" 128 | resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" 129 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== 130 | 131 | wrappy@1: 132 | version "1.0.2" 133 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 134 | integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== 135 | --------------------------------------------------------------------------------