├── .gitignore
├── README.md
├── assets
└── infra.png
├── bin
├── api
│ ├── api.ts
│ ├── metricsService
│ │ ├── .gitignore
│ │ ├── index.ts
│ │ ├── package.json
│ │ ├── utils
│ │ │ ├── lambdaResponse.ts
│ │ │ └── uuid.ts
│ │ └── yarn.lock
│ └── projectsService
│ │ ├── .gitignore
│ │ ├── index.ts
│ │ ├── package.json
│ │ ├── utils
│ │ ├── lambdaResponse.ts
│ │ └── uuid.ts
│ │ └── yarn.lock
├── aws-web-performance-monitor.ts
├── collector
│ ├── collector.ts
│ └── src
│ │ ├── .gitignore
│ │ ├── index.ts
│ │ ├── package.json
│ │ ├── utils
│ │ ├── lambdaResponse.ts
│ │ └── uuid.ts
│ │ └── yarn.lock
├── frontend
│ └── frontend.ts
└── types
│ ├── MetricsDatapoint.ts
│ └── Project.ts
├── cdk.json
├── frontend
├── .gitignore
├── README.md
├── package.json
├── public
│ ├── favicon.ico
│ ├── index.html
│ ├── logo192.png
│ ├── logo512.png
│ ├── manifest.json
│ └── robots.txt
├── src
│ ├── App.tsx
│ ├── components
│ │ ├── Charts
│ │ │ ├── BreakdownChart.tsx
│ │ │ ├── HealthChart.tsx
│ │ │ ├── ResponseTimeDistribution.tsx
│ │ │ └── TotalResponseTimeChart.tsx
│ │ ├── Footer.tsx
│ │ ├── Project.tsx
│ │ ├── ProjectDetails.tsx
│ │ └── TimeRangePicker.tsx
│ ├── consts
│ │ └── timeRanges.ts
│ ├── index.tsx
│ ├── react-app-env.d.ts
│ ├── types
│ │ └── Region.ts
│ └── utils
│ │ └── everyNth.tsx
├── tsconfig.json
└── yarn.lock
├── package.json
├── tsconfig.json
└── yarn.lock
/.gitignore:
--------------------------------------------------------------------------------
1 | *.js
2 | *.d.ts
3 | node_modules
4 | cdk.out
5 | headless_shell
6 | bin/collector/layer/chrome-aws-lambda
7 | bin/collector/layer/chrome-aws-lambda
8 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
Serverless Web Performance Monitor
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | > Self-hosted, cloud-native monitoring solution for your page/endpoint speed from multiple locations around the world.
12 |
13 | ## Prerequisites
14 |
15 | - AWS Account and credentials set in `~/.aws/credentials`
16 | - Node >10
17 | - Yarn or npm
18 |
19 | ## Install
20 |
21 | ```sh
22 | yarn
23 | ```
24 |
25 | ## Usage
26 |
27 | - `yarn deploy:all` compiles all lambdas, CDK Stack, Frontend application and deploys it to the cloud
28 | - `yarn build:frontend` builds only frontend
29 | - `yarn build:cdk` builds only CDK from TS to JS
30 |
31 | You can also pass following environment variable to customize your deployment:
32 |
33 | - `REGION` - your base region where dashboard and projects table gets deployed
34 | - `COLLECTOR_REGIONS` - AWS regions where collectors should be deployed
35 | - `CRON_PATTERNS` - how frequently data should be gathered (by default it's every 5 minutes)
36 |
37 | ## Infrastructure
38 |
39 | 
40 |
41 | ## Author
42 |
43 | 👤 **Rafal Wilinski <raf.wilinski@gmail.com>**
44 |
45 | - Twitter: [@rafalwilinski](https://twitter.com/rafalwilinski)
46 | - Github: [@RafalWilinski](https://github.com/RafalWilinski)
47 |
48 | ## 🤝 Contributing
49 |
50 | Contributions, issues and feature requests are welcome!
Feel free to check [issues page](https://github.com/RafalWilinski/servicefull/issues).
51 |
52 | ## Show your support
53 |
54 | Give a ⭐️ if this project helped you!
55 |
56 | ## 📝 License
57 |
58 | Copyright © 2019 [Rafal Wilinski <raf.wilinski@gmail.com>](https://github.com/RafalWilinski).
59 | This project is [MIT](https://github.com/RafalWilinski/servicefull/blob/master/LICENSE) licensed.
60 |
--------------------------------------------------------------------------------
/assets/infra.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RafalWilinski/serverless-web-performance-monitor/cefe556cee35c1d982c651d8b4a12adcc317755c/assets/infra.png
--------------------------------------------------------------------------------
/bin/api/api.ts:
--------------------------------------------------------------------------------
1 | import apigateway = require('@aws-cdk/aws-apigateway');
2 | import lambda = require('@aws-cdk/aws-lambda');
3 | import path = require('path');
4 | import { Effect, PolicyStatement } from '@aws-cdk/aws-iam';
5 | import { Construct, Stack, StackProps, CfnOutput } from '@aws-cdk/core';
6 | import { Cors } from '@aws-cdk/aws-apigateway';
7 |
8 | interface APIStackProps extends StackProps {
9 | projectsTableArn: string;
10 | metricsTableArn: string;
11 | }
12 |
13 | class APIStack extends Stack {
14 | public api: apigateway.RestApi;
15 |
16 | constructor(parent: Construct, name: string, props: APIStackProps) {
17 | super(parent, name, props);
18 |
19 | const metricsService = new lambda.Function(this, `MetricsService`, {
20 | description: 'Metrics API between frontend and metrics',
21 | memorySize: 512,
22 | runtime: lambda.Runtime.NODEJS_10_X,
23 | handler: 'index.handler',
24 | code: lambda.AssetCode.fromAsset(path.join(__dirname, 'metricsService')),
25 | environment: {
26 | METRICS_TABLE_ARN: props.metricsTableArn,
27 | },
28 | });
29 |
30 | metricsService.addToRolePolicy(
31 | new PolicyStatement({
32 | effect: Effect.ALLOW,
33 | actions: ['dynamodb:Query'],
34 | resources: [props.metricsTableArn],
35 | }),
36 | );
37 |
38 | const projectsService = new lambda.Function(this, `ProjectsService`, {
39 | description: 'Projects API between frontend and metrics',
40 | memorySize: 512,
41 | runtime: lambda.Runtime.NODEJS_10_X,
42 | handler: 'index.handler',
43 | code: lambda.AssetCode.fromAsset(path.join(__dirname, 'projectsService')),
44 | environment: {
45 | PROJECTS_TABLE_ARN: props.projectsTableArn,
46 | },
47 | });
48 |
49 | projectsService.addToRolePolicy(
50 | new PolicyStatement({
51 | effect: Effect.ALLOW,
52 | actions: ['dynamodb:Scan', 'dynamodb:PutItem'],
53 | resources: [props.projectsTableArn],
54 | }),
55 | );
56 |
57 | const api = new apigateway.RestApi(this, 'metrics-api', {
58 | restApiName: 'Metrics Service',
59 | });
60 | this.api = api;
61 |
62 | const metrics = api.root.addResource('metrics');
63 | metrics.addMethod('GET', new apigateway.LambdaIntegration(metricsService));
64 | metrics.addCorsPreflight({
65 | allowOrigins: Cors.ALL_ORIGINS,
66 | });
67 |
68 | const projects = api.root.addResource('projects');
69 | projects.addMethod('GET', new apigateway.LambdaIntegration(projectsService));
70 | projects.addMethod('POST', new apigateway.LambdaIntegration(projectsService));
71 | projects.addCorsPreflight({
72 | allowOrigins: Cors.ALL_ORIGINS,
73 | });
74 |
75 | new CfnOutput(this, 'api-endpoint', {
76 | value: api.url,
77 | exportName: 'api-endpoint',
78 | });
79 | }
80 | }
81 |
82 | export default APIStack;
83 |
--------------------------------------------------------------------------------
/bin/api/metricsService/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
--------------------------------------------------------------------------------
/bin/api/metricsService/index.ts:
--------------------------------------------------------------------------------
1 | import { DynamoDB } from "aws-sdk";
2 | import { APIGatewayProxyHandler } from "aws-lambda";
3 |
4 | import response from "./utils/lambdaResponse";
5 |
6 | const dynamoDB = new DynamoDB.DocumentClient();
7 | const TableName = process.env.METRICS_TABLE_ARN!.split("/").slice(-1)[0];
8 |
9 | const getMetrics = (event?: any) => {
10 | const FilterExpressions: string[] = [];
11 | const ExpressionAttributeValues: any = {
12 | ":pkey": event.id
13 | };
14 | const ExpressionAttributeNames: any = {
15 | "#PROXY_id": "id"
16 | };
17 |
18 | Object.keys(event).forEach(key => {
19 | if (key !== "id") {
20 | ExpressionAttributeValues[`:${key}`] = event[key];
21 | ExpressionAttributeNames[`#PROXY_${key}`] = key;
22 | FilterExpressions.push(`#PROXY_${key} = :${key}`);
23 | }
24 | });
25 |
26 | console.log(
27 | ExpressionAttributeNames,
28 | ExpressionAttributeValues,
29 | FilterExpressions
30 | );
31 |
32 | return dynamoDB
33 | .query({
34 | TableName,
35 | KeyConditionExpression: "#PROXY_id = :pkey",
36 | ExpressionAttributeValues,
37 | FilterExpression:
38 | FilterExpressions.length > 0
39 | ? FilterExpressions.join(" and ")
40 | : undefined,
41 | ExpressionAttributeNames
42 | })
43 | .promise();
44 | };
45 |
46 | export const handler: APIGatewayProxyHandler = async (event, _context) => {
47 | console.log(event.queryStringParameters);
48 | return response({
49 | metrics: (await getMetrics(event.queryStringParameters)).Items
50 | });
51 | };
52 |
--------------------------------------------------------------------------------
/bin/api/metricsService/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "aws-web-performance-monitor-collector",
3 | "version": "0.1.0",
4 | "main": "index.js",
5 | "scripts": {
6 | "build": "tsc"
7 | },
8 | "dependencies": {
9 | "source-map-support": "0.5.16"
10 | },
11 | "devDependencies": {
12 | "@types/aws-lambda": "8.10.33",
13 | "aws-sdk": "2.552.0",
14 | "typescript": "3.6.4"
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/bin/api/metricsService/utils/lambdaResponse.ts:
--------------------------------------------------------------------------------
1 | const response = (body: string | any, statusCode = 200) => ({
2 | statusCode,
3 | body: typeof body !== "string" ? JSON.stringify(body, null, 2) : body,
4 | headers: {
5 | "Access-Control-Allow-Origin": "*"
6 | }
7 | });
8 |
9 | export default response;
10 |
--------------------------------------------------------------------------------
/bin/api/metricsService/utils/uuid.ts:
--------------------------------------------------------------------------------
1 | export default () =>
2 | Math.random()
3 | .toString(36)
4 | .substring(2, 15) +
5 | Math.random()
6 | .toString(36)
7 | .substring(2, 15);
8 |
--------------------------------------------------------------------------------
/bin/api/metricsService/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@types/aws-lambda@8.10.33":
6 | version "8.10.33"
7 | resolved "https://registry.yarnpkg.com/@types/aws-lambda/-/aws-lambda-8.10.33.tgz#64ad8f2e785e5c2cf86dc2d596c9a0b2e2e14ab5"
8 | integrity sha512-BZ8lPY/vyUq+Bid/BgYrKbUF36SZYuGOAMgOq/VgqnTQnCn9GBo3HejKZ6xrUzA8zLf9Pjs707amkt4f7rWujw==
9 |
10 | aws-sdk@2.552.0:
11 | version "2.552.0"
12 | resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.552.0.tgz#4b45b0a60b3728dbd111edd76445cf61661eb076"
13 | integrity sha512-GLZpKIX0BOQK8JEjFcJElnroLmUxnWUfHzRJwxVajH9S0tmBPsDYH5QLIb+Lg6wWq4sBAopgE+WOtAeb8/rcLw==
14 | dependencies:
15 | buffer "4.9.1"
16 | events "1.1.1"
17 | ieee754 "1.1.13"
18 | jmespath "0.15.0"
19 | querystring "0.2.0"
20 | sax "1.2.1"
21 | url "0.10.3"
22 | uuid "3.3.2"
23 | xml2js "0.4.19"
24 |
25 | base64-js@^1.0.2:
26 | version "1.3.1"
27 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1"
28 | integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==
29 |
30 | buffer-from@^1.0.0:
31 | version "1.1.1"
32 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
33 | integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==
34 |
35 | buffer@4.9.1:
36 | version "4.9.1"
37 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298"
38 | integrity sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=
39 | dependencies:
40 | base64-js "^1.0.2"
41 | ieee754 "^1.1.4"
42 | isarray "^1.0.0"
43 |
44 | events@1.1.1:
45 | version "1.1.1"
46 | resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924"
47 | integrity sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=
48 |
49 | ieee754@1.1.13, ieee754@^1.1.4:
50 | version "1.1.13"
51 | resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84"
52 | integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==
53 |
54 | isarray@^1.0.0:
55 | version "1.0.0"
56 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
57 | integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
58 |
59 | jmespath@0.15.0:
60 | version "0.15.0"
61 | resolved "https://registry.yarnpkg.com/jmespath/-/jmespath-0.15.0.tgz#a3f222a9aae9f966f5d27c796510e28091764217"
62 | integrity sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc=
63 |
64 | punycode@1.3.2:
65 | version "1.3.2"
66 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d"
67 | integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=
68 |
69 | querystring@0.2.0:
70 | version "0.2.0"
71 | resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620"
72 | integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=
73 |
74 | sax@1.2.1:
75 | version "1.2.1"
76 | resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a"
77 | integrity sha1-e45lYZCyKOgaZq6nSEgNgozS03o=
78 |
79 | sax@>=0.6.0:
80 | version "1.2.4"
81 | resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
82 | integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
83 |
84 | source-map-support@0.5.16:
85 | version "0.5.16"
86 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.16.tgz#0ae069e7fe3ba7538c64c98515e35339eac5a042"
87 | integrity sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==
88 | dependencies:
89 | buffer-from "^1.0.0"
90 | source-map "^0.6.0"
91 |
92 | source-map@^0.6.0:
93 | version "0.6.1"
94 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
95 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
96 |
97 | typescript@3.6.4:
98 | version "3.6.4"
99 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.6.4.tgz#b18752bb3792bc1a0281335f7f6ebf1bbfc5b91d"
100 | integrity sha512-unoCll1+l+YK4i4F8f22TaNVPRHcD9PA3yCuZ8g5e0qGqlVlJ/8FSateOLLSagn+Yg5+ZwuPkL8LFUc0Jcvksg==
101 |
102 | url@0.10.3:
103 | version "0.10.3"
104 | resolved "https://registry.yarnpkg.com/url/-/url-0.10.3.tgz#021e4d9c7705f21bbf37d03ceb58767402774c64"
105 | integrity sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=
106 | dependencies:
107 | punycode "1.3.2"
108 | querystring "0.2.0"
109 |
110 | uuid@3.3.2:
111 | version "3.3.2"
112 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131"
113 | integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==
114 |
115 | xml2js@0.4.19:
116 | version "0.4.19"
117 | resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.19.tgz#686c20f213209e94abf0d1bcf1efaa291c7827a7"
118 | integrity sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==
119 | dependencies:
120 | sax ">=0.6.0"
121 | xmlbuilder "~9.0.1"
122 |
123 | xmlbuilder@~9.0.1:
124 | version "9.0.7"
125 | resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d"
126 | integrity sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=
127 |
--------------------------------------------------------------------------------
/bin/api/projectsService/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
--------------------------------------------------------------------------------
/bin/api/projectsService/index.ts:
--------------------------------------------------------------------------------
1 | import { DynamoDB } from 'aws-sdk';
2 | import { APIGatewayProxyHandler } from 'aws-lambda';
3 |
4 | import response from './utils/lambdaResponse';
5 | import uuid from './utils/uuid';
6 |
7 | const dynamoDB = new DynamoDB.DocumentClient();
8 | const TableName = process.env.PROJECTS_TABLE_ARN!.split('/').slice(-1)[0];
9 |
10 | const createProject = async (body: any) => {
11 | body.id = uuid();
12 |
13 | if (!body.name) {
14 | throw new Error('"name" param cannot be null!');
15 | } else if (!body.endpoint) {
16 | throw new Error('"endpoint" param cannot be null!');
17 | } else if (!body.method) {
18 | throw new Error('"method" param cannot be null!');
19 | }
20 |
21 | await dynamoDB
22 | .put({
23 | TableName,
24 | Item: body,
25 | })
26 | .promise();
27 | };
28 |
29 | const getProjects = () =>
30 | dynamoDB
31 | .scan({
32 | TableName,
33 | })
34 | .promise();
35 |
36 | export const handler: APIGatewayProxyHandler = async (event, _context) => {
37 | if (event.httpMethod.toUpperCase() === 'POST') {
38 | try {
39 | return response({
40 | project: await createProject(JSON.parse(event.body!)),
41 | });
42 | } catch (error) {
43 | return response({ error: JSON.stringify(error) }, 400);
44 | }
45 | } else {
46 | try {
47 | return response({
48 | projects: ((await getProjects()).Items || []).sort((a: any, b: any) => a.id - b.id),
49 | });
50 | } catch (error) {
51 | return response({ error: JSON.stringify(error) }, 400);
52 | }
53 | }
54 | };
55 |
--------------------------------------------------------------------------------
/bin/api/projectsService/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "aws-web-performance-monitor-collector",
3 | "version": "0.1.0",
4 | "main": "index.js",
5 | "scripts": {
6 | "build": "tsc"
7 | },
8 | "dependencies": {
9 | "source-map-support": "0.5.16"
10 | },
11 | "devDependencies": {
12 | "@types/aws-lambda": "8.10.33",
13 | "aws-sdk": "2.552.0",
14 | "typescript": "3.6.4"
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/bin/api/projectsService/utils/lambdaResponse.ts:
--------------------------------------------------------------------------------
1 | const response = (body: string | any, statusCode = 200) => ({
2 | statusCode,
3 | body: typeof body !== "string" ? JSON.stringify(body, null, 2) : body,
4 | headers: {
5 | "Access-Control-Allow-Origin": "*"
6 | }
7 | });
8 |
9 | export default response;
10 |
--------------------------------------------------------------------------------
/bin/api/projectsService/utils/uuid.ts:
--------------------------------------------------------------------------------
1 | export default () =>
2 | Math.random()
3 | .toString(36)
4 | .substring(2, 15) +
5 | Math.random()
6 | .toString(36)
7 | .substring(2, 15);
8 |
--------------------------------------------------------------------------------
/bin/api/projectsService/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@types/aws-lambda@8.10.33":
6 | version "8.10.33"
7 | resolved "https://registry.yarnpkg.com/@types/aws-lambda/-/aws-lambda-8.10.33.tgz#64ad8f2e785e5c2cf86dc2d596c9a0b2e2e14ab5"
8 | integrity sha512-BZ8lPY/vyUq+Bid/BgYrKbUF36SZYuGOAMgOq/VgqnTQnCn9GBo3HejKZ6xrUzA8zLf9Pjs707amkt4f7rWujw==
9 |
10 | aws-sdk@2.552.0:
11 | version "2.552.0"
12 | resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.552.0.tgz#4b45b0a60b3728dbd111edd76445cf61661eb076"
13 | integrity sha512-GLZpKIX0BOQK8JEjFcJElnroLmUxnWUfHzRJwxVajH9S0tmBPsDYH5QLIb+Lg6wWq4sBAopgE+WOtAeb8/rcLw==
14 | dependencies:
15 | buffer "4.9.1"
16 | events "1.1.1"
17 | ieee754 "1.1.13"
18 | jmespath "0.15.0"
19 | querystring "0.2.0"
20 | sax "1.2.1"
21 | url "0.10.3"
22 | uuid "3.3.2"
23 | xml2js "0.4.19"
24 |
25 | base64-js@^1.0.2:
26 | version "1.3.1"
27 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1"
28 | integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==
29 |
30 | buffer-from@^1.0.0:
31 | version "1.1.1"
32 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
33 | integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==
34 |
35 | buffer@4.9.1:
36 | version "4.9.1"
37 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298"
38 | integrity sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=
39 | dependencies:
40 | base64-js "^1.0.2"
41 | ieee754 "^1.1.4"
42 | isarray "^1.0.0"
43 |
44 | events@1.1.1:
45 | version "1.1.1"
46 | resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924"
47 | integrity sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=
48 |
49 | ieee754@1.1.13, ieee754@^1.1.4:
50 | version "1.1.13"
51 | resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84"
52 | integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==
53 |
54 | isarray@^1.0.0:
55 | version "1.0.0"
56 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
57 | integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
58 |
59 | jmespath@0.15.0:
60 | version "0.15.0"
61 | resolved "https://registry.yarnpkg.com/jmespath/-/jmespath-0.15.0.tgz#a3f222a9aae9f966f5d27c796510e28091764217"
62 | integrity sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc=
63 |
64 | punycode@1.3.2:
65 | version "1.3.2"
66 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d"
67 | integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=
68 |
69 | querystring@0.2.0:
70 | version "0.2.0"
71 | resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620"
72 | integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=
73 |
74 | sax@1.2.1:
75 | version "1.2.1"
76 | resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a"
77 | integrity sha1-e45lYZCyKOgaZq6nSEgNgozS03o=
78 |
79 | sax@>=0.6.0:
80 | version "1.2.4"
81 | resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
82 | integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
83 |
84 | source-map-support@0.5.16:
85 | version "0.5.16"
86 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.16.tgz#0ae069e7fe3ba7538c64c98515e35339eac5a042"
87 | integrity sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==
88 | dependencies:
89 | buffer-from "^1.0.0"
90 | source-map "^0.6.0"
91 |
92 | source-map@^0.6.0:
93 | version "0.6.1"
94 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
95 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
96 |
97 | typescript@3.6.4:
98 | version "3.6.4"
99 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.6.4.tgz#b18752bb3792bc1a0281335f7f6ebf1bbfc5b91d"
100 | integrity sha512-unoCll1+l+YK4i4F8f22TaNVPRHcD9PA3yCuZ8g5e0qGqlVlJ/8FSateOLLSagn+Yg5+ZwuPkL8LFUc0Jcvksg==
101 |
102 | url@0.10.3:
103 | version "0.10.3"
104 | resolved "https://registry.yarnpkg.com/url/-/url-0.10.3.tgz#021e4d9c7705f21bbf37d03ceb58767402774c64"
105 | integrity sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=
106 | dependencies:
107 | punycode "1.3.2"
108 | querystring "0.2.0"
109 |
110 | uuid@3.3.2:
111 | version "3.3.2"
112 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131"
113 | integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==
114 |
115 | xml2js@0.4.19:
116 | version "0.4.19"
117 | resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.19.tgz#686c20f213209e94abf0d1bcf1efaa291c7827a7"
118 | integrity sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==
119 | dependencies:
120 | sax ">=0.6.0"
121 | xmlbuilder "~9.0.1"
122 |
123 | xmlbuilder@~9.0.1:
124 | version "9.0.7"
125 | resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d"
126 | integrity sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=
127 |
--------------------------------------------------------------------------------
/bin/aws-web-performance-monitor.ts:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | import cdk = require('@aws-cdk/core');
3 |
4 | import CollectorStack from './collector/collector';
5 | import FrontendStack from './frontend/frontend';
6 | import { Construct, RemovalPolicy } from '@aws-cdk/core';
7 | import { Table, AttributeType, BillingMode } from '@aws-cdk/aws-dynamodb';
8 | import APIStack from './api/api';
9 |
10 | const region = process.env.REGION || 'us-east-1';
11 | const regions = process.env.COLLECTOR_REGIONS
12 | ? process.env.COLLECTOR_REGIONS.split(',')
13 | : ['us-east-1', 'ap-southeast-2', 'us-west-2', 'eu-central-1'];
14 | const cronPattern = process.env.CRON_PATTERN || 'rate(5 minutes)';
15 | const commonConfig = {
16 | env: {
17 | region,
18 | },
19 | };
20 |
21 | console.log(regions);
22 |
23 | class RootStack extends cdk.Stack {
24 | public readonly projectsTable: Table;
25 | public readonly metricsTable: Table;
26 |
27 | constructor(scope: Construct, id: string, props: cdk.StackProps) {
28 | super(scope, id, props);
29 |
30 | this.metricsTable = new Table(this, 'metricsTable', {
31 | partitionKey: { name: 'id', type: AttributeType.STRING },
32 | sortKey: { name: 'date', type: AttributeType.STRING },
33 | billingMode: BillingMode.PAY_PER_REQUEST,
34 | tableName: 'WebPerformanceMonitorMetrics',
35 | removalPolicy: RemovalPolicy.DESTROY,
36 | });
37 |
38 | this.projectsTable = new Table(this, 'projectsTable', {
39 | partitionKey: { name: 'id', type: AttributeType.STRING },
40 | billingMode: BillingMode.PAY_PER_REQUEST,
41 | tableName: 'WebPerformanceMonitorProjects',
42 | removalPolicy: RemovalPolicy.DESTROY,
43 | });
44 |
45 | const apiStack = new APIStack(this, 'perf-monitor-api', {
46 | ...commonConfig,
47 | projectsTableArn: this.projectsTable.tableArn,
48 | metricsTableArn: this.metricsTable.tableArn,
49 | });
50 | new FrontendStack(this, 'perf-monitor-frontend', {
51 | ...commonConfig,
52 | apiUrl: apiStack.api.url,
53 | });
54 |
55 | regions.forEach((reg: string) => {
56 | new CollectorStack(this, `perf-monitor-collector-${reg}`, {
57 | env: {
58 | region: reg,
59 | },
60 | baseRegion: region,
61 | cronPattern,
62 | projectsTableArn: this.projectsTable.tableArn,
63 | metricsTableArn: this.metricsTable.tableArn,
64 | });
65 | });
66 | }
67 | }
68 |
69 | const app = new cdk.App();
70 |
71 | new RootStack(app, 'perf-monitor', commonConfig);
72 |
73 | app.synth();
74 |
--------------------------------------------------------------------------------
/bin/collector/collector.ts:
--------------------------------------------------------------------------------
1 | import events = require("@aws-cdk/aws-events");
2 | import targets = require("@aws-cdk/aws-events-targets");
3 | import lambda = require("@aws-cdk/aws-lambda");
4 | import path = require("path");
5 | import { Effect, PolicyStatement } from "@aws-cdk/aws-iam";
6 | import { Construct, Stack, StackProps } from "@aws-cdk/core";
7 |
8 | interface CollectorStackProps extends StackProps {
9 | baseRegion: string;
10 | cronPattern: string;
11 | projectsTableArn: string;
12 | metricsTableArn: string;
13 | }
14 |
15 | class CollectorStack extends Stack {
16 | constructor(parent: Construct, name: string, props: CollectorStackProps) {
17 | super(parent, name, props);
18 |
19 | const func = new lambda.Function(this, `Collector`, {
20 | description: "Function collecting metrics",
21 | memorySize: 512,
22 | runtime: lambda.Runtime.NODEJS_10_X,
23 | handler: "index.handler",
24 | code: lambda.AssetCode.fromAsset(path.join(__dirname, "src")),
25 | environment: {
26 | PROJECTS_TABLE_ARN: props.projectsTableArn,
27 | METRICS_TABLE_ARN: props.metricsTableArn
28 | }
29 | });
30 |
31 | const rule = new events.Rule(this, "Rule", {
32 | schedule: events.Schedule.expression(props.cronPattern)
33 | });
34 |
35 | rule.addTarget(new targets.LambdaFunction(func));
36 |
37 | func.addToRolePolicy(
38 | new PolicyStatement({
39 | effect: Effect.ALLOW,
40 | actions: ["dynamodb:PutItem"],
41 | resources: [props.metricsTableArn]
42 | })
43 | );
44 | func.addToRolePolicy(
45 | new PolicyStatement({
46 | effect: Effect.ALLOW,
47 | actions: [
48 | "dynamodb:Query",
49 | "dynamodb:Scan",
50 | "dynamodb:PutItem",
51 | "dynamodb:UpdateItem",
52 | "dynamodb:GetItem"
53 | ],
54 | resources: [props.projectsTableArn]
55 | })
56 | );
57 | }
58 | }
59 |
60 | export default CollectorStack;
61 |
--------------------------------------------------------------------------------
/bin/collector/src/.gitignore:
--------------------------------------------------------------------------------
1 | layer
2 | lib
--------------------------------------------------------------------------------
/bin/collector/src/index.ts:
--------------------------------------------------------------------------------
1 | import { DynamoDB } from "aws-sdk";
2 | import { APIGatewayProxyHandler } from "aws-lambda";
3 | import * as request from "request-promise-native";
4 | import "source-map-support/register";
5 | import Project from "../../types/Project";
6 | import MetricsDatapoint from "../../types/MetricsDatapoint";
7 | import response from "./utils/lambdaResponse";
8 |
9 | const [, , , region, , resourceTypeId] = process.env.PROJECTS_TABLE_ARN!.split(
10 | ":"
11 | );
12 | const TableName = resourceTypeId.split("/")[1];
13 | const dynamoDB = new DynamoDB.DocumentClient({
14 | region
15 | });
16 |
17 | const getAllProjects = async (): Promise => {
18 | const { Items } = await dynamoDB
19 | .scan({
20 | TableName
21 | })
22 | .promise();
23 |
24 | return Items as Project[];
25 | };
26 |
27 | const insertMetrics = (metricsDatapoint: MetricsDatapoint) => {
28 | const [, , , , , resourceTypeId] = process.env.METRICS_TABLE_ARN!.split(":");
29 | const TableName = resourceTypeId.split("/")[1];
30 |
31 | return dynamoDB
32 | .put({
33 | TableName,
34 | Item: metricsDatapoint
35 | })
36 | .promise();
37 | };
38 |
39 | const updateAggregates = async (
40 | projectId: string,
41 | isHealthy: boolean,
42 | responseTime?: number
43 | ) => {
44 | const { Item: project } = await dynamoDB
45 | .get({
46 | Key: {
47 | id: projectId
48 | },
49 | TableName
50 | })
51 | .promise();
52 |
53 | const newResponseTime =
54 | (project!.stats.meanResponse * project!.stats.count +
55 | (responseTime || project!.stats.meanResponse)) /
56 | (project!.stats.count + 1);
57 |
58 | const UpdateExpression = isHealthy
59 | ? "ADD stats.uptime :inc, #statsCount :inc SET stats.meanResponse = :responseTime"
60 | : "ADD stats.downtime :inc, #statsCount :inc";
61 |
62 | return dynamoDB
63 | .update({
64 | Key: {
65 | id: projectId
66 | },
67 | TableName,
68 | ExpressionAttributeValues: {
69 | ":inc": 1,
70 | ":responseTime": newResponseTime
71 | },
72 | ExpressionAttributeNames: {
73 | "#statsCount": "stats.count"
74 | },
75 | UpdateExpression
76 | })
77 | .promise();
78 | };
79 |
80 | const processProject = async (project: Project) => {
81 | console.log(`[PROJECT_${project.id}], URL: ${project.endpoint}`);
82 |
83 | const healthMetric: MetricsDatapoint = {
84 | id: `${project.id}`,
85 | date: (+new Date()).toString(),
86 | region: process.env.AWS_REGION!,
87 | unit: "Reachable",
88 | metricName: "Health",
89 | value: 0
90 | };
91 |
92 | try {
93 | const response = await request({
94 | uri: project.endpoint,
95 | method: project.method.toUpperCase(),
96 | headers: project.headers,
97 | timeout: project.timeout,
98 | time: project.measureRequestDetails,
99 | resolveWithFullResponse: true
100 | }).promise();
101 | const data = typeof response === "string" ? JSON.parse(response) : response;
102 | const timings = {
103 | ...data.timings,
104 | ...data.timingPhases
105 | };
106 |
107 | healthMetric.value = 1;
108 |
109 | if (project.measureRequestDetails) {
110 | healthMetric.timings = timings;
111 | await updateAggregates(project.id, true, timings.total);
112 | }
113 | } catch (error) {
114 | console.log(`[PROJECT_${project.id}] Error!`);
115 | console.error(error);
116 | healthMetric.value = 0;
117 |
118 | await updateAggregates(project.id, false);
119 | }
120 |
121 | if (project.measureLighthouseDetails) {
122 | console.log(
123 | `[PROJECT_${project.id}] Running Lightouse test, URL: ${project.endpoint}`
124 | );
125 | // to be added
126 | }
127 |
128 | return insertMetrics(healthMetric);
129 | };
130 |
131 | export const handler: APIGatewayProxyHandler = async (_, _context) => {
132 | const projects = await getAllProjects();
133 |
134 | await Promise.all(projects.map(project => processProject(project)));
135 |
136 | return response({ projects });
137 | };
138 |
--------------------------------------------------------------------------------
/bin/collector/src/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "aws-web-performance-monitor-collector",
3 | "version": "0.1.0",
4 | "main": "index.js",
5 | "scripts": {
6 | "build": "tsc"
7 | },
8 | "dependencies": {
9 | "puppeteer": "1.20.0",
10 | "request": "2.88.0",
11 | "request-promise-native": "1.0.7",
12 | "source-map-support": "0.5.16"
13 | },
14 | "devDependencies": {
15 | "@types/aws-lambda": "8.10.33",
16 | "@types/puppeteer": "1.20.2",
17 | "@types/request": "2.48.3",
18 | "@types/request-promise-native": "1.0.17",
19 | "aws-sdk": "2.552.0",
20 | "typescript": "3.6.4"
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/bin/collector/src/utils/lambdaResponse.ts:
--------------------------------------------------------------------------------
1 | const response = (body: string | any, statusCode = 200) => ({
2 | statusCode,
3 | body: typeof body !== "string" ? JSON.stringify(body, null, 2) : body
4 | });
5 |
6 | export default response;
7 |
--------------------------------------------------------------------------------
/bin/collector/src/utils/uuid.ts:
--------------------------------------------------------------------------------
1 | export default () =>
2 | Math.random()
3 | .toString(36)
4 | .substring(2, 15) +
5 | Math.random()
6 | .toString(36)
7 | .substring(2, 15);
8 |
--------------------------------------------------------------------------------
/bin/collector/src/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@types/aws-lambda@8.10.33":
6 | version "8.10.33"
7 | resolved "https://registry.yarnpkg.com/@types/aws-lambda/-/aws-lambda-8.10.33.tgz#64ad8f2e785e5c2cf86dc2d596c9a0b2e2e14ab5"
8 | integrity sha512-BZ8lPY/vyUq+Bid/BgYrKbUF36SZYuGOAMgOq/VgqnTQnCn9GBo3HejKZ6xrUzA8zLf9Pjs707amkt4f7rWujw==
9 |
10 | "@types/caseless@*":
11 | version "0.12.2"
12 | resolved "https://registry.yarnpkg.com/@types/caseless/-/caseless-0.12.2.tgz#f65d3d6389e01eeb458bd54dc8f52b95a9463bc8"
13 | integrity sha512-6ckxMjBBD8URvjB6J3NcnuAn5Pkl7t3TizAg+xdlzzQGSPSmBcXf8KoIH0ua/i+tio+ZRUHEXp0HEmvaR4kt0w==
14 |
15 | "@types/node@*":
16 | version "12.12.1"
17 | resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.1.tgz#47d295109420cfd3381bdd7e4292976659bb9de8"
18 | integrity sha512-m6VgTAkmFCu/uSgAvm4zta1nxMU9U02BFZY36FILD4R/fdRXM7v0EHY3BAg+MCgDmDTIUDj2986G+rMPi49+SQ==
19 |
20 | "@types/puppeteer@1.20.2":
21 | version "1.20.2"
22 | resolved "https://registry.yarnpkg.com/@types/puppeteer/-/puppeteer-1.20.2.tgz#b123551fa868b78f1c65ef1cfc0dd5ea1f24234c"
23 | integrity sha512-oSFCtftHSfVx8K9XPdNNYs79Zt4pYJs/0NP78ltuGCB25zS3UNGJSiypBfbhbvRC5Dcsh0k1R5Z0i8HHtqQUPQ==
24 | dependencies:
25 | "@types/node" "*"
26 |
27 | "@types/request-promise-native@^1.0.17":
28 | version "1.0.17"
29 | resolved "https://registry.yarnpkg.com/@types/request-promise-native/-/request-promise-native-1.0.17.tgz#74a2d7269aebf18b9bdf35f01459cf0a7bfc7fab"
30 | integrity sha512-05/d0WbmuwjtGMYEdHIBZ0tqMJJQ2AD9LG2F6rKNBGX1SSFR27XveajH//2N/XYtual8T9Axwl+4v7oBtPUZqg==
31 | dependencies:
32 | "@types/request" "*"
33 |
34 | "@types/request@*", "@types/request@2.48.3":
35 | version "2.48.3"
36 | resolved "https://registry.yarnpkg.com/@types/request/-/request-2.48.3.tgz#970b8ed2317568c390361d29c555a95e74bd6135"
37 | integrity sha512-3Wo2jNYwqgXcIz/rrq18AdOZUQB8cQ34CXZo+LUwPJNpvRAL86+Kc2wwI8mqpz9Cr1V+enIox5v+WZhy/p3h8w==
38 | dependencies:
39 | "@types/caseless" "*"
40 | "@types/node" "*"
41 | "@types/tough-cookie" "*"
42 | form-data "^2.5.0"
43 |
44 | "@types/tough-cookie@*":
45 | version "2.3.5"
46 | resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-2.3.5.tgz#9da44ed75571999b65c37b60c9b2b88db54c585d"
47 | integrity sha512-SCcK7mvGi3+ZNz833RRjFIxrn4gI1PPR3NtuIS+6vMkvmsGjosqTJwRt5bAEFLRz+wtJMWv8+uOnZf2hi2QXTg==
48 |
49 | agent-base@^4.3.0:
50 | version "4.3.0"
51 | resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.3.0.tgz#8165f01c436009bccad0b1d122f05ed770efc6ee"
52 | integrity sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==
53 | dependencies:
54 | es6-promisify "^5.0.0"
55 |
56 | ajv@^6.5.5:
57 | version "6.10.2"
58 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52"
59 | integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==
60 | dependencies:
61 | fast-deep-equal "^2.0.1"
62 | fast-json-stable-stringify "^2.0.0"
63 | json-schema-traverse "^0.4.1"
64 | uri-js "^4.2.2"
65 |
66 | asn1@~0.2.3:
67 | version "0.2.4"
68 | resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136"
69 | integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==
70 | dependencies:
71 | safer-buffer "~2.1.0"
72 |
73 | assert-plus@1.0.0, assert-plus@^1.0.0:
74 | version "1.0.0"
75 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
76 | integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=
77 |
78 | async-limiter@~1.0.0:
79 | version "1.0.1"
80 | resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd"
81 | integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==
82 |
83 | asynckit@^0.4.0:
84 | version "0.4.0"
85 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
86 | integrity sha1-x57Zf380y48robyXkLzDZkdLS3k=
87 |
88 | aws-sdk@2.552.0:
89 | version "2.552.0"
90 | resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.552.0.tgz#4b45b0a60b3728dbd111edd76445cf61661eb076"
91 | integrity sha512-GLZpKIX0BOQK8JEjFcJElnroLmUxnWUfHzRJwxVajH9S0tmBPsDYH5QLIb+Lg6wWq4sBAopgE+WOtAeb8/rcLw==
92 | dependencies:
93 | buffer "4.9.1"
94 | events "1.1.1"
95 | ieee754 "1.1.13"
96 | jmespath "0.15.0"
97 | querystring "0.2.0"
98 | sax "1.2.1"
99 | url "0.10.3"
100 | uuid "3.3.2"
101 | xml2js "0.4.19"
102 |
103 | aws-sign2@~0.7.0:
104 | version "0.7.0"
105 | resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
106 | integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=
107 |
108 | aws4@^1.8.0:
109 | version "1.8.0"
110 | resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f"
111 | integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==
112 |
113 | balanced-match@^1.0.0:
114 | version "1.0.0"
115 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
116 | integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
117 |
118 | base64-js@^1.0.2:
119 | version "1.3.1"
120 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1"
121 | integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==
122 |
123 | bcrypt-pbkdf@^1.0.0:
124 | version "1.0.2"
125 | resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"
126 | integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=
127 | dependencies:
128 | tweetnacl "^0.14.3"
129 |
130 | brace-expansion@^1.1.7:
131 | version "1.1.11"
132 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
133 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
134 | dependencies:
135 | balanced-match "^1.0.0"
136 | concat-map "0.0.1"
137 |
138 | buffer-from@^1.0.0:
139 | version "1.1.1"
140 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
141 | integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==
142 |
143 | buffer@4.9.1:
144 | version "4.9.1"
145 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298"
146 | integrity sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=
147 | dependencies:
148 | base64-js "^1.0.2"
149 | ieee754 "^1.1.4"
150 | isarray "^1.0.0"
151 |
152 | caseless@~0.12.0:
153 | version "0.12.0"
154 | resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
155 | integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=
156 |
157 | combined-stream@^1.0.6, combined-stream@~1.0.6:
158 | version "1.0.8"
159 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
160 | integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
161 | dependencies:
162 | delayed-stream "~1.0.0"
163 |
164 | concat-map@0.0.1:
165 | version "0.0.1"
166 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
167 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
168 |
169 | concat-stream@1.6.2:
170 | version "1.6.2"
171 | resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
172 | integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==
173 | dependencies:
174 | buffer-from "^1.0.0"
175 | inherits "^2.0.3"
176 | readable-stream "^2.2.2"
177 | typedarray "^0.0.6"
178 |
179 | core-util-is@1.0.2, core-util-is@~1.0.0:
180 | version "1.0.2"
181 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
182 | integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
183 |
184 | dashdash@^1.12.0:
185 | version "1.14.1"
186 | resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
187 | integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=
188 | dependencies:
189 | assert-plus "^1.0.0"
190 |
191 | debug@2.6.9:
192 | version "2.6.9"
193 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
194 | integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
195 | dependencies:
196 | ms "2.0.0"
197 |
198 | debug@^3.1.0:
199 | version "3.2.6"
200 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b"
201 | integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==
202 | dependencies:
203 | ms "^2.1.1"
204 |
205 | debug@^4.1.0:
206 | version "4.1.1"
207 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
208 | integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==
209 | dependencies:
210 | ms "^2.1.1"
211 |
212 | delayed-stream@~1.0.0:
213 | version "1.0.0"
214 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
215 | integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk=
216 |
217 | ecc-jsbn@~0.1.1:
218 | version "0.1.2"
219 | resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9"
220 | integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=
221 | dependencies:
222 | jsbn "~0.1.0"
223 | safer-buffer "^2.1.0"
224 |
225 | es6-promise@^4.0.3:
226 | version "4.2.8"
227 | resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a"
228 | integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==
229 |
230 | es6-promisify@^5.0.0:
231 | version "5.0.0"
232 | resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203"
233 | integrity sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=
234 | dependencies:
235 | es6-promise "^4.0.3"
236 |
237 | events@1.1.1:
238 | version "1.1.1"
239 | resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924"
240 | integrity sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=
241 |
242 | extend@~3.0.2:
243 | version "3.0.2"
244 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
245 | integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
246 |
247 | extract-zip@^1.6.6:
248 | version "1.6.7"
249 | resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.6.7.tgz#a840b4b8af6403264c8db57f4f1a74333ef81fe9"
250 | integrity sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=
251 | dependencies:
252 | concat-stream "1.6.2"
253 | debug "2.6.9"
254 | mkdirp "0.5.1"
255 | yauzl "2.4.1"
256 |
257 | extsprintf@1.3.0:
258 | version "1.3.0"
259 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
260 | integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=
261 |
262 | extsprintf@^1.2.0:
263 | version "1.4.0"
264 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f"
265 | integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=
266 |
267 | fast-deep-equal@^2.0.1:
268 | version "2.0.1"
269 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49"
270 | integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=
271 |
272 | fast-json-stable-stringify@^2.0.0:
273 | version "2.0.0"
274 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
275 | integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I=
276 |
277 | fd-slicer@~1.0.1:
278 | version "1.0.1"
279 | resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.0.1.tgz#8b5bcbd9ec327c5041bf9ab023fd6750f1177e65"
280 | integrity sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=
281 | dependencies:
282 | pend "~1.2.0"
283 |
284 | forever-agent@~0.6.1:
285 | version "0.6.1"
286 | resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
287 | integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=
288 |
289 | form-data@^2.5.0:
290 | version "2.5.1"
291 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.5.1.tgz#f2cbec57b5e59e23716e128fe44d4e5dd23895f4"
292 | integrity sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==
293 | dependencies:
294 | asynckit "^0.4.0"
295 | combined-stream "^1.0.6"
296 | mime-types "^2.1.12"
297 |
298 | form-data@~2.3.2:
299 | version "2.3.3"
300 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6"
301 | integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==
302 | dependencies:
303 | asynckit "^0.4.0"
304 | combined-stream "^1.0.6"
305 | mime-types "^2.1.12"
306 |
307 | fs.realpath@^1.0.0:
308 | version "1.0.0"
309 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
310 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
311 |
312 | getpass@^0.1.1:
313 | version "0.1.7"
314 | resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
315 | integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=
316 | dependencies:
317 | assert-plus "^1.0.0"
318 |
319 | glob@^7.1.3:
320 | version "7.1.5"
321 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.5.tgz#6714c69bee20f3c3e64c4dd905553e532b40cdc0"
322 | integrity sha512-J9dlskqUXK1OeTOYBEn5s8aMukWMwWfs+rPTn/jn50Ux4MNXVhubL1wu/j2t+H4NVI+cXEcCaYellqaPVGXNqQ==
323 | dependencies:
324 | fs.realpath "^1.0.0"
325 | inflight "^1.0.4"
326 | inherits "2"
327 | minimatch "^3.0.4"
328 | once "^1.3.0"
329 | path-is-absolute "^1.0.0"
330 |
331 | har-schema@^2.0.0:
332 | version "2.0.0"
333 | resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
334 | integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=
335 |
336 | har-validator@~5.1.0:
337 | version "5.1.3"
338 | resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080"
339 | integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==
340 | dependencies:
341 | ajv "^6.5.5"
342 | har-schema "^2.0.0"
343 |
344 | http-signature@~1.2.0:
345 | version "1.2.0"
346 | resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1"
347 | integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=
348 | dependencies:
349 | assert-plus "^1.0.0"
350 | jsprim "^1.2.2"
351 | sshpk "^1.7.0"
352 |
353 | https-proxy-agent@^2.2.1:
354 | version "2.2.4"
355 | resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz#4ee7a737abd92678a293d9b34a1af4d0d08c787b"
356 | integrity sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==
357 | dependencies:
358 | agent-base "^4.3.0"
359 | debug "^3.1.0"
360 |
361 | ieee754@1.1.13, ieee754@^1.1.4:
362 | version "1.1.13"
363 | resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84"
364 | integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==
365 |
366 | inflight@^1.0.4:
367 | version "1.0.6"
368 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
369 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
370 | dependencies:
371 | once "^1.3.0"
372 | wrappy "1"
373 |
374 | inherits@2, inherits@^2.0.3, inherits@~2.0.3:
375 | version "2.0.4"
376 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
377 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
378 |
379 | is-typedarray@~1.0.0:
380 | version "1.0.0"
381 | resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
382 | integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=
383 |
384 | isarray@^1.0.0, isarray@~1.0.0:
385 | version "1.0.0"
386 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
387 | integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
388 |
389 | isstream@~0.1.2:
390 | version "0.1.2"
391 | resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
392 | integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=
393 |
394 | jmespath@0.15.0:
395 | version "0.15.0"
396 | resolved "https://registry.yarnpkg.com/jmespath/-/jmespath-0.15.0.tgz#a3f222a9aae9f966f5d27c796510e28091764217"
397 | integrity sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc=
398 |
399 | jsbn@~0.1.0:
400 | version "0.1.1"
401 | resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
402 | integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM=
403 |
404 | json-schema-traverse@^0.4.1:
405 | version "0.4.1"
406 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
407 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
408 |
409 | json-schema@0.2.3:
410 | version "0.2.3"
411 | resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
412 | integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=
413 |
414 | json-stringify-safe@~5.0.1:
415 | version "5.0.1"
416 | resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
417 | integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=
418 |
419 | jsprim@^1.2.2:
420 | version "1.4.1"
421 | resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"
422 | integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=
423 | dependencies:
424 | assert-plus "1.0.0"
425 | extsprintf "1.3.0"
426 | json-schema "0.2.3"
427 | verror "1.10.0"
428 |
429 | lodash@^4.17.11:
430 | version "4.17.15"
431 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
432 | integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==
433 |
434 | mime-db@1.40.0:
435 | version "1.40.0"
436 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz#a65057e998db090f732a68f6c276d387d4126c32"
437 | integrity sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==
438 |
439 | mime-types@^2.1.12, mime-types@~2.1.19:
440 | version "2.1.24"
441 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81"
442 | integrity sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==
443 | dependencies:
444 | mime-db "1.40.0"
445 |
446 | mime@^2.0.3:
447 | version "2.4.4"
448 | resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.4.tgz#bd7b91135fc6b01cde3e9bae33d659b63d8857e5"
449 | integrity sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==
450 |
451 | minimatch@^3.0.4:
452 | version "3.0.4"
453 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
454 | integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
455 | dependencies:
456 | brace-expansion "^1.1.7"
457 |
458 | minimist@0.0.8:
459 | version "0.0.8"
460 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
461 | integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=
462 |
463 | mkdirp@0.5.1:
464 | version "0.5.1"
465 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
466 | integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=
467 | dependencies:
468 | minimist "0.0.8"
469 |
470 | ms@2.0.0:
471 | version "2.0.0"
472 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
473 | integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
474 |
475 | ms@^2.1.1:
476 | version "2.1.2"
477 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
478 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
479 |
480 | oauth-sign@~0.9.0:
481 | version "0.9.0"
482 | resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455"
483 | integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==
484 |
485 | once@^1.3.0:
486 | version "1.4.0"
487 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
488 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
489 | dependencies:
490 | wrappy "1"
491 |
492 | path-is-absolute@^1.0.0:
493 | version "1.0.1"
494 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
495 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
496 |
497 | pend@~1.2.0:
498 | version "1.2.0"
499 | resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50"
500 | integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA=
501 |
502 | performance-now@^2.1.0:
503 | version "2.1.0"
504 | resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
505 | integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=
506 |
507 | process-nextick-args@~2.0.0:
508 | version "2.0.1"
509 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
510 | integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
511 |
512 | progress@^2.0.1:
513 | version "2.0.3"
514 | resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
515 | integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
516 |
517 | proxy-from-env@^1.0.0:
518 | version "1.0.0"
519 | resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.0.0.tgz#33c50398f70ea7eb96d21f7b817630a55791c7ee"
520 | integrity sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4=
521 |
522 | psl@^1.1.24, psl@^1.1.28:
523 | version "1.4.0"
524 | resolved "https://registry.yarnpkg.com/psl/-/psl-1.4.0.tgz#5dd26156cdb69fa1fdb8ab1991667d3f80ced7c2"
525 | integrity sha512-HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw==
526 |
527 | punycode@1.3.2:
528 | version "1.3.2"
529 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d"
530 | integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=
531 |
532 | punycode@^1.4.1:
533 | version "1.4.1"
534 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
535 | integrity sha1-wNWmOycYgArY4esPpSachN1BhF4=
536 |
537 | punycode@^2.1.0, punycode@^2.1.1:
538 | version "2.1.1"
539 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
540 | integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
541 |
542 | puppeteer@1.20.0:
543 | version "1.20.0"
544 | resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-1.20.0.tgz#e3d267786f74e1d87cf2d15acc59177f471bbe38"
545 | integrity sha512-bt48RDBy2eIwZPrkgbcwHtb51mj2nKvHOPMaSH2IsWiv7lOG9k9zhaRzpDZafrk05ajMc3cu+lSQYYOfH2DkVQ==
546 | dependencies:
547 | debug "^4.1.0"
548 | extract-zip "^1.6.6"
549 | https-proxy-agent "^2.2.1"
550 | mime "^2.0.3"
551 | progress "^2.0.1"
552 | proxy-from-env "^1.0.0"
553 | rimraf "^2.6.1"
554 | ws "^6.1.0"
555 |
556 | qs@~6.5.2:
557 | version "6.5.2"
558 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
559 | integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==
560 |
561 | querystring@0.2.0:
562 | version "0.2.0"
563 | resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620"
564 | integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=
565 |
566 | readable-stream@^2.2.2:
567 | version "2.3.6"
568 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf"
569 | integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==
570 | dependencies:
571 | core-util-is "~1.0.0"
572 | inherits "~2.0.3"
573 | isarray "~1.0.0"
574 | process-nextick-args "~2.0.0"
575 | safe-buffer "~5.1.1"
576 | string_decoder "~1.1.1"
577 | util-deprecate "~1.0.1"
578 |
579 | request-promise-core@1.1.2:
580 | version "1.1.2"
581 | resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.2.tgz#339f6aababcafdb31c799ff158700336301d3346"
582 | integrity sha512-UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==
583 | dependencies:
584 | lodash "^4.17.11"
585 |
586 | request-promise-native@^1.0.7:
587 | version "1.0.7"
588 | resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.7.tgz#a49868a624bdea5069f1251d0a836e0d89aa2c59"
589 | integrity sha512-rIMnbBdgNViL37nZ1b3L/VfPOpSi0TqVDQPAvO6U14lMzOLrt5nilxCQqtDKhZeDiW0/hkCXGoQjhgJd/tCh6w==
590 | dependencies:
591 | request-promise-core "1.1.2"
592 | stealthy-require "^1.1.1"
593 | tough-cookie "^2.3.3"
594 |
595 | request@2.88.0:
596 | version "2.88.0"
597 | resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef"
598 | integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==
599 | dependencies:
600 | aws-sign2 "~0.7.0"
601 | aws4 "^1.8.0"
602 | caseless "~0.12.0"
603 | combined-stream "~1.0.6"
604 | extend "~3.0.2"
605 | forever-agent "~0.6.1"
606 | form-data "~2.3.2"
607 | har-validator "~5.1.0"
608 | http-signature "~1.2.0"
609 | is-typedarray "~1.0.0"
610 | isstream "~0.1.2"
611 | json-stringify-safe "~5.0.1"
612 | mime-types "~2.1.19"
613 | oauth-sign "~0.9.0"
614 | performance-now "^2.1.0"
615 | qs "~6.5.2"
616 | safe-buffer "^5.1.2"
617 | tough-cookie "~2.4.3"
618 | tunnel-agent "^0.6.0"
619 | uuid "^3.3.2"
620 |
621 | rimraf@^2.6.1:
622 | version "2.7.1"
623 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec"
624 | integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==
625 | dependencies:
626 | glob "^7.1.3"
627 |
628 | safe-buffer@^5.0.1, safe-buffer@^5.1.2:
629 | version "5.2.0"
630 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519"
631 | integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==
632 |
633 | safe-buffer@~5.1.0, safe-buffer@~5.1.1:
634 | version "5.1.2"
635 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
636 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
637 |
638 | safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0:
639 | version "2.1.2"
640 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
641 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
642 |
643 | sax@1.2.1:
644 | version "1.2.1"
645 | resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a"
646 | integrity sha1-e45lYZCyKOgaZq6nSEgNgozS03o=
647 |
648 | sax@>=0.6.0:
649 | version "1.2.4"
650 | resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
651 | integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
652 |
653 | source-map-support@0.5.16:
654 | version "0.5.16"
655 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.16.tgz#0ae069e7fe3ba7538c64c98515e35339eac5a042"
656 | integrity sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==
657 | dependencies:
658 | buffer-from "^1.0.0"
659 | source-map "^0.6.0"
660 |
661 | source-map@^0.6.0:
662 | version "0.6.1"
663 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
664 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
665 |
666 | sshpk@^1.7.0:
667 | version "1.16.1"
668 | resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877"
669 | integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==
670 | dependencies:
671 | asn1 "~0.2.3"
672 | assert-plus "^1.0.0"
673 | bcrypt-pbkdf "^1.0.0"
674 | dashdash "^1.12.0"
675 | ecc-jsbn "~0.1.1"
676 | getpass "^0.1.1"
677 | jsbn "~0.1.0"
678 | safer-buffer "^2.0.2"
679 | tweetnacl "~0.14.0"
680 |
681 | stealthy-require@^1.1.1:
682 | version "1.1.1"
683 | resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b"
684 | integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=
685 |
686 | string_decoder@~1.1.1:
687 | version "1.1.1"
688 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
689 | integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
690 | dependencies:
691 | safe-buffer "~5.1.0"
692 |
693 | tough-cookie@^2.3.3:
694 | version "2.5.0"
695 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
696 | integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==
697 | dependencies:
698 | psl "^1.1.28"
699 | punycode "^2.1.1"
700 |
701 | tough-cookie@~2.4.3:
702 | version "2.4.3"
703 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781"
704 | integrity sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==
705 | dependencies:
706 | psl "^1.1.24"
707 | punycode "^1.4.1"
708 |
709 | tunnel-agent@^0.6.0:
710 | version "0.6.0"
711 | resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
712 | integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=
713 | dependencies:
714 | safe-buffer "^5.0.1"
715 |
716 | tweetnacl@^0.14.3, tweetnacl@~0.14.0:
717 | version "0.14.5"
718 | resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
719 | integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=
720 |
721 | typedarray@^0.0.6:
722 | version "0.0.6"
723 | resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
724 | integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
725 |
726 | typescript@3.6.4:
727 | version "3.6.4"
728 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.6.4.tgz#b18752bb3792bc1a0281335f7f6ebf1bbfc5b91d"
729 | integrity sha512-unoCll1+l+YK4i4F8f22TaNVPRHcD9PA3yCuZ8g5e0qGqlVlJ/8FSateOLLSagn+Yg5+ZwuPkL8LFUc0Jcvksg==
730 |
731 | uri-js@^4.2.2:
732 | version "4.2.2"
733 | resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0"
734 | integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==
735 | dependencies:
736 | punycode "^2.1.0"
737 |
738 | url@0.10.3:
739 | version "0.10.3"
740 | resolved "https://registry.yarnpkg.com/url/-/url-0.10.3.tgz#021e4d9c7705f21bbf37d03ceb58767402774c64"
741 | integrity sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=
742 | dependencies:
743 | punycode "1.3.2"
744 | querystring "0.2.0"
745 |
746 | util-deprecate@~1.0.1:
747 | version "1.0.2"
748 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
749 | integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
750 |
751 | uuid@3.3.2:
752 | version "3.3.2"
753 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131"
754 | integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==
755 |
756 | uuid@^3.3.2:
757 | version "3.3.3"
758 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866"
759 | integrity sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==
760 |
761 | verror@1.10.0:
762 | version "1.10.0"
763 | resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
764 | integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=
765 | dependencies:
766 | assert-plus "^1.0.0"
767 | core-util-is "1.0.2"
768 | extsprintf "^1.2.0"
769 |
770 | wrappy@1:
771 | version "1.0.2"
772 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
773 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
774 |
775 | ws@^6.1.0:
776 | version "6.2.1"
777 | resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb"
778 | integrity sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==
779 | dependencies:
780 | async-limiter "~1.0.0"
781 |
782 | xml2js@0.4.19:
783 | version "0.4.19"
784 | resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.19.tgz#686c20f213209e94abf0d1bcf1efaa291c7827a7"
785 | integrity sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==
786 | dependencies:
787 | sax ">=0.6.0"
788 | xmlbuilder "~9.0.1"
789 |
790 | xmlbuilder@~9.0.1:
791 | version "9.0.7"
792 | resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d"
793 | integrity sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=
794 |
795 | yauzl@2.4.1:
796 | version "2.4.1"
797 | resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.4.1.tgz#9528f442dab1b2284e58b4379bb194e22e0c4005"
798 | integrity sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=
799 | dependencies:
800 | fd-slicer "~1.0.1"
801 |
--------------------------------------------------------------------------------
/bin/frontend/frontend.ts:
--------------------------------------------------------------------------------
1 | import s3 = require('@aws-cdk/aws-s3');
2 | import { join } from 'path';
3 | import { writeFileSync } from 'fs';
4 | import { BucketDeployment, Source } from '@aws-cdk/aws-s3-deployment';
5 | import cloudfront = require('@aws-cdk/aws-cloudfront');
6 | import { Construct, RemovalPolicy, CfnOutput } from '@aws-cdk/core';
7 |
8 | interface FrontendStackProps {
9 | apiUrl: string;
10 | }
11 |
12 | class FrontendStack extends Construct {
13 | constructor(parent: Construct, name: string, { apiUrl }: FrontendStackProps) {
14 | super(parent, name);
15 |
16 | writeFileSync(
17 | join(__dirname, '..', '..', 'frontend', 'build', 'api.json'),
18 | `{ apiUrl: ${apiUrl}}`,
19 | 'utf8',
20 | );
21 |
22 | const bucket = new s3.Bucket(this, 'FrontendBucket', {
23 | websiteIndexDocument: 'index.html',
24 | websiteErrorDocument: 'index.html',
25 | publicReadAccess: true,
26 | removalPolicy: RemovalPolicy.DESTROY,
27 | });
28 |
29 | new BucketDeployment(this, 'BucketDeployment', {
30 | destinationBucket: bucket,
31 | sources: [Source.asset('./frontend/build')],
32 | destinationKeyPrefix: '/',
33 | });
34 |
35 | const cdn = new cloudfront.CloudFrontWebDistribution(this, 'Distribution', {
36 | originConfigs: [
37 | {
38 | s3OriginSource: {
39 | s3BucketSource: bucket,
40 | },
41 | behaviors: [{ isDefaultBehavior: true }],
42 | },
43 | ],
44 | });
45 |
46 | new CfnOutput(this, 'cfn-distribution', {
47 | value: cdn.domainName,
48 | });
49 | }
50 | }
51 |
52 | export default FrontendStack;
53 |
--------------------------------------------------------------------------------
/bin/types/MetricsDatapoint.ts:
--------------------------------------------------------------------------------
1 | interface NumMap {
2 | [key: string]: number;
3 | }
4 |
5 | export default interface MetricsDatapoint {
6 | id: string;
7 | date: string;
8 | region: string;
9 | value: number;
10 | metricName: string;
11 | unit: string;
12 | timings?: NumMap;
13 | }
14 |
--------------------------------------------------------------------------------
/bin/types/Project.ts:
--------------------------------------------------------------------------------
1 | interface StringMap {
2 | [key: string]: string;
3 | }
4 |
5 | export default interface Project {
6 | id: string;
7 | endpoint: string;
8 | name: string;
9 | measureRequestDetails: boolean;
10 | measureLighthouseDetails: boolean;
11 | headers: StringMap;
12 | timeout: number; // in MS
13 | method: 'get' | 'post';
14 |
15 | stats: {
16 | uptime: number;
17 | downtime: number;
18 | meanResponse: number;
19 | count: number;
20 | };
21 | }
22 |
--------------------------------------------------------------------------------
/cdk.json:
--------------------------------------------------------------------------------
1 | {
2 | "app": "node bin/aws-web-performance-monitor.js"
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 | # production
12 | /build
13 |
14 | # misc
15 | .DS_Store
16 | .env.local
17 | .env.development.local
18 | .env.test.local
19 | .env.production.local
20 |
21 | npm-debug.log*
22 | yarn-debug.log*
23 | yarn-error.log*
24 |
--------------------------------------------------------------------------------
/frontend/README.md:
--------------------------------------------------------------------------------
1 | This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).
2 |
3 | ## Available Scripts
4 |
5 | In the project directory, you can run:
6 |
7 | ### `npm start`
8 |
9 | Runs the app in the development mode.
10 | Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
11 |
12 | The page will reload if you make edits.
13 | You will also see any lint errors in the console.
14 |
15 | ### `npm test`
16 |
17 | Launches the test runner in the interactive watch mode.
18 | See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information.
19 |
20 | ### `npm run build`
21 |
22 | Builds the app for production to the `build` folder.
23 | It correctly bundles React in production mode and optimizes the build for the best performance.
24 |
25 | The build is minified and the filenames include the hashes.
26 | Your app is ready to be deployed!
27 |
28 | See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information.
29 |
30 | ### `npm run eject`
31 |
32 | **Note: this is a one-way operation. Once you `eject`, you can’t go back!**
33 |
34 | If you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project.
35 |
36 | Instead, it will copy all the configuration files and the transitive dependencies (Webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own.
37 |
38 | You don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it.
39 |
40 | ## Learn More
41 |
42 | You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started).
43 |
44 | To learn React, check out the [React documentation](https://reactjs.org/).
45 |
--------------------------------------------------------------------------------
/frontend/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "frontend",
3 | "version": "0.1.0",
4 | "private": true,
5 | "dependencies": {
6 | "@rebass/forms": "^4.0.6",
7 | "@types/jest": "24.0.21",
8 | "@types/node": "12.12.1",
9 | "@types/react": "16.9.11",
10 | "@types/react-dom": "16.9.3",
11 | "color-convert": "2.0.1",
12 | "d3-array": "^2.4.0",
13 | "lodash": "4.17.15",
14 | "react": "16.11.0",
15 | "react-dom": "16.11.0",
16 | "react-scripts": "3.2.0",
17 | "react-spinners": "^0.6.1",
18 | "rebass": "4.0.7",
19 | "recharts": "1.8.5",
20 | "swr": "0.1.5",
21 | "typescript": "3.6.4"
22 | },
23 | "scripts": {
24 | "start": "react-scripts start",
25 | "build": "react-scripts build",
26 | "test": "react-scripts test",
27 | "eject": "react-scripts eject"
28 | },
29 | "eslintConfig": {
30 | "extends": "react-app"
31 | },
32 | "browserslist": {
33 | "production": [
34 | ">0.2%",
35 | "not dead",
36 | "not op_mini all"
37 | ],
38 | "development": [
39 | "last 1 chrome version",
40 | "last 1 firefox version",
41 | "last 1 safari version"
42 | ]
43 | },
44 | "devDependencies": {
45 | "@types/color-convert": "1.9.0",
46 | "@types/d3-array": "^2.0.0",
47 | "@types/lodash": "4.14.144",
48 | "@types/rebass": "4.0.3",
49 | "@types/recharts": "1.8.1"
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/frontend/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RafalWilinski/serverless-web-performance-monitor/cefe556cee35c1d982c651d8b4a12adcc317755c/frontend/public/favicon.ico
--------------------------------------------------------------------------------
/frontend/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 | Web Performance Monitor
13 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/frontend/public/logo192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RafalWilinski/serverless-web-performance-monitor/cefe556cee35c1d982c651d8b4a12adcc317755c/frontend/public/logo192.png
--------------------------------------------------------------------------------
/frontend/public/logo512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RafalWilinski/serverless-web-performance-monitor/cefe556cee35c1d982c651d8b4a12adcc317755c/frontend/public/logo512.png
--------------------------------------------------------------------------------
/frontend/public/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "short_name": "React App",
3 | "name": "Create React App Sample",
4 | "icons": [
5 | {
6 | "src": "favicon.ico",
7 | "sizes": "64x64 32x32 24x24 16x16",
8 | "type": "image/x-icon"
9 | },
10 | {
11 | "src": "logo192.png",
12 | "type": "image/png",
13 | "sizes": "192x192"
14 | },
15 | {
16 | "src": "logo512.png",
17 | "type": "image/png",
18 | "sizes": "512x512"
19 | }
20 | ],
21 | "start_url": ".",
22 | "display": "standalone",
23 | "theme_color": "#000000",
24 | "background_color": "#ffffff"
25 | }
26 |
--------------------------------------------------------------------------------
/frontend/public/robots.txt:
--------------------------------------------------------------------------------
1 | # https://www.robotstxt.org/robotstxt.html
2 | User-agent: *
3 |
--------------------------------------------------------------------------------
/frontend/src/App.tsx:
--------------------------------------------------------------------------------
1 | import React, { useState } from "react";
2 | import useSWR from "swr";
3 | import { BarLoader } from "react-spinners";
4 | import ProjectComponent from "./components/Project";
5 | import Project from "../../bin/types/Project";
6 | import ProjectDetails from "./components/ProjectDetails";
7 | import Footer from "./components/Footer";
8 |
9 | const apiUrl = "https://vyp8gdgq4c.execute-api.us-east-1.amazonaws.com/prod";
10 |
11 | const _fetch = (query: string) =>
12 | fetch(`${apiUrl}${query}`).then(res => res.json());
13 |
14 | const App: React.FC = () => {
15 | const [currentProjectId, setCurrentProjectId] = useState("0");
16 | const { data } = useSWR("/projects", _fetch);
17 | const { data: metricsData, error } = useSWR(
18 | () => `/metrics?id=${currentProjectId}`,
19 | _fetch
20 | );
21 |
22 | if (!data) {
23 | return (
24 |
25 |
26 |
27 | );
28 | }
29 |
30 | return (
31 |
37 | {data.projects.map((project: Project) => (
38 | <>
39 |
43 | setCurrentProjectId(
44 | currentProjectId === project.id ? "-1" : project.id
45 | )
46 | }
47 | />
48 | {project.id === currentProjectId && (
49 |
50 | )}
51 | >
52 | ))}
53 |
54 | );
55 | };
56 |
57 | export default App;
58 |
--------------------------------------------------------------------------------
/frontend/src/components/Charts/BreakdownChart.tsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import { BarChart, Bar, XAxis, YAxis, Tooltip, Legend } from "recharts";
3 | import Region from "../../types/Region";
4 |
5 | const bars = ["connect", "download", "firstByte"];
6 |
7 | interface BreakdownChartProps {
8 | region: Region;
9 | }
10 |
11 | const colors = ["#3683f7", "#af66de", "#f02ac5"];
12 |
13 | const BreakdownChart: React.FC = (
14 | props: BreakdownChartProps
15 | ) => {
16 | return (
17 |
28 |
29 |
30 |
31 |
32 | {bars.map((bar: string, index: number) => (
33 |
34 | ))}
35 |
36 | );
37 | };
38 |
39 | export default BreakdownChart;
40 |
--------------------------------------------------------------------------------
/frontend/src/components/Charts/HealthChart.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { LineChart, Line } from 'recharts';
3 | import Region from '../../types/Region';
4 |
5 | interface HealthChartProps {
6 | region: Region;
7 | }
8 |
9 | const HealthChart: React.FC = (props: HealthChartProps) => {
10 | return (
11 |
12 |
13 |
14 | );
15 | };
16 |
17 | export default HealthChart;
18 |
--------------------------------------------------------------------------------
/frontend/src/components/Charts/ResponseTimeDistribution.tsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import { BarChart, Bar, XAxis, YAxis, Tooltip, Legend } from "recharts";
3 | import Region from "../../types/Region";
4 |
5 | interface ResponseTimeDistributionChartProps {
6 | region: Region;
7 | }
8 |
9 | const ResponseTimeDistributionChart: React.FC = (
10 | props: ResponseTimeDistributionChartProps
11 | ) => {
12 | const histogram = props.region.histogram.map(bin => ({
13 | value: bin.length,
14 | name: (bin[bin.length - 1] || 0).toFixed(2)
15 | }));
16 |
17 | return (
18 |
19 |
20 |
21 |
22 |
23 |
24 | );
25 | };
26 |
27 | export default ResponseTimeDistributionChart;
28 |
--------------------------------------------------------------------------------
/frontend/src/components/Charts/TotalResponseTimeChart.tsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import { Line, XAxis, YAxis, Tooltip, LineChart } from "recharts";
3 | import Region from "../../types/Region";
4 |
5 | interface TotalResponseTimeChartProps {
6 | region: Region;
7 | }
8 |
9 | const TotalResponseTimeChart: React.FC = (
10 | props: TotalResponseTimeChartProps
11 | ) => {
12 | return (
13 |
24 |
25 |
26 |
27 |
35 |
36 | );
37 | };
38 |
39 | export default TotalResponseTimeChart;
40 |
--------------------------------------------------------------------------------
/frontend/src/components/Footer.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { Flex } from 'rebass';
3 |
4 | interface FooterProps {}
5 |
6 | const Footer: React.FC = (props: FooterProps) => {
7 | return (
8 |
14 |
15 | Made by Rafal Wilinski
16 |
17 |
18 | Servicefull
19 |
20 |
21 | );
22 | };
23 |
24 | export default Footer;
25 |
--------------------------------------------------------------------------------
/frontend/src/components/Project.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import Project from '../../../bin/types/Project';
3 | import { Text, Flex } from 'rebass';
4 |
5 | interface ProjectProps {
6 | project: Project;
7 | onClick: (e: any) => void;
8 | }
9 |
10 | const ProjectComponent: React.FC = (props: ProjectProps) => {
11 | return (
12 |
22 |
23 |
24 | {props.project.name || ''}
25 |
26 |
27 | {props.project.method.toUpperCase()} {props.project.endpoint}
28 |
29 |
30 |
31 |
32 | Uptime:{' '}
33 | {(
34 | (props.project.stats.uptime /
35 | (props.project.stats.uptime + props.project.stats.downtime)) *
36 | 100
37 | ).toFixed(2)}
38 | %
39 |
40 |
41 | Mean response time: {props.project.stats.meanResponse.toFixed(2)}ms
42 |
43 |
44 |
45 | );
46 | };
47 |
48 | export default ProjectComponent;
49 |
--------------------------------------------------------------------------------
/frontend/src/components/ProjectDetails.tsx:
--------------------------------------------------------------------------------
1 | import React, { useState } from "react";
2 | import { Text, Box, Flex } from "rebass";
3 | import { takeRight, groupBy } from "lodash";
4 | import * as d3 from "d3-array";
5 | import BreakdownChart from "./Charts/BreakdownChart";
6 | import { BarLoader } from "react-spinners";
7 | import TotalResponseTimeChart from "./Charts/TotalResponseTimeChart";
8 | import TimeRangePicker from "./TimeRangePicker";
9 | import timeRanges from "../consts/timeRanges";
10 | import everyNth from "../utils/everyNth";
11 | import ResponseTimeDistributionChart from "./Charts/ResponseTimeDistribution";
12 |
13 | interface ProjectDetailsProps {
14 | metricsData?: any;
15 | }
16 |
17 | const ProjectDetails: React.FC = ({
18 | metricsData
19 | }: ProjectDetailsProps) => {
20 | const [takeEveryCount, setTakeEvery] = useState(4);
21 | const [takeRightCount, setTakeRight] = useState(288);
22 |
23 | if (!metricsData) {
24 | return (
25 |
26 |
27 |
28 | );
29 | }
30 |
31 | const regionGrouppedMetrics = groupBy(metricsData.metrics, "region");
32 | const metricsPerRegion = Object.keys(regionGrouppedMetrics).map(
33 | regionName => {
34 | const responseTimes = takeRight(
35 | regionGrouppedMetrics[regionName].map(m => m.timings.total),
36 | takeRightCount
37 | );
38 | const max = d3.max(responseTimes);
39 | const min = d3.min(responseTimes);
40 | const genHistogram = d3
41 | .histogram()
42 | .domain([min, max])
43 | .thresholds(50);
44 | const histogram = genHistogram(responseTimes);
45 |
46 | return {
47 | name: regionName,
48 | timings: everyNth(
49 | takeRight(
50 | regionGrouppedMetrics[regionName].map((metric: any) => ({
51 | name: new Date(parseInt(metric.date)).toLocaleTimeString(),
52 | ...metric.timings
53 | })),
54 | takeRightCount
55 | ),
56 | takeEveryCount
57 | ),
58 | health: everyNth(
59 | takeRight(
60 | regionGrouppedMetrics[regionName].map((metric: any) => ({
61 | name: new Date(parseInt(metric.date)).toLocaleTimeString(),
62 | status: metric.value
63 | })),
64 | takeRightCount
65 | ),
66 | takeEveryCount
67 | ),
68 | histogram
69 | };
70 | }
71 | );
72 |
73 | const onRangeChange = (rangeName: string) => {
74 | const tr = timeRanges.find(timeRange => timeRange.name === rangeName);
75 |
76 | setTakeEvery(tr!.takeEvery);
77 | setTakeRight(tr!.takeRightCount);
78 | };
79 |
80 | return (
81 |
82 | {metricsPerRegion.map(region => (
83 |
84 |
89 |
90 | Region: {region.name}
91 |
92 | t.name)}
94 | onChange={onRangeChange}
95 | />
96 |
97 |
98 | Response Times distribution
99 |
100 |
101 |
102 | Response Times in time
103 |
104 |
105 |
106 | Request Breakdown
107 |
108 |
109 |
110 | ))}
111 |
112 | );
113 | };
114 |
115 | export default ProjectDetails;
116 |
--------------------------------------------------------------------------------
/frontend/src/components/TimeRangePicker.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { Box } from 'rebass';
3 | import { Select } from '@rebass/forms';
4 |
5 | interface TimeRangePickerProps {
6 | options: string[];
7 | onChange: (val: string) => void;
8 | }
9 |
10 | const TimeRangePicker: React.FC = (props: TimeRangePickerProps) => {
11 | return (
12 |
13 |
27 |
28 | );
29 | };
30 |
31 | export default TimeRangePicker;
32 |
--------------------------------------------------------------------------------
/frontend/src/consts/timeRanges.ts:
--------------------------------------------------------------------------------
1 | const timeRanges = [
2 | {
3 | name: 'Last hour',
4 | takeRightCount: 12,
5 | takeEvery: 1,
6 | },
7 | {
8 | name: 'Last 6 hours',
9 | takeRightCount: 72,
10 | takeEvery: 2,
11 | },
12 | {
13 | name: 'Last 12 hours',
14 | takeRightCount: 144,
15 | takeEvery: 4,
16 | },
17 | {
18 | name: 'Last day',
19 | takeRightCount: 288,
20 | takeEvery: 4,
21 | },
22 | {
23 | name: 'Last week',
24 | takeRightCount: 2016,
25 | takeEvery: 32,
26 | },
27 | ];
28 |
29 | export default timeRanges;
30 |
--------------------------------------------------------------------------------
/frontend/src/index.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import App from './App';
4 |
5 | ReactDOM.render(, document.getElementById('root'));
6 |
--------------------------------------------------------------------------------
/frontend/src/react-app-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/frontend/src/types/Region.ts:
--------------------------------------------------------------------------------
1 | import { Bin } from "d3-array";
2 |
3 | export default interface Region {
4 | name: string;
5 | timings: any[];
6 | health: any[];
7 | histogram: Bin[];
8 | }
9 |
--------------------------------------------------------------------------------
/frontend/src/utils/everyNth.tsx:
--------------------------------------------------------------------------------
1 | export default (arr: any[], nth: number) => arr.filter((e, i) => i % nth === nth - 1);
2 |
--------------------------------------------------------------------------------
/frontend/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "lib": [
5 | "dom",
6 | "dom.iterable",
7 | "esnext"
8 | ],
9 | "allowJs": true,
10 | "skipLibCheck": true,
11 | "esModuleInterop": true,
12 | "allowSyntheticDefaultImports": true,
13 | "strict": true,
14 | "forceConsistentCasingInFileNames": true,
15 | "module": "esnext",
16 | "moduleResolution": "node",
17 | "resolveJsonModule": true,
18 | "isolatedModules": true,
19 | "noEmit": true,
20 | "jsx": "react"
21 | },
22 | "include": [
23 | "src"
24 | ]
25 | }
26 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "aws-web-performance-monitor",
3 | "version": "0.1.0",
4 | "main": "bin/index.js",
5 | "types": "bin/index.d.ts",
6 | "bin": {
7 | "aws-web-performance-monitor": "bin/aws-web-performance-monitor.js"
8 | },
9 | "scripts": {
10 | "build:cdk": "rm -fr cdk.out && tsc",
11 | "build:frontend": "cd frontend && npm run build",
12 | "build:chrome": "cd bin/collector/layer/ && ./prepare-chromium.sh",
13 | "cdk": "cdk",
14 | "synth": "cdk synth",
15 | "deploy:all": "npm run build:cdk && npm run build:frontend && cdk deploy \"*\""
16 | },
17 | "devDependencies": {
18 | "@types/node": "^8.9.4",
19 | "aws-cdk": "1.15.0",
20 | "typescript": "3.1.2"
21 | },
22 | "dependencies": {
23 | "@aws-cdk/aws-apigateway": "1.15.0",
24 | "@aws-cdk/aws-cloudfront": "1.15.0",
25 | "@aws-cdk/aws-cloudwatch": "1.15.0",
26 | "@aws-cdk/aws-dynamodb": "1.15.0",
27 | "@aws-cdk/aws-dynamodb-global": "1.15.0",
28 | "@aws-cdk/aws-events": "1.15.0",
29 | "@aws-cdk/aws-events-targets": "1.15.0",
30 | "@aws-cdk/aws-lambda": "1.15.0",
31 | "@aws-cdk/aws-s3": "1.15.0",
32 | "@aws-cdk/aws-s3-deployment": "1.15.0"
33 | }
34 | }
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ES2018",
4 | "module": "commonjs",
5 | "lib": ["es2016", "es2017.object", "es2017.string", "dom"],
6 | "declaration": true,
7 | "strict": true,
8 | "noImplicitAny": true,
9 | "strictNullChecks": true,
10 | "noImplicitThis": true,
11 | "alwaysStrict": true,
12 | "noUnusedLocals": true,
13 | "noUnusedParameters": true,
14 | "noImplicitReturns": true,
15 | "noFallthroughCasesInSwitch": false,
16 | "inlineSourceMap": true,
17 | "inlineSources": true,
18 | "experimentalDecorators": true,
19 | "strictPropertyInitialization": false
20 | },
21 | "exclude": ["cdk.out","frontend","bin/collector/layer"]
22 | }
23 |
--------------------------------------------------------------------------------
/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@aws-cdk/assets@1.15.0":
6 | version "1.15.0"
7 | resolved "https://registry.yarnpkg.com/@aws-cdk/assets/-/assets-1.15.0.tgz#a63d6ddf04fe5edf28b39a5d17259f333c7f8e7e"
8 | integrity sha512-zQGaQxlIt+ddWIxeLRFhInC3XiJ73jv84uLXp5R7X3+86q6LZzw9BeFjMTwigt/5UFYMprt3JvVP71fJ3tmEbA==
9 | dependencies:
10 | "@aws-cdk/core" "1.15.0"
11 | "@aws-cdk/cx-api" "1.15.0"
12 | minimatch "^3.0.4"
13 |
14 | "@aws-cdk/aws-apigateway@1.15.0":
15 | version "1.15.0"
16 | resolved "https://registry.yarnpkg.com/@aws-cdk/aws-apigateway/-/aws-apigateway-1.15.0.tgz#cb8765a5a48486f352fcfd73521e3d311961f6c6"
17 | integrity sha512-KP88hEHYwnQ8inI6Nr8j4yv8PHXl5K1B50bZHF69ESaLhRd57T7OelSKSLZOQPMEZgmgT9blaqKAO1/47jABpQ==
18 | dependencies:
19 | "@aws-cdk/aws-certificatemanager" "1.15.0"
20 | "@aws-cdk/aws-elasticloadbalancingv2" "1.15.0"
21 | "@aws-cdk/aws-iam" "1.15.0"
22 | "@aws-cdk/aws-lambda" "1.15.0"
23 | "@aws-cdk/core" "1.15.0"
24 |
25 | "@aws-cdk/aws-applicationautoscaling@1.15.0":
26 | version "1.15.0"
27 | resolved "https://registry.yarnpkg.com/@aws-cdk/aws-applicationautoscaling/-/aws-applicationautoscaling-1.15.0.tgz#2aea2c6e70157f829415746d4b7ccab1c2ca2d5f"
28 | integrity sha512-4fs0CN+4RDBxRe9wEoaYTUanHo4Zck8NoWhC35cDsaajh5FFzbplA10hfyhLUA6Tr/827KcTF/JHPerxpved4A==
29 | dependencies:
30 | "@aws-cdk/aws-autoscaling-common" "1.15.0"
31 | "@aws-cdk/aws-cloudwatch" "1.15.0"
32 | "@aws-cdk/aws-iam" "1.15.0"
33 | "@aws-cdk/core" "1.15.0"
34 |
35 | "@aws-cdk/aws-autoscaling-common@1.15.0":
36 | version "1.15.0"
37 | resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-common/-/aws-autoscaling-common-1.15.0.tgz#4ab2a5b5ce68e26cc447d80da0135f4722c94cbc"
38 | integrity sha512-jN24sqqFBCibf+NlA69iE1+WdpXyHByKwqWKAVG4d31Bk5VvUSbKUlhXTknKo3wrxH0igttatWP7U0UpzMzKaA==
39 | dependencies:
40 | "@aws-cdk/aws-iam" "1.15.0"
41 | "@aws-cdk/core" "1.15.0"
42 |
43 | "@aws-cdk/aws-autoscaling-hooktargets@1.15.0":
44 | version "1.15.0"
45 | resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-hooktargets/-/aws-autoscaling-hooktargets-1.15.0.tgz#85cdc543b4dc33c2ad1eefe190d0b3c7c8b46bb1"
46 | integrity sha512-J31eSCZeinTcTiSm1DmXsIBpf5GNeXPXDqUpB0nCSee29VpVtrKxLfBCWRqCEFoDK8NajPw2PSOh1d6N3k57wA==
47 | dependencies:
48 | "@aws-cdk/aws-autoscaling" "1.15.0"
49 | "@aws-cdk/aws-iam" "1.15.0"
50 | "@aws-cdk/aws-lambda" "1.15.0"
51 | "@aws-cdk/aws-sns" "1.15.0"
52 | "@aws-cdk/aws-sns-subscriptions" "1.15.0"
53 | "@aws-cdk/aws-sqs" "1.15.0"
54 | "@aws-cdk/core" "1.15.0"
55 |
56 | "@aws-cdk/aws-autoscaling@1.15.0":
57 | version "1.15.0"
58 | resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling/-/aws-autoscaling-1.15.0.tgz#53963210a9539a0bb80e9f9396aa3ddfd911b3dc"
59 | integrity sha512-+TTjf2GL+2uT4Q7eHp1BmiyVdyBGZKptjLT6cTwwLYL0uYiAItkYyQVaWTIbJtSXFgERadlxRsbCQgZOefR50A==
60 | dependencies:
61 | "@aws-cdk/aws-autoscaling-common" "1.15.0"
62 | "@aws-cdk/aws-cloudwatch" "1.15.0"
63 | "@aws-cdk/aws-ec2" "1.15.0"
64 | "@aws-cdk/aws-elasticloadbalancing" "1.15.0"
65 | "@aws-cdk/aws-elasticloadbalancingv2" "1.15.0"
66 | "@aws-cdk/aws-iam" "1.15.0"
67 | "@aws-cdk/aws-sns" "1.15.0"
68 | "@aws-cdk/core" "1.15.0"
69 |
70 | "@aws-cdk/aws-certificatemanager@1.15.0":
71 | version "1.15.0"
72 | resolved "https://registry.yarnpkg.com/@aws-cdk/aws-certificatemanager/-/aws-certificatemanager-1.15.0.tgz#ccabc2be566bb2ea9d31dc13e2484a993660f7a3"
73 | integrity sha512-gF+8MnwnyMEczsBfqibSLPu3ab9aukThI1CZ3zbPrDqjjyMbWKuRrpjDOev4wdqDPSs0ujk/Kw1rKB1Z+zrUkA==
74 | dependencies:
75 | "@aws-cdk/aws-cloudformation" "1.15.0"
76 | "@aws-cdk/aws-iam" "1.15.0"
77 | "@aws-cdk/aws-lambda" "1.15.0"
78 | "@aws-cdk/aws-route53" "1.15.0"
79 | "@aws-cdk/core" "1.15.0"
80 |
81 | "@aws-cdk/aws-cloudformation@1.15.0":
82 | version "1.15.0"
83 | resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudformation/-/aws-cloudformation-1.15.0.tgz#600234d24633bd5a396bd45b095c2e2c34f0a1e7"
84 | integrity sha512-GOGQleKJ1Iw5LIqLlAY2Hq2zhKJj3De+exVztXHg++74euxegV7GwGkJS/xuWzbM0ditVbGXdDC664MFAXrWzw==
85 | dependencies:
86 | "@aws-cdk/aws-iam" "1.15.0"
87 | "@aws-cdk/aws-lambda" "1.15.0"
88 | "@aws-cdk/aws-s3" "1.15.0"
89 | "@aws-cdk/aws-sns" "1.15.0"
90 | "@aws-cdk/core" "1.15.0"
91 | "@aws-cdk/cx-api" "1.15.0"
92 |
93 | "@aws-cdk/aws-cloudfront@1.15.0":
94 | version "1.15.0"
95 | resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudfront/-/aws-cloudfront-1.15.0.tgz#3ad62b6e50e066d10e876a524dcd8227cf0daf7e"
96 | integrity sha512-jAtrBBdZ0eUq735XyAR77cafWHEnrJFbWE68OM0BQH4L9dQn3alX5Wu92Zsk9fW2TNiu3OSKZNr1RQpWQSV7fg==
97 | dependencies:
98 | "@aws-cdk/aws-certificatemanager" "1.15.0"
99 | "@aws-cdk/aws-iam" "1.15.0"
100 | "@aws-cdk/aws-kms" "1.15.0"
101 | "@aws-cdk/aws-lambda" "1.15.0"
102 | "@aws-cdk/aws-s3" "1.15.0"
103 | "@aws-cdk/core" "1.15.0"
104 |
105 | "@aws-cdk/aws-cloudwatch@1.15.0":
106 | version "1.15.0"
107 | resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.15.0.tgz#d4d0cd81ad283c9c13f11b71065f1ae3a3298293"
108 | integrity sha512-bYGCVP6479dnUOOJxxDzVzc6uzyNIHxsbF8zormEJeP0oLS/IF8+cReOM9nPhBdeAsAYgKkusRY+dRleC+tEbw==
109 | dependencies:
110 | "@aws-cdk/aws-iam" "1.15.0"
111 | "@aws-cdk/core" "1.15.0"
112 |
113 | "@aws-cdk/aws-codebuild@1.15.0":
114 | version "1.15.0"
115 | resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codebuild/-/aws-codebuild-1.15.0.tgz#644d8a95526885913771e68d5fea6faad17c5e9d"
116 | integrity sha512-K5jEIPiipeYm5OLKjWH2r5OCq8hajkrFy2wg1ZZMyZZyKmcu7sx79f32BgVyxB6tOb5EKyqDpodv6YQPN4qUIg==
117 | dependencies:
118 | "@aws-cdk/assets" "1.15.0"
119 | "@aws-cdk/aws-cloudwatch" "1.15.0"
120 | "@aws-cdk/aws-codecommit" "1.15.0"
121 | "@aws-cdk/aws-ec2" "1.15.0"
122 | "@aws-cdk/aws-ecr" "1.15.0"
123 | "@aws-cdk/aws-ecr-assets" "1.15.0"
124 | "@aws-cdk/aws-events" "1.15.0"
125 | "@aws-cdk/aws-iam" "1.15.0"
126 | "@aws-cdk/aws-kms" "1.15.0"
127 | "@aws-cdk/aws-s3" "1.15.0"
128 | "@aws-cdk/aws-s3-assets" "1.15.0"
129 | "@aws-cdk/aws-secretsmanager" "1.15.0"
130 | "@aws-cdk/core" "1.15.0"
131 |
132 | "@aws-cdk/aws-codecommit@1.15.0":
133 | version "1.15.0"
134 | resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codecommit/-/aws-codecommit-1.15.0.tgz#2d1dd47077c3305a756fdb852282f79dfc74ce65"
135 | integrity sha512-MH0iEJqhGh0IqQTkhnQI+RlJfPw73RabygR7h4EPOa/24BZ4Img+AR+ynTEjVVXtjC432iCgwGTwi54zy004Lw==
136 | dependencies:
137 | "@aws-cdk/aws-events" "1.15.0"
138 | "@aws-cdk/aws-iam" "1.15.0"
139 | "@aws-cdk/core" "1.15.0"
140 |
141 | "@aws-cdk/aws-codepipeline@1.15.0":
142 | version "1.15.0"
143 | resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codepipeline/-/aws-codepipeline-1.15.0.tgz#f216920fa716afe00a1dc9c8c4d60df468d57af5"
144 | integrity sha512-Bj4bNCP9mxrtf+deZLB/BBb98n93phxUx/Kj3NHNFuexSvzZIyNeX0x8X68NwP+xZYHszIL4AArVElY9+YvYnw==
145 | dependencies:
146 | "@aws-cdk/aws-events" "1.15.0"
147 | "@aws-cdk/aws-iam" "1.15.0"
148 | "@aws-cdk/aws-kms" "1.15.0"
149 | "@aws-cdk/aws-s3" "1.15.0"
150 | "@aws-cdk/core" "1.15.0"
151 |
152 | "@aws-cdk/aws-dynamodb-global@1.15.0":
153 | version "1.15.0"
154 | resolved "https://registry.yarnpkg.com/@aws-cdk/aws-dynamodb-global/-/aws-dynamodb-global-1.15.0.tgz#ce91b8e571a78ed3c2fc1922af95e943ea4d4b8b"
155 | integrity sha512-uWsAvIeYcrb3/B60ESkwBC8pqczt6YGvUW+FjWgV+P4A5z7CZyJp7OFFaUnmKqfkp2gBNDqbZ9D7gwAm7YUtow==
156 | dependencies:
157 | "@aws-cdk/aws-cloudformation" "1.15.0"
158 | "@aws-cdk/aws-dynamodb" "1.15.0"
159 | "@aws-cdk/aws-iam" "1.15.0"
160 | "@aws-cdk/aws-lambda" "1.15.0"
161 | "@aws-cdk/core" "1.15.0"
162 |
163 | "@aws-cdk/aws-dynamodb@1.15.0":
164 | version "1.15.0"
165 | resolved "https://registry.yarnpkg.com/@aws-cdk/aws-dynamodb/-/aws-dynamodb-1.15.0.tgz#95ea14ab164d0c9d04e2dec740f5bc0ba6e73b0e"
166 | integrity sha512-8BpQpKUFhjRJknvB5/MwnKn68ZYhuc6kf70/BXAtNmjUtS747yk3n5ORxMak7tIQvqUlWMCn+vXRCcruczj3hA==
167 | dependencies:
168 | "@aws-cdk/aws-applicationautoscaling" "1.15.0"
169 | "@aws-cdk/aws-iam" "1.15.0"
170 | "@aws-cdk/core" "1.15.0"
171 |
172 | "@aws-cdk/aws-ec2@1.15.0":
173 | version "1.15.0"
174 | resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ec2/-/aws-ec2-1.15.0.tgz#681741585d9cbc26807d842b7c7a567327ba8408"
175 | integrity sha512-o729HqLXtVA/mUUg/76q2HaBG4AczGSZMZO+x/ksSO1UnJLmWpdbNjCScaId/R6ip8YX7Gy969PytP8xIOayPA==
176 | dependencies:
177 | "@aws-cdk/aws-cloudwatch" "1.15.0"
178 | "@aws-cdk/aws-iam" "1.15.0"
179 | "@aws-cdk/aws-ssm" "1.15.0"
180 | "@aws-cdk/core" "1.15.0"
181 | "@aws-cdk/cx-api" "1.15.0"
182 |
183 | "@aws-cdk/aws-ecr-assets@1.15.0":
184 | version "1.15.0"
185 | resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ecr-assets/-/aws-ecr-assets-1.15.0.tgz#d80a0180371cf3197d4f9076509442b12faad97a"
186 | integrity sha512-X1YWleWLIIGwJFSoawKhYPI4aruiJ727lkzf2xwGBythiTQUS8m5aWk99FLWrnaNJ1lJY68M+Hu9+4QjlE/tzQ==
187 | dependencies:
188 | "@aws-cdk/assets" "1.15.0"
189 | "@aws-cdk/aws-cloudformation" "1.15.0"
190 | "@aws-cdk/aws-ecr" "1.15.0"
191 | "@aws-cdk/aws-iam" "1.15.0"
192 | "@aws-cdk/aws-lambda" "1.15.0"
193 | "@aws-cdk/aws-s3" "1.15.0"
194 | "@aws-cdk/core" "1.15.0"
195 | "@aws-cdk/cx-api" "1.15.0"
196 |
197 | "@aws-cdk/aws-ecr@1.15.0":
198 | version "1.15.0"
199 | resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ecr/-/aws-ecr-1.15.0.tgz#09c1af0ba50294dc9f6f68449605d5113b766198"
200 | integrity sha512-BVtVVijN4j9m1HTFBR0BVWBlKtRoZsLXPbBWuTegSH8v+ROmyDErkGHMEy3LzhrHzdRDjw36oWcvqkZyI6TqPw==
201 | dependencies:
202 | "@aws-cdk/aws-events" "1.15.0"
203 | "@aws-cdk/aws-iam" "1.15.0"
204 | "@aws-cdk/core" "1.15.0"
205 |
206 | "@aws-cdk/aws-ecs@1.15.0":
207 | version "1.15.0"
208 | resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ecs/-/aws-ecs-1.15.0.tgz#e614e8d8aeda8facf89a1f147cd777c1c14a5350"
209 | integrity sha512-qfLWEcBTcN3BOAkV7QARhOP06XBlwu/r83S6DIhHSeAiW7JxLrSmuof4NDwh35DMWiv2KGF9r2Vx5HBrfW3RqA==
210 | dependencies:
211 | "@aws-cdk/aws-applicationautoscaling" "1.15.0"
212 | "@aws-cdk/aws-autoscaling" "1.15.0"
213 | "@aws-cdk/aws-autoscaling-hooktargets" "1.15.0"
214 | "@aws-cdk/aws-certificatemanager" "1.15.0"
215 | "@aws-cdk/aws-cloudformation" "1.15.0"
216 | "@aws-cdk/aws-cloudwatch" "1.15.0"
217 | "@aws-cdk/aws-ec2" "1.15.0"
218 | "@aws-cdk/aws-ecr" "1.15.0"
219 | "@aws-cdk/aws-ecr-assets" "1.15.0"
220 | "@aws-cdk/aws-elasticloadbalancing" "1.15.0"
221 | "@aws-cdk/aws-elasticloadbalancingv2" "1.15.0"
222 | "@aws-cdk/aws-iam" "1.15.0"
223 | "@aws-cdk/aws-lambda" "1.15.0"
224 | "@aws-cdk/aws-logs" "1.15.0"
225 | "@aws-cdk/aws-route53" "1.15.0"
226 | "@aws-cdk/aws-route53-targets" "1.15.0"
227 | "@aws-cdk/aws-secretsmanager" "1.15.0"
228 | "@aws-cdk/aws-servicediscovery" "1.15.0"
229 | "@aws-cdk/aws-sns" "1.15.0"
230 | "@aws-cdk/aws-sqs" "1.15.0"
231 | "@aws-cdk/aws-ssm" "1.15.0"
232 | "@aws-cdk/core" "1.15.0"
233 | "@aws-cdk/cx-api" "1.15.0"
234 |
235 | "@aws-cdk/aws-elasticloadbalancing@1.15.0":
236 | version "1.15.0"
237 | resolved "https://registry.yarnpkg.com/@aws-cdk/aws-elasticloadbalancing/-/aws-elasticloadbalancing-1.15.0.tgz#5f6ac4eb9f53216662423f707063eebf5c13ac45"
238 | integrity sha512-oH1NHCaKlsChrwF6jJ0YJ8gax47dSvMe/gpiuR/NiW9pdrAECjlgsGSmqiDS7FiBLLRmZoKIhJpa/ajfdl1B9A==
239 | dependencies:
240 | "@aws-cdk/aws-ec2" "1.15.0"
241 | "@aws-cdk/core" "1.15.0"
242 |
243 | "@aws-cdk/aws-elasticloadbalancingv2@1.15.0":
244 | version "1.15.0"
245 | resolved "https://registry.yarnpkg.com/@aws-cdk/aws-elasticloadbalancingv2/-/aws-elasticloadbalancingv2-1.15.0.tgz#388c0d4914b974bdc731588430c3c99c70383b38"
246 | integrity sha512-MakvmnhVDZS0rlCOvbWZ6CyfEySVVQbquy9rv4/p/ywEdTQ8RQWTJQ7hynplFt6Kbi4J3oz91iC4eUgSMERWtw==
247 | dependencies:
248 | "@aws-cdk/aws-certificatemanager" "1.15.0"
249 | "@aws-cdk/aws-cloudwatch" "1.15.0"
250 | "@aws-cdk/aws-ec2" "1.15.0"
251 | "@aws-cdk/aws-iam" "1.15.0"
252 | "@aws-cdk/aws-lambda" "1.15.0"
253 | "@aws-cdk/aws-s3" "1.15.0"
254 | "@aws-cdk/core" "1.15.0"
255 |
256 | "@aws-cdk/aws-events-targets@1.15.0":
257 | version "1.15.0"
258 | resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events-targets/-/aws-events-targets-1.15.0.tgz#ce0b4a2ee2b746a839226185aea8807430ce39a7"
259 | integrity sha512-lJoNLr0PKIScwm1c/UC/RAwZfUEMwmsF9AHhdyH3l/EqrPwE25sOVoBbKa8FGiQJfzWcONxgYUIMQEcCa5QGKw==
260 | dependencies:
261 | "@aws-cdk/aws-cloudformation" "1.15.0"
262 | "@aws-cdk/aws-codebuild" "1.15.0"
263 | "@aws-cdk/aws-codepipeline" "1.15.0"
264 | "@aws-cdk/aws-ec2" "1.15.0"
265 | "@aws-cdk/aws-ecs" "1.15.0"
266 | "@aws-cdk/aws-events" "1.15.0"
267 | "@aws-cdk/aws-iam" "1.15.0"
268 | "@aws-cdk/aws-lambda" "1.15.0"
269 | "@aws-cdk/aws-sns" "1.15.0"
270 | "@aws-cdk/aws-sns-subscriptions" "1.15.0"
271 | "@aws-cdk/aws-sqs" "1.15.0"
272 | "@aws-cdk/aws-stepfunctions" "1.15.0"
273 | "@aws-cdk/core" "1.15.0"
274 |
275 | "@aws-cdk/aws-events@1.15.0":
276 | version "1.15.0"
277 | resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events/-/aws-events-1.15.0.tgz#b8f83259a4e45e07612beec32057f1a985573ed8"
278 | integrity sha512-kkPn4PdgniSMED/1YTimVhAw5KIZfwbHS1CFtxPxAHtHVN8vQ0ewHgVlfZGaP9O96FpWkW+kuyc40Hfz8LES9g==
279 | dependencies:
280 | "@aws-cdk/aws-iam" "1.15.0"
281 | "@aws-cdk/core" "1.15.0"
282 |
283 | "@aws-cdk/aws-iam@1.15.0":
284 | version "1.15.0"
285 | resolved "https://registry.yarnpkg.com/@aws-cdk/aws-iam/-/aws-iam-1.15.0.tgz#9bcac3e3ca57f387b9ef7677ae012f1c561ceddd"
286 | integrity sha512-zOPMe7G2Fq/vKI4c9ip09L7v0gtVtrfO9i9nBH6l/Nt+K09N08GsavPAPQCgVaYdN6KRhGvEBTwnsBtGw2300A==
287 | dependencies:
288 | "@aws-cdk/core" "1.15.0"
289 | "@aws-cdk/region-info" "1.15.0"
290 |
291 | "@aws-cdk/aws-kms@1.15.0":
292 | version "1.15.0"
293 | resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kms/-/aws-kms-1.15.0.tgz#47907dfb206af466112d62b65170248cacd5da7d"
294 | integrity sha512-UOsxCEmUAa9t/Vt2OKmPV7gGyBODpAn/6pYIhBVgL7E8kVXxuL6VqeCVdMPDiAga3a5sR8HQypzLcxg1WOIObw==
295 | dependencies:
296 | "@aws-cdk/aws-iam" "1.15.0"
297 | "@aws-cdk/core" "1.15.0"
298 |
299 | "@aws-cdk/aws-lambda@1.15.0":
300 | version "1.15.0"
301 | resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda/-/aws-lambda-1.15.0.tgz#c1c6768638ee9cb1c7b1f82eb5345c6fe3f200d5"
302 | integrity sha512-XGMN+6jzB2V4JPi3znmXMmclgMgYibwYU1kxTGXhfbGngCu7TcNGWoEhlZGTu20tWKqUOLaf3XPOzfBrnmc12g==
303 | dependencies:
304 | "@aws-cdk/aws-cloudwatch" "1.15.0"
305 | "@aws-cdk/aws-ec2" "1.15.0"
306 | "@aws-cdk/aws-events" "1.15.0"
307 | "@aws-cdk/aws-iam" "1.15.0"
308 | "@aws-cdk/aws-logs" "1.15.0"
309 | "@aws-cdk/aws-s3" "1.15.0"
310 | "@aws-cdk/aws-s3-assets" "1.15.0"
311 | "@aws-cdk/aws-sqs" "1.15.0"
312 | "@aws-cdk/core" "1.15.0"
313 | "@aws-cdk/cx-api" "1.15.0"
314 |
315 | "@aws-cdk/aws-logs@1.15.0":
316 | version "1.15.0"
317 | resolved "https://registry.yarnpkg.com/@aws-cdk/aws-logs/-/aws-logs-1.15.0.tgz#0da2c8ff9b99366dd6af400936fe92726136e83c"
318 | integrity sha512-TTTMU+Qo0VHlilaEW0+Vk28HZUx6naSJrzj9yYYLP+HIjBCROpPpNI3N0p/8rYGDCEGmTrv4XBbOjcvV0EDB8Q==
319 | dependencies:
320 | "@aws-cdk/aws-cloudwatch" "1.15.0"
321 | "@aws-cdk/aws-iam" "1.15.0"
322 | "@aws-cdk/core" "1.15.0"
323 |
324 | "@aws-cdk/aws-route53-targets@1.15.0":
325 | version "1.15.0"
326 | resolved "https://registry.yarnpkg.com/@aws-cdk/aws-route53-targets/-/aws-route53-targets-1.15.0.tgz#500a5d0cb43da328a84fe75db086ecb30d562584"
327 | integrity sha512-Lgy3wBps/IZBo6BFaN1a64q/HmwqWRNwiAyxOIeGCsJVdTb4Sk7dKKbhm4WGMT8V9Jb/CUDFOOxedYKqxDjY9Q==
328 | dependencies:
329 | "@aws-cdk/aws-apigateway" "1.15.0"
330 | "@aws-cdk/aws-cloudfront" "1.15.0"
331 | "@aws-cdk/aws-elasticloadbalancing" "1.15.0"
332 | "@aws-cdk/aws-elasticloadbalancingv2" "1.15.0"
333 | "@aws-cdk/aws-iam" "1.15.0"
334 | "@aws-cdk/aws-route53" "1.15.0"
335 | "@aws-cdk/aws-s3" "1.15.0"
336 | "@aws-cdk/core" "1.15.0"
337 | "@aws-cdk/region-info" "1.15.0"
338 |
339 | "@aws-cdk/aws-route53@1.15.0":
340 | version "1.15.0"
341 | resolved "https://registry.yarnpkg.com/@aws-cdk/aws-route53/-/aws-route53-1.15.0.tgz#46ab3f61e56e18a2322ac6bd56cca0f6a10e19d3"
342 | integrity sha512-dFcIKb28+aT3n5DOGUrwa6gMxKzHWtpUQcK4O7Or1OyxRoHCj6eUDdERT5lv/UZ7zRTL3UnPuC5rOYk0b0Ra1A==
343 | dependencies:
344 | "@aws-cdk/aws-ec2" "1.15.0"
345 | "@aws-cdk/aws-logs" "1.15.0"
346 | "@aws-cdk/core" "1.15.0"
347 | "@aws-cdk/cx-api" "1.15.0"
348 |
349 | "@aws-cdk/aws-s3-assets@1.15.0":
350 | version "1.15.0"
351 | resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.15.0.tgz#e220d746da3c51cddc7da329fbf9eaecf83b65ef"
352 | integrity sha512-4Y4egaDXWqzID/jLQaE+udBuTZJpCqvdm9fDJ6yEAzavQkwyO5WiZhQyUXFb2hMcUYUcnDj4D2uDATkVcc52tQ==
353 | dependencies:
354 | "@aws-cdk/assets" "1.15.0"
355 | "@aws-cdk/aws-iam" "1.15.0"
356 | "@aws-cdk/aws-s3" "1.15.0"
357 | "@aws-cdk/core" "1.15.0"
358 | "@aws-cdk/cx-api" "1.15.0"
359 |
360 | "@aws-cdk/aws-s3-deployment@1.15.0":
361 | version "1.15.0"
362 | resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3-deployment/-/aws-s3-deployment-1.15.0.tgz#2d101261f2a9d5cf68c229a30a8128a7c799bed6"
363 | integrity sha512-ifPRPxC3xU3/Z58W0oTK7o6TX2OFOfi7yHvqs3e49YV1noCO2aA6rV6Y0G1UipnjkGUznL/8qij3kk3By3or9A==
364 | dependencies:
365 | "@aws-cdk/aws-cloudformation" "1.15.0"
366 | "@aws-cdk/aws-cloudfront" "1.15.0"
367 | "@aws-cdk/aws-iam" "1.15.0"
368 | "@aws-cdk/aws-lambda" "1.15.0"
369 | "@aws-cdk/aws-s3" "1.15.0"
370 | "@aws-cdk/aws-s3-assets" "1.15.0"
371 | "@aws-cdk/core" "1.15.0"
372 |
373 | "@aws-cdk/aws-s3@1.15.0":
374 | version "1.15.0"
375 | resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3/-/aws-s3-1.15.0.tgz#2cf935fcfe3283307c8326bf0e8df1584185142a"
376 | integrity sha512-4mMdRqJkY8rtcs0J2Y7dCunYFV79f0wZ2rgVlW3qS+mExLgTjoUwysajwwOvzGKG0rBp27DPCCW2f/t7l65FuA==
377 | dependencies:
378 | "@aws-cdk/aws-events" "1.15.0"
379 | "@aws-cdk/aws-iam" "1.15.0"
380 | "@aws-cdk/aws-kms" "1.15.0"
381 | "@aws-cdk/core" "1.15.0"
382 |
383 | "@aws-cdk/aws-secretsmanager@1.15.0":
384 | version "1.15.0"
385 | resolved "https://registry.yarnpkg.com/@aws-cdk/aws-secretsmanager/-/aws-secretsmanager-1.15.0.tgz#478a3c9198e8052a6da33cbf1bf292d1724cb3ec"
386 | integrity sha512-wxaoXRirdtfwoTSKmgKXaVzlXQ311vT5/j4GoWqyzLu+3lRA9jn60nUF1rbX4AKydlKFuoNAOG+z40A1B3xxsQ==
387 | dependencies:
388 | "@aws-cdk/aws-ec2" "1.15.0"
389 | "@aws-cdk/aws-iam" "1.15.0"
390 | "@aws-cdk/aws-kms" "1.15.0"
391 | "@aws-cdk/aws-lambda" "1.15.0"
392 | "@aws-cdk/core" "1.15.0"
393 |
394 | "@aws-cdk/aws-servicediscovery@1.15.0":
395 | version "1.15.0"
396 | resolved "https://registry.yarnpkg.com/@aws-cdk/aws-servicediscovery/-/aws-servicediscovery-1.15.0.tgz#2c68aeaf7230ab87e16337b38dd20e6bde096906"
397 | integrity sha512-UQyw2Q67FWqWArbfRbeweqgjiDD7B5g8lPG8T5LAVDNUIZRBkZ5X2KVSiEUTiq4n4sxMZAKEIxmFp5o6YPLe+w==
398 | dependencies:
399 | "@aws-cdk/aws-ec2" "1.15.0"
400 | "@aws-cdk/aws-elasticloadbalancingv2" "1.15.0"
401 | "@aws-cdk/aws-route53" "1.15.0"
402 | "@aws-cdk/core" "1.15.0"
403 |
404 | "@aws-cdk/aws-sns-subscriptions@1.15.0":
405 | version "1.15.0"
406 | resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns-subscriptions/-/aws-sns-subscriptions-1.15.0.tgz#9650670082916f20f851dff6f04bebd1b5e4f94e"
407 | integrity sha512-64Ql+ka9+jTY3D5mC4Y3SDfwEbhfYpVDzLe9yORQygcqazgz5mEVZs0TUc9AEvy7gaHkQz3JssnBYZpPdW558w==
408 | dependencies:
409 | "@aws-cdk/aws-iam" "1.15.0"
410 | "@aws-cdk/aws-lambda" "1.15.0"
411 | "@aws-cdk/aws-sns" "1.15.0"
412 | "@aws-cdk/aws-sqs" "1.15.0"
413 | "@aws-cdk/core" "1.15.0"
414 |
415 | "@aws-cdk/aws-sns@1.15.0":
416 | version "1.15.0"
417 | resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns/-/aws-sns-1.15.0.tgz#2cddd71c234bba1a246f0d96af549921a372df68"
418 | integrity sha512-9wLLT+zGNmgiii4LvILz6Yvfypg8ozYTdJMPvfonElWJqErz1x6vaSCNNJkWX4hkoLeEmjEscAFbiusqmngjJQ==
419 | dependencies:
420 | "@aws-cdk/aws-cloudwatch" "1.15.0"
421 | "@aws-cdk/aws-events" "1.15.0"
422 | "@aws-cdk/aws-iam" "1.15.0"
423 | "@aws-cdk/core" "1.15.0"
424 |
425 | "@aws-cdk/aws-sqs@1.15.0":
426 | version "1.15.0"
427 | resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sqs/-/aws-sqs-1.15.0.tgz#11a1130fcebb46668435686cafcdcf6e0a5bf7f6"
428 | integrity sha512-SbUyQgvCSrP/XdeQ7GoUdsoQ+/GvJtpP/fsq7cpiYVRJ6rMgtg3JiwliU8pEJSLqIumffmkuZah+rBKxHlqhxw==
429 | dependencies:
430 | "@aws-cdk/aws-cloudwatch" "1.15.0"
431 | "@aws-cdk/aws-iam" "1.15.0"
432 | "@aws-cdk/aws-kms" "1.15.0"
433 | "@aws-cdk/core" "1.15.0"
434 |
435 | "@aws-cdk/aws-ssm@1.15.0":
436 | version "1.15.0"
437 | resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ssm/-/aws-ssm-1.15.0.tgz#1a6316699dc509e4d2a1e5a6a664afff7b8e048f"
438 | integrity sha512-SGTT3B43Bh7EJmIg+vXpOOVWaqaoxP6P3bQtg098tM1I+CnKICZd7bTn2NpZkrZBwAuQT27n7/A9kN7qPA/8lw==
439 | dependencies:
440 | "@aws-cdk/aws-iam" "1.15.0"
441 | "@aws-cdk/aws-kms" "1.15.0"
442 | "@aws-cdk/core" "1.15.0"
443 | "@aws-cdk/cx-api" "1.15.0"
444 |
445 | "@aws-cdk/aws-stepfunctions@1.15.0":
446 | version "1.15.0"
447 | resolved "https://registry.yarnpkg.com/@aws-cdk/aws-stepfunctions/-/aws-stepfunctions-1.15.0.tgz#4e70ff09e09c1d31323c39ad5467dd9aca85dbe2"
448 | integrity sha512-0RUDphSJpxJLmqj3UiBmdnmK+IwcQpeffmq1eUEQtXyj+yYib9fNxKm9GIFJgUrusZevEphJ4Gn8bDJLToQcaw==
449 | dependencies:
450 | "@aws-cdk/aws-cloudwatch" "1.15.0"
451 | "@aws-cdk/aws-events" "1.15.0"
452 | "@aws-cdk/aws-iam" "1.15.0"
453 | "@aws-cdk/core" "1.15.0"
454 |
455 | "@aws-cdk/cfnspec@1.15.0":
456 | version "1.15.0"
457 | resolved "https://registry.yarnpkg.com/@aws-cdk/cfnspec/-/cfnspec-1.15.0.tgz#2c04d96dc119236dabd0a5bf199ead03ffceddbc"
458 | integrity sha512-vYwCHXeRKyc3OpH5ZH4Mb74kOCSq7vbFJHcjJ9sRlR+tewKKjIEMqTOVCMizNkv8UDkStJK8m3SiMG85OWX+Rw==
459 | dependencies:
460 | md5 "^2.2.1"
461 |
462 | "@aws-cdk/cloudformation-diff@1.15.0":
463 | version "1.15.0"
464 | resolved "https://registry.yarnpkg.com/@aws-cdk/cloudformation-diff/-/cloudformation-diff-1.15.0.tgz#462ba70c18474d234496dd72a1bb0faafa5144fb"
465 | integrity sha512-MBb2JSagVVxZJ7vmTuf/LzxyODklrv4+6kV8mtR/lMDwEM4TWv2DddOonPi0Z4MLpBl/5R1FOTrvPWqEcFbbBg==
466 | dependencies:
467 | "@aws-cdk/cfnspec" "1.15.0"
468 | "@aws-cdk/cx-api" "1.15.0"
469 | colors "^1.4.0"
470 | diff "^4.0.1"
471 | fast-deep-equal "^2.0.1"
472 | source-map-support "^0.5.13"
473 | string-width "^4.1.0"
474 | table "^5.4.6"
475 |
476 | "@aws-cdk/core@1.15.0":
477 | version "1.15.0"
478 | resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.15.0.tgz#b14ac205b160a92218996101ef428c0053172e57"
479 | integrity sha512-3AIuxumb+6VAowGpSUc6s84WVJYHV1lVjECJWlvzvQP2ObPKq46HzoUnBoGKEf2IlG3l7zr2q1spFHRO+fmaZQ==
480 | dependencies:
481 | "@aws-cdk/cx-api" "1.15.0"
482 |
483 | "@aws-cdk/cx-api@1.15.0":
484 | version "1.15.0"
485 | resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.15.0.tgz#641d9f6d6bd9343f2e465ea8dc2f47cec3ce5189"
486 | integrity sha512-VSR+OQ7x/mMiyXgiqREraSGs00v9W/h2jXW1jCIxfcWTBWAEAVvRE5dsR8CHf6NyH/+6pq5YN6rUzEpwyd2UCA==
487 | dependencies:
488 | semver "^6.3.0"
489 |
490 | "@aws-cdk/region-info@1.15.0":
491 | version "1.15.0"
492 | resolved "https://registry.yarnpkg.com/@aws-cdk/region-info/-/region-info-1.15.0.tgz#6c1605b13d6e1c39de01b0f8edcfa00d6e79b662"
493 | integrity sha512-mpWoUTbJd80uZ0sPoxdK3W4heyra8nO5Q6FrXtLPjvubCik/wCoLRpkZtb5bJdX/c582o8onscT1OFFAyF/8YA==
494 |
495 | "@babel/runtime-corejs2@^7.2.0":
496 | version "7.7.1"
497 | resolved "https://registry.yarnpkg.com/@babel/runtime-corejs2/-/runtime-corejs2-7.7.1.tgz#ae94a96dbb020169344b857f12514e39bc3e3dcb"
498 | integrity sha512-nlxajcFXWFyrFOyzOkphfby2izqoB9B4a3+rMqG4dBKMaHZUUS3BkgFBIAbNK6s+VOx0vaGJVgaQL0+3oWnxDQ==
499 | dependencies:
500 | core-js "^2.6.5"
501 | regenerator-runtime "^0.13.2"
502 |
503 | "@babel/runtime@^7.6.3":
504 | version "7.7.1"
505 | resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.7.1.tgz#b223497bbfbcbbb38116673904debc71470ca528"
506 | integrity sha512-SQ0sS7KUJDvgCI2cpZG0nJygO6002oTbhgSuw4WcocsnbxLwL5Q8I3fqbJdyBAc3uFrWZiR2JomseuxSuci3SQ==
507 | dependencies:
508 | regenerator-runtime "^0.13.2"
509 |
510 | "@types/node@^8.9.4":
511 | version "8.10.58"
512 | resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.58.tgz#98c14ce95a634701bd2d59d52df882c0610dd0eb"
513 | integrity sha512-NNcUk/rAdR7Pie7WiA5NHp345dTkD62qaxqscQXVIjCjog/ZXsrG8Wo7dZMZAzE7PSpA+qR2S3TYTeFCKuBFxQ==
514 |
515 | agent-base@4, agent-base@^4.2.0, agent-base@^4.3.0:
516 | version "4.3.0"
517 | resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.3.0.tgz#8165f01c436009bccad0b1d122f05ed770efc6ee"
518 | integrity sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==
519 | dependencies:
520 | es6-promisify "^5.0.0"
521 |
522 | agent-base@~4.2.1:
523 | version "4.2.1"
524 | resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.2.1.tgz#d89e5999f797875674c07d87f260fc41e83e8ca9"
525 | integrity sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==
526 | dependencies:
527 | es6-promisify "^5.0.0"
528 |
529 | ajv@^6.10.2, ajv@^6.5.5:
530 | version "6.10.2"
531 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52"
532 | integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==
533 | dependencies:
534 | fast-deep-equal "^2.0.1"
535 | fast-json-stable-stringify "^2.0.0"
536 | json-schema-traverse "^0.4.1"
537 | uri-js "^4.2.2"
538 |
539 | ansi-regex@^4.1.0:
540 | version "4.1.0"
541 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997"
542 | integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==
543 |
544 | ansi-styles@^3.2.0:
545 | version "3.2.1"
546 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
547 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
548 | dependencies:
549 | color-convert "^1.9.0"
550 |
551 | archiver-utils@^2.1.0:
552 | version "2.1.0"
553 | resolved "https://registry.yarnpkg.com/archiver-utils/-/archiver-utils-2.1.0.tgz#e8a460e94b693c3e3da182a098ca6285ba9249e2"
554 | integrity sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==
555 | dependencies:
556 | glob "^7.1.4"
557 | graceful-fs "^4.2.0"
558 | lazystream "^1.0.0"
559 | lodash.defaults "^4.2.0"
560 | lodash.difference "^4.5.0"
561 | lodash.flatten "^4.4.0"
562 | lodash.isplainobject "^4.0.6"
563 | lodash.union "^4.6.0"
564 | normalize-path "^3.0.0"
565 | readable-stream "^2.0.0"
566 |
567 | archiver@^3.1.1:
568 | version "3.1.1"
569 | resolved "https://registry.yarnpkg.com/archiver/-/archiver-3.1.1.tgz#9db7819d4daf60aec10fe86b16cb9258ced66ea0"
570 | integrity sha512-5Hxxcig7gw5Jod/8Gq0OneVgLYET+oNHcxgWItq4TbhOzRLKNAFUb9edAftiMKXvXfCB0vbGrJdZDNq0dWMsxg==
571 | dependencies:
572 | archiver-utils "^2.1.0"
573 | async "^2.6.3"
574 | buffer-crc32 "^0.2.1"
575 | glob "^7.1.4"
576 | readable-stream "^3.4.0"
577 | tar-stream "^2.1.0"
578 | zip-stream "^2.1.2"
579 |
580 | asn1@~0.2.3:
581 | version "0.2.4"
582 | resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136"
583 | integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==
584 | dependencies:
585 | safer-buffer "~2.1.0"
586 |
587 | assert-plus@1.0.0, assert-plus@^1.0.0:
588 | version "1.0.0"
589 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
590 | integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=
591 |
592 | ast-types@0.x.x:
593 | version "0.13.2"
594 | resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.13.2.tgz#df39b677a911a83f3a049644fb74fdded23cea48"
595 | integrity sha512-uWMHxJxtfj/1oZClOxDEV1sQ1HCDkA4MG8Gr69KKeBjEVH0R84WlejZ0y2DcwyBlpAEMltmVYkVgqfLFb2oyiA==
596 |
597 | astral-regex@^1.0.0:
598 | version "1.0.0"
599 | resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9"
600 | integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==
601 |
602 | async@^2.6.3:
603 | version "2.6.3"
604 | resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff"
605 | integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==
606 | dependencies:
607 | lodash "^4.17.14"
608 |
609 | asynckit@^0.4.0:
610 | version "0.4.0"
611 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
612 | integrity sha1-x57Zf380y48robyXkLzDZkdLS3k=
613 |
614 | aws-cdk@1.15.0:
615 | version "1.15.0"
616 | resolved "https://registry.yarnpkg.com/aws-cdk/-/aws-cdk-1.15.0.tgz#c8f6af3f776b5675a0901551dfee17fcf67c6ac9"
617 | integrity sha512-o/vSVb7JKkZsj0vkaVhnpapZI+q2KUJQEcewwUQ09jaheb+VKnHTP9eLEQX8RyfuuilLrVinijlQAIk2WS7dNw==
618 | dependencies:
619 | "@aws-cdk/cloudformation-diff" "1.15.0"
620 | "@aws-cdk/cx-api" "1.15.0"
621 | "@aws-cdk/region-info" "1.15.0"
622 | archiver "^3.1.1"
623 | aws-sdk "^2.556.0"
624 | camelcase "^5.3.1"
625 | colors "^1.4.0"
626 | decamelize "^3.2.0"
627 | fs-extra "^8.1.0"
628 | glob "^7.1.4"
629 | json-diff "^0.5.4"
630 | minimatch ">=3.0"
631 | promptly "^3.0.3"
632 | proxy-agent "^3.1.1"
633 | request "^2.88.0"
634 | semver "^6.3.0"
635 | source-map-support "^0.5.13"
636 | table "^5.4.6"
637 | yaml "^1.7.2"
638 | yargs "^14.2.0"
639 |
640 | aws-sdk@^2.556.0:
641 | version "2.564.0"
642 | resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.564.0.tgz#d5fef5220436306c1c2f48487a3d631280a3d944"
643 | integrity sha512-X5MbcebjQ3iPNBvZ27WZyMEVCleBLqot2hqVz2M9XvMDR4B8qqPuteWrtbLu+DVjENvVD7Oj0BOIjrYEVWacFA==
644 | dependencies:
645 | buffer "^4.9.1"
646 | events "^1.1.1"
647 | ieee754 "^1.1.13"
648 | jmespath "^0.15.0"
649 | querystring "^0.2.0"
650 | sax "^1.2.1"
651 | url "^0.10.3"
652 | uuid "^3.3.2"
653 | xml2js "^0.4.19"
654 |
655 | aws-sign2@~0.7.0:
656 | version "0.7.0"
657 | resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
658 | integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=
659 |
660 | aws4@^1.8.0:
661 | version "1.8.0"
662 | resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f"
663 | integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==
664 |
665 | balanced-match@^1.0.0:
666 | version "1.0.0"
667 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
668 | integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
669 |
670 | base64-js@^1.0.2:
671 | version "1.3.1"
672 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1"
673 | integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==
674 |
675 | bcrypt-pbkdf@^1.0.0:
676 | version "1.0.2"
677 | resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"
678 | integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=
679 | dependencies:
680 | tweetnacl "^0.14.3"
681 |
682 | bl@^3.0.0:
683 | version "3.0.0"
684 | resolved "https://registry.yarnpkg.com/bl/-/bl-3.0.0.tgz#3611ec00579fd18561754360b21e9f784500ff88"
685 | integrity sha512-EUAyP5UHU5hxF8BPT0LKW8gjYLhq1DQIcneOX/pL/m2Alo+OYDQAJlHq+yseMP50Os2nHXOSic6Ss3vSQeyf4A==
686 | dependencies:
687 | readable-stream "^3.0.1"
688 |
689 | brace-expansion@^1.1.7:
690 | version "1.1.11"
691 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
692 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
693 | dependencies:
694 | balanced-match "^1.0.0"
695 | concat-map "0.0.1"
696 |
697 | buffer-crc32@^0.2.1, buffer-crc32@^0.2.13:
698 | version "0.2.13"
699 | resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242"
700 | integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=
701 |
702 | buffer-from@^1.0.0:
703 | version "1.1.1"
704 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
705 | integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==
706 |
707 | buffer@^4.9.1:
708 | version "4.9.1"
709 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298"
710 | integrity sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=
711 | dependencies:
712 | base64-js "^1.0.2"
713 | ieee754 "^1.1.4"
714 | isarray "^1.0.0"
715 |
716 | buffer@^5.1.0:
717 | version "5.4.3"
718 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.4.3.tgz#3fbc9c69eb713d323e3fc1a895eee0710c072115"
719 | integrity sha512-zvj65TkFeIt3i6aj5bIvJDzjjQQGs4o/sNoezg1F1kYap9Nu2jcUdpwzRSJTHMMzG0H7bZkn4rNQpImhuxWX2A==
720 | dependencies:
721 | base64-js "^1.0.2"
722 | ieee754 "^1.1.4"
723 |
724 | bytes@3.1.0:
725 | version "3.1.0"
726 | resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6"
727 | integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==
728 |
729 | camelcase@^5.0.0, camelcase@^5.3.1:
730 | version "5.3.1"
731 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
732 | integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
733 |
734 | caseless@~0.12.0:
735 | version "0.12.0"
736 | resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
737 | integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=
738 |
739 | charenc@~0.0.1:
740 | version "0.0.2"
741 | resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667"
742 | integrity sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=
743 |
744 | cli-color@~0.1.6:
745 | version "0.1.7"
746 | resolved "https://registry.yarnpkg.com/cli-color/-/cli-color-0.1.7.tgz#adc3200fa471cc211b0da7f566b71e98b9d67347"
747 | integrity sha1-rcMgD6RxzCEbDaf1ZrcemLnWc0c=
748 | dependencies:
749 | es5-ext "0.8.x"
750 |
751 | cliui@^5.0.0:
752 | version "5.0.0"
753 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5"
754 | integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==
755 | dependencies:
756 | string-width "^3.1.0"
757 | strip-ansi "^5.2.0"
758 | wrap-ansi "^5.1.0"
759 |
760 | co@^4.6.0:
761 | version "4.6.0"
762 | resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
763 | integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=
764 |
765 | color-convert@^1.9.0:
766 | version "1.9.3"
767 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
768 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
769 | dependencies:
770 | color-name "1.1.3"
771 |
772 | color-name@1.1.3:
773 | version "1.1.3"
774 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
775 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
776 |
777 | colors@^1.4.0:
778 | version "1.4.0"
779 | resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78"
780 | integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==
781 |
782 | combined-stream@^1.0.6, combined-stream@~1.0.6:
783 | version "1.0.8"
784 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
785 | integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
786 | dependencies:
787 | delayed-stream "~1.0.0"
788 |
789 | compress-commons@^2.1.1:
790 | version "2.1.1"
791 | resolved "https://registry.yarnpkg.com/compress-commons/-/compress-commons-2.1.1.tgz#9410d9a534cf8435e3fbbb7c6ce48de2dc2f0610"
792 | integrity sha512-eVw6n7CnEMFzc3duyFVrQEuY1BlHR3rYsSztyG32ibGMW722i3C6IizEGMFmfMU+A+fALvBIwxN3czffTcdA+Q==
793 | dependencies:
794 | buffer-crc32 "^0.2.13"
795 | crc32-stream "^3.0.1"
796 | normalize-path "^3.0.0"
797 | readable-stream "^2.3.6"
798 |
799 | concat-map@0.0.1:
800 | version "0.0.1"
801 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
802 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
803 |
804 | core-js@^2.6.5:
805 | version "2.6.10"
806 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.10.tgz#8a5b8391f8cc7013da703411ce5b585706300d7f"
807 | integrity sha512-I39t74+4t+zau64EN1fE5v2W31Adtc/REhzWN+gWRRXg6WH5qAsZm62DHpQ1+Yhe4047T55jvzz7MUqF/dBBlA==
808 |
809 | core-util-is@1.0.2, core-util-is@~1.0.0:
810 | version "1.0.2"
811 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
812 | integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
813 |
814 | crc32-stream@^3.0.1:
815 | version "3.0.1"
816 | resolved "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-3.0.1.tgz#cae6eeed003b0e44d739d279de5ae63b171b4e85"
817 | integrity sha512-mctvpXlbzsvK+6z8kJwSJ5crm7yBwrQMTybJzMw1O4lLGJqjlDCXY2Zw7KheiA6XBEcBmfLx1D88mjRGVJtY9w==
818 | dependencies:
819 | crc "^3.4.4"
820 | readable-stream "^3.4.0"
821 |
822 | crc@^3.4.4:
823 | version "3.8.0"
824 | resolved "https://registry.yarnpkg.com/crc/-/crc-3.8.0.tgz#ad60269c2c856f8c299e2c4cc0de4556914056c6"
825 | integrity sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==
826 | dependencies:
827 | buffer "^5.1.0"
828 |
829 | crypt@~0.0.1:
830 | version "0.0.2"
831 | resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b"
832 | integrity sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=
833 |
834 | dashdash@^1.12.0:
835 | version "1.14.1"
836 | resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
837 | integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=
838 | dependencies:
839 | assert-plus "^1.0.0"
840 |
841 | data-uri-to-buffer@1:
842 | version "1.2.0"
843 | resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-1.2.0.tgz#77163ea9c20d8641b4707e8f18abdf9a78f34835"
844 | integrity sha512-vKQ9DTQPN1FLYiiEEOQ6IBGFqvjCa5rSK3cWMy/Nespm5d/x3dGFT9UBZnkLxCwua/IXBi2TYnwTEpsOvhC4UQ==
845 |
846 | debug@2:
847 | version "2.6.9"
848 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
849 | integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
850 | dependencies:
851 | ms "2.0.0"
852 |
853 | debug@3.1.0:
854 | version "3.1.0"
855 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
856 | integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==
857 | dependencies:
858 | ms "2.0.0"
859 |
860 | debug@4, debug@^4.1.1:
861 | version "4.1.1"
862 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
863 | integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==
864 | dependencies:
865 | ms "^2.1.1"
866 |
867 | debug@^3.1.0:
868 | version "3.2.6"
869 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b"
870 | integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==
871 | dependencies:
872 | ms "^2.1.1"
873 |
874 | decamelize@^1.2.0:
875 | version "1.2.0"
876 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
877 | integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=
878 |
879 | decamelize@^3.2.0:
880 | version "3.2.0"
881 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-3.2.0.tgz#84b8e8f4f8c579f938e35e2cc7024907e0090851"
882 | integrity sha512-4TgkVUsmmu7oCSyGBm5FvfMoACuoh9EOidm7V5/J2X2djAwwt57qb3F2KMP2ITqODTCSwb+YRV+0Zqrv18k/hw==
883 | dependencies:
884 | xregexp "^4.2.4"
885 |
886 | deep-is@~0.1.3:
887 | version "0.1.3"
888 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
889 | integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=
890 |
891 | define-properties@^1.1.2, define-properties@^1.1.3:
892 | version "1.1.3"
893 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1"
894 | integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==
895 | dependencies:
896 | object-keys "^1.0.12"
897 |
898 | degenerator@^1.0.4:
899 | version "1.0.4"
900 | resolved "https://registry.yarnpkg.com/degenerator/-/degenerator-1.0.4.tgz#fcf490a37ece266464d9cc431ab98c5819ced095"
901 | integrity sha1-/PSQo37OJmRk2cxDGrmMWBnO0JU=
902 | dependencies:
903 | ast-types "0.x.x"
904 | escodegen "1.x.x"
905 | esprima "3.x.x"
906 |
907 | delayed-stream@~1.0.0:
908 | version "1.0.0"
909 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
910 | integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk=
911 |
912 | depd@~1.1.2:
913 | version "1.1.2"
914 | resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"
915 | integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=
916 |
917 | diff@^4.0.1:
918 | version "4.0.1"
919 | resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.1.tgz#0c667cb467ebbb5cea7f14f135cc2dba7780a8ff"
920 | integrity sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q==
921 |
922 | difflib@~0.2.1:
923 | version "0.2.4"
924 | resolved "https://registry.yarnpkg.com/difflib/-/difflib-0.2.4.tgz#b5e30361a6db023176d562892db85940a718f47e"
925 | integrity sha1-teMDYabbAjF21WKJLbhZQKcY9H4=
926 | dependencies:
927 | heap ">= 0.2.0"
928 |
929 | dreamopt@~0.6.0:
930 | version "0.6.0"
931 | resolved "https://registry.yarnpkg.com/dreamopt/-/dreamopt-0.6.0.tgz#d813ccdac8d39d8ad526775514a13dda664d6b4b"
932 | integrity sha1-2BPM2sjTnYrVJndVFKE92mZNa0s=
933 | dependencies:
934 | wordwrap ">=0.0.2"
935 |
936 | ecc-jsbn@~0.1.1:
937 | version "0.1.2"
938 | resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9"
939 | integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=
940 | dependencies:
941 | jsbn "~0.1.0"
942 | safer-buffer "^2.1.0"
943 |
944 | emoji-regex@^7.0.1:
945 | version "7.0.3"
946 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156"
947 | integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==
948 |
949 | emoji-regex@^8.0.0:
950 | version "8.0.0"
951 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
952 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
953 |
954 | end-of-stream@^1.4.1:
955 | version "1.4.4"
956 | resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
957 | integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
958 | dependencies:
959 | once "^1.4.0"
960 |
961 | es-abstract@^1.5.1:
962 | version "1.16.0"
963 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.16.0.tgz#d3a26dc9c3283ac9750dca569586e976d9dcc06d"
964 | integrity sha512-xdQnfykZ9JMEiasTAJZJdMWCQ1Vm00NBw79/AWi7ELfZuuPCSOMDZbT9mkOfSctVtfhb+sAAzrm+j//GjjLHLg==
965 | dependencies:
966 | es-to-primitive "^1.2.0"
967 | function-bind "^1.1.1"
968 | has "^1.0.3"
969 | has-symbols "^1.0.0"
970 | is-callable "^1.1.4"
971 | is-regex "^1.0.4"
972 | object-inspect "^1.6.0"
973 | object-keys "^1.1.1"
974 | string.prototype.trimleft "^2.1.0"
975 | string.prototype.trimright "^2.1.0"
976 |
977 | es-to-primitive@^1.2.0:
978 | version "1.2.0"
979 | resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377"
980 | integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==
981 | dependencies:
982 | is-callable "^1.1.4"
983 | is-date-object "^1.0.1"
984 | is-symbol "^1.0.2"
985 |
986 | es5-ext@0.8.x:
987 | version "0.8.2"
988 | resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.8.2.tgz#aba8d9e1943a895ac96837a62a39b3f55ecd94ab"
989 | integrity sha1-q6jZ4ZQ6iVrJaDemKjmz9V7NlKs=
990 |
991 | es6-promise@^4.0.3:
992 | version "4.2.8"
993 | resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a"
994 | integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==
995 |
996 | es6-promisify@^5.0.0:
997 | version "5.0.0"
998 | resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203"
999 | integrity sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=
1000 | dependencies:
1001 | es6-promise "^4.0.3"
1002 |
1003 | escodegen@1.x.x:
1004 | version "1.12.0"
1005 | resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.12.0.tgz#f763daf840af172bb3a2b6dd7219c0e17f7ff541"
1006 | integrity sha512-TuA+EhsanGcme5T3R0L80u4t8CpbXQjegRmf7+FPTJrtCTErXFeelblRgHQa1FofEzqYYJmJ/OqjTwREp9qgmg==
1007 | dependencies:
1008 | esprima "^3.1.3"
1009 | estraverse "^4.2.0"
1010 | esutils "^2.0.2"
1011 | optionator "^0.8.1"
1012 | optionalDependencies:
1013 | source-map "~0.6.1"
1014 |
1015 | esprima@3.x.x, esprima@^3.1.3:
1016 | version "3.1.3"
1017 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633"
1018 | integrity sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=
1019 |
1020 | estraverse@^4.2.0:
1021 | version "4.3.0"
1022 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d"
1023 | integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
1024 |
1025 | esutils@^2.0.2:
1026 | version "2.0.3"
1027 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
1028 | integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
1029 |
1030 | events@^1.1.1:
1031 | version "1.1.1"
1032 | resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924"
1033 | integrity sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=
1034 |
1035 | extend@~3.0.2:
1036 | version "3.0.2"
1037 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
1038 | integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
1039 |
1040 | extsprintf@1.3.0:
1041 | version "1.3.0"
1042 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
1043 | integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=
1044 |
1045 | extsprintf@^1.2.0:
1046 | version "1.4.0"
1047 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f"
1048 | integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=
1049 |
1050 | fast-deep-equal@^2.0.1:
1051 | version "2.0.1"
1052 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49"
1053 | integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=
1054 |
1055 | fast-json-stable-stringify@^2.0.0:
1056 | version "2.0.0"
1057 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
1058 | integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I=
1059 |
1060 | fast-levenshtein@~2.0.4:
1061 | version "2.0.6"
1062 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
1063 | integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
1064 |
1065 | file-uri-to-path@1:
1066 | version "1.0.0"
1067 | resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd"
1068 | integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==
1069 |
1070 | find-up@^3.0.0:
1071 | version "3.0.0"
1072 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73"
1073 | integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==
1074 | dependencies:
1075 | locate-path "^3.0.0"
1076 |
1077 | forever-agent@~0.6.1:
1078 | version "0.6.1"
1079 | resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
1080 | integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=
1081 |
1082 | form-data@~2.3.2:
1083 | version "2.3.3"
1084 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6"
1085 | integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==
1086 | dependencies:
1087 | asynckit "^0.4.0"
1088 | combined-stream "^1.0.6"
1089 | mime-types "^2.1.12"
1090 |
1091 | fs-constants@^1.0.0:
1092 | version "1.0.0"
1093 | resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad"
1094 | integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==
1095 |
1096 | fs-extra@^8.1.0:
1097 | version "8.1.0"
1098 | resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0"
1099 | integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==
1100 | dependencies:
1101 | graceful-fs "^4.2.0"
1102 | jsonfile "^4.0.0"
1103 | universalify "^0.1.0"
1104 |
1105 | fs.realpath@^1.0.0:
1106 | version "1.0.0"
1107 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
1108 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
1109 |
1110 | ftp@~0.3.10:
1111 | version "0.3.10"
1112 | resolved "https://registry.yarnpkg.com/ftp/-/ftp-0.3.10.tgz#9197d861ad8142f3e63d5a83bfe4c59f7330885d"
1113 | integrity sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0=
1114 | dependencies:
1115 | readable-stream "1.1.x"
1116 | xregexp "2.0.0"
1117 |
1118 | function-bind@^1.1.1:
1119 | version "1.1.1"
1120 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
1121 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
1122 |
1123 | get-caller-file@^2.0.1:
1124 | version "2.0.5"
1125 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
1126 | integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
1127 |
1128 | get-uri@^2.0.0:
1129 | version "2.0.4"
1130 | resolved "https://registry.yarnpkg.com/get-uri/-/get-uri-2.0.4.tgz#d4937ab819e218d4cb5ae18e4f5962bef169cc6a"
1131 | integrity sha512-v7LT/s8kVjs+Tx0ykk1I+H/rbpzkHvuIq87LmeXptcf5sNWm9uQiwjNAt94SJPA1zOlCntmnOlJvVWKmzsxG8Q==
1132 | dependencies:
1133 | data-uri-to-buffer "1"
1134 | debug "2"
1135 | extend "~3.0.2"
1136 | file-uri-to-path "1"
1137 | ftp "~0.3.10"
1138 | readable-stream "2"
1139 |
1140 | getpass@^0.1.1:
1141 | version "0.1.7"
1142 | resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
1143 | integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=
1144 | dependencies:
1145 | assert-plus "^1.0.0"
1146 |
1147 | glob@^7.1.4:
1148 | version "7.1.5"
1149 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.5.tgz#6714c69bee20f3c3e64c4dd905553e532b40cdc0"
1150 | integrity sha512-J9dlskqUXK1OeTOYBEn5s8aMukWMwWfs+rPTn/jn50Ux4MNXVhubL1wu/j2t+H4NVI+cXEcCaYellqaPVGXNqQ==
1151 | dependencies:
1152 | fs.realpath "^1.0.0"
1153 | inflight "^1.0.4"
1154 | inherits "2"
1155 | minimatch "^3.0.4"
1156 | once "^1.3.0"
1157 | path-is-absolute "^1.0.0"
1158 |
1159 | graceful-fs@^4.1.6, graceful-fs@^4.2.0:
1160 | version "4.2.3"
1161 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423"
1162 | integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==
1163 |
1164 | har-schema@^2.0.0:
1165 | version "2.0.0"
1166 | resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
1167 | integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=
1168 |
1169 | har-validator@~5.1.0:
1170 | version "5.1.3"
1171 | resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080"
1172 | integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==
1173 | dependencies:
1174 | ajv "^6.5.5"
1175 | har-schema "^2.0.0"
1176 |
1177 | has-symbols@^1.0.0:
1178 | version "1.0.0"
1179 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44"
1180 | integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=
1181 |
1182 | has@^1.0.1, has@^1.0.3:
1183 | version "1.0.3"
1184 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
1185 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
1186 | dependencies:
1187 | function-bind "^1.1.1"
1188 |
1189 | "heap@>= 0.2.0":
1190 | version "0.2.6"
1191 | resolved "https://registry.yarnpkg.com/heap/-/heap-0.2.6.tgz#087e1f10b046932fc8594dd9e6d378afc9d1e5ac"
1192 | integrity sha1-CH4fELBGky/IWU3Z5tN4r8nR5aw=
1193 |
1194 | http-errors@1.7.3:
1195 | version "1.7.3"
1196 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06"
1197 | integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==
1198 | dependencies:
1199 | depd "~1.1.2"
1200 | inherits "2.0.4"
1201 | setprototypeof "1.1.1"
1202 | statuses ">= 1.5.0 < 2"
1203 | toidentifier "1.0.0"
1204 |
1205 | http-proxy-agent@^2.1.0:
1206 | version "2.1.0"
1207 | resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz#e4821beef5b2142a2026bd73926fe537631c5405"
1208 | integrity sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==
1209 | dependencies:
1210 | agent-base "4"
1211 | debug "3.1.0"
1212 |
1213 | http-signature@~1.2.0:
1214 | version "1.2.0"
1215 | resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1"
1216 | integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=
1217 | dependencies:
1218 | assert-plus "^1.0.0"
1219 | jsprim "^1.2.2"
1220 | sshpk "^1.7.0"
1221 |
1222 | https-proxy-agent@^3.0.0:
1223 | version "3.0.1"
1224 | resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-3.0.1.tgz#b8c286433e87602311b01c8ea34413d856a4af81"
1225 | integrity sha512-+ML2Rbh6DAuee7d07tYGEKOEi2voWPUGan+ExdPbPW6Z3svq+JCqr0v8WmKPOkz1vOVykPCBSuobe7G8GJUtVg==
1226 | dependencies:
1227 | agent-base "^4.3.0"
1228 | debug "^3.1.0"
1229 |
1230 | iconv-lite@0.4.24:
1231 | version "0.4.24"
1232 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
1233 | integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
1234 | dependencies:
1235 | safer-buffer ">= 2.1.2 < 3"
1236 |
1237 | ieee754@^1.1.13, ieee754@^1.1.4:
1238 | version "1.1.13"
1239 | resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84"
1240 | integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==
1241 |
1242 | inflight@^1.0.4:
1243 | version "1.0.6"
1244 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
1245 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
1246 | dependencies:
1247 | once "^1.3.0"
1248 | wrappy "1"
1249 |
1250 | inherits@2, inherits@2.0.4, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3:
1251 | version "2.0.4"
1252 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
1253 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
1254 |
1255 | ip@^1.1.5:
1256 | version "1.1.5"
1257 | resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a"
1258 | integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=
1259 |
1260 | is-buffer@~1.1.1:
1261 | version "1.1.6"
1262 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
1263 | integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==
1264 |
1265 | is-callable@^1.1.4:
1266 | version "1.1.4"
1267 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75"
1268 | integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==
1269 |
1270 | is-date-object@^1.0.1:
1271 | version "1.0.1"
1272 | resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16"
1273 | integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=
1274 |
1275 | is-fullwidth-code-point@^2.0.0:
1276 | version "2.0.0"
1277 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
1278 | integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=
1279 |
1280 | is-fullwidth-code-point@^3.0.0:
1281 | version "3.0.0"
1282 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
1283 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
1284 |
1285 | is-regex@^1.0.4:
1286 | version "1.0.4"
1287 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491"
1288 | integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=
1289 | dependencies:
1290 | has "^1.0.1"
1291 |
1292 | is-symbol@^1.0.2:
1293 | version "1.0.2"
1294 | resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38"
1295 | integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==
1296 | dependencies:
1297 | has-symbols "^1.0.0"
1298 |
1299 | is-typedarray@~1.0.0:
1300 | version "1.0.0"
1301 | resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
1302 | integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=
1303 |
1304 | isarray@0.0.1:
1305 | version "0.0.1"
1306 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
1307 | integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=
1308 |
1309 | isarray@^1.0.0, isarray@~1.0.0:
1310 | version "1.0.0"
1311 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
1312 | integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
1313 |
1314 | isstream@~0.1.2:
1315 | version "0.1.2"
1316 | resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
1317 | integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=
1318 |
1319 | jmespath@^0.15.0:
1320 | version "0.15.0"
1321 | resolved "https://registry.yarnpkg.com/jmespath/-/jmespath-0.15.0.tgz#a3f222a9aae9f966f5d27c796510e28091764217"
1322 | integrity sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc=
1323 |
1324 | jsbn@~0.1.0:
1325 | version "0.1.1"
1326 | resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
1327 | integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM=
1328 |
1329 | json-diff@^0.5.4:
1330 | version "0.5.4"
1331 | resolved "https://registry.yarnpkg.com/json-diff/-/json-diff-0.5.4.tgz#7bc8198c441756632aab66c7d9189d365a7a035a"
1332 | integrity sha512-q5Xmx9QXNOzOzIlMoYtLrLiu4Jl/Ce2bn0CNcv54PhyH89CI4GWlGVDye8ei2Ijt9R3U+vsWPsXpLUNob8bs8Q==
1333 | dependencies:
1334 | cli-color "~0.1.6"
1335 | difflib "~0.2.1"
1336 | dreamopt "~0.6.0"
1337 |
1338 | json-schema-traverse@^0.4.1:
1339 | version "0.4.1"
1340 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
1341 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
1342 |
1343 | json-schema@0.2.3:
1344 | version "0.2.3"
1345 | resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
1346 | integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=
1347 |
1348 | json-stringify-safe@~5.0.1:
1349 | version "5.0.1"
1350 | resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
1351 | integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=
1352 |
1353 | jsonfile@^4.0.0:
1354 | version "4.0.0"
1355 | resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb"
1356 | integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=
1357 | optionalDependencies:
1358 | graceful-fs "^4.1.6"
1359 |
1360 | jsprim@^1.2.2:
1361 | version "1.4.1"
1362 | resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"
1363 | integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=
1364 | dependencies:
1365 | assert-plus "1.0.0"
1366 | extsprintf "1.3.0"
1367 | json-schema "0.2.3"
1368 | verror "1.10.0"
1369 |
1370 | lazystream@^1.0.0:
1371 | version "1.0.0"
1372 | resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4"
1373 | integrity sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=
1374 | dependencies:
1375 | readable-stream "^2.0.5"
1376 |
1377 | levn@~0.3.0:
1378 | version "0.3.0"
1379 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
1380 | integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=
1381 | dependencies:
1382 | prelude-ls "~1.1.2"
1383 | type-check "~0.3.2"
1384 |
1385 | locate-path@^3.0.0:
1386 | version "3.0.0"
1387 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e"
1388 | integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==
1389 | dependencies:
1390 | p-locate "^3.0.0"
1391 | path-exists "^3.0.0"
1392 |
1393 | lodash.defaults@^4.2.0:
1394 | version "4.2.0"
1395 | resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c"
1396 | integrity sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=
1397 |
1398 | lodash.difference@^4.5.0:
1399 | version "4.5.0"
1400 | resolved "https://registry.yarnpkg.com/lodash.difference/-/lodash.difference-4.5.0.tgz#9ccb4e505d486b91651345772885a2df27fd017c"
1401 | integrity sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw=
1402 |
1403 | lodash.flatten@^4.4.0:
1404 | version "4.4.0"
1405 | resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f"
1406 | integrity sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=
1407 |
1408 | lodash.isplainobject@^4.0.6:
1409 | version "4.0.6"
1410 | resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb"
1411 | integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=
1412 |
1413 | lodash.union@^4.6.0:
1414 | version "4.6.0"
1415 | resolved "https://registry.yarnpkg.com/lodash.union/-/lodash.union-4.6.0.tgz#48bb5088409f16f1821666641c44dd1aaae3cd88"
1416 | integrity sha1-SLtQiECfFvGCFmZkHETdGqrjzYg=
1417 |
1418 | lodash@^4.17.14:
1419 | version "4.17.15"
1420 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
1421 | integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==
1422 |
1423 | lru-cache@^5.1.1:
1424 | version "5.1.1"
1425 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
1426 | integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==
1427 | dependencies:
1428 | yallist "^3.0.2"
1429 |
1430 | md5@^2.2.1:
1431 | version "2.2.1"
1432 | resolved "https://registry.yarnpkg.com/md5/-/md5-2.2.1.tgz#53ab38d5fe3c8891ba465329ea23fac0540126f9"
1433 | integrity sha1-U6s41f48iJG6RlMp6iP6wFQBJvk=
1434 | dependencies:
1435 | charenc "~0.0.1"
1436 | crypt "~0.0.1"
1437 | is-buffer "~1.1.1"
1438 |
1439 | mime-db@1.40.0:
1440 | version "1.40.0"
1441 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz#a65057e998db090f732a68f6c276d387d4126c32"
1442 | integrity sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==
1443 |
1444 | mime-types@^2.1.12, mime-types@~2.1.19:
1445 | version "2.1.24"
1446 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81"
1447 | integrity sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==
1448 | dependencies:
1449 | mime-db "1.40.0"
1450 |
1451 | minimatch@>=3.0, minimatch@^3.0.4:
1452 | version "3.0.4"
1453 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
1454 | integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
1455 | dependencies:
1456 | brace-expansion "^1.1.7"
1457 |
1458 | ms@2.0.0:
1459 | version "2.0.0"
1460 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
1461 | integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
1462 |
1463 | ms@^2.1.1:
1464 | version "2.1.2"
1465 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
1466 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
1467 |
1468 | mute-stream@~0.0.4:
1469 | version "0.0.8"
1470 | resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d"
1471 | integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==
1472 |
1473 | netmask@^1.0.6:
1474 | version "1.0.6"
1475 | resolved "https://registry.yarnpkg.com/netmask/-/netmask-1.0.6.tgz#20297e89d86f6f6400f250d9f4f6b4c1945fcd35"
1476 | integrity sha1-ICl+idhvb2QA8lDZ9Pa0wZRfzTU=
1477 |
1478 | normalize-path@^3.0.0:
1479 | version "3.0.0"
1480 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
1481 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
1482 |
1483 | oauth-sign@~0.9.0:
1484 | version "0.9.0"
1485 | resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455"
1486 | integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==
1487 |
1488 | object-inspect@^1.6.0:
1489 | version "1.6.0"
1490 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.6.0.tgz#c70b6cbf72f274aab4c34c0c82f5167bf82cf15b"
1491 | integrity sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==
1492 |
1493 | object-keys@^1.0.12, object-keys@^1.1.1:
1494 | version "1.1.1"
1495 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
1496 | integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
1497 |
1498 | object.getownpropertydescriptors@^2.0.3:
1499 | version "2.0.3"
1500 | resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16"
1501 | integrity sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=
1502 | dependencies:
1503 | define-properties "^1.1.2"
1504 | es-abstract "^1.5.1"
1505 |
1506 | once@^1.3.0, once@^1.4.0:
1507 | version "1.4.0"
1508 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
1509 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
1510 | dependencies:
1511 | wrappy "1"
1512 |
1513 | optionator@^0.8.1:
1514 | version "0.8.2"
1515 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64"
1516 | integrity sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=
1517 | dependencies:
1518 | deep-is "~0.1.3"
1519 | fast-levenshtein "~2.0.4"
1520 | levn "~0.3.0"
1521 | prelude-ls "~1.1.2"
1522 | type-check "~0.3.2"
1523 | wordwrap "~1.0.0"
1524 |
1525 | p-limit@^2.0.0:
1526 | version "2.2.1"
1527 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.1.tgz#aa07a788cc3151c939b5131f63570f0dd2009537"
1528 | integrity sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==
1529 | dependencies:
1530 | p-try "^2.0.0"
1531 |
1532 | p-locate@^3.0.0:
1533 | version "3.0.0"
1534 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4"
1535 | integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==
1536 | dependencies:
1537 | p-limit "^2.0.0"
1538 |
1539 | p-try@^2.0.0:
1540 | version "2.2.0"
1541 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
1542 | integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
1543 |
1544 | pac-proxy-agent@^3.0.1:
1545 | version "3.0.1"
1546 | resolved "https://registry.yarnpkg.com/pac-proxy-agent/-/pac-proxy-agent-3.0.1.tgz#115b1e58f92576cac2eba718593ca7b0e37de2ad"
1547 | integrity sha512-44DUg21G/liUZ48dJpUSjZnFfZro/0K5JTyFYLBcmh9+T6Ooi4/i4efwUiEy0+4oQusCBqWdhv16XohIj1GqnQ==
1548 | dependencies:
1549 | agent-base "^4.2.0"
1550 | debug "^4.1.1"
1551 | get-uri "^2.0.0"
1552 | http-proxy-agent "^2.1.0"
1553 | https-proxy-agent "^3.0.0"
1554 | pac-resolver "^3.0.0"
1555 | raw-body "^2.2.0"
1556 | socks-proxy-agent "^4.0.1"
1557 |
1558 | pac-resolver@^3.0.0:
1559 | version "3.0.0"
1560 | resolved "https://registry.yarnpkg.com/pac-resolver/-/pac-resolver-3.0.0.tgz#6aea30787db0a891704deb7800a722a7615a6f26"
1561 | integrity sha512-tcc38bsjuE3XZ5+4vP96OfhOugrX+JcnpUbhfuc4LuXBLQhoTthOstZeoQJBDnQUDYzYmdImKsbz0xSl1/9qeA==
1562 | dependencies:
1563 | co "^4.6.0"
1564 | degenerator "^1.0.4"
1565 | ip "^1.1.5"
1566 | netmask "^1.0.6"
1567 | thunkify "^2.1.2"
1568 |
1569 | path-exists@^3.0.0:
1570 | version "3.0.0"
1571 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
1572 | integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=
1573 |
1574 | path-is-absolute@^1.0.0:
1575 | version "1.0.1"
1576 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
1577 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
1578 |
1579 | performance-now@^2.1.0:
1580 | version "2.1.0"
1581 | resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
1582 | integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=
1583 |
1584 | pify@^3.0.0:
1585 | version "3.0.0"
1586 | resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
1587 | integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=
1588 |
1589 | prelude-ls@~1.1.2:
1590 | version "1.1.2"
1591 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
1592 | integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=
1593 |
1594 | process-nextick-args@~2.0.0:
1595 | version "2.0.1"
1596 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
1597 | integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
1598 |
1599 | promptly@^3.0.3:
1600 | version "3.0.3"
1601 | resolved "https://registry.yarnpkg.com/promptly/-/promptly-3.0.3.tgz#e178f722e73d82c60d019462044bccfdd9872f42"
1602 | integrity sha512-EWnzOsxVKUjqKeE6SStH1/cO4+DE44QolaoJ4ojGd9z6pcNkpgfJKr1ncwxrOFHSTIzoudo7jG8y0re30/LO1g==
1603 | dependencies:
1604 | pify "^3.0.0"
1605 | read "^1.0.4"
1606 |
1607 | proxy-agent@^3.1.1:
1608 | version "3.1.1"
1609 | resolved "https://registry.yarnpkg.com/proxy-agent/-/proxy-agent-3.1.1.tgz#7e04e06bf36afa624a1540be247b47c970bd3014"
1610 | integrity sha512-WudaR0eTsDx33O3EJE16PjBRZWcX8GqCEeERw1W3hZJgH/F2a46g7jty6UGty6NeJ4CKQy8ds2CJPMiyeqaTvw==
1611 | dependencies:
1612 | agent-base "^4.2.0"
1613 | debug "4"
1614 | http-proxy-agent "^2.1.0"
1615 | https-proxy-agent "^3.0.0"
1616 | lru-cache "^5.1.1"
1617 | pac-proxy-agent "^3.0.1"
1618 | proxy-from-env "^1.0.0"
1619 | socks-proxy-agent "^4.0.1"
1620 |
1621 | proxy-from-env@^1.0.0:
1622 | version "1.0.0"
1623 | resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.0.0.tgz#33c50398f70ea7eb96d21f7b817630a55791c7ee"
1624 | integrity sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4=
1625 |
1626 | psl@^1.1.24:
1627 | version "1.4.0"
1628 | resolved "https://registry.yarnpkg.com/psl/-/psl-1.4.0.tgz#5dd26156cdb69fa1fdb8ab1991667d3f80ced7c2"
1629 | integrity sha512-HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw==
1630 |
1631 | punycode@1.3.2:
1632 | version "1.3.2"
1633 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d"
1634 | integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=
1635 |
1636 | punycode@^1.4.1:
1637 | version "1.4.1"
1638 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
1639 | integrity sha1-wNWmOycYgArY4esPpSachN1BhF4=
1640 |
1641 | punycode@^2.1.0:
1642 | version "2.1.1"
1643 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
1644 | integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
1645 |
1646 | qs@~6.5.2:
1647 | version "6.5.2"
1648 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
1649 | integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==
1650 |
1651 | querystring@0.2.0, querystring@^0.2.0:
1652 | version "0.2.0"
1653 | resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620"
1654 | integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=
1655 |
1656 | raw-body@^2.2.0:
1657 | version "2.4.1"
1658 | resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.1.tgz#30ac82f98bb5ae8c152e67149dac8d55153b168c"
1659 | integrity sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==
1660 | dependencies:
1661 | bytes "3.1.0"
1662 | http-errors "1.7.3"
1663 | iconv-lite "0.4.24"
1664 | unpipe "1.0.0"
1665 |
1666 | read@^1.0.4:
1667 | version "1.0.7"
1668 | resolved "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4"
1669 | integrity sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=
1670 | dependencies:
1671 | mute-stream "~0.0.4"
1672 |
1673 | readable-stream@1.1.x:
1674 | version "1.1.14"
1675 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9"
1676 | integrity sha1-fPTFTvZI44EwhMY23SB54WbAgdk=
1677 | dependencies:
1678 | core-util-is "~1.0.0"
1679 | inherits "~2.0.1"
1680 | isarray "0.0.1"
1681 | string_decoder "~0.10.x"
1682 |
1683 | readable-stream@2, readable-stream@^2.0.0, readable-stream@^2.0.5, readable-stream@^2.3.6:
1684 | version "2.3.6"
1685 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf"
1686 | integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==
1687 | dependencies:
1688 | core-util-is "~1.0.0"
1689 | inherits "~2.0.3"
1690 | isarray "~1.0.0"
1691 | process-nextick-args "~2.0.0"
1692 | safe-buffer "~5.1.1"
1693 | string_decoder "~1.1.1"
1694 | util-deprecate "~1.0.1"
1695 |
1696 | readable-stream@^3.0.1, readable-stream@^3.1.1, readable-stream@^3.4.0:
1697 | version "3.4.0"
1698 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.4.0.tgz#a51c26754658e0a3c21dbf59163bd45ba6f447fc"
1699 | integrity sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==
1700 | dependencies:
1701 | inherits "^2.0.3"
1702 | string_decoder "^1.1.1"
1703 | util-deprecate "^1.0.1"
1704 |
1705 | regenerator-runtime@^0.13.2:
1706 | version "0.13.3"
1707 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz#7cf6a77d8f5c6f60eb73c5fc1955b2ceb01e6bf5"
1708 | integrity sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==
1709 |
1710 | request@^2.88.0:
1711 | version "2.88.0"
1712 | resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef"
1713 | integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==
1714 | dependencies:
1715 | aws-sign2 "~0.7.0"
1716 | aws4 "^1.8.0"
1717 | caseless "~0.12.0"
1718 | combined-stream "~1.0.6"
1719 | extend "~3.0.2"
1720 | forever-agent "~0.6.1"
1721 | form-data "~2.3.2"
1722 | har-validator "~5.1.0"
1723 | http-signature "~1.2.0"
1724 | is-typedarray "~1.0.0"
1725 | isstream "~0.1.2"
1726 | json-stringify-safe "~5.0.1"
1727 | mime-types "~2.1.19"
1728 | oauth-sign "~0.9.0"
1729 | performance-now "^2.1.0"
1730 | qs "~6.5.2"
1731 | safe-buffer "^5.1.2"
1732 | tough-cookie "~2.4.3"
1733 | tunnel-agent "^0.6.0"
1734 | uuid "^3.3.2"
1735 |
1736 | require-directory@^2.1.1:
1737 | version "2.1.1"
1738 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
1739 | integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I=
1740 |
1741 | require-main-filename@^2.0.0:
1742 | version "2.0.0"
1743 | resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b"
1744 | integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==
1745 |
1746 | safe-buffer@^5.0.1, safe-buffer@^5.1.2, safe-buffer@~5.2.0:
1747 | version "5.2.0"
1748 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519"
1749 | integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==
1750 |
1751 | safe-buffer@~5.1.0, safe-buffer@~5.1.1:
1752 | version "5.1.2"
1753 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
1754 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
1755 |
1756 | "safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0:
1757 | version "2.1.2"
1758 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
1759 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
1760 |
1761 | sax@>=0.6.0, sax@^1.2.1:
1762 | version "1.2.4"
1763 | resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
1764 | integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
1765 |
1766 | semver@^6.3.0:
1767 | version "6.3.0"
1768 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
1769 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
1770 |
1771 | set-blocking@^2.0.0:
1772 | version "2.0.0"
1773 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
1774 | integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc=
1775 |
1776 | setprototypeof@1.1.1:
1777 | version "1.1.1"
1778 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683"
1779 | integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==
1780 |
1781 | slice-ansi@^2.1.0:
1782 | version "2.1.0"
1783 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636"
1784 | integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==
1785 | dependencies:
1786 | ansi-styles "^3.2.0"
1787 | astral-regex "^1.0.0"
1788 | is-fullwidth-code-point "^2.0.0"
1789 |
1790 | smart-buffer@4.0.2:
1791 | version "4.0.2"
1792 | resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.0.2.tgz#5207858c3815cc69110703c6b94e46c15634395d"
1793 | integrity sha512-JDhEpTKzXusOqXZ0BUIdH+CjFdO/CR3tLlf5CN34IypI+xMmXW1uB16OOY8z3cICbJlDAVJzNbwBhNO0wt9OAw==
1794 |
1795 | socks-proxy-agent@^4.0.1:
1796 | version "4.0.2"
1797 | resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-4.0.2.tgz#3c8991f3145b2799e70e11bd5fbc8b1963116386"
1798 | integrity sha512-NT6syHhI9LmuEMSK6Kd2V7gNv5KFZoLE7V5udWmn0de+3Mkj3UMA/AJPLyeNUVmElCurSHtUdM3ETpR3z770Wg==
1799 | dependencies:
1800 | agent-base "~4.2.1"
1801 | socks "~2.3.2"
1802 |
1803 | socks@~2.3.2:
1804 | version "2.3.2"
1805 | resolved "https://registry.yarnpkg.com/socks/-/socks-2.3.2.tgz#ade388e9e6d87fdb11649c15746c578922a5883e"
1806 | integrity sha512-pCpjxQgOByDHLlNqlnh/mNSAxIUkyBBuwwhTcV+enZGbDaClPvHdvm6uvOwZfFJkam7cGhBNbb4JxiP8UZkRvQ==
1807 | dependencies:
1808 | ip "^1.1.5"
1809 | smart-buffer "4.0.2"
1810 |
1811 | source-map-support@^0.5.13:
1812 | version "0.5.16"
1813 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.16.tgz#0ae069e7fe3ba7538c64c98515e35339eac5a042"
1814 | integrity sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==
1815 | dependencies:
1816 | buffer-from "^1.0.0"
1817 | source-map "^0.6.0"
1818 |
1819 | source-map@^0.6.0, source-map@~0.6.1:
1820 | version "0.6.1"
1821 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
1822 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
1823 |
1824 | sshpk@^1.7.0:
1825 | version "1.16.1"
1826 | resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877"
1827 | integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==
1828 | dependencies:
1829 | asn1 "~0.2.3"
1830 | assert-plus "^1.0.0"
1831 | bcrypt-pbkdf "^1.0.0"
1832 | dashdash "^1.12.0"
1833 | ecc-jsbn "~0.1.1"
1834 | getpass "^0.1.1"
1835 | jsbn "~0.1.0"
1836 | safer-buffer "^2.0.2"
1837 | tweetnacl "~0.14.0"
1838 |
1839 | "statuses@>= 1.5.0 < 2":
1840 | version "1.5.0"
1841 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
1842 | integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=
1843 |
1844 | string-width@^3.0.0, string-width@^3.1.0:
1845 | version "3.1.0"
1846 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961"
1847 | integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==
1848 | dependencies:
1849 | emoji-regex "^7.0.1"
1850 | is-fullwidth-code-point "^2.0.0"
1851 | strip-ansi "^5.1.0"
1852 |
1853 | string-width@^4.1.0:
1854 | version "4.1.0"
1855 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.1.0.tgz#ba846d1daa97c3c596155308063e075ed1c99aff"
1856 | integrity sha512-NrX+1dVVh+6Y9dnQ19pR0pP4FiEIlUvdTGn8pw6CKTNq5sgib2nIhmUNT5TAmhWmvKr3WcxBcP3E8nWezuipuQ==
1857 | dependencies:
1858 | emoji-regex "^8.0.0"
1859 | is-fullwidth-code-point "^3.0.0"
1860 | strip-ansi "^5.2.0"
1861 |
1862 | string.prototype.trimleft@^2.1.0:
1863 | version "2.1.0"
1864 | resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz#6cc47f0d7eb8d62b0f3701611715a3954591d634"
1865 | integrity sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==
1866 | dependencies:
1867 | define-properties "^1.1.3"
1868 | function-bind "^1.1.1"
1869 |
1870 | string.prototype.trimright@^2.1.0:
1871 | version "2.1.0"
1872 | resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz#669d164be9df9b6f7559fa8e89945b168a5a6c58"
1873 | integrity sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==
1874 | dependencies:
1875 | define-properties "^1.1.3"
1876 | function-bind "^1.1.1"
1877 |
1878 | string_decoder@^1.1.1:
1879 | version "1.3.0"
1880 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
1881 | integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
1882 | dependencies:
1883 | safe-buffer "~5.2.0"
1884 |
1885 | string_decoder@~0.10.x:
1886 | version "0.10.31"
1887 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
1888 | integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=
1889 |
1890 | string_decoder@~1.1.1:
1891 | version "1.1.1"
1892 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
1893 | integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
1894 | dependencies:
1895 | safe-buffer "~5.1.0"
1896 |
1897 | strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0:
1898 | version "5.2.0"
1899 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae"
1900 | integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==
1901 | dependencies:
1902 | ansi-regex "^4.1.0"
1903 |
1904 | table@^5.4.6:
1905 | version "5.4.6"
1906 | resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e"
1907 | integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==
1908 | dependencies:
1909 | ajv "^6.10.2"
1910 | lodash "^4.17.14"
1911 | slice-ansi "^2.1.0"
1912 | string-width "^3.0.0"
1913 |
1914 | tar-stream@^2.1.0:
1915 | version "2.1.0"
1916 | resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.1.0.tgz#d1aaa3661f05b38b5acc9b7020efdca5179a2cc3"
1917 | integrity sha512-+DAn4Nb4+gz6WZigRzKEZl1QuJVOLtAwwF+WUxy1fJ6X63CaGaUAxJRD2KEn1OMfcbCjySTYpNC6WmfQoIEOdw==
1918 | dependencies:
1919 | bl "^3.0.0"
1920 | end-of-stream "^1.4.1"
1921 | fs-constants "^1.0.0"
1922 | inherits "^2.0.3"
1923 | readable-stream "^3.1.1"
1924 |
1925 | thunkify@^2.1.2:
1926 | version "2.1.2"
1927 | resolved "https://registry.yarnpkg.com/thunkify/-/thunkify-2.1.2.tgz#faa0e9d230c51acc95ca13a361ac05ca7e04553d"
1928 | integrity sha1-+qDp0jDFGsyVyhOjYawFyn4EVT0=
1929 |
1930 | toidentifier@1.0.0:
1931 | version "1.0.0"
1932 | resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553"
1933 | integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==
1934 |
1935 | tough-cookie@~2.4.3:
1936 | version "2.4.3"
1937 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781"
1938 | integrity sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==
1939 | dependencies:
1940 | psl "^1.1.24"
1941 | punycode "^1.4.1"
1942 |
1943 | tunnel-agent@^0.6.0:
1944 | version "0.6.0"
1945 | resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
1946 | integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=
1947 | dependencies:
1948 | safe-buffer "^5.0.1"
1949 |
1950 | tweetnacl@^0.14.3, tweetnacl@~0.14.0:
1951 | version "0.14.5"
1952 | resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
1953 | integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=
1954 |
1955 | type-check@~0.3.2:
1956 | version "0.3.2"
1957 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
1958 | integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=
1959 | dependencies:
1960 | prelude-ls "~1.1.2"
1961 |
1962 | typescript@3.1.2:
1963 | version "3.1.2"
1964 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.1.2.tgz#c03a5d16f30bb60ad8bb6fe8e7cb212eedeec950"
1965 | integrity sha512-gOoGJWbNnFAfP9FlrSV63LYD5DJqYJHG5ky1kOXSl3pCImn4rqWy/flyq1BRd4iChQsoCqjbQaqtmXO4yCVPCA==
1966 |
1967 | universalify@^0.1.0:
1968 | version "0.1.2"
1969 | resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
1970 | integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
1971 |
1972 | unpipe@1.0.0:
1973 | version "1.0.0"
1974 | resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
1975 | integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=
1976 |
1977 | uri-js@^4.2.2:
1978 | version "4.2.2"
1979 | resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0"
1980 | integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==
1981 | dependencies:
1982 | punycode "^2.1.0"
1983 |
1984 | url@^0.10.3:
1985 | version "0.10.3"
1986 | resolved "https://registry.yarnpkg.com/url/-/url-0.10.3.tgz#021e4d9c7705f21bbf37d03ceb58767402774c64"
1987 | integrity sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=
1988 | dependencies:
1989 | punycode "1.3.2"
1990 | querystring "0.2.0"
1991 |
1992 | util-deprecate@^1.0.1, util-deprecate@~1.0.1:
1993 | version "1.0.2"
1994 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
1995 | integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
1996 |
1997 | util.promisify@~1.0.0:
1998 | version "1.0.0"
1999 | resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030"
2000 | integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==
2001 | dependencies:
2002 | define-properties "^1.1.2"
2003 | object.getownpropertydescriptors "^2.0.3"
2004 |
2005 | uuid@^3.3.2:
2006 | version "3.3.3"
2007 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866"
2008 | integrity sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==
2009 |
2010 | verror@1.10.0:
2011 | version "1.10.0"
2012 | resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
2013 | integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=
2014 | dependencies:
2015 | assert-plus "^1.0.0"
2016 | core-util-is "1.0.2"
2017 | extsprintf "^1.2.0"
2018 |
2019 | which-module@^2.0.0:
2020 | version "2.0.0"
2021 | resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
2022 | integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=
2023 |
2024 | wordwrap@>=0.0.2, wordwrap@~1.0.0:
2025 | version "1.0.0"
2026 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
2027 | integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=
2028 |
2029 | wrap-ansi@^5.1.0:
2030 | version "5.1.0"
2031 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09"
2032 | integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==
2033 | dependencies:
2034 | ansi-styles "^3.2.0"
2035 | string-width "^3.0.0"
2036 | strip-ansi "^5.0.0"
2037 |
2038 | wrappy@1:
2039 | version "1.0.2"
2040 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
2041 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
2042 |
2043 | xml2js@^0.4.19:
2044 | version "0.4.22"
2045 | resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.22.tgz#4fa2d846ec803237de86f30aa9b5f70b6600de02"
2046 | integrity sha512-MWTbxAQqclRSTnehWWe5nMKzI3VmJ8ltiJEco8akcC6j3miOhjjfzKum5sId+CWhfxdOs/1xauYr8/ZDBtQiRw==
2047 | dependencies:
2048 | sax ">=0.6.0"
2049 | util.promisify "~1.0.0"
2050 | xmlbuilder "~11.0.0"
2051 |
2052 | xmlbuilder@~11.0.0:
2053 | version "11.0.1"
2054 | resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3"
2055 | integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==
2056 |
2057 | xregexp@2.0.0:
2058 | version "2.0.0"
2059 | resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-2.0.0.tgz#52a63e56ca0b84a7f3a5f3d61872f126ad7a5943"
2060 | integrity sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM=
2061 |
2062 | xregexp@^4.2.4:
2063 | version "4.2.4"
2064 | resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-4.2.4.tgz#02a4aea056d65a42632c02f0233eab8e4d7e57ed"
2065 | integrity sha512-sO0bYdYeJAJBcJA8g7MJJX7UrOZIfJPd8U2SC7B2Dd/J24U0aQNoGp33shCaBSWeb0rD5rh6VBUIXOkGal1TZA==
2066 | dependencies:
2067 | "@babel/runtime-corejs2" "^7.2.0"
2068 |
2069 | y18n@^4.0.0:
2070 | version "4.0.0"
2071 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b"
2072 | integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==
2073 |
2074 | yallist@^3.0.2:
2075 | version "3.1.1"
2076 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
2077 | integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
2078 |
2079 | yaml@^1.7.2:
2080 | version "1.7.2"
2081 | resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.7.2.tgz#f26aabf738590ab61efaca502358e48dc9f348b2"
2082 | integrity sha512-qXROVp90sb83XtAoqE8bP9RwAkTTZbugRUTm5YeFCBfNRPEp2YzTeqWiz7m5OORHzEvrA/qcGS8hp/E+MMROYw==
2083 | dependencies:
2084 | "@babel/runtime" "^7.6.3"
2085 |
2086 | yargs-parser@^15.0.0:
2087 | version "15.0.0"
2088 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-15.0.0.tgz#cdd7a97490ec836195f59f3f4dbe5ea9e8f75f08"
2089 | integrity sha512-xLTUnCMc4JhxrPEPUYD5IBR1mWCK/aT6+RJ/K29JY2y1vD+FhtgKK0AXRWvI262q3QSffAQuTouFIKUuHX89wQ==
2090 | dependencies:
2091 | camelcase "^5.0.0"
2092 | decamelize "^1.2.0"
2093 |
2094 | yargs@^14.2.0:
2095 | version "14.2.0"
2096 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-14.2.0.tgz#f116a9242c4ed8668790b40759b4906c276e76c3"
2097 | integrity sha512-/is78VKbKs70bVZH7w4YaZea6xcJWOAwkhbR0CFuZBmYtfTYF0xjGJF43AYd8g2Uii1yJwmS5GR2vBmrc32sbg==
2098 | dependencies:
2099 | cliui "^5.0.0"
2100 | decamelize "^1.2.0"
2101 | find-up "^3.0.0"
2102 | get-caller-file "^2.0.1"
2103 | require-directory "^2.1.1"
2104 | require-main-filename "^2.0.0"
2105 | set-blocking "^2.0.0"
2106 | string-width "^3.0.0"
2107 | which-module "^2.0.0"
2108 | y18n "^4.0.0"
2109 | yargs-parser "^15.0.0"
2110 |
2111 | zip-stream@^2.1.2:
2112 | version "2.1.2"
2113 | resolved "https://registry.yarnpkg.com/zip-stream/-/zip-stream-2.1.2.tgz#841efd23214b602ff49c497cba1a85d8b5fbc39c"
2114 | integrity sha512-ykebHGa2+uzth/R4HZLkZh3XFJzivhVsjJt8bN3GvBzLaqqrUdRacu+c4QtnUgjkkQfsOuNE1JgLKMCPNmkKgg==
2115 | dependencies:
2116 | archiver-utils "^2.1.0"
2117 | compress-commons "^2.1.1"
2118 | readable-stream "^3.4.0"
2119 |
--------------------------------------------------------------------------------