diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000..b9c9bee --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,240 @@ +version: 2 +jobs: + build_plugin: + docker: + - image: circleci/node:10 + working_directory: ~/plugin + steps: + - checkout + - restore_cache: + keys: + - yarn-packages-{{ checksum "yarn.lock" }} + - run: + name: Install yarn + command: | + sudo npm install -g yarn --quiet + yarn install --pure-lockfile + - run: + name: Run Toolkit Build + command: npx grafana-toolkit plugin:ci-build + - save_cache: + paths: + - node_modules + key: yarn-packages-{{ checksum "yarn.lock" }} + - persist_to_workspace: + root: . + paths: + - ci + build_docs: + docker: + - image: circleci/node:10 + working_directory: ~/plugin + steps: + - checkout + - restore_cache: + keys: + - yarn-packages-{{ checksum "yarn.lock" }} + - run: + name: Install yarn + command: | + sudo npm install -g yarn --quiet + yarn install --pure-lockfile + mkdir ci # Avoid error if not exists + - run: + name: Build Docs + command: npx grafana-toolkit plugin:ci-docs + - save_cache: + paths: + - node_modules + key: yarn-packages-{{ checksum "yarn.lock" }} + - persist_to_workspace: + root: . + paths: + - ci + build_osx: + docker: + - image: circleci/node:10 + working_directory: ~/plugin + steps: + - checkout + - restore_cache: + keys: + - yarn-packages-{{ checksum "yarn.lock" }} + - run: + name: Install yarn + command: | + sudo npm install -g yarn --quiet + yarn install --pure-lockfile + - run: + name: Run Toolkit CI + command: npx grafana-toolkit plugin:ci-build --backend osx + - save_cache: + paths: + - node_modules + key: yarn-packages-{{ checksum "yarn.lock" }} + - persist_to_workspace: + root: . + paths: + - ci/jobs/build_osx + build_win64: + docker: + - image: circleci/node:10 + working_directory: ~/plugin + steps: + - checkout + - restore_cache: + keys: + - yarn-packages-{{ checksum "yarn.lock" }} + - run: + name: Install yarn + command: | + sudo npm install -g yarn --quiet + yarn install --pure-lockfile + - run: + name: Run Toolkit CI + command: npx grafana-toolkit plugin:ci-build --backend win64 + - save_cache: + paths: + - node_modules + key: yarn-packages-{{ checksum "yarn.lock" }} + - persist_to_workspace: + root: . + paths: + - ci/jobs/build_win64 + package: + docker: + - image: circleci/node:10 + working_directory: ~/plugin + steps: + - checkout + - attach_workspace: + at: . + - restore_cache: + keys: + - yarn-packages-{{ checksum "yarn.lock" }} + - run: + name: Package Distribution + command: npx grafana-toolkit plugin:ci-package + - persist_to_workspace: + root: . + paths: + - ci/jobs/package + - ci/packages + - ci/dist + - ci/grafana-test-env + test_6_2_5: + docker: + - image: circleci/node:10-browsers + working_directory: ~/plugin + steps: + - checkout + - attach_workspace: + at: . + - restore_cache: + keys: + - yarn-packages-{{ checksum "yarn.lock" }} + - run: + name: Setup Grafana (local install) + command: | + wget https://dl.grafana.com/oss/release/grafana_6.2.5_amd64.deb + sudo apt-get install -y adduser libfontconfig1 + sudo dpkg -i grafana_6.2.5_amd64.deb + sudo apt-get install locate + sudo updatedb + sudo locate grafana + sudo cat /etc/grafana/grafana.ini + sudo echo ------------------------ + sudo cp ci/grafana-test-env/custom.ini /usr/share/grafana/conf/custom.ini + sudo cp ci/grafana-test-env/custom.ini /etc/grafana/grafana.ini + sudo service grafana-server start + sudo grafana-cli --version + - run: + name: Run e2e tests + command: | + npx grafana-toolkit plugin:ci-test + - persist_to_workspace: + root: . + paths: + - ci/jobs/test_6_2_5 + - store_test_results: + path: ci/jobs/test_6_2_5 + - store_artifacts: + path: ci/jobs/test_6_2_5 + test_6_3_0_beta1: + docker: + - image: circleci/node:10-browsers + working_directory: ~/plugin + steps: + - checkout + - attach_workspace: + at: . + - restore_cache: + keys: + - yarn-packages-{{ checksum "yarn.lock" }} + - run: + name: Setup Grafana (local install) + command: | + wget https://dl.grafana.com/oss/release/grafana_6.3.0-beta1_amd64.deb + sudo apt-get install -y adduser libfontconfig1 + sudo dpkg -i grafana_6.3.0-beta1_amd64.deb + sudo apt-get install locate + sudo updatedb + sudo locate grafana + sudo cat /etc/grafana/grafana.ini + sudo echo ------------------------ + sudo cp ci/grafana-test-env/custom.ini /usr/share/grafana/conf/custom.ini + sudo cp ci/grafana-test-env/custom.ini /etc/grafana/grafana.ini + sudo service grafana-server start + sudo grafana-cli --version + - run: + name: Run e2e tests + command: | + npx grafana-toolkit plugin:ci-test + - persist_to_workspace: + root: . + paths: + - ci/jobs/test_6_3_0_beta1 + - store_test_results: + path: ci/jobs/test_6_3_0_beta1 + - store_artifacts: + path: ci/jobs/test_6_3_0_beta1 + report: + docker: + - image: circleci/node:10 + working_directory: ~/plugin + steps: + - checkout + - attach_workspace: + at: . + - restore_cache: + keys: + - yarn-packages-{{ checksum "yarn.lock" }} + - run: + name: Toolkit Report + command: npx grafana-toolkit plugin:ci-report + - store_artifacts: + path: ci +workflows: + version: 2 + plugin_workflow: + jobs: + - build_plugin + - build_osx + - build_win64 + - build_docs + - package: + requires: + - build_plugin + - build_osx + - build_win64 + - build_docs + - test_6_2_5: + requires: + - package + - test_6_3_0_beta1: + requires: + - package + - report: + requires: + - test_6_2_5 + - test_6_3_0_beta1 diff --git a/.gitignore b/.gitignore index 4260444..80c5358 100644 --- a/.gitignore +++ b/.gitignore @@ -37,3 +37,6 @@ jspm_packages .node_repl_history .tscache + + +dist/ diff --git a/.prettierrc.js b/.prettierrc.js new file mode 100644 index 0000000..aaa11fb --- /dev/null +++ b/.prettierrc.js @@ -0,0 +1,4 @@ +module.exports = { + ...require("./node_modules/@grafana/toolkit/src/config/prettier.plugin.config.json"), +}; + diff --git a/Gruntfile.js b/Gruntfile.js deleted file mode 100644 index 855363f..0000000 --- a/Gruntfile.js +++ /dev/null @@ -1,95 +0,0 @@ -module.exports = function(grunt) { - require('load-grunt-tasks')(grunt); - - grunt.loadNpmTasks('grunt-contrib-clean'); - grunt.loadNpmTasks('grunt-typescript'); - grunt.loadNpmTasks('grunt-contrib-watch'); - - - grunt.initConfig({ - clean: ['dist'], - - copy: { - dist_js: { - expand: true, - cwd: 'src', - src: ['**/*.ts', '**/*.d.ts'], - dest: 'dist' - }, - dist_html: { - expand: true, - cwd: 'src', - src: ['**/*.html', '**/*.json'], - dest: 'dist' - }, - dist_css: { - expand: true, - flatten: true, - cwd: 'src/css', - src: ['*.css'], - dest: 'dist/css/' - }, - dist_img: { - expand: true, - flatten: true, - cwd: 'src/img', - src: ['*.*'], - dest: 'dist/img/' - }, - dist_statics: { - expand: true, - flatten: true, - src: ['src/plugin.json', 'LICENSE', 'README.md', 'src/query_help.md'], - dest: 'dist/' - } - }, - - typescript: { - build: { - src: ['dist/**/*.ts', '!**/*.d.ts'], - dest: 'dist', - options: { - module: 'system', - target: 'es5', - rootDir: 'dist/', - declaration: true, - emitDecoratorMetadata: true, - experimentalDecorators: true, - sourceMap: true, - noImplicitAny: false, - } - } - }, - - sass: { - options: { - sourceMap: true - }, - dist: { - files: { - "dist/css/kubernetes.dark.css": "src/sass/kubernetes.dark.scss", - "dist/css/kubernetes.light.css": "src/sass/kubernetes.light.scss", - } - } - }, - - watch: { - files: ['src/**/*.ts', 'src/**/*.html', 'src/**/*.css', 'src/img/*.*', 'src/plugin.json', 'README.md', 'src/query_help.md'], - tasks: ['default'], - options: { - debounceDelay: 250, - }, - } - }); - - grunt.registerTask('default', [ - 'clean', - 'copy:dist_js', - 'sass', - 'typescript:build', - 'copy:dist_html', - 'copy:dist_css', - 'copy:dist_img', - 'copy:dist_statics' - ]); -}; \ No newline at end of file diff --git a/dist/LICENSE b/dist/LICENSE deleted file mode 100644 index 8dada3e..0000000 --- a/dist/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/dist/README.md b/dist/README.md deleted file mode 100644 index 549c689..0000000 --- a/dist/README.md +++ /dev/null @@ -1,93 +0,0 @@ -# Grafana App for Kubernetes - -[Kubernetes](http://kubernetes.io/) is an open-source system for automating deployment, scaling, and management of containerized applications. - -The Grafana Kubernetes App allows you to monitor your Kubernetes cluster's performance. It includes 4 dashboards, Cluster, Node, Pod/Container and Deployment. It allows for the automatic deployment of the required Prometheus exporters and a default scrape config to use with your in cluster Prometheus deployment. The metrics collected are high-level cluster and node stats as well as lower level pod and container stats. Use the high-level metrics to alert on and the low-level metrics to troubleshoot. - -![Container Dashboard](https://github.com/grafana/kubernetes-app/blob/master/src/img/cluster-dashboard-screenshot.png?raw=true) - -![Container Dashboard](https://github.com/grafana/kubernetes-app/blob/master/src/img/container-dashboard-screenshot.png?raw=true) - -![Node Dashboard](https://github.com/grafana/kubernetes-app/blob/master/src/img/node-dashboard-screenshot.png?raw=true) - -### Requirements - -1. Currently only has support for [**Prometheus**](https://prometheus.io/docs/prometheus/latest/querying/basics/) -2. For automatic deployment of the exporters, then Kubernetes 1.6 or higher is required. -3. Grafana 5.0.0+ - -### Features - -- The app uses Kubernetes tags to allow you to filter pod metrics. Kubernetes clusters tend to have a lot of pods and a lot of pod metrics. The Pod/Container dashboard leverages the pod tags so you can easily find the relevant pod or pods. - -- Easy installation of exporters, either a one click deploy from Grafana or detailed instructions to deploy them manually them with kubectl (also quite easy!) - -- Cluster level metrics that are not available in Heapster, like CPU Capacity vs CPU Usage. - -### Cluster Metrics - -- Pod Capacity/Usage -- Memory Capacity/Usage -- CPU Capacity/Usage -- Disk Capacity/Usage -- Overview of Nodes, Pods and Containers - -### Node Metrics - -- CPU -- Memory Available -- Load per CPU -- Read IOPS -- Write IOPS -- %Util -- Network Traffic/second -- Network Packets/second -- Network Errors/second - -### Pod/Container Metrics - -- Memory Usage -- Network Traffic -- CPU Usage -- Read IOPS -- Write IOPS - -### Documentation - -#### Installation - -1. Use the grafana-cli tool to install kubernetes from the commandline: - -``` -grafana-cli plugins install grafana-kubernetes-app -``` - -2. Restart your Grafana server. - -3. Log into your Grafana instance. Navigate to the Plugins section, found in the Grafana main menu. Click the Apps tabs in the Plugins section and select the newly installed Kubernetes app. To enable the app, click the Config tab and click on the Enable button. - -#### Connecting to your Cluster - -1. Go to the Cluster List page via the Kubernetes app menu. - - ![Cluster List in main menu](https://github.com/grafana/kubernetes-app/blob/master/src/img/app-menu-screenshot.png?raw=true) - -2. Click the `New Cluster` button. - -3. Fill in the Auth details for your cluster. - - TLS certs/keys must be provided in plaintext, not base64 encoded form. For example: - ``` - -----BEGIN CERTIFICATE----- - MIQWQtAEFeqqfAFeAEGEQWIGNwEQNFGQ4AEFN35AKWadgAENGqiEGNIWm1QETDGF - ... - -----END CERTIFICATE----- - ``` - -4. Choose the Prometheus datasource that will be used for reading data in the dashboards. - -6. Click `Deploy`. This will deploy a Node Exporter DaemonSet, to collect health metrics for every node, and a Deployment that collects cluster metrics. - -### Feedback and Questions - -Please submit any issues with the app on [Github](https://github.com/grafana/kubernetes-app/issues). diff --git a/dist/components/clusters/clusterConfig.d.ts b/dist/components/clusters/clusterConfig.d.ts deleted file mode 100644 index ad49347..0000000 --- a/dist/components/clusters/clusterConfig.d.ts +++ /dev/null @@ -1,56 +0,0 @@ -/// -export declare class ClusterConfigCtrl { - private backendSrv; - private $q; - private contextSrv; - private $location; - private $window; - private alertSrv; - cluster: any; - isOrgEditor: boolean; - pageReady: boolean; - prometheusDeployed: boolean; - showHelp: boolean; - showPrometheusExample: boolean; - datasources: [any]; - static templateUrl: string; - /** @ngInject */ - constructor($scope: any, $injector: any, backendSrv: any, $q: any, contextSrv: any, $location: any, $window: any, alertSrv: any); - toggleHelp(): void; - togglePrometheusExample(): void; - getDatasources(): any; - getCluster(id: any): any; - getPrometheusDatasources(): any; - getDeployments(): any; - save(): any; - savePrometheusConfigToFile(): void; - saveNodeExporterDSToFile(): void; - saveKubeStateDeployToFile(): void; - saveToFile(filename: any, blob: any): void; - deploy(): void; - undeploy(): void; - saveDatasource(): any; - saveAndDeploy(): any; - checkApiVersion(clusterId: any): any; - createConfigMap(clusterId: any, cm: any): any; - createDaemonSet(clusterId: any, daemonSet: any): any; - deleteDaemonSet(clusterId: any): any; - createDeployment(clusterId: any, deployment: any): any; - deleteDeployment(clusterId: any, deploymentName: any): any; - deleteConfigMap(clusterId: any, cmName: any): any; - deletePods(): any; - cancel(): void; - deployPrometheus(): any; - undeployPrometheus(): any; - generatePrometheusConfig(): string; - generatePrometheusConfigMap(): { - "apiVersion": string; - "kind": string; - "metadata": { - "name": string; - }; - "data": { - "prometheus.yml": string; - }; - }; -} diff --git a/dist/components/clusters/clusterConfig.js b/dist/components/clusters/clusterConfig.js deleted file mode 100644 index 5831ace..0000000 --- a/dist/components/clusters/clusterConfig.js +++ /dev/null @@ -1,466 +0,0 @@ -/// -System.register(['lodash', 'app/core/app_events', 'angular'], function(exports_1) { - var lodash_1, app_events_1, angular_1; - var nodeExporterImage, kubestateImage, kubestateDeployment, nodeExporterDaemonSet, ClusterConfigCtrl; - return { - setters:[ - function (lodash_1_1) { - lodash_1 = lodash_1_1; - }, - function (app_events_1_1) { - app_events_1 = app_events_1_1; - }, - function (angular_1_1) { - angular_1 = angular_1_1; - }], - execute: function() { - nodeExporterImage = 'quay.io/prometheus/node-exporter:v0.15.0'; - kubestateImage = 'quay.io/coreos/kube-state-metrics:v1.1.0'; - kubestateDeployment = { - "apiVersion": "apps/v1beta1", - "kind": "Deployment", - "metadata": { - "name": "kube-state-metrics", - "namespace": "kube-system" - }, - "spec": { - "selector": { - "matchLabels": { - "k8s-app": "kube-state-metrics", - "grafanak8sapp": "true" - } - }, - "replicas": 1, - "template": { - "metadata": { - "labels": { - "k8s-app": "kube-state-metrics", - "grafanak8sapp": "true" - } - }, - "spec": { - "containers": [{ - "name": "kube-state-metrics", - "image": kubestateImage, - "ports": [{ - "name": "http-metrics", - "containerPort": 8080 - }], - "readinessProbe": { - "httpGet": { - "path": "/healthz", - "port": 8080 - }, - "initialDelaySeconds": 5, - "timeoutSeconds": 5 - } - }] - } - } - } - }; - nodeExporterDaemonSet = { - "kind": "DaemonSet", - "apiVersion": "extensions/v1beta1", - "metadata": { - "name": "node-exporter", - "namespace": "kube-system" - }, - "spec": { - "selector": { - "matchLabels": { - "daemon": "node-exporter", - "grafanak8sapp": "true" - } - }, - "template": { - "metadata": { - "name": "node-exporter", - "labels": { - "daemon": "node-exporter", - "grafanak8sapp": "true" - } - }, - "spec": { - "volumes": [ - { - "name": "proc", - "hostPath": { - "path": "/proc" - } - }, - { - "name": "sys", - "hostPath": { - "path": "/sys" - } - } - ], - "containers": [{ - "name": "node-exporter", - "image": nodeExporterImage, - "args": [ - "--path.procfs=/proc_host", - "--path.sysfs=/host_sys" - ], - "ports": [{ - "name": "node-exporter", - "hostPort": 9100, - "containerPort": 9100 - }], - "volumeMounts": [{ - "name": "sys", - "readOnly": true, - "mountPath": "/host_sys" - }, - { - "name": "proc", - "readOnly": true, - "mountPath": "/proc_host" - } - ], - "imagePullPolicy": "IfNotPresent" - }], - "restartPolicy": "Always", - "hostNetwork": true, - "hostPID": true - } - } - } - }; - ClusterConfigCtrl = (function () { - /** @ngInject */ - function ClusterConfigCtrl($scope, $injector, backendSrv, $q, contextSrv, $location, $window, alertSrv) { - this.backendSrv = backendSrv; - this.$q = $q; - this.contextSrv = contextSrv; - this.$location = $location; - this.$window = $window; - this.alertSrv = alertSrv; - var self = this; - this.isOrgEditor = contextSrv.hasRole('Editor') || contextSrv.hasRole('Admin'); - this.cluster = { - type: 'grafana-kubernetes-datasource' - }; - this.pageReady = false; - this.prometheusDeployed = false; - this.showHelp = false; - this.showPrometheusExample = false; - document.title = 'Grafana Kubernetes App'; - this.getDatasources().then(function () { - self.pageReady = true; - }); - } - ClusterConfigCtrl.prototype.toggleHelp = function () { - this.showHelp = !this.showHelp; - }; - ClusterConfigCtrl.prototype.togglePrometheusExample = function () { - this.showPrometheusExample = !this.showPrometheusExample; - }; - ClusterConfigCtrl.prototype.getDatasources = function () { - var self = this; - var promises = []; - if ("cluster" in self.$location.search()) { - promises.push(self.getCluster(this.$location.search().cluster).then(function () { - return self.getDeployments().then(function (ds) { - lodash_1.default.forEach(ds.items, function (deployment) { - if (deployment.metadata.name === "prometheus-deployment") { - self.prometheusDeployed = true; - } - }); - }); - })); - } - promises.push(self.getPrometheusDatasources()); - return this.$q.all(promises); - }; - ClusterConfigCtrl.prototype.getCluster = function (id) { - var self = this; - return this.backendSrv.get('/api/datasources/' + id) - .then(function (ds) { - if (!(ds.jsonData.ds)) { - ds.jsonData.ds = ""; - } - self.cluster = ds; - }); - }; - ClusterConfigCtrl.prototype.getPrometheusDatasources = function () { - var self = this; - return this.backendSrv.get('/api/datasources') - .then(function (result) { - // self.hostedMetricsDS = _.filter(result, obj => - // /grafana.net\/(graphite|prometheus)$/.test(obj.url) - // ); - self.datasources = lodash_1.default.filter(result, { - "type": "prometheus" - }); - }); - }; - ClusterConfigCtrl.prototype.getDeployments = function () { - var self = this; - return this.backendSrv.request({ - url: 'api/datasources/proxy/' + self.cluster.id + '/apis/apps/v1beta1/namespaces/kube-system/deployments', - method: 'GET', - headers: { - 'Content-Type': 'application/json' - } - }); - }; - ClusterConfigCtrl.prototype.save = function () { - var _this = this; - return this.saveDatasource() - .then(function () { - return _this.getDatasources(); - }) - .then(function () { - _this.alertSrv.set("Saved", "Saved and successfully connected to " + _this.cluster.name, 'success', 3000); - }) - .catch(function (err) { - _this.alertSrv.set("Saved", "Saved but failed to connect to " + _this.cluster.name + '. Error: ' + err, 'error', 5000); - }); - }; - ClusterConfigCtrl.prototype.savePrometheusConfigToFile = function () { - var blob = new Blob([this.generatePrometheusConfig()], { - type: "application/yaml" - }); - this.saveToFile('prometheus.yml', blob); - }; - ClusterConfigCtrl.prototype.saveNodeExporterDSToFile = function () { - var blob = new Blob([angular_1.default.toJson(nodeExporterDaemonSet, true)], { - type: "application/json" - }); - this.saveToFile('grafanak8s-node-exporter-ds.json', blob); - }; - ClusterConfigCtrl.prototype.saveKubeStateDeployToFile = function () { - var blob = new Blob([angular_1.default.toJson(kubestateDeployment, true)], { - type: "application/json" - }); - this.saveToFile('grafanak8s-kubestate-deploy.json', blob); - }; - ClusterConfigCtrl.prototype.saveToFile = function (filename, blob) { - var blobUrl = window.URL.createObjectURL(blob); - var element = document.createElement('a'); - element.setAttribute('href', blobUrl); - element.setAttribute('download', filename); - element.style.display = 'none'; - document.body.appendChild(element); - element.click(); - document.body.removeChild(element); - }; - ClusterConfigCtrl.prototype.deploy = function () { - var _this = this; - var question = !this.prometheusDeployed ? - 'This action will deploy Prometheus exporters to your Kubernetes cluster.' + - 'Are you sure you want to deploy?' : - 'This action will update the Prometheus exporters on your Kubernetes cluster. ' + - 'Are you sure you want to deploy?'; - app_events_1.default.emit('confirm-modal', { - title: 'Deploy to Kubernetes Cluster', - text: question, - yesText: "Deploy", - icon: "fa-question", - onConfirm: function () { - _this.saveAndDeploy(); - } - }); - }; - ClusterConfigCtrl.prototype.undeploy = function () { - var _this = this; - var question = 'This action will remove the DaemonSet on your Kubernetes cluster that collects health metrics. ' + - 'Are you sure you want to remove it?'; - app_events_1.default.emit('confirm-modal', { - title: 'Remove Daemonset Collector', - text: question, - yesText: "Remove", - icon: "fa-question", - onConfirm: function () { - _this.undeployPrometheus(); - } - }); - }; - ClusterConfigCtrl.prototype.saveDatasource = function () { - if (this.cluster.id) { - return this.backendSrv.put('/api/datasources/' + this.cluster.id, this.cluster); - } - else { - return this.backendSrv.post('/api/datasources', this.cluster); - } - }; - ClusterConfigCtrl.prototype.saveAndDeploy = function () { - var _this = this; - return this.saveDatasource() - .then(function () { - return _this.deployPrometheus(); - }); - }; - ClusterConfigCtrl.prototype.checkApiVersion = function (clusterId) { - return this.backendSrv.request({ - url: 'api/datasources/proxy/' + clusterId + '/apis/extensions/v1beta1', - method: 'GET', - headers: { - 'Content-Type': 'application/json' - } - }).then(function (result) { - if (!result.resources || result.resources.length === 0) { - throw "This Kubernetes cluster does not support v1beta1 of the API which is needed to deploy automatically. " + - "You can install manually using the instructions at the bottom of the page."; - } - }); - }; - ClusterConfigCtrl.prototype.createConfigMap = function (clusterId, cm) { - return this.backendSrv.request({ - url: 'api/datasources/proxy/' + clusterId + '/api/v1/namespaces/kube-system/configmaps', - method: 'POST', - data: cm, - headers: { - 'Content-Type': 'application/json' - } - }); - }; - ClusterConfigCtrl.prototype.createDaemonSet = function (clusterId, daemonSet) { - return this.backendSrv.request({ - url: 'api/datasources/proxy/' + clusterId + '/apis/extensions/v1beta1/namespaces/kube-system/daemonsets', - method: 'POST', - data: daemonSet, - headers: { - 'Content-Type': "application/json" - } - }); - }; - ClusterConfigCtrl.prototype.deleteDaemonSet = function (clusterId) { - return this.backendSrv.request({ - url: 'api/datasources/proxy/' + clusterId + '/apis/extensions/v1beta1/namespaces/kube-system/daemonsets/node-exporter', - method: 'DELETE', - }); - }; - ClusterConfigCtrl.prototype.createDeployment = function (clusterId, deployment) { - return this.backendSrv.request({ - url: 'api/datasources/proxy/' + clusterId + '/apis/apps/v1beta1/namespaces/kube-system/deployments', - method: 'POST', - data: deployment, - headers: { - 'Content-Type': "application/json" - } - }); - }; - ClusterConfigCtrl.prototype.deleteDeployment = function (clusterId, deploymentName) { - var _this = this; - return this.backendSrv.request({ - url: 'api/datasources/proxy/' + clusterId + '/apis/apps/v1beta1/namespaces/kube-system/deployments/' + deploymentName, - method: 'DELETE' - }).then(function () { - return _this.backendSrv.request({ - url: 'api/datasources/proxy/' + clusterId + - '/apis/extensions/v1beta1/namespaces/kube-system/replicasets?labelSelector=grafanak8sapp%3Dtrue', - method: 'DELETE' - }); - }); - }; - ClusterConfigCtrl.prototype.deleteConfigMap = function (clusterId, cmName) { - return this.backendSrv.request({ - url: 'api/datasources/proxy/' + clusterId + '/api/v1/namespaces/kube-system/configmaps/' + cmName, - method: 'DELETE' - }); - }; - ClusterConfigCtrl.prototype.deletePods = function () { - var _this = this; - var self = this; - return this.backendSrv.request({ - url: 'api/datasources/proxy/' + self.cluster.id + - '/api/v1/namespaces/kube-system/pods?labelSelector=grafanak8sapp%3Dtrue', - method: 'GET', - headers: { - 'Content-Type': 'application/json' - } - }).then(function (pods) { - if (!pods || pods.items.length === 0) { - throw "No pods found to update."; - } - var promises = []; - lodash_1.default.forEach(pods.items, function (pod) { - promises.push(_this.backendSrv.request({ - url: 'api/datasources/proxy/' + self.cluster.id + '/api/v1/namespaces/kube-system/pods/' + pod.metadata.name, - method: 'DELETE', - })); - }); - return _this.$q.all(promises); - }); - }; - ClusterConfigCtrl.prototype.cancel = function () { - this.$window.history.back(); - }; - ClusterConfigCtrl.prototype.deployPrometheus = function () { - var _this = this; - var self = this; - if (!this.cluster || !this.cluster.id) { - this.alertSrv.set("Error", "Could not connect to cluster.", 'error'); - return; - } - return this.checkApiVersion(self.cluster.id) - .then(function () { - return _this.createDeployment(self.cluster.id, kubestateDeployment); - }) - .catch(function (err) { - _this.alertSrv.set("Error", err, 'error'); - }) - .then(function () { - return _this.createDaemonSet(self.cluster.id, nodeExporterDaemonSet); - }) - .catch(function (err) { - _this.alertSrv.set("Error", err, 'error'); - }) - .then(function () { - _this.prometheusDeployed = true; - _this.alertSrv.set("Deployed", "Prometheus and exporters have been deployed to " + self.cluster.name, 'success', 5000); - }); - }; - ClusterConfigCtrl.prototype.undeployPrometheus = function () { - var _this = this; - var self = this; - return this.checkApiVersion(self.cluster.id) - .then(function () { - return _this.deleteDeployment(self.cluster.id, 'kube-state-metrics'); - }) - .catch(function (err) { - _this.alertSrv.set("Error", err, 'error'); - }) - .then(function () { - return _this.deleteDaemonSet(self.cluster.id); - }) - .catch(function (err) { - _this.alertSrv.set("Error", err, 'error'); - }) - .then(function () { - return _this.deletePods(); - }) - .catch(function (err) { - _this.alertSrv.set("Error", err, 'error'); - }) - .then(function () { - _this.prometheusDeployed = false; - _this.alertSrv.set("Grafana K8s removed", "Prometheus and exporters removed from " + self.cluster.name, 'success', 5000); - }); - }; - ClusterConfigCtrl.prototype.generatePrometheusConfig = function () { - return "scrape_configs:\n- job_name: 'kubernetes-kubelet'\n scheme: https\n tls_config:\n ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt\n insecure_skip_verify: true\n bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token\n kubernetes_sd_configs:\n - role: node\n relabel_configs:\n - action: labelmap\n regex: __meta_kubernetes_node_label_(.+)\n - target_label: __address__\n replacement: kubernetes.default.svc:443\n - source_labels: [__meta_kubernetes_node_name]\n regex: (.+)\n target_label: __metrics_path__\n replacement: /api/v1/nodes/${1}/proxy/metrics\n- job_name: 'kubernetes-cadvisor'\n scheme: https\n tls_config:\n ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt\n insecure_skip_verify: true\n bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token\n kubernetes_sd_configs:\n - role: node\n relabel_configs:\n - action: labelmap\n regex: __meta_kubernetes_node_label_(.+)\n - target_label: __address__\n replacement: kubernetes.default.svc:443\n - source_labels: [__meta_kubernetes_node_name]\n regex: (.+)\n target_label: __metrics_path__\n replacement: /api/v1/nodes/${1}/proxy/metrics/cadvisor\n- job_name: 'kubernetes-kube-state'\n kubernetes_sd_configs:\n - role: pod\n relabel_configs:\n - action: labelmap\n regex: __meta_kubernetes_pod_label_(.+)\n - source_labels: [__meta_kubernetes_namespace]\n action: replace\n target_label: kubernetes_namespace\n - source_labels: [__meta_kubernetes_pod_name]\n action: replace\n target_label: kubernetes_pod_name\n - source_labels: [__meta_kubernetes_pod_label_grafanak8sapp]\n regex: .*true.*\n action: keep\n - source_labels: ['__meta_kubernetes_pod_label_daemon', '__meta_kubernetes_pod_node_name']\n regex: 'node-exporter;(.*)'\n action: replace\n target_label: nodename"; - }; - ClusterConfigCtrl.prototype.generatePrometheusConfigMap = function () { - return { - "apiVersion": "v1", - "kind": "ConfigMap", - "metadata": { - "name": "prometheus-configmap" - }, - "data": { - "prometheus.yml": this.generatePrometheusConfig() - } - }; - }; - ClusterConfigCtrl.templateUrl = 'components/clusters/partials/cluster_config.html'; - return ClusterConfigCtrl; - })(); - exports_1("ClusterConfigCtrl", ClusterConfigCtrl); - } - } -}); -//# sourceMappingURL=clusterConfig.js.map \ No newline at end of file diff --git a/dist/components/clusters/clusterConfig.js.map b/dist/components/clusters/clusterConfig.js.map deleted file mode 100644 index 04d9be2..0000000 --- a/dist/components/clusters/clusterConfig.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"clusterConfig.js","sourceRoot":"","sources":["clusterConfig.ts"],"names":["ClusterConfigCtrl","ClusterConfigCtrl.constructor","ClusterConfigCtrl.toggleHelp","ClusterConfigCtrl.togglePrometheusExample","ClusterConfigCtrl.getDatasources","ClusterConfigCtrl.getCluster","ClusterConfigCtrl.getPrometheusDatasources","ClusterConfigCtrl.getDeployments","ClusterConfigCtrl.save","ClusterConfigCtrl.savePrometheusConfigToFile","ClusterConfigCtrl.saveNodeExporterDSToFile","ClusterConfigCtrl.saveKubeStateDeployToFile","ClusterConfigCtrl.saveToFile","ClusterConfigCtrl.deploy","ClusterConfigCtrl.undeploy","ClusterConfigCtrl.saveDatasource","ClusterConfigCtrl.saveAndDeploy","ClusterConfigCtrl.checkApiVersion","ClusterConfigCtrl.createConfigMap","ClusterConfigCtrl.createDaemonSet","ClusterConfigCtrl.deleteDaemonSet","ClusterConfigCtrl.createDeployment","ClusterConfigCtrl.deleteDeployment","ClusterConfigCtrl.deleteConfigMap","ClusterConfigCtrl.deletePods","ClusterConfigCtrl.cancel","ClusterConfigCtrl.deployPrometheus","ClusterConfigCtrl.undeployPrometheus","ClusterConfigCtrl.generatePrometheusConfig","ClusterConfigCtrl.generatePrometheusConfigMap"],"mappings":"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"} \ No newline at end of file diff --git a/dist/components/clusters/clusterConfig.ts b/dist/components/clusters/clusterConfig.ts deleted file mode 100644 index b0698af..0000000 --- a/dist/components/clusters/clusterConfig.ts +++ /dev/null @@ -1,536 +0,0 @@ -/// - -import _ from 'lodash'; -import appEvents from 'app/core/app_events'; -import angular from 'angular'; - -const nodeExporterImage='quay.io/prometheus/node-exporter:v0.15.0'; -const kubestateImage = 'quay.io/coreos/kube-state-metrics:v1.1.0'; - -let kubestateDeployment = { - "apiVersion": "apps/v1beta1", - "kind": "Deployment", - "metadata": { - "name": "kube-state-metrics", - "namespace": "kube-system" - }, - "spec": { - "selector": { - "matchLabels": { - "k8s-app": "kube-state-metrics", - "grafanak8sapp": "true" - } - }, - "replicas": 1, - "template": { - "metadata": { - "labels": { - "k8s-app": "kube-state-metrics", - "grafanak8sapp": "true" - } - }, - "spec": { - "containers": [{ - "name": "kube-state-metrics", - "image": kubestateImage, - "ports": [{ - "name": "http-metrics", - "containerPort": 8080 - }], - "readinessProbe": { - "httpGet": { - "path": "/healthz", - "port": 8080 - }, - "initialDelaySeconds": 5, - "timeoutSeconds": 5 - } - }] - } - } - } -}; - -const nodeExporterDaemonSet = { - "kind": "DaemonSet", - "apiVersion": "extensions/v1beta1", - "metadata": { - "name": "node-exporter", - "namespace": "kube-system" - }, - "spec": { - "selector": { - "matchLabels": { - "daemon": "node-exporter", - "grafanak8sapp": "true" - } - }, - "template": { - "metadata": { - "name": "node-exporter", - "labels": { - "daemon": "node-exporter", - "grafanak8sapp": "true" - } - }, - "spec": { - "volumes": [ - { - "name": "proc", - "hostPath": { - "path": "/proc" - } - }, - { - "name": "sys", - "hostPath": { - "path": "/sys" - } - } - ], - "containers": [{ - "name": "node-exporter", - "image": nodeExporterImage, - "args": [ - "--path.procfs=/proc_host", - "--path.sysfs=/host_sys" - ], - "ports": [{ - "name": "node-exporter", - "hostPort": 9100, - "containerPort": 9100 - }], - "volumeMounts": [{ - "name": "sys", - "readOnly": true, - "mountPath": "/host_sys" - }, - { - "name": "proc", - "readOnly": true, - "mountPath": "/proc_host" - } - ], - "imagePullPolicy": "IfNotPresent" - }], - "restartPolicy": "Always", - "hostNetwork": true, - "hostPID": true - } - } - } -}; - -export class ClusterConfigCtrl { - cluster: any; - isOrgEditor: boolean; - pageReady: boolean; - prometheusDeployed: boolean; - showHelp: boolean; - showPrometheusExample: boolean; - datasources: [any]; - - static templateUrl = 'components/clusters/partials/cluster_config.html'; - - /** @ngInject */ - constructor($scope, $injector, private backendSrv, private $q, private contextSrv, private $location, private $window, private alertSrv) { - var self = this; - this.isOrgEditor = contextSrv.hasRole('Editor') || contextSrv.hasRole('Admin'); - this.cluster = { - type: 'grafana-kubernetes-datasource' - }; - this.pageReady = false; - this.prometheusDeployed = false; - this.showHelp = false; - this.showPrometheusExample = false; - document.title = 'Grafana Kubernetes App'; - - this.getDatasources().then(() => { - self.pageReady = true; - }); - } - - toggleHelp() { - this.showHelp = !this.showHelp; - } - - togglePrometheusExample() { - this.showPrometheusExample = !this.showPrometheusExample; - } - - getDatasources() { - var self = this; - var promises = []; - if ("cluster" in self.$location.search()) { - promises.push(self.getCluster(this.$location.search().cluster).then(() => { - return self.getDeployments().then(ds => { - _.forEach(ds.items, function (deployment) { - if (deployment.metadata.name === "prometheus-deployment") { - self.prometheusDeployed = true; - } - }); - }); - })); - } - - promises.push(self.getPrometheusDatasources()); - - return this.$q.all(promises); - } - - getCluster(id) { - var self = this; - return this.backendSrv.get('/api/datasources/' + id) - .then((ds) => { - if (!(ds.jsonData.ds)) { - ds.jsonData.ds = ""; - } - self.cluster = ds; - }); - } - - getPrometheusDatasources() { - var self = this; - return this.backendSrv.get('/api/datasources') - .then((result) => { - // self.hostedMetricsDS = _.filter(result, obj => - // /grafana.net\/(graphite|prometheus)$/.test(obj.url) - // ); - self.datasources = _.filter(result, { - "type": "prometheus" - }); - }); - } - - getDeployments() { - var self = this; - return this.backendSrv.request({ - url: 'api/datasources/proxy/' + self.cluster.id + '/apis/apps/v1beta1/namespaces/kube-system/deployments', - method: 'GET', - headers: { - 'Content-Type': 'application/json' - } - }); - } - - save() { - return this.saveDatasource() - .then(() => { - return this.getDatasources(); - }) - .then(() => { - this.alertSrv.set("Saved", "Saved and successfully connected to " + this.cluster.name, 'success', 3000); - }) - .catch(err => { - this.alertSrv.set("Saved", "Saved but failed to connect to " + this.cluster.name + '. Error: ' + err, 'error', 5000); - }); - } - - savePrometheusConfigToFile() { - let blob = new Blob([this.generatePrometheusConfig()], { - type: "application/yaml" - }); - this.saveToFile('prometheus.yml', blob); - } - - saveNodeExporterDSToFile() { - let blob = new Blob([angular.toJson(nodeExporterDaemonSet, true)], { - type: "application/json" - }); - this.saveToFile('grafanak8s-node-exporter-ds.json', blob); - } - - saveKubeStateDeployToFile() { - let blob = new Blob([angular.toJson(kubestateDeployment, true)], { - type: "application/json" - }); - this.saveToFile('grafanak8s-kubestate-deploy.json', blob); - } - - saveToFile(filename, blob) { - let blobUrl = window.URL.createObjectURL(blob); - - let element = document.createElement('a'); - element.setAttribute('href', blobUrl); - element.setAttribute('download', filename); - element.style.display = 'none'; - document.body.appendChild(element); - element.click(); - document.body.removeChild(element); - } - - deploy() { - var question = !this.prometheusDeployed ? - 'This action will deploy Prometheus exporters to your Kubernetes cluster.' + - 'Are you sure you want to deploy?' : - 'This action will update the Prometheus exporters on your Kubernetes cluster. ' + - 'Are you sure you want to deploy?'; - appEvents.emit('confirm-modal', { - title: 'Deploy to Kubernetes Cluster', - text: question, - yesText: "Deploy", - icon: "fa-question", - onConfirm: () => { - this.saveAndDeploy(); - } - }); - } - - undeploy() { - var question = 'This action will remove the DaemonSet on your Kubernetes cluster that collects health metrics. ' + - 'Are you sure you want to remove it?'; - - appEvents.emit('confirm-modal', { - title: 'Remove Daemonset Collector', - text: question, - yesText: "Remove", - icon: "fa-question", - onConfirm: () => { - this.undeployPrometheus(); - } - }); - } - - saveDatasource() { - if (this.cluster.id) { - return this.backendSrv.put('/api/datasources/' + this.cluster.id, this.cluster); - } else { - return this.backendSrv.post('/api/datasources', this.cluster); - } - } - - saveAndDeploy() { - return this.saveDatasource() - .then(() => { - return this.deployPrometheus(); - }); - } - - checkApiVersion(clusterId) { - return this.backendSrv.request({ - url: 'api/datasources/proxy/' + clusterId + '/apis/extensions/v1beta1', - method: 'GET', - headers: { - 'Content-Type': 'application/json' - } - }).then(result => { - if (!result.resources || result.resources.length === 0) { - throw "This Kubernetes cluster does not support v1beta1 of the API which is needed to deploy automatically. " + - "You can install manually using the instructions at the bottom of the page."; - } - }); - } - - createConfigMap(clusterId, cm) { - return this.backendSrv.request({ - url: 'api/datasources/proxy/' + clusterId + '/api/v1/namespaces/kube-system/configmaps', - method: 'POST', - data: cm, - headers: { - 'Content-Type': 'application/json' - } - }); - } - - createDaemonSet(clusterId, daemonSet) { - return this.backendSrv.request({ - url: 'api/datasources/proxy/' + clusterId + '/apis/extensions/v1beta1/namespaces/kube-system/daemonsets', - method: 'POST', - data: daemonSet, - headers: { - 'Content-Type': "application/json" - } - }); - } - - deleteDaemonSet(clusterId) { - return this.backendSrv.request({ - url: 'api/datasources/proxy/' + clusterId + '/apis/extensions/v1beta1/namespaces/kube-system/daemonsets/node-exporter', - method: 'DELETE', - }); - } - - createDeployment(clusterId, deployment) { - return this.backendSrv.request({ - url: 'api/datasources/proxy/' + clusterId + '/apis/apps/v1beta1/namespaces/kube-system/deployments', - method: 'POST', - data: deployment, - headers: { - 'Content-Type': "application/json" - } - }); - } - - deleteDeployment(clusterId, deploymentName) { - return this.backendSrv.request({ - url: 'api/datasources/proxy/' + clusterId + '/apis/apps/v1beta1/namespaces/kube-system/deployments/' + deploymentName, - method: 'DELETE' - }).then(() => { - return this.backendSrv.request({ - url: 'api/datasources/proxy/' + clusterId + - '/apis/extensions/v1beta1/namespaces/kube-system/replicasets?labelSelector=grafanak8sapp%3Dtrue', - method: 'DELETE' - }); - }); - } - - deleteConfigMap(clusterId, cmName) { - return this.backendSrv.request({ - url: 'api/datasources/proxy/' + clusterId + '/api/v1/namespaces/kube-system/configmaps/' + cmName, - method: 'DELETE' - }); - } - - deletePods() { - var self = this; - return this.backendSrv.request({ - url: 'api/datasources/proxy/' + self.cluster.id + - '/api/v1/namespaces/kube-system/pods?labelSelector=grafanak8sapp%3Dtrue', - method: 'GET', - headers: { - 'Content-Type': 'application/json' - } - }).then(pods => { - if (!pods || pods.items.length === 0) { - throw "No pods found to update."; - } - - var promises = []; - - _.forEach(pods.items, pod => { - promises.push(this.backendSrv.request({ - url: 'api/datasources/proxy/' + self.cluster.id + '/api/v1/namespaces/kube-system/pods/' + pod.metadata.name, - method: 'DELETE', - })); - }); - - return this.$q.all(promises); - }); - } - - cancel() { - this.$window.history.back(); - } - - deployPrometheus() { - let self = this; - if (!this.cluster || !this.cluster.id) { - this.alertSrv.set("Error", "Could not connect to cluster.", 'error'); - return; - } - return this.checkApiVersion(self.cluster.id) - .then(() => { - return this.createDeployment(self.cluster.id, kubestateDeployment); - }) - .catch(err => { - this.alertSrv.set("Error", err, 'error'); - }) - .then(() => { - return this.createDaemonSet(self.cluster.id, nodeExporterDaemonSet); - }) - .catch(err => { - this.alertSrv.set("Error", err, 'error'); - }) - .then(() => { - this.prometheusDeployed = true; - this.alertSrv.set("Deployed", "Prometheus and exporters have been deployed to " + self.cluster.name, 'success', 5000); - }); - } - - undeployPrometheus() { - var self = this; - return this.checkApiVersion(self.cluster.id) - .then(() => { - return this.deleteDeployment(self.cluster.id, 'kube-state-metrics'); - }) - .catch(err => { - this.alertSrv.set("Error", err, 'error'); - }) - .then(() => { - return this.deleteDaemonSet(self.cluster.id); - }) - .catch(err => { - this.alertSrv.set("Error", err, 'error'); - }) - .then(() => { - return this.deletePods(); - }) - .catch(err => { - this.alertSrv.set("Error", err, 'error'); - }) - .then(() => { - this.prometheusDeployed = false; - this.alertSrv.set("Grafana K8s removed", "Prometheus and exporters removed from " + self.cluster.name, 'success', 5000); - }); - } - - generatePrometheusConfig() { - return `scrape_configs: -- job_name: \'kubernetes-kubelet\' - scheme: https - tls_config: - ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt - insecure_skip_verify: true - bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token - kubernetes_sd_configs: - - role: node - relabel_configs: - - action: labelmap - regex: __meta_kubernetes_node_label_(.+) - - target_label: __address__ - replacement: kubernetes.default.svc:443 - - source_labels: [__meta_kubernetes_node_name] - regex: (.+) - target_label: __metrics_path__ - replacement: /api/v1/nodes/\${1}/proxy/metrics -- job_name: \'kubernetes-cadvisor\' - scheme: https - tls_config: - ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt - insecure_skip_verify: true - bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token - kubernetes_sd_configs: - - role: node - relabel_configs: - - action: labelmap - regex: __meta_kubernetes_node_label_(.+) - - target_label: __address__ - replacement: kubernetes.default.svc:443 - - source_labels: [__meta_kubernetes_node_name] - regex: (.+) - target_label: __metrics_path__ - replacement: /api/v1/nodes/\${1}/proxy/metrics/cadvisor -- job_name: \'kubernetes-kube-state\' - kubernetes_sd_configs: - - role: pod - relabel_configs: - - action: labelmap - regex: __meta_kubernetes_pod_label_(.+) - - source_labels: [__meta_kubernetes_namespace] - action: replace - target_label: kubernetes_namespace - - source_labels: [__meta_kubernetes_pod_name] - action: replace - target_label: kubernetes_pod_name - - source_labels: [__meta_kubernetes_pod_label_grafanak8sapp] - regex: .*true.* - action: keep - - source_labels: ['__meta_kubernetes_pod_label_daemon', '__meta_kubernetes_pod_node_name'] - regex: 'node-exporter;(.*)' - action: replace - target_label: nodename`; - } - - generatePrometheusConfigMap() { - return { - "apiVersion": "v1", - "kind": "ConfigMap", - "metadata": { - "name": "prometheus-configmap" - }, - "data": { - "prometheus.yml": this.generatePrometheusConfig() - } - }; - } -} diff --git a/dist/components/clusters/clusterInfo.d.ts b/dist/components/clusters/clusterInfo.d.ts deleted file mode 100644 index 4375e7c..0000000 --- a/dist/components/clusters/clusterInfo.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -/// -export declare class ClusterInfoCtrl { - private backendSrv; - private datasourceSrv; - private $q; - private $location; - private alertSrv; - cluster: any; - pageReady: boolean; - componentStatuses: any; - namespaces: string[]; - namespace: string; - nodes: any[]; - datasources: any; - clusterDS: any; - static templateUrl: string; - /** @ngInject */ - constructor($scope: any, $injector: any, backendSrv: any, datasourceSrv: any, $q: any, $location: any, alertSrv: any); - getCluster(id: any): any; - getClusterInfo(): void; - goToClusterDashboard(): void; - goToPodDashboard(): void; - goToNodeDashboard(node: any, evt: any): void; - goToWorkloads(ns: any, evt: any): void; - goToNodeInfo(node: any, evt: any): void; -} diff --git a/dist/components/clusters/clusterInfo.js b/dist/components/clusters/clusterInfo.js deleted file mode 100644 index efc38be..0000000 --- a/dist/components/clusters/clusterInfo.js +++ /dev/null @@ -1,182 +0,0 @@ -/// -System.register(['lodash', 'jquery'], function(exports_1) { - var lodash_1, jquery_1; - var ClusterInfoCtrl; - function getComponentHealth(component) { - var health = "unhealthy"; - var message = ''; - lodash_1.default.forEach(component.conditions, function (condition) { - if (condition.type === "Healthy" && - condition.status === "True") { - health = "ok"; - } - else { - message = condition.message; - } - }); - return getHealthState(health, message); - } - function getNodeHealth(node) { - var health = "unhealthy"; - var message = ''; - lodash_1.default.forEach(node.status.conditions, function (condition) { - if (condition.type === "Ready" && - condition.status === "True") { - health = "ok"; - } - else { - message = condition.message; - } - }); - return getHealthState(health, message); - } - function getHealthState(health, message) { - switch (health) { - case 'ok': { - return { - text: 'OK', - iconClass: 'icon-gf icon-gf-online', - stateClass: 'alert-state-ok', - message: '' - }; - } - case 'unhealthy': { - return { - text: 'UNHEALTHY', - iconClass: 'icon-gf icon-gf-critical', - stateClass: 'alert-state-critical', - message: message || '' - }; - } - case 'warning': { - return { - text: 'warning', - iconClass: "icon-gf icon-gf-critical", - stateClass: 'alert-state-warning', - message: message || '' - }; - } - } - } - return { - setters:[ - function (lodash_1_1) { - lodash_1 = lodash_1_1; - }, - function (jquery_1_1) { - jquery_1 = jquery_1_1; - }], - execute: function() { - ClusterInfoCtrl = (function () { - /** @ngInject */ - function ClusterInfoCtrl($scope, $injector, backendSrv, datasourceSrv, $q, $location, alertSrv) { - var _this = this; - this.backendSrv = backendSrv; - this.datasourceSrv = datasourceSrv; - this.$q = $q; - this.$location = $location; - this.alertSrv = alertSrv; - this.$q = $q; - document.title = 'Grafana Kubernetes App'; - this.pageReady = false; - this.cluster = {}; - this.componentStatuses = []; - this.namespaces = []; - this.namespace = ""; - this.nodes = []; - if (!("cluster" in $location.search())) { - alertSrv.set("no cluster specified.", "no cluster specified in url", 'error'); - return; - } - this.getCluster($location.search().cluster) - .then(function (clusterDS) { - _this.clusterDS = clusterDS; - _this.pageReady = true; - _this.getClusterInfo(); - }); - } - ClusterInfoCtrl.prototype.getCluster = function (id) { - var _this = this; - return this.backendSrv.get('api/datasources/' + id).then(function (ds) { - _this.cluster = ds; - return _this.datasourceSrv.get(ds.name); - }); - }; - ClusterInfoCtrl.prototype.getClusterInfo = function () { - var _this = this; - this.clusterDS.getComponentStatuses().then(function (stats) { - _this.componentStatuses = lodash_1.default.map(stats, function (stat) { - stat.healthState = getComponentHealth(stat); - return stat; - }); - }); - this.clusterDS.getNamespaces().then(function (namespaces) { - _this.namespaces = namespaces; - }); - this.clusterDS.getNodes().then(function (nodes) { - _this.nodes = lodash_1.default.map(nodes, function (node) { - node.healthState = getNodeHealth(node); - return node; - }); - }); - }; - ClusterInfoCtrl.prototype.goToClusterDashboard = function () { - this.$location.path("dashboard/db/k8s-cluster") - .search({ - "var-datasource": this.cluster.jsonData.ds, - "var-cluster": this.cluster.name - }); - }; - ClusterInfoCtrl.prototype.goToPodDashboard = function () { - this.$location.path("dashboard/db/k8s-container") - .search({ - "var-datasource": this.cluster.jsonData.ds, - "var-cluster": this.cluster.name, - "var-node": 'All', - "var-namespace": 'All', - "var-pod": 'All' - }); - }; - ClusterInfoCtrl.prototype.goToNodeDashboard = function (node, evt) { - var clickTargetIsLinkOrHasLinkParents = jquery_1.default(evt.target).closest('a').length > 0; - if (clickTargetIsLinkOrHasLinkParents === false) { - this.$location.path("dashboard/db/k8s-node") - .search({ - "var-datasource": this.cluster.jsonData.ds, - "var-cluster": this.cluster.name, - "var-node": node === 'All' ? 'All' : node.metadata.name - }); - } - }; - ClusterInfoCtrl.prototype.goToWorkloads = function (ns, evt) { - var clickTargetIsLinkOrHasLinkParents = jquery_1.default(evt.target).closest('a').length > 0; - if (clickTargetIsLinkOrHasLinkParents === false) { - this.$location.path("plugins/grafana-kubernetes-app/page/cluster-workloads") - .search({ - "cluster": this.cluster.id, - "namespace": ns.metadata.name - }); - } - }; - ClusterInfoCtrl.prototype.goToNodeInfo = function (node, evt) { - var clickTargetIsLinkOrHasLinkParents = jquery_1.default(evt.target).closest('a').length > 0; - var closestElm = lodash_1.default.head(jquery_1.default(evt.target).closest('div')); - var clickTargetClickAttr = lodash_1.default.find(closestElm.attributes, { name: "ng-click" }); - var clickTargetIsNodeDashboard = clickTargetClickAttr ? clickTargetClickAttr.value === "ctrl.goToNodeDashboard(node, $event)" : false; - if (clickTargetIsLinkOrHasLinkParents === false && - clickTargetIsNodeDashboard === false) { - this.$location.path("plugins/grafana-kubernetes-app/page/node-info") - .search({ - "cluster": this.cluster.id, - "node": node.metadata.name - }); - } - }; - ClusterInfoCtrl.templateUrl = 'components/clusters/partials/cluster_info.html'; - return ClusterInfoCtrl; - })(); - exports_1("ClusterInfoCtrl", ClusterInfoCtrl); - } - } -}); -//# sourceMappingURL=clusterInfo.js.map \ No newline at end of file diff --git a/dist/components/clusters/clusterInfo.js.map b/dist/components/clusters/clusterInfo.js.map deleted file mode 100644 index ed94d9d..0000000 --- a/dist/components/clusters/clusterInfo.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"clusterInfo.js","sourceRoot":"","sources":["clusterInfo.ts"],"names":["getComponentHealth","getNodeHealth","getHealthState","ClusterInfoCtrl","ClusterInfoCtrl.constructor","ClusterInfoCtrl.getCluster","ClusterInfoCtrl.getClusterInfo","ClusterInfoCtrl.goToClusterDashboard","ClusterInfoCtrl.goToPodDashboard","ClusterInfoCtrl.goToNodeDashboard","ClusterInfoCtrl.goToWorkloads","ClusterInfoCtrl.goToNodeInfo"],"mappings":"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"} \ No newline at end of file diff --git a/dist/components/clusters/clusterInfo.ts b/dist/components/clusters/clusterInfo.ts deleted file mode 100644 index b7d2db7..0000000 --- a/dist/components/clusters/clusterInfo.ts +++ /dev/null @@ -1,182 +0,0 @@ -/// - -import _ from 'lodash'; -import $ from 'jquery'; - -export class ClusterInfoCtrl { - cluster: any; - pageReady: boolean; - componentStatuses: any; - namespaces: string[]; - namespace: string; - nodes: any[]; - datasources: any; - clusterDS: any; - - static templateUrl = 'components/clusters/partials/cluster_info.html'; - - /** @ngInject */ - constructor($scope, $injector, private backendSrv, private datasourceSrv, private $q, private $location, private alertSrv) { - this.$q = $q; - document.title = 'Grafana Kubernetes App'; - - this.pageReady = false; - this.cluster = {}; - this.componentStatuses = []; - this.namespaces = []; - this.namespace = ""; - this.nodes = []; - - if (!("cluster" in $location.search())) { - alertSrv.set("no cluster specified.", "no cluster specified in url", 'error'); - return; - } - - this.getCluster($location.search().cluster) - .then(clusterDS => { - this.clusterDS = clusterDS; - this.pageReady = true; - this.getClusterInfo(); - }); - } - - getCluster(id) { - return this.backendSrv.get('api/datasources/' + id).then(ds => { - this.cluster = ds; - return this.datasourceSrv.get(ds.name); - }); - } - - getClusterInfo() { - this.clusterDS.getComponentStatuses().then(stats => { - this.componentStatuses = _.map(stats, stat => { - stat.healthState = getComponentHealth(stat); - return stat; - }); - }); - this.clusterDS.getNamespaces().then(namespaces => { - this.namespaces = namespaces; - }); - this.clusterDS.getNodes().then(nodes => { - this.nodes = _.map(nodes, node => { - node.healthState = getNodeHealth(node); - return node; - }); - }); - } - - goToClusterDashboard() { - this.$location.path("dashboard/db/k8s-cluster") - .search({ - "var-datasource": this.cluster.jsonData.ds, - "var-cluster": this.cluster.name - }); - } - - goToPodDashboard() { - this.$location.path("dashboard/db/k8s-container") - .search({ - "var-datasource": this.cluster.jsonData.ds, - "var-cluster": this.cluster.name, - "var-node": 'All', - "var-namespace": 'All', - "var-pod": 'All' - }); - } - - goToNodeDashboard(node, evt) { - var clickTargetIsLinkOrHasLinkParents = $(evt.target).closest('a').length > 0; - if (clickTargetIsLinkOrHasLinkParents === false) { - this.$location.path("dashboard/db/k8s-node") - .search({ - "var-datasource": this.cluster.jsonData.ds, - "var-cluster": this.cluster.name, - "var-node": node === 'All' ? 'All': node.metadata.name - }); - } - } - - goToWorkloads(ns, evt) { - var clickTargetIsLinkOrHasLinkParents = $(evt.target).closest('a').length > 0; - if (clickTargetIsLinkOrHasLinkParents === false) { - this.$location.path("plugins/grafana-kubernetes-app/page/cluster-workloads") - .search({ - "cluster": this.cluster.id, - "namespace": ns.metadata.name - }); - } - } - - goToNodeInfo(node, evt) { - var clickTargetIsLinkOrHasLinkParents = $(evt.target).closest('a').length > 0; - - var closestElm = _.head($(evt.target).closest('div')); - var clickTargetClickAttr = _.find(closestElm.attributes, {name: "ng-click"}); - var clickTargetIsNodeDashboard = clickTargetClickAttr ? clickTargetClickAttr.value === "ctrl.goToNodeDashboard(node, $event)" : false; - if (clickTargetIsLinkOrHasLinkParents === false && - clickTargetIsNodeDashboard === false) { - this.$location.path("plugins/grafana-kubernetes-app/page/node-info") - .search({ - "cluster": this.cluster.id, - "node": node.metadata.name - }); - } - } -} - -function getComponentHealth(component) { - let health = "unhealthy"; - let message = ''; - _.forEach(component.conditions, condition => { - if (condition.type === "Healthy" && - condition.status === "True") { - health = "ok"; - } else { - message = condition.message; - } - }); - return getHealthState(health, message); -} - -function getNodeHealth(node) { - let health = "unhealthy"; - let message = ''; - _.forEach(node.status.conditions, condition => { - if (condition.type === "Ready" && - condition.status === "True") { - health = "ok"; - } else { - message = condition.message; - } - }); - return getHealthState(health, message); -} - -function getHealthState(health, message) { - switch (health) { - case 'ok': { - return { - text: 'OK', - iconClass: 'icon-gf icon-gf-online', - stateClass: 'alert-state-ok', - message: '' - }; - } - case 'unhealthy': { - return { - text: 'UNHEALTHY', - iconClass: 'icon-gf icon-gf-critical', - stateClass: 'alert-state-critical', - message: message || '' - }; - } - case 'warning': { - return { - text: 'warning', - iconClass: "icon-gf icon-gf-critical", - stateClass: 'alert-state-warning', - message: message || '' - }; - } - } -} diff --git a/dist/components/clusters/clusterWorkloads.d.ts b/dist/components/clusters/clusterWorkloads.d.ts deleted file mode 100644 index d3ef1b6..0000000 --- a/dist/components/clusters/clusterWorkloads.d.ts +++ /dev/null @@ -1,27 +0,0 @@ -/// -export declare class ClusterWorkloadsCtrl { - private backendSrv; - private datasourceSrv; - private $q; - private $location; - private alertSrv; - pageReady: boolean; - cluster: any; - namespaces: string[]; - namespace: string; - daemonSets: any[]; - replicationControllers: any[]; - deployments: any[]; - pods: any[]; - clusterDS: any; - static templateUrl: string; - /** @ngInject */ - constructor($scope: any, $injector: any, backendSrv: any, datasourceSrv: any, $q: any, $location: any, alertSrv: any); - getCluster(id: any): any; - getWorkloads(): void; - componentHealth(component: any): string; - isComponentHealthy(component: any): boolean; - goToPodDashboard(pod: any): void; - goToDeploymentDashboard(deploy: any): void; - goToPodInfo(pod: any, evt: any): void; -} diff --git a/dist/components/clusters/clusterWorkloads.js b/dist/components/clusters/clusterWorkloads.js deleted file mode 100644 index 4f9f3c1..0000000 --- a/dist/components/clusters/clusterWorkloads.js +++ /dev/null @@ -1,125 +0,0 @@ -/// -System.register(['lodash', 'jquery'], function(exports_1) { - var lodash_1, jquery_1; - var ClusterWorkloadsCtrl; - return { - setters:[ - function (lodash_1_1) { - lodash_1 = lodash_1_1; - }, - function (jquery_1_1) { - jquery_1 = jquery_1_1; - }], - execute: function() { - ClusterWorkloadsCtrl = (function () { - /** @ngInject */ - function ClusterWorkloadsCtrl($scope, $injector, backendSrv, datasourceSrv, $q, $location, alertSrv) { - var _this = this; - this.backendSrv = backendSrv; - this.datasourceSrv = datasourceSrv; - this.$q = $q; - this.$location = $location; - this.alertSrv = alertSrv; - document.title = 'Grafana Kubernetes App'; - this.pageReady = false; - this.cluster = {}; - this.namespaces = []; - this.namespace = ""; - this.daemonSets = []; - this.replicationControllers = []; - this.deployments = []; - this.pods = []; - if (!("cluster" in $location.search())) { - alertSrv.set("no cluster specified.", "no cluster specified in url", 'error'); - return; - } - if ("namespace" in $location.search()) { - this.namespace = $location.search().namespace; - } - this.getCluster($location.search().cluster) - .then(function (clusterDS) { - _this.clusterDS = clusterDS; - _this.pageReady = true; - _this.getWorkloads(); - }); - } - ClusterWorkloadsCtrl.prototype.getCluster = function (id) { - var _this = this; - return this.backendSrv.get('api/datasources/' + id).then(function (ds) { - _this.cluster = ds; - return _this.datasourceSrv.get(ds.name); - }); - }; - ClusterWorkloadsCtrl.prototype.getWorkloads = function () { - var _this = this; - var namespace = this.namespace; - this.clusterDS.getNamespaces().then(function (namespaces) { - _this.namespaces = namespaces; - }); - this.clusterDS.getDaemonSets(namespace).then(function (daemonSets) { - _this.daemonSets = daemonSets; - }); - this.clusterDS.getReplicationControllers(namespace).then(function (rc) { - _this.replicationControllers = rc; - }); - this.clusterDS.getDeployments(namespace).then(function (deployments) { - _this.deployments = deployments; - }); - this.clusterDS.getPods(namespace).then(function (pods) { - _this.pods = pods; - }); - }; - ClusterWorkloadsCtrl.prototype.componentHealth = function (component) { - var health = "unhealthy"; - lodash_1.default.forEach(component.conditions, function (condition) { - if ((condition.type === "Healthy") && (condition.status === "True")) { - health = "healthy"; - } - }); - return health; - }; - ClusterWorkloadsCtrl.prototype.isComponentHealthy = function (component) { - return this.componentHealth(component) === "healthy"; - }; - ClusterWorkloadsCtrl.prototype.goToPodDashboard = function (pod) { - this.$location.path("dashboard/db/k8s-container") - .search({ - "var-datasource": this.cluster.jsonData.ds, - "var-cluster": this.cluster.name, - "var-node": pod.spec.nodeName, - "var-namespace": pod.metadata.namespace, - "var-pod": pod.metadata.name - }); - }; - ClusterWorkloadsCtrl.prototype.goToDeploymentDashboard = function (deploy) { - this.$location.path("dashboard/db/k8s-deployments") - .search({ - "var-datasource": this.cluster.jsonData.ds, - "var-cluster": this.cluster.name, - "var-namespace": deploy.metadata.namespace, - "var-deployment": deploy.metadata.name - }); - }; - ClusterWorkloadsCtrl.prototype.goToPodInfo = function (pod, evt) { - var clickTargetIsLinkOrHasLinkParents = jquery_1.default(evt.target).closest('a').length > 0; - var closestElm = lodash_1.default.head(jquery_1.default(evt.target).closest('div')); - var clickTargetClickAttr = lodash_1.default.find(closestElm.attributes, { name: "ng-click" }); - var clickTargetIsNodeDashboard = clickTargetClickAttr ? clickTargetClickAttr.value === "ctrl.goToPodDashboard(pod, $event)" : false; - if (clickTargetIsLinkOrHasLinkParents === false && - clickTargetIsNodeDashboard === false) { - this.$location.path("plugins/grafana-kubernetes-app/page/pod-info") - .search({ - "cluster": this.cluster.id, - "namespace": pod.metadata.namespace, - "pod": pod.metadata.name - }); - } - }; - ClusterWorkloadsCtrl.templateUrl = 'components/clusters/partials/cluster_workloads.html'; - return ClusterWorkloadsCtrl; - })(); - exports_1("ClusterWorkloadsCtrl", ClusterWorkloadsCtrl); - } - } -}); -//# sourceMappingURL=clusterWorkloads.js.map \ No newline at end of file diff --git a/dist/components/clusters/clusterWorkloads.js.map b/dist/components/clusters/clusterWorkloads.js.map deleted file mode 100644 index c8149fd..0000000 --- a/dist/components/clusters/clusterWorkloads.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"clusterWorkloads.js","sourceRoot":"","sources":["clusterWorkloads.ts"],"names":["ClusterWorkloadsCtrl","ClusterWorkloadsCtrl.constructor","ClusterWorkloadsCtrl.getCluster","ClusterWorkloadsCtrl.getWorkloads","ClusterWorkloadsCtrl.componentHealth","ClusterWorkloadsCtrl.isComponentHealthy","ClusterWorkloadsCtrl.goToPodDashboard","ClusterWorkloadsCtrl.goToDeploymentDashboard","ClusterWorkloadsCtrl.goToPodInfo"],"mappings":"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"} \ No newline at end of file diff --git a/dist/components/clusters/clusterWorkloads.ts b/dist/components/clusters/clusterWorkloads.ts deleted file mode 100644 index da58f9a..0000000 --- a/dist/components/clusters/clusterWorkloads.ts +++ /dev/null @@ -1,126 +0,0 @@ -/// - -import _ from 'lodash'; -import $ from 'jquery'; - -export class ClusterWorkloadsCtrl { - pageReady: boolean; - cluster: any; - namespaces: string[]; - namespace: string; - daemonSets: any[]; - replicationControllers: any[]; - deployments: any[]; - pods: any[]; - clusterDS: any; - - static templateUrl = 'components/clusters/partials/cluster_workloads.html'; - - /** @ngInject */ - constructor($scope, $injector, private backendSrv, private datasourceSrv, private $q, private $location, private alertSrv) { - document.title = 'Grafana Kubernetes App'; - - this.pageReady = false; - this.cluster = {}; - this.namespaces = []; - this.namespace = ""; - this.daemonSets = []; - this.replicationControllers = []; - this.deployments = []; - this.pods = []; - - if (!("cluster" in $location.search())) { - alertSrv.set("no cluster specified.", "no cluster specified in url", 'error'); - return; - } - - if ("namespace" in $location.search()) { - this.namespace = $location.search().namespace; - } - - this.getCluster($location.search().cluster) - .then(clusterDS => { - this.clusterDS = clusterDS; - this.pageReady = true; - this.getWorkloads(); - }); - } - - getCluster(id) { - return this.backendSrv.get('api/datasources/'+id).then(ds => { - this.cluster = ds; - return this.datasourceSrv.get(ds.name); - }); - } - - getWorkloads() { - let namespace = this.namespace; - this.clusterDS.getNamespaces().then(namespaces => { - this.namespaces = namespaces; - }); - this.clusterDS.getDaemonSets(namespace).then(daemonSets => { - this.daemonSets = daemonSets; - }); - this.clusterDS.getReplicationControllers(namespace).then(rc => { - this.replicationControllers = rc; - }); - this.clusterDS.getDeployments(namespace).then(deployments => { - this.deployments = deployments; - }); - this.clusterDS.getPods(namespace).then(pods => { - this.pods = pods; - }); - } - - componentHealth(component) { - var health = "unhealthy"; - _.forEach(component.conditions, function(condition) { - if ((condition.type === "Healthy") && (condition.status === "True")) { - health = "healthy"; - } - }); - return health; - } - - isComponentHealthy(component) { - return this.componentHealth(component) === "healthy"; - } - - goToPodDashboard(pod) { - this.$location.path("dashboard/db/k8s-container") - .search({ - "var-datasource": this.cluster.jsonData.ds, - "var-cluster": this.cluster.name, - "var-node": pod.spec.nodeName, - "var-namespace": pod.metadata.namespace, - "var-pod": pod.metadata.name - }); - } - - goToDeploymentDashboard(deploy) { - this.$location.path("dashboard/db/k8s-deployments") - .search({ - "var-datasource": this.cluster.jsonData.ds, - "var-cluster": this.cluster.name, - "var-namespace": deploy.metadata.namespace, - "var-deployment": deploy.metadata.name - }); - } - - goToPodInfo(pod, evt) { - var clickTargetIsLinkOrHasLinkParents = $(evt.target).closest('a').length > 0; - - var closestElm = _.head($(evt.target).closest('div')); - var clickTargetClickAttr = _.find(closestElm.attributes, {name: "ng-click"}); - var clickTargetIsNodeDashboard = clickTargetClickAttr ? clickTargetClickAttr.value === "ctrl.goToPodDashboard(pod, $event)" : false; - if (clickTargetIsLinkOrHasLinkParents === false && - clickTargetIsNodeDashboard === false) { - this.$location.path("plugins/grafana-kubernetes-app/page/pod-info") - .search({ - "cluster": this.cluster.id, - "namespace": pod.metadata.namespace, - "pod": pod.metadata.name - }); - } - } -} diff --git a/dist/components/clusters/clusters.d.ts b/dist/components/clusters/clusters.d.ts deleted file mode 100644 index a172aba..0000000 --- a/dist/components/clusters/clusters.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -/// -export declare class ClustersCtrl { - private backendSrv; - private contextSrv; - private $location; - cluster: any; - pageReady: boolean; - datasources: [any]; - clusters: {}; - isOrgEditor: boolean; - static templateUrl: string; - /** @ngInject */ - constructor($scope: any, $injector: any, backendSrv: any, contextSrv: any, $location: any); - getClusters(): any; - confirmDelete(id: any): void; - deleteCluster(cluster: any): void; - clusterInfo(cluster: any): void; -} diff --git a/dist/components/clusters/clusters.js b/dist/components/clusters/clusters.js deleted file mode 100644 index ea478f7..0000000 --- a/dist/components/clusters/clusters.js +++ /dev/null @@ -1,65 +0,0 @@ -/// -System.register(['lodash', 'app/core/app_events'], function(exports_1) { - var lodash_1, app_events_1; - var ClustersCtrl; - return { - setters:[ - function (lodash_1_1) { - lodash_1 = lodash_1_1; - }, - function (app_events_1_1) { - app_events_1 = app_events_1_1; - }], - execute: function() { - ClustersCtrl = (function () { - /** @ngInject */ - function ClustersCtrl($scope, $injector, backendSrv, contextSrv, $location) { - this.backendSrv = backendSrv; - this.contextSrv = contextSrv; - this.$location = $location; - var self = this; - this.isOrgEditor = contextSrv.hasRole('Editor') || contextSrv.hasRole('Admin'); - document.title = 'Grafana Kubernetes App'; - this.clusters = {}; - this.pageReady = false; - this.getClusters().then(function () { - self.pageReady = true; - }); - } - ClustersCtrl.prototype.getClusters = function () { - var self = this; - return this.backendSrv.get('/api/datasources') - .then(function (result) { - self.clusters = lodash_1.default.filter(result, { "type": "grafana-kubernetes-datasource" }); - }); - }; - ClustersCtrl.prototype.confirmDelete = function (id) { - var _this = this; - this.backendSrv.delete('/api/datasources/' + id).then(function () { - _this.getClusters(); - }); - }; - ClustersCtrl.prototype.deleteCluster = function (cluster) { - var _this = this; - app_events_1.default.emit('confirm-modal', { - title: 'Delete', - text: 'Are you sure you want to delete this data source? ' + - 'If you need to undeploy the collectors, then do that before deleting the data source.', - yesText: "Delete", - icon: "fa-trash", - onConfirm: function () { - _this.confirmDelete(cluster.id); - } - }); - }; - ClustersCtrl.prototype.clusterInfo = function (cluster) { - this.$location.path("plugins/grafana-kubernetes-app/page/cluster-info").search({ "cluster": cluster.id }); - }; - ClustersCtrl.templateUrl = 'components/clusters/partials/clusters.html'; - return ClustersCtrl; - })(); - exports_1("ClustersCtrl", ClustersCtrl); - } - } -}); -//# sourceMappingURL=clusters.js.map \ No newline at end of file diff --git a/dist/components/clusters/clusters.js.map b/dist/components/clusters/clusters.js.map deleted file mode 100644 index 99d0364..0000000 --- a/dist/components/clusters/clusters.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"clusters.js","sourceRoot":"","sources":["clusters.ts"],"names":["ClustersCtrl","ClustersCtrl.constructor","ClustersCtrl.getClusters","ClustersCtrl.confirmDelete","ClustersCtrl.deleteCluster","ClustersCtrl.clusterInfo"],"mappings":"AAAA,uFAAuF;;;;;;;;;;;;;YAKvF;gBASEA,gBAAgBA;gBAChBA,sBAAYA,MAAMA,EAAEA,SAASA,EAAUA,UAAUA,EAAUA,UAAUA,EAAUA,SAASA;oBAAjDC,eAAUA,GAAVA,UAAUA,CAAAA;oBAAUA,eAAUA,GAAVA,UAAUA,CAAAA;oBAAUA,cAASA,GAATA,SAASA,CAAAA;oBACtFA,IAAIA,IAAIA,GAAGA,IAAIA,CAACA;oBAChBA,IAAIA,CAACA,WAAWA,GAAGA,UAAUA,CAACA,OAAOA,CAACA,QAAQA,CAACA,IAAIA,UAAUA,CAACA,OAAOA,CAACA,OAAOA,CAACA,CAACA;oBAC/EA,QAAQA,CAACA,KAAKA,GAAGA,wBAAwBA,CAACA;oBAC1CA,IAAIA,CAACA,QAAQA,GAAGA,EAAEA,CAACA;oBACnBA,IAAIA,CAACA,SAASA,GAAGA,KAAKA,CAACA;oBACvBA,IAAIA,CAACA,WAAWA,EAAEA,CAACA,IAAIA,CAACA;wBACtBA,IAAIA,CAACA,SAASA,GAAGA,IAAIA,CAACA;oBACxBA,CAACA,CAACA,CAACA;gBACLA,CAACA;gBAEDD,kCAAWA,GAAXA;oBACEE,IAAIA,IAAIA,GAAGA,IAAIA,CAACA;oBAChBA,MAAMA,CAACA,IAAIA,CAACA,UAAUA,CAACA,GAAGA,CAACA,kBAAkBA,CAACA;yBAC7CA,IAAIA,CAACA,UAACA,MAAMA;wBACXA,IAAIA,CAACA,QAAQA,GAAGA,gBAACA,CAACA,MAAMA,CAACA,MAAMA,EAAEA,EAACA,MAAMA,EAAEA,+BAA+BA,EAACA,CAACA,CAACA;oBAC9EA,CAACA,CAACA,CAACA;gBACLA,CAACA;gBAEDF,oCAAaA,GAAbA,UAAcA,EAAEA;oBAAhBG,iBAICA;oBAHCA,IAAIA,CAACA,UAAUA,CAACA,MAAMA,CAACA,mBAAmBA,GAAGA,EAAEA,CAACA,CAACA,IAAIA,CAACA;wBACpDA,KAAIA,CAACA,WAAWA,EAAEA,CAACA;oBACrBA,CAACA,CAACA,CAACA;gBACLA,CAACA;gBAEDH,oCAAaA,GAAbA,UAAcA,OAAOA;oBAArBI,iBAWCA;oBAVCA,oBAASA,CAACA,IAAIA,CAACA,eAAeA,EAAEA;wBAC9BA,KAAKA,EAAEA,QAAQA;wBACfA,IAAIA,EAAEA,oDAAoDA;4BACxDA,uFAAuFA;wBACzFA,OAAOA,EAAEA,QAAQA;wBACjBA,IAAIA,EAAEA,UAAUA;wBAChBA,SAASA,EAAEA;4BACTA,KAAIA,CAACA,aAAaA,CAACA,OAAOA,CAACA,EAAEA,CAACA,CAACA;wBACjCA,CAACA;qBACFA,CAACA,CAACA;gBACLA,CAACA;gBAEDJ,kCAAWA,GAAXA,UAAYA,OAAOA;oBACjBK,IAAIA,CAACA,SAASA,CAACA,IAAIA,CAACA,kDAAkDA,CAACA,CAACA,MAAMA,CAACA,EAACA,SAASA,EAAEA,OAAOA,CAACA,EAAEA,EAACA,CAACA,CAACA;gBAC1GA,CAACA;gBA3CML,wBAAWA,GAAGA,4CAA4CA,CAACA;gBA4CpEA,mBAACA;YAADA,CAACA,AAnDD,IAmDC;YAnDD,uCAmDC,CAAA"} \ No newline at end of file diff --git a/dist/components/clusters/clusters.ts b/dist/components/clusters/clusters.ts deleted file mode 100644 index b53cef1..0000000 --- a/dist/components/clusters/clusters.ts +++ /dev/null @@ -1,57 +0,0 @@ -/// - -import _ from 'lodash'; -import appEvents from 'app/core/app_events'; - -export class ClustersCtrl { - cluster: any; - pageReady: boolean; - datasources: [any]; - clusters: {}; - isOrgEditor: boolean; - - static templateUrl = 'components/clusters/partials/clusters.html'; - - /** @ngInject */ - constructor($scope, $injector, private backendSrv, private contextSrv, private $location) { - var self = this; - this.isOrgEditor = contextSrv.hasRole('Editor') || contextSrv.hasRole('Admin'); - document.title = 'Grafana Kubernetes App'; - this.clusters = {}; - this.pageReady = false; - this.getClusters().then(() => { - self.pageReady = true; - }); - } - - getClusters() { - var self = this; - return this.backendSrv.get('/api/datasources') - .then((result) => { - self.clusters = _.filter(result, {"type": "grafana-kubernetes-datasource"}); - }); - } - - confirmDelete(id) { - this.backendSrv.delete('/api/datasources/' + id).then(() => { - this.getClusters(); - }); - } - - deleteCluster(cluster) { - appEvents.emit('confirm-modal', { - title: 'Delete', - text: 'Are you sure you want to delete this data source? ' + - 'If you need to undeploy the collectors, then do that before deleting the data source.', - yesText: "Delete", - icon: "fa-trash", - onConfirm: () => { - this.confirmDelete(cluster.id); - } - }); - } - - clusterInfo(cluster) { - this.$location.path("plugins/grafana-kubernetes-app/page/cluster-info").search({"cluster": cluster.id}); - } -} diff --git a/dist/components/clusters/nodeInfo.d.ts b/dist/components/clusters/nodeInfo.d.ts deleted file mode 100644 index 078a66d..0000000 --- a/dist/components/clusters/nodeInfo.d.ts +++ /dev/null @@ -1,23 +0,0 @@ -/// -export declare class NodeInfoCtrl { - private backendSrv; - private datasourceSrv; - private $q; - private $location; - private alertSrv; - pageReady: boolean; - cluster: any; - clusterDS: any; - node: any; - static templateUrl: string; - /** @ngInject */ - constructor($scope: any, $injector: any, backendSrv: any, datasourceSrv: any, $q: any, $location: any, alertSrv: any); - loadDatasource(id: any): any; - goToNodeDashboard(): void; - conditionStatus(condition: any): { - value: any; - text: string; - }; - isConditionOk(condition: any): any; - conditionLastTransitionTime(condition: any): any; -} diff --git a/dist/components/clusters/nodeInfo.js b/dist/components/clusters/nodeInfo.js deleted file mode 100644 index 6a09986..0000000 --- a/dist/components/clusters/nodeInfo.js +++ /dev/null @@ -1,85 +0,0 @@ -/// -System.register(['moment'], function(exports_1) { - var moment_1; - var NodeInfoCtrl; - return { - setters:[ - function (moment_1_1) { - moment_1 = moment_1_1; - }], - execute: function() { - NodeInfoCtrl = (function () { - /** @ngInject */ - function NodeInfoCtrl($scope, $injector, backendSrv, datasourceSrv, $q, $location, alertSrv) { - var _this = this; - this.backendSrv = backendSrv; - this.datasourceSrv = datasourceSrv; - this.$q = $q; - this.$location = $location; - this.alertSrv = alertSrv; - document.title = 'Grafana Kubernetes App'; - this.pageReady = false; - this.cluster = {}; - this.clusterDS = {}; - this.node = {}; - if (!("cluster" in $location.search())) { - alertSrv.set("no cluster specified.", "no cluster specified in url", 'error'); - return; - } - else { - var cluster_id = $location.search().cluster; - var node_name = $location.search().node; - this.loadDatasource(cluster_id).then(function () { - _this.clusterDS.getNode(node_name).then(function (node) { - _this.node = node; - _this.pageReady = true; - }); - }); - } - } - NodeInfoCtrl.prototype.loadDatasource = function (id) { - var _this = this; - return this.backendSrv.get('api/datasources/' + id) - .then(function (ds) { - _this.cluster = ds; - return _this.datasourceSrv.get(ds.name); - }).then(function (clusterDS) { - _this.clusterDS = clusterDS; - return clusterDS; - }); - }; - NodeInfoCtrl.prototype.goToNodeDashboard = function () { - this.$location.path("dashboard/db/k8s-node") - .search({ - "var-datasource": this.cluster.jsonData.ds, - "var-cluster": this.cluster.name, - "var-node": this.node.metadata.name - }); - }; - NodeInfoCtrl.prototype.conditionStatus = function (condition) { - var status; - if (condition.type === "Ready") { - status = condition.status === "True"; - } - else { - status = condition.status === "False"; - } - return { - value: status, - text: status ? "Ok" : "Error" - }; - }; - NodeInfoCtrl.prototype.isConditionOk = function (condition) { - return this.conditionStatus(condition).value; - }; - NodeInfoCtrl.prototype.conditionLastTransitionTime = function (condition) { - return moment_1.default(condition.lastTransitionTime).format('YYYY-MM-DD HH:mm:ss'); - }; - NodeInfoCtrl.templateUrl = 'components/clusters/partials/node_info.html'; - return NodeInfoCtrl; - })(); - exports_1("NodeInfoCtrl", NodeInfoCtrl); - } - } -}); -//# sourceMappingURL=nodeInfo.js.map \ No newline at end of file diff --git a/dist/components/clusters/nodeInfo.js.map b/dist/components/clusters/nodeInfo.js.map deleted file mode 100644 index 54a1134..0000000 --- a/dist/components/clusters/nodeInfo.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"nodeInfo.js","sourceRoot":"","sources":["nodeInfo.ts"],"names":["NodeInfoCtrl","NodeInfoCtrl.constructor","NodeInfoCtrl.loadDatasource","NodeInfoCtrl.goToNodeDashboard","NodeInfoCtrl.conditionStatus","NodeInfoCtrl.isConditionOk","NodeInfoCtrl.conditionLastTransitionTime"],"mappings":"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"} \ No newline at end of file diff --git a/dist/components/clusters/nodeInfo.ts b/dist/components/clusters/nodeInfo.ts deleted file mode 100644 index 2d3447b..0000000 --- a/dist/components/clusters/nodeInfo.ts +++ /dev/null @@ -1,79 +0,0 @@ -/// - -import moment from 'moment'; - -export class NodeInfoCtrl { - pageReady: boolean; - cluster: any; - clusterDS: any; - node: any; - - static templateUrl = 'components/clusters/partials/node_info.html'; - - /** @ngInject */ - constructor($scope, $injector, private backendSrv, private datasourceSrv, private $q, private $location, private alertSrv) { - document.title = 'Grafana Kubernetes App'; - - this.pageReady = false; - this.cluster = {}; - this.clusterDS = {}; - this.node = {}; - - if (!("cluster" in $location.search())) { - alertSrv.set("no cluster specified.", "no cluster specified in url", 'error'); - return; - } else { - let cluster_id = $location.search().cluster; - let node_name = $location.search().node; - - this.loadDatasource(cluster_id).then(() => { - this.clusterDS.getNode(node_name).then(node => { - this.node = node; - this.pageReady = true; - }); - }); - } - } - - loadDatasource(id) { - return this.backendSrv.get('api/datasources/' + id) - .then(ds => { - this.cluster = ds; - return this.datasourceSrv.get(ds.name); - }).then(clusterDS => { - this.clusterDS = clusterDS; - return clusterDS; - }); - } - - goToNodeDashboard() { - this.$location.path("dashboard/db/k8s-node") - .search({ - "var-datasource": this.cluster.jsonData.ds, - "var-cluster": this.cluster.name, - "var-node": this.node.metadata.name - }); - } - - conditionStatus(condition) { - var status; - if (condition.type === "Ready") { - status = condition.status === "True"; - } else { - status = condition.status === "False"; - } - - return { - value: status, - text: status ? "Ok" : "Error" - }; - } - - isConditionOk(condition) { - return this.conditionStatus(condition).value; - } - - conditionLastTransitionTime(condition) { - return moment(condition.lastTransitionTime).format('YYYY-MM-DD HH:mm:ss'); - } -} diff --git a/dist/components/clusters/partials/cluster_config.html b/dist/components/clusters/partials/cluster_config.html deleted file mode 100644 index cc0bac3..0000000 --- a/dist/components/clusters/partials/cluster_config.html +++ /dev/null @@ -1,91 +0,0 @@ - - -
-
-
-
- Name - -
-
-
- - -
-
-

Data Source Settings

-
-
- -
-

The Deploy button will deploy the following: (1) A promtheus configmap which contains the prometheus jobs that collect metrics - used by the dashboards in the kubernetes app (2) a - Node Exporter deployment, and (3) a - Kube-State Metrics deployment

-
- - - - Cancel -
- - - - - Configuring Prometheus - - - -
-
Example Prometheus Configuration File
-

The below file is meant to be run on a Prometheus node inside a kubernetes cluster. If the required exporters are present - in the cluster the jobs should gather the metrics required for the dashboards present in this plugin. When altering this - configuration please be sure to maintain the same label names as they are required to for this appplication to perform - correctly. -

- -
- - - - Manual Deploy Instructions - - - -
-
Manual Deploy
-

If you want to deploy manually or to automate the deployment to Kubernetes, the following files are needed.

- - -
\ No newline at end of file diff --git a/dist/components/clusters/partials/cluster_info.html b/dist/components/clusters/partials/cluster_info.html deleted file mode 100644 index e14c289..0000000 --- a/dist/components/clusters/partials/cluster_info.html +++ /dev/null @@ -1,140 +0,0 @@ - -
- - - -

Browse Details from the Kubernetes API

-
- -

- Namespaces (click on a namespace to see its pods and deployments) -

-
    -
  1. -
    -
    -
    -
    - {{ns.metadata.name}} -
    -
    - {{ns.status.phase}} -
    -
    -
    -
    -
  2. -
-
- -
-

- Component Statuses -

-
    -
  1. -
    -
    -
    - {{component.healthState.message}} - - - {{component.healthState.text}} - -
    -
    -
    -
    -
    - {{component.metadata.name}} -
    -
    -
    -
    -
  2. -
-
- -
-

- Nodes (click to see node details) -

-
    -
  1. -
    -
    -
    - - Node Stats Dashboard -
    -
    -
    -
    -
    - {{node.metadata.name}} -
    -
    - {{node.healthState.message}} - - - {{node.healthState.text}} - -
    -
    -
    -
    -
  2. -
-
diff --git a/dist/components/clusters/partials/cluster_workloads.html b/dist/components/clusters/partials/cluster_workloads.html deleted file mode 100644 index 80a2d4f..0000000 --- a/dist/components/clusters/partials/cluster_workloads.html +++ /dev/null @@ -1,108 +0,0 @@ - -
- -
-
-
- Namespace: -
- -
-
-
-
- -
-

- Daemon Sets -

-
    -
  1. -
    -
    -
    -
    - {{ds.metadata.name}} -
    -
    -
    -
    -
  2. -
-
- -
-

- Replication Controllers -

-
    -
  1. -
    -
    -
    -
    - {{rc.metadata.name}} -
    -
    -
    -
    -
  2. -
-
- -
-

- Deployments -

-
    -
  1. -
    -
    -
    - - Deployment Stats Dashboard -
    -
    -
    -
    -
    - {{deploy.metadata.name}} -
    -
    -
    -
    -
  2. -
-
- -
-

- Pods -

-
    -
  1. -
    -
    -
    - - Pod/Container Stats Dashboard -
    -
    -
    -
    -
    - {{pod.metadata.name}} -
    -
    -
    -
    -
  2. -
-
diff --git a/dist/components/clusters/partials/clusters.html b/dist/components/clusters/partials/clusters.html deleted file mode 100644 index 6786585..0000000 --- a/dist/components/clusters/partials/clusters.html +++ /dev/null @@ -1,51 +0,0 @@ - - -
- ...loading -
- -
-
-
- -

Looks like you don’t have any clulsters yet.
- Add a new cluster -

-

Your org does not have any clusters configured. Contact your org admin. -

-
-
- - - - - - - - - - - - - - -
Name
- - {{cluster.name}} Overview - - - - Cluster Config - -    - - - -
-
diff --git a/dist/components/clusters/partials/node_info.html b/dist/components/clusters/partials/node_info.html deleted file mode 100644 index 8af888a..0000000 --- a/dist/components/clusters/partials/node_info.html +++ /dev/null @@ -1,74 +0,0 @@ - - -
-
-

Addresses

-
- - {{addr.type}}: {{addr.address}} - -
-
-
-

Capacity

-
- - {{k}}: {{v}} - -
-
-
-

Labels

-
- - {{k}}: {{v}} - -
-
-
- -
-

Conditions

- - - - - - - - - - - - - -
StatusTypeMessageLast Change
- - - {{ctrl.conditionStatus(condition).text}} - {{condition.type}}{{condition.message}}{{ctrl.conditionLastTransitionTime(condition)}}
-
-
- -

Info

- - - - - -
{{k}}{{v}}
-
diff --git a/dist/components/clusters/partials/pod_info.html b/dist/components/clusters/partials/pod_info.html deleted file mode 100644 index 2545781..0000000 --- a/dist/components/clusters/partials/pod_info.html +++ /dev/null @@ -1,96 +0,0 @@ - - -
-
-

Node

-
- - {{ctrl.pod.spec.nodeName}} - -
-
- - IP: {{ctrl.pod.status.hostIP}} - -
-
-
-

Status

-
- - Status: {{ctrl.pod.status.phase}} - -
-
- - Start time: {{ctrl.formatTime(ctrl.pod.status.startTime)}} - -
-
-
-
- -
-
-

Conditions

- - - - - - - - - - - -
StatusTypeLast Change
- - - {{ctrl.conditionStatus(condition).text}} - {{condition.type}}{{ctrl.formatTime(condition.lastTransitionTime)}}
-
-
-

Labels

-
- - {{k}}: {{v}} - -
-
-
-
- -
-

Containers

-
    -
  1. -
    -
    -
    -
    - {{container.name}} -
    -
    - image: {{container.image}} -
    -
    -
    -
    -
  2. -
-
diff --git a/dist/components/clusters/podInfo.d.ts b/dist/components/clusters/podInfo.d.ts deleted file mode 100644 index 4ae4c75..0000000 --- a/dist/components/clusters/podInfo.d.ts +++ /dev/null @@ -1,24 +0,0 @@ -/// -export declare class PodInfoCtrl { - private backendSrv; - private datasourceSrv; - private $q; - private $location; - private alertSrv; - pageReady: boolean; - pod: any; - cluster_id: any; - clusterDS: any; - datasource: any; - static templateUrl: string; - /** @ngInject */ - constructor($scope: any, $injector: any, backendSrv: any, datasourceSrv: any, $q: any, $location: any, alertSrv: any); - loadDatasource(id: any): any; - conditionStatus(condition: any): { - value: any; - text: string; - }; - goToPodDashboard(pod: any): void; - isConditionOk(condition: any): any; - formatTime(time: any): any; -} diff --git a/dist/components/clusters/podInfo.js b/dist/components/clusters/podInfo.js deleted file mode 100644 index c2e78b3..0000000 --- a/dist/components/clusters/podInfo.js +++ /dev/null @@ -1,85 +0,0 @@ -/// -System.register(['moment'], function(exports_1) { - var moment_1; - var PodInfoCtrl; - return { - setters:[ - function (moment_1_1) { - moment_1 = moment_1_1; - }], - execute: function() { - PodInfoCtrl = (function () { - /** @ngInject */ - function PodInfoCtrl($scope, $injector, backendSrv, datasourceSrv, $q, $location, alertSrv) { - var _this = this; - this.backendSrv = backendSrv; - this.datasourceSrv = datasourceSrv; - this.$q = $q; - this.$location = $location; - this.alertSrv = alertSrv; - document.title = 'Grafana Kubernetes App'; - this.pageReady = false; - this.pod = {}; - if (!("cluster" in $location.search())) { - alertSrv.set("no cluster specified.", "no cluster specified in url", 'error'); - return; - } - else { - this.cluster_id = $location.search().cluster; - var pod_name = $location.search().pod; - this.loadDatasource(this.cluster_id).then(function () { - _this.clusterDS.getPod(pod_name).then(function (pod) { - _this.pod = pod; - _this.pageReady = true; - }); - }); - } - } - PodInfoCtrl.prototype.loadDatasource = function (id) { - var _this = this; - return this.backendSrv.get('api/datasources/' + id) - .then(function (ds) { - _this.datasource = ds.jsonData.ds; - return _this.datasourceSrv.get(ds.name); - }).then(function (clusterDS) { - _this.clusterDS = clusterDS; - return clusterDS; - }); - }; - PodInfoCtrl.prototype.conditionStatus = function (condition) { - var status; - if (condition.type === "Ready") { - status = condition.status === "True"; - } - else { - status = condition.status === "False"; - } - return { - value: status, - text: status ? "Ok" : "Error" - }; - }; - PodInfoCtrl.prototype.goToPodDashboard = function (pod) { - this.$location.path("dashboard/db/k8s-container") - .search({ - "var-datasource": this.datasource, - "var-cluster": this.clusterDS.name, - "var-node": pod.spec.nodeName, - "var-namespace": pod.metadata.namespace, - "var-pod": pod.metadata.name - }); - }; - PodInfoCtrl.prototype.isConditionOk = function (condition) { - return this.conditionStatus(condition).value; - }; - PodInfoCtrl.prototype.formatTime = function (time) { - return moment_1.default(time).format('YYYY-MM-DD HH:mm:ss'); - }; - PodInfoCtrl.templateUrl = 'components/clusters/partials/pod_info.html'; - return PodInfoCtrl; - })(); - exports_1("PodInfoCtrl", PodInfoCtrl); - } - } -}); -//# sourceMappingURL=podInfo.js.map \ No newline at end of file diff --git a/dist/components/clusters/podInfo.js.map b/dist/components/clusters/podInfo.js.map deleted file mode 100644 index 53d3d3a..0000000 --- a/dist/components/clusters/podInfo.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"podInfo.js","sourceRoot":"","sources":["podInfo.ts"],"names":["PodInfoCtrl","PodInfoCtrl.constructor","PodInfoCtrl.loadDatasource","PodInfoCtrl.conditionStatus","PodInfoCtrl.goToPodDashboard","PodInfoCtrl.isConditionOk","PodInfoCtrl.formatTime"],"mappings":"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"} \ No newline at end of file diff --git a/dist/components/clusters/podInfo.ts b/dist/components/clusters/podInfo.ts deleted file mode 100644 index 7cbc50f..0000000 --- a/dist/components/clusters/podInfo.ts +++ /dev/null @@ -1,79 +0,0 @@ -/// - -import moment from 'moment'; - -export class PodInfoCtrl { - pageReady: boolean; - pod: any; - cluster_id: any; - clusterDS: any; - datasource: any; - - static templateUrl = 'components/clusters/partials/pod_info.html'; - - /** @ngInject */ - constructor($scope, $injector, private backendSrv, private datasourceSrv, private $q, private $location, private alertSrv) { - document.title = 'Grafana Kubernetes App'; - - this.pageReady = false; - this.pod = {}; - if (!("cluster" in $location.search())) { - alertSrv.set("no cluster specified.", "no cluster specified in url", 'error'); - return; - } else { - this.cluster_id = $location.search().cluster; - let pod_name = $location.search().pod; - - this.loadDatasource(this.cluster_id).then(() => { - this.clusterDS.getPod(pod_name).then(pod => { - this.pod = pod; - this.pageReady = true; - }); - }); - } - } - - loadDatasource(id) { - return this.backendSrv.get('api/datasources/' + id) - .then(ds => { - this.datasource = ds.jsonData.ds; - return this.datasourceSrv.get(ds.name); - }).then(clusterDS => { - this.clusterDS = clusterDS; - return clusterDS; - }); - } - - conditionStatus(condition) { - var status; - if (condition.type === "Ready") { - status = condition.status === "True"; - } else { - status = condition.status === "False"; - } - - return { - value: status, - text: status ? "Ok" : "Error" - }; - } - - goToPodDashboard(pod) { - this.$location.path("dashboard/db/k8s-container") - .search({ - "var-datasource": this.datasource, - "var-cluster": this.clusterDS.name, - "var-node": pod.spec.nodeName, - "var-namespace": pod.metadata.namespace, - "var-pod": pod.metadata.name - }); - } - - isConditionOk(condition) { - return this.conditionStatus(condition).value; - } - - formatTime(time) { - return moment(time).format('YYYY-MM-DD HH:mm:ss'); - } -} diff --git a/dist/components/config/config.d.ts b/dist/components/config/config.d.ts deleted file mode 100644 index b0e66bc..0000000 --- a/dist/components/config/config.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -/// -export declare class KubernetesConfigCtrl { - private $q; - static templateUrl: string; - enabled: boolean; - appEditCtrl: any; - appModel: any; - /** @ngInject */ - constructor($scope: any, $injector: any, $q: any); - postUpdate(): any; -} diff --git a/dist/components/config/config.html b/dist/components/config/config.html deleted file mode 100644 index f6e35f3..0000000 --- a/dist/components/config/config.html +++ /dev/null @@ -1,5 +0,0 @@ -

Kubernetes App

-This app integrates the data collected from Kubelet, Kube-State Metrics, and Node Exporter with data available via the Kubernetes API. - diff --git a/dist/components/config/config.js b/dist/components/config/config.js deleted file mode 100644 index 6e0a13e..0000000 --- a/dist/components/config/config.js +++ /dev/null @@ -1,34 +0,0 @@ -/// -System.register([], function(exports_1) { - var KubernetesConfigCtrl; - return { - setters:[], - execute: function() { - KubernetesConfigCtrl = (function () { - /** @ngInject */ - function KubernetesConfigCtrl($scope, $injector, $q) { - this.$q = $q; - this.enabled = false; - this.appEditCtrl.setPostUpdateHook(this.postUpdate.bind(this)); - } - KubernetesConfigCtrl.prototype.postUpdate = function () { - var _this = this; - if (!this.appModel.enabled) { - return this.$q.resolve(); - } - return this.appEditCtrl.importDashboards().then(function () { - _this.enabled = true; - return { - url: "plugins/grafana-kubernetes-app/page/clusters", - message: "Kubernetes App enabled!" - }; - }); - }; - KubernetesConfigCtrl.templateUrl = 'components/config/config.html'; - return KubernetesConfigCtrl; - })(); - exports_1("KubernetesConfigCtrl", KubernetesConfigCtrl); - } - } -}); -//# sourceMappingURL=config.js.map \ No newline at end of file diff --git a/dist/components/config/config.js.map b/dist/components/config/config.js.map deleted file mode 100644 index 45d4bca..0000000 --- a/dist/components/config/config.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"config.js","sourceRoot":"","sources":["config.ts"],"names":["KubernetesConfigCtrl","KubernetesConfigCtrl.constructor","KubernetesConfigCtrl.postUpdate"],"mappings":"AAAA,uFAAuF;;;;;;YAEvF;gBAMEA,gBAAgBA;gBAChBA,8BAAYA,MAAMA,EAAEA,SAASA,EAAUA,EAAEA;oBAAFC,OAAEA,GAAFA,EAAEA,CAAAA;oBACvCA,IAAIA,CAACA,OAAOA,GAAGA,KAAKA,CAACA;oBACrBA,IAAIA,CAACA,WAAWA,CAACA,iBAAiBA,CAACA,IAAIA,CAACA,UAAUA,CAACA,IAAIA,CAACA,IAAIA,CAACA,CAACA,CAACA;gBACjEA,CAACA;gBAEDD,yCAAUA,GAAVA;oBAAAE,iBAWCA;oBAVCA,EAAEA,CAACA,CAACA,CAACA,IAAIA,CAACA,QAAQA,CAACA,OAAOA,CAACA,CAACA,CAACA;wBAC3BA,MAAMA,CAACA,IAAIA,CAACA,EAAEA,CAACA,OAAOA,EAAEA,CAACA;oBAC3BA,CAACA;oBACDA,MAAMA,CAACA,IAAIA,CAACA,WAAWA,CAACA,gBAAgBA,EAAEA,CAACA,IAAIA,CAACA;wBAC9CA,KAAIA,CAACA,OAAOA,GAAGA,IAAIA,CAACA;wBACpBA,MAAMA,CAACA;4BACLA,GAAGA,EAAEA,8CAA8CA;4BACnDA,OAAOA,EAAEA,yBAAyBA;yBACnCA,CAACA;oBACJA,CAACA,CAACA,CAACA;gBACLA,CAACA;gBAtBMF,gCAAWA,GAAGA,+BAA+BA,CAACA;gBAuBvDA,2BAACA;YAADA,CAACA,AAxBD,IAwBC;YAxBD,uDAwBC,CAAA"} \ No newline at end of file diff --git a/dist/components/config/config.ts b/dist/components/config/config.ts deleted file mode 100644 index 95dd5da..0000000 --- a/dist/components/config/config.ts +++ /dev/null @@ -1,27 +0,0 @@ -/// - -export class KubernetesConfigCtrl { - static templateUrl = 'components/config/config.html'; - enabled: boolean; - appEditCtrl: any; - appModel: any; - - /** @ngInject */ - constructor($scope, $injector, private $q) { - this.enabled = false; - this.appEditCtrl.setPostUpdateHook(this.postUpdate.bind(this)); - } - - postUpdate() { - if (!this.appModel.enabled) { - return this.$q.resolve(); - } - return this.appEditCtrl.importDashboards().then(() => { - this.enabled = true; - return { - url: "plugins/grafana-kubernetes-app/page/clusters", - message: "Kubernetes App enabled!" - }; - }); - } -} diff --git a/dist/dashboards/k8s-cluster.json b/dist/dashboards/k8s-cluster.json deleted file mode 100644 index 8a02e64..0000000 --- a/dist/dashboards/k8s-cluster.json +++ /dev/null @@ -1,2620 +0,0 @@ -{ - "__inputs": [], - "__requires": [ - { - "type": "grafana", - "id": "grafana", - "name": "Grafana", - "version": "5.0.0-pre1" - }, - { - "type": "datasource", - "id": "prometheus", - "name": "Prometheus", - "version": "1.0.0" - }, - { - "type": "panel", - "id": "singlestat", - "name": "Singlestat", - "version": "" - } - ], - "annotations": {}, - "description": "Summary metrics about containers running on Kubernetes nodes.", - "editable": true, - "gnetId": null, - "graphTooltip": 1, - "id": null, - "links": [ - { - "asDropdown": true, - "icon": "external link", - "includeVars": true, - "keepTime": false, - "tags": [ - "kubernetes-app" - ], - "title": "Dashboards", - "type": "dashboards" - } - ], - "panels": [ - { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 0 - }, - "id": 2, - "panels": [], - "title": "Cluster Health", - "type": "row" - }, - { - "cacheTimeout": null, - "colorBackground": false, - "colorValue": false, - "colors": [ - "#299c46", - "rgba(237, 129, 40, 0.89)", - "#d44a3a" - ], - "datasource": "$datasource", - "format": "percentunit", - "gauge": { - "maxValue": 1, - "minValue": 0, - "show": true, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 4, - "w": 6, - "x": 0, - "y": 1 - }, - "id": 4, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": false - }, - "tableColumn": "", - "targets": [ - { - "expr": "sum(kube_pod_info{node=~\"$node\"}) / sum(kube_node_status_allocatable_pods{node=~\"$node\"})", - "format": "time_series", - "intervalFactor": 1, - "refId": "A" - } - ], - "thresholds": ".8,.9", - "title": "Cluster Pod Usage", - "type": "singlestat", - "valueFontSize": "80%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "current" - }, - { - "cacheTimeout": null, - "colorBackground": false, - "colorValue": false, - "colors": [ - "#299c46", - "rgba(237, 129, 40, 0.89)", - "#d44a3a" - ], - "datasource": "$datasource", - "format": "percentunit", - "gauge": { - "maxValue": 1, - "minValue": 0, - "show": true, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 4, - "w": 6, - "x": 6, - "y": 1 - }, - "id": 5, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": false - }, - "tableColumn": "", - "targets": [ - { - "expr": "sum(kube_pod_container_resource_requests_cpu_cores{node=~\"$node\"}) / sum(kube_node_status_allocatable_cpu_cores{node=~\"$node\"})", - "format": "time_series", - "intervalFactor": 1, - "refId": "A" - } - ], - "thresholds": ".8,.9", - "title": "Cluster CPU Usage", - "type": "singlestat", - "valueFontSize": "80%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "current" - }, - { - "cacheTimeout": null, - "colorBackground": false, - "colorValue": false, - "colors": [ - "#299c46", - "rgba(237, 129, 40, 0.89)", - "#d44a3a" - ], - "datasource": "$datasource", - "format": "percentunit", - "gauge": { - "maxValue": 1, - "minValue": 0, - "show": true, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 4, - "w": 6, - "x": 12, - "y": 1 - }, - "id": 6, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": false - }, - "tableColumn": "", - "targets": [ - { - "expr": "sum(kube_pod_container_resource_requests_memory_bytes{node=~\"$node\"}) / sum(kube_node_status_allocatable_memory_bytes{node=~\"$node\"})", - "format": "time_series", - "intervalFactor": 1, - "refId": "A" - } - ], - "thresholds": ".8,.9", - "title": "Cluster Memory Usage", - "type": "singlestat", - "valueFontSize": "80%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "current" - }, - { - "cacheTimeout": null, - "colorBackground": false, - "colorValue": false, - "colors": [ - "#299c46", - "rgba(237, 129, 40, 0.89)", - "#d44a3a" - ], - "datasource": "$datasource", - "format": "percentunit", - "gauge": { - "maxValue": 1, - "minValue": 0, - "show": true, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 4, - "w": 6, - "x": 18, - "y": 1 - }, - "id": 7, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": false - }, - "tableColumn": "", - "targets": [ - { - "expr": "(sum (node_filesystem_size{nodename=~\"$node\"}) - sum (node_filesystem_free{nodename=~\"$node\"})) / sum (node_filesystem_size{nodename=~\"$node\"})", - "format": "time_series", - "intervalFactor": 1, - "refId": "A" - } - ], - "thresholds": ".8,.9", - "title": "Cluster Disk Usage", - "type": "singlestat", - "valueFontSize": "80%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "current" - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$datasource", - "fill": 1, - "gridPos": { - "h": 5, - "w": 6, - "x": 0, - "y": 5 - }, - "id": 9, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum(kube_node_status_allocatable_pods{node=~\"$node\"})", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "allocatable", - "refId": "A" - }, - { - "expr": "sum(kube_node_status_capacity_pods{node=~\"$node\"})", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "capacity", - "refId": "B" - }, - { - "expr": "sum(kube_pod_info{node=~\"$node\"})", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "requested", - "refId": "C" - } - ], - "thresholds": [], - "timeFrom": null, - "timeShift": null, - "title": "Cluster Pod Capacity", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": "pods", - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ] - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$datasource", - "fill": 1, - "gridPos": { - "h": 5, - "w": 6, - "x": 6, - "y": 5 - }, - "id": 10, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum(kube_node_status_capacity_cpu_cores{node=~\"$node\"})", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "allocatable", - "refId": "A" - }, - { - "expr": "sum(kube_node_status_allocatable_cpu_cores{node=~\"$node\"})", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "capacity", - "refId": "B" - }, - { - "expr": "sum(kube_pod_container_resource_requests_cpu_cores{node=~\"$node\"})", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "requested", - "refId": "C" - } - ], - "thresholds": [], - "timeFrom": null, - "timeShift": null, - "title": "Cluster CPU Capacity", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "decimals": null, - "format": "none", - "label": "cores", - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ] - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$datasource", - "fill": 1, - "gridPos": { - "h": 5, - "w": 6, - "x": 12, - "y": 5 - }, - "id": 11, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum(kube_node_status_allocatable_memory_bytes{node=~\"$node\"})", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "allocatable", - "refId": "A" - }, - { - "expr": "sum(kube_node_status_capacity_memory_bytes{node=~\"$node\"})", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "capacity", - "refId": "B" - }, - { - "expr": "sum(kube_pod_container_resource_requests_memory_bytes{node=~\"$node\"})", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "requested", - "refId": "C" - } - ], - "thresholds": [], - "timeFrom": null, - "timeShift": null, - "title": "Cluster Mem Capacity", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "decbytes", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ] - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$datasource", - "fill": 1, - "gridPos": { - "h": 5, - "w": 6, - "x": 18, - "y": 5 - }, - "id": 12, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum(node_filesystem_size{nodename=~\"$node\"}) - sum(node_filesystem_free{nodename=~\"$node\"})", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "usage", - "refId": "A" - }, - { - "expr": "sum(node_filesystem_size{nodename=~\"$node\"})", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "limit", - "refId": "B" - } - ], - "thresholds": [], - "timeFrom": null, - "timeShift": null, - "title": "Cluster Disk Capacity", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "decbytes", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ] - }, - { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 10 - }, - "id": 14, - "panels": [], - "title": "Deployments", - "type": "row" - }, - { - "columns": [ - { - "text": "Current", - "value": "current" - } - ], - "datasource": "$datasource", - "fontSize": "100%", - "gridPos": { - "h": 5, - "w": 6, - "x": 0, - "y": 11 - }, - "id": 16, - "links": [], - "pageSize": null, - "scroll": true, - "showHeader": true, - "sort": { - "col": 1, - "desc": true - }, - "styles": [ - { - "alias": "Time", - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "pattern": "Time", - "type": "date" - }, - { - "alias": "", - "colorMode": "row", - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "decimals": 0, - "pattern": "Metric", - "thresholds": [ - "0", - "0", - ".9" - ], - "type": "string", - "unit": "none" - }, - { - "alias": "", - "colorMode": "row", - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "decimals": 0, - "link": false, - "pattern": "Value", - "thresholds": [ - "0", - "1" - ], - "type": "number", - "unit": "none" - } - ], - "targets": [ - { - "expr": "kube_deployment_status_replicas{namespace=~\"$namespace\"}", - "format": "time_series", - "instant": true, - "interval": "", - "intervalFactor": 1, - "legendFormat": "{{ deployment }}", - "refId": "A" - } - ], - "title": "Deployment Replicas - Up To Date", - "transform": "timeseries_to_rows", - "type": "table" - }, - { - "cacheTimeout": null, - "colorBackground": false, - "colorValue": false, - "colors": [ - "#299c46", - "rgba(237, 129, 40, 0.89)", - "#d44a3a" - ], - "datasource": "$datasource", - "format": "none", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 5, - "w": 6, - "x": 6, - "y": 11 - }, - "id": 18, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": false - }, - "tableColumn": "", - "targets": [ - { - "expr": "sum(kube_deployment_status_replicas{namespace=~\"$namespace\"})", - "format": "time_series", - "intervalFactor": 1, - "refId": "A" - } - ], - "thresholds": "", - "title": "Deployment Replicas", - "type": "singlestat", - "valueFontSize": "80%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "avg" - }, - { - "cacheTimeout": null, - "colorBackground": false, - "colorValue": false, - "colors": [ - "#299c46", - "rgba(237, 129, 40, 0.89)", - "#d44a3a" - ], - "datasource": "$datasource", - "format": "none", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 5, - "w": 6, - "x": 12, - "y": 11 - }, - "id": 19, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": false - }, - "tableColumn": "", - "targets": [ - { - "expr": "sum(kube_deployment_status_replicas_updated{namespace=~\"$namespace\"})", - "format": "time_series", - "intervalFactor": 1, - "refId": "A" - } - ], - "thresholds": "", - "title": "Deployment Replicas - Updated", - "type": "singlestat", - "valueFontSize": "80%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "avg" - }, - { - "cacheTimeout": null, - "colorBackground": false, - "colorValue": false, - "colors": [ - "#299c46", - "rgba(237, 129, 40, 0.89)", - "#d44a3a" - ], - "datasource": "$datasource", - "format": "none", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 5, - "w": 6, - "x": 18, - "y": 11 - }, - "id": 20, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": false - }, - "tableColumn": "", - "targets": [ - { - "expr": "sum(kube_deployment_status_replicas_unavailable{namespace=~\"$namespace\"})", - "format": "time_series", - "intervalFactor": 1, - "refId": "A" - } - ], - "thresholds": "", - "title": "Deployment Replicas - Unavailable", - "type": "singlestat", - "valueFontSize": "80%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "avg" - }, - { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 16 - }, - "id": 22, - "panels": [], - "title": "Node", - "type": "row" - }, - { - "cacheTimeout": null, - "colorBackground": false, - "colorValue": false, - "colors": [ - "#299c46", - "rgba(237, 129, 40, 0.89)", - "#d44a3a" - ], - "datasource": "$datasource", - "format": "none", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 3, - "w": 8, - "x": 0, - "y": 17 - }, - "id": 24, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": false - }, - "tableColumn": "", - "targets": [ - { - "expr": "sum(kube_node_info{node=~\"$node\"})", - "format": "time_series", - "intervalFactor": 1, - "refId": "A" - } - ], - "thresholds": "", - "title": "Number Of Nodes", - "type": "singlestat", - "valueFontSize": "80%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "avg" - }, - { - "cacheTimeout": null, - "colorBackground": true, - "colorValue": false, - "colors": [ - "#299c46", - "rgba(237, 129, 40, 0.89)", - "#d44a3a" - ], - "datasource": "$datasource", - "format": "none", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 3, - "w": 8, - "x": 8, - "y": 17 - }, - "id": 25, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": false - }, - "tableColumn": "", - "targets": [ - { - "expr": "sum(kube_node_status_condition{condition=\"OutOfDisk\", node=~\"$node\", status=\"true\"})", - "format": "time_series", - "intervalFactor": 1, - "refId": "A" - } - ], - "thresholds": "1", - "title": "Nodes Out of Disk", - "type": "singlestat", - "valueFontSize": "80%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "current" - }, - { - "cacheTimeout": null, - "colorBackground": true, - "colorValue": false, - "colors": [ - "#299c46", - "rgba(237, 129, 40, 0.89)", - "#d44a3a" - ], - "datasource": "$datasource", - "format": "none", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 3, - "w": 8, - "x": 16, - "y": 17 - }, - "id": 26, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": false - }, - "tableColumn": "", - "targets": [ - { - "expr": "sum(kube_node_spec_unschedulable{node=~\"$node\"})", - "format": "time_series", - "intervalFactor": 1, - "refId": "A" - } - ], - "thresholds": "1", - "title": "Nodes Unavailable", - "type": "singlestat", - "valueFontSize": "80%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "current" - }, - { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 20 - }, - "id": 28, - "panels": [], - "title": "Pods", - "type": "row" - }, - { - "cacheTimeout": null, - "colorBackground": false, - "colorValue": false, - "colors": [ - "#299c46", - "rgba(237, 129, 40, 0.89)", - "#d44a3a" - ], - "datasource": "$datasource", - "format": "none", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 3, - "w": 12, - "x": 0, - "y": 21 - }, - "id": 30, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "sparkline": { - "fillColor": "rgba(78, 203, 42, 0.28)", - "full": false, - "lineColor": "#629e51", - "show": true - }, - "tableColumn": "", - "targets": [ - { - "expr": "sum(kube_pod_status_phase{namespace=~\"$namespace\", phase=\"Running\"})", - "format": "time_series", - "interval": "", - "intervalFactor": 1, - "refId": "A" - } - ], - "thresholds": "", - "title": "Pods Running", - "type": "singlestat", - "valueFontSize": "80%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "current" - }, - { - "cacheTimeout": null, - "colorBackground": false, - "colorValue": false, - "colors": [ - "#299c46", - "rgba(237, 129, 40, 0.89)", - "#d44a3a" - ], - "datasource": "$datasource", - "format": "none", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 3, - "w": 12, - "x": 12, - "y": 21 - }, - "id": 31, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "sparkline": { - "fillColor": "rgba(78, 203, 42, 0.28)", - "full": false, - "lineColor": "#629e51", - "show": true - }, - "tableColumn": "", - "targets": [ - { - "expr": "sum(kube_pod_status_phase{namespace=~\"$namespace\", phase=\"Pending\"})", - "format": "time_series", - "interval": "", - "intervalFactor": 1, - "refId": "A" - } - ], - "thresholds": "", - "title": "Pods Pending", - "type": "singlestat", - "valueFontSize": "80%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "current" - }, - { - "cacheTimeout": null, - "colorBackground": false, - "colorValue": false, - "colors": [ - "#299c46", - "rgba(237, 129, 40, 0.89)", - "#d44a3a" - ], - "datasource": "$datasource", - "format": "none", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 3, - "w": 8, - "x": 0, - "y": 24 - }, - "id": 32, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "sparkline": { - "fillColor": "rgba(78, 203, 42, 0.28)", - "full": false, - "lineColor": "#629e51", - "show": true - }, - "tableColumn": "", - "targets": [ - { - "expr": "sum(kube_pod_status_phase{namespace=~\"$namespace\", phase=\"Failed\"})", - "format": "time_series", - "interval": "", - "intervalFactor": 1, - "refId": "A" - } - ], - "thresholds": "", - "title": "Pods Failed", - "type": "singlestat", - "valueFontSize": "80%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "current" - }, - { - "cacheTimeout": null, - "colorBackground": false, - "colorValue": false, - "colors": [ - "#299c46", - "rgba(237, 129, 40, 0.89)", - "#d44a3a" - ], - "datasource": "$datasource", - "format": "none", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 3, - "w": 8, - "x": 8, - "y": 24 - }, - "id": 33, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "sparkline": { - "fillColor": "rgba(78, 203, 42, 0.28)", - "full": false, - "lineColor": "#629e51", - "show": true - }, - "tableColumn": "", - "targets": [ - { - "expr": "sum(kube_pod_status_phase{namespace=~\"$namespace\", phase=\"Succeeded\"})", - "format": "time_series", - "interval": "", - "intervalFactor": 1, - "refId": "A" - } - ], - "thresholds": "", - "title": "Pods Succeeded", - "type": "singlestat", - "valueFontSize": "80%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "current" - }, - { - "cacheTimeout": null, - "colorBackground": false, - "colorValue": false, - "colors": [ - "#299c46", - "rgba(237, 129, 40, 0.89)", - "#d44a3a" - ], - "datasource": "$datasource", - "format": "none", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 3, - "w": 8, - "x": 16, - "y": 24 - }, - "id": 34, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "sparkline": { - "fillColor": "rgba(78, 203, 42, 0.28)", - "full": false, - "lineColor": "#629e51", - "show": true - }, - "tableColumn": "", - "targets": [ - { - "expr": "sum(kube_pod_status_phase{namespace=~\"$namespace\", phase=\"Unknown\"})", - "format": "time_series", - "interval": "", - "intervalFactor": 1, - "refId": "A" - } - ], - "thresholds": "", - "title": "Pods Unknown", - "type": "singlestat", - "valueFontSize": "80%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "current" - }, - { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 27 - }, - "id": 36, - "panels": [], - "title": "Containers", - "type": "row" - }, - { - "cacheTimeout": null, - "colorBackground": false, - "colorValue": false, - "colors": [ - "#299c46", - "rgba(237, 129, 40, 0.89)", - "#d44a3a" - ], - "datasource": "$datasource", - "format": "none", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 3, - "w": 6, - "x": 0, - "y": 28 - }, - "id": 38, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": true - }, - "tableColumn": "", - "targets": [ - { - "expr": "sum(kube_pod_container_status_running{namespace=~\"$namespace\"})", - "format": "time_series", - "intervalFactor": 1, - "refId": "A" - } - ], - "thresholds": "", - "title": "Containers Running", - "type": "singlestat", - "valueFontSize": "80%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "current" - }, - { - "cacheTimeout": null, - "colorBackground": false, - "colorValue": false, - "colors": [ - "#299c46", - "rgba(237, 129, 40, 0.89)", - "#d44a3a" - ], - "datasource": "$datasource", - "format": "none", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 3, - "w": 6, - "x": 6, - "y": 28 - }, - "id": 39, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": true - }, - "tableColumn": "", - "targets": [ - { - "expr": "sum(kube_pod_container_status_waiting{namespace=~\"$namespace\"})", - "format": "time_series", - "intervalFactor": 1, - "refId": "A" - } - ], - "thresholds": "", - "title": "Containers Waiting", - "type": "singlestat", - "valueFontSize": "80%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "current" - }, - { - "cacheTimeout": null, - "colorBackground": false, - "colorValue": false, - "colors": [ - "#299c46", - "rgba(237, 129, 40, 0.89)", - "#d44a3a" - ], - "datasource": "$datasource", - "format": "none", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 3, - "w": 6, - "x": 12, - "y": 28 - }, - "id": 40, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": true - }, - "tableColumn": "", - "targets": [ - { - "expr": "sum(kube_pod_container_status_terminated{namespace=~\"$namespace\"})", - "format": "time_series", - "intervalFactor": 1, - "refId": "A" - } - ], - "thresholds": "", - "title": "Containers Terminated", - "type": "singlestat", - "valueFontSize": "80%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "current" - }, - { - "cacheTimeout": null, - "colorBackground": false, - "colorValue": false, - "colors": [ - "#299c46", - "rgba(237, 129, 40, 0.89)", - "#d44a3a" - ], - "datasource": "$datasource", - "format": "none", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 3, - "w": 6, - "x": 18, - "y": 28 - }, - "id": 41, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": true - }, - "tableColumn": "", - "targets": [ - { - "expr": "sum(delta(kube_pod_container_status_restarts{namespace=\"kube-system\"}[30m]))", - "format": "time_series", - "intervalFactor": 1, - "refId": "A" - } - ], - "thresholds": "", - "title": "Containers Restarts (Last 30 Minutes)", - "type": "singlestat", - "valueFontSize": "80%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "current" - }, - { - "cacheTimeout": null, - "colorBackground": false, - "colorValue": false, - "colors": [ - "#299c46", - "rgba(237, 129, 40, 0.89)", - "#d44a3a" - ], - "datasource": "$datasource", - "format": "none", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 3, - "w": 12, - "x": 0, - "y": 31 - }, - "id": 43, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": true - }, - "tableColumn": "", - "targets": [ - { - "expr": "sum(kube_pod_container_resource_requests_cpu_cores{namespace=~\"$namespace\", node=~\"$node\"})", - "format": "time_series", - "intervalFactor": 1, - "refId": "A" - } - ], - "thresholds": "", - "title": "CPU Cores Requested by Containers", - "type": "singlestat", - "valueFontSize": "80%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "current" - }, - { - "cacheTimeout": null, - "colorBackground": false, - "colorValue": false, - "colors": [ - "#299c46", - "rgba(237, 129, 40, 0.89)", - "#d44a3a" - ], - "datasource": "$datasource", - "format": "decbytes", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 3, - "w": 12, - "x": 12, - "y": 31 - }, - "id": 42, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": true - }, - "tableColumn": "", - "targets": [ - { - "expr": "sum(kube_pod_container_resource_requests_memory_bytes{namespace=~\"$namespace\", node=~\"$node\"})", - "format": "time_series", - "intervalFactor": 1, - "refId": "A" - } - ], - "thresholds": "", - "title": "Memory Requested By Containers", - "type": "singlestat", - "valueFontSize": "80%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "current" - }, - { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 34 - }, - "id": 45, - "panels": [], - "title": "Jobs", - "type": "row" - }, - { - "cacheTimeout": null, - "colorBackground": false, - "colorValue": false, - "colors": [ - "#299c46", - "rgba(237, 129, 40, 0.89)", - "#d44a3a" - ], - "datasource": "$datasource", - "format": "none", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 3, - "w": 8, - "x": 0, - "y": 35 - }, - "id": 47, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": true - }, - "tableColumn": "", - "targets": [ - { - "expr": "sum(kube_job_status_succeeded{namespace=~\"$namespace\"})", - "format": "time_series", - "intervalFactor": 1, - "refId": "A" - } - ], - "thresholds": "", - "title": "Jobs Succeeded", - "type": "singlestat", - "valueFontSize": "80%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "current" - }, - { - "cacheTimeout": null, - "colorBackground": false, - "colorValue": false, - "colors": [ - "#299c46", - "rgba(237, 129, 40, 0.89)", - "#d44a3a" - ], - "datasource": "$datasource", - "format": "none", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 3, - "w": 8, - "x": 8, - "y": 35 - }, - "id": 48, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": true - }, - "tableColumn": "", - "targets": [ - { - "expr": "sum(kube_job_status_active{namespace=~\"$namespace\"})", - "format": "time_series", - "intervalFactor": 1, - "refId": "A" - } - ], - "thresholds": "", - "title": "Jobs Succeeded", - "type": "singlestat", - "valueFontSize": "80%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "current" - }, - { - "cacheTimeout": null, - "colorBackground": false, - "colorValue": false, - "colors": [ - "#299c46", - "rgba(237, 129, 40, 0.89)", - "#d44a3a" - ], - "datasource": "$datasource", - "format": "none", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 3, - "w": 8, - "x": 16, - "y": 35 - }, - "id": 49, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": true - }, - "tableColumn": "", - "targets": [ - { - "expr": "sum(kube_job_status_failed{namespace=~\"$namespace\"})", - "format": "time_series", - "intervalFactor": 1, - "refId": "A" - } - ], - "thresholds": "", - "title": "Jobs Failed", - "type": "singlestat", - "valueFontSize": "80%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "current" - } - ], - "refresh": "30s", - "schemaVersion": 16, - "style": "dark", - "tags": [ - "kubernetes", - "kubernetes-app" - ], - "templating": { - "list": [ - { - "hide": 0, - "label": null, - "name": "cluster", - "options": [], - "query": "grafana-kubernetes-datasource", - "refresh": 1, - "regex": "", - "type": "datasource" - }, - { - "allValue": null, - "datasource": "$cluster", - "hide": 2, - "includeAll": false, - "label": "", - "multi": false, - "name": "ds", - "options": [], - "query": "datasource", - "refresh": 1, - "regex": "", - "sort": 0, - "tagValuesQuery": "", - "tags": [], - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "hide": 2, - "label": "", - "name": "datasource", - "options": [], - "query": "prometheus", - "refresh": 1, - "regex": "/$ds/", - "type": "datasource" - }, - { - "allValue": null, - "datasource": "$cluster", - "hide": 0, - "includeAll": true, - "label": null, - "multi": true, - "name": "node", - "options": [], - "query": "node", - "refresh": 1, - "regex": "", - "sort": 0, - "tagValuesQuery": null, - "tags": [], - "tagsQuery": null, - "type": "query", - "useTags": false - }, - { - "allValue": null, - "datasource": "$cluster", - "hide": 0, - "includeAll": true, - "label": null, - "multi": true, - "name": "namespace", - "options": [], - "query": "namespace", - "refresh": 1, - "regex": "", - "sort": 0, - "tagValuesQuery": null, - "tags": [], - "tagsQuery": null, - "type": "query", - "useTags": false - } - ] - }, - "time": { - "from": "now-30m", - "to": "now" - }, - "timepicker": { - "refresh_intervals": [ - "5s", - "10s", - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ], - "time_options": [ - "5m", - "15m", - "1h", - "6h", - "12h", - "24h", - "2d", - "7d", - "30d" - ] - }, - "timezone": "browser", - "title": "K8s Cluster" -} diff --git a/dist/dashboards/k8s-container.json b/dist/dashboards/k8s-container.json deleted file mode 100644 index 782640c..0000000 --- a/dist/dashboards/k8s-container.json +++ /dev/null @@ -1,763 +0,0 @@ -{ - "__inputs": [], - "__requires": [ - { - "type": "grafana", - "id": "grafana", - "name": "Grafana", - "version": "5.0.0-pre1" - }, - { - "type": "panel", - "id": "graph", - "name": "Graph", - "version": "" - }, - { - "type": "panel", - "id": "prometheus-kubernetes-podnav-panel", - "name": "Kubernetes Pod Nav", - "version": "" - } - ], - "annotations": { - "list": [ - { - "builtIn": 1, - "datasource": "-- Grafana --", - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "type": "dashboard" - } - ] - }, - "description": "Summary metrics about containers running on Kubernetes nodes.", - "editable": true, - "gnetId": 482, - "graphTooltip": 0, - "id": null, - "iteration": 1515624466721, - "links": [ - { - "asDropdown": true, - "icon": "external link", - "includeVars": true, - "tags": [ - "kubernetes-app" - ], - "title": "Dashboards", - "type": "dashboards" - } - ], - "panels": [ - { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 0 - }, - "id": 11, - "panels": [], - "repeat": null, - "title": "Pod Filtering", - "type": "row" - }, - { - "gridPos": { - "h": 10, - "w": 24, - "x": 0, - "y": 1 - }, - "id": 9, - "links": [], - "title": "", - "transparent": true, - "type": "prometheus-kubernetes-podnav-panel" - }, - { - "alerting": {}, - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$datasource", - "description": "Total memory usage of containers across a cluster", - "editable": true, - "error": false, - "fill": 1, - "grid": {}, - "gridPos": { - "h": 6, - "w": 12, - "x": 0, - "y": 10 - }, - "id": 1, - "legend": { - "alignAsTable": true, - "avg": false, - "current": true, - "hideEmpty": true, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "current", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 2, - "links": [], - "nullPointMode": "connected", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum(container_memory_usage_bytes{pod_name=~\"$pod\"}) by (pod_name)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{ pod_name }}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeShift": null, - "title": "Total Memory Usage", - "tooltip": { - "msResolution": false, - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "bytes", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ] - }, - { - "alerting": {}, - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$datasource", - "editable": true, - "error": false, - "fill": 1, - "grid": {}, - "gridPos": { - "h": 6, - "w": 12, - "x": 12, - "y": 10 - }, - "id": 6, - "legend": { - "alignAsTable": true, - "avg": false, - "current": true, - "hideEmpty": true, - "hideZero": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "current", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 2, - "links": [], - "nullPointMode": "connected", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": true, - "steppedLine": false, - "targets": [ - { - "expr": "sum(irate(container_cpu_usage_seconds_total{pod_name=~\"$pod\"}[2m])) by (pod_name)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{ pod_name }}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeShift": null, - "title": "CPU Usage", - "tooltip": { - "msResolution": false, - "shared": true, - "sort": 2, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "s", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ] - }, - { - "alerting": {}, - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$datasource", - "editable": true, - "error": false, - "fill": 1, - "grid": {}, - "gridPos": { - "h": 6, - "w": 12, - "x": 0, - "y": 16 - }, - "id": 2, - "legend": { - "alignAsTable": true, - "avg": false, - "current": true, - "hideEmpty": true, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "current", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 2, - "links": [], - "nullPointMode": "connected", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": true, - "steppedLine": false, - "targets": [ - { - "expr": "rate(container_network_transmit_bytes_total{pod_name=~\"$pod\", kubernetes_io_hostname=~\"$node\"}[2m])", - "format": "time_series", - "interval": "", - "intervalFactor": 1, - "legendFormat": "{{ pod_name }}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeShift": null, - "title": "Network Traffic (Inbound)", - "tooltip": { - "msResolution": false, - "shared": true, - "sort": 2, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "Bps", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ] - }, - { - "alerting": {}, - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$datasource", - "editable": true, - "error": false, - "fill": 1, - "grid": {}, - "gridPos": { - "h": 6, - "w": 12, - "x": 12, - "y": 16 - }, - "id": 8, - "legend": { - "alignAsTable": true, - "avg": false, - "current": true, - "hideEmpty": true, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "current", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 2, - "links": [], - "nullPointMode": "connected", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": true, - "steppedLine": false, - "targets": [ - { - "expr": "rate(container_network_receive_bytes_total{pod_name=~\"$pod\", kubernetes_io_hostname=~\"$node\"}[2m])", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{ pod_name }}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeShift": null, - "title": "Network Traffic (Outbound)", - "tooltip": { - "msResolution": false, - "shared": true, - "sort": 2, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "bps", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ] - }, - { - "alerting": {}, - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$datasource", - "editable": true, - "error": false, - "fill": 1, - "grid": {}, - "gridPos": { - "h": 6, - "w": 12, - "x": 0, - "y": 22 - }, - "id": 4, - "legend": { - "alignAsTable": true, - "avg": false, - "current": true, - "hideEmpty": true, - "hideZero": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": null, - "sortDesc": null, - "total": false, - "values": true - }, - "lines": false, - "linewidth": 2, - "links": [], - "nullPointMode": "connected", - "percentage": false, - "pointradius": 2, - "points": true, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "rate(container_fs_io_time_seconds_total{pod_name=~\"$pod\"}[2m])", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{pod_name}}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeShift": null, - "title": "Read IOPS", - "tooltip": { - "msResolution": false, - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "rps", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ] - }, - { - "alerting": {}, - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$datasource", - "editable": true, - "error": false, - "fill": 1, - "grid": {}, - "gridPos": { - "h": 6, - "w": 12, - "x": 12, - "y": 22 - }, - "id": 5, - "legend": { - "alignAsTable": true, - "avg": false, - "current": true, - "hideEmpty": true, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "total": false, - "values": true - }, - "lines": false, - "linewidth": 2, - "links": [], - "nullPointMode": "connected", - "percentage": false, - "pointradius": 2, - "points": true, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "rate(container_fs_write_seconds_total{pod_name=~\"$pod\"}[2m])", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{ pod_name }}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeShift": null, - "title": "Write IOPS", - "tooltip": { - "msResolution": false, - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "wps", - "label": null, - "logBase": 1, - "max": null, - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ] - } - ], - "schemaVersion": 16, - "style": "dark", - "tags": [ - "kubernetes", - "kubernetes-app" - ], - "templating": { - "list": [ - { - "hide": 0, - "label": null, - "name": "cluster", - "options": [], - "query": "grafana-kubernetes-datasource", - "refresh": 1, - "regex": "", - "type": "datasource" - }, - { - "allValue": null, - "datasource": "$cluster", - "hide": 2, - "includeAll": false, - "label": "", - "multi": false, - "name": "ds", - "options": [], - "query": "datasource", - "refresh": 1, - "regex": "", - "sort": 0, - "tagValuesQuery": "", - "tags": [], - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "hide": 2, - "label": "", - "name": "datasource", - "options": [], - "query": "prometheus", - "refresh": 1, - "regex": "/$ds/", - "type": "datasource" - }, - { - "allValue": null, - "datasource": "$cluster", - "hide": 0, - "includeAll": true, - "label": null, - "multi": true, - "name": "node", - "options": [], - "query": "node", - "refresh": 1, - "regex": "", - "sort": 0, - "tagValuesQuery": null, - "tags": [], - "tagsQuery": null, - "type": "query", - "useTags": false - }, - { - "allValue": null, - "datasource": "$cluster", - "hide": 0, - "includeAll": true, - "label": null, - "multi": true, - "name": "namespace", - "options": [], - "query": "namespace", - "refresh": 1, - "regex": "", - "sort": 0, - "tagValuesQuery": null, - "tags": [], - "tagsQuery": null, - "type": "query", - "useTags": false - }, - { - "allValue": null, - "current": {}, - "datasource": "$cluster", - "hide": 2, - "includeAll": true, - "label": null, - "multi": true, - "name": "pod", - "options": [], - "query": "pod $namespace", - "refresh": 1, - "regex": "", - "sort": 0, - "tagValuesQuery": "", - "tags": [], - "tagsQuery": "", - "type": "query", - "useTags": false - } - ] - }, - "time": { - "from": "now-30m", - "to": "now" - }, - "timepicker": { - "refresh_intervals": [ - "5s", - "10s", - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ], - "time_options": [ - "5m", - "15m", - "1h", - "6h", - "12h", - "24h", - "2d", - "7d", - "30d" - ] - }, - "timezone": "browser", - "title": "K8s Container" -} \ No newline at end of file diff --git a/dist/dashboards/k8s-deployments.json b/dist/dashboards/k8s-deployments.json deleted file mode 100644 index 75ba316..0000000 --- a/dist/dashboards/k8s-deployments.json +++ /dev/null @@ -1,609 +0,0 @@ -{ - "__inputs": [], - "__requires": [ - { - "type": "grafana", - "id": "grafana", - "name": "Grafana", - "version": "5.0.0-pre1" - }, - { - "type": "panel", - "id": "graph", - "name": "Graph", - "version": "" - }, - { - "type": "panel", - "id": "singlestat", - "name": "Singlestat", - "version": "" - } - ], - "annotations": { - "list": [ - { - "builtIn": 1, - "datasource": "-- Grafana --", - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "type": "dashboard" - } - ] - }, - "description": "Deployment overview for Kubernetes deploys.", - "editable": true, - "gnetId": null, - "graphTooltip": 1, - "id": null, - "iteration": 1515631831351, - "links": [ - { - "asDropdown": true, - "icon": "external link", - "includeVars": true, - "keepTime": false, - "tags": [ - "kubernetes-app" - ], - "title": "Dashboards", - "type": "dashboards" - } - ], - "panels": [ - { - "cacheTimeout": null, - "colorBackground": false, - "colorValue": false, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgb(72, 223, 30)" - ], - "datasource": "$datasource", - "editable": true, - "error": false, - "format": "none", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 5, - "w": 6, - "x": 0, - "y": 0 - }, - "id": 24, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": false - }, - "tableColumn": "", - "targets": [ - { - "expr": "sum(kube_deployment_status_replicas{deployment=~\"$deployment\"})", - "format": "time_series", - "intervalFactor": 1, - "refId": "A" - } - ], - "thresholds": "", - "title": "Deployment Replicas - Desired", - "type": "singlestat", - "valueFontSize": "80%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "current" - }, - { - "cacheTimeout": null, - "colorBackground": false, - "colorValue": false, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "datasource": "$datasource", - "editable": true, - "error": false, - "format": "none", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 5, - "w": 6, - "x": 6, - "y": 0 - }, - "id": 33, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": false - }, - "tableColumn": "", - "targets": [ - { - "expr": "sum(kube_deployment_status_replicas_available{deployment=~\"$deployment\"})", - "format": "time_series", - "intervalFactor": 1, - "refId": "A" - } - ], - "thresholds": "", - "title": "Deployments Replicas - Available", - "type": "singlestat", - "valueFontSize": "80%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "current" - }, - { - "cacheTimeout": null, - "colorBackground": false, - "colorValue": false, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "datasource": "$datasource", - "editable": true, - "error": false, - "format": "none", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 5, - "w": 6, - "x": 12, - "y": 0 - }, - "id": 25, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": false - }, - "tableColumn": "", - "targets": [ - { - "expr": "sum(kube_deployment_status_replicas_updated{deployment=~\"$deployment\"})", - "format": "time_series", - "intervalFactor": 1, - "refId": "A" - } - ], - "thresholds": "", - "title": "Deployments Replicas - Up-to-date", - "type": "singlestat", - "valueFontSize": "80%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "current" - }, - { - "cacheTimeout": null, - "colorBackground": false, - "colorValue": false, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "datasource": "$datasource", - "editable": true, - "error": false, - "format": "none", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 5, - "w": 6, - "x": 18, - "y": 0 - }, - "id": 32, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": false - }, - "tableColumn": "", - "targets": [ - { - "expr": "sum(kube_deployment_status_replicas_unavailable{deployment=~\"$deployment\"})", - "format": "time_series", - "intervalFactor": 1, - "refId": "A" - } - ], - "thresholds": "", - "title": "Deployments Replicas - Unavailable", - "type": "singlestat", - "valueFontSize": "80%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "current" - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$datasource", - "editable": true, - "error": false, - "fill": 1, - "gridPos": { - "h": 7, - "w": 24, - "x": 0, - "y": 5 - }, - "id": 34, - "legend": { - "alignAsTable": true, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "connected", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "kube_deployment_status_observed_generation", - "format": "time_series", - "interval": "", - "intervalFactor": 1, - "legendFormat": "{{ deployment }}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeShift": null, - "title": "Generations", - "tooltip": { - "msResolution": false, - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ] - } - ], - "refresh": "5s", - "schemaVersion": 16, - "style": "dark", - "tags": [ - "kubernetes", - "kubernetes-app" - ], - "templating": { - "list": [ - { - "hide": 0, - "label": null, - "name": "cluster", - "options": [], - "query": "grafana-kubernetes-datasource", - "refresh": 1, - "regex": "", - "type": "datasource" - }, - { - "allValue": null, - "datasource": "$cluster", - "hide": 2, - "includeAll": false, - "label": "", - "multi": false, - "name": "ds", - "options": [], - "query": "datasource", - "refresh": 1, - "regex": "", - "sort": 0, - "tagValuesQuery": "", - "tags": [], - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "hide": 2, - "label": "", - "name": "datasource", - "options": [], - "query": "prometheus", - "refresh": 1, - "regex": "/$ds/", - "type": "datasource" - }, - { - "allValue": null, - "datasource": "$cluster", - "hide": 0, - "includeAll": true, - "label": null, - "multi": true, - "name": "node", - "options": [], - "query": "node", - "refresh": 1, - "regex": "", - "sort": 0, - "tagValuesQuery": null, - "tags": [], - "tagsQuery": null, - "type": "query", - "useTags": false - }, - { - "allValue": null, - "datasource": "$cluster", - "hide": 0, - "includeAll": true, - "label": null, - "multi": true, - "name": "namespace", - "options": [], - "query": "namespace", - "refresh": 1, - "regex": "", - "sort": 0, - "tagValuesQuery": null, - "tags": [], - "tagsQuery": null, - "type": "query", - "useTags": false - }, - { - "allValue": null, - "datasource": "$cluster", - "hide": 0, - "includeAll": true, - "label": null, - "multi": true, - "name": "deployment", - "options": [], - "query": "deployment $namespace", - "refresh": 1, - "regex": "", - "sort": 0, - "tagValuesQuery": null, - "tags": [], - "tagsQuery": null, - "type": "query", - "useTags": false - } - ] - }, - "time": { - "from": "now-30m", - "to": "now" - }, - "timepicker": { - "refresh_intervals": [ - "5s", - "10s", - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ], - "time_options": [ - "5m", - "15m", - "1h", - "6h", - "12h", - "24h", - "2d", - "7d", - "30d" - ] - }, - "timezone": "browser", - "title": "K8s Deployments" -} \ No newline at end of file diff --git a/dist/dashboards/k8s-node.json b/dist/dashboards/k8s-node.json deleted file mode 100644 index 29c829f..0000000 --- a/dist/dashboards/k8s-node.json +++ /dev/null @@ -1,1059 +0,0 @@ -{ - "__inputs": [], - "__requires": [ - { - "type": "grafana", - "id": "grafana", - "name": "Grafana", - "version": "5.0.0-pre1" - }, - { - "type": "panel", - "id": "graph", - "name": "Graph", - "version": "" - }, - { - "type": "panel", - "id": "prometheus-kubernetes-nodeinfo-panel", - "name": "Kubernetes Node Info", - "version": "" - }, - { - "type": "panel", - "id": "singlestat", - "name": "Singlestat", - "version": "" - } - ], - "annotations": { - "list": [ - { - "builtIn": 1, - "datasource": "-- Grafana --", - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "type": "dashboard" - } - ] - }, - "editable": true, - "gnetId": 470, - "graphTooltip": 1, - "id": null, - "iteration": 1516060966755, - "links": [ - { - "asDropdown": true, - "icon": "external link", - "includeVars": true, - "tags": [ - "kubernetes-app" - ], - "title": "Dashboards", - "type": "dashboards" - } - ], - "panels": [ - { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 0 - }, - "id": 26, - "panels": [], - "repeat": null, - "title": "Filter by Node", - "type": "row" - }, - { - "gridPos": { - "h": 10, - "w": 24, - "x": 0, - "y": 1 - }, - "id": 25, - "links": [], - "title": "", - "transparent": true, - "type": "prometheus-kubernetes-nodeinfo-panel" - }, - { - "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 8 - }, - "id": 27, - "panels": [], - "repeat": null, - "title": "", - "type": "row" - }, - { - "alerting": {}, - "aliasColors": { - "steal": "#BF1B00" - }, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$datasource", - "editable": true, - "error": false, - "fill": 5, - "grid": {}, - "gridPos": { - "h": 7, - "w": 10, - "x": 0, - "y": 9 - }, - "id": 1, - "legend": { - "alignAsTable": true, - "avg": false, - "current": true, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 0, - "links": [], - "nullPointMode": "connected", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": true, - "steppedLine": false, - "targets": [ - { - "expr": "sum((avg(irate(node_cpu{nodename=~\"$node\", mode=\"system\"}[5m])) * 100))", - "format": "time_series", - "instant": false, - "interval": "", - "intervalFactor": 1, - "legendFormat": "system", - "refId": "A" - }, - { - "expr": "sum((avg(irate(node_cpu{nodename=~\"$node\", mode=\"user\"}[5m])) * 100))", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "user", - "refId": "B" - }, - { - "expr": "sum((avg(irate(node_cpu{nodename=~\"$node\", mode=\"iowait\"}[5m])) * 100))", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "iowait", - "refId": "C" - }, - { - "expr": "sum((avg(irate(node_cpu{nodename=~\"$node\", mode=\"steal\"}[5m])) * 100))", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "steal", - "refId": "D" - } - ], - "thresholds": [], - "timeFrom": null, - "timeShift": null, - "title": "CPU %", - "tooltip": { - "msResolution": false, - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "percent", - "logBase": 1, - "max": "100", - "min": null, - "show": true - }, - { - "format": "short", - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ] - }, - { - "alerting": {}, - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$datasource", - "editable": true, - "error": false, - "fill": 1, - "grid": {}, - "gridPos": { - "h": 7, - "w": 10, - "x": 10, - "y": 9 - }, - "id": 10, - "legend": { - "alignAsTable": true, - "avg": false, - "current": true, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 2, - "links": [], - "nullPointMode": "connected", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "mem_available", - "stack": "B" - } - ], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum(node_memory_MemAvailable{nodename=~\"$node\"})", - "format": "time_series", - "interval": "", - "intervalFactor": 1, - "legendFormat": "available", - "refId": "A" - }, - { - "expr": "sum(node_memory_MemFree{nodename=~\"$node\"})", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "free", - "refId": "B" - }, - { - "expr": "sum(node_memory_Active{nodename=~\"$node\"})", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "active", - "refId": "C" - } - ], - "thresholds": [], - "timeFrom": null, - "timeShift": null, - "title": "Memory Available", - "tooltip": { - "msResolution": true, - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "bytes", - "logBase": 1, - "max": null, - "min": 0, - "show": true - }, - { - "format": "short", - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ] - }, - { - "cacheTimeout": null, - "colorBackground": true, - "colorValue": false, - "colors": [ - "rgba(50, 172, 45, 0.97)", - "rgba(237, 129, 40, 0.89)", - "rgba(245, 54, 54, 0.9)" - ], - "datasource": "$datasource", - "editable": true, - "error": false, - "format": "none", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 7, - "w": 4, - "x": 20, - "y": 9 - }, - "id": 23, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "sparkline": { - "fillColor": "rgba(255, 255, 255, 0)", - "full": false, - "lineColor": "rgb(255, 255, 255)", - "show": true - }, - "tableColumn": "", - "targets": [ - { - "expr": "avg(node_load1{nodename=~\"$node\"})", - "format": "time_series", - "intervalFactor": 1, - "refId": "A", - "textEditor": false - } - ], - "thresholds": "1,2", - "title": "Load per Node", - "type": "singlestat", - "valueFontSize": "200%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "avg" - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$datasource", - "editable": true, - "error": false, - "fill": 1, - "gridPos": { - "h": 6, - "w": 24, - "x": 0, - "y": 16 - }, - "id": 24, - "legend": { - "alignAsTable": true, - "avg": false, - "current": true, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "connected", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum(node_filesystem_free{nodename=~\"$node\"}) by (nodename)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{ nodename }} free", - "refId": "B" - }, - { - "expr": "(sum(node_filesystem_size{nodename=~\"$node\"}) by (nodename) - sum(node_filesystem_free) by (nodename))", - "format": "time_series", - "instant": false, - "intervalFactor": 1, - "legendFormat": "{{ nodename }} usage", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeShift": null, - "title": "Disk Usage and Capacity", - "tooltip": { - "msResolution": false, - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "bytes", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ] - }, - { - "alerting": {}, - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$datasource", - "editable": true, - "error": false, - "fill": 1, - "grid": {}, - "gridPos": { - "h": 6, - "w": 12, - "x": 0, - "y": 22 - }, - "id": 8, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": false, - "total": false, - "values": false - }, - "lines": false, - "linewidth": 2, - "links": [], - "nullPointMode": "connected", - "percentage": false, - "pointradius": 1, - "points": true, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum(rate(node_disk_bytes_read{nodename=~\"$node\"}[5m]))", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Read", - "refId": "A" - }, - { - "expr": "sum(rate(node_disk_bytes_written{nodename=~\"$node\"}[5m]))", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Write", - "refId": "B" - } - ], - "thresholds": [], - "timeFrom": null, - "timeShift": null, - "title": "Disk Throughput", - "tooltip": { - "msResolution": false, - "shared": true, - "sort": 0, - "value_type": "cumulative" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "Bps", - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ] - }, - { - "alerting": {}, - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$datasource", - "editable": true, - "error": false, - "fill": 1, - "grid": {}, - "gridPos": { - "h": 6, - "w": 12, - "x": 12, - "y": 22 - }, - "id": 7, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": false, - "total": false, - "values": false - }, - "lines": false, - "linewidth": 2, - "links": [], - "nullPointMode": "connected", - "percentage": false, - "pointradius": 1, - "points": true, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum(rate(node_disk_reads_completed{nodename=~\"$node\"}[5m]))", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Reads", - "refId": "A" - }, - { - "expr": "sum(rate(node_disk_writes_completed{nodename=~\"$node\"}[5m]))", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Writes", - "refId": "B" - } - ], - "thresholds": [], - "timeFrom": null, - "timeShift": null, - "title": "Disk IOPS", - "tooltip": { - "msResolution": false, - "shared": true, - "sort": 0, - "value_type": "cumulative" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ] - }, - { - "alerting": {}, - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$datasource", - "editable": true, - "error": false, - "fill": 1, - "grid": {}, - "gridPos": { - "h": 5, - "w": 12, - "x": 0, - "y": 28 - }, - "id": 9, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": false, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 2, - "links": [], - "nullPointMode": "connected", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "out", - "transform": "negative-Y" - } - ], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum(rate(node_network_receive_bytes{nodename=~\"$node\"}[5m]))", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "receive", - "refId": "A" - }, - { - "expr": "sum(rate(node_network_transmit_bytes{nodename=~\"$node\"}[5m]))", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "transmit", - "refId": "B" - } - ], - "thresholds": [], - "timeFrom": null, - "timeShift": null, - "title": "Network Traffic/sec", - "tooltip": { - "msResolution": true, - "shared": true, - "sort": 0, - "value_type": "cumulative" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "Bps", - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ] - }, - { - "alerting": {}, - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$datasource", - "editable": true, - "error": false, - "fill": 1, - "grid": {}, - "gridPos": { - "h": 5, - "w": 12, - "x": 12, - "y": 28 - }, - "id": 18, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": false, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 2, - "links": [], - "nullPointMode": "connected", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "out", - "transform": "negative-Y" - } - ], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum(node_network_receive_errs{nodename=~\"$node\"})", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "in", - "refId": "A" - }, - { - "expr": "sum(node_network_transmit_errs{nodename=~\"$node\"})", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "in", - "refId": "B" - } - ], - "thresholds": [], - "timeFrom": null, - "timeShift": null, - "title": "Network Errors/sec", - "tooltip": { - "msResolution": true, - "shared": true, - "sort": 0, - "value_type": "cumulative" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "none", - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ] - }, - { - "alerting": {}, - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "$datasource", - "editable": true, - "error": false, - "fill": 1, - "grid": {}, - "gridPos": { - "h": 5, - "w": 24, - "x": 0, - "y": 33 - }, - "id": 17, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": false, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 2, - "links": [], - "nullPointMode": "connected", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [ - { - "alias": "out", - "transform": "negative-Y" - } - ], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum(rate(node_network_receive_packets{nodename=~\"$node\"}[5m]))", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "receive", - "refId": "A" - }, - { - "expr": "sum(rate(node_network_transmit_packets{nodename=~\"$node\"}[5m]))", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "transmit", - "refId": "B" - } - ], - "thresholds": [], - "timeFrom": null, - "timeShift": null, - "title": "Network Packets/sec", - "tooltip": { - "msResolution": true, - "shared": true, - "sort": 0, - "value_type": "cumulative" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "pps", - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "logBase": 1, - "max": null, - "min": null, - "show": false - } - ] - } - ], - "refresh": false, - "schemaVersion": 16, - "style": "dark", - "tags": [ - "kubernetes", - "kubernetes-app" - ], - "templating": { - "list": [ - { - "hide": 0, - "label": null, - "name": "cluster", - "options": [], - "query": "grafana-kubernetes-datasource", - "refresh": 1, - "regex": "", - "type": "datasource" - }, - { - "allValue": null, - "datasource": "$cluster", - "hide": 2, - "includeAll": false, - "label": "", - "multi": false, - "name": "ds", - "options": [], - "query": "datasource", - "refresh": 1, - "regex": "", - "sort": 0, - "tagValuesQuery": "", - "tags": [], - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "hide": 2, - "label": "", - "name": "datasource", - "options": [], - "query": "prometheus", - "refresh": 1, - "regex": "/$ds/", - "type": "datasource" - }, - { - "allValue": null, - "datasource": "$cluster", - "hide": 2, - "includeAll": true, - "label": null, - "multi": true, - "name": "node", - "options": [], - "query": "node", - "refresh": 1, - "regex": "", - "sort": 0, - "tagValuesQuery": null, - "tags": [], - "tagsQuery": null, - "type": "query", - "useTags": false - } - ] - }, - "time": { - "from": "now-30m", - "to": "now" - }, - "timepicker": { - "now": true, - "refresh_intervals": [ - "5s", - "10s", - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ], - "time_options": [ - "5m", - "15m", - "1h", - "6h", - "12h", - "24h", - "2d", - "7d", - "30d" - ] - }, - "timezone": "browser", - "title": "K8s Node" -} \ No newline at end of file diff --git a/dist/datasource/datasource.d.ts b/dist/datasource/datasource.d.ts deleted file mode 100644 index a9b5cbf..0000000 --- a/dist/datasource/datasource.d.ts +++ /dev/null @@ -1,29 +0,0 @@ -/// -export declare class K8sDatasource { - private backendSrv; - private templateSrv; - private $q; - id: number; - name: string; - url: string; - type: string; - ds: string; - static baseApiUrl: string; - constructor(instanceSettings: any, backendSrv: any, templateSrv: any, $q: any); - testDatasource(): any; - _get(apiResource: any): any; - getNodes(): any; - getNode(name: any): any; - getNamespaces(): any; - getComponentStatuses(): any; - getDaemonSets(namespace: any): any; - getReplicationControllers(namespace: any): any; - getDeployments(namespace: any): any; - getPods(namespace: any): any; - getPodsByLabel(namespace: any, labels: any): any; - getPod(name: any): any; - getPodsByName(names: any): any; - query(options: any): void; - annotationQuery(options: any): void; - metricFindQuery(query: string): any; -} diff --git a/dist/datasource/datasource.js b/dist/datasource/datasource.js deleted file mode 100644 index 3741dda..0000000 --- a/dist/datasource/datasource.js +++ /dev/null @@ -1,228 +0,0 @@ -/// -System.register(['lodash'], function(exports_1) { - var lodash_1; - var K8sDatasource; - function addNamespace(namespace) { - return namespace ? 'namespaces/' + namespace + '/' : ''; - } - function addLabels(labels) { - var querystring = ''; - lodash_1.default.forEach(labels, function (value, label) { - querystring += label + '%3D' + value + '%2C'; - }); - return lodash_1.default.trimEnd(querystring, '%2C'); - } - return { - setters:[ - function (lodash_1_1) { - lodash_1 = lodash_1_1; - }], - execute: function() { - K8sDatasource = (function () { - function K8sDatasource(instanceSettings, backendSrv, templateSrv, $q) { - this.backendSrv = backendSrv; - this.templateSrv = templateSrv; - this.$q = $q; - this.type = instanceSettings.type; - this.url = instanceSettings.url; - this.name = instanceSettings.name; - this.id = instanceSettings.id; - this.ds = instanceSettings.jsonData.ds; - this.backendSrv = backendSrv; - this.$q = $q; - } - K8sDatasource.prototype.testDatasource = function () { - return this.backendSrv.datasourceRequest({ - url: this.url + '/', - method: 'GET' - }).then(function (response) { - if (response.status === 200) { - return { status: "success", message: "Data source is working", title: "Success" }; - } - }); - }; - K8sDatasource.prototype._get = function (apiResource) { - return this.backendSrv.datasourceRequest({ - url: this.url + apiResource, - method: "GET", - headers: { 'Content-Type': 'application/json' } - }).then(function (response) { - return response.data; - }, function (error) { - return error; - }); - }; - K8sDatasource.prototype.getNodes = function () { - return this._get('/api/v1/nodes') - .then(function (result) { - return result.items; - }); - }; - K8sDatasource.prototype.getNode = function (name) { - return this._get('/api/v1/nodes/' + name); - }; - K8sDatasource.prototype.getNamespaces = function () { - return this._get('/api/v1/namespaces') - .then(function (result) { - return result.items; - }); - }; - K8sDatasource.prototype.getComponentStatuses = function () { - return this._get('/api/v1/componentstatuses') - .then(function (result) { - return result.items; - }); - }; - K8sDatasource.prototype.getDaemonSets = function (namespace) { - return this._get('/apis/extensions/v1beta1/' + addNamespace(namespace) + 'daemonsets') - .then(function (result) { - return result.items; - }); - }; - K8sDatasource.prototype.getReplicationControllers = function (namespace) { - return this._get('/api/v1/' + addNamespace(namespace) + 'replicationcontrollers') - .then(function (result) { - return result.items; - }); - }; - K8sDatasource.prototype.getDeployments = function (namespace) { - return this._get('/apis/extensions/v1beta1/' + addNamespace(namespace) + 'deployments') - .then(function (result) { - return result.items; - }); - }; - K8sDatasource.prototype.getPods = function (namespace) { - return this._get('/api/v1/' + addNamespace(namespace) + 'pods') - .then(function (result) { - return result.items; - }); - }; - K8sDatasource.prototype.getPodsByLabel = function (namespace, labels) { - return this._get('/api/v1/' + addNamespace(namespace) + 'pods?labelSelector=' + addLabels(labels)) - .then(function (result) { - return result.items; - }); - }; - K8sDatasource.prototype.getPod = function (name) { - return this._get('/api/v1/pods/?fieldSelector=metadata.name%3D' + name) - .then(function (result) { - if (result.items && result.items.length === 1) { - return result.items[0]; - } - else { - return result.items; - } - }); - }; - K8sDatasource.prototype.getPodsByName = function (names) { - var _this = this; - var promises = []; - if (Array.isArray(names)) { - lodash_1.default.forEach(names, function (name) { - promises.push(_this.getPod(name)); - }); - return this.$q.all(promises); - } - else { - return this.getPod(names) - .then(function (pod) { - return [pod]; - }); - } - }; - K8sDatasource.prototype.query = function (options) { - throw new Error("Query Support not implemented yet."); - }; - K8sDatasource.prototype.annotationQuery = function (options) { - throw new Error("Annotation Support not implemented yet."); - }; - K8sDatasource.prototype.metricFindQuery = function (query) { - var promises = []; - var namespaces; - if (!query) { - return Promise.resolve([]); - } - var interpolated = this.templateSrv.replace(query, {}); - var query_list = interpolated.split(" "); - if (query_list.length > 1) { - namespaces = query_list[1].replace("{", "").replace("}", "").split(","); - } - else { - namespaces = [""]; //Gets all pods/deployments - } - switch (query_list[0]) { - case 'pod': - for (var _i = 0; _i < namespaces.length; _i++) { - var ns = namespaces[_i]; - promises.push(this.getPods(ns)); - } - return Promise.all(promises).then(function (res) { - var data = []; - var pods = lodash_1.default.flatten(res).filter(function (n) { return n; }); - for (var _i = 0; _i < pods.length; _i++) { - var pod = pods[_i]; - data.push({ - text: pod.metadata.name, - value: pod.metadata.name, - }); - } - return data; - }); - case 'deployment': - for (var _a = 0; _a < namespaces.length; _a++) { - var ns = namespaces[_a]; - promises.push(this.getDeployments(ns)); - } - return Promise.all(promises).then(function (res) { - var data = []; - var deployments = lodash_1.default.flatten(res).filter(function (n) { return n; }); - for (var _i = 0; _i < deployments.length; _i++) { - var deployment = deployments[_i]; - data.push({ - text: deployment.metadata.name, - value: deployment.metadata.name, - }); - } - return data; - }); - case 'namespace': - return this.getNamespaces().then(function (namespaces) { - var data = []; - for (var _i = 0; _i < namespaces.length; _i++) { - var ns = namespaces[_i]; - data.push({ - text: ns.metadata.name, - value: ns.metadata.name, - }); - } - ; - return data; - }); - case 'node': - return this.getNodes().then(function (nodes) { - var data = []; - for (var _i = 0; _i < nodes.length; _i++) { - var node = nodes[_i]; - data.push({ - text: node.metadata.name, - value: node.metadata.name, - }); - } - ; - return data; - }); - case 'datasource': - return Promise.resolve([{ - text: this.ds, - value: this.ds, - }]); - } - }; - K8sDatasource.baseApiUrl = '/api/v1/'; - return K8sDatasource; - })(); - exports_1("K8sDatasource", K8sDatasource); - } - } -}); -//# sourceMappingURL=datasource.js.map \ No newline at end of file diff --git a/dist/datasource/datasource.js.map b/dist/datasource/datasource.js.map deleted file mode 100644 index 1d2561d..0000000 --- a/dist/datasource/datasource.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"datasource.js","sourceRoot":"","sources":["datasource.ts"],"names":["addNamespace","addLabels","K8sDatasource","K8sDatasource.constructor","K8sDatasource.testDatasource","K8sDatasource._get","K8sDatasource.getNodes","K8sDatasource.getNode","K8sDatasource.getNamespaces","K8sDatasource.getComponentStatuses","K8sDatasource.getDaemonSets","K8sDatasource.getReplicationControllers","K8sDatasource.getDeployments","K8sDatasource.getPods","K8sDatasource.getPodsByLabel","K8sDatasource.getPod","K8sDatasource.getPodsByName","K8sDatasource.query","K8sDatasource.annotationQuery","K8sDatasource.metricFindQuery"],"mappings":"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"} \ No newline at end of file diff --git a/dist/datasource/datasource.ts b/dist/datasource/datasource.ts deleted file mode 100644 index 6d1374a..0000000 --- a/dist/datasource/datasource.ts +++ /dev/null @@ -1,226 +0,0 @@ -/// - -import _ from 'lodash'; - -export class K8sDatasource { - id: number; - name: string; - url: string; - type: string; - ds: string; - static baseApiUrl = '/api/v1/'; - - constructor(instanceSettings, private backendSrv, private templateSrv, private $q) { - this.type = instanceSettings.type; - this.url = instanceSettings.url; - this.name = instanceSettings.name; - this.id = instanceSettings.id; - this.ds = instanceSettings.jsonData.ds; - this.backendSrv = backendSrv; - this.$q = $q; - } - - testDatasource() { - return this.backendSrv.datasourceRequest({ - url: this.url + '/', - method: 'GET' - }).then(response => { - if (response.status === 200) { - return { status: "success", message: "Data source is working", title: "Success" }; - } - }); - } - - _get(apiResource) { - return this.backendSrv.datasourceRequest({ - url: this.url + apiResource, - method: "GET", - headers: { 'Content-Type': 'application/json' } - }).then( - response => { - return response.data; - }, error => { - return error; - }); - } - - getNodes() { - return this._get('/api/v1/nodes') - .then(result => { - return result.items; - }); - } - - getNode(name) { - return this._get('/api/v1/nodes/' + name); - } - - getNamespaces() { - return this._get('/api/v1/namespaces') - .then(result => { - return result.items; - }); - } - - getComponentStatuses() { - return this._get('/api/v1/componentstatuses') - .then(result => { - return result.items; - }); - } - - getDaemonSets(namespace) { - return this._get('/apis/extensions/v1beta1/' + addNamespace(namespace) + 'daemonsets') - .then(result => { - return result.items; - }); - } - - getReplicationControllers(namespace) { - return this._get('/api/v1/' + addNamespace(namespace) + 'replicationcontrollers') - .then(result => { - return result.items; - }); - } - - getDeployments(namespace) { - return this._get('/apis/extensions/v1beta1/' + addNamespace(namespace) + 'deployments') - .then(result => { - return result.items; - }); - } - - getPods(namespace) { - return this._get('/api/v1/' + addNamespace(namespace) + 'pods') - .then(result => { - return result.items; - }); - } - - getPodsByLabel(namespace, labels) { - return this._get('/api/v1/' + addNamespace(namespace) + 'pods?labelSelector=' + addLabels(labels)) - .then(result => { - return result.items; - }); - } - - getPod(name) { - return this._get('/api/v1/pods/?fieldSelector=metadata.name%3D' + name) - .then(result => { - if (result.items && result.items.length === 1) { - return result.items[0]; - } else { - return result.items; - } - }); - } - - getPodsByName(names) { - const promises = []; - if (Array.isArray(names)) { - _.forEach(names, name => { - promises.push(this.getPod(name)); - }); - return this.$q.all(promises); - } else { - return this.getPod(names) - .then(pod => { - return [pod]; - }); - } - } - - query(options) { - throw new Error("Query Support not implemented yet."); - } - - annotationQuery(options) { - throw new Error("Annotation Support not implemented yet."); - } - - metricFindQuery(query: string) { - let promises: any[] = []; - let namespaces: string[]; - if (!query) { - return Promise.resolve([]); - } - let interpolated = this.templateSrv.replace(query, {}); - let query_list = interpolated.split(" "); - if (query_list.length > 1) { - namespaces = query_list[1].replace("{", "").replace("}", "").split(",") - } else { - namespaces = [""] //Gets all pods/deployments - } - switch (query_list[0]) { - case 'pod': - for (let ns of namespaces) { - promises.push(this.getPods(ns)) - } - return Promise.all(promises).then((res) => { - let data: any[] = []; - let pods = _.flatten(res).filter(n => n) - for (let pod of pods) { - data.push({ - text: pod.metadata.name, - value: pod.metadata.name, - }); - } - return data - }) - case 'deployment': - for (let ns of namespaces) { - promises.push(this.getDeployments(ns)) - } - return Promise.all(promises).then((res) => { - let data: any[] = []; - let deployments = _.flatten(res).filter(n => n) - for (let deployment of deployments) { - data.push({ - text: deployment.metadata.name, - value: deployment.metadata.name, - }); - } - return data - }) - case 'namespace': - return this.getNamespaces().then(namespaces => { - let data: any[] = []; - for (let ns of namespaces) { - data.push({ - text: ns.metadata.name, - value: ns.metadata.name, - }); - }; - return data; - }); - case 'node': - return this.getNodes().then(nodes => { - let data: any[] = []; - for (let node of nodes) { - data.push({ - text: node.metadata.name, - value: node.metadata.name, - }); - }; - return data; - }); - case 'datasource': // Returns the prometheus datasource associated with the cluster - return Promise.resolve([{ - text: this.ds, - value: this.ds, - }]); - } - } -} - -function addNamespace(namespace) { - return namespace ? 'namespaces/' + namespace + '/' : ''; -} - -function addLabels(labels) { - let querystring = ''; - _.forEach(labels, (value, label) => { - querystring += label + '%3D' + value + '%2C'; - }); - return _.trimEnd(querystring, '%2C'); -} diff --git a/dist/datasource/module.d.ts b/dist/datasource/module.d.ts deleted file mode 100644 index c44321f..0000000 --- a/dist/datasource/module.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -/// -import { K8sDatasource } from './datasource'; -import { K8sQueryCtrl } from './query_ctrl'; -declare class K8sConfigCtrl { - static templateUrl: string; -} -export { K8sDatasource as Datasource, K8sQueryCtrl as QueryCtrl, K8sConfigCtrl as ConfigCtrl }; diff --git a/dist/datasource/module.js b/dist/datasource/module.js deleted file mode 100644 index 6c31eb7..0000000 --- a/dist/datasource/module.js +++ /dev/null @@ -1,26 +0,0 @@ -/// -System.register(['./datasource', './query_ctrl'], function(exports_1) { - var datasource_1, query_ctrl_1; - var K8sConfigCtrl; - return { - setters:[ - function (datasource_1_1) { - datasource_1 = datasource_1_1; - }, - function (query_ctrl_1_1) { - query_ctrl_1 = query_ctrl_1_1; - }], - execute: function() { - K8sConfigCtrl = (function () { - function K8sConfigCtrl() { - } - K8sConfigCtrl.templateUrl = 'datasource/partials/config.html'; - return K8sConfigCtrl; - })(); - exports_1("Datasource", datasource_1.K8sDatasource); - exports_1("QueryCtrl", query_ctrl_1.K8sQueryCtrl); - exports_1("ConfigCtrl", K8sConfigCtrl); - } - } -}); -//# sourceMappingURL=module.js.map \ No newline at end of file diff --git a/dist/datasource/module.js.map b/dist/datasource/module.js.map deleted file mode 100644 index 5d57c8b..0000000 --- a/dist/datasource/module.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"module.js","sourceRoot":"","sources":["module.ts"],"names":["K8sConfigCtrl","K8sConfigCtrl.constructor"],"mappings":"AAAA,oFAAoF;;;;;;;;;;;;;YAKpF;gBAAAA;gBAEAC,CAACA;gBADQD,yBAAWA,GAAGA,iCAAiCA,CAACA;gBACzDA,oBAACA;YAADA,CAACA,AAFD,IAEC;YAGkB,mDAAU;YACX,iDAAS;YACR,sCAAU"} \ No newline at end of file diff --git a/dist/datasource/module.ts b/dist/datasource/module.ts deleted file mode 100644 index 8246907..0000000 --- a/dist/datasource/module.ts +++ /dev/null @@ -1,14 +0,0 @@ -/// - -import {K8sDatasource} from './datasource'; -import {K8sQueryCtrl} from './query_ctrl'; - -class K8sConfigCtrl { - static templateUrl = 'datasource/partials/config.html'; -} - -export { - K8sDatasource as Datasource, - K8sQueryCtrl as QueryCtrl, - K8sConfigCtrl as ConfigCtrl -}; \ No newline at end of file diff --git a/dist/datasource/partials/config.html b/dist/datasource/partials/config.html deleted file mode 100644 index cb213fe..0000000 --- a/dist/datasource/partials/config.html +++ /dev/null @@ -1,4 +0,0 @@ - - diff --git a/dist/datasource/partials/query.editor.html b/dist/datasource/partials/query.editor.html deleted file mode 100644 index f7f2306..0000000 --- a/dist/datasource/partials/query.editor.html +++ /dev/null @@ -1,6 +0,0 @@ - -
-
-
-
-
\ No newline at end of file diff --git a/dist/datasource/plugin.json b/dist/datasource/plugin.json deleted file mode 100644 index bddc442..0000000 --- a/dist/datasource/plugin.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "name": "Kubernetes", - "id": "grafana-kubernetes-datasource", - "type": "datasource", - - "staticRoot": ".", - - "partials": { - "config": "public/app/plugins/grafana-kubernetes-app/datasource/partials/config.html" - }, - - "metrics": true, - "annotations": false, - - "info": { - "description": "Kubernetes datasource", - "author": { - "name": "Grafana Labs", - "url": "https://grafana.com/" - }, - "logos": { - "small": "img/logo.svg", - "large": "img/logo.svg" - }, - "links": [ - {"name": "GitHub", "url": "https://github.com/grafana/kubernetes-app"}, - {"name": "License", "url": "https://github.com/grafana/kubernetes-app/blob/master/LICENSE"} - ], - "version": "0.0.1", - "updated": "2018-01-18" - }, - - "dependencies": { - "grafanaVersion": "5.x.x", - "plugins": [ ] - } -} \ No newline at end of file diff --git a/dist/datasource/query_ctrl.d.ts b/dist/datasource/query_ctrl.d.ts deleted file mode 100644 index 79b3195..0000000 --- a/dist/datasource/query_ctrl.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -/// -import { QueryCtrl } from 'app/plugins/sdk'; -export declare class K8sQueryCtrl extends QueryCtrl { - private templateSrv; - static templateUrl: string; - defaults: {}; - /** @ngInject **/ - constructor($scope: any, $injector: any, templateSrv: any); - getOptions(query: any): any; - onChangeInternal(): void; -} diff --git a/dist/datasource/query_ctrl.js b/dist/datasource/query_ctrl.js deleted file mode 100644 index 56dbdae..0000000 --- a/dist/datasource/query_ctrl.js +++ /dev/null @@ -1,42 +0,0 @@ -System.register(['lodash', 'app/plugins/sdk'], function(exports_1) { - var __extends = (this && this.__extends) || function (d, b) { - for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; - var lodash_1, sdk_1; - var K8sQueryCtrl; - return { - setters:[ - function (lodash_1_1) { - lodash_1 = lodash_1_1; - }, - function (sdk_1_1) { - sdk_1 = sdk_1_1; - }], - execute: function() { - K8sQueryCtrl = (function (_super) { - __extends(K8sQueryCtrl, _super); - /** @ngInject **/ - function K8sQueryCtrl($scope, $injector, templateSrv) { - _super.call(this, $scope, $injector); - this.templateSrv = templateSrv; - this.defaults = {}; - lodash_1.default.defaultsDeep(this.target, this.defaults); - this.target.target = this.target.target || ''; - this.target.type = this.target.type || 'timeserie'; - } - K8sQueryCtrl.prototype.getOptions = function (query) { - return this.datasource.metricFindQuery(''); - }; - K8sQueryCtrl.prototype.onChangeInternal = function () { - this.panelCtrl.refresh(); // Asks the panel to refresh data. - }; - K8sQueryCtrl.templateUrl = 'datasource/partials/query.editor.html'; - return K8sQueryCtrl; - })(sdk_1.QueryCtrl); - exports_1("K8sQueryCtrl", K8sQueryCtrl); - } - } -}); -//# sourceMappingURL=query_ctrl.js.map \ No newline at end of file diff --git a/dist/datasource/query_ctrl.js.map b/dist/datasource/query_ctrl.js.map deleted file mode 100644 index 89f01d5..0000000 --- a/dist/datasource/query_ctrl.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"query_ctrl.js","sourceRoot":"","sources":["query_ctrl.ts"],"names":["K8sQueryCtrl","K8sQueryCtrl.constructor","K8sQueryCtrl.getOptions","K8sQueryCtrl.onChangeInternal"],"mappings":";;;;;;;;;;;;;;;;;YAIA;gBAAkCA,gCAASA;gBAMzCA,iBAAiBA;gBACjBA,sBAAYA,MAAMA,EAAEA,SAASA,EAAUA,WAAWA;oBAChDC,kBAAMA,MAAMA,EAAEA,SAASA,CAACA,CAACA;oBADYA,gBAAWA,GAAXA,WAAWA,CAAAA;oBAJlDA,aAAQA,GAAGA,EACVA,CAACA;oBAMAA,gBAACA,CAACA,YAAYA,CAACA,IAAIA,CAACA,MAAMA,EAAEA,IAAIA,CAACA,QAAQA,CAACA,CAACA;oBAE3CA,IAAIA,CAACA,MAAMA,CAACA,MAAMA,GAAGA,IAAIA,CAACA,MAAMA,CAACA,MAAMA,IAAIA,EAAEA,CAACA;oBAC9CA,IAAIA,CAACA,MAAMA,CAACA,IAAIA,GAAGA,IAAIA,CAACA,MAAMA,CAACA,IAAIA,IAAIA,WAAWA,CAACA;gBACrDA,CAACA;gBAEDD,iCAAUA,GAAVA,UAAWA,KAAKA;oBACdE,MAAMA,CAACA,IAAIA,CAACA,UAAUA,CAACA,eAAeA,CAACA,EAAEA,CAACA,CAACA;gBAC7CA,CAACA;gBAEDF,uCAAgBA,GAAhBA;oBACEG,IAAIA,CAACA,SAASA,CAACA,OAAOA,EAAEA,CAACA,CAACA,kCAAkCA;gBAC9DA,CAACA;gBArBMH,wBAAWA,GAAGA,uCAAuCA,CAACA;gBAsB/DA,mBAACA;YAADA,CAACA,AAvBD,EAAkC,eAAS,EAuB1C;YAvBD,uCAuBC,CAAA"} \ No newline at end of file diff --git a/dist/datasource/query_ctrl.ts b/dist/datasource/query_ctrl.ts deleted file mode 100644 index 0bdcabb..0000000 --- a/dist/datasource/query_ctrl.ts +++ /dev/null @@ -1,28 +0,0 @@ -/// -import _ from 'lodash'; -import {QueryCtrl} from 'app/plugins/sdk'; - -export class K8sQueryCtrl extends QueryCtrl { - static templateUrl = 'datasource/partials/query.editor.html'; - - defaults = { - }; - - /** @ngInject **/ - constructor($scope, $injector, private templateSrv) { - super($scope, $injector); - - _.defaultsDeep(this.target, this.defaults); - - this.target.target = this.target.target || ''; - this.target.type = this.target.type || 'timeserie'; - } - - getOptions(query) { - return this.datasource.metricFindQuery(''); - } - - onChangeInternal() { - this.panelCtrl.refresh(); // Asks the panel to refresh data. - } -} \ No newline at end of file diff --git a/dist/img/app-menu-screenshot.png b/dist/img/app-menu-screenshot.png deleted file mode 100644 index 0c4d126..0000000 Binary files a/dist/img/app-menu-screenshot.png and /dev/null differ diff --git a/dist/img/cluster-dashboard-screenshot.png b/dist/img/cluster-dashboard-screenshot.png deleted file mode 100644 index f4ea7d3..0000000 Binary files a/dist/img/cluster-dashboard-screenshot.png and /dev/null differ diff --git a/dist/img/container-dashboard-screenshot.png b/dist/img/container-dashboard-screenshot.png deleted file mode 100644 index e4b3c94..0000000 Binary files a/dist/img/container-dashboard-screenshot.png and /dev/null differ diff --git a/dist/img/logo.svg b/dist/img/logo.svg deleted file mode 100644 index a71ff56..0000000 --- a/dist/img/logo.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - - - diff --git a/dist/img/namespace-details-screenshot.png b/dist/img/namespace-details-screenshot.png deleted file mode 100644 index 5f4e5cc..0000000 Binary files a/dist/img/namespace-details-screenshot.png and /dev/null differ diff --git a/dist/img/node-dashboard-screenshot.png b/dist/img/node-dashboard-screenshot.png deleted file mode 100644 index 8056644..0000000 Binary files a/dist/img/node-dashboard-screenshot.png and /dev/null differ diff --git a/dist/img/overview-screenshot.png b/dist/img/overview-screenshot.png deleted file mode 100644 index 111d106..0000000 Binary files a/dist/img/overview-screenshot.png and /dev/null differ diff --git a/dist/img/pod-details-screenshot.png b/dist/img/pod-details-screenshot.png deleted file mode 100644 index e93eea1..0000000 Binary files a/dist/img/pod-details-screenshot.png and /dev/null differ diff --git a/dist/module.d.ts b/dist/module.d.ts deleted file mode 100644 index a3693a9..0000000 --- a/dist/module.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { KubernetesConfigCtrl } from './components/config/config'; -import { ClustersCtrl } from './components/clusters/clusters'; -import { ClusterConfigCtrl } from './components/clusters/clusterConfig'; -import { ClusterInfoCtrl } from './components/clusters/clusterInfo'; -import { ClusterWorkloadsCtrl } from './components/clusters/clusterWorkloads'; -import { NodeInfoCtrl } from './components/clusters/nodeInfo'; -import { PodInfoCtrl } from './components/clusters/podInfo'; -export { KubernetesConfigCtrl as ConfigCtrl, ClustersCtrl, ClusterConfigCtrl, ClusterInfoCtrl, ClusterWorkloadsCtrl, NodeInfoCtrl, PodInfoCtrl }; diff --git a/dist/module.js b/dist/module.js deleted file mode 100644 index f48fd2a..0000000 --- a/dist/module.js +++ /dev/null @@ -1,44 +0,0 @@ -System.register(['./components/config/config', './components/clusters/clusters', './components/clusters/clusterConfig', './components/clusters/clusterInfo', './components/clusters/clusterWorkloads', './components/clusters/nodeInfo', './components/clusters/podInfo', 'app/plugins/sdk'], function(exports_1) { - var config_1, clusters_1, clusterConfig_1, clusterInfo_1, clusterWorkloads_1, nodeInfo_1, podInfo_1, sdk_1; - return { - setters:[ - function (config_1_1) { - config_1 = config_1_1; - }, - function (clusters_1_1) { - clusters_1 = clusters_1_1; - }, - function (clusterConfig_1_1) { - clusterConfig_1 = clusterConfig_1_1; - }, - function (clusterInfo_1_1) { - clusterInfo_1 = clusterInfo_1_1; - }, - function (clusterWorkloads_1_1) { - clusterWorkloads_1 = clusterWorkloads_1_1; - }, - function (nodeInfo_1_1) { - nodeInfo_1 = nodeInfo_1_1; - }, - function (podInfo_1_1) { - podInfo_1 = podInfo_1_1; - }, - function (sdk_1_1) { - sdk_1 = sdk_1_1; - }], - execute: function() { - sdk_1.loadPluginCss({ - dark: 'plugins/grafana-kubernetes-app/css/dark.css', - light: 'plugins/grafana-kubernetes-app/css/light.css' - }); - exports_1("ConfigCtrl", config_1.KubernetesConfigCtrl); - exports_1("ClustersCtrl", clusters_1.ClustersCtrl); - exports_1("ClusterConfigCtrl", clusterConfig_1.ClusterConfigCtrl); - exports_1("ClusterInfoCtrl", clusterInfo_1.ClusterInfoCtrl); - exports_1("ClusterWorkloadsCtrl", clusterWorkloads_1.ClusterWorkloadsCtrl); - exports_1("NodeInfoCtrl", nodeInfo_1.NodeInfoCtrl); - exports_1("PodInfoCtrl", podInfo_1.PodInfoCtrl); - } - } -}); -//# sourceMappingURL=module.js.map \ No newline at end of file diff --git a/dist/module.js.map b/dist/module.js.map deleted file mode 100644 index b5293d5..0000000 --- a/dist/module.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"module.js","sourceRoot":"","sources":["module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;YASA,mBAAa,CAAC;gBACZ,IAAI,EAAE,6CAA6C;gBACnD,KAAK,EAAE,8CAA8C;aACtD,CAAC,CAAC;YAGuB,sDAAU;YAClC,kDAAY;YACZ,iEAAiB;YACjB,2DAAe;YACf,0EAAoB;YACpB,kDAAY;YACZ,+CAAW"} \ No newline at end of file diff --git a/dist/module.ts b/dist/module.ts deleted file mode 100644 index 0cec6ec..0000000 --- a/dist/module.ts +++ /dev/null @@ -1,23 +0,0 @@ -import {KubernetesConfigCtrl} from './components/config/config'; -import {ClustersCtrl} from './components/clusters/clusters'; -import {ClusterConfigCtrl} from './components/clusters/clusterConfig'; -import {ClusterInfoCtrl} from './components/clusters/clusterInfo'; -import {ClusterWorkloadsCtrl} from './components/clusters/clusterWorkloads'; -import {NodeInfoCtrl} from './components/clusters/nodeInfo'; -import {PodInfoCtrl} from './components/clusters/podInfo'; -import {loadPluginCss} from 'app/plugins/sdk'; - -loadPluginCss({ - dark: 'plugins/grafana-kubernetes-app/css/dark.css', - light: 'plugins/grafana-kubernetes-app/css/light.css' -}); - -export { - KubernetesConfigCtrl as ConfigCtrl, - ClustersCtrl, - ClusterConfigCtrl, - ClusterInfoCtrl, - ClusterWorkloadsCtrl, - NodeInfoCtrl, - PodInfoCtrl -}; diff --git a/dist/panels/nodeData/module.d.ts b/dist/panels/nodeData/module.d.ts deleted file mode 100644 index 15cd2a9..0000000 --- a/dist/panels/nodeData/module.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -/// -import { NodeDataCtrl } from './nodeData'; -export { NodeDataCtrl as PanelCtrl }; diff --git a/dist/panels/nodeData/module.js b/dist/panels/nodeData/module.js deleted file mode 100644 index 3c56343..0000000 --- a/dist/panels/nodeData/module.js +++ /dev/null @@ -1,21 +0,0 @@ -/// -System.register(['./nodeData', 'app/plugins/sdk'], function(exports_1) { - var nodeData_1, sdk_1; - return { - setters:[ - function (nodeData_1_1) { - nodeData_1 = nodeData_1_1; - }, - function (sdk_1_1) { - sdk_1 = sdk_1_1; - }], - execute: function() { - sdk_1.loadPluginCss({ - dark: 'plugins/grafana-kubernetes-app/css/dark.css', - light: 'plugins/grafana-kubernetes-app/css/light.css' - }); - exports_1("PanelCtrl", nodeData_1.NodeDataCtrl); - } - } -}); -//# sourceMappingURL=module.js.map \ No newline at end of file diff --git a/dist/panels/nodeData/module.js.map b/dist/panels/nodeData/module.js.map deleted file mode 100644 index 54bd9cd..0000000 --- a/dist/panels/nodeData/module.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"module.js","sourceRoot":"","sources":["module.ts"],"names":[],"mappings":"AAAA,uFAAuF;;;;;;;;;;;;YAKvF,mBAAa,CAAC;gBACZ,IAAI,EAAE,6CAA6C;gBACnD,KAAK,EAAE,8CAA8C;aACtD,CAAC,CAAC;YAGe,+CAAS"} \ No newline at end of file diff --git a/dist/panels/nodeData/module.ts b/dist/panels/nodeData/module.ts deleted file mode 100644 index ca3bf6d..0000000 --- a/dist/panels/nodeData/module.ts +++ /dev/null @@ -1,13 +0,0 @@ -/// - -import {NodeDataCtrl} from './nodeData'; -import {loadPluginCss} from 'app/plugins/sdk'; - -loadPluginCss({ - dark: 'plugins/grafana-kubernetes-app/css/dark.css', - light: 'plugins/grafana-kubernetes-app/css/light.css' -}); - -export { - NodeDataCtrl as PanelCtrl -}; diff --git a/dist/panels/nodeData/nodeData.d.ts b/dist/panels/nodeData/nodeData.d.ts deleted file mode 100644 index 8fc1f10..0000000 --- a/dist/panels/nodeData/nodeData.d.ts +++ /dev/null @@ -1,45 +0,0 @@ -/// -import { PanelCtrl } from 'app/plugins/sdk'; -import NodeStatsDatasource from './nodeStats'; -export declare class NodeDataCtrl extends PanelCtrl { - private backendSrv; - private datasourceSrv; - private $location; - private alertSrv; - private timeSrv; - private variableSrv; - templateVariables: any; - nodeStatsDatasource: NodeStatsDatasource; - pageReady: boolean; - cluster: any; - clusterDS: any; - node: any; - isInListMode: boolean; - nodes: any[]; - static templateUrl: string; - static scrollable: boolean; - /** @ngInject */ - constructor($scope: any, $injector: any, backendSrv: any, datasourceSrv: any, $location: any, alertSrv: any, timeSrv: any, variableSrv: any); - loadCluster(): void; - getNodeHealth(node: any): { - text: string; - iconClass: string; - stateClass: string; - message: any; - }; - getHealthState(health: any, message: any): { - text: string; - iconClass: string; - stateClass: string; - message: any; - }; - refresh(): void; - loadDatasource(id: any): any; - goToNodeDashboard(node: any): void; - conditionStatus(condition: any): { - value: any; - text: string; - }; - isConditionOk(condition: any): any; - conditionLastTransitionTime(condition: any): any; -} diff --git a/dist/panels/nodeData/nodeData.js b/dist/panels/nodeData/nodeData.js deleted file mode 100644 index 15dc1f6..0000000 --- a/dist/panels/nodeData/nodeData.js +++ /dev/null @@ -1,184 +0,0 @@ -/// -System.register(['moment', 'app/plugins/sdk', 'lodash', './nodeStats'], function(exports_1) { - var __extends = (this && this.__extends) || function (d, b) { - for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; - var moment_1, sdk_1, lodash_1, nodeStats_1; - var panelDefaults, NodeDataCtrl; - return { - setters:[ - function (moment_1_1) { - moment_1 = moment_1_1; - }, - function (sdk_1_1) { - sdk_1 = sdk_1_1; - }, - function (lodash_1_1) { - lodash_1 = lodash_1_1; - }, - function (nodeStats_1_1) { - nodeStats_1 = nodeStats_1_1; - }], - execute: function() { - panelDefaults = {}; - NodeDataCtrl = (function (_super) { - __extends(NodeDataCtrl, _super); - /** @ngInject */ - function NodeDataCtrl($scope, $injector, backendSrv, datasourceSrv, $location, alertSrv, timeSrv, variableSrv) { - _super.call(this, $scope, $injector); - this.backendSrv = backendSrv; - this.datasourceSrv = datasourceSrv; - this.$location = $location; - this.alertSrv = alertSrv; - this.timeSrv = timeSrv; - this.variableSrv = variableSrv; - lodash_1.default.defaults(this.panel, panelDefaults); - this.templateVariables = this.variableSrv.variables; - this.nodeStatsDatasource = new nodeStats_1.default(datasourceSrv, timeSrv); - document.title = 'Grafana Kubernetes App'; - this.pageReady = false; - this.cluster = {}; - this.clusterDS = {}; - this.node = {}; - this.isInListMode = false; - this.nodes = []; - this.loadCluster(); - } - NodeDataCtrl.prototype.loadCluster = function () { - var _this = this; - var cluster = lodash_1.default.find(this.templateVariables, { 'name': 'cluster' }); - if (!cluster) { - this.alertSrv.set("no cluster specified.", "no cluster specified in url", 'error'); - return; - } - else { - var cluster_id = cluster.current.value; - var nodeVar = lodash_1.default.find(this.templateVariables, { 'name': 'node' }); - var node_name = nodeVar.current.value !== '$__all' ? nodeVar.current.value : 'All'; - var prometheusDS = lodash_1.default.find(this.templateVariables, { 'name': 'datasource' }).current.value; - this.loadDatasource(cluster_id).then(function () { - return _this.nodeStatsDatasource.getNodeStats(cluster_id, prometheusDS); - }).then(function (nodeStats) { - if (node_name === 'All') { - _this.isInListMode = true; - _this.clusterDS.getNodes().then(function (nodes) { - _this.nodes = lodash_1.default.map(nodes, function (node) { - node.healthState = _this.getNodeHealth(node); - _this.nodeStatsDatasource.updateNodeWithStats(node, nodeStats); - return node; - }); - }); - } - else { - _this.isInListMode = false; - _this.clusterDS.getNode(node_name).then(function (node) { - _this.node = node; - _this.pageReady = true; - }); - } - }); - } - }; - NodeDataCtrl.prototype.getNodeHealth = function (node) { - var health = "unhealthy"; - var message = ''; - lodash_1.default.forEach(node.status.conditions, function (condition) { - if (condition.type === "Ready" && - condition.status === "True") { - health = "ok"; - } - else { - message = condition.message; - } - }); - return this.getHealthState(health, message); - }; - NodeDataCtrl.prototype.getHealthState = function (health, message) { - switch (health) { - case 'ok': { - return { - text: 'OK', - iconClass: 'icon-gf icon-gf-online', - stateClass: 'alert-state-ok', - message: '', - }; - } - case 'unhealthy': { - return { - text: 'UNHEALTHY', - iconClass: 'icon-gf icon-gf-critical', - stateClass: 'alert-state-critical', - message: message || '' - }; - } - case 'warning': { - return { - text: 'warning', - iconClass: "icon-gf icon-gf-critical", - stateClass: 'alert-state-warning', - message: message || '' - }; - } - } - }; - NodeDataCtrl.prototype.refresh = function () { - this.loadCluster(); - }; - NodeDataCtrl.prototype.loadDatasource = function (id) { - var _this = this; - return this.backendSrv.get('api/datasources') - .then(function (result) { - return lodash_1.default.filter(result, { "type": "grafana-kubernetes-datasource", "name": id })[0]; - }) - .then(function (ds) { - if (!ds) { - _this.alertSrv.set("Failed to connect", "Could not connect to the specified cluster.", 'error'); - throw "Failed to connect to " + id; - } - _this.cluster = ds; - return _this.datasourceSrv.get(ds.name); - }).then(function (clusterDS) { - _this.clusterDS = clusterDS; - return clusterDS; - }); - }; - NodeDataCtrl.prototype.goToNodeDashboard = function (node) { - var _this = this; - var variable = lodash_1.default.find(this.templateVariables, { 'name': 'node' }); - variable.current.text = node === 'All' ? 'All' : node.metadata.name; - variable.current.value = node === 'All' ? '$__all' : node.metadata.name; - this.variableSrv.variableUpdated(variable).then(function () { - _this.$scope.$emit('template-variable-value-updated'); - _this.$scope.$root.$broadcast('refresh'); - }); - }; - NodeDataCtrl.prototype.conditionStatus = function (condition) { - var status; - if (condition.type === "Ready") { - status = condition.status === "True"; - } - else { - status = condition.status === "False"; - } - return { - value: status, - text: status ? "Ok" : "Error" - }; - }; - NodeDataCtrl.prototype.isConditionOk = function (condition) { - return this.conditionStatus(condition).value; - }; - NodeDataCtrl.prototype.conditionLastTransitionTime = function (condition) { - return moment_1.default(condition.lastTransitionTime).format('YYYY-MM-DD HH:mm:ss'); - }; - NodeDataCtrl.templateUrl = 'panels/nodeData/partials/node_info.html'; - NodeDataCtrl.scrollable = true; - return NodeDataCtrl; - })(sdk_1.PanelCtrl); - exports_1("NodeDataCtrl", NodeDataCtrl); - } - } -}); -//# sourceMappingURL=nodeData.js.map \ No newline at end of file diff --git a/dist/panels/nodeData/nodeData.js.map b/dist/panels/nodeData/nodeData.js.map deleted file mode 100644 index c69a75f..0000000 --- a/dist/panels/nodeData/nodeData.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"nodeData.js","sourceRoot":"","sources":["nodeData.ts"],"names":["NodeDataCtrl","NodeDataCtrl.constructor","NodeDataCtrl.loadCluster","NodeDataCtrl.getNodeHealth","NodeDataCtrl.getHealthState","NodeDataCtrl.refresh","NodeDataCtrl.loadDatasource","NodeDataCtrl.goToNodeDashboard","NodeDataCtrl.conditionStatus","NodeDataCtrl.isConditionOk","NodeDataCtrl.conditionLastTransitionTime"],"mappings":"AAAA,uFAAuF;;;;;;;;QAOjF,aAAa;;;;;;;;;;;;;;;;YAAb,aAAa,GAAG,EACrB,CAAC;YAEF;gBAAkCA,gCAASA;gBAczCA,gBAAgBA;gBAChBA,sBAAYA,MAAMA,EAAEA,SAASA,EAAUA,UAAUA,EAAUA,aAAaA,EAAUA,SAASA,EAAUA,QAAQA,EAAUA,OAAOA,EAAUA,WAAWA;oBACjJC,kBAAMA,MAAMA,EAAEA,SAASA,CAACA,CAACA;oBADYA,eAAUA,GAAVA,UAAUA,CAAAA;oBAAUA,kBAAaA,GAAbA,aAAaA,CAAAA;oBAAUA,cAASA,GAATA,SAASA,CAAAA;oBAAUA,aAAQA,GAARA,QAAQA,CAAAA;oBAAUA,YAAOA,GAAPA,OAAOA,CAAAA;oBAAUA,gBAAWA,GAAXA,WAAWA,CAAAA;oBAEjJA,gBAACA,CAACA,QAAQA,CAACA,IAAIA,CAACA,KAAKA,EAAEA,aAAaA,CAACA,CAACA;oBAEtCA,IAAIA,CAACA,iBAAiBA,GAAGA,IAAIA,CAACA,WAAWA,CAACA,SAASA,CAACA;oBACpDA,IAAIA,CAACA,mBAAmBA,GAAGA,IAAIA,mBAAmBA,CAACA,aAAaA,EAAEA,OAAOA,CAACA,CAACA;oBAC3EA,QAAQA,CAACA,KAAKA,GAAGA,wBAAwBA,CAACA;oBAE1CA,IAAIA,CAACA,SAASA,GAAGA,KAAKA,CAACA;oBACvBA,IAAIA,CAACA,OAAOA,GAAGA,EAAEA,CAACA;oBAClBA,IAAIA,CAACA,SAASA,GAAGA,EAAEA,CAACA;oBACpBA,IAAIA,CAACA,IAAIA,GAAGA,EAAEA,CAACA;oBAEfA,IAAIA,CAACA,YAAYA,GAAGA,KAAKA,CAACA;oBAC1BA,IAAIA,CAACA,KAAKA,GAAGA,EAAEA,CAACA;oBAEhBA,IAAIA,CAACA,WAAWA,EAAEA,CAACA;gBACrBA,CAACA;gBAEDD,kCAAWA,GAAXA;oBAAAE,iBAiCCA;oBAhCCA,IAAMA,OAAOA,GAAGA,gBAACA,CAACA,IAAIA,CAACA,IAAIA,CAACA,iBAAiBA,EAAEA,EAACA,MAAMA,EAAEA,SAASA,EAACA,CAACA,CAACA;oBACpEA,EAAEA,CAACA,CAACA,CAACA,OAAOA,CAACA,CAACA,CAACA;wBACbA,IAAIA,CAACA,QAAQA,CAACA,GAAGA,CAACA,uBAAuBA,EAAEA,6BAA6BA,EAAEA,OAAOA,CAACA,CAACA;wBACnFA,MAAMA,CAACA;oBACTA,CAACA;oBAACA,IAAIA,CAACA,CAACA;wBACNA,IAAMA,UAAUA,GAAGA,OAAOA,CAACA,OAAOA,CAACA,KAAKA,CAACA;wBACzCA,IAAMA,OAAOA,GAAGA,gBAACA,CAACA,IAAIA,CAACA,IAAIA,CAACA,iBAAiBA,EAAEA,EAACA,MAAMA,EAAEA,MAAMA,EAACA,CAACA,CAACA;wBACjEA,IAAMA,SAASA,GAAIA,OAAOA,CAACA,OAAOA,CAACA,KAAKA,KAAKA,QAAQA,GAAGA,OAAOA,CAACA,OAAOA,CAACA,KAAKA,GAAGA,KAAKA,CAACA;wBACtFA,IAAMA,YAAYA,GAAIA,gBAACA,CAACA,IAAIA,CAACA,IAAIA,CAACA,iBAAiBA,EAAEA,EAACA,MAAMA,EAAEA,YAAYA,EAACA,CAACA,CAACA,OAAOA,CAACA,KAAKA,CAACA;wBAE3FA,IAAIA,CAACA,cAAcA,CAACA,UAAUA,CAACA,CAACA,IAAIA,CAACA;4BACnCA,MAAMA,CAACA,KAAIA,CAACA,mBAAmBA,CAACA,YAAYA,CAACA,UAAUA,EAAEA,YAAYA,CAACA,CAACA;wBACzEA,CAACA,CAACA,CAACA,IAAIA,CAACA,UAAAA,SAASA;4BACfA,EAAEA,CAACA,CAACA,SAASA,KAAKA,KAAKA,CAACA,CAACA,CAACA;gCACxBA,KAAIA,CAACA,YAAYA,GAAGA,IAAIA,CAACA;gCACzBA,KAAIA,CAACA,SAASA,CAACA,QAAQA,EAAEA,CAACA,IAAIA,CAACA,UAAAA,KAAKA;oCAClCA,KAAIA,CAACA,KAAKA,GAAGA,gBAACA,CAACA,GAAGA,CAACA,KAAKA,EAAEA,UAAAA,IAAIA;wCAC5BA,IAAIA,CAACA,WAAWA,GAAGA,KAAIA,CAACA,aAAaA,CAACA,IAAIA,CAACA,CAACA;wCAC5CA,KAAIA,CAACA,mBAAmBA,CAACA,mBAAmBA,CAACA,IAAIA,EAAEA,SAASA,CAACA,CAACA;wCAE9DA,MAAMA,CAACA,IAAIA,CAACA;oCACdA,CAACA,CAACA,CAACA;gCACLA,CAACA,CAACA,CAACA;4BACLA,CAACA;4BAACA,IAAIA,CAACA,CAACA;gCACNA,KAAIA,CAACA,YAAYA,GAAGA,KAAKA,CAACA;gCAC1BA,KAAIA,CAACA,SAASA,CAACA,OAAOA,CAACA,SAASA,CAACA,CAACA,IAAIA,CAACA,UAAAA,IAAIA;oCACzCA,KAAIA,CAACA,IAAIA,GAAGA,IAAIA,CAACA;oCACjBA,KAAIA,CAACA,SAASA,GAAGA,IAAIA,CAACA;gCACxBA,CAACA,CAACA,CAACA;4BACLA,CAACA;wBACHA,CAACA,CAACA,CAACA;oBACLA,CAACA;gBACHA,CAACA;gBAEDF,oCAAaA,GAAbA,UAAcA,IAAIA;oBAChBG,IAAIA,MAAMA,GAAGA,WAAWA,CAACA;oBACzBA,IAAIA,OAAOA,GAAGA,EAAEA,CAACA;oBACjBA,gBAACA,CAACA,OAAOA,CAACA,IAAIA,CAACA,MAAMA,CAACA,UAAUA,EAAEA,UAAAA,SAASA;wBACzCA,EAAEA,CAACA,CAACA,SAASA,CAACA,IAAIA,KAAOA,OAAOA;4BAC5BA,SAASA,CAACA,MAAMA,KAAKA,MAAMA,CAACA,CAACA,CAACA;4BAChCA,MAAMA,GAAGA,IAAIA,CAACA;wBAChBA,CAACA;wBAACA,IAAIA,CAACA,CAACA;4BACNA,OAAOA,GAAGA,SAASA,CAACA,OAAOA,CAACA;wBAC9BA,CAACA;oBACHA,CAACA,CAACA,CAACA;oBACHA,MAAMA,CAACA,IAAIA,CAACA,cAAcA,CAACA,MAAMA,EAAEA,OAAOA,CAACA,CAACA;gBAC9CA,CAACA;gBAEDH,qCAAcA,GAAdA,UAAeA,MAAMA,EAAEA,OAAOA;oBAC5BI,MAAMA,CAACA,CAACA,MAAMA,CAACA,CAACA,CAACA;wBACfA,KAAKA,IAAIA,EAAEA,CAACA;4BACVA,MAAMA,CAACA;gCACLA,IAAIA,EAAEA,IAAIA;gCACVA,SAASA,EAAEA,wBAAwBA;gCACnCA,UAAUA,EAAEA,gBAAgBA;gCAC5BA,OAAOA,EAAEA,EAAEA;6BACZA,CAACA;wBACJA,CAACA;wBACDA,KAAKA,WAAWA,EAAEA,CAACA;4BACjBA,MAAMA,CAACA;gCACLA,IAAIA,EAAEA,WAAWA;gCACjBA,SAASA,EAAEA,0BAA0BA;gCACrCA,UAAUA,EAAEA,sBAAsBA;gCAClCA,OAAOA,EAAEA,OAAOA,IAAIA,EAAEA;6BACvBA,CAACA;wBACJA,CAACA;wBACDA,KAAKA,SAASA,EAAEA,CAACA;4BACfA,MAAMA,CAACA;gCACLA,IAAIA,EAAEA,SAASA;gCACfA,SAASA,EAAEA,0BAA0BA;gCACrCA,UAAUA,EAAEA,qBAAqBA;gCACjCA,OAAOA,EAAEA,OAAOA,IAAIA,EAAEA;6BACvBA,CAACA;wBACJA,CAACA;oBACHA,CAACA;gBACHA,CAACA;gBAEDJ,8BAAOA,GAAPA;oBACEK,IAAIA,CAACA,WAAWA,EAAEA,CAACA;gBACrBA,CAACA;gBAEDL,qCAAcA,GAAdA,UAAeA,EAAEA;oBAAjBM,iBAgBCA;oBAfCA,MAAMA,CAACA,IAAIA,CAACA,UAAUA,CAACA,GAAGA,CAACA,iBAAiBA,CAACA;yBAC1CA,IAAIA,CAACA,UAAAA,MAAMA;wBACVA,MAAMA,CAACA,gBAACA,CAACA,MAAMA,CAACA,MAAMA,EAAEA,EAACA,MAAMA,EAAEA,+BAA+BA,EAAEA,MAAMA,EAAEA,EAAEA,EAACA,CAACA,CAACA,CAACA,CAACA,CAACA;oBACpFA,CAACA,CAACA;yBACDA,IAAIA,CAACA,UAAAA,EAAEA;wBACNA,EAAEA,CAACA,CAACA,CAACA,EAAEA,CAACA,CAACA,CAACA;4BACRA,KAAIA,CAACA,QAAQA,CAACA,GAAGA,CAACA,mBAAmBA,EAAEA,6CAA6CA,EAAEA,OAAOA,CAACA,CAACA;4BAC/FA,MAAMA,uBAAuBA,GAAGA,EAAEA,CAACA;wBACrCA,CAACA;wBACDA,KAAIA,CAACA,OAAOA,GAAGA,EAAEA,CAACA;wBAClBA,MAAMA,CAACA,KAAIA,CAACA,aAAaA,CAACA,GAAGA,CAACA,EAAEA,CAACA,IAAIA,CAACA,CAACA;oBACzCA,CAACA,CAACA,CAACA,IAAIA,CAACA,UAAAA,SAASA;wBACfA,KAAIA,CAACA,SAASA,GAAGA,SAASA,CAACA;wBAC3BA,MAAMA,CAACA,SAASA,CAACA;oBACnBA,CAACA,CAACA,CAACA;gBACPA,CAACA;gBAEDN,wCAAiBA,GAAjBA,UAAkBA,IAAIA;oBAAtBO,iBASCA;oBARCA,IAAMA,QAAQA,GAAGA,gBAACA,CAACA,IAAIA,CAACA,IAAIA,CAACA,iBAAiBA,EAAEA,EAACA,MAAMA,EAAEA,MAAMA,EAACA,CAACA,CAACA;oBAClEA,QAAQA,CAACA,OAAOA,CAACA,IAAIA,GAAGA,IAAIA,KAAKA,KAAKA,GAAGA,KAAKA,GAAEA,IAAIA,CAACA,QAAQA,CAACA,IAAIA,CAACA;oBACnEA,QAAQA,CAACA,OAAOA,CAACA,KAAKA,GAAGA,IAAIA,KAAKA,KAAKA,GAAGA,QAAQA,GAAEA,IAAIA,CAACA,QAAQA,CAACA,IAAIA,CAACA;oBAEvEA,IAAIA,CAACA,WAAWA,CAACA,eAAeA,CAACA,QAAQA,CAACA,CAACA,IAAIA,CAACA;wBAC9CA,KAAIA,CAACA,MAAMA,CAACA,KAAKA,CAACA,iCAAiCA,CAACA,CAACA;wBACrDA,KAAIA,CAACA,MAAMA,CAACA,KAAKA,CAACA,UAAUA,CAACA,SAASA,CAACA,CAACA;oBAC1CA,CAACA,CAACA,CAACA;gBACLA,CAACA;gBAEDP,sCAAeA,GAAfA,UAAgBA,SAASA;oBACvBQ,IAAIA,MAAMA,CAACA;oBACXA,EAAEA,CAACA,CAACA,SAASA,CAACA,IAAIA,KAAKA,OAAOA,CAACA,CAACA,CAACA;wBAC/BA,MAAMA,GAAGA,SAASA,CAACA,MAAMA,KAAKA,MAAMA,CAACA;oBACvCA,CAACA;oBAACA,IAAIA,CAACA,CAACA;wBACNA,MAAMA,GAAGA,SAASA,CAACA,MAAMA,KAAKA,OAAOA,CAACA;oBACxCA,CAACA;oBAEDA,MAAMA,CAACA;wBACLA,KAAKA,EAAEA,MAAMA;wBACbA,IAAIA,EAAEA,MAAMA,GAAGA,IAAIA,GAAGA,OAAOA;qBAC9BA,CAACA;gBACJA,CAACA;gBAEDR,oCAAaA,GAAbA,UAAcA,SAASA;oBACrBS,MAAMA,CAACA,IAAIA,CAACA,eAAeA,CAACA,SAASA,CAACA,CAACA,KAAKA,CAACA;gBAC/CA,CAACA;gBAEDT,kDAA2BA,GAA3BA,UAA4BA,SAASA;oBACnCU,MAAMA,CAACA,gBAAMA,CAACA,SAASA,CAACA,kBAAkBA,CAACA,CAACA,MAAMA,CAACA,qBAAqBA,CAACA,CAACA;gBAC5EA,CAACA;gBA1JMV,wBAAWA,GAAGA,yCAAyCA,CAACA;gBACxDA,uBAAUA,GAAGA,IAAIA,CAACA;gBA0J3BA,mBAACA;YAADA,CAACA,AAtKD,EAAkC,eAAS,EAsK1C;YAtKD,uCAsKC,CAAA"} \ No newline at end of file diff --git a/dist/panels/nodeData/nodeData.ts b/dist/panels/nodeData/nodeData.ts deleted file mode 100644 index 649656e..0000000 --- a/dist/panels/nodeData/nodeData.ts +++ /dev/null @@ -1,177 +0,0 @@ -/// - -import moment from 'moment'; -import {PanelCtrl} from 'app/plugins/sdk'; -import _ from 'lodash'; -import NodeStatsDatasource from './nodeStats'; - -const panelDefaults = { -}; - -export class NodeDataCtrl extends PanelCtrl { - templateVariables: any; - nodeStatsDatasource: NodeStatsDatasource; - pageReady: boolean; - cluster: any; - clusterDS: any; - node: any; - isInListMode: boolean; - nodes: any[]; - - - static templateUrl = 'panels/nodeData/partials/node_info.html'; - static scrollable = true; - - /** @ngInject */ - constructor($scope, $injector, private backendSrv, private datasourceSrv, private $location, private alertSrv, private timeSrv, private variableSrv) { - super($scope, $injector); - _.defaults(this.panel, panelDefaults); - - this.templateVariables = this.variableSrv.variables; - this.nodeStatsDatasource = new NodeStatsDatasource(datasourceSrv, timeSrv); - document.title = 'Grafana Kubernetes App'; - - this.pageReady = false; - this.cluster = {}; - this.clusterDS = {}; - this.node = {}; - - this.isInListMode = false; - this.nodes = []; - - this.loadCluster(); - } - - loadCluster() { - const cluster = _.find(this.templateVariables, {'name': 'cluster'}); - if (!cluster) { - this.alertSrv.set("no cluster specified.", "no cluster specified in url", 'error'); - return; - } else { - const cluster_id = cluster.current.value; - const nodeVar = _.find(this.templateVariables, {'name': 'node'}); - const node_name = nodeVar.current.value !== '$__all' ? nodeVar.current.value : 'All'; - const prometheusDS = _.find(this.templateVariables, {'name': 'datasource'}).current.value; - - this.loadDatasource(cluster_id).then(() => { - return this.nodeStatsDatasource.getNodeStats(cluster_id, prometheusDS); - }).then(nodeStats => { - if (node_name === 'All') { - this.isInListMode = true; - this.clusterDS.getNodes().then(nodes => { - this.nodes = _.map(nodes, node => { - node.healthState = this.getNodeHealth(node); - this.nodeStatsDatasource.updateNodeWithStats(node, nodeStats); - - return node; - }); - }); - } else { - this.isInListMode = false; - this.clusterDS.getNode(node_name).then(node => { - this.node = node; - this.pageReady = true; - }); - } - }); - } - } - - getNodeHealth(node) { - let health = "unhealthy"; - let message = ''; - _.forEach(node.status.conditions, condition => { - if (condition.type === "Ready" && - condition.status === "True") { - health = "ok"; - } else { - message = condition.message; - } - }); - return this.getHealthState(health, message); - } - - getHealthState(health, message) { - switch (health) { - case 'ok': { - return { - text: 'OK', - iconClass: 'icon-gf icon-gf-online', - stateClass: 'alert-state-ok', - message: '', - }; - } - case 'unhealthy': { - return { - text: 'UNHEALTHY', - iconClass: 'icon-gf icon-gf-critical', - stateClass: 'alert-state-critical', - message: message || '' - }; - } - case 'warning': { - return { - text: 'warning', - iconClass: "icon-gf icon-gf-critical", - stateClass: 'alert-state-warning', - message: message || '' - }; - } - } - } - - refresh() { - this.loadCluster(); - } - - loadDatasource(id) { - return this.backendSrv.get('api/datasources') - .then(result => { - return _.filter(result, {"type": "grafana-kubernetes-datasource", "name": id})[0]; - }) - .then(ds => { - if (!ds) { - this.alertSrv.set("Failed to connect", "Could not connect to the specified cluster.", 'error'); - throw "Failed to connect to " + id; - } - this.cluster = ds; - return this.datasourceSrv.get(ds.name); - }).then(clusterDS => { - this.clusterDS = clusterDS; - return clusterDS; - }); - } - - goToNodeDashboard(node) { - const variable = _.find(this.templateVariables, {'name': 'node'}); - variable.current.text = node === 'All' ? 'All': node.metadata.name; - variable.current.value = node === 'All' ? '$__all': node.metadata.name; - - this.variableSrv.variableUpdated(variable).then(() => { - this.$scope.$emit('template-variable-value-updated'); - this.$scope.$root.$broadcast('refresh'); - }); - } - - conditionStatus(condition) { - var status; - if (condition.type === "Ready") { - status = condition.status === "True"; - } else { - status = condition.status === "False"; - } - - return { - value: status, - text: status ? "Ok" : "Error" - }; - } - - isConditionOk(condition) { - return this.conditionStatus(condition).value; - } - - conditionLastTransitionTime(condition) { - return moment(condition.lastTransitionTime).format('YYYY-MM-DD HH:mm:ss'); - } -} diff --git a/dist/panels/nodeData/nodeStats.d.ts b/dist/panels/nodeData/nodeStats.d.ts deleted file mode 100644 index f2cd3a4..0000000 --- a/dist/panels/nodeData/nodeStats.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -/// -export default class NodeStatsDatasource { - private datasourceSrv; - private timeSrv; - constructor(datasourceSrv: any, timeSrv: any); - issuePrometheusQuery(prometheusDS: any, query: any): any; - getNodeStats(cluster_id: any, prometheusDS: any): any; - updateNodeWithStats(node: any, nodeStats: any): any; -} diff --git a/dist/panels/nodeData/nodeStats.js b/dist/panels/nodeData/nodeStats.js deleted file mode 100644 index f9bd947..0000000 --- a/dist/panels/nodeData/nodeStats.js +++ /dev/null @@ -1,103 +0,0 @@ -/// -System.register(['app/core/utils/kbn', 'lodash', 'moment'], function(exports_1) { - var kbn_1, lodash_1, moment_1; - var NodeStatsDatasource; - return { - setters:[ - function (kbn_1_1) { - kbn_1 = kbn_1_1; - }, - function (lodash_1_1) { - lodash_1 = lodash_1_1; - }, - function (moment_1_1) { - moment_1 = moment_1_1; - }], - execute: function() { - NodeStatsDatasource = (function () { - function NodeStatsDatasource(datasourceSrv, timeSrv) { - this.datasourceSrv = datasourceSrv; - this.timeSrv = timeSrv; - } - NodeStatsDatasource.prototype.issuePrometheusQuery = function (prometheusDS, query) { - return this.datasourceSrv.get(prometheusDS) - .then(function (datasource) { - var metricsQuery = { - range: { from: moment_1.default().subtract(5, 'minute'), to: moment_1.default() }, - targets: [{ expr: query.expr, format: 'time_series' }], - legendFormat: query.legend, - interval: '60s', - }; - return datasource.query(metricsQuery); - }).then(function (result) { - if (result && result.data) { - return result.data; - } - return {}; - }); - }; - NodeStatsDatasource.prototype.getNodeStats = function (cluster_id, prometheusDS) { - var _this = this; - var podsPerNode, cpuPerNode, memoryPerNode; - var podQuery = { - expr: 'sum(label_join(kubelet_running_pod_count, "node", "", "kubernetes_io_hostname")) by (node)', - legend: "{{node}}", - }; - var cpuQuery = { - expr: 'sum(kube_pod_container_resource_requests_cpu_cores) by (node)', - legend: "{{node}}", - }; - var memoryQuery = { - expr: 'sum(kube_pod_container_resource_requests_memory_bytes) by (node)', - legend: "{{node}}", - }; - return this.issuePrometheusQuery(prometheusDS, podQuery) - .then(function (data) { - podsPerNode = data; - return; - }).then(function () { - return _this.issuePrometheusQuery(prometheusDS, cpuQuery); - }) - .then(function (data) { - cpuPerNode = data; - return; - }).then(function () { - return _this.issuePrometheusQuery(prometheusDS, memoryQuery); - }) - .then(function (data) { - memoryPerNode = data; - return { podsPerNode: podsPerNode, cpuPerNode: cpuPerNode, memoryPerNode: memoryPerNode }; - }); - }; - NodeStatsDatasource.prototype.updateNodeWithStats = function (node, nodeStats) { - var formatFunc = kbn_1.default.valueFormats['percentunit']; - var nodeName = node.metadata.name; - var findFunction = function (o) { return o.target.substring(7, o.target.length - 2) === nodeName; }; - var podsUsedData = lodash_1.default.find(nodeStats.podsPerNode, findFunction); - if (podsUsedData) { - node.podsUsed = lodash_1.default.last(podsUsedData.datapoints)[0]; - node.podsUsedPerc = formatFunc(node.podsUsed / node.status.capacity.pods, 2, 5); - } - var cpuData = lodash_1.default.find(nodeStats.cpuPerNode, findFunction); - if (cpuData) { - node.cpuUsage = lodash_1.default.last(cpuData.datapoints)[0]; - node.cpuUsageFormatted = kbn_1.default.valueFormats['none'](node.cpuUsage, 2, null); - node.cpuUsagePerc = formatFunc(node.cpuUsage / node.status.capacity.cpu, 2, 5); - } - var memData = lodash_1.default.find(nodeStats.memoryPerNode, findFunction); - if (memData) { - node.memoryUsage = lodash_1.default.last(memData.datapoints)[0]; - var memCapacity = node.status.capacity.memory.substring(0, node.status.capacity.memory.length - 2) * 1000; - node.memUsageFormatted = kbn_1.default.valueFormats['bytes'](node.memoryUsage, 2, null); - node.memCapacityFormatted = kbn_1.default.valueFormats['bytes'](memCapacity, 2, null); - node.memoryUsagePerc = formatFunc((node.memoryUsage / memCapacity), 2, 5); - } - return node; - }; - return NodeStatsDatasource; - })(); - exports_1("default", NodeStatsDatasource); - } - } -}); -//# sourceMappingURL=nodeStats.js.map \ No newline at end of file diff --git a/dist/panels/nodeData/nodeStats.js.map b/dist/panels/nodeData/nodeStats.js.map deleted file mode 100644 index 8416436..0000000 --- a/dist/panels/nodeData/nodeStats.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"nodeStats.js","sourceRoot":"","sources":["nodeStats.ts"],"names":["NodeStatsDatasource","NodeStatsDatasource.constructor","NodeStatsDatasource.issuePrometheusQuery","NodeStatsDatasource.getNodeStats","NodeStatsDatasource.updateNodeWithStats"],"mappings":"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"} \ No newline at end of file diff --git a/dist/panels/nodeData/nodeStats.ts b/dist/panels/nodeData/nodeStats.ts deleted file mode 100644 index ee5e091..0000000 --- a/dist/panels/nodeData/nodeStats.ts +++ /dev/null @@ -1,91 +0,0 @@ -/// - -import kbn from 'app/core/utils/kbn'; -import _ from 'lodash'; -import moment from 'moment'; - -export default class NodeStatsDatasource { - constructor(private datasourceSrv, private timeSrv) {} - - issuePrometheusQuery(prometheusDS, query) { - return this.datasourceSrv.get(prometheusDS) - .then((datasource) => { - var metricsQuery = { - range: { from: moment().subtract(5, 'minute'), to: moment() }, - targets: [{ expr: query.expr, format: 'time_series' }], - legendFormat: query.legend, - interval: '60s', - }; - return datasource.query(metricsQuery); - }).then((result) => { - if (result && result.data) { - return result.data; - } - return {}; - }); - } - - getNodeStats(cluster_id, prometheusDS) { - let podsPerNode, cpuPerNode, memoryPerNode; - - const podQuery = { - expr: 'sum(label_join(kubelet_running_pod_count, "node", "", "kubernetes_io_hostname")) by (node)', - legend: "{{node}}", - }; - const cpuQuery = { - expr: 'sum(kube_pod_container_resource_requests_cpu_cores) by (node)', - legend: "{{node}}", - }; - const memoryQuery = { - expr: 'sum(kube_pod_container_resource_requests_memory_bytes) by (node)', - legend: "{{node}}", - }; - - return this.issuePrometheusQuery(prometheusDS, podQuery) - .then(data => { - podsPerNode = data; - return; - }).then(() => { - return this.issuePrometheusQuery(prometheusDS, cpuQuery); - }) - .then(data => { - cpuPerNode = data; - return; - }).then(() => { - return this.issuePrometheusQuery(prometheusDS, memoryQuery); - }) - .then(data => { - memoryPerNode = data; - return {podsPerNode, cpuPerNode, memoryPerNode}; - }); - } - - updateNodeWithStats(node, nodeStats) { - var formatFunc = kbn.valueFormats['percentunit']; - const nodeName = node.metadata.name; - const findFunction = function(o) {return o.target.substring(7, o.target.length - 2) === nodeName;}; - const podsUsedData = _.find(nodeStats.podsPerNode, findFunction); - if (podsUsedData) { - node.podsUsed = _.last(podsUsedData.datapoints)[0]; - node.podsUsedPerc = formatFunc(node.podsUsed / node.status.capacity.pods, 2, 5); - } - - const cpuData = _.find(nodeStats.cpuPerNode, findFunction); - if (cpuData) { - node.cpuUsage = _.last(cpuData.datapoints)[0]; - node.cpuUsageFormatted = kbn.valueFormats['none'](node.cpuUsage, 2, null); - node.cpuUsagePerc = formatFunc(node.cpuUsage / node.status.capacity.cpu, 2, 5); - } - - const memData = _.find(nodeStats.memoryPerNode, findFunction); - if (memData) { - node.memoryUsage = _.last(memData.datapoints)[0]; - const memCapacity = node.status.capacity.memory.substring(0, node.status.capacity.memory.length - 2) * 1000; - node.memUsageFormatted = kbn.valueFormats['bytes'](node.memoryUsage, 2, null); - node.memCapacityFormatted = kbn.valueFormats['bytes'](memCapacity, 2, null); - node.memoryUsagePerc = formatFunc((node.memoryUsage / memCapacity), 2, 5); - } - - return node; - } -} diff --git a/dist/panels/nodeData/partials/node_info.html b/dist/panels/nodeData/partials/node_info.html deleted file mode 100644 index 9a04fc5..0000000 --- a/dist/panels/nodeData/partials/node_info.html +++ /dev/null @@ -1,97 +0,0 @@ -
-
-
- {{group.header}} -
- - - - - - - - - - - - - - - - - - - - - - - - - -
Node NameHealthPods%CPU requests (cores)%Memory requests (bytes)%
{{node.metadata.name}}{{node.healthState.message}} - - {{node.healthState.text}} - {{(node.podsUsed || '?') + ' / ' + node.status.capacity.pods}}{{node.podsUsedPerc || '?%'}}{{(node.cpuUsageFormatted || '?') + ' / ' + node.status.capacity.cpu}}{{node.cpuUsagePerc || '?%'}}{{(node.memUsageFormatted || '?') + ' / ' + node.memCapacityFormatted}}{{node.memoryUsagePerc || '?%'}}
-
-
- -
- - - -
-
-

Addresses

-
- - {{addr.type}}: {{addr.address}} - -
-
-
-

Capacity

-
- - {{k}}: {{v}} - -
-
-
-

Labels

-
- - {{k}}: {{v}} - -
-
-
- -
-

Conditions

- - - - - - - - - - - - - -
StatusTypeMessageLast Change
- - - {{ctrl.conditionStatus(condition).text}} - {{condition.type}}{{condition.message}}{{ctrl.conditionLastTransitionTime(condition)}}
-
-
diff --git a/dist/panels/nodeData/plugin.json b/dist/panels/nodeData/plugin.json deleted file mode 100644 index 30e3183..0000000 --- a/dist/panels/nodeData/plugin.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "type": "panel", - "name": "Kubernetes Node Info", - "id": "prometheus-kubernetes-nodeinfo-panel" -} diff --git a/dist/panels/podNav/module.d.ts b/dist/panels/podNav/module.d.ts deleted file mode 100644 index e899d6d..0000000 --- a/dist/panels/podNav/module.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -/// -import { PodNavCtrl } from './podNav'; -export { PodNavCtrl as PanelCtrl }; diff --git a/dist/panels/podNav/module.js b/dist/panels/podNav/module.js deleted file mode 100644 index f148e28..0000000 --- a/dist/panels/podNav/module.js +++ /dev/null @@ -1,21 +0,0 @@ -/// -System.register(['./podNav', 'app/plugins/sdk'], function(exports_1) { - var podNav_1, sdk_1; - return { - setters:[ - function (podNav_1_1) { - podNav_1 = podNav_1_1; - }, - function (sdk_1_1) { - sdk_1 = sdk_1_1; - }], - execute: function() { - sdk_1.loadPluginCss({ - dark: 'plugins/grafana-kubernetes-app/css/dark.css', - light: 'plugins/grafana-kubernetes-app/css/light.css' - }); - exports_1("PanelCtrl", podNav_1.PodNavCtrl); - } - } -}); -//# sourceMappingURL=module.js.map \ No newline at end of file diff --git a/dist/panels/podNav/module.js.map b/dist/panels/podNav/module.js.map deleted file mode 100644 index 4170e76..0000000 --- a/dist/panels/podNav/module.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"module.js","sourceRoot":"","sources":["module.ts"],"names":[],"mappings":"AAAA,uFAAuF;;;;;;;;;;;;YAKvF,mBAAa,CAAC;gBACZ,IAAI,EAAE,6CAA6C;gBACnD,KAAK,EAAE,8CAA8C;aACtD,CAAC,CAAC;YAGa,2CAAS"} \ No newline at end of file diff --git a/dist/panels/podNav/module.ts b/dist/panels/podNav/module.ts deleted file mode 100644 index d26771b..0000000 --- a/dist/panels/podNav/module.ts +++ /dev/null @@ -1,13 +0,0 @@ -/// - -import {PodNavCtrl} from './podNav'; -import {loadPluginCss} from 'app/plugins/sdk'; - -loadPluginCss({ - dark: 'plugins/grafana-kubernetes-app/css/dark.css', - light: 'plugins/grafana-kubernetes-app/css/light.css' -}); - -export { - PodNavCtrl as PanelCtrl -}; diff --git a/dist/panels/podNav/partials/pod_nav.html b/dist/panels/podNav/partials/pod_nav.html deleted file mode 100644 index a9b74f9..0000000 --- a/dist/panels/podNav/partials/pod_nav.html +++ /dev/null @@ -1,42 +0,0 @@ -
-
-

Filter Pods By Kubernetes Tag

-
- - - {{tag}}={{value}} - - -
-
-
-
- -
- -
-
-
-
-
-
-

Filter by Pod Name

-
- - - {{podTag}} - - -
-
- - - {{pod}} - -
-
-
diff --git a/dist/panels/podNav/plugin.json b/dist/panels/podNav/plugin.json deleted file mode 100644 index 32023c8..0000000 --- a/dist/panels/podNav/plugin.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "type": "panel", - "name": "Kubernetes Pod Nav", - "id": "prometheus-kubernetes-podnav-panel" -} diff --git a/dist/panels/podNav/podNav.d.ts b/dist/panels/podNav/podNav.d.ts deleted file mode 100644 index 14f2f8c..0000000 --- a/dist/panels/podNav/podNav.d.ts +++ /dev/null @@ -1,34 +0,0 @@ -/// -import { PanelCtrl } from 'app/plugins/sdk'; -export declare class PodNavCtrl extends PanelCtrl { - private backendSrv; - private datasourceSrv; - private $location; - private alertSrv; - private variableSrv; - private $q; - templateVariables: any; - namespace: string; - currentTags: any; - currentPods: any[]; - selectedPods: any; - chosenTags: any; - clusterName: string; - clusterDS: any; - static templateUrl: string; - constructor($scope: any, $injector: any, backendSrv: any, datasourceSrv: any, $location: any, alertSrv: any, variableSrv: any, $q: any); - refresh(): void; - needsRefresh(): boolean; - loadTags(): void; - setDefaults(): void; - getPods(): any; - parseTagsFromPods(pods: any): void; - onTagSelect(): void; - getPodsByLabel(): any; - updateTemplateVariableWithPods(): void; - removeEmptyTags(): void; - getCluster(): any; - removeTag(tag: any): void; - selectPod(podName: any): void; - removePodTag(podName: any): void; -} diff --git a/dist/panels/podNav/podNav.js b/dist/panels/podNav/podNav.js deleted file mode 100644 index 28fe471..0000000 --- a/dist/panels/podNav/podNav.js +++ /dev/null @@ -1,223 +0,0 @@ -/// -System.register(['app/plugins/sdk', 'lodash'], function(exports_1) { - var __extends = (this && this.__extends) || function (d, b) { - for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; - var sdk_1, lodash_1; - var panelDefaults, PodNavCtrl; - return { - setters:[ - function (sdk_1_1) { - sdk_1 = sdk_1_1; - }, - function (lodash_1_1) { - lodash_1 = lodash_1_1; - }], - execute: function() { - panelDefaults = {}; - PodNavCtrl = (function (_super) { - __extends(PodNavCtrl, _super); - function PodNavCtrl($scope, $injector, backendSrv, datasourceSrv, $location, alertSrv, variableSrv, $q) { - _super.call(this, $scope, $injector); - this.backendSrv = backendSrv; - this.datasourceSrv = datasourceSrv; - this.$location = $location; - this.alertSrv = alertSrv; - this.variableSrv = variableSrv; - this.$q = $q; - lodash_1.default.defaults(this.panel, panelDefaults); - this.templateVariables = this.variableSrv.variables; - this.namespace = "All"; - this.currentTags = {}; - this.currentPods = []; - this.selectedPods = []; - this.setDefaults(); - this.loadTags(); - this.chosenTags = {}; - } - PodNavCtrl.prototype.refresh = function () { - if (this.needsRefresh()) { - this.currentTags = {}; - this.currentPods = []; - this.chosenTags = {}; - this.selectedPods = []; - this.setDefaults(); - this.loadTags(); - } - }; - PodNavCtrl.prototype.needsRefresh = function () { - var cluster = lodash_1.default.find(this.templateVariables, { 'name': 'cluster' }); - var ns = lodash_1.default.find(this.templateVariables, { 'name': 'namespace' }); - if (this.clusterName !== cluster.current.value) { - return true; - } - if ((ns.current.value === '$__all' || ns.current.value[0] === '$__all') - && (this.namespace === ns.current.value || this.namespace === '')) { - return false; - } - if (ns.current.value !== this.namespace) { - return true; - } - return false; - }; - PodNavCtrl.prototype.loadTags = function () { - var _this = this; - this.getCluster().then(function () { - return _this.getPods().then(function (pods) { - _this.parseTagsFromPods(pods); - _this.currentPods = lodash_1.default.uniq(lodash_1.default.map(pods, function (p) { return p.metadata.name; })); - }); - }); - }; - PodNavCtrl.prototype.setDefaults = function () { - var cluster = lodash_1.default.find(this.templateVariables, { 'name': 'cluster' }); - if (!cluster) { - this.alertSrv.set("no cluster specified.", "no cluster specified in url", 'error'); - return; - } - var ns = lodash_1.default.find(this.templateVariables, { 'name': 'namespace' }); - this.namespace = ns.current.value !== '$__all' && ns.current.value[0] !== '$__all' ? ns.current.value : ''; - var podVariable = lodash_1.default.find(this.templateVariables, { 'name': 'pod' }); - if (podVariable.current.value !== '$__all') { - this.selectedPods = lodash_1.default.isArray(podVariable.current.value) ? podVariable.current.value : [podVariable.current.value]; - } - }; - PodNavCtrl.prototype.getPods = function () { - var _this = this; - if (this.currentPods.length === 0) { - if (lodash_1.default.isArray(this.namespace)) { - var promises = []; - lodash_1.default.forEach(this.namespace, function (ns) { - promises.push(_this.clusterDS.getPods(ns)); - }); - return this.$q.all(promises) - .then(function (pods) { - return lodash_1.default.flatten(pods).filter(function (n) { return n; }); - }); - } - else { - return this.clusterDS.getPods(this.namespace); - } - } - else { - return this.clusterDS.getPodsByName(this.currentPods); - } - }; - PodNavCtrl.prototype.parseTagsFromPods = function (pods) { - var _this = this; - this.currentTags = {}; - lodash_1.default.forEach(pods, function (pod) { - lodash_1.default.forEach(pod.metadata.labels, function (value, label) { - if (!_this.currentTags[label]) { - _this.currentTags[label] = []; - } - if (!_this.currentTags[label].includes(value)) { - _this.currentTags[label].push(value); - } - }); - }); - }; - PodNavCtrl.prototype.onTagSelect = function () { - var _this = this; - this.removeEmptyTags(); - this.selectedPods = []; - this.getPodsByLabel() - .then(function (pods) { - _this.currentPods = lodash_1.default.uniq(lodash_1.default.map(pods, function (p) { return p.metadata.name; })); - _this.parseTagsFromPods(pods); - _this.updateTemplateVariableWithPods(); - }); - }; - PodNavCtrl.prototype.getPodsByLabel = function () { - var _this = this; - if (lodash_1.default.isArray(this.namespace)) { - var promises = []; - lodash_1.default.forEach(this.namespace, function (ns) { - promises.push(_this.clusterDS.getPodsByLabel(ns, _this.chosenTags)); - }); - return this.$q.all(promises) - .then(function (pods) { - return lodash_1.default.flatten(pods).filter(function (n) { return n; }); - }); - } - else { - return this.clusterDS.getPodsByLabel(this.namespace, this.chosenTags); - } - }; - PodNavCtrl.prototype.updateTemplateVariableWithPods = function () { - var _this = this; - var variable = lodash_1.default.find(this.templateVariables, { 'name': 'pod' }); - if (this.selectedPods.length > 0) { - variable.current.text = this.selectedPods.join(' + '); - variable.current.value = this.selectedPods; - } - else { - variable.current.text = lodash_1.default.isEmpty(this.chosenTags) ? 'All' : this.currentPods.join(' + '); - variable.current.value = lodash_1.default.isEmpty(this.chosenTags) ? ['.+'] : this.currentPods; - } - this.variableSrv.updateOptions(variable).then(function () { - _this.variableSrv.variableUpdated(variable).then(function () { - _this.$scope.$emit('template-variable-value-updated'); - _this.$scope.$root.$broadcast('refresh'); - }); - }); - }; - PodNavCtrl.prototype.removeEmptyTags = function () { - this.chosenTags = lodash_1.default.omitBy(this.chosenTags, function (val) { return !val; }); - }; - PodNavCtrl.prototype.getCluster = function () { - var _this = this; - var clusterName = lodash_1.default.find(this.templateVariables, { 'name': 'cluster' }).current.value; - this.clusterName = clusterName; - return this.backendSrv.get('/api/datasources') - .then(function (result) { - return lodash_1.default.filter(result, { "name": clusterName })[0]; - }) - .then(function (ds) { - if (!ds) { - _this.alertSrv.set("Failed to connect", "Could not connect to the specified cluster.", 'error'); - throw "Failed to connect to " + clusterName; - } - if (!(ds.jsonData.ds)) { - ds.jsonData.ds = ""; - } - return _this.datasourceSrv.get(ds.name); - }).then(function (clusterDS) { - _this.clusterDS = clusterDS; - }); - }; - PodNavCtrl.prototype.removeTag = function (tag) { - var _this = this; - delete this.chosenTags[tag]; - this.getPodsByLabel() - .then(function (pods) { - _this.currentPods = lodash_1.default.uniq(lodash_1.default.map(pods, function (p) { return p.metadata.name; })); - _this.parseTagsFromPods(pods); - _this.updateTemplateVariableWithPods(); - }); - }; - PodNavCtrl.prototype.selectPod = function (podName) { - this.chosenTags = {}; - if (!this.selectedPods.includes(podName)) { - this.selectedPods.push(podName); - } - this.updateTemplateVariableWithPods(); - }; - PodNavCtrl.prototype.removePodTag = function (podName) { - lodash_1.default.remove(this.selectedPods, function (p) { return p === podName; }); - this.updateTemplateVariableWithPods(); - if (this.selectedPods.length === 0) { - this.currentPods = []; - this.loadTags(); - } - }; - PodNavCtrl.templateUrl = 'panels/podNav/partials/pod_nav.html'; - return PodNavCtrl; - })(sdk_1.PanelCtrl); - exports_1("PodNavCtrl", PodNavCtrl); - } - } -}); -//# sourceMappingURL=podNav.js.map \ No newline at end of file diff --git a/dist/panels/podNav/podNav.js.map b/dist/panels/podNav/podNav.js.map deleted file mode 100644 index dfd46dc..0000000 --- a/dist/panels/podNav/podNav.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"podNav.js","sourceRoot":"","sources":["podNav.ts"],"names":["PodNavCtrl","PodNavCtrl.constructor","PodNavCtrl.refresh","PodNavCtrl.needsRefresh","PodNavCtrl.loadTags","PodNavCtrl.setDefaults","PodNavCtrl.getPods","PodNavCtrl.parseTagsFromPods","PodNavCtrl.onTagSelect","PodNavCtrl.getPodsByLabel","PodNavCtrl.updateTemplateVariableWithPods","PodNavCtrl.removeEmptyTags","PodNavCtrl.getCluster","PodNavCtrl.removeTag","PodNavCtrl.selectPod","PodNavCtrl.removePodTag"],"mappings":"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OA,CAACA,KAAKA,CAACA,CAACA;oBACrHA,CAACA;gBACHA,CAACA;gBAEDL,4BAAOA,GAAPA;oBAAAM,iBAiBCA;oBAhBCA,EAAEA,CAACA,CAACA,IAAIA,CAACA,WAAWA,CAACA,MAAMA,KAAKA,CAACA,CAACA,CAACA,CAACA;wBAClCA,EAAEA,CAACA,CAACA,gBAACA,CAACA,OAAOA,CAACA,IAAIA,CAACA,SAASA,CAACA,CAACA,CAACA,CAACA;4BAC9BA,IAAMA,QAAQA,GAAGA,EAAEA,CAACA;4BACpBA,gBAACA,CAACA,OAAOA,CAACA,IAAIA,CAACA,SAASA,EAAEA,UAAAA,EAAEA;gCAC1BA,QAAQA,CAACA,IAAIA,CAACA,KAAIA,CAACA,SAASA,CAACA,OAAOA,CAACA,EAAEA,CAACA,CAACA,CAACA;4BAC5CA,CAACA,CAACA,CAACA;4BACHA,MAAMA,CAACA,IAAIA,CAACA,EAAEA,CAACA,GAAGA,CAACA,QAAQA,CAACA;iCAC3BA,IAAIA,CAACA,UAAAA,IAAIA;gCACRA,MAAMA,CAACA,gBAACA,CAACA,OAAOA,CAACA,IAAIA,CAACA,CAACA,MAAMA,CAACA,UAAAA,CAACA,IAAIA,OAAAA,CAACA,EAADA,CAACA,CAACA,CAACA;4BACxCA,CAACA,CAACA,CAACA;wBACLA,CAACA;wBAACA,IAAIA,CAACA,CAACA;4BACNA,MAAMA,CAACA,IAAIA,CAACA,SAASA,CAACA,OAAOA,CAACA,IAAIA,CAACA,SAASA,CAACA,CAACA;wBAChDA,CAACA;oBACHA,CAACA;oBAACA,IAAIA,CAACA,CAACA;wBACNA,MAAMA,CAACA,IAAIA,CAACA,SAASA,CAACA,aAAaA,CAACA,IAAIA,CAACA,WAAWA,CAACA,CAACA;oBACxDA,CAACA;gBACHA,CAACA;gBAEDN,sCAAiBA,GAAjBA,UAAkBA,IAAIA;oBAAtBO,iBAaCA;oBAZCA,IAAIA,CAACA,WAAWA,GAAGA,EAAEA,CAACA;oBAEtBA,gBAACA,CAACA,OAAOA,CAACA,IAAIA,EAAEA,UAAAA,GAAGA;wBACjBA,gBAACA,CA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"} \ No newline at end of file diff --git a/dist/panels/podNav/podNav.ts b/dist/panels/podNav/podNav.ts deleted file mode 100644 index cff6037..0000000 --- a/dist/panels/podNav/podNav.ts +++ /dev/null @@ -1,226 +0,0 @@ -/// - -import {PanelCtrl} from 'app/plugins/sdk'; -import _ from 'lodash'; - -const panelDefaults = { -}; - -export class PodNavCtrl extends PanelCtrl { - templateVariables: any; - namespace: string; - currentTags: any; - currentPods: any[]; - selectedPods: any; - chosenTags: any; - clusterName: string; - clusterDS: any; - - - static templateUrl = 'panels/podNav/partials/pod_nav.html'; - - constructor($scope, $injector, private backendSrv, private datasourceSrv, private $location, private alertSrv, private variableSrv, private $q) { - super($scope, $injector); - _.defaults(this.panel, panelDefaults); - - this.templateVariables = this.variableSrv.variables; - this.namespace = "All"; - this.currentTags = {}; - this.currentPods = []; - this.selectedPods = []; - - this.setDefaults(); - this.loadTags(); - this.chosenTags = {}; - } - - refresh() { - if (this.needsRefresh()) { - this.currentTags = {}; - this.currentPods = []; - this.chosenTags = {}; - this.selectedPods = []; - - this.setDefaults(); - this.loadTags(); - } - } - - needsRefresh() { - const cluster = _.find(this.templateVariables, {'name': 'cluster'}); - const ns = _.find(this.templateVariables, {'name': 'namespace'}); - - if (this.clusterName !== cluster.current.value) { return true; } - - if ((ns.current.value === '$__all' || ns.current.value[0] === '$__all') - && (this.namespace === ns.current.value || this.namespace === '')) { - return false; - } - - if (ns.current.value !== this.namespace) { return true; } - - return false; - } - - loadTags() { - this.getCluster().then(() => { - return this.getPods().then(pods => { - this.parseTagsFromPods(pods); - this.currentPods = _.uniq(_.map(pods, p => { return p.metadata.name; })); - }); - }); - } - - setDefaults() { - const cluster = _.find(this.templateVariables, {'name': 'cluster'}); - if (!cluster) { - this.alertSrv.set("no cluster specified.", "no cluster specified in url", 'error'); - return; - } - - const ns = _.find(this.templateVariables, {'name': 'namespace'}); - this.namespace = ns.current.value !== '$__all' && ns.current.value[0] !== '$__all' ? ns.current.value : ''; - const podVariable = _.find(this.templateVariables, {'name': 'pod'}); - - if (podVariable.current.value !== '$__all') { - this.selectedPods = _.isArray(podVariable.current.value) ? podVariable.current.value : [podVariable.current.value]; - } - } - - getPods() { - if (this.currentPods.length === 0) { - if (_.isArray(this.namespace)) { - const promises = []; - _.forEach(this.namespace, ns => { - promises.push(this.clusterDS.getPods(ns)); - }); - return this.$q.all(promises) - .then(pods => { - return _.flatten(pods).filter(n => n); - }); - } else { - return this.clusterDS.getPods(this.namespace); - } - } else { - return this.clusterDS.getPodsByName(this.currentPods); - } - } - - parseTagsFromPods(pods) { - this.currentTags = {}; - - _.forEach(pods, pod => { - _.forEach(pod.metadata.labels, (value, label) => { - if (!this.currentTags[label]) { - this.currentTags[label] = []; - } - if (!this.currentTags[label].includes(value)) { - this.currentTags[label].push(value); - } - }); - }); - } - - onTagSelect() { - this.removeEmptyTags(); - this.selectedPods = []; - - this.getPodsByLabel() - .then(pods => { - this.currentPods = _.uniq(_.map(pods, p => { return p.metadata.name; })); - this.parseTagsFromPods(pods); - this.updateTemplateVariableWithPods(); - }); - } - - getPodsByLabel() { - if (_.isArray(this.namespace)) { - const promises = []; - _.forEach(this.namespace, ns => { - promises.push(this.clusterDS.getPodsByLabel(ns, this.chosenTags)); - }); - return this.$q.all(promises) - .then(pods => { - return _.flatten(pods).filter(n => n); - }); - } else { - return this.clusterDS.getPodsByLabel(this.namespace, this.chosenTags); - } - } - - updateTemplateVariableWithPods() { - const variable = _.find(this.templateVariables, {'name': 'pod'}); - - if (this.selectedPods.length > 0) { - variable.current.text = this.selectedPods.join(' + '); - variable.current.value = this.selectedPods; - } else { - variable.current.text = _.isEmpty(this.chosenTags) ? 'All': this.currentPods.join(' + '); - variable.current.value = _.isEmpty(this.chosenTags) ? ['.+']: this.currentPods; - } - - this.variableSrv.updateOptions(variable).then(() => { - this.variableSrv.variableUpdated(variable).then(() => { - this.$scope.$emit('template-variable-value-updated'); - this.$scope.$root.$broadcast('refresh'); - }); - }); - } - - removeEmptyTags() { - this.chosenTags = _.omitBy(this.chosenTags, val => { return !val;}); - } - - getCluster() { - const clusterName = _.find(this.templateVariables, {'name': 'cluster'}).current.value; - this.clusterName = clusterName; - - return this.backendSrv.get('/api/datasources') - .then(result => { - return _.filter(result, {"name": clusterName})[0]; - }) - .then((ds) => { - if (!ds) { - this.alertSrv.set("Failed to connect", "Could not connect to the specified cluster.", 'error'); - throw "Failed to connect to " + clusterName; - } - - if (!(ds.jsonData.ds)) { - ds.jsonData.ds = ""; - } - return this.datasourceSrv.get(ds.name); - }).then(clusterDS => { - this.clusterDS = clusterDS; - }); - } - - removeTag(tag) { - delete this.chosenTags[tag]; - this.getPodsByLabel() - .then(pods => { - this.currentPods = _.uniq(_.map(pods, p => { return p.metadata.name; })); - this.parseTagsFromPods(pods); - this.updateTemplateVariableWithPods(); - }); - } - - selectPod(podName) { - this.chosenTags = {}; - - if (!this.selectedPods.includes(podName)) { - this.selectedPods.push(podName); - } - - this.updateTemplateVariableWithPods(); - } - - removePodTag(podName) { - _.remove(this.selectedPods, p => { return p === podName;}); - this.updateTemplateVariableWithPods(); - - if (this.selectedPods.length === 0) { - this.currentPods = []; - this.loadTags(); - } - } -} diff --git a/dist/plugin.json b/dist/plugin.json deleted file mode 100644 index 1fff226..0000000 --- a/dist/plugin.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "type": "app", - "name": "kubernetes", - "id": "grafana-kubernetes-app", - - "routes": [ - ], - - "info": { - "description": "Kubernetes app. shows data collected by Prometheus.", - "author": { - "name": "Grafana Labs", - "url": "https://grafana.com/" - }, - "keywords": ["raintank", "kubernetes", "Prometheus"], - "logos": { - "small": "img/logo.svg", - "large": "img/logo.svg" - }, - "links": [ - {"name": "Grafana Labs", "url": "https://grafana.com/"}, - {"name": "GitHub", "url": "https://github.com/grafana/kubernetes-app"}, - {"name": "License", "url": "https://github.com/grafana/kubernetes-app/blob/master/LICENSE"} - ], - "screenshots": [ - {"name": "Cluster Dashboard", "path": "img/cluster-dashboard-screenshot.png"}, - {"name": "Container Dashboard", "path": "img/container-dashboard-screenshot.png"}, - {"name": "Node Dashboard", "path": "img/node-dashboard-screenshot.png"}, - {"name": "Overview Page", "path": "img/overview-screenshot.png"}, - {"name": "Pod Details Page", "path": "img/pod-details-screenshot.png"}, - {"name": "Namespace Details Page", "path": "img/namespace-details-screenshot.png"} - ], - "version": "1.0.1", - "updated": "2018-01-18" - }, - - "includes": [ - { "type": "page", "name": "Clusters", "component": "ClustersCtrl", "role": "Viewer", "addToNav": true, "defaultNav": true}, - { "type": "page", "name": "Cluster Config", "component": "ClusterConfigCtrl", "role": "Editor", "addToNav": false}, - { "type": "page", "name": "Cluster Info", "component": "ClusterInfoCtrl", "role": "Viewer", "addToNav": false}, - { "type": "page", "name": "Cluster Workloads", "component": "ClusterWorkloadsCtrl", "role": "Viewer", "addToNav": false}, - { "type": "page", "name": "Node Info", "component": "NodeInfoCtrl", "role": "Viewer", "addToNav": false}, - { "type": "page", "name": "Pod Info", "component": "PodInfoCtrl", "role": "Viewer", "addToNav": false}, - { - "type": "datasource", - "name": "kubernetes DS" - }, - { - "type": "dashboard", - "name": "K8s Node", - "path": "dashboards/k8s-node.json", - "addToNav": false - }, - { - "type": "dashboard", - "name": "K8s Container", - "path": "dashboards/k8s-container.json", - "addToNav": false - }, - { - "type": "dashboard", - "name": "K8s Cluster", - "path": "dashboards/k8s-cluster.json", - "addToNav": false - }, - { - "type": "dashboard", - "name": "K8s Deployments", - "path": "dashboards/k8s-deployments.json", - "addToNav": false - }, - { - "type": "panel", - "name": "Kubernetes Node Info" - }, - { - "type": "panel", - "name": "Kubernetes Pod Nav" - } - ], - - "dependencies": { - "grafanaVersion": "5.0+", - "plugins": [] - } -} diff --git a/package.json b/package.json index 7614224..f582132 100644 --- a/package.json +++ b/package.json @@ -1,34 +1,30 @@ { - "private": true, - "version": "1.0.0", - "description": "", - "main": "index.js", + "version": "1.0.2-dev", + "description": "Kubernetes App", "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" + "build": "grafana-toolkit plugin:build", + "test": "grafana-toolkit plugin:test", + "dev": "grafana-toolkit plugin:dev", + "watch": "grafana-toolkit plugin:dev --watch" }, "repository": { "type": "git", "url": "git+https://github.com/grafana/kubernetes-app.git" }, - "author": "", - "license": "ISC", + "author": "Grafana Labs", + "license": "Apache-2.0", "bugs": { "url": "https://github.com/grafana/kubernetes-app/issues" }, - "devDependencies": { - "grafana-sdk-mocks": "grafana/grafana-sdk-mocks", - "grunt": "^1.0.1", - "grunt-contrib-clean": "^1.1.0", - "grunt-contrib-copy": "^1.0.0", - "grunt-contrib-watch": "^1.0.0", - "grunt-typescript": "^0.8.0", - "grunt-sass": "^1.1.0", - "grunt-systemjs-builder": "^0.2.5", - "load-grunt-tasks": "~3.2.0", - "typescript": "~2.6.2" - }, "dependencies": { - "lodash": "^4.17.4" + "jquery": "^3.2.1", + "lodash": "^4.17.10", + "moment": "^2.22.1" }, - "homepage": "https://grafana.com/" + "devDependencies": { + "@grafana/toolkit": "next", + "@types/grafana": "github:CorpGlory/types-grafana.git", + "@types/angular": "1.6.54", + "angular": "1.6.6" + } } diff --git a/src/components/clusters/clusterConfig.ts b/src/components/clusters/clusterConfig.ts index b0698af..2ad69a2 100644 --- a/src/components/clusters/clusterConfig.ts +++ b/src/components/clusters/clusterConfig.ts @@ -1,124 +1,128 @@ -/// - import _ from 'lodash'; -import appEvents from 'app/core/app_events'; +import appEvents from 'grafana/app/core/app_events'; import angular from 'angular'; -const nodeExporterImage='quay.io/prometheus/node-exporter:v0.15.0'; +const nodeExporterImage = 'quay.io/prometheus/node-exporter:v0.15.0'; const kubestateImage = 'quay.io/coreos/kube-state-metrics:v1.1.0'; -let kubestateDeployment = { - "apiVersion": "apps/v1beta1", - "kind": "Deployment", - "metadata": { - "name": "kube-state-metrics", - "namespace": "kube-system" +const kubestateDeployment = { + apiVersion: 'apps/v1beta1', + kind: 'Deployment', + metadata: { + name: 'kube-state-metrics', + namespace: 'kube-system', }, - "spec": { - "selector": { - "matchLabels": { - "k8s-app": "kube-state-metrics", - "grafanak8sapp": "true" - } + spec: { + selector: { + matchLabels: { + 'k8s-app': 'kube-state-metrics', + grafanak8sapp: 'true', + }, }, - "replicas": 1, - "template": { - "metadata": { - "labels": { - "k8s-app": "kube-state-metrics", - "grafanak8sapp": "true" - } + replicas: 1, + template: { + metadata: { + labels: { + 'k8s-app': 'kube-state-metrics', + grafanak8sapp: 'true', + }, }, - "spec": { - "containers": [{ - "name": "kube-state-metrics", - "image": kubestateImage, - "ports": [{ - "name": "http-metrics", - "containerPort": 8080 - }], - "readinessProbe": { - "httpGet": { - "path": "/healthz", - "port": 8080 + spec: { + containers: [ + { + name: 'kube-state-metrics', + image: kubestateImage, + ports: [ + { + name: 'http-metrics', + containerPort: 8080, + }, + ], + readinessProbe: { + httpGet: { + path: '/healthz', + port: 8080, + }, + initialDelaySeconds: 5, + timeoutSeconds: 5, }, - "initialDelaySeconds": 5, - "timeoutSeconds": 5 - } - }] - } - } - } + }, + ], + }, + }, + }, }; const nodeExporterDaemonSet = { - "kind": "DaemonSet", - "apiVersion": "extensions/v1beta1", - "metadata": { - "name": "node-exporter", - "namespace": "kube-system" + kind: 'DaemonSet', + apiVersion: 'extensions/v1beta1', + metadata: { + name: 'node-exporter', + namespace: 'kube-system', }, - "spec": { - "selector": { - "matchLabels": { - "daemon": "node-exporter", - "grafanak8sapp": "true" - } + spec: { + selector: { + matchLabels: { + daemon: 'node-exporter', + grafanak8sapp: 'true', + }, }, - "template": { - "metadata": { - "name": "node-exporter", - "labels": { - "daemon": "node-exporter", - "grafanak8sapp": "true" - } + template: { + metadata: { + name: 'node-exporter', + labels: { + daemon: 'node-exporter', + grafanak8sapp: 'true', + }, }, - "spec": { - "volumes": [ + spec: { + volumes: [ { - "name": "proc", - "hostPath": { - "path": "/proc" - } + name: 'proc', + hostPath: { + path: '/proc', + }, }, { - "name": "sys", - "hostPath": { - "path": "/sys" - } - } - ], - "containers": [{ - "name": "node-exporter", - "image": nodeExporterImage, - "args": [ - "--path.procfs=/proc_host", - "--path.sysfs=/host_sys" - ], - "ports": [{ - "name": "node-exporter", - "hostPort": 9100, - "containerPort": 9100 - }], - "volumeMounts": [{ - "name": "sys", - "readOnly": true, - "mountPath": "/host_sys" + name: 'sys', + hostPath: { + path: '/sys', }, - { - "name": "proc", - "readOnly": true, - "mountPath": "/proc_host" - } - ], - "imagePullPolicy": "IfNotPresent" - }], - "restartPolicy": "Always", - "hostNetwork": true, - "hostPID": true - } - } - } + }, + ], + containers: [ + { + name: 'node-exporter', + image: nodeExporterImage, + args: ['--path.procfs=/proc_host', '--path.sysfs=/host_sys'], + ports: [ + { + name: 'node-exporter', + hostPort: 9100, + containerPort: 9100, + }, + ], + volumeMounts: [ + { + name: 'sys', + readOnly: true, + mountPath: '/host_sys', + }, + { + name: 'proc', + readOnly: true, + mountPath: '/proc_host', + }, + ], + imagePullPolicy: 'IfNotPresent', + }, + ], + restartPolicy: 'Always', + hostNetwork: true, + hostPID: true, + }, + }, + }, }; export class ClusterConfigCtrl { @@ -128,16 +132,16 @@ export class ClusterConfigCtrl { prometheusDeployed: boolean; showHelp: boolean; showPrometheusExample: boolean; - datasources: [any]; - + datasources: any[] = []; + static templateUrl = 'components/clusters/partials/cluster_config.html'; /** @ngInject */ - constructor($scope, $injector, private backendSrv, private $q, private contextSrv, private $location, private $window, private alertSrv) { - var self = this; + constructor($scope, $injector, private backendSrv, private $q, contextSrv, private $location, private $window, private alertSrv) { + const self = this; this.isOrgEditor = contextSrv.hasRole('Editor') || contextSrv.hasRole('Admin'); this.cluster = { - type: 'grafana-kubernetes-datasource' + type: 'grafana-kubernetes-datasource', }; this.pageReady = false; this.prometheusDeployed = false; @@ -159,18 +163,20 @@ export class ClusterConfigCtrl { } getDatasources() { - var self = this; - var promises = []; - if ("cluster" in self.$location.search()) { - promises.push(self.getCluster(this.$location.search().cluster).then(() => { - return self.getDeployments().then(ds => { - _.forEach(ds.items, function (deployment) { - if (deployment.metadata.name === "prometheus-deployment") { - self.prometheusDeployed = true; - } + const self = this; + const promises: any[] = []; + if ('cluster' in self.$location.search()) { + promises.push( + self.getCluster(this.$location.search().cluster).then(() => { + return self.getDeployments().then(ds => { + _.forEach(ds.items, function(deployment) { + if (deployment.metadata.name === 'prometheus-deployment') { + self.prometheusDeployed = true; + } + }); }); - }); - })); + }) + ); } promises.push(self.getPrometheusDatasources()); @@ -179,37 +185,35 @@ export class ClusterConfigCtrl { } getCluster(id) { - var self = this; - return this.backendSrv.get('/api/datasources/' + id) - .then((ds) => { - if (!(ds.jsonData.ds)) { - ds.jsonData.ds = ""; - } - self.cluster = ds; - }); + const self = this; + return this.backendSrv.get('/api/datasources/' + id).then(ds => { + if (!ds.jsonData.ds) { + ds.jsonData.ds = ''; + } + self.cluster = ds; + }); } getPrometheusDatasources() { - var self = this; - return this.backendSrv.get('/api/datasources') - .then((result) => { + const self = this; + return this.backendSrv.get('/api/datasources').then(result => { // self.hostedMetricsDS = _.filter(result, obj => // /grafana.net\/(graphite|prometheus)$/.test(obj.url) // ); self.datasources = _.filter(result, { - "type": "prometheus" + type: 'prometheus', }); }); } getDeployments() { - var self = this; + const self = this; return this.backendSrv.request({ url: 'api/datasources/proxy/' + self.cluster.id + '/apis/apps/v1beta1/namespaces/kube-system/deployments', method: 'GET', headers: { - 'Content-Type': 'application/json' - } + 'Content-Type': 'application/json', + }, }); } @@ -219,38 +223,38 @@ export class ClusterConfigCtrl { return this.getDatasources(); }) .then(() => { - this.alertSrv.set("Saved", "Saved and successfully connected to " + this.cluster.name, 'success', 3000); + this.alertSrv.set('Saved', 'Saved and successfully connected to ' + this.cluster.name, 'success', 3000); }) .catch(err => { - this.alertSrv.set("Saved", "Saved but failed to connect to " + this.cluster.name + '. Error: ' + err, 'error', 5000); + this.alertSrv.set('Saved', 'Saved but failed to connect to ' + this.cluster.name + '. Error: ' + err, 'error', 5000); }); } savePrometheusConfigToFile() { - let blob = new Blob([this.generatePrometheusConfig()], { - type: "application/yaml" + const blob = new Blob([this.generatePrometheusConfig()], { + type: 'application/yaml', }); this.saveToFile('prometheus.yml', blob); } saveNodeExporterDSToFile() { - let blob = new Blob([angular.toJson(nodeExporterDaemonSet, true)], { - type: "application/json" + const blob = new Blob([angular.toJson(nodeExporterDaemonSet, true)], { + type: 'application/json', }); this.saveToFile('grafanak8s-node-exporter-ds.json', blob); } saveKubeStateDeployToFile() { - let blob = new Blob([angular.toJson(kubestateDeployment, true)], { - type: "application/json" + const blob = new Blob([angular.toJson(kubestateDeployment, true)], { + type: 'application/json', }); this.saveToFile('grafanak8s-kubestate-deploy.json', blob); } saveToFile(filename, blob) { - let blobUrl = window.URL.createObjectURL(blob); + const blobUrl = window.URL.createObjectURL(blob); - let element = document.createElement('a'); + const element = document.createElement('a'); element.setAttribute('href', blobUrl); element.setAttribute('download', filename); element.style.display = 'none'; @@ -260,34 +264,32 @@ export class ClusterConfigCtrl { } deploy() { - var question = !this.prometheusDeployed ? - 'This action will deploy Prometheus exporters to your Kubernetes cluster.' + - 'Are you sure you want to deploy?' : - 'This action will update the Prometheus exporters on your Kubernetes cluster. ' + - 'Are you sure you want to deploy?'; + const question = !this.prometheusDeployed + ? 'This action will deploy Prometheus exporters to your Kubernetes cluster.' + 'Are you sure you want to deploy?' + : 'This action will update the Prometheus exporters on your Kubernetes cluster. ' + 'Are you sure you want to deploy?'; appEvents.emit('confirm-modal', { title: 'Deploy to Kubernetes Cluster', text: question, - yesText: "Deploy", - icon: "fa-question", + yesText: 'Deploy', + icon: 'fa-question', onConfirm: () => { this.saveAndDeploy(); - } + }, }); } undeploy() { - var question = 'This action will remove the DaemonSet on your Kubernetes cluster that collects health metrics. ' + - 'Are you sure you want to remove it?'; + const question = + 'This action will remove the DaemonSet on your Kubernetes cluster that collects health metrics. ' + 'Are you sure you want to remove it?'; appEvents.emit('confirm-modal', { title: 'Remove Daemonset Collector', text: question, - yesText: "Remove", - icon: "fa-question", + yesText: 'Remove', + icon: 'fa-question', onConfirm: () => { this.undeployPrometheus(); - } + }, }); } @@ -300,25 +302,28 @@ export class ClusterConfigCtrl { } saveAndDeploy() { - return this.saveDatasource() - .then(() => { - return this.deployPrometheus(); - }); + return this.saveDatasource().then(() => { + return this.deployPrometheus(); + }); } checkApiVersion(clusterId) { - return this.backendSrv.request({ - url: 'api/datasources/proxy/' + clusterId + '/apis/extensions/v1beta1', - method: 'GET', - headers: { - 'Content-Type': 'application/json' - } - }).then(result => { - if (!result.resources || result.resources.length === 0) { - throw "This Kubernetes cluster does not support v1beta1 of the API which is needed to deploy automatically. " + - "You can install manually using the instructions at the bottom of the page."; - } - }); + return this.backendSrv + .request({ + url: 'api/datasources/proxy/' + clusterId + '/apis/extensions/v1beta1', + method: 'GET', + headers: { + 'Content-Type': 'application/json', + }, + }) + .then(result => { + if (!result.resources || result.resources.length === 0) { + throw new Error( + 'This Kubernetes cluster does not support v1beta1 of the API which is needed to deploy automatically. ' + + 'You can install manually using the instructions at the bottom of the page.' + ); + } + }); } createConfigMap(clusterId, cm) { @@ -327,8 +332,8 @@ export class ClusterConfigCtrl { method: 'POST', data: cm, headers: { - 'Content-Type': 'application/json' - } + 'Content-Type': 'application/json', + }, }); } @@ -338,8 +343,8 @@ export class ClusterConfigCtrl { method: 'POST', data: daemonSet, headers: { - 'Content-Type': "application/json" - } + 'Content-Type': 'application/json', + }, }); } @@ -356,56 +361,61 @@ export class ClusterConfigCtrl { method: 'POST', data: deployment, headers: { - 'Content-Type': "application/json" - } + 'Content-Type': 'application/json', + }, }); } deleteDeployment(clusterId, deploymentName) { - return this.backendSrv.request({ - url: 'api/datasources/proxy/' + clusterId + '/apis/apps/v1beta1/namespaces/kube-system/deployments/' + deploymentName, - method: 'DELETE' - }).then(() => { - return this.backendSrv.request({ - url: 'api/datasources/proxy/' + clusterId + - '/apis/extensions/v1beta1/namespaces/kube-system/replicasets?labelSelector=grafanak8sapp%3Dtrue', - method: 'DELETE' + return this.backendSrv + .request({ + url: 'api/datasources/proxy/' + clusterId + '/apis/apps/v1beta1/namespaces/kube-system/deployments/' + deploymentName, + method: 'DELETE', + }) + .then(() => { + return this.backendSrv.request({ + url: + 'api/datasources/proxy/' + clusterId + '/apis/extensions/v1beta1/namespaces/kube-system/replicasets?labelSelector=grafanak8sapp%3Dtrue', + method: 'DELETE', + }); }); - }); } deleteConfigMap(clusterId, cmName) { return this.backendSrv.request({ url: 'api/datasources/proxy/' + clusterId + '/api/v1/namespaces/kube-system/configmaps/' + cmName, - method: 'DELETE' + method: 'DELETE', }); } deletePods() { - var self = this; - return this.backendSrv.request({ - url: 'api/datasources/proxy/' + self.cluster.id + - '/api/v1/namespaces/kube-system/pods?labelSelector=grafanak8sapp%3Dtrue', - method: 'GET', - headers: { - 'Content-Type': 'application/json' - } - }).then(pods => { - if (!pods || pods.items.length === 0) { - throw "No pods found to update."; - } + const self = this; + return this.backendSrv + .request({ + url: 'api/datasources/proxy/' + self.cluster.id + '/api/v1/namespaces/kube-system/pods?labelSelector=grafanak8sapp%3Dtrue', + method: 'GET', + headers: { + 'Content-Type': 'application/json', + }, + }) + .then(pods => { + if (!pods || pods.items.length === 0) { + throw new Error('No pods found to update.'); + } - var promises = []; + const promises: any[] = []; - _.forEach(pods.items, pod => { - promises.push(this.backendSrv.request({ - url: 'api/datasources/proxy/' + self.cluster.id + '/api/v1/namespaces/kube-system/pods/' + pod.metadata.name, - method: 'DELETE', - })); - }); + _.forEach(pods.items, pod => { + promises.push( + this.backendSrv.request({ + url: 'api/datasources/proxy/' + self.cluster.id + '/api/v1/namespaces/kube-system/pods/' + pod.metadata.name, + method: 'DELETE', + }) + ); + }); - return this.$q.all(promises); - }); + return this.$q.all(promises); + }); } cancel() { @@ -413,9 +423,9 @@ export class ClusterConfigCtrl { } deployPrometheus() { - let self = this; + const self = this; if (!this.cluster || !this.cluster.id) { - this.alertSrv.set("Error", "Could not connect to cluster.", 'error'); + this.alertSrv.set('Error', 'Could not connect to cluster.', 'error'); return; } return this.checkApiVersion(self.cluster.id) @@ -423,44 +433,44 @@ export class ClusterConfigCtrl { return this.createDeployment(self.cluster.id, kubestateDeployment); }) .catch(err => { - this.alertSrv.set("Error", err, 'error'); + this.alertSrv.set('Error', err, 'error'); }) .then(() => { return this.createDaemonSet(self.cluster.id, nodeExporterDaemonSet); }) .catch(err => { - this.alertSrv.set("Error", err, 'error'); + this.alertSrv.set('Error', err, 'error'); }) .then(() => { this.prometheusDeployed = true; - this.alertSrv.set("Deployed", "Prometheus and exporters have been deployed to " + self.cluster.name, 'success', 5000); + this.alertSrv.set('Deployed', 'Prometheus and exporters have been deployed to ' + self.cluster.name, 'success', 5000); }); } undeployPrometheus() { - var self = this; + const self = this; return this.checkApiVersion(self.cluster.id) .then(() => { return this.deleteDeployment(self.cluster.id, 'kube-state-metrics'); }) .catch(err => { - this.alertSrv.set("Error", err, 'error'); + this.alertSrv.set('Error', err, 'error'); }) .then(() => { return this.deleteDaemonSet(self.cluster.id); }) .catch(err => { - this.alertSrv.set("Error", err, 'error'); + this.alertSrv.set('Error', err, 'error'); }) .then(() => { return this.deletePods(); }) .catch(err => { - this.alertSrv.set("Error", err, 'error'); + this.alertSrv.set('Error', err, 'error'); }) .then(() => { this.prometheusDeployed = false; - this.alertSrv.set("Grafana K8s removed", "Prometheus and exporters removed from " + self.cluster.name, 'success', 5000); + this.alertSrv.set('Grafana K8s removed', 'Prometheus and exporters removed from ' + self.cluster.name, 'success', 5000); }); } @@ -523,14 +533,14 @@ export class ClusterConfigCtrl { generatePrometheusConfigMap() { return { - "apiVersion": "v1", - "kind": "ConfigMap", - "metadata": { - "name": "prometheus-configmap" + apiVersion: 'v1', + kind: 'ConfigMap', + metadata: { + name: 'prometheus-configmap', + }, + data: { + 'prometheus.yml': this.generatePrometheusConfig(), }, - "data": { - "prometheus.yml": this.generatePrometheusConfig() - } }; } } diff --git a/src/components/clusters/clusterInfo.ts b/src/components/clusters/clusterInfo.ts index b7d2db7..19cd8ad 100644 --- a/src/components/clusters/clusterInfo.ts +++ b/src/components/clusters/clusterInfo.ts @@ -1,5 +1,3 @@ -/// - import _ from 'lodash'; import $ from 'jquery'; @@ -14,30 +12,28 @@ export class ClusterInfoCtrl { clusterDS: any; static templateUrl = 'components/clusters/partials/cluster_info.html'; - + /** @ngInject */ - constructor($scope, $injector, private backendSrv, private datasourceSrv, private $q, private $location, private alertSrv) { - this.$q = $q; + constructor($scope, $injector, private backendSrv, private datasourceSrv, $q, private $location, alertSrv) { document.title = 'Grafana Kubernetes App'; this.pageReady = false; this.cluster = {}; this.componentStatuses = []; this.namespaces = []; - this.namespace = ""; + this.namespace = ''; this.nodes = []; - if (!("cluster" in $location.search())) { - alertSrv.set("no cluster specified.", "no cluster specified in url", 'error'); + if (!('cluster' in $location.search())) { + alertSrv.set('no cluster specified.', 'no cluster specified in url', 'error'); return; } - this.getCluster($location.search().cluster) - .then(clusterDS => { - this.clusterDS = clusterDS; - this.pageReady = true; - this.getClusterInfo(); - }); + this.getCluster($location.search().cluster).then(clusterDS => { + this.clusterDS = clusterDS; + this.pageReady = true; + this.getClusterInfo(); + }); } getCluster(id) { @@ -66,71 +62,64 @@ export class ClusterInfoCtrl { } goToClusterDashboard() { - this.$location.path("dashboard/db/k8s-cluster") - .search({ - "var-datasource": this.cluster.jsonData.ds, - "var-cluster": this.cluster.name - }); + this.$location.path('dashboard/db/k8s-cluster').search({ + 'var-datasource': this.cluster.jsonData.ds, + 'var-cluster': this.cluster.name, + }); } goToPodDashboard() { - this.$location.path("dashboard/db/k8s-container") - .search({ - "var-datasource": this.cluster.jsonData.ds, - "var-cluster": this.cluster.name, - "var-node": 'All', - "var-namespace": 'All', - "var-pod": 'All' + this.$location.path('dashboard/db/k8s-container').search({ + 'var-datasource': this.cluster.jsonData.ds, + 'var-cluster': this.cluster.name, + 'var-node': 'All', + 'var-namespace': 'All', + 'var-pod': 'All', }); } goToNodeDashboard(node, evt) { - var clickTargetIsLinkOrHasLinkParents = $(evt.target).closest('a').length > 0; + const clickTargetIsLinkOrHasLinkParents = $(evt.target).closest('a').length > 0; if (clickTargetIsLinkOrHasLinkParents === false) { - this.$location.path("dashboard/db/k8s-node") - .search({ - "var-datasource": this.cluster.jsonData.ds, - "var-cluster": this.cluster.name, - "var-node": node === 'All' ? 'All': node.metadata.name + this.$location.path('dashboard/db/k8s-node').search({ + 'var-datasource': this.cluster.jsonData.ds, + 'var-cluster': this.cluster.name, + 'var-node': node === 'All' ? 'All' : node.metadata.name, }); } } goToWorkloads(ns, evt) { - var clickTargetIsLinkOrHasLinkParents = $(evt.target).closest('a').length > 0; + const clickTargetIsLinkOrHasLinkParents = $(evt.target).closest('a').length > 0; if (clickTargetIsLinkOrHasLinkParents === false) { - this.$location.path("plugins/grafana-kubernetes-app/page/cluster-workloads") - .search({ - "cluster": this.cluster.id, - "namespace": ns.metadata.name + this.$location.path('plugins/grafana-kubernetes-app/page/cluster-workloads').search({ + cluster: this.cluster.id, + namespace: ns.metadata.name, }); } } goToNodeInfo(node, evt) { - var clickTargetIsLinkOrHasLinkParents = $(evt.target).closest('a').length > 0; - - var closestElm = _.head($(evt.target).closest('div')); - var clickTargetClickAttr = _.find(closestElm.attributes, {name: "ng-click"}); - var clickTargetIsNodeDashboard = clickTargetClickAttr ? clickTargetClickAttr.value === "ctrl.goToNodeDashboard(node, $event)" : false; - if (clickTargetIsLinkOrHasLinkParents === false && - clickTargetIsNodeDashboard === false) { - this.$location.path("plugins/grafana-kubernetes-app/page/node-info") - .search({ - "cluster": this.cluster.id, - "node": node.metadata.name + const clickTargetIsLinkOrHasLinkParents = $(evt.target).closest('a').length > 0; + + const closestElm = _.head($(evt.target).closest('div')) as any; + const clickTargetClickAttr = _.find(closestElm.attributes, { name: 'ng-click' }); + const clickTargetIsNodeDashboard = clickTargetClickAttr ? clickTargetClickAttr.value === 'ctrl.goToNodeDashboard(node, $event)' : false; + if (clickTargetIsLinkOrHasLinkParents === false && clickTargetIsNodeDashboard === false) { + this.$location.path('plugins/grafana-kubernetes-app/page/node-info').search({ + cluster: this.cluster.id, + node: node.metadata.name, }); } } } function getComponentHealth(component) { - let health = "unhealthy"; + let health = 'unhealthy'; let message = ''; _.forEach(component.conditions, condition => { - if (condition.type === "Healthy" && - condition.status === "True") { - health = "ok"; + if (condition.type === 'Healthy' && condition.status === 'True') { + health = 'ok'; } else { message = condition.message; } @@ -139,12 +128,11 @@ function getComponentHealth(component) { } function getNodeHealth(node) { - let health = "unhealthy"; + let health = 'unhealthy'; let message = ''; _.forEach(node.status.conditions, condition => { - if (condition.type === "Ready" && - condition.status === "True") { - health = "ok"; + if (condition.type === 'Ready' && condition.status === 'True') { + health = 'ok'; } else { message = condition.message; } @@ -159,7 +147,7 @@ function getHealthState(health, message) { text: 'OK', iconClass: 'icon-gf icon-gf-online', stateClass: 'alert-state-ok', - message: '' + message: '', }; } case 'unhealthy': { @@ -167,16 +155,22 @@ function getHealthState(health, message) { text: 'UNHEALTHY', iconClass: 'icon-gf icon-gf-critical', stateClass: 'alert-state-critical', - message: message || '' + message: message || '', }; } case 'warning': { return { text: 'warning', - iconClass: "icon-gf icon-gf-critical", + iconClass: 'icon-gf icon-gf-critical', stateClass: 'alert-state-warning', - message: message || '' + message: message || '', }; } } + return { + text: 'warning', + iconClass: 'icon-gf icon-gf-critical', + stateClass: 'alert-state-warning', + message: 'Unknown Health: ' + health, + }; } diff --git a/src/components/clusters/clusterWorkloads.ts b/src/components/clusters/clusterWorkloads.ts index da58f9a..53c4095 100644 --- a/src/components/clusters/clusterWorkloads.ts +++ b/src/components/clusters/clusterWorkloads.ts @@ -1,5 +1,3 @@ -/// - import _ from 'lodash'; import $ from 'jquery'; @@ -17,44 +15,43 @@ export class ClusterWorkloadsCtrl { static templateUrl = 'components/clusters/partials/cluster_workloads.html'; /** @ngInject */ - constructor($scope, $injector, private backendSrv, private datasourceSrv, private $q, private $location, private alertSrv) { + constructor($scope, $injector, private backendSrv, private datasourceSrv, private $location, alertSrv) { document.title = 'Grafana Kubernetes App'; this.pageReady = false; this.cluster = {}; this.namespaces = []; - this.namespace = ""; + this.namespace = ''; this.daemonSets = []; this.replicationControllers = []; this.deployments = []; this.pods = []; - if (!("cluster" in $location.search())) { - alertSrv.set("no cluster specified.", "no cluster specified in url", 'error'); + if (!('cluster' in $location.search())) { + alertSrv.set('no cluster specified.', 'no cluster specified in url', 'error'); return; } - if ("namespace" in $location.search()) { + if ('namespace' in $location.search()) { this.namespace = $location.search().namespace; } - this.getCluster($location.search().cluster) - .then(clusterDS => { - this.clusterDS = clusterDS; - this.pageReady = true; - this.getWorkloads(); - }); + this.getCluster($location.search().cluster).then(clusterDS => { + this.clusterDS = clusterDS; + this.pageReady = true; + this.getWorkloads(); + }); } getCluster(id) { - return this.backendSrv.get('api/datasources/'+id).then(ds => { + return this.backendSrv.get('api/datasources/' + id).then(ds => { this.cluster = ds; return this.datasourceSrv.get(ds.name); }); } getWorkloads() { - let namespace = this.namespace; + const namespace = this.namespace; this.clusterDS.getNamespaces().then(namespaces => { this.namespaces = namespaces; }); @@ -73,53 +70,49 @@ export class ClusterWorkloadsCtrl { } componentHealth(component) { - var health = "unhealthy"; + let health = 'unhealthy'; _.forEach(component.conditions, function(condition) { - if ((condition.type === "Healthy") && (condition.status === "True")) { - health = "healthy"; + if (condition.type === 'Healthy' && condition.status === 'True') { + health = 'healthy'; } }); return health; } isComponentHealthy(component) { - return this.componentHealth(component) === "healthy"; + return this.componentHealth(component) === 'healthy'; } goToPodDashboard(pod) { - this.$location.path("dashboard/db/k8s-container") - .search({ - "var-datasource": this.cluster.jsonData.ds, - "var-cluster": this.cluster.name, - "var-node": pod.spec.nodeName, - "var-namespace": pod.metadata.namespace, - "var-pod": pod.metadata.name + this.$location.path('dashboard/db/k8s-container').search({ + 'var-datasource': this.cluster.jsonData.ds, + 'var-cluster': this.cluster.name, + 'var-node': pod.spec.nodeName, + 'var-namespace': pod.metadata.namespace, + 'var-pod': pod.metadata.name, }); } goToDeploymentDashboard(deploy) { - this.$location.path("dashboard/db/k8s-deployments") - .search({ - "var-datasource": this.cluster.jsonData.ds, - "var-cluster": this.cluster.name, - "var-namespace": deploy.metadata.namespace, - "var-deployment": deploy.metadata.name + this.$location.path('dashboard/db/k8s-deployments').search({ + 'var-datasource': this.cluster.jsonData.ds, + 'var-cluster': this.cluster.name, + 'var-namespace': deploy.metadata.namespace, + 'var-deployment': deploy.metadata.name, }); } goToPodInfo(pod, evt) { - var clickTargetIsLinkOrHasLinkParents = $(evt.target).closest('a').length > 0; - - var closestElm = _.head($(evt.target).closest('div')); - var clickTargetClickAttr = _.find(closestElm.attributes, {name: "ng-click"}); - var clickTargetIsNodeDashboard = clickTargetClickAttr ? clickTargetClickAttr.value === "ctrl.goToPodDashboard(pod, $event)" : false; - if (clickTargetIsLinkOrHasLinkParents === false && - clickTargetIsNodeDashboard === false) { - this.$location.path("plugins/grafana-kubernetes-app/page/pod-info") - .search({ - "cluster": this.cluster.id, - "namespace": pod.metadata.namespace, - "pod": pod.metadata.name + const clickTargetIsLinkOrHasLinkParents = $(evt.target).closest('a').length > 0; + + const closestElm = _.head($(evt.target).closest('div')) as any; + const clickTargetClickAttr = _.find(closestElm.attributes, { name: 'ng-click' }); + const clickTargetIsNodeDashboard = clickTargetClickAttr ? clickTargetClickAttr.value === 'ctrl.goToPodDashboard(pod, $event)' : false; + if (clickTargetIsLinkOrHasLinkParents === false && clickTargetIsNodeDashboard === false) { + this.$location.path('plugins/grafana-kubernetes-app/page/pod-info').search({ + cluster: this.cluster.id, + namespace: pod.metadata.namespace, + pod: pod.metadata.name, }); } } diff --git a/src/components/clusters/clusters.ts b/src/components/clusters/clusters.ts index b53cef1..14a21d5 100644 --- a/src/components/clusters/clusters.ts +++ b/src/components/clusters/clusters.ts @@ -1,20 +1,18 @@ -/// - import _ from 'lodash'; -import appEvents from 'app/core/app_events'; +import appEvents from 'grafana/app/core/app_events'; export class ClustersCtrl { cluster: any; pageReady: boolean; - datasources: [any]; + datasources: any[] = []; clusters: {}; isOrgEditor: boolean; static templateUrl = 'components/clusters/partials/clusters.html'; /** @ngInject */ - constructor($scope, $injector, private backendSrv, private contextSrv, private $location) { - var self = this; + constructor($scope, $injector, private backendSrv, contextSrv, private $location) { + const self = this; this.isOrgEditor = contextSrv.hasRole('Editor') || contextSrv.hasRole('Admin'); document.title = 'Grafana Kubernetes App'; this.clusters = {}; @@ -25,10 +23,9 @@ export class ClustersCtrl { } getClusters() { - var self = this; - return this.backendSrv.get('/api/datasources') - .then((result) => { - self.clusters = _.filter(result, {"type": "grafana-kubernetes-datasource"}); + const self = this; + return this.backendSrv.get('/api/datasources').then(result => { + self.clusters = _.filter(result, { type: 'grafana-kubernetes-datasource' }); }); } @@ -41,17 +38,18 @@ export class ClustersCtrl { deleteCluster(cluster) { appEvents.emit('confirm-modal', { title: 'Delete', - text: 'Are you sure you want to delete this data source? ' + + text: + 'Are you sure you want to delete this data source? ' + 'If you need to undeploy the collectors, then do that before deleting the data source.', - yesText: "Delete", - icon: "fa-trash", + yesText: 'Delete', + icon: 'fa-trash', onConfirm: () => { this.confirmDelete(cluster.id); - } + }, }); } clusterInfo(cluster) { - this.$location.path("plugins/grafana-kubernetes-app/page/cluster-info").search({"cluster": cluster.id}); + this.$location.path('plugins/grafana-kubernetes-app/page/cluster-info').search({ cluster: cluster.id }); } } diff --git a/src/components/clusters/nodeInfo.ts b/src/components/clusters/nodeInfo.ts index 2d3447b..aca594a 100644 --- a/src/components/clusters/nodeInfo.ts +++ b/src/components/clusters/nodeInfo.ts @@ -1,5 +1,3 @@ -/// - import moment from 'moment'; export class NodeInfoCtrl { @@ -11,7 +9,7 @@ export class NodeInfoCtrl { static templateUrl = 'components/clusters/partials/node_info.html'; /** @ngInject */ - constructor($scope, $injector, private backendSrv, private datasourceSrv, private $q, private $location, private alertSrv) { + constructor($scope, $injector, private backendSrv, private datasourceSrv, private $location, alertSrv) { document.title = 'Grafana Kubernetes App'; this.pageReady = false; @@ -19,12 +17,12 @@ export class NodeInfoCtrl { this.clusterDS = {}; this.node = {}; - if (!("cluster" in $location.search())) { - alertSrv.set("no cluster specified.", "no cluster specified in url", 'error'); + if (!('cluster' in $location.search())) { + alertSrv.set('no cluster specified.', 'no cluster specified in url', 'error'); return; } else { - let cluster_id = $location.search().cluster; - let node_name = $location.search().node; + const cluster_id = $location.search().cluster; + const node_name = $location.search().node; this.loadDatasource(cluster_id).then(() => { this.clusterDS.getNode(node_name).then(node => { @@ -36,36 +34,37 @@ export class NodeInfoCtrl { } loadDatasource(id) { - return this.backendSrv.get('api/datasources/' + id) + return this.backendSrv + .get('api/datasources/' + id) .then(ds => { this.cluster = ds; return this.datasourceSrv.get(ds.name); - }).then(clusterDS => { + }) + .then(clusterDS => { this.clusterDS = clusterDS; return clusterDS; }); } goToNodeDashboard() { - this.$location.path("dashboard/db/k8s-node") - .search({ - "var-datasource": this.cluster.jsonData.ds, - "var-cluster": this.cluster.name, - "var-node": this.node.metadata.name - }); + this.$location.path('dashboard/db/k8s-node').search({ + 'var-datasource': this.cluster.jsonData.ds, + 'var-cluster': this.cluster.name, + 'var-node': this.node.metadata.name, + }); } conditionStatus(condition) { - var status; - if (condition.type === "Ready") { - status = condition.status === "True"; + let status; + if (condition.type === 'Ready') { + status = condition.status === 'True'; } else { - status = condition.status === "False"; + status = condition.status === 'False'; } return { value: status, - text: status ? "Ok" : "Error" + text: status ? 'Ok' : 'Error', }; } diff --git a/src/components/clusters/podInfo.ts b/src/components/clusters/podInfo.ts index 7cbc50f..560353c 100644 --- a/src/components/clusters/podInfo.ts +++ b/src/components/clusters/podInfo.ts @@ -1,5 +1,3 @@ -/// - import moment from 'moment'; export class PodInfoCtrl { @@ -10,19 +8,19 @@ export class PodInfoCtrl { datasource: any; static templateUrl = 'components/clusters/partials/pod_info.html'; - + /** @ngInject */ - constructor($scope, $injector, private backendSrv, private datasourceSrv, private $q, private $location, private alertSrv) { + constructor($scope, $injector, private backendSrv, private datasourceSrv, private $location, alertSrv) { document.title = 'Grafana Kubernetes App'; this.pageReady = false; this.pod = {}; - if (!("cluster" in $location.search())) { - alertSrv.set("no cluster specified.", "no cluster specified in url", 'error'); + if (!('cluster' in $location.search())) { + alertSrv.set('no cluster specified.', 'no cluster specified in url', 'error'); return; } else { this.cluster_id = $location.search().cluster; - let pod_name = $location.search().pod; + const pod_name = $location.search().pod; this.loadDatasource(this.cluster_id).then(() => { this.clusterDS.getPod(pod_name).then(pod => { @@ -34,38 +32,39 @@ export class PodInfoCtrl { } loadDatasource(id) { - return this.backendSrv.get('api/datasources/' + id) + return this.backendSrv + .get('api/datasources/' + id) .then(ds => { this.datasource = ds.jsonData.ds; return this.datasourceSrv.get(ds.name); - }).then(clusterDS => { + }) + .then(clusterDS => { this.clusterDS = clusterDS; return clusterDS; }); } conditionStatus(condition) { - var status; - if (condition.type === "Ready") { - status = condition.status === "True"; + let status; + if (condition.type === 'Ready') { + status = condition.status === 'True'; } else { - status = condition.status === "False"; + status = condition.status === 'False'; } return { value: status, - text: status ? "Ok" : "Error" + text: status ? 'Ok' : 'Error', }; } goToPodDashboard(pod) { - this.$location.path("dashboard/db/k8s-container") - .search({ - "var-datasource": this.datasource, - "var-cluster": this.clusterDS.name, - "var-node": pod.spec.nodeName, - "var-namespace": pod.metadata.namespace, - "var-pod": pod.metadata.name + this.$location.path('dashboard/db/k8s-container').search({ + 'var-datasource': this.datasource, + 'var-cluster': this.clusterDS.name, + 'var-node': pod.spec.nodeName, + 'var-namespace': pod.metadata.namespace, + 'var-pod': pod.metadata.name, }); } diff --git a/src/components/config/config.ts b/src/components/config/config.ts index 95dd5da..509dccc 100644 --- a/src/components/config/config.ts +++ b/src/components/config/config.ts @@ -1,5 +1,3 @@ -/// - export class KubernetesConfigCtrl { static templateUrl = 'components/config/config.html'; enabled: boolean; @@ -19,8 +17,8 @@ export class KubernetesConfigCtrl { return this.appEditCtrl.importDashboards().then(() => { this.enabled = true; return { - url: "plugins/grafana-kubernetes-app/page/clusters", - message: "Kubernetes App enabled!" + url: 'plugins/grafana-kubernetes-app/page/clusters', + message: 'Kubernetes App enabled!', }; }); } diff --git a/src/css/dark.css b/src/css/dark.css deleted file mode 100644 index 53e24da..0000000 --- a/src/css/dark.css +++ /dev/null @@ -1,83 +0,0 @@ -tr.dashlist-item:hover { - background-color: #333; - cursor: pointer; -} - -/* pod nav panel */ -.podnav-wrapper { - display: flex; - flex-direction: row; - justify-content: space-between; -} - -.podnav-tags-wrapper { - width: 60%; -} - -.chosen-tags-container { - display: block; -} - -.chosen-tags-container .label-tag { - line-height: 20px; - margin-bottom: 10px; -} - -.podnav-tags { - display: flex; - flex-direction: column; - flex-wrap: wrap; - align-content: flex-start; - max-height: 300px; - overflow: auto; -} - -.podnav-pods { - width: 40%; - display: flex; - flex-direction: column; -} - -.podnav-results { - display: flex; - flex-direction: column; - overflow: auto; - max-height: 300px; -} - -.podnav-result { - display: block; - padding: 3px 10px; - background-color: #292929; - margin-bottom: 4px; -} - -.podnav-result:hover { - background-color: #333; - cursor: pointer; -} - -.podnav-result button { - margin-right: 15px; -} - -/* plugin config */ - -.pluginconfig-message { - margin: 20px; -} - -.k8s-icon-success { - color: #10a345; - font-size: 24px; - text-decoration: none; - vertical-align: sub; -} - -/* cluster info */ -.main-dash-links { - margin-bottom: 40px; -} -.card-item--main-dash-link { - padding: 20px; -} diff --git a/src/css/light.css b/src/css/light.css deleted file mode 100644 index a3da234..0000000 --- a/src/css/light.css +++ /dev/null @@ -1,83 +0,0 @@ -tr.dashlist-item:hover { - background-color: #ECECEC; - cursor: pointer; -} - -/* pod nav panel */ -.podnav-wrapper { - display: flex; - flex-direction: row; - justify-content: space-between; -} - -.podnav-tags-wrapper { - width: 60%; -} - -.chosen-tags-container { - display: block; -} - -.chosen-tags-container .label-tag { - line-height: 20px; - margin-bottom: 10px; -} - -.podnav-tags { - display: flex; - flex-direction: column; - flex-wrap: wrap; - align-content: flex-start; - max-height: 300px; - overflow: auto; -} - -.podnav-pods { - width: 40%; - display: flex; - flex-direction: column; -} - -.podnav-results { - display: flex; - flex-direction: column; - overflow: auto; - max-height: 300px; -} - -.podnav-result { - display: block; - padding: 3px 10px; - background-color: #f4f5f8; - margin-bottom: 4px; -} - -.podnav-result:hover { - background-color: #ECECEC; - cursor: pointer; -} - -.podnav-result button { - margin-right: 15px; -} - -/* plugin config */ - -.pluginconfig-message { - margin: 20px; -} - -.k8s-icon-success { - color: #10a345; - font-size: 24px; - text-decoration: none; - vertical-align: sub; -} - -/* cluster info */ -.main-dash-links { - margin-bottom: 40px; -} -.card-item--main-dash-link { - padding: 20px; -} diff --git a/src/datasource/datasource.ts b/src/datasource/datasource.ts index 6d1374a..20702ee 100644 --- a/src/datasource/datasource.ts +++ b/src/datasource/datasource.ts @@ -1,5 +1,3 @@ -/// - import _ from 'lodash'; export class K8sDatasource { @@ -21,34 +19,40 @@ export class K8sDatasource { } testDatasource() { - return this.backendSrv.datasourceRequest({ - url: this.url + '/', - method: 'GET' - }).then(response => { - if (response.status === 200) { - return { status: "success", message: "Data source is working", title: "Success" }; - } - }); + return this.backendSrv + .datasourceRequest({ + url: this.url + '/', + method: 'GET', + }) + .then(response => { + if (response.status === 200) { + return { status: 'success', message: 'Data source is working', title: 'Success' }; + } + return { status: 'warning', message: 'error', title: 'Error' }; + }); } _get(apiResource) { - return this.backendSrv.datasourceRequest({ - url: this.url + apiResource, - method: "GET", - headers: { 'Content-Type': 'application/json' } - }).then( - response => { - return response.data; - }, error => { - return error; - }); + return this.backendSrv + .datasourceRequest({ + url: this.url + apiResource, + method: 'GET', + headers: { 'Content-Type': 'application/json' }, + }) + .then( + response => { + return response.data; + }, + error => { + return error; + } + ); } getNodes() { - return this._get('/api/v1/nodes') - .then(result => { - return result.items; - }); + return this._get('/api/v1/nodes').then(result => { + return result.items; + }); } getNode(name) { @@ -56,57 +60,49 @@ export class K8sDatasource { } getNamespaces() { - return this._get('/api/v1/namespaces') - .then(result => { - return result.items; - }); + return this._get('/api/v1/namespaces').then(result => { + return result.items; + }); } getComponentStatuses() { - return this._get('/api/v1/componentstatuses') - .then(result => { - return result.items; - }); + return this._get('/api/v1/componentstatuses').then(result => { + return result.items; + }); } getDaemonSets(namespace) { - return this._get('/apis/extensions/v1beta1/' + addNamespace(namespace) + 'daemonsets') - .then(result => { - return result.items; - }); + return this._get('/apis/extensions/v1beta1/' + addNamespace(namespace) + 'daemonsets').then(result => { + return result.items; + }); } getReplicationControllers(namespace) { - return this._get('/api/v1/' + addNamespace(namespace) + 'replicationcontrollers') - .then(result => { - return result.items; - }); + return this._get('/api/v1/' + addNamespace(namespace) + 'replicationcontrollers').then(result => { + return result.items; + }); } getDeployments(namespace) { - return this._get('/apis/extensions/v1beta1/' + addNamespace(namespace) + 'deployments') - .then(result => { - return result.items; - }); + return this._get('/apis/extensions/v1beta1/' + addNamespace(namespace) + 'deployments').then(result => { + return result.items; + }); } getPods(namespace) { - return this._get('/api/v1/' + addNamespace(namespace) + 'pods') - .then(result => { - return result.items; - }); + return this._get('/api/v1/' + addNamespace(namespace) + 'pods').then(result => { + return result.items; + }); } getPodsByLabel(namespace, labels) { - return this._get('/api/v1/' + addNamespace(namespace) + 'pods?labelSelector=' + addLabels(labels)) - .then(result => { - return result.items; - }); + return this._get('/api/v1/' + addNamespace(namespace) + 'pods?labelSelector=' + addLabels(labels)).then(result => { + return result.items; + }); } getPod(name) { - return this._get('/api/v1/pods/?fieldSelector=metadata.name%3D' + name) - .then(result => { + return this._get('/api/v1/pods/?fieldSelector=metadata.name%3D' + name).then(result => { if (result.items && result.items.length === 1) { return result.items[0]; } else { @@ -116,99 +112,103 @@ export class K8sDatasource { } getPodsByName(names) { - const promises = []; + const promises: any[] = []; if (Array.isArray(names)) { _.forEach(names, name => { promises.push(this.getPod(name)); }); return this.$q.all(promises); } else { - return this.getPod(names) - .then(pod => { + return this.getPod(names).then(pod => { return [pod]; }); } } query(options) { - throw new Error("Query Support not implemented yet."); + throw new Error('Query Support not implemented yet.'); } annotationQuery(options) { - throw new Error("Annotation Support not implemented yet."); + throw new Error('Annotation Support not implemented yet.'); } metricFindQuery(query: string) { - let promises: any[] = []; + const promises: any[] = []; let namespaces: string[]; if (!query) { return Promise.resolve([]); } - let interpolated = this.templateSrv.replace(query, {}); - let query_list = interpolated.split(" "); + const interpolated = this.templateSrv.replace(query, {}); + const query_list = interpolated.split(' '); if (query_list.length > 1) { - namespaces = query_list[1].replace("{", "").replace("}", "").split(",") + namespaces = query_list[1] + .replace('{', '') + .replace('}', '') + .split(','); } else { - namespaces = [""] //Gets all pods/deployments + namespaces = ['']; //Gets all pods/deployments } switch (query_list[0]) { case 'pod': - for (let ns of namespaces) { - promises.push(this.getPods(ns)) + for (const ns of namespaces) { + promises.push(this.getPods(ns)); } - return Promise.all(promises).then((res) => { - let data: any[] = []; - let pods = _.flatten(res).filter(n => n) - for (let pod of pods) { + return Promise.all(promises).then(res => { + const data: any[] = []; + const pods = _.flatten(res).filter(n => n); + for (const pod of pods) { data.push({ text: pod.metadata.name, value: pod.metadata.name, }); } - return data - }) + return data; + }); case 'deployment': - for (let ns of namespaces) { - promises.push(this.getDeployments(ns)) + for (const ns of namespaces) { + promises.push(this.getDeployments(ns)); } - return Promise.all(promises).then((res) => { - let data: any[] = []; - let deployments = _.flatten(res).filter(n => n) - for (let deployment of deployments) { + return Promise.all(promises).then(res => { + const data: any[] = []; + const deployments = _.flatten(res).filter(n => n); + for (const deployment of deployments) { data.push({ text: deployment.metadata.name, value: deployment.metadata.name, }); } - return data - }) + return data; + }); case 'namespace': return this.getNamespaces().then(namespaces => { - let data: any[] = []; - for (let ns of namespaces) { + const data: any[] = []; + for (const ns of namespaces) { data.push({ text: ns.metadata.name, value: ns.metadata.name, }); - }; + } return data; }); case 'node': return this.getNodes().then(nodes => { - let data: any[] = []; - for (let node of nodes) { + const data: any[] = []; + for (const node of nodes) { data.push({ text: node.metadata.name, value: node.metadata.name, }); - }; + } return data; }); case 'datasource': // Returns the prometheus datasource associated with the cluster - return Promise.resolve([{ - text: this.ds, - value: this.ds, - }]); + return Promise.resolve([ + { + text: this.ds, + value: this.ds, + }, + ]); } } } diff --git a/src/datasource/module.ts b/src/datasource/module.ts index 8246907..90654dd 100644 --- a/src/datasource/module.ts +++ b/src/datasource/module.ts @@ -1,14 +1,8 @@ -/// - -import {K8sDatasource} from './datasource'; -import {K8sQueryCtrl} from './query_ctrl'; +import { K8sDatasource } from './datasource'; +import { K8sQueryCtrl } from './query_ctrl'; class K8sConfigCtrl { - static templateUrl = 'datasource/partials/config.html'; + static templateUrl = 'datasource/partials/config.html'; } -export { - K8sDatasource as Datasource, - K8sQueryCtrl as QueryCtrl, - K8sConfigCtrl as ConfigCtrl -}; \ No newline at end of file +export { K8sDatasource as Datasource, K8sQueryCtrl as QueryCtrl, K8sConfigCtrl as ConfigCtrl }; diff --git a/src/datasource/query_ctrl.ts b/src/datasource/query_ctrl.ts index 0bdcabb..6c9e7d9 100644 --- a/src/datasource/query_ctrl.ts +++ b/src/datasource/query_ctrl.ts @@ -1,15 +1,13 @@ -/// import _ from 'lodash'; -import {QueryCtrl} from 'app/plugins/sdk'; +import { QueryCtrl } from 'grafana/app/plugins/sdk'; export class K8sQueryCtrl extends QueryCtrl { static templateUrl = 'datasource/partials/query.editor.html'; - defaults = { - }; + defaults = {}; - /** @ngInject **/ - constructor($scope, $injector, private templateSrv) { + /** @ngInject */ + constructor($scope, $injector) { super($scope, $injector); _.defaultsDeep(this.target, this.defaults); @@ -25,4 +23,4 @@ export class K8sQueryCtrl extends QueryCtrl { onChangeInternal() { this.panelCtrl.refresh(); // Asks the panel to refresh data. } -} \ No newline at end of file +} diff --git a/src/module.ts b/src/module.ts index 0cec6ec..8e1c66e 100644 --- a/src/module.ts +++ b/src/module.ts @@ -1,23 +1,15 @@ -import {KubernetesConfigCtrl} from './components/config/config'; -import {ClustersCtrl} from './components/clusters/clusters'; -import {ClusterConfigCtrl} from './components/clusters/clusterConfig'; -import {ClusterInfoCtrl} from './components/clusters/clusterInfo'; -import {ClusterWorkloadsCtrl} from './components/clusters/clusterWorkloads'; -import {NodeInfoCtrl} from './components/clusters/nodeInfo'; -import {PodInfoCtrl} from './components/clusters/podInfo'; -import {loadPluginCss} from 'app/plugins/sdk'; +import { KubernetesConfigCtrl } from './components/config/config'; +import { ClustersCtrl } from './components/clusters/clusters'; +import { ClusterConfigCtrl } from './components/clusters/clusterConfig'; +import { ClusterInfoCtrl } from './components/clusters/clusterInfo'; +import { ClusterWorkloadsCtrl } from './components/clusters/clusterWorkloads'; +import { NodeInfoCtrl } from './components/clusters/nodeInfo'; +import { PodInfoCtrl } from './components/clusters/podInfo'; +import { loadPluginCss } from 'grafana/app/plugins/sdk'; loadPluginCss({ - dark: 'plugins/grafana-kubernetes-app/css/dark.css', - light: 'plugins/grafana-kubernetes-app/css/light.css' + dark: 'plugins/grafana-kubernetes-app/styles/dark.css', + light: 'plugins/grafana-kubernetes-app/styles/light.css', }); -export { - KubernetesConfigCtrl as ConfigCtrl, - ClustersCtrl, - ClusterConfigCtrl, - ClusterInfoCtrl, - ClusterWorkloadsCtrl, - NodeInfoCtrl, - PodInfoCtrl -}; +export { KubernetesConfigCtrl as ConfigCtrl, ClustersCtrl, ClusterConfigCtrl, ClusterInfoCtrl, ClusterWorkloadsCtrl, NodeInfoCtrl, PodInfoCtrl }; diff --git a/src/panels/nodeData/module.ts b/src/panels/nodeData/module.ts index ca3bf6d..cd48b06 100644 --- a/src/panels/nodeData/module.ts +++ b/src/panels/nodeData/module.ts @@ -1,13 +1,9 @@ -/// - -import {NodeDataCtrl} from './nodeData'; -import {loadPluginCss} from 'app/plugins/sdk'; +import { NodeDataCtrl } from './nodeData'; +import { loadPluginCss } from 'grafana/app/plugins/sdk'; loadPluginCss({ dark: 'plugins/grafana-kubernetes-app/css/dark.css', - light: 'plugins/grafana-kubernetes-app/css/light.css' + light: 'plugins/grafana-kubernetes-app/css/light.css', }); -export { - NodeDataCtrl as PanelCtrl -}; +export { NodeDataCtrl as PanelCtrl }; diff --git a/src/panels/nodeData/nodeData.ts b/src/panels/nodeData/nodeData.ts index 649656e..c06cda2 100644 --- a/src/panels/nodeData/nodeData.ts +++ b/src/panels/nodeData/nodeData.ts @@ -1,12 +1,9 @@ -/// - import moment from 'moment'; -import {PanelCtrl} from 'app/plugins/sdk'; +import { PanelCtrl } from 'grafana/app/plugins/sdk'; import _ from 'lodash'; import NodeStatsDatasource from './nodeStats'; -const panelDefaults = { -}; +const panelDefaults = {}; export class NodeDataCtrl extends PanelCtrl { templateVariables: any; @@ -18,17 +15,16 @@ export class NodeDataCtrl extends PanelCtrl { isInListMode: boolean; nodes: any[]; - static templateUrl = 'panels/nodeData/partials/node_info.html'; static scrollable = true; /** @ngInject */ - constructor($scope, $injector, private backendSrv, private datasourceSrv, private $location, private alertSrv, private timeSrv, private variableSrv) { + constructor($scope, $injector, private backendSrv, private datasourceSrv, private alertSrv, private variableSrv) { super($scope, $injector); _.defaults(this.panel, panelDefaults); this.templateVariables = this.variableSrv.variables; - this.nodeStatsDatasource = new NodeStatsDatasource(datasourceSrv, timeSrv); + this.nodeStatsDatasource = new NodeStatsDatasource(datasourceSrv); document.title = 'Grafana Kubernetes App'; this.pageReady = false; @@ -43,47 +39,48 @@ export class NodeDataCtrl extends PanelCtrl { } loadCluster() { - const cluster = _.find(this.templateVariables, {'name': 'cluster'}); + const cluster = _.find(this.templateVariables, { name: 'cluster' }); if (!cluster) { - this.alertSrv.set("no cluster specified.", "no cluster specified in url", 'error'); + this.alertSrv.set('no cluster specified.', 'no cluster specified in url', 'error'); return; } else { const cluster_id = cluster.current.value; - const nodeVar = _.find(this.templateVariables, {'name': 'node'}); - const node_name = nodeVar.current.value !== '$__all' ? nodeVar.current.value : 'All'; - const prometheusDS = _.find(this.templateVariables, {'name': 'datasource'}).current.value; - - this.loadDatasource(cluster_id).then(() => { - return this.nodeStatsDatasource.getNodeStats(cluster_id, prometheusDS); - }).then(nodeStats => { - if (node_name === 'All') { - this.isInListMode = true; - this.clusterDS.getNodes().then(nodes => { - this.nodes = _.map(nodes, node => { - node.healthState = this.getNodeHealth(node); - this.nodeStatsDatasource.updateNodeWithStats(node, nodeStats); - - return node; + const nodeVar = _.find(this.templateVariables, { name: 'node' }); + const node_name = nodeVar.current.value !== '$__all' ? nodeVar.current.value : 'All'; + const prometheusDS = _.find(this.templateVariables, { name: 'datasource' }).current.value; + + this.loadDatasource(cluster_id) + .then(() => { + return this.nodeStatsDatasource.getNodeStats(cluster_id, prometheusDS); + }) + .then(nodeStats => { + if (node_name === 'All') { + this.isInListMode = true; + this.clusterDS.getNodes().then(nodes => { + this.nodes = _.map(nodes, node => { + node.healthState = this.getNodeHealth(node); + this.nodeStatsDatasource.updateNodeWithStats(node, nodeStats); + + return node; + }); }); - }); - } else { - this.isInListMode = false; - this.clusterDS.getNode(node_name).then(node => { - this.node = node; - this.pageReady = true; - }); - } - }); + } else { + this.isInListMode = false; + this.clusterDS.getNode(node_name).then(node => { + this.node = node; + this.pageReady = true; + }); + } + }); } } getNodeHealth(node) { - let health = "unhealthy"; + let health = 'unhealthy'; let message = ''; _.forEach(node.status.conditions, condition => { - if (condition.type === "Ready" && - condition.status === "True") { - health = "ok"; + if (condition.type === 'Ready' && condition.status === 'True') { + health = 'ok'; } else { message = condition.message; } @@ -106,18 +103,24 @@ export class NodeDataCtrl extends PanelCtrl { text: 'UNHEALTHY', iconClass: 'icon-gf icon-gf-critical', stateClass: 'alert-state-critical', - message: message || '' + message: message || '', }; } case 'warning': { return { text: 'warning', - iconClass: "icon-gf icon-gf-critical", + iconClass: 'icon-gf icon-gf-critical', stateClass: 'alert-state-warning', - message: message || '' + message: message || '', }; } } + return { + text: 'warning', + iconClass: 'icon-gf icon-gf-critical', + stateClass: 'alert-state-warning', + message: 'Unknown state: ' + health, + }; } refresh() { @@ -125,27 +128,29 @@ export class NodeDataCtrl extends PanelCtrl { } loadDatasource(id) { - return this.backendSrv.get('api/datasources') + return this.backendSrv + .get('api/datasources') .then(result => { - return _.filter(result, {"type": "grafana-kubernetes-datasource", "name": id})[0]; + return _.filter(result, { type: 'grafana-kubernetes-datasource', name: id })[0]; }) .then(ds => { if (!ds) { - this.alertSrv.set("Failed to connect", "Could not connect to the specified cluster.", 'error'); - throw "Failed to connect to " + id; + this.alertSrv.set('Failed to connect', 'Could not connect to the specified cluster.', 'error'); + throw new Error('Failed to connect to ' + id); } this.cluster = ds; return this.datasourceSrv.get(ds.name); - }).then(clusterDS => { + }) + .then(clusterDS => { this.clusterDS = clusterDS; return clusterDS; }); } goToNodeDashboard(node) { - const variable = _.find(this.templateVariables, {'name': 'node'}); - variable.current.text = node === 'All' ? 'All': node.metadata.name; - variable.current.value = node === 'All' ? '$__all': node.metadata.name; + const variable = _.find(this.templateVariables, { name: 'node' }); + variable.current.text = node === 'All' ? 'All' : node.metadata.name; + variable.current.value = node === 'All' ? '$__all' : node.metadata.name; this.variableSrv.variableUpdated(variable).then(() => { this.$scope.$emit('template-variable-value-updated'); @@ -154,16 +159,16 @@ export class NodeDataCtrl extends PanelCtrl { } conditionStatus(condition) { - var status; - if (condition.type === "Ready") { - status = condition.status === "True"; + let status; + if (condition.type === 'Ready') { + status = condition.status === 'True'; } else { - status = condition.status === "False"; + status = condition.status === 'False'; } return { value: status, - text: status ? "Ok" : "Error" + text: status ? 'Ok' : 'Error', }; } diff --git a/src/panels/nodeData/nodeStats.ts b/src/panels/nodeData/nodeStats.ts index ee5e091..b1f9869 100644 --- a/src/panels/nodeData/nodeStats.ts +++ b/src/panels/nodeData/nodeStats.ts @@ -1,23 +1,23 @@ -/// - -import kbn from 'app/core/utils/kbn'; +import kbn from 'grafana/app/core/utils/kbn'; import _ from 'lodash'; import moment from 'moment'; export default class NodeStatsDatasource { - constructor(private datasourceSrv, private timeSrv) {} + constructor(private datasourceSrv) {} issuePrometheusQuery(prometheusDS, query) { - return this.datasourceSrv.get(prometheusDS) - .then((datasource) => { - var metricsQuery = { + return this.datasourceSrv + .get(prometheusDS) + .then(datasource => { + const metricsQuery = { range: { from: moment().subtract(5, 'minute'), to: moment() }, targets: [{ expr: query.expr, format: 'time_series' }], legendFormat: query.legend, interval: '60s', }; return datasource.query(metricsQuery); - }).then((result) => { + }) + .then(result => { if (result && result.data) { return result.data; } @@ -30,60 +30,64 @@ export default class NodeStatsDatasource { const podQuery = { expr: 'sum(label_join(kubelet_running_pod_count, "node", "", "kubernetes_io_hostname")) by (node)', - legend: "{{node}}", + legend: '{{node}}', }; const cpuQuery = { expr: 'sum(kube_pod_container_resource_requests_cpu_cores) by (node)', - legend: "{{node}}", + legend: '{{node}}', }; const memoryQuery = { expr: 'sum(kube_pod_container_resource_requests_memory_bytes) by (node)', - legend: "{{node}}", + legend: '{{node}}', }; return this.issuePrometheusQuery(prometheusDS, podQuery) .then(data => { podsPerNode = data; return; - }).then(() => { + }) + .then(() => { return this.issuePrometheusQuery(prometheusDS, cpuQuery); }) .then(data => { cpuPerNode = data; return; - }).then(() => { + }) + .then(() => { return this.issuePrometheusQuery(prometheusDS, memoryQuery); }) .then(data => { memoryPerNode = data; - return {podsPerNode, cpuPerNode, memoryPerNode}; + return { podsPerNode, cpuPerNode, memoryPerNode }; }); } updateNodeWithStats(node, nodeStats) { - var formatFunc = kbn.valueFormats['percentunit']; + const formatFunc = kbn.valueFormats['percentunit']; const nodeName = node.metadata.name; - const findFunction = function(o) {return o.target.substring(7, o.target.length - 2) === nodeName;}; + const findFunction = function(o) { + return o.target.substring(7, o.target.length - 2) === nodeName; + }; const podsUsedData = _.find(nodeStats.podsPerNode, findFunction); if (podsUsedData) { - node.podsUsed = _.last(podsUsedData.datapoints)[0]; + node.podsUsed = _.last(podsUsedData.datapoints) as any[0]; node.podsUsedPerc = formatFunc(node.podsUsed / node.status.capacity.pods, 2, 5); } const cpuData = _.find(nodeStats.cpuPerNode, findFunction); if (cpuData) { - node.cpuUsage = _.last(cpuData.datapoints)[0]; + node.cpuUsage = _.last(cpuData.datapoints) as any[0]; node.cpuUsageFormatted = kbn.valueFormats['none'](node.cpuUsage, 2, null); node.cpuUsagePerc = formatFunc(node.cpuUsage / node.status.capacity.cpu, 2, 5); } const memData = _.find(nodeStats.memoryPerNode, findFunction); if (memData) { - node.memoryUsage = _.last(memData.datapoints)[0]; - const memCapacity = node.status.capacity.memory.substring(0, node.status.capacity.memory.length - 2) * 1000; + node.memoryUsage = _.last(memData.datapoints) as any[0]; + const memCapacity = node.status.capacity.memory.substring(0, node.status.capacity.memory.length - 2) * 1000; node.memUsageFormatted = kbn.valueFormats['bytes'](node.memoryUsage, 2, null); node.memCapacityFormatted = kbn.valueFormats['bytes'](memCapacity, 2, null); - node.memoryUsagePerc = formatFunc((node.memoryUsage / memCapacity), 2, 5); + node.memoryUsagePerc = formatFunc(node.memoryUsage / memCapacity, 2, 5); } return node; diff --git a/src/panels/podNav/module.ts b/src/panels/podNav/module.ts index d26771b..70c8505 100644 --- a/src/panels/podNav/module.ts +++ b/src/panels/podNav/module.ts @@ -1,13 +1,9 @@ -/// - -import {PodNavCtrl} from './podNav'; -import {loadPluginCss} from 'app/plugins/sdk'; +import { PodNavCtrl } from './podNav'; +import { loadPluginCss } from 'grafana/app/plugins/sdk'; loadPluginCss({ dark: 'plugins/grafana-kubernetes-app/css/dark.css', - light: 'plugins/grafana-kubernetes-app/css/light.css' + light: 'plugins/grafana-kubernetes-app/css/light.css', }); -export { - PodNavCtrl as PanelCtrl -}; +export { PodNavCtrl as PanelCtrl }; diff --git a/src/panels/podNav/podNav.test.ts b/src/panels/podNav/podNav.test.ts new file mode 100644 index 0000000..d99531c --- /dev/null +++ b/src/panels/podNav/podNav.test.ts @@ -0,0 +1,6 @@ +describe('Simple Test', () => { + it('should render component', () => { + // Just a dummy test now + expect(1).toEqual(1); + }); +}); diff --git a/src/panels/podNav/podNav.ts b/src/panels/podNav/podNav.ts index cff6037..690c58a 100644 --- a/src/panels/podNav/podNav.ts +++ b/src/panels/podNav/podNav.ts @@ -1,10 +1,7 @@ -/// - -import {PanelCtrl} from 'app/plugins/sdk'; +import { PanelCtrl } from 'grafana/app/plugins/sdk'; import _ from 'lodash'; -const panelDefaults = { -}; +const panelDefaults = {}; export class PodNavCtrl extends PanelCtrl { templateVariables: any; @@ -13,18 +10,17 @@ export class PodNavCtrl extends PanelCtrl { currentPods: any[]; selectedPods: any; chosenTags: any; - clusterName: string; + clusterName = ''; clusterDS: any; - static templateUrl = 'panels/podNav/partials/pod_nav.html'; - constructor($scope, $injector, private backendSrv, private datasourceSrv, private $location, private alertSrv, private variableSrv, private $q) { + constructor($scope, $injector, private backendSrv, private datasourceSrv, $location, private alertSrv, private variableSrv, private $q) { super($scope, $injector); _.defaults(this.panel, panelDefaults); this.templateVariables = this.variableSrv.variables; - this.namespace = "All"; + this.namespace = 'All'; this.currentTags = {}; this.currentPods = []; this.selectedPods = []; @@ -47,17 +43,20 @@ export class PodNavCtrl extends PanelCtrl { } needsRefresh() { - const cluster = _.find(this.templateVariables, {'name': 'cluster'}); - const ns = _.find(this.templateVariables, {'name': 'namespace'}); + const cluster = _.find(this.templateVariables, { name: 'cluster' }); + const ns = _.find(this.templateVariables, { name: 'namespace' }); - if (this.clusterName !== cluster.current.value) { return true; } + if (this.clusterName !== cluster.current.value) { + return true; + } - if ((ns.current.value === '$__all' || ns.current.value[0] === '$__all') - && (this.namespace === ns.current.value || this.namespace === '')) { + if ((ns.current.value === '$__all' || ns.current.value[0] === '$__all') && (this.namespace === ns.current.value || this.namespace === '')) { return false; } - if (ns.current.value !== this.namespace) { return true; } + if (ns.current.value !== this.namespace) { + return true; + } return false; } @@ -66,21 +65,21 @@ export class PodNavCtrl extends PanelCtrl { this.getCluster().then(() => { return this.getPods().then(pods => { this.parseTagsFromPods(pods); - this.currentPods = _.uniq(_.map(pods, p => { return p.metadata.name; })); + this.currentPods = _.uniq(_.map(pods, p => p.metadata.name)); }); }); } setDefaults() { - const cluster = _.find(this.templateVariables, {'name': 'cluster'}); + const cluster = _.find(this.templateVariables, { name: 'cluster' }); if (!cluster) { - this.alertSrv.set("no cluster specified.", "no cluster specified in url", 'error'); + this.alertSrv.set('no cluster specified.', 'no cluster specified in url', 'error'); return; } - const ns = _.find(this.templateVariables, {'name': 'namespace'}); + const ns = _.find(this.templateVariables, { name: 'namespace' }); this.namespace = ns.current.value !== '$__all' && ns.current.value[0] !== '$__all' ? ns.current.value : ''; - const podVariable = _.find(this.templateVariables, {'name': 'pod'}); + const podVariable = _.find(this.templateVariables, { name: 'pod' }); if (podVariable.current.value !== '$__all') { this.selectedPods = _.isArray(podVariable.current.value) ? podVariable.current.value : [podVariable.current.value]; @@ -90,12 +89,11 @@ export class PodNavCtrl extends PanelCtrl { getPods() { if (this.currentPods.length === 0) { if (_.isArray(this.namespace)) { - const promises = []; + const promises: any[] = []; _.forEach(this.namespace, ns => { promises.push(this.clusterDS.getPods(ns)); }); - return this.$q.all(promises) - .then(pods => { + return this.$q.all(promises).then(pods => { return _.flatten(pods).filter(n => n); }); } else { @@ -125,9 +123,8 @@ export class PodNavCtrl extends PanelCtrl { this.removeEmptyTags(); this.selectedPods = []; - this.getPodsByLabel() - .then(pods => { - this.currentPods = _.uniq(_.map(pods, p => { return p.metadata.name; })); + this.getPodsByLabel().then(pods => { + this.currentPods = _.uniq(_.map(pods, p => p.metadata.name)); this.parseTagsFromPods(pods); this.updateTemplateVariableWithPods(); }); @@ -135,12 +132,11 @@ export class PodNavCtrl extends PanelCtrl { getPodsByLabel() { if (_.isArray(this.namespace)) { - const promises = []; + const promises: any[] = []; _.forEach(this.namespace, ns => { promises.push(this.clusterDS.getPodsByLabel(ns, this.chosenTags)); }); - return this.$q.all(promises) - .then(pods => { + return this.$q.all(promises).then(pods => { return _.flatten(pods).filter(n => n); }); } else { @@ -149,14 +145,14 @@ export class PodNavCtrl extends PanelCtrl { } updateTemplateVariableWithPods() { - const variable = _.find(this.templateVariables, {'name': 'pod'}); + const variable = _.find(this.templateVariables, { name: 'pod' }); if (this.selectedPods.length > 0) { variable.current.text = this.selectedPods.join(' + '); variable.current.value = this.selectedPods; } else { - variable.current.text = _.isEmpty(this.chosenTags) ? 'All': this.currentPods.join(' + '); - variable.current.value = _.isEmpty(this.chosenTags) ? ['.+']: this.currentPods; + variable.current.text = _.isEmpty(this.chosenTags) ? 'All' : this.currentPods.join(' + '); + variable.current.value = _.isEmpty(this.chosenTags) ? ['.+'] : this.currentPods; } this.variableSrv.updateOptions(variable).then(() => { @@ -168,37 +164,38 @@ export class PodNavCtrl extends PanelCtrl { } removeEmptyTags() { - this.chosenTags = _.omitBy(this.chosenTags, val => { return !val;}); + this.chosenTags = _.omitBy(this.chosenTags, val => !val); } getCluster() { - const clusterName = _.find(this.templateVariables, {'name': 'cluster'}).current.value; + const clusterName = _.find(this.templateVariables, { name: 'cluster' }).current.value; this.clusterName = clusterName; - return this.backendSrv.get('/api/datasources') - .then(result => { - return _.filter(result, {"name": clusterName})[0]; - }) - .then((ds) => { - if (!ds) { - this.alertSrv.set("Failed to connect", "Could not connect to the specified cluster.", 'error'); - throw "Failed to connect to " + clusterName; - } + return this.backendSrv + .get('/api/datasources') + .then(result => { + return _.filter(result, { name: clusterName })[0]; + }) + .then(ds => { + if (!ds) { + this.alertSrv.set('Failed to connect', 'Could not connect to the specified cluster.', 'error'); + throw new Error('Failed to connect to ' + clusterName); + } - if (!(ds.jsonData.ds)) { - ds.jsonData.ds = ""; - } - return this.datasourceSrv.get(ds.name); - }).then(clusterDS => { - this.clusterDS = clusterDS; - }); + if (!ds.jsonData.ds) { + ds.jsonData.ds = ''; + } + return this.datasourceSrv.get(ds.name); + }) + .then(clusterDS => { + this.clusterDS = clusterDS; + }); } removeTag(tag) { delete this.chosenTags[tag]; - this.getPodsByLabel() - .then(pods => { - this.currentPods = _.uniq(_.map(pods, p => { return p.metadata.name; })); + this.getPodsByLabel().then(pods => { + this.currentPods = _.uniq(_.map(pods, p => p.metadata.name)); this.parseTagsFromPods(pods); this.updateTemplateVariableWithPods(); }); @@ -215,7 +212,7 @@ export class PodNavCtrl extends PanelCtrl { } removePodTag(podName) { - _.remove(this.selectedPods, p => { return p === podName;}); + _.remove(this.selectedPods, p => p === podName); this.updateTemplateVariableWithPods(); if (this.selectedPods.length === 0) { diff --git a/src/plugin.json b/src/plugin.json index 1fff226..b6ccb0f 100644 --- a/src/plugin.json +++ b/src/plugin.json @@ -30,8 +30,8 @@ {"name": "Pod Details Page", "path": "img/pod-details-screenshot.png"}, {"name": "Namespace Details Page", "path": "img/namespace-details-screenshot.png"} ], - "version": "1.0.1", - "updated": "2018-01-18" + "version": "%VERSION%", + "updated": "%TODAY%" }, "includes": [ @@ -80,7 +80,7 @@ ], "dependencies": { - "grafanaVersion": "5.0+", + "grafanaVersion": "6.3+", "plugins": [] } } diff --git a/dist/css/dark.css b/src/styles/dark.css similarity index 100% rename from dist/css/dark.css rename to src/styles/dark.css diff --git a/dist/css/light.css b/src/styles/light.css similarity index 95% rename from dist/css/light.css rename to src/styles/light.css index a3da234..9c36157 100644 --- a/dist/css/light.css +++ b/src/styles/light.css @@ -1,5 +1,5 @@ tr.dashlist-item:hover { - background-color: #ECECEC; + background-color: #ececec; cursor: pointer; } @@ -53,7 +53,7 @@ tr.dashlist-item:hover { } .podnav-result:hover { - background-color: #ECECEC; + background-color: #ececec; cursor: pointer; } diff --git a/tsconfig.json b/tsconfig.json index 1ca691c..dd6f4c6 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,15 +1,9 @@ { - "compileOnSave": false, + "extends": "./node_modules/@grafana/toolkit/src/config/tsconfig.plugin.json", + "include": ["src", "types"], "compilerOptions": { - "target": "ES5", - "module": "system", - "sourceMap": true, - "declaration": true, - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - "noImplicitAny": false - }, - "exclude": [ - "./node_modules/**" - ] + "rootDir": "./src", + "typeRoots": ["./node_modules/@types"], + "noImplicitAny": false + } } \ No newline at end of file diff --git a/tslint.json b/tslint.json index 13af9f2..886a040 100644 --- a/tslint.json +++ b/tslint.json @@ -1,61 +1,13 @@ { - "rules": { - "class-name": true, - "comment-format": [false, "check-space"], - "curly": true, - "eofline": true, - "forin": false, - "indent": [true, "spaces"], - "label-position": true, - "label-undefined": true, - "max-line-length": [true, 140], - "member-access": false, - "no-arg": true, - "no-bitwise": true, - "no-console": [true, - "debug", - "info", - "time", - "timeEnd", - "trace" - ], - "no-construct": true, - "no-debugger": true, - "no-duplicate-key": true, - "no-duplicate-variable": true, - "no-empty": false, - "no-eval": true, - "no-inferrable-types": true, - "no-shadowed-variable": false, - "no-string-literal": false, - "no-switch-case-fall-through": false, - "no-trailing-whitespace": true, - "no-unused-expression": false, - "no-unused-variable": false, - "no-unreachable": true, - "no-use-before-declare": true, - "no-var-keyword": false, - "object-literal-sort-keys": false, - "one-line": [true, - "check-open-brace", - "check-catch", - "check-else" - ], - "radix": false, - "semicolon": true, - "triple-equals": [true, "allow-null-check"], - "typedef-whitespace": [true, { - "call-signature": "nospace", - "index-signature": "nospace", - "parameter": "nospace", - "property-declaration": "nospace", - "variable-declaration": "nospace" - }], - "variable-name": [true, "ban-keywords"], - "whitespace": [true, - "check-branch", - "check-decl", - "check-type" + "extends": "./node_modules/@grafana/toolkit/src/config/tslint.plugin.json", + "rules": { + "only-arrow-functions": false, + "variable-name": { + "options": [ + "ban-keywords", + "check-format", + "allow-snake-case" ] } - } \ No newline at end of file + } +} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 0453bb2..d20206b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,2355 +2,9835 @@ # yarn lockfile v1 -abbrev@1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" +"@babel/code-frame@7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8" + integrity sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA== + dependencies: + "@babel/highlight" "^7.0.0" + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.5.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d" + integrity sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw== + dependencies: + "@babel/highlight" "^7.0.0" + +"@babel/core@7.4.5": + version "7.4.5" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.4.5.tgz#081f97e8ffca65a9b4b0fdc7e274e703f000c06a" + integrity sha512-OvjIh6aqXtlsA8ujtGKfC7LYWksYSX8yQcM8Ay3LuvVeQ63lcOKgoZWVqcpFwkd29aYU9rVx7jxhfhiEDV9MZA== + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/generator" "^7.4.4" + "@babel/helpers" "^7.4.4" + "@babel/parser" "^7.4.5" + "@babel/template" "^7.4.4" + "@babel/traverse" "^7.4.5" + "@babel/types" "^7.4.4" + convert-source-map "^1.1.0" + debug "^4.1.0" + json5 "^2.1.0" + lodash "^4.17.11" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" + +"@babel/core@^7.1.0": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.5.5.tgz#17b2686ef0d6bc58f963dddd68ab669755582c30" + integrity sha512-i4qoSr2KTtce0DmkuuQBV4AuQgGPUcPXMr9L5MyYAtk06z068lQ10a4O009fe5OB/DfNV+h+qqT7ddNV8UnRjg== + dependencies: + "@babel/code-frame" "^7.5.5" + "@babel/generator" "^7.5.5" + "@babel/helpers" "^7.5.5" + "@babel/parser" "^7.5.5" + "@babel/template" "^7.4.4" + "@babel/traverse" "^7.5.5" + "@babel/types" "^7.5.5" + convert-source-map "^1.1.0" + debug "^4.1.0" + json5 "^2.1.0" + lodash "^4.17.13" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" + +"@babel/generator@^7.4.0", "@babel/generator@^7.4.4", "@babel/generator@^7.5.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.5.5.tgz#873a7f936a3c89491b43536d12245b626664e3cf" + integrity sha512-ETI/4vyTSxTzGnU2c49XHv2zhExkv9JHLTwDAFz85kmcwuShvYG2H08FwgIguQf4JC75CBnXAUM5PqeF4fj0nQ== + dependencies: + "@babel/types" "^7.5.5" + jsesc "^2.5.1" + lodash "^4.17.13" + source-map "^0.5.0" + trim-right "^1.0.1" -ajv@^4.9.1: - version "4.11.8" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" +"@babel/helper-annotate-as-pure@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz#323d39dd0b50e10c7c06ca7d7638e6864d8c5c32" + integrity sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q== dependencies: - co "^4.6.0" - json-stable-stringify "^1.0.1" + "@babel/types" "^7.0.0" -ajv@^5.1.0: - version "5.5.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" +"@babel/helper-builder-binary-assignment-operator-visitor@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz#6b69628dfe4087798e0c4ed98e3d4a6b2fbd2f5f" + integrity sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w== dependencies: - co "^4.6.0" - fast-deep-equal "^1.0.0" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.3.0" + "@babel/helper-explode-assignable-expression" "^7.1.0" + "@babel/types" "^7.0.0" -align-text@^0.1.1, align-text@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" +"@babel/helper-call-delegate@^7.4.4": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz#87c1f8ca19ad552a736a7a27b1c1fcf8b1ff1f43" + integrity sha512-l79boDFJ8S1c5hvQvG+rc+wHw6IuH7YldmRKsYtpbawsxURu/paVy57FZMomGK22/JckepaikOkY0MoAmdyOlQ== dependencies: - kind-of "^3.0.2" - longest "^1.0.1" - repeat-string "^1.5.2" + "@babel/helper-hoist-variables" "^7.4.4" + "@babel/traverse" "^7.4.4" + "@babel/types" "^7.4.4" -amdefine@>=0.0.4: - version "1.0.1" - resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" +"@babel/helper-define-map@^7.5.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz#3dec32c2046f37e09b28c93eb0b103fd2a25d369" + integrity sha512-fTfxx7i0B5NJqvUOBBGREnrqbTxRh7zinBANpZXAVDlsZxYdclDp467G1sQ8VZYMnAURY3RpBUAgOYT9GfzHBg== + dependencies: + "@babel/helper-function-name" "^7.1.0" + "@babel/types" "^7.5.5" + lodash "^4.17.13" -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" +"@babel/helper-explode-assignable-expression@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz#537fa13f6f1674df745b0c00ec8fe4e99681c8f6" + integrity sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA== + dependencies: + "@babel/traverse" "^7.1.0" + "@babel/types" "^7.0.0" -ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" +"@babel/helper-function-name@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz#a0ceb01685f73355d4360c1247f582bfafc8ff53" + integrity sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw== + dependencies: + "@babel/helper-get-function-arity" "^7.0.0" + "@babel/template" "^7.1.0" + "@babel/types" "^7.0.0" -anymatch@^1.3.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a" +"@babel/helper-get-function-arity@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3" + integrity sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ== dependencies: - micromatch "^2.1.5" - normalize-path "^2.0.0" + "@babel/types" "^7.0.0" -aproba@^1.0.3: - version "1.2.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" +"@babel/helper-hoist-variables@^7.4.4": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz#0298b5f25c8c09c53102d52ac4a98f773eb2850a" + integrity sha512-VYk2/H/BnYbZDDg39hr3t2kKyifAm1W6zHRfhx8jGjIHpQEBv9dry7oQ2f3+J703TLu69nYdxsovl0XYfcnK4w== + dependencies: + "@babel/types" "^7.4.4" -are-we-there-yet@~1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d" +"@babel/helper-member-expression-to-functions@^7.5.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.5.5.tgz#1fb5b8ec4453a93c439ee9fe3aeea4a84b76b590" + integrity sha512-5qZ3D1uMclSNqYcXqiHoA0meVdv+xUEex9em2fqMnrk/scphGlGgg66zjMrPJESPwrFJ6sbfFQYUSa0Mz7FabA== dependencies: - delegates "^1.0.0" - readable-stream "^2.0.6" + "@babel/types" "^7.5.5" -argparse@^1.0.2: - version "1.0.9" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86" +"@babel/helper-module-imports@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz#96081b7111e486da4d2cd971ad1a4fe216cc2e3d" + integrity sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A== dependencies: - sprintf-js "~1.0.2" + "@babel/types" "^7.0.0" -arr-diff@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" +"@babel/helper-module-transforms@^7.1.0", "@babel/helper-module-transforms@^7.4.4": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.5.5.tgz#f84ff8a09038dcbca1fd4355661a500937165b4a" + integrity sha512-jBeCvETKuJqeiaCdyaheF40aXnnU1+wkSiUs/IQg3tB85up1LyL8x77ClY8qJpuRJUcXQo+ZtdNESmZl4j56Pw== dependencies: - arr-flatten "^1.0.1" + "@babel/helper-module-imports" "^7.0.0" + "@babel/helper-simple-access" "^7.1.0" + "@babel/helper-split-export-declaration" "^7.4.4" + "@babel/template" "^7.4.4" + "@babel/types" "^7.5.5" + lodash "^4.17.13" -arr-flatten@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" +"@babel/helper-optimise-call-expression@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz#a2920c5702b073c15de51106200aa8cad20497d5" + integrity sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g== + dependencies: + "@babel/types" "^7.0.0" -array-differ@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" +"@babel/helper-plugin-utils@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250" + integrity sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA== -array-find-index@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" +"@babel/helper-regex@^7.0.0", "@babel/helper-regex@^7.4.4": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.5.5.tgz#0aa6824f7100a2e0e89c1527c23936c152cab351" + integrity sha512-CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw== + dependencies: + lodash "^4.17.13" -array-union@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" +"@babel/helper-remap-async-to-generator@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz#361d80821b6f38da75bd3f0785ece20a88c5fe7f" + integrity sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.0.0" + "@babel/helper-wrap-function" "^7.1.0" + "@babel/template" "^7.1.0" + "@babel/traverse" "^7.1.0" + "@babel/types" "^7.0.0" + +"@babel/helper-replace-supers@^7.5.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz#f84ce43df031222d2bad068d2626cb5799c34bc2" + integrity sha512-XvRFWrNnlsow2u7jXDuH4jDDctkxbS7gXssrP4q2nUD606ukXHRvydj346wmNg+zAgpFx4MWf4+usfC93bElJg== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.5.5" + "@babel/helper-optimise-call-expression" "^7.0.0" + "@babel/traverse" "^7.5.5" + "@babel/types" "^7.5.5" + +"@babel/helper-simple-access@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz#65eeb954c8c245beaa4e859da6188f39d71e585c" + integrity sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w== dependencies: - array-uniq "^1.0.1" + "@babel/template" "^7.1.0" + "@babel/types" "^7.0.0" -array-uniq@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" +"@babel/helper-split-export-declaration@^7.4.4": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz#ff94894a340be78f53f06af038b205c49d993677" + integrity sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q== + dependencies: + "@babel/types" "^7.4.4" -array-unique@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" +"@babel/helper-wrap-function@^7.1.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz#c4e0012445769e2815b55296ead43a958549f6fa" + integrity sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ== + dependencies: + "@babel/helper-function-name" "^7.1.0" + "@babel/template" "^7.1.0" + "@babel/traverse" "^7.1.0" + "@babel/types" "^7.2.0" -arrify@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" +"@babel/helpers@^7.4.4", "@babel/helpers@^7.5.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.5.5.tgz#63908d2a73942229d1e6685bc2a0e730dde3b75e" + integrity sha512-nRq2BUhxZFnfEn/ciJuhklHvFOqjJUD5wpx+1bxUF2axL9C+v4DE/dmp5sT2dKnpOs4orZWzpAZqlCy8QqE/7g== + dependencies: + "@babel/template" "^7.4.4" + "@babel/traverse" "^7.5.5" + "@babel/types" "^7.5.5" -asn1@~0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" +"@babel/highlight@^7.0.0": + version "7.5.0" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.5.0.tgz#56d11312bd9248fa619591d02472be6e8cb32540" + integrity sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ== + dependencies: + chalk "^2.0.0" + esutils "^2.0.2" + js-tokens "^4.0.0" -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" +"@babel/parser@^7.1.0", "@babel/parser@^7.4.3", "@babel/parser@^7.4.4", "@babel/parser@^7.4.5", "@babel/parser@^7.5.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.5.5.tgz#02f077ac8817d3df4a832ef59de67565e71cca4b" + integrity sha512-E5BN68cqR7dhKan1SfqgPGhQ178bkVKpXTPEXnFJBrEt8/DKRZlybmy+IgYLTeN7tp1R5Ccmbm2rBk17sHYU3g== -assert-plus@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" +"@babel/plugin-proposal-async-generator-functions@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz#b289b306669dce4ad20b0252889a15768c9d417e" + integrity sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-remap-async-to-generator" "^7.1.0" + "@babel/plugin-syntax-async-generators" "^7.2.0" -async-each@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" +"@babel/plugin-proposal-json-strings@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz#568ecc446c6148ae6b267f02551130891e29f317" + integrity sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-json-strings" "^7.2.0" + +"@babel/plugin-proposal-object-rest-spread@^7.4.4": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.5.5.tgz#61939744f71ba76a3ae46b5eea18a54c16d22e58" + integrity sha512-F2DxJJSQ7f64FyTVl5cw/9MWn6naXGdk3Q3UhDbFEEHv+EilCPoeRD3Zh/Utx1CJz4uyKlQ4uH+bJPbEhMV7Zw== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-object-rest-spread" "^7.2.0" + +"@babel/plugin-proposal-optional-catch-binding@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz#135d81edb68a081e55e56ec48541ece8065c38f5" + integrity sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-optional-catch-binding" "^7.2.0" + +"@babel/plugin-proposal-unicode-property-regex@^7.4.4": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.4.tgz#501ffd9826c0b91da22690720722ac7cb1ca9c78" + integrity sha512-j1NwnOqMG9mFUOH58JTFsA/+ZYzQLUZ/drqWUqxCYLGeu2JFZL8YrNC9hBxKmWtAuOCHPcRpgv7fhap09Fb4kA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-regex" "^7.4.4" + regexpu-core "^4.5.4" + +"@babel/plugin-syntax-async-generators@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz#69e1f0db34c6f5a0cf7e2b3323bf159a76c8cb7f" + integrity sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-syntax-json-strings@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz#72bd13f6ffe1d25938129d2a186b11fd62951470" + integrity sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" -async-foreach@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542" +"@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz#3b7a3e733510c57e820b9142a6579ac8b0dfad2e" + integrity sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" -async@^1.5.0, async@^1.5.2, async@~1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" +"@babel/plugin-syntax-optional-catch-binding@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz#a94013d6eda8908dfe6a477e7f9eda85656ecf5c" + integrity sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" -async@~0.2.6: - version "0.2.10" - resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1" +"@babel/plugin-transform-arrow-functions@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz#9aeafbe4d6ffc6563bf8f8372091628f00779550" + integrity sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" +"@babel/plugin-transform-async-to-generator@^7.4.4": + version "7.5.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz#89a3848a0166623b5bc481164b5936ab947e887e" + integrity sha512-mqvkzwIGkq0bEF1zLRRiTdjfomZJDV33AH3oQzHVGkI2VzEmXLpKKOBvEVaFZBJdN0XTyH38s9j/Kiqr68dggg== + dependencies: + "@babel/helper-module-imports" "^7.0.0" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-remap-async-to-generator" "^7.1.0" -aws-sign2@~0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" +"@babel/plugin-transform-block-scoped-functions@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz#5d3cc11e8d5ddd752aa64c9148d0db6cb79fd190" + integrity sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" +"@babel/plugin-transform-block-scoping@^7.4.4": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.5.5.tgz#a35f395e5402822f10d2119f6f8e045e3639a2ce" + integrity sha512-82A3CLRRdYubkG85lKwhZB0WZoHxLGsJdux/cOVaJCJpvYFl1LVzAIFyRsa7CvXqW8rBM4Zf3Bfn8PHt5DP0Sg== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + lodash "^4.17.13" -aws4@^1.2.1, aws4@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" +"@babel/plugin-transform-classes@^7.4.4": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.5.5.tgz#d094299d9bd680a14a2a0edae38305ad60fb4de9" + integrity sha512-U2htCNK/6e9K7jGyJ++1p5XRU+LJjrwtoiVn9SzRlDT2KubcZ11OOwy3s24TjHxPgxNwonCYP7U2K51uVYCMDg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.0.0" + "@babel/helper-define-map" "^7.5.5" + "@babel/helper-function-name" "^7.1.0" + "@babel/helper-optimise-call-expression" "^7.0.0" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-replace-supers" "^7.5.5" + "@babel/helper-split-export-declaration" "^7.4.4" + globals "^11.1.0" -babel-code-frame@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" +"@babel/plugin-transform-computed-properties@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz#83a7df6a658865b1c8f641d510c6f3af220216da" + integrity sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA== dependencies: - chalk "^1.1.3" - esutils "^2.0.2" - js-tokens "^3.0.2" + "@babel/helper-plugin-utils" "^7.0.0" -babel-core@^6.26.0, babel-core@^6.9.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.0.tgz#af32f78b31a6fcef119c87b0fd8d9753f03a0bb8" +"@babel/plugin-transform-destructuring@^7.4.4": + version "7.5.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.5.0.tgz#f6c09fdfe3f94516ff074fe877db7bc9ef05855a" + integrity sha512-YbYgbd3TryYYLGyC7ZR+Tq8H/+bCmwoaxHfJHupom5ECstzbRLTch6gOQbhEY9Z4hiCNHEURgq06ykFv9JZ/QQ== dependencies: - babel-code-frame "^6.26.0" - babel-generator "^6.26.0" - babel-helpers "^6.24.1" - babel-messages "^6.23.0" - babel-register "^6.26.0" - babel-runtime "^6.26.0" - babel-template "^6.26.0" - babel-traverse "^6.26.0" - babel-types "^6.26.0" - babylon "^6.18.0" - convert-source-map "^1.5.0" - debug "^2.6.8" - json5 "^0.5.1" - lodash "^4.17.4" - minimatch "^3.0.4" - path-is-absolute "^1.0.1" - private "^0.1.7" - slash "^1.0.0" - source-map "^0.5.6" + "@babel/helper-plugin-utils" "^7.0.0" -babel-generator@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.0.tgz#ac1ae20070b79f6e3ca1d3269613053774f20dc5" +"@babel/plugin-transform-dotall-regex@^7.4.4": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.4.tgz#361a148bc951444312c69446d76ed1ea8e4450c3" + integrity sha512-P05YEhRc2h53lZDjRPk/OektxCVevFzZs2Gfjd545Wde3k+yFDbXORgl2e0xpbq8mLcKJ7Idss4fAg0zORN/zg== dependencies: - babel-messages "^6.23.0" - babel-runtime "^6.26.0" - babel-types "^6.26.0" - detect-indent "^4.0.0" - jsesc "^1.3.0" - lodash "^4.17.4" - source-map "^0.5.6" - trim-right "^1.0.1" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-regex" "^7.4.4" + regexpu-core "^4.5.4" -babel-helper-hoist-variables@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76" +"@babel/plugin-transform-duplicate-keys@^7.2.0": + version "7.5.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz#c5dbf5106bf84cdf691222c0974c12b1df931853" + integrity sha512-igcziksHizyQPlX9gfSjHkE2wmoCH3evvD2qR5w29/Dk0SMKE/eOI7f1HhBdNhR/zxJDqrgpoDTq5YSLH/XMsQ== dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" + "@babel/helper-plugin-utils" "^7.0.0" -babel-helpers@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" +"@babel/plugin-transform-exponentiation-operator@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz#a63868289e5b4007f7054d46491af51435766008" + integrity sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A== dependencies: - babel-runtime "^6.22.0" - babel-template "^6.24.1" + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.1.0" + "@babel/helper-plugin-utils" "^7.0.0" -babel-messages@^6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" +"@babel/plugin-transform-for-of@^7.4.4": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz#0267fc735e24c808ba173866c6c4d1440fc3c556" + integrity sha512-9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ== dependencies: - babel-runtime "^6.22.0" + "@babel/helper-plugin-utils" "^7.0.0" -babel-plugin-transform-cjs-system-wrapper@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-cjs-system-wrapper/-/babel-plugin-transform-cjs-system-wrapper-0.3.0.tgz#f5759f29becd356faab7af52c99cde8e7bad0b21" +"@babel/plugin-transform-function-name@^7.4.4": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz#e1436116abb0610c2259094848754ac5230922ad" + integrity sha512-iU9pv7U+2jC9ANQkKeNF6DrPy4GBa4NWQtl6dHB4Pb3izX2JOEvDTFarlNsBj/63ZEzNNIAMs3Qw4fNCcSOXJA== dependencies: - babel-template "^6.9.0" + "@babel/helper-function-name" "^7.1.0" + "@babel/helper-plugin-utils" "^7.0.0" -babel-plugin-transform-es2015-modules-systemjs@^6.6.5: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23" +"@babel/plugin-transform-literals@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz#690353e81f9267dad4fd8cfd77eafa86aba53ea1" + integrity sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg== dependencies: - babel-helper-hoist-variables "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" + "@babel/helper-plugin-utils" "^7.0.0" -babel-plugin-transform-global-system-wrapper@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-global-system-wrapper/-/babel-plugin-transform-global-system-wrapper-0.0.1.tgz#afb469cec0e04689b9fe7e8b1fd280fc94a6d8f2" +"@babel/plugin-transform-member-expression-literals@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz#fa10aa5c58a2cb6afcf2c9ffa8cb4d8b3d489a2d" + integrity sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA== dependencies: - babel-template "^6.9.0" + "@babel/helper-plugin-utils" "^7.0.0" -babel-plugin-transform-system-register@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-system-register/-/babel-plugin-transform-system-register-0.0.1.tgz#9dff40390c2763ac518f0b2ad7c5ea4f65a5be25" +"@babel/plugin-transform-modules-amd@^7.2.0": + version "7.5.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz#ef00435d46da0a5961aa728a1d2ecff063e4fb91" + integrity sha512-n20UsQMKnWrltocZZm24cRURxQnWIvsABPJlw/fvoy9c6AgHZzoelAIzajDHAQrDpuKFFPPcFGd7ChsYuIUMpg== + dependencies: + "@babel/helper-module-transforms" "^7.1.0" + "@babel/helper-plugin-utils" "^7.0.0" + babel-plugin-dynamic-import-node "^2.3.0" -babel-register@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071" +"@babel/plugin-transform-modules-commonjs@^7.4.4": + version "7.5.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.5.0.tgz#425127e6045231360858eeaa47a71d75eded7a74" + integrity sha512-xmHq0B+ytyrWJvQTc5OWAC4ii6Dhr0s22STOoydokG51JjWhyYo5mRPXoi+ZmtHQhZZwuXNN+GG5jy5UZZJxIQ== dependencies: - babel-core "^6.26.0" - babel-runtime "^6.26.0" - core-js "^2.5.0" - home-or-tmp "^2.0.0" - lodash "^4.17.4" - mkdirp "^0.5.1" - source-map-support "^0.4.15" + "@babel/helper-module-transforms" "^7.4.4" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-simple-access" "^7.1.0" + babel-plugin-dynamic-import-node "^2.3.0" -babel-runtime@^6.22.0, babel-runtime@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" +"@babel/plugin-transform-modules-systemjs@^7.4.4": + version "7.5.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.5.0.tgz#e75266a13ef94202db2a0620977756f51d52d249" + integrity sha512-Q2m56tyoQWmuNGxEtUyeEkm6qJYFqs4c+XyXH5RAuYxObRNz9Zgj/1g2GMnjYp2EUyEy7YTrxliGCXzecl/vJg== dependencies: - core-js "^2.4.0" - regenerator-runtime "^0.11.0" + "@babel/helper-hoist-variables" "^7.4.4" + "@babel/helper-plugin-utils" "^7.0.0" + babel-plugin-dynamic-import-node "^2.3.0" -babel-template@^6.24.1, babel-template@^6.26.0, babel-template@^6.9.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" +"@babel/plugin-transform-modules-umd@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz#7678ce75169f0877b8eb2235538c074268dd01ae" + integrity sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw== dependencies: - babel-runtime "^6.26.0" - babel-traverse "^6.26.0" - babel-types "^6.26.0" - babylon "^6.18.0" - lodash "^4.17.4" + "@babel/helper-module-transforms" "^7.1.0" + "@babel/helper-plugin-utils" "^7.0.0" -babel-traverse@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" +"@babel/plugin-transform-named-capturing-groups-regex@^7.4.5": + version "7.4.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.4.5.tgz#9d269fd28a370258199b4294736813a60bbdd106" + integrity sha512-z7+2IsWafTBbjNsOxU/Iv5CvTJlr5w4+HGu1HovKYTtgJ362f7kBcQglkfmlspKKZ3bgrbSGvLfNx++ZJgCWsg== dependencies: - babel-code-frame "^6.26.0" - babel-messages "^6.23.0" - babel-runtime "^6.26.0" - babel-types "^6.26.0" - babylon "^6.18.0" - debug "^2.6.8" - globals "^9.18.0" - invariant "^2.2.2" - lodash "^4.17.4" + regexp-tree "^0.1.6" -babel-types@^6.24.1, babel-types@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" +"@babel/plugin-transform-new-target@^7.4.4": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz#18d120438b0cc9ee95a47f2c72bc9768fbed60a5" + integrity sha512-r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-object-super@^7.2.0": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.5.5.tgz#c70021df834073c65eb613b8679cc4a381d1a9f9" + integrity sha512-un1zJQAhSosGFBduPgN/YFNvWVpRuHKU7IHBglLoLZsGmruJPOo6pbInneflUdmq7YvSVqhpPs5zdBvLnteltQ== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-replace-supers" "^7.5.5" + +"@babel/plugin-transform-parameters@^7.4.4": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz#7556cf03f318bd2719fe4c922d2d808be5571e16" + integrity sha512-oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw== + dependencies: + "@babel/helper-call-delegate" "^7.4.4" + "@babel/helper-get-function-arity" "^7.0.0" + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-property-literals@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz#03e33f653f5b25c4eb572c98b9485055b389e905" + integrity sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-regenerator@^7.4.5": + version "7.4.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz#629dc82512c55cee01341fb27bdfcb210354680f" + integrity sha512-gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA== + dependencies: + regenerator-transform "^0.14.0" + +"@babel/plugin-transform-reserved-words@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz#4792af87c998a49367597d07fedf02636d2e1634" + integrity sha512-fz43fqW8E1tAB3DKF19/vxbpib1fuyCwSPE418ge5ZxILnBhWyhtPgz8eh1RCGGJlwvksHkyxMxh0eenFi+kFw== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-shorthand-properties@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz#6333aee2f8d6ee7e28615457298934a3b46198f0" + integrity sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-spread@^7.2.0": + version "7.2.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz#3103a9abe22f742b6d406ecd3cd49b774919b406" + integrity sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-sticky-regex@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz#a1e454b5995560a9c1e0d537dfc15061fd2687e1" + integrity sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-regex" "^7.0.0" + +"@babel/plugin-transform-template-literals@^7.4.4": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz#9d28fea7bbce637fb7612a0750989d8321d4bcb0" + integrity sha512-mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g== + dependencies: + "@babel/helper-annotate-as-pure" "^7.0.0" + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-typeof-symbol@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz#117d2bcec2fbf64b4b59d1f9819894682d29f2b2" + integrity sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-unicode-regex@^7.4.4": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.4.tgz#ab4634bb4f14d36728bf5978322b35587787970f" + integrity sha512-il+/XdNw01i93+M9J9u4T7/e/Ue/vWfNZE4IRUQjplu2Mqb/AFTDimkw2tdEdSH50wuQXZAbXSql0UphQke+vA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-regex" "^7.4.4" + regexpu-core "^4.5.4" + +"@babel/preset-env@7.4.5": + version "7.4.5" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.4.5.tgz#2fad7f62983d5af563b5f3139242755884998a58" + integrity sha512-f2yNVXM+FsR5V8UwcFeIHzHWgnhXg3NpRmy0ADvALpnhB0SLbCvrCRr4BLOUYbQNLS+Z0Yer46x9dJXpXewI7w== + dependencies: + "@babel/helper-module-imports" "^7.0.0" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-proposal-async-generator-functions" "^7.2.0" + "@babel/plugin-proposal-json-strings" "^7.2.0" + "@babel/plugin-proposal-object-rest-spread" "^7.4.4" + "@babel/plugin-proposal-optional-catch-binding" "^7.2.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" + "@babel/plugin-syntax-async-generators" "^7.2.0" + "@babel/plugin-syntax-json-strings" "^7.2.0" + "@babel/plugin-syntax-object-rest-spread" "^7.2.0" + "@babel/plugin-syntax-optional-catch-binding" "^7.2.0" + "@babel/plugin-transform-arrow-functions" "^7.2.0" + "@babel/plugin-transform-async-to-generator" "^7.4.4" + "@babel/plugin-transform-block-scoped-functions" "^7.2.0" + "@babel/plugin-transform-block-scoping" "^7.4.4" + "@babel/plugin-transform-classes" "^7.4.4" + "@babel/plugin-transform-computed-properties" "^7.2.0" + "@babel/plugin-transform-destructuring" "^7.4.4" + "@babel/plugin-transform-dotall-regex" "^7.4.4" + "@babel/plugin-transform-duplicate-keys" "^7.2.0" + "@babel/plugin-transform-exponentiation-operator" "^7.2.0" + "@babel/plugin-transform-for-of" "^7.4.4" + "@babel/plugin-transform-function-name" "^7.4.4" + "@babel/plugin-transform-literals" "^7.2.0" + "@babel/plugin-transform-member-expression-literals" "^7.2.0" + "@babel/plugin-transform-modules-amd" "^7.2.0" + "@babel/plugin-transform-modules-commonjs" "^7.4.4" + "@babel/plugin-transform-modules-systemjs" "^7.4.4" + "@babel/plugin-transform-modules-umd" "^7.2.0" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.4.5" + "@babel/plugin-transform-new-target" "^7.4.4" + "@babel/plugin-transform-object-super" "^7.2.0" + "@babel/plugin-transform-parameters" "^7.4.4" + "@babel/plugin-transform-property-literals" "^7.2.0" + "@babel/plugin-transform-regenerator" "^7.4.5" + "@babel/plugin-transform-reserved-words" "^7.2.0" + "@babel/plugin-transform-shorthand-properties" "^7.2.0" + "@babel/plugin-transform-spread" "^7.2.0" + "@babel/plugin-transform-sticky-regex" "^7.2.0" + "@babel/plugin-transform-template-literals" "^7.4.4" + "@babel/plugin-transform-typeof-symbol" "^7.2.0" + "@babel/plugin-transform-unicode-regex" "^7.4.4" + "@babel/types" "^7.4.4" + browserslist "^4.6.0" + core-js-compat "^3.1.1" + invariant "^2.2.2" + js-levenshtein "^1.1.3" + semver "^5.5.0" + +"@babel/runtime@^7.1.2", "@babel/runtime@^7.4.2": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.5.5.tgz#74fba56d35efbeca444091c7850ccd494fd2f132" + integrity sha512-28QvEGyQyNkB0/m2B4FU7IEZGK2NUrcMtT6BZEFALTguLk+AUT6ofsHtPk5QyjAdUkpMJ+/Em+quwz4HOt30AQ== + dependencies: + regenerator-runtime "^0.13.2" + +"@babel/template@^7.1.0", "@babel/template@^7.4.0", "@babel/template@^7.4.4": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.4.4.tgz#f4b88d1225689a08f5bc3a17483545be9e4ed237" + integrity sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw== + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/parser" "^7.4.4" + "@babel/types" "^7.4.4" + +"@babel/traverse@^7.1.0", "@babel/traverse@^7.4.3", "@babel/traverse@^7.4.4", "@babel/traverse@^7.4.5", "@babel/traverse@^7.5.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.5.5.tgz#f664f8f368ed32988cd648da9f72d5ca70f165bb" + integrity sha512-MqB0782whsfffYfSjH4TM+LMjrJnhCNEDMDIjeTpl+ASaUvxcjoiVCo/sM1GhS1pHOXYfWVCYneLjMckuUxDaQ== + dependencies: + "@babel/code-frame" "^7.5.5" + "@babel/generator" "^7.5.5" + "@babel/helper-function-name" "^7.1.0" + "@babel/helper-split-export-declaration" "^7.4.4" + "@babel/parser" "^7.5.5" + "@babel/types" "^7.5.5" + debug "^4.1.0" + globals "^11.1.0" + lodash "^4.17.13" + +"@babel/types@^7.0.0", "@babel/types@^7.2.0", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.5.5": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.5.5.tgz#97b9f728e182785909aa4ab56264f090a028d18a" + integrity sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw== dependencies: - babel-runtime "^6.26.0" esutils "^2.0.2" - lodash "^4.17.4" - to-fast-properties "^1.0.3" - -babylon@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + lodash "^4.17.13" + to-fast-properties "^2.0.0" -bcrypt-pbkdf@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" +"@cnakazawa/watch@^1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.3.tgz#099139eaec7ebf07a27c1786a3ff64f39464d2ef" + integrity sha512-r5160ogAvGyHsal38Kux7YYtodEKOj89RGb28ht1jh3SJb08VwRwAKKJL0bGb04Zd/3r9FL3BFIc3bBidYffCA== dependencies: - tweetnacl "^0.14.3" + exec-sh "^0.3.2" + minimist "^1.2.0" -binary-extensions@^1.0.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.11.0.tgz#46aa1751fb6a2f93ee5e689bb1087d4b14c6c205" +"@csstools/convert-colors@^1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@csstools/convert-colors/-/convert-colors-1.4.0.tgz#ad495dc41b12e75d588c6db8b9834f08fa131eb7" + integrity sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw== + +"@emotion/babel-utils@^0.6.4": + version "0.6.10" + resolved "https://registry.yarnpkg.com/@emotion/babel-utils/-/babel-utils-0.6.10.tgz#83dbf3dfa933fae9fc566e54fbb45f14674c6ccc" + integrity sha512-/fnkM/LTEp3jKe++T0KyTszVGWNKPNOUJfjNKLO17BzQ6QPxgbg3whayom1Qr2oLFH3V92tDymU+dT5q676uow== + dependencies: + "@emotion/hash" "^0.6.6" + "@emotion/memoize" "^0.6.6" + "@emotion/serialize" "^0.9.1" + convert-source-map "^1.5.1" + find-root "^1.1.0" + source-map "^0.7.2" + +"@emotion/hash@^0.6.2", "@emotion/hash@^0.6.6": + version "0.6.6" + resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.6.6.tgz#62266c5f0eac6941fece302abad69f2ee7e25e44" + integrity sha512-ojhgxzUHZ7am3D2jHkMzPpsBAiB005GF5YU4ea+8DNPybMk01JJUM9V9YRlF/GE95tcOm8DxQvWA2jq19bGalQ== + +"@emotion/memoize@^0.6.1", "@emotion/memoize@^0.6.6": + version "0.6.6" + resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.6.6.tgz#004b98298d04c7ca3b4f50ca2035d4f60d2eed1b" + integrity sha512-h4t4jFjtm1YV7UirAFuSuFGyLa+NNxjdkq6DpFLANNQY5rHueFZHVY+8Cu1HYVP6DrheB0kv4m5xPjo7eKT7yQ== + +"@emotion/serialize@^0.9.1": + version "0.9.1" + resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-0.9.1.tgz#a494982a6920730dba6303eb018220a2b629c145" + integrity sha512-zTuAFtyPvCctHBEL8KZ5lJuwBanGSutFEncqLn/m9T1a6a93smBStK+bZzcNPgj4QS8Rkw9VTwJGhRIUVO8zsQ== + dependencies: + "@emotion/hash" "^0.6.6" + "@emotion/memoize" "^0.6.6" + "@emotion/unitless" "^0.6.7" + "@emotion/utils" "^0.8.2" + +"@emotion/stylis@^0.7.0": + version "0.7.1" + resolved "https://registry.yarnpkg.com/@emotion/stylis/-/stylis-0.7.1.tgz#50f63225e712d99e2b2b39c19c70fff023793ca5" + integrity sha512-/SLmSIkN13M//53TtNxgxo57mcJk/UJIDFRKwOiLIBEyBHEcipgR6hNMQ/59Sl4VjCJ0Z/3zeAZyvnSLPG/1HQ== -block-stream@*: - version "0.0.9" - resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" +"@emotion/unitless@^0.6.2", "@emotion/unitless@^0.6.7": + version "0.6.7" + resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.6.7.tgz#53e9f1892f725b194d5e6a1684a7b394df592397" + integrity sha512-Arj1hncvEVqQ2p7Ega08uHLr1JuRYBuO5cIvcA+WWEQ5+VmkOE3ZXzl04NbQxeQpWX78G7u6MqxKuNX3wvYZxg== + +"@emotion/utils@^0.8.2": + version "0.8.2" + resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-0.8.2.tgz#576ff7fb1230185b619a75d258cbc98f0867a8dc" + integrity sha512-rLu3wcBWH4P5q1CGoSSH/i9hrXs7SlbRLkoq9IGuoPYNGQvDJ3pt/wmOM+XgYjIDRMVIdkUWt0RsfzF50JfnCw== + +"@grafana/data@6.4.0-alpha.22-eac145983", "@grafana/data@^6.4.0-alpha": + version "6.4.0-alpha.22-eac145983" + resolved "https://registry.yarnpkg.com/@grafana/data/-/data-6.4.0-alpha.22-eac145983.tgz#27781ba10686f83e69a9a35d4a7a9218e3d9765d" + integrity sha512-9BzfKEdWluY8Nl9oMOxsaPioUHwdohGmIXHGObvXzzqPf9U96LBFlbn1ZAOuntmPnXC107hDVHnM3tXcynFaCA== + +"@grafana/toolkit@next": + version "6.4.0-alpha.39" + resolved "https://registry.yarnpkg.com/@grafana/toolkit/-/toolkit-6.4.0-alpha.39.tgz#0f7a18466e0b0b30aa78dbfd1be10366998af831" + integrity sha512-nts/rIO5DPRWIIgR/phl71ey7uOxCGaJiR9HRGiL66620vRE77bU7TwsNyw/XLahJ44K8+zSYVksv1/SNT6Qvw== + dependencies: + "@babel/core" "7.4.5" + "@babel/preset-env" "7.4.5" + "@grafana/data" "^6.4.0-alpha" + "@grafana/ui" "^6.4.0-alpha" + "@types/execa" "^0.9.0" + "@types/expect-puppeteer" "3.3.1" + "@types/inquirer" "^6.0.3" + "@types/jest" "24.0.13" + "@types/jest-cli" "^23.6.0" + "@types/node" "^12.0.4" + "@types/puppeteer-core" "1.9.0" + "@types/react-dev-utils" "^9.0.1" + "@types/semver" "^6.0.0" + "@types/tmp" "^0.1.0" + "@types/webpack" "4.4.34" + aws-sdk "^2.495.0" + axios "0.19.0" + babel-loader "8.0.6" + babel-plugin-angularjs-annotate "0.10.0" + chalk "^2.4.2" + commander "^2.20.0" + concurrently "4.1.0" + copy-webpack-plugin "5.0.3" + css-loader "^3.0.0" + execa "^1.0.0" + expect-puppeteer "4.1.1" + file-loader "^4.0.0" + glob "^7.1.4" + html-loader "0.5.5" + html-webpack-plugin "^3.2.0" + inquirer "^6.3.1" + jest "24.8.0" + jest-cli "^24.8.0" + jest-coverage-badges "^1.1.2" + jest-junit "^6.4.0" + lodash "4.17.14" + md5-file "^4.0.0" + mini-css-extract-plugin "^0.7.0" + node-sass "^4.12.0" + optimize-css-assets-webpack-plugin "^5.0.3" + ora "^3.4.0" + pixelmatch "^5.0.2" + pngjs "^3.4.0" + postcss-flexbugs-fixes "4.1.0" + postcss-loader "3.0.0" + postcss-preset-env "6.6.0" + prettier "^1.18.2" + puppeteer-core "1.18.1" + react-dev-utils "^9.0.1" + replace-in-file "^4.1.0" + replace-in-file-webpack-plugin "^1.0.6" + sass-loader "7.1.0" + semver "^6.1.1" + simple-git "^1.112.0" + style-loader "^0.23.1" + terser-webpack-plugin "^1.3.0" + ts-jest "24.0.2" + ts-loader "6.0.4" + ts-node "^8.2.0" + tslib "1.10.0" + tslint "5.14.0" + tslint-config-prettier "^1.18.0" + typescript "3.5.1" + url-loader "^2.0.1" + webpack "4.35.0" + +"@grafana/ui@^6.4.0-alpha": + version "6.4.0-alpha.22-eac145983" + resolved "https://registry.yarnpkg.com/@grafana/ui/-/ui-6.4.0-alpha.22-eac145983.tgz#516b3d74ad0ee787bedfe787334ff9d6cbd004a2" + integrity sha512-H+c0fbFIwyb3a7ShhcXt4j82mVC/R31UuhK+JmQOMmNJ4ERpEjTwuO3HKaG/NXUKN4NRKOxEqMJmyDw5D7eatg== + dependencies: + "@grafana/data" "6.4.0-alpha.22-eac145983" + "@torkelo/react-select" "2.1.1" + "@types/react-color" "2.17.0" + classnames "2.2.6" + d3 "5.9.1" + jquery "3.4.1" + lodash "4.17.14" + moment "2.24.0" + papaparse "4.6.3" + react "16.8.6" + react-calendar "2.18.1" + react-color "2.17.0" + react-custom-scrollbars "4.2.1" + react-dom "16.8.6" + react-highlight-words "0.11.0" + react-popper "1.3.3" + react-storybook-addon-props-combinations "1.1.0" + react-transition-group "2.6.1" + react-virtualized "9.21.0" + tinycolor2 "1.4.1" + +"@icons/material@^0.2.4": + version "0.2.4" + resolved "https://registry.yarnpkg.com/@icons/material/-/material-0.2.4.tgz#e90c9f71768b3736e76d7dd6783fc6c2afa88bc8" + integrity sha512-QPcGmICAPbGLGb6F/yNf/KzKqvFx8z5qx3D1yFqVAjoFmXK35EgyW+cJ57Te3CNsmzblwtzakLGFqHPqrfb4Tw== + +"@jest/console@^24.7.1": + version "24.7.1" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-24.7.1.tgz#32a9e42535a97aedfe037e725bd67e954b459545" + integrity sha512-iNhtIy2M8bXlAOULWVTUxmnelTLFneTNEkHCgPmgd+zNwy9zVddJ6oS5rZ9iwoscNdT5mMwUd0C51v/fSlzItg== + dependencies: + "@jest/source-map" "^24.3.0" + chalk "^2.0.1" + slash "^2.0.0" + +"@jest/core@^24.8.0": + version "24.8.0" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-24.8.0.tgz#fbbdcd42a41d0d39cddbc9f520c8bab0c33eed5b" + integrity sha512-R9rhAJwCBQzaRnrRgAdVfnglUuATXdwTRsYqs6NMdVcAl5euG8LtWDe+fVkN27YfKVBW61IojVsXKaOmSnqd/A== + dependencies: + "@jest/console" "^24.7.1" + "@jest/reporters" "^24.8.0" + "@jest/test-result" "^24.8.0" + "@jest/transform" "^24.8.0" + "@jest/types" "^24.8.0" + ansi-escapes "^3.0.0" + chalk "^2.0.1" + exit "^0.1.2" + graceful-fs "^4.1.15" + jest-changed-files "^24.8.0" + jest-config "^24.8.0" + jest-haste-map "^24.8.0" + jest-message-util "^24.8.0" + jest-regex-util "^24.3.0" + jest-resolve-dependencies "^24.8.0" + jest-runner "^24.8.0" + jest-runtime "^24.8.0" + jest-snapshot "^24.8.0" + jest-util "^24.8.0" + jest-validate "^24.8.0" + jest-watcher "^24.8.0" + micromatch "^3.1.10" + p-each-series "^1.0.0" + pirates "^4.0.1" + realpath-native "^1.1.0" + rimraf "^2.5.4" + strip-ansi "^5.0.0" + +"@jest/environment@^24.8.0": + version "24.8.0" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-24.8.0.tgz#0342261383c776bdd652168f68065ef144af0eac" + integrity sha512-vlGt2HLg7qM+vtBrSkjDxk9K0YtRBi7HfRFaDxoRtyi+DyVChzhF20duvpdAnKVBV6W5tym8jm0U9EfXbDk1tw== + dependencies: + "@jest/fake-timers" "^24.8.0" + "@jest/transform" "^24.8.0" + "@jest/types" "^24.8.0" + jest-mock "^24.8.0" + +"@jest/fake-timers@^24.8.0": + version "24.8.0" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-24.8.0.tgz#2e5b80a4f78f284bcb4bd5714b8e10dd36a8d3d1" + integrity sha512-2M4d5MufVXwi6VzZhJ9f5S/wU4ud2ck0kxPof1Iz3zWx6Y+V2eJrES9jEktB6O3o/oEyk+il/uNu9PvASjWXQw== + dependencies: + "@jest/types" "^24.8.0" + jest-message-util "^24.8.0" + jest-mock "^24.8.0" + +"@jest/reporters@^24.8.0": + version "24.8.0" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-24.8.0.tgz#075169cd029bddec54b8f2c0fc489fd0b9e05729" + integrity sha512-eZ9TyUYpyIIXfYCrw0UHUWUvE35vx5I92HGMgS93Pv7du+GHIzl+/vh8Qj9MCWFK/4TqyttVBPakWMOfZRIfxw== + dependencies: + "@jest/environment" "^24.8.0" + "@jest/test-result" "^24.8.0" + "@jest/transform" "^24.8.0" + "@jest/types" "^24.8.0" + chalk "^2.0.1" + exit "^0.1.2" + glob "^7.1.2" + istanbul-lib-coverage "^2.0.2" + istanbul-lib-instrument "^3.0.1" + istanbul-lib-report "^2.0.4" + istanbul-lib-source-maps "^3.0.1" + istanbul-reports "^2.1.1" + jest-haste-map "^24.8.0" + jest-resolve "^24.8.0" + jest-runtime "^24.8.0" + jest-util "^24.8.0" + jest-worker "^24.6.0" + node-notifier "^5.2.1" + slash "^2.0.0" + source-map "^0.6.0" + string-length "^2.0.0" + +"@jest/source-map@^24.3.0": + version "24.3.0" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-24.3.0.tgz#563be3aa4d224caf65ff77edc95cd1ca4da67f28" + integrity sha512-zALZt1t2ou8le/crCeeiRYzvdnTzaIlpOWaet45lNSqNJUnXbppUUFR4ZUAlzgDmKee4Q5P/tKXypI1RiHwgag== + dependencies: + callsites "^3.0.0" + graceful-fs "^4.1.15" + source-map "^0.6.0" + +"@jest/test-result@^24.8.0": + version "24.8.0" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-24.8.0.tgz#7675d0aaf9d2484caa65e048d9b467d160f8e9d3" + integrity sha512-+YdLlxwizlfqkFDh7Mc7ONPQAhA4YylU1s529vVM1rsf67vGZH/2GGm5uO8QzPeVyaVMobCQ7FTxl38QrKRlng== + dependencies: + "@jest/console" "^24.7.1" + "@jest/types" "^24.8.0" + "@types/istanbul-lib-coverage" "^2.0.0" + +"@jest/test-sequencer@^24.8.0": + version "24.8.0" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-24.8.0.tgz#2f993bcf6ef5eb4e65e8233a95a3320248cf994b" + integrity sha512-OzL/2yHyPdCHXEzhoBuq37CE99nkme15eHkAzXRVqthreWZamEMA0WoetwstsQBCXABhczpK03JNbc4L01vvLg== + dependencies: + "@jest/test-result" "^24.8.0" + jest-haste-map "^24.8.0" + jest-runner "^24.8.0" + jest-runtime "^24.8.0" + +"@jest/transform@^24.8.0": + version "24.8.0" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-24.8.0.tgz#628fb99dce4f9d254c6fd9341e3eea262e06fef5" + integrity sha512-xBMfFUP7TortCs0O+Xtez2W7Zu1PLH9bvJgtraN1CDST6LBM/eTOZ9SfwS/lvV8yOfcDpFmwf9bq5cYbXvqsvA== + dependencies: + "@babel/core" "^7.1.0" + "@jest/types" "^24.8.0" + babel-plugin-istanbul "^5.1.0" + chalk "^2.0.1" + convert-source-map "^1.4.0" + fast-json-stable-stringify "^2.0.0" + graceful-fs "^4.1.15" + jest-haste-map "^24.8.0" + jest-regex-util "^24.3.0" + jest-util "^24.8.0" + micromatch "^3.1.10" + realpath-native "^1.1.0" + slash "^2.0.0" + source-map "^0.6.1" + write-file-atomic "2.4.1" + +"@jest/types@^24.8.0": + version "24.8.0" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-24.8.0.tgz#f31e25948c58f0abd8c845ae26fcea1491dea7ad" + integrity sha512-g17UxVr2YfBtaMUxn9u/4+siG1ptg9IGYAYwvpwn61nBg779RXnjE/m7CxYcIzEt0AbHZZAHSEZNhkE2WxURVg== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^1.1.1" + "@types/yargs" "^12.0.9" + +"@mrmlnc/readdir-enhanced@^2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" + integrity sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g== dependencies: - inherits "~2.0.0" + call-me-maybe "^1.0.1" + glob-to-regexp "^0.3.0" -bluebird@^3.3.4: - version "3.5.1" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9" +"@nodelib/fs.stat@^1.1.2": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" + integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== -bluebird@~2.9.34: - version "2.9.34" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-2.9.34.tgz#2f7b4ec80216328a9fddebdf69c8d4942feff7d8" +"@torkelo/react-select@2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@torkelo/react-select/-/react-select-2.1.1.tgz#0ca7027b4429816178df81e33ad0894699e262f1" + integrity sha512-dt+S8Myn+1Wo/UJ/kQJzDa7ztd7dpL4ueT0eMFqsGRdvMobl9xathBUZu5YMNpz7byFltrYJaPMotnPHd13rtg== + dependencies: + classnames "^2.2.5" + emotion "^9.1.2" + memoize-one "^4.0.0" + prop-types "^15.6.0" + raf "^3.4.0" + react-input-autosize "^2.2.1" + react-transition-group "^2.2.1" + +"@types/angular@1.6.54": + version "1.6.54" + resolved "https://registry.yarnpkg.com/@types/angular/-/angular-1.6.54.tgz#f9d5a03e4da7b021a6dabe5d63e899ed4567a5bd" + integrity sha512-xA1FuozWXeRQ7FClUbvk8ePL+dydBeDoCWRPFTHU5+8uvVtIIfLGiHA8CMkwsbddFCYnTDVbLxG85a/HBx7LtA== + +"@types/anymatch@*": + version "1.3.1" + resolved "https://registry.yarnpkg.com/@types/anymatch/-/anymatch-1.3.1.tgz#336badc1beecb9dacc38bea2cf32adf627a8421a" + integrity sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA== -body-parser@~1.14.0: - version "1.14.2" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.14.2.tgz#1015cb1fe2c443858259581db53332f8d0cf50f9" +"@types/babel__core@^7.1.0": + version "7.1.2" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.2.tgz#608c74f55928033fce18b99b213c16be4b3d114f" + integrity sha512-cfCCrFmiGY/yq0NuKNxIQvZFy9kY/1immpSpTngOnyIbD4+eJOG5mxphhHDv3CHL9GltO4GcKr54kGBg3RNdbg== dependencies: - bytes "2.2.0" - content-type "~1.0.1" - debug "~2.2.0" - depd "~1.1.0" - http-errors "~1.3.1" - iconv-lite "0.4.13" - on-finished "~2.3.0" - qs "5.2.0" - raw-body "~2.1.5" - type-is "~1.6.10" + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" -boom@2.x.x: - version "2.10.1" - resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" +"@types/babel__generator@*": + version "7.0.2" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.0.2.tgz#d2112a6b21fad600d7674274293c85dce0cb47fc" + integrity sha512-NHcOfab3Zw4q5sEE2COkpfXjoE7o+PmqD9DQW4koUT3roNxwziUdXGnRndMat/LJNUtePwn1TlP4do3uoe3KZQ== dependencies: - hoek "2.x.x" + "@babel/types" "^7.0.0" -boom@4.x.x: - version "4.3.1" - resolved "https://registry.yarnpkg.com/boom/-/boom-4.3.1.tgz#4f8a3005cb4a7e3889f749030fd25b96e01d2e31" +"@types/babel__template@*": + version "7.0.2" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.0.2.tgz#4ff63d6b52eddac1de7b975a5223ed32ecea9307" + integrity sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg== dependencies: - hoek "4.x.x" + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" -boom@5.x.x: - version "5.2.0" - resolved "https://registry.yarnpkg.com/boom/-/boom-5.2.0.tgz#5dd9da6ee3a5f302077436290cb717d3f4a54e02" +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": + version "7.0.7" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.7.tgz#2496e9ff56196cc1429c72034e07eab6121b6f3f" + integrity sha512-CeBpmX1J8kWLcDEnI3Cl2Eo6RfbGvzUctA+CjZUhOKDFbLfcr7fc4usEqLNWetrlJd7RhAkyYe2czXop4fICpw== dependencies: - hoek "4.x.x" + "@babel/types" "^7.3.0" -brace-expansion@^1.0.0, brace-expansion@^1.1.7: - version "1.1.8" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292" +"@types/body-parser@*": + version "1.17.0" + resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.17.0.tgz#9f5c9d9bd04bb54be32d5eb9fc0d8c974e6cf58c" + integrity sha512-a2+YeUjPkztKJu5aIF2yArYFQQp8d51wZ7DavSHjFuY1mqVgidGyzEQ41JIVNy82fXj8yPgy2vJmfIywgESW6w== dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" + "@types/connect" "*" + "@types/node" "*" -braces@^1.8.2: - version "1.8.5" - resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" +"@types/clean-css@*": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@types/clean-css/-/clean-css-4.2.1.tgz#cb0134241ec5e6ede1b5344bc829668fd9871a8d" + integrity sha512-A1HQhQ0hkvqqByJMgg+Wiv9p9XdoYEzuwm11SVo1mX2/4PSdhjcrUlilJQoqLscIheC51t1D5g+EFWCXZ2VTQQ== dependencies: - expand-range "^1.8.1" - preserve "^0.2.0" - repeat-element "^1.1.2" + "@types/node" "*" -builtin-modules@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" +"@types/connect-history-api-fallback@*": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.2.tgz#40a497500238ebf30ae28fdf687c2f92969f2635" + integrity sha512-tobKLYh5XszXIQ2lHTeyK1wMi/3K5WiOKb/sl6MENCirlOcXw0jUBHHmST2dLKnYMv6WHWPOSmR8jIF3za0MBQ== + dependencies: + "@types/express-serve-static-core" "*" + "@types/node" "*" -bytes@2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.2.0.tgz#fd35464a403f6f9117c2de3609ecff9cae000588" +"@types/connect@*": + version "3.4.32" + resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.32.tgz#aa0e9616b9435ccad02bc52b5b454ffc2c70ba28" + integrity sha512-4r8qa0quOvh7lGD0pre62CAb1oni1OO6ecJLGCezTmhQ8Fz50Arx9RUszryR8KlgK6avuSXvviL6yWyViQABOg== + dependencies: + "@types/node" "*" -bytes@2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.4.0.tgz#7d97196f9d5baf7f6935e25985549edd2a6c2339" +"@types/eslint@*": + version "4.16.6" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-4.16.6.tgz#96d4ecddbea618ab0b55eaf0dffedf387129b06c" + integrity sha512-GL7tGJig55FeclpOytU7nCCqtR143jBoC7AUdH0DO9xBSIFiNNUFCY/S3KNWsHeQJuU3hjw/OC1+kRTFNXqUZQ== + dependencies: + "@types/estree" "*" + "@types/json-schema" "*" -camelcase-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" +"@types/estree@*": + version "0.0.39" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" + integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== + +"@types/execa@^0.9.0": + version "0.9.0" + resolved "https://registry.yarnpkg.com/@types/execa/-/execa-0.9.0.tgz#9b025d2755f17e80beaf9368c3f4f319d8b0fb93" + integrity sha512-mgfd93RhzjYBUHHV532turHC2j4l/qxsF/PbfDmprHDEUHmNZGlDn1CEsulGK3AfsPdhkWzZQT/S/k0UGhLGsA== dependencies: - camelcase "^2.0.0" - map-obj "^1.0.0" + "@types/node" "*" -camelcase@^1.0.2: - version "1.2.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" +"@types/expect-puppeteer@3.3.1": + version "3.3.1" + resolved "https://registry.yarnpkg.com/@types/expect-puppeteer/-/expect-puppeteer-3.3.1.tgz#46e5944bf425b86ea13a563c7c8b86901414988d" + integrity sha512-3raSnf28NelDtv0ksvQPZs410taJZ4d70vA8sVzmbRPV04fpmQm9/BOxUCloETD/ZI1EXRpv0pzOQKhPTbm4jg== + dependencies: + "@types/jest" "*" + "@types/puppeteer" "*" -camelcase@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" +"@types/express-serve-static-core@*": + version "4.16.7" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.16.7.tgz#50ba6f8a691c08a3dd9fa7fba25ef3133d298049" + integrity sha512-847KvL8Q1y3TtFLRTXcVakErLJQgdpFSaq+k043xefz9raEf0C7HalpSY7OW5PyjCnY8P7bPW5t/Co9qqp+USg== + dependencies: + "@types/node" "*" + "@types/range-parser" "*" -camelcase@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" +"@types/express@*": + version "4.17.0" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.0.tgz#49eaedb209582a86f12ed9b725160f12d04ef287" + integrity sha512-CjaMu57cjgjuZbh9DpkloeGxV45CnMGlVd+XpG7Gm9QgVrd7KFq+X4HY0vM+2v0bczS48Wg7bvnMY5TN+Xmcfw== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "*" + "@types/serve-static" "*" -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" +"@types/grafana@github:CorpGlory/types-grafana.git": + version "4.6.3" + resolved "https://codeload.github.com/CorpGlory/types-grafana/tar.gz/cb727a51638566747a308b27c938e503c50080ab" -center-align@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" +"@types/html-minifier@*": + version "3.5.3" + resolved "https://registry.yarnpkg.com/@types/html-minifier/-/html-minifier-3.5.3.tgz#5276845138db2cebc54c789e0aaf87621a21e84f" + integrity sha512-j1P/4PcWVVCPEy5lofcHnQ6BtXz9tHGiFPWzqm7TtGuWZEfCHEP446HlkSNc9fQgNJaJZ6ewPtp2aaFla/Uerg== dependencies: - align-text "^0.1.3" - lazy-cache "^1.0.3" + "@types/clean-css" "*" + "@types/relateurl" "*" + "@types/uglify-js" "*" -chalk@^1.1.1, chalk@^1.1.3, chalk@~1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" +"@types/html-webpack-plugin@*": + version "3.2.1" + resolved "https://registry.yarnpkg.com/@types/html-webpack-plugin/-/html-webpack-plugin-3.2.1.tgz#d3401407261ec82cb0fc380df28e57c94e851e4d" + integrity sha512-H8Pj1/Urx6qlUednZpNsveDVUsO63gQdu5DLaAf9t7iG0iyK0OS4XKFG5v1PSG1Nek9S65BrPrKt8DfEib02ng== dependencies: - ansi-styles "^2.2.1" - escape-string-regexp "^1.0.2" - has-ansi "^2.0.0" - strip-ansi "^3.0.0" - supports-color "^2.0.0" + "@types/html-minifier" "*" + "@types/tapable" "*" + "@types/webpack" "*" -chokidar@^1.0.5: - version "1.7.0" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" +"@types/http-proxy-middleware@*": + version "0.19.2" + resolved "https://registry.yarnpkg.com/@types/http-proxy-middleware/-/http-proxy-middleware-0.19.2.tgz#1c44b96487cb2f333102b762c56a8f02241e85bd" + integrity sha512-aXcAs2VEaiHwlFlEqMJ+sNSFCO+wuWXcvdBk5Un7f0tUv1eTIIAmkd4S5D/Yi5JI0xofPpm9h3017TngbrLh7A== dependencies: - anymatch "^1.3.0" - async-each "^1.0.0" - glob-parent "^2.0.0" - inherits "^2.0.1" - is-binary-path "^1.0.0" - is-glob "^2.0.0" - path-is-absolute "^1.0.0" - readdirp "^2.0.0" - optionalDependencies: - fsevents "^1.0.0" + "@types/connect" "*" + "@types/http-proxy" "*" + "@types/node" "*" -cliui@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" +"@types/http-proxy@*": + version "1.17.0" + resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.0.tgz#baf82ff6aa2723fd29f90e3ba1384e665006863e" + integrity sha512-l+s0IoxSHqhLFJPDHRfO235kgrCkvFD8JmdV/T9C4BKBYPIjrQopGFH4r7h2e3jQqgJRCthRCAZIxDoFnj1zwQ== dependencies: - center-align "^0.1.1" - right-align "^0.1.1" - wordwrap "0.0.2" + "@types/node" "*" -cliui@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" +"@types/inquirer@^6.0.3": + version "6.0.3" + resolved "https://registry.yarnpkg.com/@types/inquirer/-/inquirer-6.0.3.tgz#597b3c1aa4a575899841ab99bb4f1774d0b8c090" + integrity sha512-lBsdZScFMaFYYIE3Y6CWX22B9VeY2NerT1kyU2heTc3u/W6a+Om6Au2q0rMzBrzynN0l4QoABhI0cbNdyz6fDg== dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - wrap-ansi "^2.0.0" + "@types/through" "*" + rxjs "^6.4.0" -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz#42995b446db9a48a11a07ec083499a860e9138ff" + integrity sha512-hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg== -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" +"@types/istanbul-lib-report@*": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz#e5471e7fa33c61358dd38426189c037a58433b8c" + integrity sha512-3BUTyMzbZa2DtDI2BkERNC6jJw2Mr2Y0oGI7mRxYNBPxppbtEK1F66u3bKwU2g+wxwWI7PAoRpJnOY1grJqzHg== + dependencies: + "@types/istanbul-lib-coverage" "*" -coffee-script@~1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/coffee-script/-/coffee-script-1.10.0.tgz#12938bcf9be1948fa006f92e0c4c9e81705108c0" +"@types/istanbul-reports@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-1.1.1.tgz#7a8cbf6a406f36c8add871625b278eaf0b0d255a" + integrity sha512-UpYjBi8xefVChsCoBpKShdxTllC9pwISirfoZsUa2AAdQg/Jd2KQGtSbw+ya7GPo7x/wAPlH6JBhKhAsXUEZNA== + dependencies: + "@types/istanbul-lib-coverage" "*" + "@types/istanbul-lib-report" "*" -colors@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" +"@types/jest-cli@^23.6.0": + version "23.6.0" + resolved "https://registry.yarnpkg.com/@types/jest-cli/-/jest-cli-23.6.0.tgz#c9cf542d28328cf5a6f1fb017dabaa3f71ab6499" + integrity sha512-o7vy+63lsHKFDibL3qZud87WpB0nTfk4j4QYB2aD6vtWMVVRRBACNcK9tMTm7Ebo68b7WiPsb/nyDYPZgtD0tg== -combined-stream@^1.0.5, combined-stream@~1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" - dependencies: - delayed-stream "~1.0.0" +"@types/jest-diff@*": + version "20.0.1" + resolved "https://registry.yarnpkg.com/@types/jest-diff/-/jest-diff-20.0.1.tgz#35cc15b9c4f30a18ef21852e255fdb02f6d59b89" + integrity sha512-yALhelO3i0hqZwhjtcr6dYyaLoCHbAMshwtj6cGxTvHZAKXHsYGdff6E8EPw3xLKY0ELUTQ69Q1rQiJENnccMA== -commander@2.9.x: - version "2.9.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" +"@types/jest@*": + version "24.0.15" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-24.0.15.tgz#6c42d5af7fe3b44ffff7cc65de7bf741e8fa427f" + integrity sha512-MU1HIvWUme74stAoc3mgAi+aMlgKOudgEvQDIm1v4RkrDudBh1T+NFp5sftpBAdXdx1J0PbdpJ+M2EsSOi1djA== dependencies: - graceful-readlink ">= 1.0.0" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + "@types/jest-diff" "*" -console-control-strings@^1.0.0, console-control-strings@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" +"@types/jest@24.0.13": + version "24.0.13" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-24.0.13.tgz#10f50b64cb05fb02411fbba49e9042a3a11da3f9" + integrity sha512-3m6RPnO35r7Dg+uMLj1+xfZaOgIHHHut61djNjzwExXN4/Pm9has9C6I1KMYSfz7mahDhWUOVg4HW/nZdv5Pww== + dependencies: + "@types/jest-diff" "*" -content-type@~1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" +"@types/json-schema@*": + version "7.0.3" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.3.tgz#bdfd69d61e464dcc81b25159c270d75a73c1a636" + integrity sha512-Il2DtDVRGDcqjDtE+rF8iqg1CArehSK84HZJCT7AMITlyXRBpuPhqGLDQMowraqqu1coEaimg4ZOqggt6L6L+A== -convert-source-map@^1.5.0: - version "1.5.1" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5" +"@types/mime@*": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-2.0.1.tgz#dc488842312a7f075149312905b5e3c0b054c79d" + integrity sha512-FwI9gX75FgVBJ7ywgnq/P7tw+/o1GUbtP0KzbtusLigAOgIgNISRK0ZPl4qertvXSIE8YbsVJueQ90cDt9YYyw== -core-js@^2.4.0, core-js@^2.5.0: - version "2.5.3" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.3.tgz#8acc38345824f16d8365b7c9b4259168e8ed603e" +"@types/node@*", "@types/node@^12.0.4": + version "12.6.8" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.6.8.tgz#e469b4bf9d1c9832aee4907ba8a051494357c12c" + integrity sha512-aX+gFgA5GHcDi89KG5keey2zf0WfZk/HAQotEamsK2kbey+8yGKcson0hbK8E+v0NArlCJQCqMP161YhV6ZXLg== -core-util-is@1.0.2, core-util-is@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" +"@types/prop-types@*": + version "15.7.1" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.1.tgz#f1a11e7babb0c3cad68100be381d1e064c68f1f6" + integrity sha512-CFzn9idOEpHrgdw8JsoTkaDDyRWk1jrzIV8djzcgpq0y9tG4B4lFT+Nxh52DVpDXV+n4+NPNv7M1Dj5uMp6XFg== -cross-spawn@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982" +"@types/puppeteer-core@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@types/puppeteer-core/-/puppeteer-core-1.9.0.tgz#5ceb397e3ff769081fb07d71289b5009392d24d3" + integrity sha512-YJwGTq0a8xZxN7/QDeW59XMdKTRNzDTc8ZVBPDB6J13GgXn1+QzgMA8pAq1/bj2FD0R7xj3nYoZra10b0HLzFw== dependencies: - lru-cache "^4.0.1" - which "^1.2.9" + "@types/puppeteer" "*" -cryptiles@2.x.x: - version "2.0.5" - resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" +"@types/puppeteer@*": + version "1.19.0" + resolved "https://registry.yarnpkg.com/@types/puppeteer/-/puppeteer-1.19.0.tgz#59f0050bae019cee7c3af2bb840a25892a3078b6" + integrity sha512-Db9LWOuTm2bR/qgPE7PQCmnsCQ6flHdULuIDWTks8YdQ/SGHKg5WGWG54gl0734NDKCTF5MbqAp2qWuvBiyQ3Q== dependencies: - boom "2.x.x" + "@types/node" "*" -cryptiles@3.x.x: - version "3.1.2" - resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-3.1.2.tgz#a89fbb220f5ce25ec56e8c4aa8a4fd7b5b0d29fe" - dependencies: - boom "5.x.x" +"@types/q@^1.5.1": + version "1.5.2" + resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.2.tgz#690a1475b84f2a884fd07cd797c00f5f31356ea8" + integrity sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw== + +"@types/range-parser@*": + version "1.2.3" + resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.3.tgz#7ee330ba7caafb98090bece86a5ee44115904c2c" + integrity sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA== + +"@types/react-color@2.17.0": + version "2.17.0" + resolved "https://registry.yarnpkg.com/@types/react-color/-/react-color-2.17.0.tgz#7f3c958bb43ebeedc7e04309576a235d5233ce9d" + integrity sha512-NQCLW437DXzaV/XvtoH3cBW75f0KQ9ZtFvvXnn7QEudLTR5zGxLdsEhPffrateSizsG2CTml4X+2/2TyEisotQ== + dependencies: + "@types/react" "*" + +"@types/react-dev-utils@^9.0.1": + version "9.0.1" + resolved "https://registry.yarnpkg.com/@types/react-dev-utils/-/react-dev-utils-9.0.1.tgz#6893aef0b1dcaf6e955b10038d0856bdca3ca269" + integrity sha512-kAps5AHTpr/EXQtbOsAQlpqngnLsIHIdvVAACc1OXVt8bWye5jpGzHQwhP1ekeoYR6xEcz44QdLPwVLJ2nT1DQ== + dependencies: + "@types/eslint" "*" + "@types/express" "*" + "@types/html-webpack-plugin" "*" + "@types/webpack" "*" + "@types/webpack-dev-server" "*" + +"@types/react@*": + version "16.8.23" + resolved "https://registry.yarnpkg.com/@types/react/-/react-16.8.23.tgz#ec6be3ceed6353a20948169b6cb4c97b65b97ad2" + integrity sha512-abkEOIeljniUN9qB5onp++g0EY38h7atnDHxwKUFz1r3VH1+yG1OKi2sNPTyObL40goBmfKFpdii2lEzwLX1cA== + dependencies: + "@types/prop-types" "*" + csstype "^2.2.0" + +"@types/relateurl@*": + version "0.2.28" + resolved "https://registry.yarnpkg.com/@types/relateurl/-/relateurl-0.2.28.tgz#6bda7db8653fa62643f5ee69e9f69c11a392e3a6" + integrity sha1-a9p9uGU/piZD9e5p6facEaOS46Y= + +"@types/semver@^6.0.0": + version "6.0.1" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-6.0.1.tgz#a984b405c702fa5a7ec6abc56b37f2ba35ef5af6" + integrity sha512-ffCdcrEE5h8DqVxinQjo+2d1q+FV5z7iNtPofw3JsrltSoSVlOGaW0rY8XxtO9XukdTn8TaCGWmk2VFGhI70mg== + +"@types/serve-static@*": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.2.tgz#f5ac4d7a6420a99a6a45af4719f4dcd8cd907a48" + integrity sha512-/BZ4QRLpH/bNYgZgwhKEh+5AsboDBcUdlBYgzoLX0fpj3Y2gp6EApyOlM3bK53wQS/OE1SrdSYBAbux2D1528Q== + dependencies: + "@types/express-serve-static-core" "*" + "@types/mime" "*" + +"@types/stack-utils@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" + integrity sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw== -currently-unhandled@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" +"@types/tapable@*": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.4.tgz#b4ffc7dc97b498c969b360a41eee247f82616370" + integrity sha512-78AdXtlhpCHT0K3EytMpn4JNxaf5tbqbLcbIRoQIHzpTIyjpxLQKRoxU55ujBXAtg3Nl2h/XWvfDa9dsMOd0pQ== + +"@types/through@*": + version "0.0.29" + resolved "https://registry.yarnpkg.com/@types/through/-/through-0.0.29.tgz#72943aac922e179339c651fa34a4428a4d722f93" + integrity sha512-9a7C5VHh+1BKblaYiq+7Tfc+EOmjMdZaD1MYtkQjSoxgB69tBjW98ry6SKsi4zEIWztLOMRuL87A3bdT/Fc/4w== dependencies: - array-find-index "^1.0.1" + "@types/node" "*" -d@1: - version "1.0.0" - resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f" - dependencies: - es5-ext "^0.10.9" +"@types/tmp@^0.1.0": + version "0.1.0" + resolved "https://registry.yarnpkg.com/@types/tmp/-/tmp-0.1.0.tgz#19cf73a7bcf641965485119726397a096f0049bd" + integrity sha512-6IwZ9HzWbCq6XoQWhxLpDjuADodH/MKXRUIDFudvgjcVdjFknvmR+DNsoUeer4XPrEnrZs04Jj+kfV9pFsrhmA== -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" +"@types/uglify-js@*": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.0.4.tgz#96beae23df6f561862a830b4288a49e86baac082" + integrity sha512-SudIN9TRJ+v8g5pTG8RRCqfqTMNqgWCKKd3vtynhGzkIIjxaicNAMuY5TRadJ6tzDu3Dotf3ngaMILtmOdmWEQ== + dependencies: + source-map "^0.6.1" + +"@types/webpack-dev-server@*": + version "3.1.7" + resolved "https://registry.yarnpkg.com/@types/webpack-dev-server/-/webpack-dev-server-3.1.7.tgz#a3e7a20366e68bc9853c730b56e994634cb78dac" + integrity sha512-VIRkDkBDuOkYRXQ1EG/etisQ3odo6pcjSmA1Si4VYANuNhSBsLxfuPGeGERwCx1nDKxK3aaXnicPzi0gUvxUaw== + dependencies: + "@types/connect-history-api-fallback" "*" + "@types/express" "*" + "@types/http-proxy-middleware" "*" + "@types/serve-static" "*" + "@types/webpack" "*" + +"@types/webpack@*": + version "4.32.1" + resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.32.1.tgz#6e95010e806f808abd6551c112097ac09035aacf" + integrity sha512-9n38CBx9uga1FEAdTipnt0EkbKpsCJFh7xJb1LE65FFb/A6OOLFX022vYsGC1IyVCZ/GroNg9u/RMmlDxGcLIw== + dependencies: + "@types/anymatch" "*" + "@types/node" "*" + "@types/tapable" "*" + "@types/uglify-js" "*" + source-map "^0.6.0" + +"@types/webpack@4.4.34": + version "4.4.34" + resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.4.34.tgz#e5f88b9a795da11683b4ec4a07d1c2b023b19810" + integrity sha512-GnEBgjHsfO1M7DIQ0dAupSofcmDItE3Zsu3reK8SQpl/6N0rtUQxUmQzVFAS5ou/FGjsYKjXAWfItLZ0kNFTfQ== + dependencies: + "@types/anymatch" "*" + "@types/node" "*" + "@types/tapable" "*" + "@types/uglify-js" "*" + source-map "^0.6.0" + +"@types/yargs@^12.0.2", "@types/yargs@^12.0.9": + version "12.0.12" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-12.0.12.tgz#45dd1d0638e8c8f153e87d296907659296873916" + integrity sha512-SOhuU4wNBxhhTHxYaiG5NY4HBhDIDnJF60GU+2LqHAdKKer86//e4yg69aENCtQ04n0ovz+tq2YPME5t5yp4pw== + +"@webassemblyjs/ast@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.8.5.tgz#51b1c5fe6576a34953bf4b253df9f0d490d9e359" + integrity sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ== dependencies: - assert-plus "^1.0.0" + "@webassemblyjs/helper-module-context" "1.8.5" + "@webassemblyjs/helper-wasm-bytecode" "1.8.5" + "@webassemblyjs/wast-parser" "1.8.5" -data-uri-to-buffer@0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-0.0.4.tgz#46e13ab9da8e309745c8d01ce547213ebdb2fe3f" +"@webassemblyjs/floating-point-hex-parser@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz#1ba926a2923613edce496fd5b02e8ce8a5f49721" + integrity sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ== -dateformat@~1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-1.0.12.tgz#9f124b67594c937ff706932e4a642cca8dbbfee9" - dependencies: - get-stdin "^4.0.1" - meow "^3.3.0" +"@webassemblyjs/helper-api-error@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz#c49dad22f645227c5edb610bdb9697f1aab721f7" + integrity sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA== -debug@^2.2.0, debug@^2.6.8: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - dependencies: - ms "2.0.0" +"@webassemblyjs/helper-buffer@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz#fea93e429863dd5e4338555f42292385a653f204" + integrity sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q== -debug@~2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" +"@webassemblyjs/helper-code-frame@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz#9a740ff48e3faa3022b1dff54423df9aa293c25e" + integrity sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ== dependencies: - ms "0.7.1" - -decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - -deep-extend@~0.4.0: - version "0.4.2" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + "@webassemblyjs/wast-printer" "1.8.5" -depd@~1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" +"@webassemblyjs/helper-fsm@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz#ba0b7d3b3f7e4733da6059c9332275d860702452" + integrity sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow== -detect-indent@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" +"@webassemblyjs/helper-module-context@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz#def4b9927b0101dc8cbbd8d1edb5b7b9c82eb245" + integrity sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g== dependencies: - repeating "^2.0.0" + "@webassemblyjs/ast" "1.8.5" + mamacro "^0.0.3" -detect-libc@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" +"@webassemblyjs/helper-wasm-bytecode@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz#537a750eddf5c1e932f3744206551c91c1b93e61" + integrity sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ== -each-async@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/each-async/-/each-async-1.1.1.tgz#dee5229bdf0ab6ba2012a395e1b869abf8813473" +"@webassemblyjs/helper-wasm-section@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz#74ca6a6bcbe19e50a3b6b462847e69503e6bfcbf" + integrity sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA== dependencies: - onetime "^1.0.0" - set-immediate-shim "^1.0.0" + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-buffer" "1.8.5" + "@webassemblyjs/helper-wasm-bytecode" "1.8.5" + "@webassemblyjs/wasm-gen" "1.8.5" -ecc-jsbn@~0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" +"@webassemblyjs/ieee754@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz#712329dbef240f36bf57bd2f7b8fb9bf4154421e" + integrity sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g== dependencies: - jsbn "~0.1.0" - -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + "@xtuc/ieee754" "^1.2.0" -error-ex@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" +"@webassemblyjs/leb128@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.8.5.tgz#044edeb34ea679f3e04cd4fd9824d5e35767ae10" + integrity sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A== dependencies: - is-arrayish "^0.2.1" + "@xtuc/long" "4.2.2" -es5-ext@^0.10.12, es5-ext@^0.10.35, es5-ext@^0.10.9, es5-ext@~0.10.14: - version "0.10.38" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.38.tgz#fa7d40d65bbc9bb8a67e1d3f9cc656a00530eed3" - dependencies: - es6-iterator "~2.0.3" - es6-symbol "~3.1.1" +"@webassemblyjs/utf8@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.8.5.tgz#a8bf3b5d8ffe986c7c1e373ccbdc2a0915f0cedc" + integrity sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw== -es6-iterator@~2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" +"@webassemblyjs/wasm-edit@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz#962da12aa5acc1c131c81c4232991c82ce56e01a" + integrity sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q== + dependencies: + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-buffer" "1.8.5" + "@webassemblyjs/helper-wasm-bytecode" "1.8.5" + "@webassemblyjs/helper-wasm-section" "1.8.5" + "@webassemblyjs/wasm-gen" "1.8.5" + "@webassemblyjs/wasm-opt" "1.8.5" + "@webassemblyjs/wasm-parser" "1.8.5" + "@webassemblyjs/wast-printer" "1.8.5" + +"@webassemblyjs/wasm-gen@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz#54840766c2c1002eb64ed1abe720aded714f98bc" + integrity sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg== dependencies: - d "1" - es5-ext "^0.10.35" - es6-symbol "^3.1.1" + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-wasm-bytecode" "1.8.5" + "@webassemblyjs/ieee754" "1.8.5" + "@webassemblyjs/leb128" "1.8.5" + "@webassemblyjs/utf8" "1.8.5" -es6-symbol@^3.1.1, es6-symbol@~3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" +"@webassemblyjs/wasm-opt@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz#b24d9f6ba50394af1349f510afa8ffcb8a63d264" + integrity sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q== dependencies: - d "1" - es5-ext "~0.10.14" + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-buffer" "1.8.5" + "@webassemblyjs/wasm-gen" "1.8.5" + "@webassemblyjs/wasm-parser" "1.8.5" -es6-template-strings@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/es6-template-strings/-/es6-template-strings-2.0.1.tgz#b166c6a62562f478bb7775f6ca96103a599b4b2c" +"@webassemblyjs/wasm-parser@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz#21576f0ec88b91427357b8536383668ef7c66b8d" + integrity sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw== dependencies: - es5-ext "^0.10.12" - esniff "^1.1" + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-api-error" "1.8.5" + "@webassemblyjs/helper-wasm-bytecode" "1.8.5" + "@webassemblyjs/ieee754" "1.8.5" + "@webassemblyjs/leb128" "1.8.5" + "@webassemblyjs/utf8" "1.8.5" -escape-string-regexp@^1.0.2: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" +"@webassemblyjs/wast-parser@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz#e10eecd542d0e7bd394f6827c49f3df6d4eefb8c" + integrity sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg== + dependencies: + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/floating-point-hex-parser" "1.8.5" + "@webassemblyjs/helper-api-error" "1.8.5" + "@webassemblyjs/helper-code-frame" "1.8.5" + "@webassemblyjs/helper-fsm" "1.8.5" + "@xtuc/long" "4.2.2" -esniff@^1.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/esniff/-/esniff-1.1.0.tgz#c66849229f91464dede2e0d40201ed6abf65f2ac" +"@webassemblyjs/wast-printer@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz#114bbc481fd10ca0e23b3560fa812748b0bae5bc" + integrity sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg== dependencies: - d "1" - es5-ext "^0.10.12" + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/wast-parser" "1.8.5" + "@xtuc/long" "4.2.2" -esprima@^2.6.0: - version "2.7.3" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" +"@xtuc/ieee754@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" + integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== -esutils@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" +"@xtuc/long@4.2.2": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" + integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== -eventemitter2@~0.4.13: - version "0.4.14" - resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-0.4.14.tgz#8f61b75cde012b2e9eb284d4545583b5643b61ab" +abab@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.0.tgz#aba0ab4c5eee2d4c79d3487d85450fb2376ebb0f" + integrity sha512-sY5AXXVZv4Y1VACTtR11UJCPHHudgY5i26Qj5TypE6DKlIApbwb5uqhXcJ5UUGbvZNRh7EeIoW+LrJumBsKp7w== -exit@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" +abbrev@1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== -expand-brackets@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" - dependencies: - is-posix-bracket "^0.1.0" +acorn-dynamic-import@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz#482210140582a36b83c3e342e1cfebcaa9240948" + integrity sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw== -expand-range@^1.8.1: - version "1.8.2" - resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" +acorn-globals@^4.1.0: + version "4.3.2" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.2.tgz#4e2c2313a597fd589720395f6354b41cd5ec8006" + integrity sha512-BbzvZhVtZP+Bs1J1HcwrQe8ycfO0wStkSGxuul3He3GkHOIZ6eTqOkPuw9IP1X3+IkOo4wiJmwkobzXYz4wewQ== dependencies: - fill-range "^2.1.0" - -extend@~3.0.0, extend@~3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" + acorn "^6.0.1" + acorn-walk "^6.0.1" -extglob@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" - dependencies: - is-extglob "^1.0.0" +acorn-walk@^6.0.1: + version "6.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c" + integrity sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA== -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" +acorn@^5.5.3: + version "5.7.3" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" + integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw== -extsprintf@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" +acorn@^6.0.1, acorn@^6.0.5: + version "6.2.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.2.1.tgz#3ed8422d6dec09e6121cc7a843ca86a330a86b51" + integrity sha512-JD0xT5FCRDNyjDda3Lrg/IxFscp9q4tiYtxE1/nOzlKCk7hIRuYjhq1kCNkbPjMRMZuFq20HNQn1I9k8Oj0E+Q== -fast-deep-equal@^1.0.0: +add-px-to-style@1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz#96256a3bc975595eb36d82e9929d060d893439ff" - -fast-json-stable-stringify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" - -faye-websocket@~0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" - dependencies: - websocket-driver ">=0.5.1" + resolved "https://registry.yarnpkg.com/add-px-to-style/-/add-px-to-style-1.0.0.tgz#d0c135441fa8014a8137904531096f67f28f263a" + integrity sha1-0ME1RB+oAUqBN5BFMQlvZ/KPJjo= -file-sync-cmp@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/file-sync-cmp/-/file-sync-cmp-0.1.1.tgz#a5e7a8ffbfa493b43b923bbd4ca89a53b63b612b" +address@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/address/-/address-1.0.3.tgz#b5f50631f8d6cec8bd20c963963afb55e06cbce9" + integrity sha512-z55ocwKBRLryBs394Sm3ushTtBeg6VAeuku7utSoSnsJKvKcnXFIyC6vh27n3rXyxSgkJBBCAvyOn7gSUcTYjg== -filename-regex@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" +address@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/address/-/address-1.1.0.tgz#ef8e047847fcd2c5b6f50c16965f924fd99fe709" + integrity sha512-4diPfzWbLEIElVG4AnqP+00SULlPzNuyJFNnmMrLgyaxG6tZXJ1sn7mjBu4fHrJE+Yp/jgylOweJn2xsLMFggQ== -fill-range@^2.1.0: - version "2.2.3" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" +agent-base@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.3.0.tgz#8165f01c436009bccad0b1d122f05ed770efc6ee" + integrity sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg== dependencies: - is-number "^2.1.0" - isobject "^2.0.0" - randomatic "^1.1.3" - repeat-element "^1.1.2" - repeat-string "^1.5.2" + es6-promisify "^5.0.0" -find-up@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" - dependencies: - path-exists "^2.0.0" - pinkie-promise "^2.0.0" +ajv-errors@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" + integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== -findup-sync@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-0.2.1.tgz#e0a90a450075c49466ee513732057514b81e878c" - dependencies: - glob "~4.3.0" +ajv-keywords@^3.1.0: + version "3.4.1" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da" + integrity sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ== -findup-sync@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-0.3.0.tgz#37930aa5d816b777c03445e1966cc6790a4c0b16" +ajv@^6.1.0, ajv@^6.5.5: + version "6.10.2" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52" + integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw== dependencies: - glob "~5.0.0" + fast-deep-equal "^2.0.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" -for-in@^1.0.1: +alphanum-sort@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" + integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= -for-own@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" - dependencies: - for-in "^1.0.1" +amdefine@>=0.0.4: + version "1.0.1" + resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" + integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU= -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" +angular@1.6.6: + version "1.6.6" + resolved "https://registry.yarnpkg.com/angular/-/angular-1.6.6.tgz#fd5a3cfb437ce382d854ee01120797978527cb64" + integrity sha1-/Vo8+0N844LYVO4BEgeXl4Uny2Q= -form-data@~2.1.1: - version "2.1.4" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1" - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.5" - mime-types "^2.1.12" +ansi-colors@^3.0.0: + version "3.2.4" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" + integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA== -form-data@~2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.1.tgz#6fb94fbd71885306d73d15cc497fe4cc4ecd44bf" - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.5" - mime-types "^2.1.12" +ansi-escapes@^3.0.0, ansi-escapes@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" + integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= -fsevents@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.3.tgz#11f82318f5fe7bb2cd22965a108e9306208216d8" - dependencies: - nan "^2.3.0" - node-pre-gyp "^0.6.39" +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= -fstream-ignore@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" - dependencies: - fstream "^1.0.0" - inherits "2" - minimatch "^3.0.0" +ansi-regex@^4.0.0, ansi-regex@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" + integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== -fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2: - version "1.0.11" - resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" - dependencies: - graceful-fs "^4.1.2" - inherits "~2.0.0" - mkdirp ">=0.5 0" - rimraf "2" +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= -gauge@~2.7.3: - version "2.7.4" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" +ansi-styles@^3.2.0, ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== dependencies: - aproba "^1.0.3" - console-control-strings "^1.0.0" - has-unicode "^2.0.0" - object-assign "^4.1.0" - signal-exit "^3.0.0" - string-width "^1.0.1" - strip-ansi "^3.0.1" - wide-align "^1.1.0" + color-convert "^1.9.0" -gaze@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.2.tgz#847224677adb8870d679257ed3388fdb61e40105" +anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== dependencies: - globule "^1.0.0" + micromatch "^3.1.4" + normalize-path "^2.1.1" -get-caller-file@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" +aproba@^1.0.3, aproba@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" + integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== -get-stdin@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" +are-we-there-yet@~1.1.2: + version "1.1.5" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" + integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w== + dependencies: + delegates "^1.0.0" + readable-stream "^2.0.6" -getobject@~0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/getobject/-/getobject-0.1.0.tgz#047a449789fa160d018f5486ed91320b6ec7885c" +arg@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.1.tgz#485f8e7c390ce4c5f78257dbea80d4be11feda4c" + integrity sha512-SlmP3fEA88MBv0PypnXZ8ZfJhwmDeIE3SP71j37AiXQBXYosPV0x6uISAaHYSlSVhmHOVkomen0tbGk6Anlebw== -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== dependencies: - assert-plus "^1.0.0" + sprintf-js "~1.0.2" -glob-base@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" - dependencies: - glob-parent "^2.0.0" - is-glob "^2.0.0" +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= -glob-parent@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" - dependencies: - is-glob "^2.0.0" +arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== -glob@5.0.x, glob@~5.0.0: - version "5.0.15" - resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" - dependencies: - inflight "^1.0.4" - inherits "2" - minimatch "2 || 3" - once "^1.3.0" - path-is-absolute "^1.0.0" +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= -glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@~7.1.1: - version "7.1.2" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" +array-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" + integrity sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM= -glob@~4.3.0: - version "4.3.5" - resolved "https://registry.yarnpkg.com/glob/-/glob-4.3.5.tgz#80fbb08ca540f238acce5d11d1e9bc41e75173d3" - dependencies: - inflight "^1.0.4" - inherits "2" - minimatch "^2.0.1" - once "^1.3.0" +array-filter@~0.0.0: + version "0.0.1" + resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-0.0.1.tgz#7da8cf2e26628ed732803581fd21f67cacd2eeec" + integrity sha1-fajPLiZijtcygDWB/SH2fKzS7uw= -glob@~7.0.0: - version "7.0.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.6.tgz#211bafaf49e525b8cd93260d14ab136152b3f57a" - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.2" - once "^1.3.0" - path-is-absolute "^1.0.0" +array-find-index@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" + integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E= + +array-map@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/array-map/-/array-map-0.0.0.tgz#88a2bab73d1cf7bcd5c1b118a003f66f665fa662" + integrity sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI= -globals@^9.18.0: - version "9.18.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" +array-reduce@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/array-reduce/-/array-reduce-0.0.0.tgz#173899d3ffd1c7d9383e4479525dbe278cab5f2b" + integrity sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys= -globule@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/globule/-/globule-1.2.0.tgz#1dc49c6822dd9e8a2fa00ba2a295006e8664bd09" +array-union@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= dependencies: - glob "~7.1.1" - lodash "~4.17.4" - minimatch "~3.0.2" + array-uniq "^1.0.1" + +array-uniq@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= -graceful-fs@^4.1.2: - version "4.1.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= -"graceful-readlink@>= 1.0.0": +arrify@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= -grafana-sdk-mocks@grafana/grafana-sdk-mocks: - version "1.0.0" - resolved "https://codeload.github.com/grafana/grafana-sdk-mocks/tar.gz/82d4b132f1ac9761c969c917382d5fb9988ec632" +asap@~2.0.3: + version "2.0.6" + resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" + integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= -grunt-cli@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/grunt-cli/-/grunt-cli-1.2.0.tgz#562b119ebb069ddb464ace2845501be97b35b6a8" +asn1.js@^4.0.0: + version "4.10.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" + integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw== dependencies: - findup-sync "~0.3.0" - grunt-known-options "~1.1.0" - nopt "~3.0.6" - resolve "~1.1.0" + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" -grunt-contrib-clean@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/grunt-contrib-clean/-/grunt-contrib-clean-1.1.0.tgz#564abf2d0378a983a15b9e3f30ee75b738c40638" +asn1@~0.2.3: + version "0.2.4" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" + integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== dependencies: - async "^1.5.2" - rimraf "^2.5.1" + safer-buffer "~2.1.0" -grunt-contrib-copy@^1.0.0: +assert-plus@1.0.0, assert-plus@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/grunt-contrib-copy/-/grunt-contrib-copy-1.0.0.tgz#7060c6581e904b8ab0d00f076e0a8f6e3e7c3573" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= + +assert@^1.1.1: + version "1.5.0" + resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" + integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== dependencies: - chalk "^1.1.1" - file-sync-cmp "^0.1.0" + object-assign "^4.1.1" + util "0.10.3" -grunt-contrib-watch@^1.0.0: +assign-symbols@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/grunt-contrib-watch/-/grunt-contrib-watch-1.0.0.tgz#84a1a7a1d6abd26ed568413496c73133e990018f" - dependencies: - async "^1.5.0" - gaze "^1.0.0" - lodash "^3.10.1" - tiny-lr "^0.2.1" + resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= -grunt-known-options@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/grunt-known-options/-/grunt-known-options-1.1.0.tgz#a4274eeb32fa765da5a7a3b1712617ce3b144149" +ast-types@0.9.6: + version "0.9.6" + resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.9.6.tgz#102c9e9e9005d3e7e3829bf0c4fa24ee862ee9b9" + integrity sha1-ECyenpAF0+fjgpvwxPok7oYu6bk= -grunt-legacy-log-utils@~1.0.0: +astral-regex@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/grunt-legacy-log-utils/-/grunt-legacy-log-utils-1.0.0.tgz#a7b8e2d0fb35b5a50f4af986fc112749ebc96f3d" - dependencies: - chalk "~1.1.1" - lodash "~4.3.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" + integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== -grunt-legacy-log@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/grunt-legacy-log/-/grunt-legacy-log-1.0.0.tgz#fb86f1809847bc07dc47843f9ecd6cacb62df2d5" - dependencies: - colors "~1.1.2" - grunt-legacy-log-utils "~1.0.0" - hooker "~0.2.3" - lodash "~3.10.1" - underscore.string "~3.2.3" +async-each@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" + integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== + +async-foreach@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542" + integrity sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI= -grunt-legacy-util@~1.0.0: +async-limiter@~1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/grunt-legacy-util/-/grunt-legacy-util-1.0.0.tgz#386aa78dc6ed50986c2b18957265b1b48abb9b86" - dependencies: - async "~1.5.2" - exit "~0.1.1" - getobject "~0.1.0" - hooker "~0.2.3" - lodash "~4.3.0" - underscore.string "~3.2.3" - which "~1.2.1" + resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" + integrity sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg== -grunt-sass@^1.1.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/grunt-sass/-/grunt-sass-1.2.1.tgz#fb87b6caac46fb32d45177fd2e4b6ff7468c1919" - dependencies: - each-async "^1.0.0" - node-sass "^3.7.0" - object-assign "^4.0.1" +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= -grunt-systemjs-builder@^0.2.5: - version "0.2.7" - resolved "https://registry.yarnpkg.com/grunt-systemjs-builder/-/grunt-systemjs-builder-0.2.7.tgz#e1ba74ec95dd03f7706ae2e22cf4ef0e1bd29cc9" +atob@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + +autoprefixer@^9.4.9: + version "9.6.1" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.6.1.tgz#51967a02d2d2300bb01866c1611ec8348d355a47" + integrity sha512-aVo5WxR3VyvyJxcJC3h4FKfwCQvQWb1tSI5VHNibddCVWrcD1NvlxEweg3TSgiPztMnWfjpy2FURKA2kvDE+Tw== + dependencies: + browserslist "^4.6.3" + caniuse-lite "^1.0.30000980" + chalk "^2.4.2" + normalize-range "^0.1.2" + num2fraction "^1.2.2" + postcss "^7.0.17" + postcss-value-parser "^4.0.0" + +aws-sdk@^2.495.0: + version "2.500.0" + resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.500.0.tgz#2e4c5b7027c2d583fd0018f0aeed712cea135f7f" + integrity sha512-zVSO6STyBbbn5foqiH8Z0agpudtOibSRLhTXNkVnJTwJwYK5f9mv5WKOKcLivx/fvXwVE8QehZWyE3vBzl8I+w== + dependencies: + buffer "4.9.1" + events "1.1.1" + ieee754 "1.1.8" + jmespath "0.15.0" + querystring "0.2.0" + sax "1.2.1" + url "0.10.3" + uuid "3.3.2" + xml2js "0.4.19" + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= + +aws4@^1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" + integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ== + +axios@0.19.0: + version "0.19.0" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.19.0.tgz#8e09bff3d9122e133f7b8101c8fbdd00ed3d2ab8" + integrity sha512-1uvKqKQta3KBxIz14F2v06AEHZ/dIoeKfbTRkK1E5oqjDnuEerLmYTgJB5AiQZHJcljpg1TuRzdjDR06qNk0DQ== dependencies: - systemjs-builder "0.14.11 - 0.15.x" + follow-redirects "1.5.10" + is-buffer "^2.0.2" -grunt-typescript@^0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/grunt-typescript/-/grunt-typescript-0.8.0.tgz#22bdd43ffc59adee9bcd274d32a0b83ca5500290" +babel-code-frame@^6.22.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" + integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s= dependencies: - bluebird "~2.9.34" - chokidar "^1.0.5" - typescript "1.6.2" + chalk "^1.1.3" + esutils "^2.0.2" + js-tokens "^3.0.2" -grunt@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/grunt/-/grunt-1.0.1.tgz#e8778764e944b18f32bb0f10b9078475c9dfb56b" - dependencies: - coffee-script "~1.10.0" - dateformat "~1.0.12" - eventemitter2 "~0.4.13" - exit "~0.1.1" - findup-sync "~0.3.0" - glob "~7.0.0" - grunt-cli "~1.2.0" - grunt-known-options "~1.1.0" - grunt-legacy-log "~1.0.0" - grunt-legacy-util "~1.0.0" - iconv-lite "~0.4.13" - js-yaml "~3.5.2" - minimatch "~3.0.0" - nopt "~3.0.6" - path-is-absolute "~1.0.0" - rimraf "~2.2.8" +babel-jest@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-24.8.0.tgz#5c15ff2b28e20b0f45df43fe6b7f2aae93dba589" + integrity sha512-+5/kaZt4I9efoXzPlZASyK/lN9qdRKmmUav9smVc0ruPQD7IsfucQ87gpOE8mn2jbDuS6M/YOW6n3v9ZoIfgnw== + dependencies: + "@jest/transform" "^24.8.0" + "@jest/types" "^24.8.0" + "@types/babel__core" "^7.1.0" + babel-plugin-istanbul "^5.1.0" + babel-preset-jest "^24.6.0" + chalk "^2.4.2" + slash "^2.0.0" + +babel-loader@8.0.6: + version "8.0.6" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.0.6.tgz#e33bdb6f362b03f4bb141a0c21ab87c501b70dfb" + integrity sha512-4BmWKtBOBm13uoUwd08UwjZlaw3O9GWf456R9j+5YykFZ6LUIjIKLc0zEZf+hauxPOJs96C8k6FvYD09vWzhYw== + dependencies: + find-cache-dir "^2.0.0" + loader-utils "^1.0.2" + mkdirp "^0.5.1" + pify "^4.0.1" -har-schema@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" +babel-plugin-angularjs-annotate@0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/babel-plugin-angularjs-annotate/-/babel-plugin-angularjs-annotate-0.10.0.tgz#4213b3aaae494a087aad0b8237c5d0716d22ca76" + integrity sha512-NPE7FOAxcLPCUR/kNkrhHIjoScR3RyIlRH3yRn79j8EZWtpILVnCOdA9yKfsOmRh6BHnLHKl8ZAThc+YDd/QwQ== + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/types" "^7.2.0" + simple-is "~0.2.0" -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" +babel-plugin-dynamic-import-node@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz#f00f507bdaa3c3e3ff6e7e5e98d90a7acab96f7f" + integrity sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ== + dependencies: + object.assign "^4.1.0" + +babel-plugin-emotion@^9.2.11: + version "9.2.11" + resolved "https://registry.yarnpkg.com/babel-plugin-emotion/-/babel-plugin-emotion-9.2.11.tgz#319c005a9ee1d15bb447f59fe504c35fd5807728" + integrity sha512-dgCImifnOPPSeXod2znAmgc64NhaaOjGEHROR/M+lmStb3841yK1sgaDYAYMnlvWNz8GnpwIPN0VmNpbWYZ+VQ== + dependencies: + "@babel/helper-module-imports" "^7.0.0" + "@emotion/babel-utils" "^0.6.4" + "@emotion/hash" "^0.6.2" + "@emotion/memoize" "^0.6.1" + "@emotion/stylis" "^0.7.0" + babel-plugin-macros "^2.0.0" + babel-plugin-syntax-jsx "^6.18.0" + convert-source-map "^1.5.0" + find-root "^1.1.0" + mkdirp "^0.5.1" + source-map "^0.5.7" + touch "^2.0.1" -har-validator@~4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" +babel-plugin-istanbul@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz#df4ade83d897a92df069c4d9a25cf2671293c854" + integrity sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw== dependencies: - ajv "^4.9.1" - har-schema "^1.0.5" + "@babel/helper-plugin-utils" "^7.0.0" + find-up "^3.0.0" + istanbul-lib-instrument "^3.3.0" + test-exclude "^5.2.3" -har-validator@~5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.0.3.tgz#ba402c266194f15956ef15e0fcf242993f6a7dfd" +babel-plugin-jest-hoist@^24.6.0: + version "24.6.0" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.6.0.tgz#f7f7f7ad150ee96d7a5e8e2c5da8319579e78019" + integrity sha512-3pKNH6hMt9SbOv0F3WVmy5CWQ4uogS3k0GY5XLyQHJ9EGpAT9XWkFd2ZiXXtkwFHdAHa5j7w7kfxSP5lAIwu7w== dependencies: - ajv "^5.1.0" - har-schema "^2.0.0" + "@types/babel__traverse" "^7.0.6" -has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" +babel-plugin-macros@^2.0.0: + version "2.6.1" + resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.6.1.tgz#41f7ead616fc36f6a93180e89697f69f51671181" + integrity sha512-6W2nwiXme6j1n2erPOnmRiWfObUhWH7Qw1LMi9XZy8cj+KtESu3T6asZvtk5bMQQjX8te35o7CFueiSdL/2NmQ== dependencies: - ansi-regex "^2.0.0" + "@babel/runtime" "^7.4.2" + cosmiconfig "^5.2.0" + resolve "^1.10.0" -has-unicode@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" +babel-plugin-syntax-jsx@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946" + integrity sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY= -hawk@3.1.3, hawk@~3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" +babel-preset-jest@^24.6.0: + version "24.6.0" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-24.6.0.tgz#66f06136eefce87797539c0d63f1769cc3915984" + integrity sha512-pdZqLEdmy1ZK5kyRUfvBb2IfTPb2BUvIJczlPspS8fWmBQslNNDBqVfh7BW5leOVJMDZKzjD8XEyABTk6gQ5yw== dependencies: - boom "2.x.x" - cryptiles "2.x.x" - hoek "2.x.x" - sntp "1.x.x" + "@babel/plugin-syntax-object-rest-spread" "^7.0.0" + babel-plugin-jest-hoist "^24.6.0" -hawk@~6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/hawk/-/hawk-6.0.2.tgz#af4d914eb065f9b5ce4d9d11c1cb2126eecc3038" +babel-runtime@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= dependencies: - boom "4.x.x" - cryptiles "3.x.x" - hoek "4.x.x" - sntp "2.x.x" + core-js "^2.4.0" + regenerator-runtime "^0.11.0" -hoek@2.x.x: - version "2.16.3" - resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= -hoek@4.x.x: - version "4.2.0" - resolved "https://registry.yarnpkg.com/hoek/-/hoek-4.2.0.tgz#72d9d0754f7fe25ca2d01ad8f8f9a9449a89526d" +base64-js@^1.0.2: + version "1.3.0" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3" + integrity sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw== + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" -home-or-tmp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.1" - -hooker@~0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/hooker/-/hooker-0.2.3.tgz#b834f723cc4a242aa65963459df6d984c5d3d959" + tweetnacl "^0.14.3" -hosted-git-info@^2.1.4: - version "2.5.0" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.5.0.tgz#6d60e34b3abbc8313062c3b798ef8d901a07af3c" +big.js@^3.1.3: + version "3.2.0" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" + integrity sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q== -http-errors@~1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.3.1.tgz#197e22cdebd4198585e8694ef6786197b91ed942" - dependencies: - inherits "~2.0.1" - statuses "1" +big.js@^5.2.2: + version "5.2.2" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" + integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== -http-parser-js@>=0.4.0: - version "0.4.9" - resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.9.tgz#ea1a04fb64adff0242e9974f297dd4c3cad271e1" +binary-extensions@^1.0.0: + version "1.13.1" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" + integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== -http-signature@~1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" +block-stream@*: + version "0.0.9" + resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" + integrity sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo= dependencies: - assert-plus "^0.2.0" - jsprim "^1.2.2" - sshpk "^1.7.0" + inherits "~2.0.0" -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" +bluebird@^3.5.5: + version "3.5.5" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.5.tgz#a8d0afd73251effbbd5fe384a77d73003c17a71f" + integrity sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w== -iconv-lite@0.4.13: - version "0.4.13" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.13.tgz#1f88aba4ab0b1508e8312acc39345f36e992e2f2" +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: + version "4.11.8" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" + integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA== -iconv-lite@~0.4.13: - version "0.4.19" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" +boolbase@^1.0.0, boolbase@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= -in-publish@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.0.tgz#e20ff5e3a2afc2690320b6dc552682a9c7fadf51" +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" -indent-string@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" +braces@^2.3.1, braces@^2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== dependencies: - repeating "^2.0.0" + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" +braces@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== dependencies: - once "^1.3.0" - wrappy "1" + fill-range "^7.0.1" -inherits@2, inherits@^2.0.1, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" +brorand@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= -ini@~1.3.0: - version "1.3.5" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" +browser-process-hrtime@^0.1.2: + version "0.1.3" + resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz#616f00faef1df7ec1b5bf9cfe2bdc3170f26c7b4" + integrity sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw== -invariant@^2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" +browser-resolve@^1.11.3: + version "1.11.3" + resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6" + integrity sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ== dependencies: - loose-envify "^1.0.0" - -invert-kv@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" + resolve "1.1.7" -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" +browserify-aes@^1.0.0, browserify-aes@^1.0.4: + version "1.2.0" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== + dependencies: + buffer-xor "^1.0.3" + cipher-base "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.3" + inherits "^2.0.1" + safe-buffer "^5.0.1" -is-binary-path@^1.0.0: +browserify-cipher@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" + integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== dependencies: - binary-extensions "^1.0.0" - -is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + browserify-aes "^1.0.4" + browserify-des "^1.0.0" + evp_bytestokey "^1.0.0" -is-builtin-module@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" +browserify-des@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" + integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== dependencies: - builtin-modules "^1.0.0" + cipher-base "^1.0.1" + des.js "^1.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" -is-dotfile@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" +browserify-rsa@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" + integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ= + dependencies: + bn.js "^4.1.0" + randombytes "^2.0.1" + +browserify-sign@^4.0.0: + version "4.0.4" + resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" + integrity sha1-qk62jl17ZYuqa/alfmMMvXqT0pg= + dependencies: + bn.js "^4.1.1" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.2" + elliptic "^6.0.0" + inherits "^2.0.1" + parse-asn1 "^5.0.0" -is-equal-shallow@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" +browserify-zlib@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" + integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== dependencies: - is-primitive "^2.0.0" - -is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - -is-extglob@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" + pako "~1.0.5" -is-finite@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" +browserslist@4.5.4: + version "4.5.4" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.5.4.tgz#166c4ecef3b51737a42436ea8002aeea466ea2c7" + integrity sha512-rAjx494LMjqKnMPhFkuLmLp8JWEX0o8ADTGeAbOqaF+XCvYLreZrG5uVjnPBlAQ8REZK4pzXGvp0bWgrFtKaag== dependencies: - number-is-nan "^1.0.0" + caniuse-lite "^1.0.30000955" + electron-to-chromium "^1.3.122" + node-releases "^1.1.13" -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" +browserslist@^4.0.0, browserslist@^4.4.2, browserslist@^4.6.0, browserslist@^4.6.2, browserslist@^4.6.3: + version "4.6.6" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.6.6.tgz#6e4bf467cde520bc9dbdf3747dafa03531cec453" + integrity sha512-D2Nk3W9JL9Fp/gIcWei8LrERCS+eXu9AM5cfXA8WEZ84lFks+ARnZ0q/R69m2SV3Wjma83QDDPxsNKXUwdIsyA== dependencies: - number-is-nan "^1.0.0" + caniuse-lite "^1.0.30000984" + electron-to-chromium "^1.3.191" + node-releases "^1.1.25" -is-glob@^2.0.0, is-glob@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" +bs-logger@0.x: + version "0.2.6" + resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" + integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== dependencies: - is-extglob "^1.0.0" + fast-json-stable-stringify "2.x" -is-number@^2.1.0: +bser@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" - dependencies: - kind-of "^3.0.2" - -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.0.tgz#65fc784bf7f87c009b973c12db6546902fa9c7b5" + integrity sha512-8zsjWrQkkBoLK6uxASk1nJ2SKv97ltiGDo6A3wA0/yRPz+CwmEyDo0hUrhIuukG2JHpAl3bvFIixw2/3Hi0DOg== dependencies: - kind-of "^3.0.2" + node-int64 "^0.4.0" -is-posix-bracket@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" +buffer-from@1.x, buffer-from@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" + integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== -is-primitive@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" +buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= -is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" +buffer@4.9.1, buffer@^4.3.0: + version "4.9.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" + integrity sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg= + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + isarray "^1.0.0" -is-utf8@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" +builtin-modules@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" + integrity sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8= -isarray@1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" +builtin-status-codes@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" + integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= + +cacache@^11.3.2: + version "11.3.3" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-11.3.3.tgz#8bd29df8c6a718a6ebd2d010da4d7972ae3bbadc" + integrity sha512-p8WcneCytvzPxhDvYp31PD039vi77I12W+/KfR9S8AZbaiARFBCpsPJS+9uhWfeBfeAtW7o/4vt3MUqLkbY6nA== + dependencies: + bluebird "^3.5.5" + chownr "^1.1.1" + figgy-pudding "^3.5.1" + glob "^7.1.4" + graceful-fs "^4.1.15" + lru-cache "^5.1.1" + mississippi "^3.0.0" + mkdirp "^0.5.1" + move-concurrently "^1.0.1" + promise-inflight "^1.0.1" + rimraf "^2.6.3" + ssri "^6.0.1" + unique-filename "^1.1.1" + y18n "^4.0.0" + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + +call-me-maybe@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" + integrity sha1-JtII6onje1y95gJQoV8DHBak1ms= -isexe@^2.0.0: +caller-callsite@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" + integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ= + dependencies: + callsites "^2.0.0" -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" +caller-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" + integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ= dependencies: - isarray "1.0.0" + caller-callsite "^2.0.0" -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" +callsites@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" + integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= -js-base64@^2.1.8: - version "2.4.2" - resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.4.2.tgz#1896da010ef8862f385d8887648e9b6dc4a7a2e9" +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -js-tokens@^3.0.0, js-tokens@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" +camel-case@3.0.x: + version "3.0.0" + resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" + integrity sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M= + dependencies: + no-case "^2.2.0" + upper-case "^1.1.1" -js-yaml@~3.5.2: - version "3.5.5" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.5.5.tgz#0377c38017cabc7322b0d1fbcd25a491641f2fbe" +camelcase-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" + integrity sha1-MIvur/3ygRkFHvodkyITyRuPkuc= dependencies: - argparse "^1.0.2" - esprima "^2.6.0" + camelcase "^2.0.0" + map-obj "^1.0.0" -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" +camelcase@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" + integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8= -jsesc@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" +camelcase@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" + integrity sha1-MvxLn82vhF/N9+c7uXysImHwqwo= -json-schema-traverse@^0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" +camelcase@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" + integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= -json-schema@0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" +camelcase@^5.0.0, camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -json-stable-stringify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" +caniuse-api@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" + integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== dependencies: - jsonify "~0.0.0" + browserslist "^4.0.0" + caniuse-lite "^1.0.0" + lodash.memoize "^4.1.2" + lodash.uniq "^4.5.0" -json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000939, caniuse-lite@^1.0.30000955, caniuse-lite@^1.0.30000980, caniuse-lite@^1.0.30000984: + version "1.0.30000985" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000985.tgz#0eb40f6c8a8c219155cbe43c4975c0efb4a0f77f" + integrity sha512-1ngiwkgqAYPG0JSSUp3PUDGPKKY59EK7NrGGX+VOxaKCNzRbNc7uXMny+c3VJfZxtoK3wSImTvG9T9sXiTw2+w== -json5@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" +capture-exit@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" + integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== + dependencies: + rsvp "^4.8.4" -jsonify@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= -jsprim@^1.2.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" +chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.2.3" - verror "1.10.0" + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" -kind-of@^3.0.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" +chalk@^1.1.1, chalk@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +chardet@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" + integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== + +chokidar@^2.0.2, chokidar@^2.0.4: + version "2.1.6" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.6.tgz#b6cad653a929e244ce8a834244164d241fa954c5" + integrity sha512-V2jUo67OKkc6ySiRpJrjlpJKl9kDuG+Xb8VgsGzb+aEouhgS1D0weyPU4lEzdAcsCAvrih2J2BqyXqHWvVLw5g== + dependencies: + anymatch "^2.0.0" + async-each "^1.0.1" + braces "^2.3.2" + glob-parent "^3.1.0" + inherits "^2.0.3" + is-binary-path "^1.0.0" + is-glob "^4.0.0" + normalize-path "^3.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.2.1" + upath "^1.1.1" + optionalDependencies: + fsevents "^1.2.7" + +chownr@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.2.tgz#a18f1e0b269c8a6a5d3c86eb298beb14c3dd7bf6" + integrity sha512-GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A== + +chrome-trace-event@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4" + integrity sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ== + dependencies: + tslib "^1.9.0" + +ci-info@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== + +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +classnames@2.2.6, classnames@^2.2.3, classnames@^2.2.5: + version "2.2.6" + resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce" + integrity sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q== + +clean-css@4.2.x: + version "4.2.1" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.1.tgz#2d411ef76b8569b6d0c84068dabe85b0aa5e5c17" + integrity sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g== + dependencies: + source-map "~0.6.0" + +cli-cursor@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" + integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= + dependencies: + restore-cursor "^2.0.0" + +cli-spinners@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.2.0.tgz#e8b988d9206c692302d8ee834e7a85c0144d8f77" + integrity sha512-tgU3fKwzYjiLEQgPMD9Jt+JjHVL9kW93FiIMX/l7rivvOD4/LL0Mf7gda3+4U2KJBloybwgj5KEoQgGRioMiKQ== + +cli-width@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" + integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= + +cliui@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" + integrity sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0= + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + wrap-ansi "^2.0.0" + +cliui@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" + integrity sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ== + dependencies: + string-width "^2.1.1" + strip-ansi "^4.0.0" + wrap-ansi "^2.0.0" + +cliui@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" + integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== + dependencies: + string-width "^3.1.0" + strip-ansi "^5.2.0" + wrap-ansi "^5.1.0" + +clone-deep@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-2.0.2.tgz#00db3a1e173656730d1188c3d6aced6d7ea97713" + integrity sha512-SZegPTKjCgpQH63E+eN6mVEEPdQBOUzjyJm5Pora4lrwWRFS8I0QAxV/KD6vV/i0WuijHZWQC1fMsPEdxfdVCQ== + dependencies: + for-own "^1.0.0" + is-plain-object "^2.0.4" + kind-of "^6.0.0" + shallow-clone "^1.0.0" + +clone@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" + integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= + +coa@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3" + integrity sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA== + dependencies: + "@types/q" "^1.5.1" + chalk "^2.4.1" + q "^1.1.2" + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +color-convert@^1.9.0, color-convert@^1.9.1: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +color-name@^1.0.0: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +color-string@^1.5.2: + version "1.5.3" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc" + integrity sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw== + dependencies: + color-name "^1.0.0" + simple-swizzle "^0.2.2" + +color@^3.0.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/color/-/color-3.1.2.tgz#68148e7f85d41ad7649c5fa8c8106f098d229e10" + integrity sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg== + dependencies: + color-convert "^1.9.1" + color-string "^1.5.2" + +combined-stream@^1.0.6, combined-stream@~1.0.6: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +commander@2, commander@^2.12.1, commander@^2.20.0, commander@~2.20.0: + version "2.20.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422" + integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ== + +commander@2.17.x: + version "2.17.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" + integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== + +commander@~2.19.0: + version "2.19.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" + integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg== + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= + +component-emitter@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" + integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +concat-stream@1.6.2, concat-stream@^1.5.0: + version "1.6.2" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" + integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + +concurrently@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-4.1.0.tgz#17fdf067da71210685d9ea554423ef239da30d33" + integrity sha512-pwzXCE7qtOB346LyO9eFWpkFJVO3JQZ/qU/feGeaAHiX1M3Rw3zgXKc5cZ8vSH5DGygkjzLFDzA/pwoQDkRNGg== + dependencies: + chalk "^2.4.1" + date-fns "^1.23.0" + lodash "^4.17.10" + read-pkg "^4.0.1" + rxjs "^6.3.3" + spawn-command "^0.0.2-1" + supports-color "^4.5.0" + tree-kill "^1.1.0" + yargs "^12.0.1" + +console-browserify@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" + integrity sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA= + dependencies: + date-now "^0.1.4" + +console-control-strings@^1.0.0, console-control-strings@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= + +constants-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" + integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= + +convert-source-map@^1.1.0, convert-source-map@^1.4.0, convert-source-map@^1.5.0, convert-source-map@^1.5.1: + version "1.6.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" + integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A== + dependencies: + safe-buffer "~5.1.1" + +copy-concurrently@^1.0.0: + version "1.0.5" + resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" + integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A== + dependencies: + aproba "^1.1.1" + fs-write-stream-atomic "^1.0.8" + iferr "^0.1.5" + mkdirp "^0.5.1" + rimraf "^2.5.4" + run-queue "^1.0.0" + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= + +copy-webpack-plugin@5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-5.0.3.tgz#2179e3c8fd69f13afe74da338896f1f01a875b5c" + integrity sha512-PlZRs9CUMnAVylZq+vg2Juew662jWtwOXOqH4lbQD9ZFhRG9R7tVStOgHt21CBGVq7k5yIJaz8TXDLSjV+Lj8Q== + dependencies: + cacache "^11.3.2" + find-cache-dir "^2.1.0" + glob-parent "^3.1.0" + globby "^7.1.1" + is-glob "^4.0.1" + loader-utils "^1.2.3" + minimatch "^3.0.4" + normalize-path "^3.0.0" + p-limit "^2.2.0" + schema-utils "^1.0.0" + serialize-javascript "^1.7.0" + webpack-log "^2.0.0" + +core-js-compat@^3.1.1: + version "3.1.4" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.1.4.tgz#e4d0c40fbd01e65b1d457980fe4112d4358a7408" + integrity sha512-Z5zbO9f1d0YrJdoaQhphVAnKPimX92D6z8lCGphH89MNRxlL1prI9ExJPqVwP0/kgkQCv8c4GJGT8X16yUncOg== + dependencies: + browserslist "^4.6.2" + core-js-pure "3.1.4" + semver "^6.1.1" + +core-js-pure@3.1.4: + version "3.1.4" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.1.4.tgz#5fa17dc77002a169a3566cc48dc774d2e13e3769" + integrity sha512-uJ4Z7iPNwiu1foygbcZYJsJs1jiXrTTCvxfLDXNhI/I+NHbSIEyr548y4fcsCEyWY0XgfAG/qqaunJ1SThHenA== + +core-js@^1.0.0: + version "1.2.7" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" + integrity sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY= + +core-js@^2.4.0: + version "2.6.9" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.9.tgz#6b4b214620c834152e179323727fc19741b084f2" + integrity sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A== + +core-util-is@1.0.2, core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + +cosmiconfig@^5.0.0, cosmiconfig@^5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" + integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== + dependencies: + import-fresh "^2.0.0" + is-directory "^0.3.1" + js-yaml "^3.13.1" + parse-json "^4.0.0" + +create-ecdh@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff" + integrity sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw== + dependencies: + bn.js "^4.1.0" + elliptic "^6.0.0" + +create-emotion@^9.2.12: + version "9.2.12" + resolved "https://registry.yarnpkg.com/create-emotion/-/create-emotion-9.2.12.tgz#0fc8e7f92c4f8bb924b0fef6781f66b1d07cb26f" + integrity sha512-P57uOF9NL2y98Xrbl2OuiDQUZ30GVmASsv5fbsjF4Hlraip2kyAvMm+2PoYUvFFw03Fhgtxk3RqZSm2/qHL9hA== + dependencies: + "@emotion/hash" "^0.6.2" + "@emotion/memoize" "^0.6.1" + "@emotion/stylis" "^0.7.0" + "@emotion/unitless" "^0.6.2" + csstype "^2.5.2" + stylis "^3.5.0" + stylis-rule-sheet "^0.0.10" + +create-hash@^1.1.0, create-hash@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + md5.js "^1.3.4" + ripemd160 "^2.0.1" + sha.js "^2.4.0" + +create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: + version "1.1.7" + resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== + dependencies: + cipher-base "^1.0.3" + create-hash "^1.1.0" + inherits "^2.0.1" + ripemd160 "^2.0.0" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +create-react-context@<=0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/create-react-context/-/create-react-context-0.2.2.tgz#9836542f9aaa22868cd7d4a6f82667df38019dca" + integrity sha512-KkpaLARMhsTsgp0d2NA/R94F/eDLbhXERdIq3LvX2biCAXcDvHYoOqHfWCHf1+OLj+HKBotLG3KqaOOf+C1C+A== + dependencies: + fbjs "^0.8.0" + gud "^1.0.0" + +cross-spawn@6.0.5, cross-spawn@^6.0.0: + version "6.0.5" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982" + integrity sha1-ElYDfsufDF9549bvE14wdwGEuYI= + dependencies: + lru-cache "^4.0.1" + which "^1.2.9" + +crypto-browserify@^3.11.0: + version "3.12.0" + resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" + integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== + dependencies: + browserify-cipher "^1.0.0" + browserify-sign "^4.0.0" + create-ecdh "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.0" + diffie-hellman "^5.0.0" + inherits "^2.0.1" + pbkdf2 "^3.0.3" + public-encrypt "^4.0.0" + randombytes "^2.0.0" + randomfill "^1.0.3" + +css-blank-pseudo@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz#dfdefd3254bf8a82027993674ccf35483bfcb3c5" + integrity sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w== + dependencies: + postcss "^7.0.5" + +css-color-names@0.0.4, css-color-names@^0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" + integrity sha1-gIrcLnnPhHOAabZGyyDsJ762KeA= + +css-declaration-sorter@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz#c198940f63a76d7e36c1e71018b001721054cb22" + integrity sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA== + dependencies: + postcss "^7.0.1" + timsort "^0.3.0" + +css-has-pseudo@^0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz#3c642ab34ca242c59c41a125df9105841f6966ee" + integrity sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ== + dependencies: + postcss "^7.0.6" + postcss-selector-parser "^5.0.0-rc.4" + +css-loader@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-3.1.0.tgz#6f008b993b8ce812e6bab57f3cbfdc7a7cf28685" + integrity sha512-MuL8WsF/KSrHCBCYaozBKlx+r7vIfUaDTEreo7wR7Vv3J6N0z6fqWjRk3e/6wjneitXN1r/Y9FTK1psYNOBdJQ== + dependencies: + camelcase "^5.3.1" + cssesc "^3.0.0" + icss-utils "^4.1.1" + loader-utils "^1.2.3" + normalize-path "^3.0.0" + postcss "^7.0.17" + postcss-modules-extract-imports "^2.0.0" + postcss-modules-local-by-default "^3.0.2" + postcss-modules-scope "^2.1.0" + postcss-modules-values "^3.0.0" + postcss-value-parser "^4.0.0" + schema-utils "^2.0.0" + +css-prefers-color-scheme@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz#6f830a2714199d4f0d0d0bb8a27916ed65cff1f4" + integrity sha512-MTu6+tMs9S3EUqzmqLXEcgNRbNkkD/TGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm/lLjsDNXDE6k9bhg== + dependencies: + postcss "^7.0.5" + +css-select-base-adapter@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" + integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w== + +css-select@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" + integrity sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg= + dependencies: + boolbase "~1.0.0" + css-what "2.1" + domutils "1.5.1" + nth-check "~1.0.1" + +css-select@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.0.2.tgz#ab4386cec9e1f668855564b17c3733b43b2a5ede" + integrity sha512-dSpYaDVoWaELjvZ3mS6IKZM/y2PMPa/XYoEfYNZePL4U/XgyxZNroHEHReDx/d+VgXh9VbCTtFqLkFbmeqeaRQ== + dependencies: + boolbase "^1.0.0" + css-what "^2.1.2" + domutils "^1.7.0" + nth-check "^1.0.2" + +css-tree@1.0.0-alpha.29: + version "1.0.0-alpha.29" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.29.tgz#3fa9d4ef3142cbd1c301e7664c1f352bd82f5a39" + integrity sha512-sRNb1XydwkW9IOci6iB2xmy8IGCj6r/fr+JWitvJ2JxQRPzN3T4AGGVWCMlVmVwM1gtgALJRmGIlWv5ppnGGkg== + dependencies: + mdn-data "~1.1.0" + source-map "^0.5.3" + +css-tree@1.0.0-alpha.33: + version "1.0.0-alpha.33" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.33.tgz#970e20e5a91f7a378ddd0fc58d0b6c8d4f3be93e" + integrity sha512-SPt57bh5nQnpsTBsx/IXbO14sRc9xXu5MtMAVuo0BaQQmyf0NupNPPSoMaqiAF5tDFafYsTkfeH4Q/HCKXkg4w== + dependencies: + mdn-data "2.0.4" + source-map "^0.5.3" + +css-unit-converter@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/css-unit-converter/-/css-unit-converter-1.1.1.tgz#d9b9281adcfd8ced935bdbaba83786897f64e996" + integrity sha1-2bkoGtz9jO2TW9urqDeGiX9k6ZY= + +css-what@2.1, css-what@^2.1.2: + version "2.1.3" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2" + integrity sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg== + +cssdb@^4.3.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-4.4.0.tgz#3bf2f2a68c10f5c6a08abd92378331ee803cddb0" + integrity sha512-LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ== + +cssesc@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-2.0.0.tgz#3b13bd1bb1cb36e1bcb5a4dcd27f54c5dcb35703" + integrity sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg== + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +cssnano-preset-default@^4.0.7: + version "4.0.7" + resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz#51ec662ccfca0f88b396dcd9679cdb931be17f76" + integrity sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA== + dependencies: + css-declaration-sorter "^4.0.1" + cssnano-util-raw-cache "^4.0.1" + postcss "^7.0.0" + postcss-calc "^7.0.1" + postcss-colormin "^4.0.3" + postcss-convert-values "^4.0.1" + postcss-discard-comments "^4.0.2" + postcss-discard-duplicates "^4.0.2" + postcss-discard-empty "^4.0.1" + postcss-discard-overridden "^4.0.1" + postcss-merge-longhand "^4.0.11" + postcss-merge-rules "^4.0.3" + postcss-minify-font-values "^4.0.2" + postcss-minify-gradients "^4.0.2" + postcss-minify-params "^4.0.2" + postcss-minify-selectors "^4.0.2" + postcss-normalize-charset "^4.0.1" + postcss-normalize-display-values "^4.0.2" + postcss-normalize-positions "^4.0.2" + postcss-normalize-repeat-style "^4.0.2" + postcss-normalize-string "^4.0.2" + postcss-normalize-timing-functions "^4.0.2" + postcss-normalize-unicode "^4.0.1" + postcss-normalize-url "^4.0.1" + postcss-normalize-whitespace "^4.0.2" + postcss-ordered-values "^4.1.2" + postcss-reduce-initial "^4.0.3" + postcss-reduce-transforms "^4.0.2" + postcss-svgo "^4.0.2" + postcss-unique-selectors "^4.0.1" + +cssnano-util-get-arguments@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz#ed3a08299f21d75741b20f3b81f194ed49cc150f" + integrity sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8= + +cssnano-util-get-match@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz#c0e4ca07f5386bb17ec5e52250b4f5961365156d" + integrity sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0= + +cssnano-util-raw-cache@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz#b26d5fd5f72a11dfe7a7846fb4c67260f96bf282" + integrity sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA== + dependencies: + postcss "^7.0.0" + +cssnano-util-same-parent@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3" + integrity sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q== + +cssnano@^4.1.10: + version "4.1.10" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.10.tgz#0ac41f0b13d13d465487e111b778d42da631b8b2" + integrity sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ== + dependencies: + cosmiconfig "^5.0.0" + cssnano-preset-default "^4.0.7" + is-resolvable "^1.0.0" + postcss "^7.0.0" + +csso@^3.5.1: + version "3.5.1" + resolved "https://registry.yarnpkg.com/csso/-/csso-3.5.1.tgz#7b9eb8be61628973c1b261e169d2f024008e758b" + integrity sha512-vrqULLffYU1Q2tLdJvaCYbONStnfkfimRxXNaGjxMldI0C7JPBC4rB1RyjhfdZ4m1frm8pM9uRPKH3d2knZ8gg== + dependencies: + css-tree "1.0.0-alpha.29" + +cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0": + version "0.3.8" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" + integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== + +cssstyle@^1.0.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.4.0.tgz#9d31328229d3c565c61e586b02041a28fccdccf1" + integrity sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA== + dependencies: + cssom "0.3.x" + +csstype@^2.2.0, csstype@^2.5.2: + version "2.6.6" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.6.tgz#c34f8226a94bbb10c32cc0d714afdf942291fc41" + integrity sha512-RpFbQGUE74iyPgvr46U9t1xoQBM8T4BL8SxrN66Le2xYAPSaDJJKeztV3awugusb3g3G9iL8StmkBBXhcbbXhg== + +currently-unhandled@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" + integrity sha1-mI3zP+qxke95mmE2nddsF635V+o= + dependencies: + array-find-index "^1.0.1" + +cyclist@~0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640" + integrity sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA= + +d3-array@1, d3-array@^1.1.1, d3-array@^1.2.0: + version "1.2.4" + resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-1.2.4.tgz#635ce4d5eea759f6f605863dbcfc30edc737f71f" + integrity sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw== + +d3-axis@1: + version "1.0.12" + resolved "https://registry.yarnpkg.com/d3-axis/-/d3-axis-1.0.12.tgz#cdf20ba210cfbb43795af33756886fb3638daac9" + integrity sha512-ejINPfPSNdGFKEOAtnBtdkpr24c4d4jsei6Lg98mxf424ivoDP2956/5HDpIAtmHo85lqT4pruy+zEgvRUBqaQ== + +d3-brush@1: + version "1.0.6" + resolved "https://registry.yarnpkg.com/d3-brush/-/d3-brush-1.0.6.tgz#33691f2032d9db6c5d8cb684ff255a9883629e21" + integrity sha512-lGSiF5SoSqO5/mYGD5FAeGKKS62JdA1EV7HPrU2b5rTX4qEJJtpjaGLJngjnkewQy7UnGstnFd3168wpf5z76w== + dependencies: + d3-dispatch "1" + d3-drag "1" + d3-interpolate "1" + d3-selection "1" + d3-transition "1" + +d3-chord@1: + version "1.0.6" + resolved "https://registry.yarnpkg.com/d3-chord/-/d3-chord-1.0.6.tgz#309157e3f2db2c752f0280fedd35f2067ccbb15f" + integrity sha512-JXA2Dro1Fxw9rJe33Uv+Ckr5IrAa74TlfDEhE/jfLOaXegMQFQTAgAw9WnZL8+HxVBRXaRGCkrNU7pJeylRIuA== + dependencies: + d3-array "1" + d3-path "1" + +d3-collection@1: + version "1.0.7" + resolved "https://registry.yarnpkg.com/d3-collection/-/d3-collection-1.0.7.tgz#349bd2aa9977db071091c13144d5e4f16b5b310e" + integrity sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A== + +d3-color@1: + version "1.2.8" + resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-1.2.8.tgz#4eaf9b60ef188c893fcf8b28f3546aafebfbd9f4" + integrity sha512-yeANXzP37PHk0DbSTMNPhnJD+Nn4G//O5E825bR6fAfHH43hobSBpgB9G9oWVl9+XgUaQ4yCnsX1H+l8DoaL9A== + +d3-contour@1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/d3-contour/-/d3-contour-1.3.2.tgz#652aacd500d2264cb3423cee10db69f6f59bead3" + integrity sha512-hoPp4K/rJCu0ladiH6zmJUEz6+u3lgR+GSm/QdM2BBvDraU39Vr7YdDCicJcxP1z8i9B/2dJLgDC1NcvlF8WCg== + dependencies: + d3-array "^1.1.1" + +d3-dispatch@1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/d3-dispatch/-/d3-dispatch-1.0.5.tgz#e25c10a186517cd6c82dd19ea018f07e01e39015" + integrity sha512-vwKx+lAqB1UuCeklr6Jh1bvC4SZgbSqbkGBLClItFBIYH4vqDJCA7qfoy14lXmJdnBOdxndAMxjCbImJYW7e6g== + +d3-drag@1: + version "1.2.3" + resolved "https://registry.yarnpkg.com/d3-drag/-/d3-drag-1.2.3.tgz#46e206ad863ec465d88c588098a1df444cd33c64" + integrity sha512-8S3HWCAg+ilzjJsNtWW1Mutl74Nmzhb9yU6igspilaJzeZVFktmY6oO9xOh5TDk+BM2KrNFjttZNoJJmDnkjkg== + dependencies: + d3-dispatch "1" + d3-selection "1" + +d3-dsv@1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/d3-dsv/-/d3-dsv-1.1.1.tgz#aaa830ecb76c4b5015572c647cc6441e3c7bb701" + integrity sha512-1EH1oRGSkeDUlDRbhsFytAXU6cAmXFzc52YUe6MRlPClmWb85MP1J5x+YJRzya4ynZWnbELdSAvATFW/MbxaXw== + dependencies: + commander "2" + iconv-lite "0.4" + rw "1" + +d3-ease@1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/d3-ease/-/d3-ease-1.0.5.tgz#8ce59276d81241b1b72042d6af2d40e76d936ffb" + integrity sha512-Ct1O//ly5y5lFM9YTdu+ygq7LleSgSE4oj7vUt9tPLHUi8VCV7QoizGpdWRWAwCO9LdYzIrQDg97+hGVdsSGPQ== + +d3-fetch@1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/d3-fetch/-/d3-fetch-1.1.2.tgz#957c8fbc6d4480599ba191b1b2518bf86b3e1be2" + integrity sha512-S2loaQCV/ZeyTyIF2oP8D1K9Z4QizUzW7cWeAOAS4U88qOt3Ucf6GsmgthuYSdyB2HyEm4CeGvkQxWsmInsIVA== + dependencies: + d3-dsv "1" + +d3-force@1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/d3-force/-/d3-force-1.2.1.tgz#fd29a5d1ff181c9e7f0669e4bd72bdb0e914ec0b" + integrity sha512-HHvehyaiUlVo5CxBJ0yF/xny4xoaxFxDnBXNvNcfW9adORGZfyNF1dj6DGLKyk4Yh3brP/1h3rnDzdIAwL08zg== + dependencies: + d3-collection "1" + d3-dispatch "1" + d3-quadtree "1" + d3-timer "1" + +d3-format@1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-1.3.2.tgz#6a96b5e31bcb98122a30863f7d92365c00603562" + integrity sha512-Z18Dprj96ExragQ0DeGi+SYPQ7pPfRMtUXtsg/ChVIKNBCzjO8XYJvRTC1usblx52lqge56V5ect+frYTQc8WQ== + +d3-geo@1: + version "1.11.6" + resolved "https://registry.yarnpkg.com/d3-geo/-/d3-geo-1.11.6.tgz#134f2ef035ff75a448075fafdea92702a2e0e0cf" + integrity sha512-z0J8InXR9e9wcgNtmVnPTj0TU8nhYT6lD/ak9may2PdKqXIeHUr8UbFLoCtrPYNsjv6YaLvSDQVl578k6nm7GA== + dependencies: + d3-array "1" + +d3-hierarchy@1: + version "1.1.8" + resolved "https://registry.yarnpkg.com/d3-hierarchy/-/d3-hierarchy-1.1.8.tgz#7a6317bd3ed24e324641b6f1e76e978836b008cc" + integrity sha512-L+GHMSZNwTpiq4rt9GEsNcpLa4M96lXMR8M/nMG9p5hBE0jy6C+3hWtyZMenPQdwla249iJy7Nx0uKt3n+u9+w== + +d3-interpolate@1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-1.3.2.tgz#417d3ebdeb4bc4efcc8fd4361c55e4040211fd68" + integrity sha512-NlNKGopqaz9qM1PXh9gBF1KSCVh+jSFErrSlD/4hybwoNX/gt1d8CDbDW+3i+5UOHhjC6s6nMvRxcuoMVNgL2w== + dependencies: + d3-color "1" + +d3-path@1: + version "1.0.7" + resolved "https://registry.yarnpkg.com/d3-path/-/d3-path-1.0.7.tgz#8de7cd693a75ac0b5480d3abaccd94793e58aae8" + integrity sha512-q0cW1RpvA5c5ma2rch62mX8AYaiLX0+bdaSM2wxSU9tXjU4DNvkx9qiUvjkuWCj3p22UO/hlPivujqMiR9PDzA== + +d3-polygon@1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/d3-polygon/-/d3-polygon-1.0.5.tgz#9a645a0a64ff6cbf9efda96ee0b4a6909184c363" + integrity sha512-RHhh1ZUJZfhgoqzWWuRhzQJvO7LavchhitSTHGu9oj6uuLFzYZVeBzaWTQ2qSO6bz2w55RMoOCf0MsLCDB6e0w== + +d3-quadtree@1: + version "1.0.6" + resolved "https://registry.yarnpkg.com/d3-quadtree/-/d3-quadtree-1.0.6.tgz#d1ab2a95a7f27bbde88582c94166f6ae35f32056" + integrity sha512-NUgeo9G+ENQCQ1LsRr2qJg3MQ4DJvxcDNCiohdJGHt5gRhBW6orIB5m5FJ9kK3HNL8g9F4ERVoBzcEwQBfXWVA== + +d3-random@1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/d3-random/-/d3-random-1.1.2.tgz#2833be7c124360bf9e2d3fd4f33847cfe6cab291" + integrity sha512-6AK5BNpIFqP+cx/sreKzNjWbwZQCSUatxq+pPRmFIQaWuoD+NrbVWw7YWpHiXpCQ/NanKdtGDuB+VQcZDaEmYQ== + +d3-scale-chromatic@1: + version "1.3.3" + resolved "https://registry.yarnpkg.com/d3-scale-chromatic/-/d3-scale-chromatic-1.3.3.tgz#dad4366f0edcb288f490128979c3c793583ed3c0" + integrity sha512-BWTipif1CimXcYfT02LKjAyItX5gKiwxuPRgr4xM58JwlLocWbjPLI7aMEjkcoOQXMkYsmNsvv3d2yl/OKuHHw== + dependencies: + d3-color "1" + d3-interpolate "1" + +d3-scale@2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-2.2.2.tgz#4e880e0b2745acaaddd3ede26a9e908a9e17b81f" + integrity sha512-LbeEvGgIb8UMcAa0EATLNX0lelKWGYDQiPdHj+gLblGVhGLyNbaCn3EvrJf0A3Y/uOOU5aD6MTh5ZFCdEwGiCw== + dependencies: + d3-array "^1.2.0" + d3-collection "1" + d3-format "1" + d3-interpolate "1" + d3-time "1" + d3-time-format "2" + +d3-selection@1, d3-selection@^1.1.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/d3-selection/-/d3-selection-1.4.0.tgz#ab9ac1e664cf967ebf1b479cc07e28ce9908c474" + integrity sha512-EYVwBxQGEjLCKF2pJ4+yrErskDnz5v403qvAid96cNdCMr8rmCYfY5RGzWz24mdIbxmDf6/4EAH+K9xperD5jg== + +d3-shape@1: + version "1.3.5" + resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-1.3.5.tgz#e81aea5940f59f0a79cfccac012232a8987c6033" + integrity sha512-VKazVR3phgD+MUCldapHD7P9kcrvPcexeX/PkMJmkUov4JM8IxsSg1DvbYoYich9AtdTsa5nNk2++ImPiDiSxg== + dependencies: + d3-path "1" + +d3-time-format@2: + version "2.1.3" + resolved "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-2.1.3.tgz#ae06f8e0126a9d60d6364eac5b1533ae1bac826b" + integrity sha512-6k0a2rZryzGm5Ihx+aFMuO1GgelgIz+7HhB4PH4OEndD5q2zGn1mDfRdNrulspOfR6JXkb2sThhDK41CSK85QA== + dependencies: + d3-time "1" + +d3-time@1: + version "1.0.11" + resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-1.0.11.tgz#1d831a3e25cd189eb256c17770a666368762bbce" + integrity sha512-Z3wpvhPLW4vEScGeIMUckDW7+3hWKOQfAWg/U7PlWBnQmeKQ00gCUsTtWSYulrKNA7ta8hJ+xXc6MHrMuITwEw== + +d3-timer@1: + version "1.0.9" + resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-1.0.9.tgz#f7bb8c0d597d792ff7131e1c24a36dd471a471ba" + integrity sha512-rT34J5HnQUHhcLvhSB9GjCkN0Ddd5Y8nCwDBG2u6wQEeYxT/Lf51fTFFkldeib/sE/J0clIe0pnCfs6g/lRbyg== + +d3-transition@1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/d3-transition/-/d3-transition-1.2.0.tgz#f538c0e21b2aa1f05f3e965f8567e81284b3b2b8" + integrity sha512-VJ7cmX/FPIPJYuaL2r1o1EMHLttvoIuZhhuAlRoOxDzogV8iQS6jYulDm3xEU3TqL80IZIhI551/ebmCMrkvhw== + dependencies: + d3-color "1" + d3-dispatch "1" + d3-ease "1" + d3-interpolate "1" + d3-selection "^1.1.0" + d3-timer "1" + +d3-voronoi@1: + version "1.1.4" + resolved "https://registry.yarnpkg.com/d3-voronoi/-/d3-voronoi-1.1.4.tgz#dd3c78d7653d2bb359284ae478645d95944c8297" + integrity sha512-dArJ32hchFsrQ8uMiTBLq256MpnZjeuBtdHpaDlYuQyjU0CVzCJl/BVW+SkszaAeH95D/8gxqAhgx0ouAWAfRg== + +d3-zoom@1: + version "1.7.3" + resolved "https://registry.yarnpkg.com/d3-zoom/-/d3-zoom-1.7.3.tgz#f444effdc9055c38077c4299b4df999eb1d47ccb" + integrity sha512-xEBSwFx5Z9T3/VrwDkMt+mr0HCzv7XjpGURJ8lWmIC8wxe32L39eWHIasEe/e7Ox8MPU4p1hvH8PKN2olLzIBg== + dependencies: + d3-dispatch "1" + d3-drag "1" + d3-interpolate "1" + d3-selection "1" + d3-transition "1" + +d3@5.9.1: + version "5.9.1" + resolved "https://registry.yarnpkg.com/d3/-/d3-5.9.1.tgz#fde73fa9af7281d2ff0d2a32aa8f306e93a6d1cd" + integrity sha512-JceuBn5VVWySPQc9EA0gfq0xQVgEQXGokHhe+359bmgGeUITLK2r2b9idMzquQne9DKxb7JDCE1gDRXe9OIF2Q== + dependencies: + d3-array "1" + d3-axis "1" + d3-brush "1" + d3-chord "1" + d3-collection "1" + d3-color "1" + d3-contour "1" + d3-dispatch "1" + d3-drag "1" + d3-dsv "1" + d3-ease "1" + d3-fetch "1" + d3-force "1" + d3-format "1" + d3-geo "1" + d3-hierarchy "1" + d3-interpolate "1" + d3-path "1" + d3-polygon "1" + d3-quadtree "1" + d3-random "1" + d3-scale "2" + d3-scale-chromatic "1" + d3-selection "1" + d3-shape "1" + d3-time "1" + d3-time-format "2" + d3-timer "1" + d3-transition "1" + d3-voronoi "1" + d3-zoom "1" + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= + dependencies: + assert-plus "^1.0.0" + +data-urls@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-1.1.0.tgz#15ee0582baa5e22bb59c77140da8f9c76963bbfe" + integrity sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ== + dependencies: + abab "^2.0.0" + whatwg-mimetype "^2.2.0" + whatwg-url "^7.0.0" + +date-fns@^1.23.0: + version "1.30.1" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.30.1.tgz#2e71bf0b119153dbb4cc4e88d9ea5acfb50dc05c" + integrity sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw== + +date-now@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" + integrity sha1-6vQ5/U1ISK105cx9vvIAZyueNFs= + +debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@=3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" + integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== + dependencies: + ms "2.0.0" + +debug@^3.1.0, debug@^3.2.5, debug@^3.2.6: + version "3.2.6" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" + integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== + dependencies: + ms "^2.1.1" + +debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" + integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== + dependencies: + ms "^2.1.1" + +decamelize@^1.1.1, decamelize@^1.1.2, decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + +deep-extend@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== + +deep-is@~0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= + +defaults@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" + integrity sha1-xlYFHpgX2f8I7YgUd/P+QBnz730= + dependencies: + clone "^1.0.2" + +define-properties@^1.1.2, define-properties@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== + dependencies: + object-keys "^1.0.12" + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= + +des.js@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" + integrity sha1-wHTS4qpqipoH29YfmhXCzYPsjsw= + dependencies: + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +detect-libc@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" + integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= + +detect-newline@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" + integrity sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I= + +detect-port-alt@1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/detect-port-alt/-/detect-port-alt-1.1.6.tgz#24707deabe932d4a3cf621302027c2b266568275" + integrity sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q== + dependencies: + address "^1.0.1" + debug "^2.6.0" + +diff-sequences@^24.3.0: + version "24.3.0" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.3.0.tgz#0f20e8a1df1abddaf4d9c226680952e64118b975" + integrity sha512-xLqpez+Zj9GKSnPWS0WZw1igGocZ+uua8+y+5dDNTT934N3QuY1sp2LkHzwiaYQGz60hMq0pjAshdeXm5VUOEw== + +diff@^3.2.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" + integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== + +diff@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.1.tgz#0c667cb467ebbb5cea7f14f135cc2dba7780a8ff" + integrity sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q== + +diffie-hellman@^5.0.0: + version "5.0.3" + resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" + integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== + dependencies: + bn.js "^4.1.0" + miller-rabin "^4.0.0" + randombytes "^2.0.0" + +dir-glob@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.0.0.tgz#0b205d2b6aef98238ca286598a8204d29d0a0034" + integrity sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag== + dependencies: + arrify "^1.0.1" + path-type "^3.0.0" + +dir-glob@^2.0.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4" + integrity sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw== + dependencies: + path-type "^3.0.0" + +dom-converter@^0.2: + version "0.2.0" + resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" + integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== + dependencies: + utila "~0.4" + +dom-css@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/dom-css/-/dom-css-2.1.0.tgz#fdbc2d5a015d0a3e1872e11472bbd0e7b9e6a202" + integrity sha1-/bwtWgFdCj4YcuEUcrvQ57nmogI= + dependencies: + add-px-to-style "1.0.0" + prefix-style "2.0.1" + to-camel-case "1.0.0" + +"dom-helpers@^2.4.0 || ^3.0.0", dom-helpers@^3.3.1, dom-helpers@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-3.4.0.tgz#e9b369700f959f62ecde5a6babde4bccd9169af8" + integrity sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA== + dependencies: + "@babel/runtime" "^7.1.2" + +dom-serializer@0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.1.tgz#1ec4059e284babed36eec2941d4a970a189ce7c0" + integrity sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA== + dependencies: + domelementtype "^1.3.0" + entities "^1.1.1" + +domain-browser@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" + integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== + +domelementtype@1, domelementtype@^1.3.0, domelementtype@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" + integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== + +domexception@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" + integrity sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug== + dependencies: + webidl-conversions "^4.0.2" + +domhandler@^2.3.0: + version "2.4.2" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" + integrity sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA== + dependencies: + domelementtype "1" + +domutils@1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" + integrity sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8= + dependencies: + dom-serializer "0" + domelementtype "1" + +domutils@^1.5.1, domutils@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" + integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== + dependencies: + dom-serializer "0" + domelementtype "1" + +dot-prop@^4.1.1: + version "4.2.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57" + integrity sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ== + dependencies: + is-obj "^1.0.0" + +duplexer@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" + integrity sha1-rOb/gIwc5mtX0ev5eXessCM0z8E= + +duplexify@^3.4.2, duplexify@^3.6.0: + version "3.7.1" + resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" + integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== + dependencies: + end-of-stream "^1.0.0" + inherits "^2.0.1" + readable-stream "^2.0.0" + stream-shift "^1.0.0" + +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + +electron-to-chromium@^1.3.122, electron-to-chromium@^1.3.191: + version "1.3.200" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.200.tgz#78fb858b466269e8eb46d31a52562f00c865127f" + integrity sha512-PUurrpyDA74MuAjJRD+79ss5BqJlU3mdArRbuu4wO/dt6jc3Ic/6BDmFJxkdwbfq39cHf/XKm2vW98XSvut9Dg== + +elliptic@^6.0.0: + version "6.5.0" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.0.tgz#2b8ed4c891b7de3200e14412a5b8248c7af505ca" + integrity sha512-eFOJTMyCYb7xtE/caJ6JJu+bhi67WCYNbkGSknu20pmM8Ke/bqOfdnZWxyoGN26JgfxTbXrsCkEw4KheCT/KGg== + dependencies: + bn.js "^4.4.0" + brorand "^1.0.1" + hash.js "^1.0.0" + hmac-drbg "^1.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.0" + +emoji-regex@^7.0.1: + version "7.0.3" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" + integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== + +emojis-list@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" + integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= + +emotion@^9.1.2: + version "9.2.12" + resolved "https://registry.yarnpkg.com/emotion/-/emotion-9.2.12.tgz#53925aaa005614e65c6e43db8243c843574d1ea9" + integrity sha512-hcx7jppaI8VoXxIWEhxpDW7I+B4kq9RNzQLmsrF6LY8BGKqe2N+gFAQr0EfuFucFlPs2A9HM4+xNj4NeqEWIOQ== + dependencies: + babel-plugin-emotion "^9.2.11" + create-emotion "^9.2.12" + +encoding@^0.1.11: + version "0.1.12" + resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb" + integrity sha1-U4tm8+5izRq1HsMjgp0flIDHS+s= + dependencies: + iconv-lite "~0.4.13" + +end-of-stream@^1.0.0, end-of-stream@^1.1.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" + integrity sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q== + dependencies: + once "^1.4.0" + +enhanced-resolve@^4.0.0, enhanced-resolve@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz#41c7e0bfdfe74ac1ffe1e57ad6a5c6c9f3742a7f" + integrity sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng== + dependencies: + graceful-fs "^4.1.2" + memory-fs "^0.4.0" + tapable "^1.0.0" + +entities@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" + integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== + +errno@^0.1.3, errno@~0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" + integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg== + dependencies: + prr "~1.0.1" + +error-ex@^1.2.0, error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +es-abstract@^1.12.0, es-abstract@^1.5.1: + version "1.13.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9" + integrity sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg== + dependencies: + es-to-primitive "^1.2.0" + function-bind "^1.1.1" + has "^1.0.3" + is-callable "^1.1.4" + is-regex "^1.0.4" + object-keys "^1.0.12" + +es-to-primitive@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377" + integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +es6-promise@^4.0.3: + version "4.2.8" + resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" + integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== + +es6-promisify@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203" + integrity sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM= + dependencies: + es6-promise "^4.0.3" + +es6-templates@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/es6-templates/-/es6-templates-0.2.3.tgz#5cb9ac9fb1ded6eb1239342b81d792bbb4078ee4" + integrity sha1-XLmsn7He1usSOTQrgdeSu7QHjuQ= + dependencies: + recast "~0.11.12" + through "~2.3.6" + +escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +escodegen@^1.9.1: + version "1.11.1" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.11.1.tgz#c485ff8d6b4cdb89e27f4a856e91f118401ca510" + integrity sha512-JwiqFD9KdGVVpeuRa68yU3zZnBEOcPs0nKW7wZzXky8Z7tffdYUHbe11bPCV5jYlK6DVdKLWLm0f5I/QlL0Kmw== + dependencies: + esprima "^3.1.3" + estraverse "^4.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + +eslint-scope@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" + integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== + dependencies: + esrecurse "^4.1.0" + estraverse "^4.1.1" + +esprima@^3.1.3, esprima@~3.1.0: + version "3.1.3" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" + integrity sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM= + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esrecurse@^4.1.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" + integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ== + dependencies: + estraverse "^4.1.0" + +estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" + integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM= + +esutils@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" + integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs= + +events@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" + integrity sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ= + +events@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.0.0.tgz#9a0a0dfaf62893d92b875b8f2698ca4114973e88" + integrity sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA== + +eventsource@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-1.0.7.tgz#8fbc72c93fcd34088090bc0a4e64f4b5cee6d8d0" + integrity sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ== + dependencies: + original "^1.0.0" + +evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + +exec-sh@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.2.tgz#6738de2eb7c8e671d0366aea0b0db8c6f7d7391b" + integrity sha512-9sLAvzhI5nc8TpuQUh4ahMdCrWT00wPWz7j47/emR5+2qEfoZP5zzUXvx+vdx+H6ohhnsYC31iX04QLYJK8zTg== + +execa@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== + dependencies: + cross-spawn "^6.0.0" + get-stream "^4.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +expect-puppeteer@4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/expect-puppeteer/-/expect-puppeteer-4.1.1.tgz#cda2ab7b6fa27ac24eba273bbb0296a0de538e6d" + integrity sha512-xNpu6uYJL9Qrrp4Z31MOpDWK68zAi+2qg5aMQlyOTVZNy7cAgBZiPvKCN0C1JmP3jgPZfcxhetVjZLaw/KcJOQ== + +expect@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-24.8.0.tgz#471f8ec256b7b6129ca2524b2a62f030df38718d" + integrity sha512-/zYvP8iMDrzaaxHVa724eJBCKqSHmO0FA7EDkBiRHxg6OipmMn1fN+C8T9L9K8yr7UONkOifu6+LLH+z76CnaA== + dependencies: + "@jest/types" "^24.8.0" + ansi-styles "^3.2.0" + jest-get-type "^24.8.0" + jest-matcher-utils "^24.8.0" + jest-message-util "^24.8.0" + jest-regex-util "^24.3.0" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +extend@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +external-editor@^3.0.3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" + integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== + dependencies: + chardet "^0.7.0" + iconv-lite "^0.4.24" + tmp "^0.0.33" + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +extract-zip@^1.6.6: + version "1.6.7" + resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.6.7.tgz#a840b4b8af6403264c8db57f4f1a74333ef81fe9" + integrity sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k= + dependencies: + concat-stream "1.6.2" + debug "2.6.9" + mkdirp "0.5.1" + yauzl "2.4.1" + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= + +extsprintf@^1.2.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= + +fast-deep-equal@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" + integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= + +fast-glob@^2.0.2: + version "2.2.7" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d" + integrity sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw== + dependencies: + "@mrmlnc/readdir-enhanced" "^2.2.1" + "@nodelib/fs.stat" "^1.1.2" + glob-parent "^3.1.0" + is-glob "^4.0.0" + merge2 "^1.2.3" + micromatch "^3.1.10" + +fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" + integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I= + +fast-levenshtein@~2.0.4: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + +fastparse@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.2.tgz#91728c5a5942eced8531283c79441ee4122c35a9" + integrity sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ== + +faye-websocket@~0.11.1: + version "0.11.3" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.3.tgz#5c0e9a8968e8912c286639fde977a8b209f2508e" + integrity sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA== + dependencies: + websocket-driver ">=0.5.1" + +fb-watchman@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz#54e9abf7dfa2f26cd9b1636c588c1afc05de5d58" + integrity sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg= + dependencies: + bser "^2.0.0" + +fbjs@^0.8.0: + version "0.8.17" + resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.17.tgz#c4d598ead6949112653d6588b01a5cdcd9f90fdd" + integrity sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90= + dependencies: + core-js "^1.0.0" + isomorphic-fetch "^2.1.1" + loose-envify "^1.0.0" + object-assign "^4.1.0" + promise "^7.1.1" + setimmediate "^1.0.5" + ua-parser-js "^0.7.18" + +fd-slicer@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.0.1.tgz#8b5bcbd9ec327c5041bf9ab023fd6750f1177e65" + integrity sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU= + dependencies: + pend "~1.2.0" + +figgy-pudding@^3.5.1: + version "3.5.1" + resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790" + integrity sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w== + +figures@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" + integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= + dependencies: + escape-string-regexp "^1.0.5" + +file-loader@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-4.1.0.tgz#3a763391bc9502da7c59612fe348e38fc1980336" + integrity sha512-ajDk1nlByoalZAGR4b0H6oD+EGlWnyW1qbSxzaUc7RFiqmn+RbXQQRbTc72jsiUIlVusJ4Et58ltds8ZwTfnAw== + dependencies: + loader-utils "^1.2.3" + schema-utils "^2.0.0" + +filesize@3.6.1: + version "3.6.1" + resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317" + integrity sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg== + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +find-cache-dir@^2.0.0, find-cache-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" + integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== + dependencies: + commondir "^1.0.1" + make-dir "^2.0.0" + pkg-dir "^3.0.0" + +find-root@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" + integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== + +find-up@3.0.0, find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== + dependencies: + locate-path "^3.0.0" + +find-up@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= + dependencies: + path-exists "^2.0.0" + pinkie-promise "^2.0.0" + +find-up@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= + dependencies: + locate-path "^2.0.0" + +flatten@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782" + integrity sha1-2uRqnXj74lKSJYzB54CkHZXAN4I= + +flush-write-stream@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" + integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== + dependencies: + inherits "^2.0.3" + readable-stream "^2.3.6" + +follow-redirects@1.5.10: + version "1.5.10" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.10.tgz#7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a" + integrity sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ== + dependencies: + debug "=3.1.0" + +for-in@^0.1.3: + version "0.1.8" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.8.tgz#d8773908e31256109952b1fdb9b3fa867d2775e1" + integrity sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE= + +for-in@^1.0.1, for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + +for-own@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz#c63332f415cedc4b04dbfe70cf836494c53cb44b" + integrity sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs= + dependencies: + for-in "^1.0.1" + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= + +fork-ts-checker-webpack-plugin@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.1.1.tgz#caf2a210778fb1e171b6993ca0a40f9b6589e3b7" + integrity sha512-gqWAEMLlae/oeVnN6RWCAhesOJMswAN1MaKNqhhjXHV5O0/rTUjWI4UbgQHdlrVbCnb+xLotXmJbBlC66QmpFw== + dependencies: + babel-code-frame "^6.22.0" + chalk "^2.4.1" + chokidar "^2.0.4" + micromatch "^3.1.10" + minimatch "^3.0.4" + semver "^5.6.0" + tapable "^1.0.0" + worker-rpc "^0.1.0" + +form-data@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + dependencies: + map-cache "^0.2.2" + +from2@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" + integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= + dependencies: + inherits "^2.0.1" + readable-stream "^2.0.0" + +fs-minipass@^1.2.5: + version "1.2.6" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.6.tgz#2c5cc30ded81282bfe8a0d7c7c1853ddeb102c07" + integrity sha512-crhvyXcMejjv3Z5d2Fa9sf5xLYVCF5O1c71QxbVnbLsmYMBEvDAftewesN/HhY03YRoA7zOMxjNGrF5svGaaeQ== + dependencies: + minipass "^2.2.1" + +fs-write-stream-atomic@^1.0.8: + version "1.0.10" + resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" + integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= + dependencies: + graceful-fs "^4.1.2" + iferr "^0.1.5" + imurmurhash "^0.1.4" + readable-stream "1 || 2" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +fsevents@^1.2.7: + version "1.2.9" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.9.tgz#3f5ed66583ccd6f400b5a00db6f7e861363e388f" + integrity sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw== + dependencies: + nan "^2.12.1" + node-pre-gyp "^0.12.0" + +fstream@^1.0.0, fstream@^1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045" + integrity sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg== + dependencies: + graceful-fs "^4.1.2" + inherits "~2.0.0" + mkdirp ">=0.5 0" + rimraf "2" + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +gauge@~2.7.3: + version "2.7.4" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" + integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= + dependencies: + aproba "^1.0.3" + console-control-strings "^1.0.0" + has-unicode "^2.0.0" + object-assign "^4.1.0" + signal-exit "^3.0.0" + string-width "^1.0.1" + strip-ansi "^3.0.1" + wide-align "^1.1.0" + +gaze@^1.0.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.3.tgz#c441733e13b927ac8c0ff0b4c3b033f28812924a" + integrity sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g== + dependencies: + globule "^1.0.0" + +get-caller-file@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" + integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== + +get-caller-file@^2.0.1: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-stdin@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" + integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4= + +get-stream@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + dependencies: + pump "^3.0.0" + +get-user-locale@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/get-user-locale/-/get-user-locale-1.1.1.tgz#edff0a8bbd6aa3ed0ca30cc441e1acd111543b7f" + integrity sha512-KuA+vMhsY+rSPK8hrmOvf7xXIMTs+L06RkgZ83jawZHSEqPLafZtQ63d3waXW3r8z6EQ49I/trraNncWM+s/2g== + dependencies: + lodash.once "^4.1.1" + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= + dependencies: + assert-plus "^1.0.0" + +glob-parent@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" + integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= + dependencies: + is-glob "^3.1.0" + path-dirname "^1.0.0" + +glob-to-regexp@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" + integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= + +glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@~7.1.1: + version "7.1.4" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" + integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +global-modules@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" + integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== + dependencies: + global-prefix "^3.0.0" + +global-prefix@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" + integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== + dependencies: + ini "^1.3.5" + kind-of "^6.0.2" + which "^1.3.1" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +globby@8.0.2: + version "8.0.2" + resolved "https://registry.yarnpkg.com/globby/-/globby-8.0.2.tgz#5697619ccd95c5275dbb2d6faa42087c1a941d8d" + integrity sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w== + dependencies: + array-union "^1.0.1" + dir-glob "2.0.0" + fast-glob "^2.0.2" + glob "^7.1.2" + ignore "^3.3.5" + pify "^3.0.0" + slash "^1.0.0" + +globby@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/globby/-/globby-7.1.1.tgz#fb2ccff9401f8600945dfada97440cca972b8680" + integrity sha1-+yzP+UAfhgCUXfral0QMypcrhoA= + dependencies: + array-union "^1.0.1" + dir-glob "^2.0.0" + glob "^7.1.2" + ignore "^3.3.5" + pify "^3.0.0" + slash "^1.0.0" + +globule@^1.0.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/globule/-/globule-1.2.1.tgz#5dffb1b191f22d20797a9369b49eab4e9839696d" + integrity sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ== + dependencies: + glob "~7.1.1" + lodash "~4.17.10" + minimatch "~3.0.2" + +graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2: + version "4.2.0" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.0.tgz#8d8fdc73977cb04104721cb53666c1ca64cd328b" + integrity sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg== + +growly@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" + integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= + +gud@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/gud/-/gud-1.0.0.tgz#a489581b17e6a70beca9abe3ae57de7a499852c0" + integrity sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw== + +gzip-size@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.0.0.tgz#a55ecd99222f4c48fd8c01c625ce3b349d0a0e80" + integrity sha512-5iI7omclyqrnWw4XbXAmGhPsABkSIDQonv2K0h61lybgofWa6iZyvrI3r2zsJH4P8Nb64fFVzlvfhs0g7BBxAA== + dependencies: + duplexer "^0.1.1" + pify "^3.0.0" + +handlebars@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.1.2.tgz#b6b37c1ced0306b221e094fc7aca3ec23b131b67" + integrity sha512-nvfrjqvt9xQ8Z/w0ijewdD/vvWDTOweBUm96NTr66Wfvo1mJenBLwcYmPs3TIBP5ruzYGD7Hx/DaM9RmhroGPw== + dependencies: + neo-async "^2.6.0" + optimist "^0.6.1" + source-map "^0.6.1" + optionalDependencies: + uglify-js "^3.1.4" + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= + +har-validator@~5.1.0: + version "5.1.3" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" + integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== + dependencies: + ajv "^6.5.5" + har-schema "^2.0.0" + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= + dependencies: + ansi-regex "^2.0.0" + +has-flag@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" + integrity sha1-6CB68cx7MNRGzHC3NLXovhj4jVE= + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +has-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" + integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= + +has-unicode@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= + +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +has@^1.0.0, has@^1.0.1, has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +hash-base@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" + integrity sha1-X8hoaEfs1zSZQDMZprCj8/auSRg= + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +hash.js@^1.0.0, hash.js@^1.0.3: + version "1.1.7" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + +he@1.2.x: + version "1.2.0" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +hex-color-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" + integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== + +highlight-words-core@^1.2.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/highlight-words-core/-/highlight-words-core-1.2.2.tgz#1eff6d7d9f0a22f155042a00791237791b1eeaaa" + integrity sha512-BXUKIkUuh6cmmxzi5OIbUJxrG8OAk2MqoL1DtO3Wo9D2faJg2ph5ntyuQeLqaHJmzER6H5tllCDA9ZnNe9BVGg== + +hmac-drbg@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +hosted-git-info@^2.1.4: + version "2.7.1" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz#97f236977bd6e125408930ff6de3eec6281ec047" + integrity sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w== + +hsl-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/hsl-regex/-/hsl-regex-1.0.0.tgz#d49330c789ed819e276a4c0d272dffa30b18fe6e" + integrity sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4= + +hsla-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/hsla-regex/-/hsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38" + integrity sha1-wc56MWjIxmFAM6S194d/OyJfnDg= + +html-comment-regex@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.2.tgz#97d4688aeb5c81886a364faa0cad1dda14d433a7" + integrity sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ== + +html-encoding-sniffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8" + integrity sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw== + dependencies: + whatwg-encoding "^1.0.1" + +html-loader@0.5.5: + version "0.5.5" + resolved "https://registry.yarnpkg.com/html-loader/-/html-loader-0.5.5.tgz#6356dbeb0c49756d8ebd5ca327f16ff06ab5faea" + integrity sha512-7hIW7YinOYUpo//kSYcPB6dCKoceKLmOwjEMmhIobHuWGDVl0Nwe4l68mdG/Ru0wcUxQjVMEoZpkalZ/SE7zog== + dependencies: + es6-templates "^0.2.3" + fastparse "^1.1.1" + html-minifier "^3.5.8" + loader-utils "^1.1.0" + object-assign "^4.1.1" + +html-minifier@^3.2.3, html-minifier@^3.5.8: + version "3.5.21" + resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.21.tgz#d0040e054730e354db008463593194015212d20c" + integrity sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA== + dependencies: + camel-case "3.0.x" + clean-css "4.2.x" + commander "2.17.x" + he "1.2.x" + param-case "2.1.x" + relateurl "0.2.x" + uglify-js "3.4.x" + +html-webpack-plugin@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz#b01abbd723acaaa7b37b6af4492ebda03d9dd37b" + integrity sha1-sBq71yOsqqeze2r0SS69oD2d03s= + dependencies: + html-minifier "^3.2.3" + loader-utils "^0.2.16" + lodash "^4.17.3" + pretty-error "^2.0.2" + tapable "^1.0.0" + toposort "^1.0.0" + util.promisify "1.0.0" + +htmlparser2@^3.3.0: + version "3.10.1" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" + integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ== + dependencies: + domelementtype "^1.3.1" + domhandler "^2.3.0" + domutils "^1.5.1" + entities "^1.1.1" + inherits "^2.0.1" + readable-stream "^3.1.1" + +"http-parser-js@>=0.4.0 <0.4.11": + version "0.4.10" + resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.10.tgz#92c9c1374c35085f75db359ec56cc257cbb93fa4" + integrity sha1-ksnBN0w1CF912zWexWzCV8u5P6Q= + +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +https-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" + integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= + +https-proxy-agent@^2.2.1: + version "2.2.2" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.2.tgz#271ea8e90f836ac9f119daccd39c19ff7dfb0793" + integrity sha512-c8Ndjc9Bkpfx/vCJueCPy0jlP4ccCCSNDp8xwCZzPjKJUm+B+u9WX2x98Qx4n1PiMNTWo3D7KK5ifNV/yJyRzg== + dependencies: + agent-base "^4.3.0" + debug "^3.1.0" + +iconv-lite@0.4, iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.4, iconv-lite@~0.4.13: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +icss-utils@^4.0.0, icss-utils@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467" + integrity sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA== + dependencies: + postcss "^7.0.14" + +ieee754@1.1.8: + version "1.1.8" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" + integrity sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q= + +ieee754@^1.1.4: + version "1.1.13" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" + integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== + +iferr@^0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" + integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= + +ignore-walk@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8" + integrity sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ== + dependencies: + minimatch "^3.0.4" + +ignore@^3.3.5: + version "3.3.10" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" + integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== + +immer@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/immer/-/immer-1.10.0.tgz#bad67605ba9c810275d91e1c2a47d4582e98286d" + integrity sha512-O3sR1/opvCDGLEVcvrGTMtLac8GJ5IwZC4puPrLuRj3l7ICKvkmA0vGuU9OW8mV9WIBRnaxp5GJh9IEAaNOoYg== + +import-cwd@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" + integrity sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk= + dependencies: + import-from "^2.1.0" + +import-fresh@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" + integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY= + dependencies: + caller-path "^2.0.0" + resolve-from "^3.0.0" + +import-from@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/import-from/-/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1" + integrity sha1-M1238qev/VOqpHHUuAId7ja387E= + dependencies: + resolve-from "^3.0.0" + +import-local@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" + integrity sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ== + dependencies: + pkg-dir "^3.0.0" + resolve-cwd "^2.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + +in-publish@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.0.tgz#e20ff5e3a2afc2690320b6dc552682a9c7fadf51" + integrity sha1-4g/146KvwmkDILbcVSaCqcf631E= + +indent-string@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" + integrity sha1-ji1INIdCEhtKghi3oTfppSBJ3IA= + dependencies: + repeating "^2.0.0" + +indexes-of@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" + integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +inherits@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" + integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + +ini@^1.3.5, ini@~1.3.0: + version "1.3.5" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" + integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== + +inquirer@6.2.2: + version "6.2.2" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.2.2.tgz#46941176f65c9eb20804627149b743a218f25406" + integrity sha512-Z2rREiXA6cHRR9KBOarR3WuLlFzlIfAEIiB45ll5SSadMg7WqOh1MKEjjndfuH5ewXdixWCxqnVfGOQzPeiztA== + dependencies: + ansi-escapes "^3.2.0" + chalk "^2.4.2" + cli-cursor "^2.1.0" + cli-width "^2.0.0" + external-editor "^3.0.3" + figures "^2.0.0" + lodash "^4.17.11" + mute-stream "0.0.7" + run-async "^2.2.0" + rxjs "^6.4.0" + string-width "^2.1.0" + strip-ansi "^5.0.0" + through "^2.3.6" + +inquirer@^6.3.1: + version "6.5.0" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.0.tgz#2303317efc9a4ea7ec2e2df6f86569b734accf42" + integrity sha512-scfHejeG/lVZSpvCXpsB4j/wQNPM5JC8kiElOI0OUTwmc1RTpXr4H32/HOlQHcZiYl2z2VElwuCVDRG8vFmbnA== + dependencies: + ansi-escapes "^3.2.0" + chalk "^2.4.2" + cli-cursor "^2.1.0" + cli-width "^2.0.0" + external-editor "^3.0.3" + figures "^2.0.0" + lodash "^4.17.12" + mute-stream "0.0.7" + run-async "^2.2.0" + rxjs "^6.4.0" + string-width "^2.1.0" + strip-ansi "^5.1.0" + through "^2.3.6" + +invariant@^2.2.2, invariant@^2.2.4: + version "2.2.4" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== + dependencies: + loose-envify "^1.0.0" + +invert-kv@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" + integrity sha1-EEqOSqym09jNFXqO+L+rLXo//bY= + +invert-kv@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" + integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== + +is-absolute-url@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" + integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY= + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== + dependencies: + kind-of "^6.0.0" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + +is-arrayish@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" + integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== + +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= + dependencies: + binary-extensions "^1.0.0" + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + +is-buffer@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.3.tgz#4ecf3fcf749cbd1e472689e109ac66261a25e725" + integrity sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw== + +is-callable@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" + integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== + +is-ci@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== + dependencies: + ci-info "^2.0.0" + +is-color-stop@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-color-stop/-/is-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345" + integrity sha1-z/9HGu5N1cnhWFmPvhKWe1za00U= + dependencies: + css-color-names "^0.0.4" + hex-color-regex "^1.1.0" + hsl-regex "^1.0.0" + hsla-regex "^1.0.0" + rgb-regex "^1.0.1" + rgba-regex "^1.0.0" + +is-data-descriptor@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== + dependencies: + kind-of "^6.0.0" + +is-date-object@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" + integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-directory@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" + integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^2.1.0, is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + +is-finite@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" + integrity sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko= + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= + +is-generator-fn@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" + integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== + +is-glob@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= + dependencies: + is-extglob "^2.1.0" + +is-glob@^4.0.0, is-glob@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" + integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== + dependencies: + is-extglob "^2.1.1" + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + dependencies: + kind-of "^3.0.2" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-obj@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= + +is-plain-obj@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= + +is-plain-object@^2.0.3, is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-promise@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" + integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= + +is-regex@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" + integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE= + dependencies: + has "^1.0.1" + +is-resolvable@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" + integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== + +is-root@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.0.0.tgz#838d1e82318144e5a6f77819d90207645acc7019" + integrity sha512-F/pJIk8QD6OX5DNhRB7hWamLsUilmkDGho48KbgZ6xg/lmAZXHxzXQ91jzB3yRSw5kdQGGGc4yz8HYhTYIMWPg== + +is-stream@^1.0.1, is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + +is-svg@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-3.0.0.tgz#9321dbd29c212e5ca99c4fa9794c714bcafa2f75" + integrity sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ== + dependencies: + html-comment-regex "^1.1.0" + +is-symbol@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38" + integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw== + dependencies: + has-symbols "^1.0.0" + +is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + +is-utf8@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= + +is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + +is-wsl@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" + integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= + +isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + +isomorphic-fetch@^2.1.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9" + integrity sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk= + dependencies: + node-fetch "^1.0.1" + whatwg-fetch ">=0.10.0" + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= + +istanbul-lib-coverage@^2.0.2, istanbul-lib-coverage@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz#675f0ab69503fad4b1d849f736baaca803344f49" + integrity sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA== + +istanbul-lib-instrument@^3.0.1, istanbul-lib-instrument@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz#a5f63d91f0bbc0c3e479ef4c5de027335ec6d630" + integrity sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA== + dependencies: + "@babel/generator" "^7.4.0" + "@babel/parser" "^7.4.3" + "@babel/template" "^7.4.0" + "@babel/traverse" "^7.4.3" + "@babel/types" "^7.4.0" + istanbul-lib-coverage "^2.0.5" + semver "^6.0.0" + +istanbul-lib-report@^2.0.4: + version "2.0.8" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz#5a8113cd746d43c4889eba36ab10e7d50c9b4f33" + integrity sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ== + dependencies: + istanbul-lib-coverage "^2.0.5" + make-dir "^2.1.0" + supports-color "^6.1.0" + +istanbul-lib-source-maps@^3.0.1: + version "3.0.6" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz#284997c48211752ec486253da97e3879defba8c8" + integrity sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw== + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^2.0.5" + make-dir "^2.1.0" + rimraf "^2.6.3" + source-map "^0.6.1" + +istanbul-reports@^2.1.1: + version "2.2.6" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.2.6.tgz#7b4f2660d82b29303a8fe6091f8ca4bf058da1af" + integrity sha512-SKi4rnMyLBKe0Jy2uUdx28h8oG7ph2PPuQPvIAh31d+Ci+lSiEu4C+h3oBPuJ9+mPKhOyW0M8gY4U5NM1WLeXA== + dependencies: + handlebars "^4.1.2" + +jest-changed-files@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-24.8.0.tgz#7e7eb21cf687587a85e50f3d249d1327e15b157b" + integrity sha512-qgANC1Yrivsq+UrLXsvJefBKVoCsKB0Hv+mBb6NMjjZ90wwxCDmU3hsCXBya30cH+LnPYjwgcU65i6yJ5Nfuug== + dependencies: + "@jest/types" "^24.8.0" + execa "^1.0.0" + throat "^4.0.0" + +jest-cli@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-24.8.0.tgz#b075ac914492ed114fa338ade7362a301693e989" + integrity sha512-+p6J00jSMPQ116ZLlHJJvdf8wbjNbZdeSX9ptfHX06/MSNaXmKihQzx5vQcw0q2G6JsdVkUIdWbOWtSnaYs3yA== + dependencies: + "@jest/core" "^24.8.0" + "@jest/test-result" "^24.8.0" + "@jest/types" "^24.8.0" + chalk "^2.0.1" + exit "^0.1.2" + import-local "^2.0.0" + is-ci "^2.0.0" + jest-config "^24.8.0" + jest-util "^24.8.0" + jest-validate "^24.8.0" + prompts "^2.0.1" + realpath-native "^1.1.0" + yargs "^12.0.2" + +jest-config@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-24.8.0.tgz#77db3d265a6f726294687cbbccc36f8a76ee0f4f" + integrity sha512-Czl3Nn2uEzVGsOeaewGWoDPD8GStxCpAe0zOYs2x2l0fZAgPbCr3uwUkgNKV3LwE13VXythM946cd5rdGkkBZw== + dependencies: + "@babel/core" "^7.1.0" + "@jest/test-sequencer" "^24.8.0" + "@jest/types" "^24.8.0" + babel-jest "^24.8.0" + chalk "^2.0.1" + glob "^7.1.1" + jest-environment-jsdom "^24.8.0" + jest-environment-node "^24.8.0" + jest-get-type "^24.8.0" + jest-jasmine2 "^24.8.0" + jest-regex-util "^24.3.0" + jest-resolve "^24.8.0" + jest-util "^24.8.0" + jest-validate "^24.8.0" + micromatch "^3.1.10" + pretty-format "^24.8.0" + realpath-native "^1.1.0" + +jest-coverage-badges@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/jest-coverage-badges/-/jest-coverage-badges-1.1.2.tgz#a70786b139fd8fb685db732e1e2d916d8a47287e" + integrity sha512-44A7i2xR6os8+fWk8ZRM6W4fKiD2jwKOLU9eB3iTIIWACd9RbdvmiCNpQZTOsUBhKvz7aQ/ASFhu5JOEhWUOlg== + dependencies: + mkdirp "0.5.1" + +jest-diff@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-24.8.0.tgz#146435e7d1e3ffdf293d53ff97e193f1d1546172" + integrity sha512-wxetCEl49zUpJ/bvUmIFjd/o52J+yWcoc5ZyPq4/W1LUKGEhRYDIbP1KcF6t+PvqNrGAFk4/JhtxDq/Nnzs66g== + dependencies: + chalk "^2.0.1" + diff-sequences "^24.3.0" + jest-get-type "^24.8.0" + pretty-format "^24.8.0" + +jest-docblock@^24.3.0: + version "24.3.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-24.3.0.tgz#b9c32dac70f72e4464520d2ba4aec02ab14db5dd" + integrity sha512-nlANmF9Yq1dufhFlKG9rasfQlrY7wINJbo3q01tu56Jv5eBU5jirylhF2O5ZBnLxzOVBGRDz/9NAwNyBtG4Nyg== + dependencies: + detect-newline "^2.1.0" + +jest-each@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-24.8.0.tgz#a05fd2bf94ddc0b1da66c6d13ec2457f35e52775" + integrity sha512-NrwK9gaL5+XgrgoCsd9svsoWdVkK4gnvyhcpzd6m487tXHqIdYeykgq3MKI1u4I+5Zf0tofr70at9dWJDeb+BA== + dependencies: + "@jest/types" "^24.8.0" + chalk "^2.0.1" + jest-get-type "^24.8.0" + jest-util "^24.8.0" + pretty-format "^24.8.0" + +jest-environment-jsdom@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-24.8.0.tgz#300f6949a146cabe1c9357ad9e9ecf9f43f38857" + integrity sha512-qbvgLmR7PpwjoFjM/sbuqHJt/NCkviuq9vus9NBn/76hhSidO+Z6Bn9tU8friecegbJL8gzZQEMZBQlFWDCwAQ== + dependencies: + "@jest/environment" "^24.8.0" + "@jest/fake-timers" "^24.8.0" + "@jest/types" "^24.8.0" + jest-mock "^24.8.0" + jest-util "^24.8.0" + jsdom "^11.5.1" + +jest-environment-node@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-24.8.0.tgz#d3f726ba8bc53087a60e7a84ca08883a4c892231" + integrity sha512-vIGUEScd1cdDgR6sqn2M08sJTRLQp6Dk/eIkCeO4PFHxZMOgy+uYLPMC4ix3PEfM5Au/x3uQ/5Tl0DpXXZsJ/Q== + dependencies: + "@jest/environment" "^24.8.0" + "@jest/fake-timers" "^24.8.0" + "@jest/types" "^24.8.0" + jest-mock "^24.8.0" + jest-util "^24.8.0" + +jest-get-type@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.8.0.tgz#a7440de30b651f5a70ea3ed7ff073a32dfe646fc" + integrity sha512-RR4fo8jEmMD9zSz2nLbs2j0zvPpk/KCEz3a62jJWbd2ayNo0cb+KFRxPHVhE4ZmgGJEQp0fosmNz84IfqM8cMQ== + +jest-haste-map@^24.8.0: + version "24.8.1" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-24.8.1.tgz#f39cc1d2b1d907e014165b4bd5a957afcb992982" + integrity sha512-SwaxMGVdAZk3ernAx2Uv2sorA7jm3Kx+lR0grp6rMmnY06Kn/urtKx1LPN2mGTea4fCT38impYT28FfcLUhX0g== + dependencies: + "@jest/types" "^24.8.0" + anymatch "^2.0.0" + fb-watchman "^2.0.0" + graceful-fs "^4.1.15" + invariant "^2.2.4" + jest-serializer "^24.4.0" + jest-util "^24.8.0" + jest-worker "^24.6.0" + micromatch "^3.1.10" + sane "^4.0.3" + walker "^1.0.7" + optionalDependencies: + fsevents "^1.2.7" + +jest-jasmine2@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-24.8.0.tgz#a9c7e14c83dd77d8b15e820549ce8987cc8cd898" + integrity sha512-cEky88npEE5LKd5jPpTdDCLvKkdyklnaRycBXL6GNmpxe41F0WN44+i7lpQKa/hcbXaQ+rc9RMaM4dsebrYong== + dependencies: + "@babel/traverse" "^7.1.0" + "@jest/environment" "^24.8.0" + "@jest/test-result" "^24.8.0" + "@jest/types" "^24.8.0" + chalk "^2.0.1" + co "^4.6.0" + expect "^24.8.0" + is-generator-fn "^2.0.0" + jest-each "^24.8.0" + jest-matcher-utils "^24.8.0" + jest-message-util "^24.8.0" + jest-runtime "^24.8.0" + jest-snapshot "^24.8.0" + jest-util "^24.8.0" + pretty-format "^24.8.0" + throat "^4.0.0" + +jest-junit@^6.4.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/jest-junit/-/jest-junit-6.4.0.tgz#23e15c979fa6338afde46f2d2ac2a6b7e8cf0d9e" + integrity sha512-GXEZA5WBeUich94BARoEUccJumhCgCerg7mXDFLxWwI2P7wL3Z7sGWk+53x343YdBLjiMR9aD/gYMVKO+0pE4Q== + dependencies: + jest-validate "^24.0.0" + mkdirp "^0.5.1" + strip-ansi "^4.0.0" + xml "^1.0.1" + +jest-leak-detector@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-24.8.0.tgz#c0086384e1f650c2d8348095df769f29b48e6980" + integrity sha512-cG0yRSK8A831LN8lIHxI3AblB40uhv0z+SsQdW3GoMMVcK+sJwrIIyax5tu3eHHNJ8Fu6IMDpnLda2jhn2pD/g== + dependencies: + pretty-format "^24.8.0" + +jest-matcher-utils@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-24.8.0.tgz#2bce42204c9af12bde46f83dc839efe8be832495" + integrity sha512-lex1yASY51FvUuHgm0GOVj7DCYEouWSlIYmCW7APSqB9v8mXmKSn5+sWVF0MhuASG0bnYY106/49JU1FZNl5hw== + dependencies: + chalk "^2.0.1" + jest-diff "^24.8.0" + jest-get-type "^24.8.0" + pretty-format "^24.8.0" + +jest-message-util@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-24.8.0.tgz#0d6891e72a4beacc0292b638685df42e28d6218b" + integrity sha512-p2k71rf/b6ns8btdB0uVdljWo9h0ovpnEe05ZKWceQGfXYr4KkzgKo3PBi8wdnd9OtNh46VpNIJynUn/3MKm1g== + dependencies: + "@babel/code-frame" "^7.0.0" + "@jest/test-result" "^24.8.0" + "@jest/types" "^24.8.0" + "@types/stack-utils" "^1.0.1" + chalk "^2.0.1" + micromatch "^3.1.10" + slash "^2.0.0" + stack-utils "^1.0.1" + +jest-mock@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-24.8.0.tgz#2f9d14d37699e863f1febf4e4d5a33b7fdbbde56" + integrity sha512-6kWugwjGjJw+ZkK4mDa0Df3sDlUTsV47MSrT0nGQ0RBWJbpODDQ8MHDVtGtUYBne3IwZUhtB7elxHspU79WH3A== + dependencies: + "@jest/types" "^24.8.0" + +jest-pnp-resolver@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz#ecdae604c077a7fbc70defb6d517c3c1c898923a" + integrity sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ== + +jest-regex-util@^24.3.0: + version "24.3.0" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.3.0.tgz#d5a65f60be1ae3e310d5214a0307581995227b36" + integrity sha512-tXQR1NEOyGlfylyEjg1ImtScwMq8Oh3iJbGTjN7p0J23EuVX1MA8rwU69K4sLbCmwzgCUbVkm0FkSF9TdzOhtg== + +jest-resolve-dependencies@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-24.8.0.tgz#19eec3241f2045d3f990dba331d0d7526acff8e0" + integrity sha512-hyK1qfIf/krV+fSNyhyJeq3elVMhK9Eijlwy+j5jqmZ9QsxwKBiP6qukQxaHtK8k6zql/KYWwCTQ+fDGTIJauw== + dependencies: + "@jest/types" "^24.8.0" + jest-regex-util "^24.3.0" + jest-snapshot "^24.8.0" + +jest-resolve@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-24.8.0.tgz#84b8e5408c1f6a11539793e2b5feb1b6e722439f" + integrity sha512-+hjSzi1PoRvnuOICoYd5V/KpIQmkAsfjFO71458hQ2Whi/yf1GDeBOFj8Gxw4LrApHsVJvn5fmjcPdmoUHaVKw== + dependencies: + "@jest/types" "^24.8.0" + browser-resolve "^1.11.3" + chalk "^2.0.1" + jest-pnp-resolver "^1.2.1" + realpath-native "^1.1.0" + +jest-runner@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-24.8.0.tgz#4f9ae07b767db27b740d7deffad0cf67ccb4c5bb" + integrity sha512-utFqC5BaA3JmznbissSs95X1ZF+d+4WuOWwpM9+Ak356YtMhHE/GXUondZdcyAAOTBEsRGAgH/0TwLzfI9h7ow== + dependencies: + "@jest/console" "^24.7.1" + "@jest/environment" "^24.8.0" + "@jest/test-result" "^24.8.0" + "@jest/types" "^24.8.0" + chalk "^2.4.2" + exit "^0.1.2" + graceful-fs "^4.1.15" + jest-config "^24.8.0" + jest-docblock "^24.3.0" + jest-haste-map "^24.8.0" + jest-jasmine2 "^24.8.0" + jest-leak-detector "^24.8.0" + jest-message-util "^24.8.0" + jest-resolve "^24.8.0" + jest-runtime "^24.8.0" + jest-util "^24.8.0" + jest-worker "^24.6.0" + source-map-support "^0.5.6" + throat "^4.0.0" + +jest-runtime@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-24.8.0.tgz#05f94d5b05c21f6dc54e427cd2e4980923350620" + integrity sha512-Mq0aIXhvO/3bX44ccT+czU1/57IgOMyy80oM0XR/nyD5zgBcesF84BPabZi39pJVA6UXw+fY2Q1N+4BiVUBWOA== + dependencies: + "@jest/console" "^24.7.1" + "@jest/environment" "^24.8.0" + "@jest/source-map" "^24.3.0" + "@jest/transform" "^24.8.0" + "@jest/types" "^24.8.0" + "@types/yargs" "^12.0.2" + chalk "^2.0.1" + exit "^0.1.2" + glob "^7.1.3" + graceful-fs "^4.1.15" + jest-config "^24.8.0" + jest-haste-map "^24.8.0" + jest-message-util "^24.8.0" + jest-mock "^24.8.0" + jest-regex-util "^24.3.0" + jest-resolve "^24.8.0" + jest-snapshot "^24.8.0" + jest-util "^24.8.0" + jest-validate "^24.8.0" + realpath-native "^1.1.0" + slash "^2.0.0" + strip-bom "^3.0.0" + yargs "^12.0.2" + +jest-serializer@^24.4.0: + version "24.4.0" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-24.4.0.tgz#f70c5918c8ea9235ccb1276d232e459080588db3" + integrity sha512-k//0DtglVstc1fv+GY/VHDIjrtNjdYvYjMlbLUed4kxrE92sIUewOi5Hj3vrpB8CXfkJntRPDRjCrCvUhBdL8Q== + +jest-snapshot@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-24.8.0.tgz#3bec6a59da2ff7bc7d097a853fb67f9d415cb7c6" + integrity sha512-5ehtWoc8oU9/cAPe6fez6QofVJLBKyqkY2+TlKTOf0VllBB/mqUNdARdcjlZrs9F1Cv+/HKoCS/BknT0+tmfPg== + dependencies: + "@babel/types" "^7.0.0" + "@jest/types" "^24.8.0" + chalk "^2.0.1" + expect "^24.8.0" + jest-diff "^24.8.0" + jest-matcher-utils "^24.8.0" + jest-message-util "^24.8.0" + jest-resolve "^24.8.0" + mkdirp "^0.5.1" + natural-compare "^1.4.0" + pretty-format "^24.8.0" + semver "^5.5.0" + +jest-util@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-24.8.0.tgz#41f0e945da11df44cc76d64ffb915d0716f46cd1" + integrity sha512-DYZeE+XyAnbNt0BG1OQqKy/4GVLPtzwGx5tsnDrFcax36rVE3lTA5fbvgmbVPUZf9w77AJ8otqR4VBbfFJkUZA== + dependencies: + "@jest/console" "^24.7.1" + "@jest/fake-timers" "^24.8.0" + "@jest/source-map" "^24.3.0" + "@jest/test-result" "^24.8.0" + "@jest/types" "^24.8.0" + callsites "^3.0.0" + chalk "^2.0.1" + graceful-fs "^4.1.15" + is-ci "^2.0.0" + mkdirp "^0.5.1" + slash "^2.0.0" + source-map "^0.6.0" + +jest-validate@^24.0.0, jest-validate@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-24.8.0.tgz#624c41533e6dfe356ffadc6e2423a35c2d3b4849" + integrity sha512-+/N7VOEMW1Vzsrk3UWBDYTExTPwf68tavEPKDnJzrC6UlHtUDU/fuEdXqFoHzv9XnQ+zW6X3qMZhJ3YexfeLDA== + dependencies: + "@jest/types" "^24.8.0" + camelcase "^5.0.0" + chalk "^2.0.1" + jest-get-type "^24.8.0" + leven "^2.1.0" + pretty-format "^24.8.0" + +jest-watcher@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-24.8.0.tgz#58d49915ceddd2de85e238f6213cef1c93715de4" + integrity sha512-SBjwHt5NedQoVu54M5GEx7cl7IGEFFznvd/HNT8ier7cCAx/Qgu9ZMlaTQkvK22G1YOpcWBLQPFSImmxdn3DAw== + dependencies: + "@jest/test-result" "^24.8.0" + "@jest/types" "^24.8.0" + "@types/yargs" "^12.0.9" + ansi-escapes "^3.0.0" + chalk "^2.0.1" + jest-util "^24.8.0" + string-length "^2.0.0" + +jest-worker@^24.6.0: + version "24.6.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.6.0.tgz#7f81ceae34b7cde0c9827a6980c35b7cdc0161b3" + integrity sha512-jDwgW5W9qGNvpI1tNnvajh0a5IE/PuGLFmHk6aR/BZFz8tSgGw17GsDPXAJ6p91IvYDjOw8GpFbvvZGAK+DPQQ== + dependencies: + merge-stream "^1.0.1" + supports-color "^6.1.0" + +jest@24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/jest/-/jest-24.8.0.tgz#d5dff1984d0d1002196e9b7f12f75af1b2809081" + integrity sha512-o0HM90RKFRNWmAWvlyV8i5jGZ97pFwkeVoGvPW1EtLTgJc2+jcuqcbbqcSZLE/3f2S5pt0y2ZBETuhpWNl1Reg== + dependencies: + import-local "^2.0.0" + jest-cli "^24.8.0" + +jmespath@0.15.0: + version "0.15.0" + resolved "https://registry.yarnpkg.com/jmespath/-/jmespath-0.15.0.tgz#a3f222a9aae9f966f5d27c796510e28091764217" + integrity sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc= + +jquery@3.4.1, jquery@^3.2.1: + version "3.4.1" + resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.4.1.tgz#714f1f8d9dde4bdfa55764ba37ef214630d80ef2" + integrity sha512-36+AdBzCL+y6qjw5Tx7HgzeGCzC81MDDgaUP8ld2zhx58HdqXGoBd+tHdrBMiyjGQs0Hxs/MLZTu/eHNJJuWPw== + +js-base64@^2.1.8: + version "2.5.1" + resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.5.1.tgz#1efa39ef2c5f7980bb1784ade4a8af2de3291121" + integrity sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw== + +js-levenshtein@^1.1.3: + version "1.1.6" + resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d" + integrity sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g== + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-tokens@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" + integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= + +js-yaml@^3.13.1, js-yaml@^3.7.0: + version "3.13.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" + integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= + +jsdom@^11.5.1: + version "11.12.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-11.12.0.tgz#1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8" + integrity sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw== + dependencies: + abab "^2.0.0" + acorn "^5.5.3" + acorn-globals "^4.1.0" + array-equal "^1.0.0" + cssom ">= 0.3.2 < 0.4.0" + cssstyle "^1.0.0" + data-urls "^1.0.0" + domexception "^1.0.1" + escodegen "^1.9.1" + html-encoding-sniffer "^1.0.2" + left-pad "^1.3.0" + nwsapi "^2.0.7" + parse5 "4.0.0" + pn "^1.1.0" + request "^2.87.0" + request-promise-native "^1.0.5" + sax "^1.2.4" + symbol-tree "^3.2.2" + tough-cookie "^2.3.4" + w3c-hr-time "^1.0.1" + webidl-conversions "^4.0.2" + whatwg-encoding "^1.0.3" + whatwg-mimetype "^2.1.0" + whatwg-url "^6.4.1" + ws "^5.2.0" + xml-name-validator "^3.0.0" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= + +json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema@0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= + +json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + +json3@^3.3.2: + version "3.3.3" + resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81" + integrity sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA== + +json5@2.x, json5@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.0.tgz#e7a0c62c48285c628d20a10b85c89bb807c32850" + integrity sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ== + dependencies: + minimist "^1.2.0" + +json5@^0.5.0: + version "0.5.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" + integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE= + +json5@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" + integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== + dependencies: + minimist "^1.2.0" + +jsonify@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" + integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= + +jsprim@^1.2.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.2.3" + verror "1.10.0" + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== + +kind-of@^6.0.0, kind-of@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" + integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA== + +kleur@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" + integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== + +last-call-webpack-plugin@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz#9742df0e10e3cf46e5c0381c2de90d3a7a2d7555" + integrity sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w== + dependencies: + lodash "^4.17.5" + webpack-sources "^1.1.0" + +lcid@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" + integrity sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU= + dependencies: + invert-kv "^1.0.0" + +lcid@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" + integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA== + dependencies: + invert-kv "^2.0.0" + +left-pad@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" + integrity sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA== + +leven@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580" + integrity sha1-wuep93IJTe6dNCAq6KzORoeHVYA= + +levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +load-json-file@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" + integrity sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA= + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + pinkie-promise "^2.0.0" + strip-bom "^2.0.0" + +load-json-file@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" + integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= + dependencies: + graceful-fs "^4.1.2" + parse-json "^4.0.0" + pify "^3.0.0" + strip-bom "^3.0.0" + +loader-runner@^2.3.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" + integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== + +loader-utils@1.2.3, loader-utils@^1.0.1, loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7" + integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA== + dependencies: + big.js "^5.2.2" + emojis-list "^2.0.0" + json5 "^1.0.1" + +loader-utils@^0.2.16: + version "0.2.17" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348" + integrity sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g= + dependencies: + big.js "^3.1.3" + emojis-list "^2.0.0" + json5 "^0.5.0" + object-assign "^4.0.1" + +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + +lodash._reinterpolate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" + integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0= + +lodash.memoize@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= + +lodash.once@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" + integrity sha1-DdOXEhPHxW34gJd9UEyI+0cal6w= + +lodash.sortby@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" + integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= + +lodash.tail@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.tail/-/lodash.tail-4.1.1.tgz#d2333a36d9e7717c8ad2f7cacafec7c32b444664" + integrity sha1-0jM6NtnncXyK0vfKyv7HwytERmQ= + +lodash.template@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab" + integrity sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A== + dependencies: + lodash._reinterpolate "^3.0.0" + lodash.templatesettings "^4.0.0" + +lodash.templatesettings@^4.0.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz#e481310f049d3cf6d47e912ad09313b154f0fb33" + integrity sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ== + dependencies: + lodash._reinterpolate "^3.0.0" + +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= + +lodash@4.17.14: + version "4.17.14" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.14.tgz#9ce487ae66c96254fe20b599f21b6816028078ba" + integrity sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw== + +lodash@>4.17.4, lodash@^4.0.0, lodash@^4.0.1, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.3, lodash@^4.17.5, lodash@~4.17.10: + version "4.17.15" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" + integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== + +log-symbols@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" + integrity sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg== + dependencies: + chalk "^2.0.1" + +loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.3.0, loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +loud-rejection@^1.0.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" + integrity sha1-W0b4AUft7leIcPCG0Eghz5mOVR8= + dependencies: + currently-unhandled "^0.4.1" + signal-exit "^3.0.0" + +lower-case@^1.1.1: + version "1.1.4" + resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" + integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw= + +lru-cache@^4.0.1: + version "4.1.5" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" + integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + +make-dir@^2.0.0, make-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" + integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== + dependencies: + pify "^4.0.1" + semver "^5.6.0" + +make-error@1.x, make-error@^1.1.1: + version "1.3.5" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.5.tgz#efe4e81f6db28cadd605c70f29c831b58ef776c8" + integrity sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g== + +makeerror@1.0.x: + version "1.0.11" + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" + integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= + dependencies: + tmpl "1.0.x" + +mamacro@^0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/mamacro/-/mamacro-0.0.3.tgz#ad2c9576197c9f1abf308d0787865bd975a3f3e4" + integrity sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA== + +map-age-cleaner@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" + integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== + dependencies: + p-defer "^1.0.0" + +map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + +map-obj@^1.0.0, map-obj@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" + integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + dependencies: + object-visit "^1.0.0" + +material-colors@^1.2.1: + version "1.2.6" + resolved "https://registry.yarnpkg.com/material-colors/-/material-colors-1.2.6.tgz#6d1958871126992ceecc72f4bcc4d8f010865f46" + integrity sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg== + +md5-file@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + resolved "https://registry.yarnpkg.com/md5-file/-/md5-file-4.0.0.tgz#f3f7ba1e2dd1144d5bf1de698d0e5f44a4409584" + integrity sha512-UC0qFwyAjn4YdPpKaDNw6gNxRf7Mcx7jC1UGCY4boCzgvU2Aoc1mOGzTtrjjLKhM5ivsnhoKpQVxKPp+1j1qwg== + +md5.js@^1.3.4: + version "1.3.5" + resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +mdn-data@2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" + integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA== + +mdn-data@~1.1.0: + version "1.1.4" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-1.1.4.tgz#50b5d4ffc4575276573c4eedb8780812a8419f01" + integrity sha512-FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA== + +mem@^4.0.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178" + integrity sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w== + dependencies: + map-age-cleaner "^0.1.1" + mimic-fn "^2.0.0" + p-is-promise "^2.0.0" + +memoize-one@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-4.1.0.tgz#a2387c58c03fff27ca390c31b764a79addf3f906" + integrity sha512-2GApq0yI/b22J2j9rhbrAlsHb0Qcz+7yWxeLG8h+95sl1XPUgeLimQSOdur4Vw7cUhrBHwaUZxWFZueojqNRzA== + +memory-fs@^0.4.0, memory-fs@~0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" + integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +meow@^3.7.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" + integrity sha1-cstmi0JSKCkKu/qFaJJYcwioAfs= + dependencies: + camelcase-keys "^2.0.0" + decamelize "^1.1.2" + loud-rejection "^1.0.0" + map-obj "^1.0.1" + minimist "^1.1.3" + normalize-package-data "^2.3.4" + object-assign "^4.0.1" + read-pkg-up "^1.0.1" + redent "^1.0.0" + trim-newlines "^1.0.0" + +merge-class-names@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/merge-class-names/-/merge-class-names-1.2.0.tgz#cb30ecfc3bdbd96b6f76d0a98777907e5fbb3462" + integrity sha512-ifHxhC8DojHT1rG3PHCaJYInUqPd0WO+PxsaYDMkgy7RzfyOFtnlpr/hbhki+m/3R/ujIRVnZkD/AHjgjb5uhg== + +merge-stream@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1" + integrity sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE= + dependencies: + readable-stream "^2.0.1" + +merge2@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.2.3.tgz#7ee99dbd69bb6481689253f018488a1b902b0ed5" + integrity sha512-gdUU1Fwj5ep4kplwcmftruWofEFt6lfpkkr3h860CXbAB9c3hGb55EOL2ali0Td5oebvW0E1+3Sr+Ur7XfKpRA== + +microevent.ts@~0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/microevent.ts/-/microevent.ts-0.1.1.tgz#70b09b83f43df5172d0205a63025bce0f7357fa0" + integrity sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g== + +micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.8: + version "3.1.10" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +micromatch@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" + integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== + dependencies: + braces "^3.0.1" + picomatch "^2.0.5" + +miller-rabin@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" + integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== + dependencies: + bn.js "^4.0.0" + brorand "^1.0.1" + +mime-db@1.40.0: + version "1.40.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz#a65057e998db090f732a68f6c276d387d4126c32" + integrity sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA== + +mime-types@^2.1.12, mime-types@~2.1.19: + version "2.1.24" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81" + integrity sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ== + dependencies: + mime-db "1.40.0" + +mime@^2.0.3, mime@^2.4.4: + version "2.4.4" + resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.4.tgz#bd7b91135fc6b01cde3e9bae33d659b63d8857e5" + integrity sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA== + +mimic-fn@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" + integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== + +mimic-fn@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +mini-css-extract-plugin@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.7.0.tgz#5ba8290fbb4179a43dd27cca444ba150bee743a0" + integrity sha512-RQIw6+7utTYn8DBGsf/LpRgZCJMpZt+kuawJ/fju0KiOL6nAaTBNmCJwS7HtwSCXfS47gCkmtBFS7HdsquhdxQ== + dependencies: + loader-utils "^1.1.0" + normalize-url "1.9.1" + schema-utils "^1.0.0" + webpack-sources "^1.1.0" + +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= + +minimatch@3.0.4, minimatch@^3.0.4, minimatch@~3.0.2: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +minimist@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= + +minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= + +minimist@~0.0.1: + version "0.0.10" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" + integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8= + +minipass@^2.2.1, minipass@^2.3.5: + version "2.3.5" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.5.tgz#cacebe492022497f656b0f0f51e2682a9ed2d848" + integrity sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA== + dependencies: + safe-buffer "^5.1.2" + yallist "^3.0.0" + +minizlib@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.2.1.tgz#dd27ea6136243c7c880684e8672bb3a45fd9b614" + integrity sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA== + dependencies: + minipass "^2.2.1" + +mississippi@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" + integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA== + dependencies: + concat-stream "^1.5.0" + duplexify "^3.4.2" + end-of-stream "^1.1.0" + flush-write-stream "^1.0.0" + from2 "^2.1.0" + parallel-transform "^1.1.0" + pump "^3.0.0" + pumpify "^1.3.3" + stream-each "^1.1.0" + through2 "^2.0.0" + +mixin-deep@^1.2.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" + integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +mixin-object@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/mixin-object/-/mixin-object-2.0.1.tgz#4fb949441dab182540f1fe035ba60e1947a5e57e" + integrity sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4= + dependencies: + for-in "^0.1.3" + is-extendable "^0.1.1" + +mkdirp@0.5.1, mkdirp@0.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= + dependencies: + minimist "0.0.8" + +moment@2.24.0, moment@^2.22.1: + version "2.24.0" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.24.0.tgz#0d055d53f5052aa653c9f6eb68bb5d12bf5c2b5b" + integrity sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg== + +move-concurrently@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" + integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= + dependencies: + aproba "^1.1.1" + copy-concurrently "^1.0.0" + fs-write-stream-atomic "^1.0.8" + mkdirp "^0.5.1" + rimraf "^2.5.4" + run-queue "^1.0.3" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +ms@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +mute-stream@0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" + integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= + +nan@^2.12.1, nan@^2.13.2: + version "2.14.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" + integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + +needle@^2.2.1: + version "2.4.0" + resolved "https://registry.yarnpkg.com/needle/-/needle-2.4.0.tgz#6833e74975c444642590e15a750288c5f939b57c" + integrity sha512-4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg== + dependencies: + debug "^3.2.6" + iconv-lite "^0.4.4" + sax "^1.2.4" + +neo-async@^2.5.0, neo-async@^2.6.0: + version "2.6.1" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" + integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw== + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + +no-case@^2.2.0: + version "2.3.2" + resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac" + integrity sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ== + dependencies: + lower-case "^1.1.1" + +node-fetch@^1.0.1: + version "1.7.3" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" + integrity sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ== + dependencies: + encoding "^0.1.11" + is-stream "^1.0.1" + +node-gyp@^3.8.0: + version "3.8.0" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.8.0.tgz#540304261c330e80d0d5edce253a68cb3964218c" + integrity sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA== + dependencies: + fstream "^1.0.0" + glob "^7.0.3" + graceful-fs "^4.1.2" + mkdirp "^0.5.0" + nopt "2 || 3" + npmlog "0 || 1 || 2 || 3 || 4" + osenv "0" + request "^2.87.0" + rimraf "2" + semver "~5.3.0" + tar "^2.0.0" + which "1" + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= + +node-libs-browser@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" + integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== + dependencies: + assert "^1.1.1" + browserify-zlib "^0.2.0" + buffer "^4.3.0" + console-browserify "^1.1.0" + constants-browserify "^1.0.0" + crypto-browserify "^3.11.0" + domain-browser "^1.1.1" + events "^3.0.0" + https-browserify "^1.0.0" + os-browserify "^0.3.0" + path-browserify "0.0.1" + process "^0.11.10" + punycode "^1.2.4" + querystring-es3 "^0.2.0" + readable-stream "^2.3.3" + stream-browserify "^2.0.1" + stream-http "^2.7.2" + string_decoder "^1.0.0" + timers-browserify "^2.0.4" + tty-browserify "0.0.0" + url "^0.11.0" + util "^0.11.0" + vm-browserify "^1.0.1" + +node-modules-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" + integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= + +node-notifier@^5.2.1: + version "5.4.0" + resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.4.0.tgz#7b455fdce9f7de0c63538297354f3db468426e6a" + integrity sha512-SUDEb+o71XR5lXSTyivXd9J7fCloE3SyP4lSgt3lU2oSANiox+SxlNRGPjDKrwU1YN3ix2KN/VGGCg0t01rttQ== + dependencies: + growly "^1.3.0" + is-wsl "^1.1.0" + semver "^5.5.0" + shellwords "^0.1.1" + which "^1.3.0" + +node-pre-gyp@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz#39ba4bb1439da030295f899e3b520b7785766149" + integrity sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A== + dependencies: + detect-libc "^1.0.2" + mkdirp "^0.5.1" + needle "^2.2.1" + nopt "^4.0.1" + npm-packlist "^1.1.6" + npmlog "^4.0.2" + rc "^1.2.7" + rimraf "^2.6.1" + semver "^5.3.0" + tar "^4" + +node-releases@^1.1.13, node-releases@^1.1.25: + version "1.1.26" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.26.tgz#f30563edc5c7dc20cf524cc8652ffa7be0762937" + integrity sha512-fZPsuhhUHMTlfkhDLGtfY80DSJTjOcx+qD1j5pqPkuhUHVS7xHZIg9EE4DHK8O3f0zTxXHX5VIkDG8pu98/wfQ== + dependencies: + semver "^5.3.0" + +node-sass@^4.12.0: + version "4.12.0" + resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.12.0.tgz#0914f531932380114a30cc5fa4fa63233a25f017" + integrity sha512-A1Iv4oN+Iel6EPv77/HddXErL2a+gZ4uBeZUy+a8O35CFYTXhgA8MgLCWBtwpGZdCvTvQ9d+bQxX/QC36GDPpQ== + dependencies: + async-foreach "^0.1.3" + chalk "^1.1.1" + cross-spawn "^3.0.0" + gaze "^1.0.0" + get-stdin "^4.0.1" + glob "^7.0.3" + in-publish "^2.0.0" + lodash "^4.17.11" + meow "^3.7.0" + mkdirp "^0.5.1" + nan "^2.13.2" + node-gyp "^3.8.0" + npmlog "^4.0.0" + request "^2.88.0" + sass-graph "^2.2.4" + stdout-stream "^1.4.0" + "true-case-path" "^1.0.2" + +"nopt@2 || 3": + version "3.0.6" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" + integrity sha1-xkZdvwirzU2zWTF/eaxopkayj/k= + dependencies: + abbrev "1" + +nopt@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" + integrity sha1-0NRoWv1UFRk8jHUFYC0NF81kR00= + dependencies: + abbrev "1" + osenv "^0.1.4" + +nopt@~1.0.10: + version "1.0.10" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee" + integrity sha1-bd0hvSoxQXuScn3Vhfim83YI6+4= + dependencies: + abbrev "1" + +normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: + version "2.5.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + dependencies: + remove-trailing-separator "^1.0.1" + +normalize-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= + +normalize-url@1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" + integrity sha1-LMDWazHqIwNkWENuNiDYWVTGbDw= + dependencies: + object-assign "^4.0.1" + prepend-http "^1.0.0" + query-string "^4.1.0" + sort-keys "^1.0.0" + +normalize-url@^3.0.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" + integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== + +npm-bundled@^1.0.1: + version "1.0.6" + resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.6.tgz#e7ba9aadcef962bb61248f91721cd932b3fe6bdd" + integrity sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g== + +npm-packlist@^1.1.6: + version "1.4.4" + resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.4.tgz#866224233850ac534b63d1a6e76050092b5d2f44" + integrity sha512-zTLo8UcVYtDU3gdeaFu2Xu0n0EvelfHDGuqtNIn5RO7yQj4H1TqNdBc/yZjxnWA0PVB8D3Woyp0i5B43JwQ6Vw== + dependencies: + ignore-walk "^3.0.1" + npm-bundled "^1.0.1" + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= + dependencies: + path-key "^2.0.0" + +"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0, npmlog@^4.0.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" + integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== + dependencies: + are-we-there-yet "~1.1.2" + console-control-strings "~1.1.0" + gauge "~2.7.3" + set-blocking "~2.0.0" + +nth-check@^1.0.2, nth-check@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" + integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== dependencies: - is-buffer "^1.1.5" + boolbase "~1.0.0" -lazy-cache@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" +num2fraction@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" + integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4= -lcid@^1.0.0: +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= + +nwsapi@^2.0.7: + version "2.1.4" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.1.4.tgz#e006a878db23636f8e8a67d33ca0e4edf61a842f" + integrity sha512-iGfd9Y6SFdTNldEy2L0GUhcarIutFmk+MPWIn9dmj8NMIup03G08uUF2KGbbmv/Ux4RT0VZJoP/sVbWA6d/VIw== + +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== + +object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-hash@^1.1.8: + version "1.3.1" + resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-1.3.1.tgz#fde452098a951cb145f039bb7d455449ddc126df" + integrity sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA== + +object-keys@^1.0.11, object-keys@^1.0.12: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= + dependencies: + isobject "^3.0.0" + +object.assign@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" + integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== + dependencies: + define-properties "^1.1.2" + function-bind "^1.1.1" + has-symbols "^1.0.0" + object-keys "^1.0.11" + +object.getownpropertydescriptors@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" + integrity sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY= + dependencies: + define-properties "^1.1.2" + es-abstract "^1.5.1" + +object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + dependencies: + isobject "^3.0.1" + +object.values@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.0.tgz#bf6810ef5da3e5325790eaaa2be213ea84624da9" + integrity sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.12.0" + function-bind "^1.1.1" + has "^1.0.3" + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +onetime@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" + integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= + dependencies: + mimic-fn "^1.0.0" + +opn@5.4.0: + version "5.4.0" + resolved "https://registry.yarnpkg.com/opn/-/opn-5.4.0.tgz#cb545e7aab78562beb11aa3bfabc7042e1761035" + integrity sha512-YF9MNdVy/0qvJvDtunAOzFw9iasOQHpVthTCvGzxt61Il64AYSGdK+rYwld7NAfk9qJ7dt+hymBNSc9LNYS+Sw== + dependencies: + is-wsl "^1.1.0" + +optimist@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" + integrity sha1-2j6nRob6IaGaERwybpDrFaAZZoY= + dependencies: + minimist "~0.0.1" + wordwrap "~0.0.2" + +optimize-css-assets-webpack-plugin@^5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.3.tgz#e2f1d4d94ad8c0af8967ebd7cf138dcb1ef14572" + integrity sha512-q9fbvCRS6EYtUKKSwI87qm2IxlyJK5b4dygW1rKUBT6mMDhdG5e5bZT63v6tnJR9F9FB/H5a0HTmtw+laUBxKA== + dependencies: + cssnano "^4.1.10" + last-call-webpack-plugin "^3.0.0" + +optionator@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" + integrity sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q= + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.4" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + wordwrap "~1.0.0" + +ora@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/ora/-/ora-3.4.0.tgz#bf0752491059a3ef3ed4c85097531de9fdbcd318" + integrity sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg== + dependencies: + chalk "^2.4.2" + cli-cursor "^2.1.0" + cli-spinners "^2.0.0" + log-symbols "^2.2.0" + strip-ansi "^5.2.0" + wcwidth "^1.0.1" + +original@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" + integrity sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg== + dependencies: + url-parse "^1.4.3" + +os-browserify@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" + integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= + +os-homedir@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= + +os-locale@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" + integrity sha1-IPnxeuKe00XoveWDsT0gCYA8FNk= + dependencies: + lcid "^1.0.0" + +os-locale@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" + integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q== + dependencies: + execa "^1.0.0" + lcid "^2.0.0" + mem "^4.0.0" + +os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= + +osenv@0, osenv@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" + integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.0" + +p-defer@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" + resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" + integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= + +p-each-series@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-1.0.0.tgz#930f3d12dd1f50e7434457a22cd6f04ac6ad7f71" + integrity sha1-kw89Et0fUOdDRFeiLNbwSsatf3E= dependencies: - invert-kv "^1.0.0" + p-reduce "^1.0.0" -livereload-js@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/livereload-js/-/livereload-js-2.3.0.tgz#c3ab22e8aaf5bf3505d80d098cbad67726548c9a" +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= -load-grunt-tasks@~3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/load-grunt-tasks/-/load-grunt-tasks-3.2.0.tgz#25fe7e414ba0645a752bb06f52491b422332036f" +p-is-promise@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e" + integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg== + +p-limit@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== dependencies: - findup-sync "^0.2.1" - multimatch "^2.0.0" + p-try "^1.0.0" -load-json-file@^1.0.0: +p-limit@^2.0.0, p-limit@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.0.tgz#417c9941e6027a9abcba5092dd2904e255b5fbc2" + integrity sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ== + dependencies: + p-try "^2.0.0" + +p-locate@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= + dependencies: + p-limit "^1.1.0" + +p-locate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== + dependencies: + p-limit "^2.0.0" + +p-reduce@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa" + integrity sha1-GMKw3ZNqRpClKfgjH1ig/bakffo= + +p-try@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +pako@~1.0.5: + version "1.0.10" + resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.10.tgz#4328badb5086a426aa90f541977d4955da5c9732" + integrity sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw== + +papaparse@4.6.3: + version "4.6.3" + resolved "https://registry.yarnpkg.com/papaparse/-/papaparse-4.6.3.tgz#742e5eaaa97fa6c7e1358d2934d8f18f44aee781" + integrity sha512-LRq7BrHC2kHPBYSD50aKuw/B/dGcg29omyJbKWY3KsYUZU69RKwaBHu13jGmCYBtOc4odsLCrFyk6imfyNubJQ== + +parallel-transform@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" + resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.1.0.tgz#d410f065b05da23081fcd10f28854c29bda33b06" + integrity sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY= + dependencies: + cyclist "~0.2.2" + inherits "^2.0.3" + readable-stream "^2.1.5" + +param-case@2.1.x: + version "2.1.1" + resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" + integrity sha1-35T9jPZTHs915r75oIWPvHK+Ikc= + dependencies: + no-case "^2.2.0" + +parse-asn1@^5.0.0: + version "5.1.4" + resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.4.tgz#37f6628f823fbdeb2273b4d540434a22f3ef1fcc" + integrity sha512-Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw== + dependencies: + asn1.js "^4.0.0" + browserify-aes "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.0" + pbkdf2 "^3.0.3" + safe-buffer "^5.1.1" + +parse-json@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= + dependencies: + error-ex "^1.2.0" + +parse-json@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= + dependencies: + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + +parse5@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" + integrity sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA== + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= + +path-browserify@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" + integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== + +path-dirname@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" + integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= + +path-exists@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= + dependencies: + pinkie-promise "^2.0.0" + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-key@^2.0.0, path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + +path-parse@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" + integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== + +path-type@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" + integrity sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE= dependencies: graceful-fs "^4.1.2" - parse-json "^2.2.0" pify "^2.0.0" pinkie-promise "^2.0.0" - strip-bom "^2.0.0" -lodash.assign@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" +path-type@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" + integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== + dependencies: + pify "^3.0.0" -lodash.clonedeep@^4.3.2: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" +pbkdf2@^3.0.3: + version "3.0.17" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6" + integrity sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA== + dependencies: + create-hash "^1.1.2" + create-hmac "^1.1.4" + ripemd160 "^2.0.1" + safe-buffer "^5.0.1" + sha.js "^2.4.8" -lodash@^3.10.1, lodash@~3.10.1: - version "3.10.1" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" +pend@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" + integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA= + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= + +picomatch@^2.0.5: + version "2.0.7" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.0.7.tgz#514169d8c7cd0bdbeecc8a2609e34a7163de69f6" + integrity sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA== + +pify@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= + +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= + +pirates@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" + integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== + dependencies: + node-modules-regexp "^1.0.0" + +pixelmatch@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/pixelmatch/-/pixelmatch-5.0.2.tgz#b1349c3b544e20107a4dd7e532b01291946258cd" + integrity sha512-b65UpTI40rGFY8QwN6IYuCbpmwAOL6M8d6voX4F3zR99UmDqh7r2QWLxoeHOazBRgEmDUdqNVESDREqFxQS7rQ== + dependencies: + pngjs "^3.4.0" + +pkg-dir@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" + integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== + dependencies: + find-up "^3.0.0" + +pkg-up@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f" + integrity sha1-yBmscoBZpGHKscOImivjxJoATX8= + dependencies: + find-up "^2.1.0" + +pn@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" + integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA== + +pngjs@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-3.4.0.tgz#99ca7d725965fb655814eaf65f38f12bbdbf555f" + integrity sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w== + +popper.js@^1.14.4: + version "1.15.0" + resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.15.0.tgz#5560b99bbad7647e9faa475c6b8056621f5a4ff2" + integrity sha512-w010cY1oCUmI+9KwwlWki+r5jxKfTFDVoadl7MSrIujHU5MJ5OR6HTDj6Xo8aoR/QsA56x8jKjA59qGH4ELtrA== + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + +postcss-attribute-case-insensitive@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.1.tgz#b2a721a0d279c2f9103a36331c88981526428cc7" + integrity sha512-L2YKB3vF4PetdTIthQVeT+7YiSzMoNMLLYxPXXppOOP7NoazEAy45sh2LvJ8leCQjfBcfkYQs8TtCcQjeZTp8A== + dependencies: + postcss "^7.0.2" + postcss-selector-parser "^5.0.0" + +postcss-calc@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.1.tgz#36d77bab023b0ecbb9789d84dcb23c4941145436" + integrity sha512-oXqx0m6tb4N3JGdmeMSc/i91KppbYsFZKdH0xMOqK8V1rJlzrKlTdokz8ozUXLVejydRN6u2IddxpcijRj2FqQ== + dependencies: + css-unit-converter "^1.1.1" + postcss "^7.0.5" + postcss-selector-parser "^5.0.0-rc.4" + postcss-value-parser "^3.3.1" + +postcss-color-functional-notation@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz#5efd37a88fbabeb00a2966d1e53d98ced93f74e0" + integrity sha512-ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr/eT2g== + dependencies: + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-color-gray@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz#532a31eb909f8da898ceffe296fdc1f864be8547" + integrity sha512-q6BuRnAGKM/ZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw== + dependencies: + "@csstools/convert-colors" "^1.4.0" + postcss "^7.0.5" + postcss-values-parser "^2.0.0" + +postcss-color-hex-alpha@^5.0.2: + version "5.0.3" + resolved "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz#a8d9ca4c39d497c9661e374b9c51899ef0f87388" + integrity sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw== + dependencies: + postcss "^7.0.14" + postcss-values-parser "^2.0.1" + +postcss-color-mod-function@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz#816ba145ac11cc3cb6baa905a75a49f903e4d31d" + integrity sha512-YP4VG+xufxaVtzV6ZmhEtc+/aTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ== + dependencies: + "@csstools/convert-colors" "^1.4.0" + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-color-rebeccapurple@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz#c7a89be872bb74e45b1e3022bfe5748823e6de77" + integrity sha512-aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe/lEy8g== + dependencies: + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-colormin@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-4.0.3.tgz#ae060bce93ed794ac71264f08132d550956bd381" + integrity sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw== + dependencies: + browserslist "^4.0.0" + color "^3.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-convert-values@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz#ca3813ed4da0f812f9d43703584e449ebe189a7f" + integrity sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ== + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-custom-media@^7.0.7: + version "7.0.8" + resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz#fffd13ffeffad73621be5f387076a28b00294e0c" + integrity sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg== + dependencies: + postcss "^7.0.14" + +postcss-custom-properties@^8.0.9: + version "8.0.11" + resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz#2d61772d6e92f22f5e0d52602df8fae46fa30d97" + integrity sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA== + dependencies: + postcss "^7.0.17" + postcss-values-parser "^2.0.1" + +postcss-custom-selectors@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz#64858c6eb2ecff2fb41d0b28c9dd7b3db4de7fba" + integrity sha512-DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w== + dependencies: + postcss "^7.0.2" + postcss-selector-parser "^5.0.0-rc.3" + +postcss-dir-pseudo-class@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz#6e3a4177d0edb3abcc85fdb6fbb1c26dabaeaba2" + integrity sha512-3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw== + dependencies: + postcss "^7.0.2" + postcss-selector-parser "^5.0.0-rc.3" + +postcss-discard-comments@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz#1fbabd2c246bff6aaad7997b2b0918f4d7af4033" + integrity sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg== + dependencies: + postcss "^7.0.0" + +postcss-discard-duplicates@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz#3fe133cd3c82282e550fc9b239176a9207b784eb" + integrity sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ== + dependencies: + postcss "^7.0.0" + +postcss-discard-empty@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz#c8c951e9f73ed9428019458444a02ad90bb9f765" + integrity sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w== + dependencies: + postcss "^7.0.0" + +postcss-discard-overridden@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz#652aef8a96726f029f5e3e00146ee7a4e755ff57" + integrity sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg== + dependencies: + postcss "^7.0.0" + +postcss-double-position-gradients@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz#fc927d52fddc896cb3a2812ebc5df147e110522e" + integrity sha512-G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA== + dependencies: + postcss "^7.0.5" + postcss-values-parser "^2.0.0" + +postcss-env-function@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/postcss-env-function/-/postcss-env-function-2.0.2.tgz#0f3e3d3c57f094a92c2baf4b6241f0b0da5365d7" + integrity sha512-rwac4BuZlITeUbiBq60h/xbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw== + dependencies: + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-flexbugs-fixes@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-4.1.0.tgz#e094a9df1783e2200b7b19f875dcad3b3aff8b20" + integrity sha512-jr1LHxQvStNNAHlgco6PzY308zvLklh7SJVYuWUwyUQncofaAlD2l+P/gxKHOdqWKe7xJSkVLFF/2Tp+JqMSZA== + dependencies: + postcss "^7.0.0" + +postcss-focus-visible@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz#477d107113ade6024b14128317ade2bd1e17046e" + integrity sha512-Z5CkWBw0+idJHSV6+Bgf2peDOFf/x4o+vX/pwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g== + dependencies: + postcss "^7.0.2" + +postcss-focus-within@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz#763b8788596cee9b874c999201cdde80659ef680" + integrity sha512-W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds/Iq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w== + dependencies: + postcss "^7.0.2" -lodash@^4.0.0, lodash@^4.17.4, lodash@~4.17.4: - version "4.17.4" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" +postcss-font-variant@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-4.0.0.tgz#71dd3c6c10a0d846c5eda07803439617bbbabacc" + integrity sha512-M8BFYKOvCrI2aITzDad7kWuXXTm0YhGdP9Q8HanmN4EF1Hmcgs1KK5rSHylt/lUJe8yLxiSwWAHdScoEiIxztg== + dependencies: + postcss "^7.0.2" -lodash@~4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.3.0.tgz#efd9c4a6ec53f3b05412429915c3e4824e4d25a4" +postcss-gap-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz#431c192ab3ed96a3c3d09f2ff615960f902c1715" + integrity sha512-QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs/vuE5I3zv0WAS+3vhrlqhijiprnuQfzmg== + dependencies: + postcss "^7.0.2" -longest@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" +postcss-image-set-function@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz#28920a2f29945bed4c3198d7df6496d410d3f288" + integrity sha512-oPTcFFip5LZy8Y/whto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw== + dependencies: + postcss "^7.0.2" + postcss-values-parser "^2.0.0" -loose-envify@^1.0.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" +postcss-initial@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-3.0.1.tgz#99d319669a13d6c06ef8e70d852f68cb1b399b61" + integrity sha512-I2Sz83ZSHybMNh02xQDK609lZ1/QOyYeuizCjzEhlMgeV/HcDJapQiH4yTqLjZss0X6/6VvKFXUeObaHpJoINw== dependencies: - js-tokens "^3.0.0" + lodash.template "^4.5.0" + postcss "^7.0.2" -loud-rejection@^1.0.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" +postcss-lab-function@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz#bb51a6856cd12289ab4ae20db1e3821ef13d7d2e" + integrity sha512-whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm/UhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg== dependencies: - currently-unhandled "^0.4.1" - signal-exit "^3.0.0" + "@csstools/convert-colors" "^1.4.0" + postcss "^7.0.2" + postcss-values-parser "^2.0.0" -lru-cache@^4.0.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55" +postcss-load-config@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.0.tgz#c84d692b7bb7b41ddced94ee62e8ab31b417b003" + integrity sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q== dependencies: - pseudomap "^1.0.2" - yallist "^2.1.2" + cosmiconfig "^5.0.0" + import-cwd "^2.0.0" -map-obj@^1.0.0, map-obj@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" +postcss-loader@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-3.0.0.tgz#6b97943e47c72d845fa9e03f273773d4e8dd6c2d" + integrity sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA== + dependencies: + loader-utils "^1.1.0" + postcss "^7.0.0" + postcss-load-config "^2.0.0" + schema-utils "^1.0.0" -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" +postcss-logical@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-logical/-/postcss-logical-3.0.0.tgz#2495d0f8b82e9f262725f75f9401b34e7b45d5b5" + integrity sha512-1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA== + dependencies: + postcss "^7.0.2" -meow@^3.3.0, meow@^3.7.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" +postcss-media-minmax@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz#b75bb6cbc217c8ac49433e12f22048814a4f5ed5" + integrity sha512-fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu/+qW2SMQeTHBw== + dependencies: + postcss "^7.0.2" + +postcss-merge-longhand@^4.0.11: + version "4.0.11" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz#62f49a13e4a0ee04e7b98f42bb16062ca2549e24" + integrity sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw== + dependencies: + css-color-names "0.0.4" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + stylehacks "^4.0.0" + +postcss-merge-rules@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz#362bea4ff5a1f98e4075a713c6cb25aefef9a650" + integrity sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ== + dependencies: + browserslist "^4.0.0" + caniuse-api "^3.0.0" + cssnano-util-same-parent "^4.0.0" + postcss "^7.0.0" + postcss-selector-parser "^3.0.0" + vendors "^1.0.0" + +postcss-minify-font-values@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz#cd4c344cce474343fac5d82206ab2cbcb8afd5a6" + integrity sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg== + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-minify-gradients@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz#93b29c2ff5099c535eecda56c4aa6e665a663471" + integrity sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q== + dependencies: + cssnano-util-get-arguments "^4.0.0" + is-color-stop "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-minify-params@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz#6b9cef030c11e35261f95f618c90036d680db874" + integrity sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg== + dependencies: + alphanum-sort "^1.0.0" + browserslist "^4.0.0" + cssnano-util-get-arguments "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + uniqs "^2.0.0" + +postcss-minify-selectors@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz#e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8" + integrity sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g== + dependencies: + alphanum-sort "^1.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-selector-parser "^3.0.0" + +postcss-modules-extract-imports@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e" + integrity sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ== dependencies: - camelcase-keys "^2.0.0" - decamelize "^1.1.2" - loud-rejection "^1.0.0" - map-obj "^1.0.1" - minimist "^1.1.3" - normalize-package-data "^2.3.4" - object-assign "^4.0.1" - read-pkg-up "^1.0.1" - redent "^1.0.0" - trim-newlines "^1.0.0" + postcss "^7.0.5" -micromatch@^2.1.5: - version "2.3.11" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" - dependencies: - arr-diff "^2.0.0" - array-unique "^0.2.1" - braces "^1.8.2" - expand-brackets "^0.1.4" - extglob "^0.3.1" - filename-regex "^2.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.1" - kind-of "^3.0.2" - normalize-path "^2.0.1" - object.omit "^2.0.0" - parse-glob "^3.0.4" - regex-cache "^0.4.2" +postcss-modules-local-by-default@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz#e8a6561be914aaf3c052876377524ca90dbb7915" + integrity sha512-jM/V8eqM4oJ/22j0gx4jrp63GSvDH6v86OqyTHHUvk4/k1vceipZsaymiZ5PvocqZOl5SFHiFJqjs3la0wnfIQ== + dependencies: + icss-utils "^4.1.1" + postcss "^7.0.16" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.0.0" -mime-db@~1.30.0: - version "1.30.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.30.0.tgz#74c643da2dd9d6a45399963465b26d5ca7d71f01" +postcss-modules-scope@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.1.0.tgz#ad3f5bf7856114f6fcab901b0502e2a2bc39d4eb" + integrity sha512-91Rjps0JnmtUB0cujlc8KIKCsJXWjzuxGeT/+Q2i2HXKZ7nBUeF9YQTZZTNvHVoNYj1AthsjnGLtqDUE0Op79A== + dependencies: + postcss "^7.0.6" + postcss-selector-parser "^6.0.0" -mime-types@^2.1.12, mime-types@~2.1.15, mime-types@~2.1.17, mime-types@~2.1.7: - version "2.1.17" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.17.tgz#09d7a393f03e995a79f8af857b70a9e0ab16557a" +postcss-modules-values@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz#5b5000d6ebae29b4255301b4a3a54574423e7f10" + integrity sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg== dependencies: - mime-db "~1.30.0" + icss-utils "^4.0.0" + postcss "^7.0.6" -"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4, minimatch@~3.0.0, minimatch@~3.0.2: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" +postcss-nesting@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-7.0.0.tgz#6e26a770a0c8fcba33782a6b6f350845e1a448f6" + integrity sha512-WSsbVd5Ampi3Y0nk/SKr5+K34n52PqMqEfswu6RtU4r7wA8vSD+gM8/D9qq4aJkHImwn1+9iEFTbjoWsQeqtaQ== dependencies: - brace-expansion "^1.1.7" + postcss "^7.0.2" -minimatch@^2.0.1: - version "2.0.10" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-2.0.10.tgz#8d087c39c6b38c001b97fca7ce6d0e1e80afbac7" +postcss-normalize-charset@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz#8b35add3aee83a136b0471e0d59be58a50285dd4" + integrity sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g== + dependencies: + postcss "^7.0.0" + +postcss-normalize-display-values@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz#0dbe04a4ce9063d4667ed2be476bb830c825935a" + integrity sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ== + dependencies: + cssnano-util-get-match "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-positions@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz#05f757f84f260437378368a91f8932d4b102917f" + integrity sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA== + dependencies: + cssnano-util-get-arguments "^4.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-repeat-style@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz#c4ebbc289f3991a028d44751cbdd11918b17910c" + integrity sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q== + dependencies: + cssnano-util-get-arguments "^4.0.0" + cssnano-util-get-match "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-string@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz#cd44c40ab07a0c7a36dc5e99aace1eca4ec2690c" + integrity sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA== + dependencies: + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-timing-functions@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz#8e009ca2a3949cdaf8ad23e6b6ab99cb5e7d28d9" + integrity sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A== + dependencies: + cssnano-util-get-match "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-unicode@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz#841bd48fdcf3019ad4baa7493a3d363b52ae1cfb" + integrity sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg== dependencies: - brace-expansion "^1.0.0" + browserslist "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" -minimist@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" +postcss-normalize-url@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz#10e437f86bc7c7e58f7b9652ed878daaa95faae1" + integrity sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA== + dependencies: + is-absolute-url "^2.0.0" + normalize-url "^3.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" -minimist@^1.1.3, minimist@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" +postcss-normalize-whitespace@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz#bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82" + integrity sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA== + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" -"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" +postcss-ordered-values@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz#0cf75c820ec7d5c4d280189559e0b571ebac0eee" + integrity sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw== dependencies: - minimist "0.0.8" + cssnano-util-get-arguments "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" -ms@0.7.1: - version "0.7.1" - resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" +postcss-overflow-shorthand@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz#31ecf350e9c6f6ddc250a78f0c3e111f32dd4c30" + integrity sha512-aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w/K/wS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g== + dependencies: + postcss "^7.0.2" -ms@2.0.0: +postcss-page-break@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + resolved "https://registry.yarnpkg.com/postcss-page-break/-/postcss-page-break-2.0.0.tgz#add52d0e0a528cabe6afee8b46e2abb277df46bf" + integrity sha512-tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8/ugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ== + dependencies: + postcss "^7.0.2" -multimatch@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-2.1.0.tgz#9c7906a22fb4c02919e2f5f75161b4cdbd4b2a2b" +postcss-place@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-place/-/postcss-place-4.0.1.tgz#e9f39d33d2dc584e46ee1db45adb77ca9d1dcc62" + integrity sha512-Zb6byCSLkgRKLODj/5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b/2xxwcTEVScnqGxBg== + dependencies: + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-preset-env@6.6.0: + version "6.6.0" + resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-6.6.0.tgz#642e7d962e2bdc2e355db117c1eb63952690ed5b" + integrity sha512-I3zAiycfqXpPIFD6HXhLfWXIewAWO8emOKz+QSsxaUZb9Dp8HbF5kUf+4Wy/AxR33o+LRoO8blEWCHth0ZsCLA== + dependencies: + autoprefixer "^9.4.9" + browserslist "^4.4.2" + caniuse-lite "^1.0.30000939" + css-blank-pseudo "^0.1.4" + css-has-pseudo "^0.10.0" + css-prefers-color-scheme "^3.1.1" + cssdb "^4.3.0" + postcss "^7.0.14" + postcss-attribute-case-insensitive "^4.0.1" + postcss-color-functional-notation "^2.0.1" + postcss-color-gray "^5.0.0" + postcss-color-hex-alpha "^5.0.2" + postcss-color-mod-function "^3.0.3" + postcss-color-rebeccapurple "^4.0.1" + postcss-custom-media "^7.0.7" + postcss-custom-properties "^8.0.9" + postcss-custom-selectors "^5.1.2" + postcss-dir-pseudo-class "^5.0.0" + postcss-double-position-gradients "^1.0.0" + postcss-env-function "^2.0.2" + postcss-focus-visible "^4.0.0" + postcss-focus-within "^3.0.0" + postcss-font-variant "^4.0.0" + postcss-gap-properties "^2.0.0" + postcss-image-set-function "^3.0.1" + postcss-initial "^3.0.0" + postcss-lab-function "^2.0.1" + postcss-logical "^3.0.0" + postcss-media-minmax "^4.0.0" + postcss-nesting "^7.0.0" + postcss-overflow-shorthand "^2.0.0" + postcss-page-break "^2.0.0" + postcss-place "^4.0.1" + postcss-pseudo-class-any-link "^6.0.0" + postcss-replace-overflow-wrap "^3.0.0" + postcss-selector-matches "^4.0.0" + postcss-selector-not "^4.0.0" + +postcss-pseudo-class-any-link@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz#2ed3eed393b3702879dec4a87032b210daeb04d1" + integrity sha512-lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322/swES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew== + dependencies: + postcss "^7.0.2" + postcss-selector-parser "^5.0.0-rc.3" + +postcss-reduce-initial@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz#7fd42ebea5e9c814609639e2c2e84ae270ba48df" + integrity sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA== + dependencies: + browserslist "^4.0.0" + caniuse-api "^3.0.0" + has "^1.0.0" + postcss "^7.0.0" + +postcss-reduce-transforms@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz#17efa405eacc6e07be3414a5ca2d1074681d4e29" + integrity sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg== + dependencies: + cssnano-util-get-match "^4.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-replace-overflow-wrap@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz#61b360ffdaedca84c7c918d2b0f0d0ea559ab01c" + integrity sha512-2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw== dependencies: - array-differ "^1.0.0" - array-union "^1.0.1" - arrify "^1.0.0" - minimatch "^3.0.0" + postcss "^7.0.2" -nan@^2.3.0, nan@^2.3.2: - version "2.8.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.8.0.tgz#ed715f3fe9de02b57a5e6252d90a96675e1f085a" +postcss-selector-matches@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz#71c8248f917ba2cc93037c9637ee09c64436fcff" + integrity sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww== + dependencies: + balanced-match "^1.0.0" + postcss "^7.0.2" -node-gyp@^3.3.1: - version "3.6.2" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.6.2.tgz#9bfbe54562286284838e750eac05295853fa1c60" +postcss-selector-not@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-4.0.0.tgz#c68ff7ba96527499e832724a2674d65603b645c0" + integrity sha512-W+bkBZRhqJaYN8XAnbbZPLWMvZD1wKTu0UxtFKdhtGjWYmxhkUneoeOhRJKdAE5V7ZTlnbHfCR+6bNwK9e1dTQ== dependencies: - fstream "^1.0.0" - glob "^7.0.3" - graceful-fs "^4.1.2" - minimatch "^3.0.2" - mkdirp "^0.5.0" - nopt "2 || 3" - npmlog "0 || 1 || 2 || 3 || 4" - osenv "0" - request "2" - rimraf "2" - semver "~5.3.0" - tar "^2.0.0" - which "1" + balanced-match "^1.0.0" + postcss "^7.0.2" -node-pre-gyp@^0.6.39: - version "0.6.39" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz#c00e96860b23c0e1420ac7befc5044e1d78d8649" +postcss-selector-parser@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz#4f875f4afb0c96573d5cf4d74011aee250a7e865" + integrity sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU= dependencies: - detect-libc "^1.0.2" - hawk "3.1.3" - mkdirp "^0.5.1" - nopt "^4.0.1" - npmlog "^4.0.2" - rc "^1.1.7" - request "2.81.0" - rimraf "^2.6.1" - semver "^5.3.0" - tar "^2.2.1" - tar-pack "^3.4.0" + dot-prop "^4.1.1" + indexes-of "^1.0.1" + uniq "^1.0.1" -node-sass@^3.7.0: - version "3.13.1" - resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-3.13.1.tgz#7240fbbff2396304b4223527ed3020589c004fc2" +postcss-selector-parser@^5.0.0, postcss-selector-parser@^5.0.0-rc.3, postcss-selector-parser@^5.0.0-rc.4: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz#249044356697b33b64f1a8f7c80922dddee7195c" + integrity sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ== dependencies: - async-foreach "^0.1.3" - chalk "^1.1.1" - cross-spawn "^3.0.0" - gaze "^1.0.0" - get-stdin "^4.0.1" - glob "^7.0.3" - in-publish "^2.0.0" - lodash.assign "^4.2.0" - lodash.clonedeep "^4.3.2" - meow "^3.7.0" - mkdirp "^0.5.1" - nan "^2.3.2" - node-gyp "^3.3.1" - npmlog "^4.0.0" - request "^2.61.0" - sass-graph "^2.1.1" + cssesc "^2.0.0" + indexes-of "^1.0.1" + uniq "^1.0.1" -"nopt@2 || 3", nopt@~3.0.6: - version "3.0.6" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" +postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz#934cf799d016c83411859e09dcecade01286ec5c" + integrity sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg== dependencies: - abbrev "1" + cssesc "^3.0.0" + indexes-of "^1.0.1" + uniq "^1.0.1" -nopt@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" +postcss-svgo@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.2.tgz#17b997bc711b333bab143aaed3b8d3d6e3d38258" + integrity sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw== dependencies: - abbrev "1" - osenv "^0.1.4" + is-svg "^3.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + svgo "^1.0.0" -normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: - version "2.4.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" +postcss-unique-selectors@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz#9446911f3289bfd64c6d680f073c03b1f9ee4bac" + integrity sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg== dependencies: - hosted-git-info "^2.1.4" - is-builtin-module "^1.0.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" + alphanum-sort "^1.0.0" + postcss "^7.0.0" + uniqs "^2.0.0" -normalize-path@^2.0.0, normalize-path@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" +postcss-value-parser@^3.0.0, postcss-value-parser@^3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" + integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== + +postcss-value-parser@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.0.0.tgz#99a983d365f7b2ad8d0f9b8c3094926eab4b936d" + integrity sha512-ESPktioptiSUchCKgggAkzdmkgzKfmp0EU8jXH+5kbIUB+unr0Y4CY9SRMvibuvYUBjNh1ACLbxqYNpdTQOteQ== + +postcss-values-parser@^2.0.0, postcss-values-parser@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz#da8b472d901da1e205b47bdc98637b9e9e550e5f" + integrity sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg== dependencies: - remove-trailing-separator "^1.0.1" + flatten "^1.0.2" + indexes-of "^1.0.1" + uniq "^1.0.1" -"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0, npmlog@^4.0.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" +postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.16, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.5, postcss@^7.0.6: + version "7.0.17" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.17.tgz#4da1bdff5322d4a0acaab4d87f3e782436bad31f" + integrity sha512-546ZowA+KZ3OasvQZHsbuEpysvwTZNGJv9EfyCQdsIDltPSWHAeTQ5fQy/Npi2ZDtLI3zs7Ps/p6wThErhm9fQ== dependencies: - are-we-there-yet "~1.1.2" - console-control-strings "~1.1.0" - gauge "~2.7.3" - set-blocking "~2.0.0" + chalk "^2.4.2" + source-map "^0.6.1" + supports-color "^6.1.0" -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" +prefix-style@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/prefix-style/-/prefix-style-2.0.1.tgz#66bba9a870cfda308a5dc20e85e9120932c95a06" + integrity sha1-ZrupqHDP2jCKXcIOhekSCTLJWgY= -oauth-sign@~0.8.1, oauth-sign@~0.8.2: - version "0.8.2" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= -object-assign@^4.0.1, object-assign@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" +prepend-http@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" + integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= -object.omit@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" +prettier@^1.18.2: + version "1.18.2" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.18.2.tgz#6823e7c5900017b4bd3acf46fe9ac4b4d7bda9ea" + integrity sha512-OeHeMc0JhFE9idD4ZdtNibzY0+TPHSpSSb9h8FqtP+YnoZZ1sl8Vc9b1sasjfymH3SonAF4QcA2+mzHPhMvIiw== + +pretty-error@^2.0.2: + version "2.1.1" + resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3" + integrity sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM= dependencies: - for-own "^0.1.4" - is-extendable "^0.1.1" + renderkid "^2.0.1" + utila "~0.4" -on-finished@~2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" +pretty-format@^21.2.1: + version "21.2.1" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-21.2.1.tgz#ae5407f3cf21066cd011aa1ba5fce7b6a2eddb36" + integrity sha512-ZdWPGYAnYfcVP8yKA3zFjCn8s4/17TeYH28MXuC8vTp0o21eXjbFGcOAXZEaDaOFJjc3h2qa7HQNHNshhvoh2A== dependencies: - ee-first "1.1.1" + ansi-regex "^3.0.0" + ansi-styles "^3.2.0" -once@^1.3.0, once@^1.3.3: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" +pretty-format@^24.8.0: + version "24.8.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-24.8.0.tgz#8dae7044f58db7cb8be245383b565a963e3c27f2" + integrity sha512-P952T7dkrDEplsR+TuY7q3VXDae5Sr7zmQb12JU/NDQa/3CH7/QW0yvqLcGN6jL+zQFKaoJcPc+yJxMTGmosqw== dependencies: - wrappy "1" + "@jest/types" "^24.8.0" + ansi-regex "^4.0.0" + ansi-styles "^3.2.0" + react-is "^16.8.4" -onetime@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" +private@^0.1.6, private@~0.1.5: + version "0.1.8" + resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" + integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== -os-homedir@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== -os-locale@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" - dependencies: - lcid "^1.0.0" +process@^0.11.10: + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= -os-tmpdir@^1.0.0, os-tmpdir@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" +progress@^2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== -osenv@0, osenv@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644" +promise-inflight@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" + integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= + +promise@^7.1.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" + integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.0" + asap "~2.0.3" -parse-glob@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" +prompts@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.1.0.tgz#bf90bc71f6065d255ea2bdc0fe6520485c1b45db" + integrity sha512-+x5TozgqYdOwWsQFZizE/Tra3fKvAoy037kOyU6cgz84n8f6zxngLOV4O32kTwt9FcLCxAqw0P/c8rOr9y+Gfg== dependencies: - glob-base "^0.3.0" - is-dotfile "^1.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.0" + kleur "^3.0.2" + sisteransi "^1.0.0" -parse-json@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" +prop-types@^15.5.10, prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.6.2: + version "15.7.2" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" + integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== dependencies: - error-ex "^1.2.0" + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.8.1" -parseurl@~1.3.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" +proxy-from-env@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.0.0.tgz#33c50398f70ea7eb96d21f7b817630a55791c7ee" + integrity sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4= -path-exists@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" +prr@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= + +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= + +psl@^1.1.24, psl@^1.1.28: + version "1.2.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.2.0.tgz#df12b5b1b3a30f51c329eacbdef98f3a6e136dc6" + integrity sha512-GEn74ZffufCmkDDLNcl3uuyF/aSD6exEyh1v/ZSdAomB82t6G9hzJVRx0jBmLDW+VfZqks3aScmMw9DszwUalA== + +public-encrypt@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" + integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== + dependencies: + bn.js "^4.1.0" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + parse-asn1 "^5.0.0" + randombytes "^2.0.1" + safe-buffer "^5.1.2" + +pump@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" + integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== dependencies: - pinkie-promise "^2.0.0" + end-of-stream "^1.1.0" + once "^1.3.1" -path-is-absolute@^1.0.0, path-is-absolute@^1.0.1, path-is-absolute@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" -path-type@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" +pumpify@^1.3.3: + version "1.5.1" + resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" + integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== dependencies: - graceful-fs "^4.1.2" - pify "^2.0.0" - pinkie-promise "^2.0.0" + duplexify "^3.6.0" + inherits "^2.0.3" + pump "^2.0.0" -performance-now@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" +punycode@1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" +punycode@^1.2.4, punycode@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= -pify@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" +punycode@^2.1.0, punycode@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + +puppeteer-core@1.18.1: + version "1.18.1" + resolved "https://registry.yarnpkg.com/puppeteer-core/-/puppeteer-core-1.18.1.tgz#37549e975273b7fa450e0f8a8023db6175ed049a" + integrity sha512-E/p4oIYnPZsCATQD5S6IKOBUnGG87h14OAXAmHjm+9SFIYLBUtY2AWg38Jfus9IjcAucnrYBv6A5372bte/S2g== + dependencies: + debug "^4.1.0" + extract-zip "^1.6.6" + https-proxy-agent "^2.2.1" + mime "^2.0.3" + progress "^2.0.1" + proxy-from-env "^1.0.0" + rimraf "^2.6.1" + ws "^6.1.0" -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" +q@^1.1.2: + version "1.5.1" + resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" + integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= + +qs@~6.5.2: + version "6.5.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== + +query-string@^4.1.0: + version "4.3.4" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" + integrity sha1-u7aTucqRXCMlFbIosaArYJBD2+s= dependencies: - pinkie "^2.0.0" + object-assign "^4.1.0" + strict-uri-encode "^1.0.0" -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" +querystring-es3@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" + integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= -preserve@^0.2.0: +querystring@0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" + resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= -private@^0.1.7: - version "0.1.8" - resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" +querystringify@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.1.tgz#60e5a5fd64a7f8bfa4d2ab2ed6fdf4c85bad154e" + integrity sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA== -process-nextick-args@~1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" +raf@^3.1.0, raf@^3.4.0: + version "3.4.1" + resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39" + integrity sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA== + dependencies: + performance-now "^2.1.0" -pseudomap@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +randomfill@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" + integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== + dependencies: + randombytes "^2.0.5" + safe-buffer "^5.1.0" + +rc@^1.2.7: + version "1.2.8" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" + integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== + dependencies: + deep-extend "^0.6.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" -punycode@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" +react-calendar@2.18.1: + version "2.18.1" + resolved "https://registry.yarnpkg.com/react-calendar/-/react-calendar-2.18.1.tgz#f8ef9468d8566aa0d47d9d70c88917bb2030bcb9" + integrity sha512-J3tVim1gLpnsCOaeez+z4QJB5oK6UYLJj5TSMOStSJBvkWMEcTzj7bq7yCJJCNLUg2Vd3i11gJXish0LUFhXaw== + dependencies: + get-user-locale "^1.1.1" + merge-class-names "^1.1.1" + prop-types "^15.6.0" + react-lifecycles-compat "^3.0.4" + +react-color@2.17.0: + version "2.17.0" + resolved "https://registry.yarnpkg.com/react-color/-/react-color-2.17.0.tgz#e14b8a11f4e89163f65a34c8b43faf93f7f02aaa" + integrity sha512-kJfE5tSaFe6GzalXOHksVjqwCPAsTl+nzS9/BWfP7j3EXbQ4IiLAF9sZGNzk3uq7HfofGYgjmcUgh0JP7xAQ0w== + dependencies: + "@icons/material" "^0.2.4" + lodash ">4.17.4" + material-colors "^1.2.1" + prop-types "^15.5.10" + reactcss "^1.2.0" + tinycolor2 "^1.4.1" + +react-custom-scrollbars@4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/react-custom-scrollbars/-/react-custom-scrollbars-4.2.1.tgz#830fd9502927e97e8a78c2086813899b2a8b66db" + integrity sha1-gw/ZUCkn6X6KeMIIaBOJmyqLZts= + dependencies: + dom-css "^2.0.0" + prop-types "^15.5.10" + raf "^3.1.0" + +react-dev-utils@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-9.0.1.tgz#5c03d85a0b2537d0c46af7165c24a7dfb274bef2" + integrity sha512-pnaeMo/Pxel8aZpxk1WwxT3uXxM3tEwYvsjCYn5R7gNxjhN1auowdcLDzFB8kr7rafAj2rxmvfic/fbac5CzwQ== + dependencies: + "@babel/code-frame" "7.0.0" + address "1.0.3" + browserslist "4.5.4" + chalk "2.4.2" + cross-spawn "6.0.5" + detect-port-alt "1.1.6" + escape-string-regexp "1.0.5" + filesize "3.6.1" + find-up "3.0.0" + fork-ts-checker-webpack-plugin "1.1.1" + global-modules "2.0.0" + globby "8.0.2" + gzip-size "5.0.0" + immer "1.10.0" + inquirer "6.2.2" + is-root "2.0.0" + loader-utils "1.2.3" + opn "5.4.0" + pkg-up "2.0.0" + react-error-overlay "^5.1.6" + recursive-readdir "2.2.2" + shell-quote "1.6.1" + sockjs-client "1.3.0" + strip-ansi "5.2.0" + text-table "0.2.0" + +react-dom@16.8.6: + version "16.8.6" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.8.6.tgz#71d6303f631e8b0097f56165ef608f051ff6e10f" + integrity sha512-1nL7PIq9LTL3fthPqwkvr2zY7phIPjYrT0jp4HjyEQrEROnw4dG41VVwi/wfoCneoleqrNX7iAD+pXebJZwrwA== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + prop-types "^15.6.2" + scheduler "^0.13.6" + +react-error-overlay@^5.1.6: + version "5.1.6" + resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-5.1.6.tgz#0cd73407c5d141f9638ae1e0c63e7b2bf7e9929d" + integrity sha512-X1Y+0jR47ImDVr54Ab6V9eGk0Hnu7fVWGeHQSOXHf/C2pF9c6uy3gef8QUeuUiWlNb0i08InPSE5a/KJzNzw1Q== + +react-highlight-words@0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/react-highlight-words/-/react-highlight-words-0.11.0.tgz#4f3c2039a8fd275f3ab795e59946b0324d8e6bee" + integrity sha512-b+fgdQXNjX6RwHfiBYn6qH2D2mJEDNLuxdsqRseIiQffoCAoj7naMQ5EktUkmo9Bh1mXq/aMpJbdx7Lf2PytcQ== + dependencies: + highlight-words-core "^1.2.0" + prop-types "^15.5.8" + +react-input-autosize@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/react-input-autosize/-/react-input-autosize-2.2.1.tgz#ec428fa15b1592994fb5f9aa15bb1eb6baf420f8" + integrity sha512-3+K4CD13iE4lQQ2WlF8PuV5htfmTRLH6MDnfndHM6LuBRszuXnuyIfE7nhSKt8AzRBZ50bu0sAhkNMeS5pxQQA== + dependencies: + prop-types "^15.5.8" -qs@5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-5.2.0.tgz#a9f31142af468cb72b25b30136ba2456834916be" +react-is@^16.8.1, react-is@^16.8.4: + version "16.8.6" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.8.6.tgz#5bbc1e2d29141c9fbdfed456343fe2bc430a6a16" + integrity sha512-aUk3bHfZ2bRSVFFbbeVS4i+lNPZr3/WM5jT2J5omUVV1zzcs1nAaf3l51ctA5FFvCRbhrH0bdAsRRQddFJZPtA== -qs@~5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-5.1.0.tgz#4d932e5c7ea411cca76a312d39a606200fd50cd9" +react-lifecycles-compat@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" + integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== + +react-popper@1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/react-popper/-/react-popper-1.3.3.tgz#2c6cef7515a991256b4f0536cd4bdcb58a7b6af6" + integrity sha512-ynMZBPkXONPc5K4P5yFWgZx5JGAUIP3pGGLNs58cfAPgK67olx7fmLp+AdpZ0+GoQ+ieFDa/z4cdV6u7sioH6w== + dependencies: + "@babel/runtime" "^7.1.2" + create-react-context "<=0.2.2" + popper.js "^1.14.4" + prop-types "^15.6.1" + typed-styles "^0.0.7" + warning "^4.0.2" + +react-storybook-addon-props-combinations@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/react-storybook-addon-props-combinations/-/react-storybook-addon-props-combinations-1.1.0.tgz#22a61794cc3c106bf44be809af3c3241f6988e72" + integrity sha512-gCHyLTkXthuP3wV5nQn3A6ZrBjYnRniRtVprSrq+7Vu9SX1jUhIEPvqdLdPVRmlq9rwgKAX2QVo6kNd95kZ7Hw== + dependencies: + object-hash "^1.1.8" + pretty-format "^21.2.1" -qs@~6.4.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" +react-transition-group@2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-2.6.1.tgz#abf4a95e2f13fb9ba83a970a896fedbc5c4856a2" + integrity sha512-9DHwCy0aOYEe35frlEN68N9ut/THDQBLnVoQuKTvzF4/s3tk7lqkefCqxK2Nv96fOh6JXk6tQtliygk6tl3bQA== + dependencies: + dom-helpers "^3.3.1" + loose-envify "^1.4.0" + prop-types "^15.6.2" + react-lifecycles-compat "^3.0.4" -qs@~6.5.1: - version "6.5.1" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8" +react-transition-group@^2.2.1: + version "2.9.0" + resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-2.9.0.tgz#df9cdb025796211151a436c69a8f3b97b5b07c8d" + integrity sha512-+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg== + dependencies: + dom-helpers "^3.4.0" + loose-envify "^1.4.0" + prop-types "^15.6.2" + react-lifecycles-compat "^3.0.4" -randomatic@^1.1.3: - version "1.1.7" - resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.7.tgz#c7abe9cc8b87c0baa876b19fde83fd464797e38c" +react-virtualized@9.21.0: + version "9.21.0" + resolved "https://registry.yarnpkg.com/react-virtualized/-/react-virtualized-9.21.0.tgz#8267c40ffb48db35b242a36dea85edcf280a6506" + integrity sha512-duKD2HvO33mqld4EtQKm9H9H0p+xce1c++2D5xn59Ma7P8VT7CprfAe5hwjd1OGkyhqzOZiTMlTal7LxjH5yBQ== dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" + babel-runtime "^6.26.0" + classnames "^2.2.3" + dom-helpers "^2.4.0 || ^3.0.0" + loose-envify "^1.3.0" + prop-types "^15.6.0" + react-lifecycles-compat "^3.0.4" -raw-body@~2.1.5: - version "2.1.7" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.1.7.tgz#adfeace2e4fb3098058014d08c072dcc59758774" +react@16.8.6: + version "16.8.6" + resolved "https://registry.yarnpkg.com/react/-/react-16.8.6.tgz#ad6c3a9614fd3a4e9ef51117f54d888da01f2bbe" + integrity sha512-pC0uMkhLaHm11ZSJULfOBqV4tIZkx87ZLvbbQYunNixAAvjnC+snJCg0XQXn9VIsttVsbZP/H/ewzgsd5fxKXw== dependencies: - bytes "2.4.0" - iconv-lite "0.4.13" - unpipe "1.0.0" + loose-envify "^1.1.0" + object-assign "^4.1.1" + prop-types "^15.6.2" + scheduler "^0.13.6" -rc@^1.1.7: - version "1.2.4" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.4.tgz#a0f606caae2a3b862bbd0ef85482c0125b315fa3" +reactcss@^1.2.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/reactcss/-/reactcss-1.2.3.tgz#c00013875e557b1cf0dfd9a368a1c3dab3b548dd" + integrity sha512-KiwVUcFu1RErkI97ywr8nvx8dNOpT03rbnma0SSalTYjkrPYaEajR4a/MRt6DZ46K6arDRbWMNHF+xH7G7n/8A== dependencies: - deep-extend "~0.4.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" + lodash "^4.0.1" read-pkg-up@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" + integrity sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI= dependencies: find-up "^1.0.0" read-pkg "^1.0.0" +read-pkg-up@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978" + integrity sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA== + dependencies: + find-up "^3.0.0" + read-pkg "^3.0.0" + read-pkg@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" + integrity sha1-9f+qXs0pyzHAR0vKfXVra7KePyg= dependencies: load-json-file "^1.0.0" normalize-package-data "^2.3.2" path-type "^1.0.0" -readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.4: - version "2.3.3" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c" +read-pkg@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" + integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= + dependencies: + load-json-file "^4.0.0" + normalize-package-data "^2.3.2" + path-type "^3.0.0" + +read-pkg@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-4.0.1.tgz#963625378f3e1c4d48c85872b5a6ec7d5d093237" + integrity sha1-ljYlN48+HE1IyFhytabsfV0JMjc= + dependencies: + normalize-package-data "^2.3.2" + parse-json "^4.0.0" + pify "^3.0.0" + +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: + version "2.3.6" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" + integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== dependencies: core-util-is "~1.0.0" inherits "~2.0.3" isarray "~1.0.0" - process-nextick-args "~1.0.6" + process-nextick-args "~2.0.0" safe-buffer "~5.1.1" - string_decoder "~1.0.3" + string_decoder "~1.1.1" util-deprecate "~1.0.1" -readdirp@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" +readable-stream@^3.1.1: + version "3.4.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.4.0.tgz#a51c26754658e0a3c21dbf59163bd45ba6f447fc" + integrity sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ== dependencies: - graceful-fs "^4.1.2" - minimatch "^3.0.2" + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readdirp@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" + integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== + dependencies: + graceful-fs "^4.1.11" + micromatch "^3.1.10" readable-stream "^2.0.2" - set-immediate-shim "^1.0.1" + +realpath-native@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.1.0.tgz#2003294fea23fb0672f2476ebe22fcf498a2d65c" + integrity sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA== + dependencies: + util.promisify "^1.0.0" + +recast@~0.11.12: + version "0.11.23" + resolved "https://registry.yarnpkg.com/recast/-/recast-0.11.23.tgz#451fd3004ab1e4df9b4e4b66376b2a21912462d3" + integrity sha1-RR/TAEqx5N+bTktmN2sqIZEkYtM= + dependencies: + ast-types "0.9.6" + esprima "~3.1.0" + private "~0.1.5" + source-map "~0.5.0" + +recursive-readdir@2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.2.tgz#9946fb3274e1628de6e36b2f6714953b4845094f" + integrity sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg== + dependencies: + minimatch "3.0.4" redent@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" + integrity sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94= dependencies: indent-string "^2.1.0" strip-indent "^1.0.1" +regenerate-unicode-properties@^8.0.2: + version "8.1.0" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz#ef51e0f0ea4ad424b77bf7cb41f3e015c70a3f0e" + integrity sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA== + dependencies: + regenerate "^1.4.0" + +regenerate@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" + integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg== + regenerator-runtime@^0.11.0: version "0.11.1" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" + integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== -regex-cache@^0.4.2: - version "0.4.4" - resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" +regenerator-runtime@^0.13.2: + version "0.13.3" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz#7cf6a77d8f5c6f60eb73c5fc1955b2ceb01e6bf5" + integrity sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw== + +regenerator-transform@^0.14.0: + version "0.14.1" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.1.tgz#3b2fce4e1ab7732c08f665dfdb314749c7ddd2fb" + integrity sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ== + dependencies: + private "^0.1.6" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +regexp-tree@^0.1.6: + version "0.1.11" + resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.11.tgz#c9c7f00fcf722e0a56c7390983a7a63dd6c272f3" + integrity sha512-7/l/DgapVVDzZobwMCCgMlqiqyLFJ0cduo/j+3BcDJIB+yJdsYCfKuI3l/04NV+H/rfNRdPIDbXNZHM9XvQatg== + +regexpu-core@^4.5.4: + version "4.5.4" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.5.4.tgz#080d9d02289aa87fe1667a4f5136bc98a6aebaae" + integrity sha512-BtizvGtFQKGPUcTy56o3nk1bGRp4SZOTYrDtGNlqCQufptV5IkkLN6Emw+yunAJjzf+C9FQFtvq7IoA3+oMYHQ== + dependencies: + regenerate "^1.4.0" + regenerate-unicode-properties "^8.0.2" + regjsgen "^0.5.0" + regjsparser "^0.6.0" + unicode-match-property-ecmascript "^1.0.4" + unicode-match-property-value-ecmascript "^1.1.0" + +regjsgen@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.0.tgz#a7634dc08f89209c2049adda3525711fb97265dd" + integrity sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA== + +regjsparser@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.0.tgz#f1e6ae8b7da2bae96c99399b868cd6c933a2ba9c" + integrity sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ== dependencies: - is-equal-shallow "^0.1.3" + jsesc "~0.5.0" + +relateurl@0.2.x: + version "0.2.7" + resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" + integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= remove-trailing-separator@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + +renderkid@^2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.3.tgz#380179c2ff5ae1365c522bf2fcfcff01c5b74149" + integrity sha512-z8CLQp7EZBPCwCnncgf9C4XAi3WR0dv+uWu/PjIyhhAb5d6IJ/QZqlHFprHeKT+59//V6BNUsLbvN8+2LarxGA== + dependencies: + css-select "^1.1.0" + dom-converter "^0.2" + htmlparser2 "^3.3.0" + strip-ansi "^3.0.0" + utila "^0.4.0" repeat-element@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" + version "1.1.3" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" + integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== -repeat-string@^1.5.2: +repeat-string@^1.6.1: version "1.6.1" resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= repeating@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" + integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo= dependencies: is-finite "^1.0.0" -request@2, request@^2.61.0: - version "2.83.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.83.0.tgz#ca0b65da02ed62935887808e6f510381034e3356" +replace-in-file-webpack-plugin@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/replace-in-file-webpack-plugin/-/replace-in-file-webpack-plugin-1.0.6.tgz#eee7e139be967e8e48a0552f73037ed567b54dbd" + integrity sha512-+KRgNYL2nbc6nza6SeF+wTBNkovuHFTfJF8QIEqZg5MbwkYpU9no0kH2YU354wvY/BK8mAC2UKoJ7q+sJTvciw== + +replace-in-file@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/replace-in-file/-/replace-in-file-4.1.1.tgz#f9d5f4665e708cc15a23c900e7596c3792e08a93" + integrity sha512-0Va403DpFFRpm6oIsEf2U9fH9mVuDgRmSbXwrzpC3tmGduah9FhJJmu424rlogJo+0t7ho9f1HOpR+0qcXtzWQ== + dependencies: + chalk "^2.4.2" + glob "^7.1.3" + yargs "^13.2.2" + +request-promise-core@1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.2.tgz#339f6aababcafdb31c799ff158700336301d3346" + integrity sha512-UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag== + dependencies: + lodash "^4.17.11" + +request-promise-native@^1.0.5: + version "1.0.7" + resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.7.tgz#a49868a624bdea5069f1251d0a836e0d89aa2c59" + integrity sha512-rIMnbBdgNViL37nZ1b3L/VfPOpSi0TqVDQPAvO6U14lMzOLrt5nilxCQqtDKhZeDiW0/hkCXGoQjhgJd/tCh6w== + dependencies: + request-promise-core "1.1.2" + stealthy-require "^1.1.1" + tough-cookie "^2.3.3" + +request@^2.87.0, request@^2.88.0: + version "2.88.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" + integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg== dependencies: aws-sign2 "~0.7.0" - aws4 "^1.6.0" + aws4 "^1.8.0" caseless "~0.12.0" - combined-stream "~1.0.5" - extend "~3.0.1" + combined-stream "~1.0.6" + extend "~3.0.2" forever-agent "~0.6.1" - form-data "~2.3.1" - har-validator "~5.0.3" - hawk "~6.0.2" + form-data "~2.3.2" + har-validator "~5.1.0" http-signature "~1.2.0" is-typedarray "~1.0.0" isstream "~0.1.2" json-stringify-safe "~5.0.1" - mime-types "~2.1.17" - oauth-sign "~0.8.2" + mime-types "~2.1.19" + oauth-sign "~0.9.0" performance-now "^2.1.0" - qs "~6.5.1" - safe-buffer "^5.1.1" - stringstream "~0.0.5" - tough-cookie "~2.3.3" - tunnel-agent "^0.6.0" - uuid "^3.1.0" - -request@2.81.0: - version "2.81.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" - dependencies: - aws-sign2 "~0.6.0" - aws4 "^1.2.1" - caseless "~0.12.0" - combined-stream "~1.0.5" - extend "~3.0.0" - forever-agent "~0.6.1" - form-data "~2.1.1" - har-validator "~4.2.1" - hawk "~3.1.3" - http-signature "~1.1.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.7" - oauth-sign "~0.8.1" - performance-now "^0.2.0" - qs "~6.4.0" - safe-buffer "^5.0.1" - stringstream "~0.0.4" - tough-cookie "~2.3.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.4.3" tunnel-agent "^0.6.0" - uuid "^3.0.0" + uuid "^3.3.2" require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= require-main-filename@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" + integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= + +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= + +resolve-cwd@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" + integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo= + dependencies: + resolve-from "^3.0.0" + +resolve-from@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" + integrity sha1-six699nWiBvItuZTM17rywoYh0g= + +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= -resolve@~1.1.0: +resolve@1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" + integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= -right-align@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" +resolve@1.x, resolve@^1.10.0, resolve@^1.3.2: + version "1.11.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.11.1.tgz#ea10d8110376982fef578df8fc30b9ac30a07a3e" + integrity sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw== dependencies: - align-text "^0.1.1" + path-parse "^1.0.6" -rimraf@2, rimraf@^2.5.1, rimraf@^2.6.1: - version "2.6.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" +restore-cursor@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" + integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= dependencies: - glob "^7.0.5" + onetime "^2.0.0" + signal-exit "^3.0.2" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== + +rgb-regex@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/rgb-regex/-/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1" + integrity sha1-wODWiC3w4jviVKR16O3UGRX+rrE= + +rgba-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" + integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= -rimraf@~2.2.8: - version "2.2.8" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.2.8.tgz#e439be2aaee327321952730f99a8929e4fc50582" +rimraf@2, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3: + version "2.6.3" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" + integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== + dependencies: + glob "^7.1.3" -rollup@^0.36.3: - version "0.36.4" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-0.36.4.tgz#a224494c5386c1d73d38f7bb86f69f5eb011a3d2" +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== dependencies: - source-map-support "^0.4.0" + hash-base "^3.0.0" + inherits "^2.0.1" -rsvp@^3.0.13: - version "3.6.2" - resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-3.6.2.tgz#2e96491599a96cde1b515d5674a8f7a91452926a" +rsvp@^4.8.4: + version "4.8.5" + resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" + integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== -safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" +run-async@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" + integrity sha1-A3GrSuC91yDUFm19/aZP96RFpsA= + dependencies: + is-promise "^2.1.0" + +run-queue@^1.0.0, run-queue@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" + integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= + dependencies: + aproba "^1.1.1" + +rw@1: + version "1.3.3" + resolved "https://registry.yarnpkg.com/rw/-/rw-1.3.3.tgz#3f862dfa91ab766b14885ef4d01124bfda074fb4" + integrity sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q= + +rxjs@^6.3.3, rxjs@^6.4.0: + version "6.5.2" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.2.tgz#2e35ce815cd46d84d02a209fb4e5921e051dbec7" + integrity sha512-HUb7j3kvb7p7eCUHE3FqjoDsC1xfZQ4AHFWfTKSpZ+sAhhz5X1WX0ZuUqWbzB2QhSLp3DoLUG+hMdEDKqWo2Zg== + dependencies: + tslib "^1.9.0" + +safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2: + version "5.2.0" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" + integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== + +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + dependencies: + ret "~0.1.10" -sass-graph@^2.1.1: +"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sane@^4.0.3: + version "4.1.0" + resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" + integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== + dependencies: + "@cnakazawa/watch" "^1.0.3" + anymatch "^2.0.0" + capture-exit "^2.0.0" + exec-sh "^0.3.2" + execa "^1.0.0" + fb-watchman "^2.0.0" + micromatch "^3.1.4" + minimist "^1.1.1" + walker "~1.0.5" + +sass-graph@^2.2.4: version "2.2.4" resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.4.tgz#13fbd63cd1caf0908b9fd93476ad43a51d1e0b49" + integrity sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k= dependencies: glob "^7.0.0" lodash "^4.0.0" scss-tokenizer "^0.2.3" yargs "^7.0.0" +sass-loader@7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-7.1.0.tgz#16fd5138cb8b424bf8a759528a1972d72aad069d" + integrity sha512-+G+BKGglmZM2GUSfT9TLuEp6tzehHPjAMoRRItOojWIqIGPloVCMhNIQuG639eJ+y033PaGTSjLaTHts8Kw79w== + dependencies: + clone-deep "^2.0.1" + loader-utils "^1.0.1" + lodash.tail "^4.1.1" + neo-async "^2.5.0" + pify "^3.0.0" + semver "^5.5.0" + +sax@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a" + integrity sha1-e45lYZCyKOgaZq6nSEgNgozS03o= + +sax@>=0.6.0, sax@^1.2.4, sax@~1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== + +scheduler@^0.13.6: + version "0.13.6" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.13.6.tgz#466a4ec332467b31a91b9bf74e5347072e4cd889" + integrity sha512-IWnObHt413ucAYKsD9J1QShUKkbKLQQHdxRyw73sw4FN26iWr3DY/H34xGPe4nmL1DwXyWmSWmMrA9TfQbE/XQ== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + +schema-utils@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" + integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== + dependencies: + ajv "^6.1.0" + ajv-errors "^1.0.0" + ajv-keywords "^3.1.0" + +schema-utils@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.0.1.tgz#1eec2e059556af841b7f3a83b61af13d7a3f9196" + integrity sha512-HJFKJ4JixDpRur06QHwi8uu2kZbng318ahWEKgBjc0ZklcE4FDvmm2wghb448q0IRaABxIESt8vqPFvwgMB80A== + dependencies: + ajv "^6.1.0" + ajv-keywords "^3.1.0" + scss-tokenizer@^0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz#8eb06db9a9723333824d3f5530641149847ce5d1" + integrity sha1-jrBtualyMzOCTT9VMGQRSYR85dE= dependencies: js-base64 "^2.1.8" source-map "^0.4.2" -"semver@2 || 3 || 4 || 5", semver@^5.3.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" +"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.4.1, semver@^5.5, semver@^5.5.0, semver@^5.6.0: + version "5.7.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b" + integrity sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA== -semver@^4.3.3: - version "4.3.6" - resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da" +semver@^6.0.0, semver@^6.1.1: + version "6.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== semver@~5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" + integrity sha1-myzl094C0XxgEq0yaqa00M9U+U8= + +serialize-javascript@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.7.0.tgz#d6e0dfb2a3832a8c94468e6eb1db97e55a192a65" + integrity sha512-ke8UG8ulpFOxO8f8gRYabHQe/ZntKlcig2Mp+8+URDP1D8vJZ0KUt7LYo07q25Z/+JVSgpr/cui9PIp5H6/+nA== set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= -set-immediate-shim@^1.0.0, set-immediate-shim@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" + integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +setimmediate@^1.0.4, setimmediate@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= + +sha.js@^2.4.0, sha.js@^2.4.8: + version "2.4.11" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +shallow-clone@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-1.0.0.tgz#4480cd06e882ef68b2ad88a3ea54832e2c48b571" + integrity sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA== + dependencies: + is-extendable "^0.1.1" + kind-of "^5.0.0" + mixin-object "^2.0.1" + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + dependencies: + shebang-regex "^1.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= -signal-exit@^3.0.0: +shell-quote@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.6.1.tgz#f4781949cce402697127430ea3b3c5476f481767" + integrity sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c= + dependencies: + array-filter "~0.0.0" + array-map "~0.0.0" + array-reduce "~0.0.0" + jsonify "~0.0.0" + +shellwords@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" + integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== + +signal-exit@^3.0.0, signal-exit@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" + integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= + +simple-git@^1.112.0: + version "1.122.0" + resolved "https://registry.yarnpkg.com/simple-git/-/simple-git-1.122.0.tgz#33b2d3a760aa02df470c79fbab5413d4f4e68945" + integrity sha512-plTwhnkIHrw2TFMJbJH/mKwWGgFbj03V9wcfBKa4FsuvgJbpwdlSJnlvkIQWDV1CVLaf2Gl6zSNeRRnxBRhX1g== + dependencies: + debug "^4.0.1" + +simple-is@~0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/simple-is/-/simple-is-0.2.0.tgz#2abb75aade39deb5cc815ce10e6191164850baf0" + integrity sha1-Krt1qt453rXMgVzhDmGRFkhQuvA= + +simple-swizzle@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" + integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= + dependencies: + is-arrayish "^0.3.1" + +sisteransi@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.2.tgz#ec57d64b6f25c4f26c0e2c7dd23f2d7f12f7e418" + integrity sha512-ZcYcZcT69nSLAR2oLN2JwNmLkJEKGooFMCdvOkFrToUt/WfcRWqhIg4P4KwY4dmLbuyXIx4o4YmPsvMRJYJd/w== slash@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= -sntp@1.x.x: - version "1.0.9" - resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" +slash@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" + integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== dependencies: - hoek "2.x.x" + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" -sntp@2.x.x: - version "2.1.0" - resolved "https://registry.yarnpkg.com/sntp/-/sntp-2.1.0.tgz#2c6cec14fedc2222739caf9b5c3d85d1cc5a2cc8" +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== dependencies: - hoek "4.x.x" + kind-of "^3.2.0" -source-map-support@^0.4.0, source-map-support@^0.4.15: - version "0.4.18" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +sockjs-client@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.3.0.tgz#12fc9d6cb663da5739d3dc5fb6e8687da95cb177" + integrity sha512-R9jxEzhnnrdxLCNln0xg5uGHqMnkhPSTzUZH2eXcR03S/On9Yvoq2wyUZILRUhZCNVu2PmwWVoyuiPz8th8zbg== + dependencies: + debug "^3.2.5" + eventsource "^1.0.7" + faye-websocket "~0.11.1" + inherits "^2.0.3" + json3 "^3.3.2" + url-parse "^1.4.3" + +sort-keys@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" + integrity sha1-RBttTTRnmPG05J6JIK37oOVD+a0= + dependencies: + is-plain-obj "^1.0.0" -source-map-support@~0.2.8: - version "0.2.10" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.2.10.tgz#ea5a3900a1c1cb25096a0ae8cc5c2b4b10ded3dc" +source-list-map@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" + integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== + +source-map-resolve@^0.5.0: + version "0.5.2" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" + integrity sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA== dependencies: - source-map "0.1.32" + atob "^2.1.1" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" -source-map@0.1.32: - version "0.1.32" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.32.tgz#c8b6c167797ba4740a8ea33252162ff08591b266" +source-map-support@^0.5.6, source-map-support@~0.5.12: + version "0.5.12" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.12.tgz#b4f3b10d51857a5af0138d3ce8003b201613d599" + integrity sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ== dependencies: - amdefine ">=0.0.4" + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map-url@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" + integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= source-map@^0.4.2: version "0.4.4" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" + integrity sha1-66T12pwNyZneaAMti092FzZSA2s= dependencies: amdefine ">=0.0.4" -source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1: +source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7, source-map@~0.5.0: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= -spdx-correct@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +source-map@^0.7.2: + version "0.7.3" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" + integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== + +spawn-command@^0.0.2-1: + version "0.0.2-1" + resolved "https://registry.yarnpkg.com/spawn-command/-/spawn-command-0.0.2-1.tgz#62f5e9466981c1b796dc5929937e11c9c6921bd0" + integrity sha1-YvXpRmmBwbeW3Fkpk34RycaSG9A= + +spdx-correct@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4" + integrity sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q== dependencies: - spdx-license-ids "^1.0.2" + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" -spdx-expression-parse@~1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" +spdx-exceptions@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977" + integrity sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA== -spdx-license-ids@^1.0.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" +spdx-expression-parse@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" + integrity sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.5" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654" + integrity sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q== + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== + dependencies: + extend-shallow "^3.0.0" sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= sshpk@^1.7.0: - version "1.13.1" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.1.tgz#512df6da6287144316dc4c18fe1cf1d940739be3" + version "1.16.1" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" + integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== dependencies: asn1 "~0.2.3" assert-plus "^1.0.0" - dashdash "^1.12.0" - getpass "^0.1.1" - optionalDependencies: bcrypt-pbkdf "^1.0.0" + dashdash "^1.12.0" ecc-jsbn "~0.1.1" + getpass "^0.1.1" jsbn "~0.1.0" + safer-buffer "^2.0.2" tweetnacl "~0.14.0" -statuses@1: - version "1.4.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087" +ssri@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" + integrity sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA== + dependencies: + figgy-pudding "^3.5.1" + +stable@^0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" + integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== + +stack-utils@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.2.tgz#33eba3897788558bebfc2db059dc158ec36cebb8" + integrity sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA== + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +stdout-stream@^1.4.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/stdout-stream/-/stdout-stream-1.4.1.tgz#5ac174cdd5cd726104aa0c0b2bd83815d8d535de" + integrity sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA== + dependencies: + readable-stream "^2.0.1" + +stealthy-require@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" + integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= + +stream-browserify@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" + integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== + dependencies: + inherits "~2.0.1" + readable-stream "^2.0.2" + +stream-each@^1.1.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" + integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw== + dependencies: + end-of-stream "^1.1.0" + stream-shift "^1.0.0" + +stream-http@^2.7.2: + version "2.8.3" + resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" + integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== + dependencies: + builtin-status-codes "^3.0.0" + inherits "^2.0.1" + readable-stream "^2.3.6" + to-arraybuffer "^1.0.0" + xtend "^4.0.0" + +stream-shift@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" + integrity sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI= + +strict-uri-encode@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" + integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= + +string-length@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-2.0.0.tgz#d40dbb686a3ace960c1cffca562bf2c45f8363ed" + integrity sha1-1A27aGo6zpYMHP/KVivyxF+DY+0= + dependencies: + astral-regex "^1.0.0" + strip-ansi "^4.0.0" string-width@^1.0.1, string-width@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= dependencies: code-point-at "^1.0.0" is-fullwidth-code-point "^1.0.0" strip-ansi "^3.0.0" -string_decoder@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab" +"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string-width@^3.0.0, string-width@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" + integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== + dependencies: + emoji-regex "^7.0.1" + is-fullwidth-code-point "^2.0.0" + strip-ansi "^5.1.0" + +string_decoder@^1.0.0, string_decoder@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.2.0.tgz#fe86e738b19544afe70469243b2a1ee9240eae8d" + integrity sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w== + dependencies: + safe-buffer "~5.1.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== dependencies: safe-buffer "~5.1.0" -stringstream@~0.0.4, stringstream@~0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" +strip-ansi@5.2.0, strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" + integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== + dependencies: + ansi-regex "^4.1.0" strip-ansi@^3.0.0, strip-ansi@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= dependencies: ansi-regex "^2.0.0" +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= + dependencies: + ansi-regex "^3.0.0" + strip-bom@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" + integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4= dependencies: is-utf8 "^0.2.0" +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= + strip-indent@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" + integrity sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI= dependencies: get-stdin "^4.0.1" strip-json-comments@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= + +style-loader@^0.23.1: + version "0.23.1" + resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.23.1.tgz#cb9154606f3e771ab6c4ab637026a1049174d925" + integrity sha512-XK+uv9kWwhZMZ1y7mysB+zoihsEj4wneFWAS5qoiLwzW0WzSqMrrsIy+a3zkQJq0ipFtBpX5W3MqyRIBF/WFGg== + dependencies: + loader-utils "^1.1.0" + schema-utils "^1.0.0" + +stylehacks@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5" + integrity sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g== + dependencies: + browserslist "^4.0.0" + postcss "^7.0.0" + postcss-selector-parser "^3.0.0" + +stylis-rule-sheet@^0.0.10: + version "0.0.10" + resolved "https://registry.yarnpkg.com/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz#44e64a2b076643f4b52e5ff71efc04d8c3c4a430" + integrity sha512-nTbZoaqoBnmK+ptANthb10ZRZOGC+EmTLLUxeYIuHNkEKcmKgXX1XWKkUBT2Ac4es3NybooPe0SmvKdhKJZAuw== + +stylis@^3.5.0: + version "3.5.4" + resolved "https://registry.yarnpkg.com/stylis/-/stylis-3.5.4.tgz#f665f25f5e299cf3d64654ab949a57c768b73fbe" + integrity sha512-8/3pSmthWM7lsPBKv7NXkzn2Uc9W7NotcwGNpJaa3k7WMM1XDCA4MgT5k/8BIexd5ydZdboXtU90XH9Ec4Bv/Q== supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= -"systemjs-builder@0.14.11 - 0.15.x": - version "0.15.36" - resolved "https://registry.yarnpkg.com/systemjs-builder/-/systemjs-builder-0.15.36.tgz#30b02372d4227cf37880f580fe67cb4edb7f1420" - dependencies: - babel-core "^6.9.0" - babel-plugin-transform-cjs-system-wrapper "^0.3.0" - babel-plugin-transform-es2015-modules-systemjs "^6.6.5" - babel-plugin-transform-global-system-wrapper "0.0.1" - babel-plugin-transform-system-register "0.0.1" - bluebird "^3.3.4" - data-uri-to-buffer "0.0.4" - es6-template-strings "^2.0.0" - glob "^7.0.3" - mkdirp "^0.5.1" - rollup "^0.36.3" - source-map "^0.5.3" - systemjs "^0.19.43" - traceur "0.0.105" - uglify-js "~2.7.5" +supports-color@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.5.0.tgz#be7a0de484dec5c5cddf8b3d59125044912f635b" + integrity sha1-vnoN5ITexcXN34s9WRJQRJEvY1s= + dependencies: + has-flag "^2.0.0" -systemjs@^0.19.43: - version "0.19.47" - resolved "https://registry.yarnpkg.com/systemjs/-/systemjs-0.19.47.tgz#c8c93937180f3f5481c769cd2720763fb4a31c6f" +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== dependencies: - when "^3.7.5" + has-flag "^3.0.0" -tar-pack@^3.4.0: - version "3.4.1" - resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.1.tgz#e1dbc03a9b9d3ba07e896ad027317eb679a10a1f" +supports-color@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" + integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== dependencies: - debug "^2.2.0" - fstream "^1.0.10" - fstream-ignore "^1.0.5" - once "^1.3.3" - readable-stream "^2.1.4" - rimraf "^2.5.1" - tar "^2.2.1" - uid-number "^0.0.6" - -tar@^2.0.0, tar@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" + has-flag "^3.0.0" + +svgo@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.0.tgz#bae51ba95ded9a33a36b7c46ce9c359ae9154313" + integrity sha512-MLfUA6O+qauLDbym+mMZgtXCGRfIxyQoeH6IKVcFslyODEe/ElJNwr0FohQ3xG4C6HK6bk3KYPPXwHVJk3V5NQ== + dependencies: + chalk "^2.4.1" + coa "^2.0.2" + css-select "^2.0.0" + css-select-base-adapter "^0.1.1" + css-tree "1.0.0-alpha.33" + csso "^3.5.1" + js-yaml "^3.13.1" + mkdirp "~0.5.1" + object.values "^1.1.0" + sax "~1.2.4" + stable "^0.1.8" + unquote "~1.1.1" + util.promisify "~1.0.0" + +symbol-tree@^3.2.2: + version "3.2.4" + resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" + integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== + +tapable@^1.0.0, tapable@^1.1.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" + integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== + +tar@^2.0.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.2.tgz#0ca8848562c7299b8b446ff6a4d60cdbb23edc40" + integrity sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA== dependencies: block-stream "*" - fstream "^1.0.2" + fstream "^1.0.12" inherits "2" -tiny-lr@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/tiny-lr/-/tiny-lr-0.2.1.tgz#b3fdba802e5d56a33c2f6f10794b32e477ac729d" +tar@^4: + version "4.4.10" + resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.10.tgz#946b2810b9a5e0b26140cf78bea6b0b0d689eba1" + integrity sha512-g2SVs5QIxvo6OLp0GudTqEf05maawKUxXru104iaayWA09551tFCTI8f1Asb4lPfkBr91k07iL4c11XO3/b0tA== dependencies: - body-parser "~1.14.0" - debug "~2.2.0" - faye-websocket "~0.10.0" - livereload-js "^2.2.0" - parseurl "~1.3.0" - qs "~5.1.0" + chownr "^1.1.1" + fs-minipass "^1.2.5" + minipass "^2.3.5" + minizlib "^1.2.1" + mkdirp "^0.5.0" + safe-buffer "^5.1.2" + yallist "^3.0.3" -to-fast-properties@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" +terser-webpack-plugin@^1.1.0, terser-webpack-plugin@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.3.0.tgz#69aa22426299f4b5b3775cbed8cb2c5d419aa1d4" + integrity sha512-W2YWmxPjjkUcOWa4pBEv4OP4er1aeQJlSo2UhtCFQCuRXEHjOFscO8VyWHj9JLlA0RzQb8Y2/Ta78XZvT54uGg== + dependencies: + cacache "^11.3.2" + find-cache-dir "^2.0.0" + is-wsl "^1.1.0" + loader-utils "^1.2.3" + schema-utils "^1.0.0" + serialize-javascript "^1.7.0" + source-map "^0.6.1" + terser "^4.0.0" + webpack-sources "^1.3.0" + worker-farm "^1.7.0" + +terser@^4.0.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/terser/-/terser-4.1.2.tgz#b2656c8a506f7ce805a3f300a2ff48db022fa391" + integrity sha512-jvNoEQSPXJdssFwqPSgWjsOrb+ELoE+ILpHPKXC83tIxOlh2U75F1KuB2luLD/3a6/7K3Vw5pDn+hvu0C4AzSw== + dependencies: + commander "^2.20.0" + source-map "~0.6.1" + source-map-support "~0.5.12" -tough-cookie@~2.3.0, tough-cookie@~2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.3.tgz#0b618a5565b6dea90bf3425d04d55edc475a7561" +test-exclude@^5.2.3: + version "5.2.3" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-5.2.3.tgz#c3d3e1e311eb7ee405e092dac10aefd09091eac0" + integrity sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g== + dependencies: + glob "^7.1.3" + minimatch "^3.0.4" + read-pkg-up "^4.0.0" + require-main-filename "^2.0.0" + +text-table@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= + +throat@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" + integrity sha1-iQN8vJLFarGJJua6TLsgDhVnKmo= + +through2@^2.0.0: + version "2.0.5" + resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" + integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== + dependencies: + readable-stream "~2.3.6" + xtend "~4.0.1" + +through@^2.3.6, through@~2.3.6: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + +timers-browserify@^2.0.4: + version "2.0.10" + resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.10.tgz#1d28e3d2aadf1d5a5996c4e9f95601cd053480ae" + integrity sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg== + dependencies: + setimmediate "^1.0.4" + +timsort@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" + integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= + +tinycolor2@1.4.1, tinycolor2@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.4.1.tgz#f4fad333447bc0b07d4dc8e9209d8f39a8ac77e8" + integrity sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g= + +tmp@^0.0.33: + version "0.0.33" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== + dependencies: + os-tmpdir "~1.0.2" + +tmpl@1.0.x: + version "1.0.4" + resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" + integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE= + +to-arraybuffer@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" + integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= + +to-camel-case@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/to-camel-case/-/to-camel-case-1.0.0.tgz#1a56054b2f9d696298ce66a60897322b6f423e46" + integrity sha1-GlYFSy+daWKYzmamCJcyK29CPkY= + dependencies: + to-space-case "^1.0.0" + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + +to-no-case@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/to-no-case/-/to-no-case-1.0.2.tgz#c722907164ef6b178132c8e69930212d1b4aa16a" + integrity sha1-xyKQcWTvaxeBMsjmmTAhLRtKoWo= + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +to-space-case@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/to-space-case/-/to-space-case-1.0.0.tgz#b052daafb1b2b29dc770cea0163e5ec0ebc9fc17" + integrity sha1-sFLar7Gysp3HcM6gFj5ewOvJ/Bc= + dependencies: + to-no-case "^1.0.0" + +toposort@^1.0.0: + version "1.0.7" + resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.7.tgz#2e68442d9f64ec720b8cc89e6443ac6caa950029" + integrity sha1-LmhELZ9k7HILjMieZEOsbKqVACk= + +touch@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/touch/-/touch-2.0.2.tgz#ca0b2a3ae3211246a61b16ba9e6cbf1596287164" + integrity sha512-qjNtvsFXTRq7IuMLweVgFxmEuQ6gLbRs2jQxL80TtZ31dEKWYIxRXquij6w6VimyDek5hD3PytljHmEtAs2u0A== + dependencies: + nopt "~1.0.10" + +tough-cookie@^2.3.3, tough-cookie@^2.3.4: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== + dependencies: + psl "^1.1.28" + punycode "^2.1.1" + +tough-cookie@~2.4.3: + version "2.4.3" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" + integrity sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ== dependencies: + psl "^1.1.24" punycode "^1.4.1" -traceur@0.0.105: - version "0.0.105" - resolved "https://registry.yarnpkg.com/traceur/-/traceur-0.0.105.tgz#5cf9dee83d6b77861c3d6c44d53859aed7ab0479" +tr46@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" + integrity sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk= dependencies: - commander "2.9.x" - glob "5.0.x" - rsvp "^3.0.13" - semver "^4.3.3" - source-map-support "~0.2.8" + punycode "^2.1.0" + +tree-kill@^1.1.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.1.tgz#5398f374e2f292b9dcc7b2e71e30a5c3bb6c743a" + integrity sha512-4hjqbObwlh2dLyW4tcz0Ymw0ggoaVDMveUB9w8kFSQScdRLo0gxO9J7WFcUBo+W3C1TLdFIEwNOWebgZZ0RH9Q== trim-newlines@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" + integrity sha1-WIeWa7WCpFA6QetST301ARgVphM= trim-right@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" + integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM= + +"true-case-path@^1.0.2": + version "1.0.3" + resolved "https://registry.yarnpkg.com/true-case-path/-/true-case-path-1.0.3.tgz#f813b5a8c86b40da59606722b144e3225799f47d" + integrity sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew== + dependencies: + glob "^7.1.2" + +ts-jest@24.0.2: + version "24.0.2" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-24.0.2.tgz#8dde6cece97c31c03e80e474c749753ffd27194d" + integrity sha512-h6ZCZiA1EQgjczxq+uGLXQlNgeg02WWJBbeT8j6nyIBRQdglqbvzDoHahTEIiS6Eor6x8mK6PfZ7brQ9Q6tzHw== + dependencies: + bs-logger "0.x" + buffer-from "1.x" + fast-json-stable-stringify "2.x" + json5 "2.x" + make-error "1.x" + mkdirp "0.x" + resolve "1.x" + semver "^5.5" + yargs-parser "10.x" + +ts-loader@6.0.4: + version "6.0.4" + resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-6.0.4.tgz#bc331ad91a887a60632d94c9f79448666f2c4b63" + integrity sha512-p2zJYe7OtwR+49kv4gs7v4dMrfYD1IPpOtqiSPCbe8oR+4zEBtdHwzM7A7M91F+suReqgzZrlClk4LRSSp882g== + dependencies: + chalk "^2.3.0" + enhanced-resolve "^4.0.0" + loader-utils "^1.0.2" + micromatch "^4.0.0" + semver "^6.0.0" + +ts-node@^8.2.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-8.3.0.tgz#e4059618411371924a1fb5f3b125915f324efb57" + integrity sha512-dyNS/RqyVTDcmNM4NIBAeDMpsAdaQ+ojdf0GOLqE6nwJOgzEkdRNzJywhDfwnuvB10oa6NLVG1rUJQCpRN7qoQ== + dependencies: + arg "^4.1.0" + diff "^4.0.1" + make-error "^1.1.1" + source-map-support "^0.5.6" + yn "^3.0.0" + +tslib@1.10.0, tslib@^1.8.0, tslib@^1.8.1, tslib@^1.9.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" + integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== + +tslint-config-prettier@^1.18.0: + version "1.18.0" + resolved "https://registry.yarnpkg.com/tslint-config-prettier/-/tslint-config-prettier-1.18.0.tgz#75f140bde947d35d8f0d238e0ebf809d64592c37" + integrity sha512-xPw9PgNPLG3iKRxmK7DWr+Ea/SzrvfHtjFt5LBl61gk2UBG/DB9kCXRjv+xyIU1rUtnayLeMUVJBcMX8Z17nDg== + +tslint@5.14.0: + version "5.14.0" + resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.14.0.tgz#be62637135ac244fc9b37ed6ea5252c9eba1616e" + integrity sha512-IUla/ieHVnB8Le7LdQFRGlVJid2T/gaJe5VkjzRVSRR6pA2ODYrnfR1hmxi+5+au9l50jBwpbBL34txgv4NnTQ== + dependencies: + babel-code-frame "^6.22.0" + builtin-modules "^1.1.1" + chalk "^2.3.0" + commander "^2.12.1" + diff "^3.2.0" + glob "^7.1.1" + js-yaml "^3.7.0" + minimatch "^3.0.4" + mkdirp "^0.5.1" + resolve "^1.3.2" + semver "^5.3.0" + tslib "^1.8.0" + tsutils "^2.29.0" + +tsutils@^2.29.0: + version "2.29.0" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.29.0.tgz#32b488501467acbedd4b85498673a0812aca0b99" + integrity sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA== + dependencies: + tslib "^1.8.1" + +tty-browserify@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" + integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= tunnel-agent@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= dependencies: safe-buffer "^5.0.1" tweetnacl@^0.14.3, tweetnacl@~0.14.0: version "0.14.5" resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= -type-is@~1.6.10: - version "1.6.15" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.15.tgz#cab10fb4909e441c82842eafe1ad646c81804410" +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= dependencies: - media-typer "0.3.0" - mime-types "~2.1.15" + prelude-ls "~1.1.2" -typescript@1.6.2: - version "1.6.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-1.6.2.tgz#5b27254abeb111027cbf9450d3431bc5843191dd" +typed-styles@^0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/typed-styles/-/typed-styles-0.0.7.tgz#93392a008794c4595119ff62dde6809dbc40a3d9" + integrity sha512-pzP0PWoZUhsECYjABgCGQlRGL1n7tOHsgwYv3oIiEpJwGhFTuty/YNeduxQYzXXa3Ge5BdT6sHYIQYpl4uJ+5Q== -typescript@~2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.6.2.tgz#3c5b6fd7f6de0914269027f03c0946758f7673a4" +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= + +typescript@3.5.1: + version "3.5.1" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.5.1.tgz#ba72a6a600b2158139c5dd8850f700e231464202" + integrity sha512-64HkdiRv1yYZsSe4xC1WVgamNigVYjlssIoaH2HcZF0+ijsk5YK2g0G34w9wJkze8+5ow4STd22AynfO6ZYYLw== + +ua-parser-js@^0.7.18: + version "0.7.20" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.20.tgz#7527178b82f6a62a0f243d1f94fd30e3e3c21098" + integrity sha512-8OaIKfzL5cpx8eCMAhhvTlft8GYF8b2eQr6JkCyVdrgjcytyOmPCXrqXFcUnhonRpLlh5yxEZVohm6mzaowUOw== -uglify-js@~2.7.5: - version "2.7.5" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.7.5.tgz#4612c0c7baaee2ba7c487de4904ae122079f2ca8" +uglify-js@3.4.x: + version "3.4.10" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.10.tgz#9ad9563d8eb3acdfb8d38597d2af1d815f6a755f" + integrity sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw== dependencies: - async "~0.2.6" - source-map "~0.5.1" - uglify-to-browserify "~1.0.0" - yargs "~3.10.0" + commander "~2.19.0" + source-map "~0.6.1" -uglify-to-browserify@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" +uglify-js@^3.1.4: + version "3.6.0" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.6.0.tgz#704681345c53a8b2079fb6cec294b05ead242ff5" + integrity sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg== + dependencies: + commander "~2.20.0" + source-map "~0.6.1" -uid-number@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" +unicode-canonical-property-names-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" + integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ== + +unicode-match-property-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" + integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg== + dependencies: + unicode-canonical-property-names-ecmascript "^1.0.4" + unicode-property-aliases-ecmascript "^1.0.4" + +unicode-match-property-value-ecmascript@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz#5b4b426e08d13a80365e0d657ac7a6c1ec46a277" + integrity sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g== + +unicode-property-aliases-ecmascript@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz#a9cc6cc7ce63a0a3023fc99e341b94431d405a57" + integrity sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw== + +union-value@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" + integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^2.0.1" + +uniq@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" + integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= + +uniqs@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" + integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI= + +unique-filename@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" + integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== + dependencies: + unique-slug "^2.0.0" + +unique-slug@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" + integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== + dependencies: + imurmurhash "^0.1.4" -underscore.string@~3.2.3: - version "3.2.3" - resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-3.2.3.tgz#806992633665d5e5fcb4db1fb3a862eb68e9e6da" +unquote@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" + integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ= -unpipe@1.0.0: +unset-value@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +upath@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.2.tgz#3db658600edaeeccbe6db5e684d67ee8c2acd068" + integrity sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q== + +upper-case@^1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" + integrity sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg= + +uri-js@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" + integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== + dependencies: + punycode "^2.1.0" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + +url-loader@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-2.1.0.tgz#bcc1ecabbd197e913eca23f5e0378e24b4412961" + integrity sha512-kVrp/8VfEm5fUt+fl2E0FQyrpmOYgMEkBsv8+UDP1wFhszECq5JyGF33I7cajlVY90zRZ6MyfgKXngLvHYZX8A== + dependencies: + loader-utils "^1.2.3" + mime "^2.4.4" + schema-utils "^2.0.0" + +url-parse@^1.4.3: + version "1.4.7" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.7.tgz#a8a83535e8c00a316e403a5db4ac1b9b853ae278" + integrity sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg== + dependencies: + querystringify "^2.1.1" + requires-port "^1.0.0" + +url@0.10.3: + version "0.10.3" + resolved "https://registry.yarnpkg.com/url/-/url-0.10.3.tgz#021e4d9c7705f21bbf37d03ceb58767402774c64" + integrity sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ= + dependencies: + punycode "1.3.2" + querystring "0.2.0" + +url@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" + integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= + dependencies: + punycode "1.3.2" + querystring "0.2.0" -util-deprecate@~1.0.1: +use@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== + +util-deprecate@^1.0.1, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= -uuid@^3.0.0, uuid@^3.1.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.2.1.tgz#12c528bb9d58d0b9265d9a2f6f0fe8be17ff1f14" +util.promisify@1.0.0, util.promisify@^1.0.0, util.promisify@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" + integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== + dependencies: + define-properties "^1.1.2" + object.getownpropertydescriptors "^2.0.3" + +util@0.10.3: + version "0.10.3" + resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" + integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= + dependencies: + inherits "2.0.1" + +util@^0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" + integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== + dependencies: + inherits "2.0.3" + +utila@^0.4.0, utila@~0.4: + version "0.4.0" + resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" + integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= + +uuid@3.3.2, uuid@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" + integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== validate-npm-package-license@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" + version "3.0.4" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== dependencies: - spdx-correct "~1.0.0" - spdx-expression-parse "~1.0.0" + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +vendors@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.3.tgz#a6467781abd366217c050f8202e7e50cc9eef8c0" + integrity sha512-fOi47nsJP5Wqefa43kyWSg80qF+Q3XA6MUkgi7Hp1HQaKDQW4cQrK2D0P7mmbFtsV1N89am55Yru/nyEwRubcw== verror@1.10.0: version "1.10.0" resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= dependencies: assert-plus "^1.0.0" core-util-is "1.0.2" extsprintf "^1.2.0" +vm-browserify@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.0.tgz#bd76d6a23323e2ca8ffa12028dc04559c75f9019" + integrity sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw== + +w3c-hr-time@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz#82ac2bff63d950ea9e3189a58a65625fedf19045" + integrity sha1-gqwr/2PZUOqeMYmlimViX+3xkEU= + dependencies: + browser-process-hrtime "^0.1.2" + +walker@^1.0.7, walker@~1.0.5: + version "1.0.7" + resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" + integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= + dependencies: + makeerror "1.0.x" + +warning@^4.0.2: + version "4.0.3" + resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" + integrity sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w== + dependencies: + loose-envify "^1.0.0" + +watchpack@^1.5.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00" + integrity sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA== + dependencies: + chokidar "^2.0.2" + graceful-fs "^4.1.2" + neo-async "^2.5.0" + +wcwidth@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" + integrity sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g= + dependencies: + defaults "^1.0.3" + +webidl-conversions@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" + integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== + +webpack-log@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/webpack-log/-/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f" + integrity sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg== + dependencies: + ansi-colors "^3.0.0" + uuid "^3.3.2" + +webpack-sources@^1.1.0, webpack-sources@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.3.0.tgz#2a28dcb9f1f45fe960d8f1493252b5ee6530fa85" + integrity sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA== + dependencies: + source-list-map "^2.0.0" + source-map "~0.6.1" + +webpack@4.35.0: + version "4.35.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.35.0.tgz#ad3f0f8190876328806ccb7a36f3ce6e764b8378" + integrity sha512-M5hL3qpVvtr8d4YaJANbAQBc4uT01G33eDpl/psRTBCfjxFTihdhin1NtAKB1ruDwzeVdcsHHV3NX+QsAgOosw== + dependencies: + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-module-context" "1.8.5" + "@webassemblyjs/wasm-edit" "1.8.5" + "@webassemblyjs/wasm-parser" "1.8.5" + acorn "^6.0.5" + acorn-dynamic-import "^4.0.0" + ajv "^6.1.0" + ajv-keywords "^3.1.0" + chrome-trace-event "^1.0.0" + enhanced-resolve "^4.1.0" + eslint-scope "^4.0.0" + json-parse-better-errors "^1.0.2" + loader-runner "^2.3.0" + loader-utils "^1.1.0" + memory-fs "~0.4.1" + micromatch "^3.1.8" + mkdirp "~0.5.0" + neo-async "^2.5.0" + node-libs-browser "^2.0.0" + schema-utils "^1.0.0" + tapable "^1.1.0" + terser-webpack-plugin "^1.1.0" + watchpack "^1.5.0" + webpack-sources "^1.3.0" + websocket-driver@>=0.5.1: - version "0.7.0" - resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.0.tgz#0caf9d2d755d93aee049d4bdd0d3fe2cca2a24eb" + version "0.7.3" + resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.3.tgz#a2d4e0d4f4f116f1e6297eba58b05d430100e9f9" + integrity sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg== dependencies: - http-parser-js ">=0.4.0" + http-parser-js ">=0.4.0 <0.4.11" + safe-buffer ">=5.1.0" websocket-extensions ">=0.1.1" websocket-extensions@>=0.1.1: version "0.1.3" resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.3.tgz#5d2ff22977003ec687a4b87073dfbbac146ccf29" + integrity sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg== + +whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3: + version "1.0.5" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" + integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== + dependencies: + iconv-lite "0.4.24" + +whatwg-fetch@>=0.10.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz#fc804e458cc460009b1a2b966bc8817d2578aefb" + integrity sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q== + +whatwg-mimetype@^2.1.0, whatwg-mimetype@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" + integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== + +whatwg-url@^6.4.1: + version "6.5.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.5.0.tgz#f2df02bff176fd65070df74ad5ccbb5a199965a8" + integrity sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ== + dependencies: + lodash.sortby "^4.7.0" + tr46 "^1.0.1" + webidl-conversions "^4.0.2" -when@^3.7.5: - version "3.7.8" - resolved "https://registry.yarnpkg.com/when/-/when-3.7.8.tgz#c7130b6a7ea04693e842cdc9e7a1f2aa39a39f82" +whatwg-url@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.0.0.tgz#fde926fa54a599f3adf82dff25a9f7be02dc6edd" + integrity sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ== + dependencies: + lodash.sortby "^4.7.0" + tr46 "^1.0.1" + webidl-conversions "^4.0.2" which-module@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" + integrity sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8= -which@1, which@^1.2.9: - version "1.3.0" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a" - dependencies: - isexe "^2.0.0" +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= -which@~1.2.1: - version "1.2.14" - resolved "https://registry.yarnpkg.com/which/-/which-1.2.14.tgz#9a87c4378f03e827cecaf1acdf56c736c01c14e5" +which@1, which@^1.2.9, which@^1.3.0, which@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== dependencies: isexe "^2.0.0" wide-align@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710" + version "1.1.3" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" + integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== dependencies: - string-width "^1.0.2" + string-width "^1.0.2 || 2" -window-size@0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" +wordwrap@~0.0.2: + version "0.0.3" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" + integrity sha1-o9XabNXAvAAI03I0u68b7WMFkQc= + +wordwrap@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= + +worker-farm@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" + integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw== + dependencies: + errno "~0.1.7" -wordwrap@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" +worker-rpc@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/worker-rpc/-/worker-rpc-0.1.1.tgz#cb565bd6d7071a8f16660686051e969ad32f54d5" + integrity sha512-P1WjMrUB3qgJNI9jfmpZ/htmBEjFh//6l/5y8SD9hg1Ef5zTTVVoRjTrTEzPrNBQvmhMxkoTsjOXN10GWU7aCg== + dependencies: + microevent.ts "~0.1.1" wrap-ansi@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" + integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= dependencies: string-width "^1.0.1" strip-ansi "^3.0.1" +wrap-ansi@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" + integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== + dependencies: + ansi-styles "^3.2.0" + string-width "^3.0.0" + strip-ansi "^5.0.0" + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +write-file-atomic@2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.1.tgz#d0b05463c188ae804396fd5ab2a370062af87529" + integrity sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg== + dependencies: + graceful-fs "^4.1.11" + imurmurhash "^0.1.4" + signal-exit "^3.0.2" + +ws@^5.2.0: + version "5.2.2" + resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f" + integrity sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA== + dependencies: + async-limiter "~1.0.0" + +ws@^6.1.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb" + integrity sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA== + dependencies: + async-limiter "~1.0.0" + +xml-name-validator@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" + integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== + +xml2js@0.4.19: + version "0.4.19" + resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.19.tgz#686c20f213209e94abf0d1bcf1efaa291c7827a7" + integrity sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q== + dependencies: + sax ">=0.6.0" + xmlbuilder "~9.0.1" + +xml@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/xml/-/xml-1.0.1.tgz#78ba72020029c5bc87b8a81a3cfcd74b4a2fc1e5" + integrity sha1-eLpyAgApxbyHuKgaPPzXS0ovweU= + +xmlbuilder@~9.0.1: + version "9.0.7" + resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d" + integrity sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0= + +xtend@^4.0.0, xtend@~4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== y18n@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" + integrity sha1-bRX7qITAhnnA136I53WegR4H+kE= + +"y18n@^3.2.1 || ^4.0.0", y18n@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" + integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== yallist@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= + +yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9" + integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A== + +yargs-parser@10.x: + version "10.1.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" + integrity sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ== + dependencies: + camelcase "^4.1.0" + +yargs-parser@^11.1.1: + version "11.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" + integrity sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-parser@^13.1.1: + version "13.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.1.tgz#d26058532aa06d365fe091f6a1fc06b2f7e5eca0" + integrity sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" yargs-parser@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0.tgz#275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a" + integrity sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo= dependencies: camelcase "^3.0.0" +yargs@^12.0.1, yargs@^12.0.2: + version "12.0.5" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" + integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw== + dependencies: + cliui "^4.0.0" + decamelize "^1.2.0" + find-up "^3.0.0" + get-caller-file "^1.0.1" + os-locale "^3.0.0" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^2.0.0" + which-module "^2.0.0" + y18n "^3.2.1 || ^4.0.0" + yargs-parser "^11.1.1" + +yargs@^13.2.2: + version "13.3.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.0.tgz#4c657a55e07e5f2cf947f8a366567c04a0dedc83" + integrity sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA== + dependencies: + cliui "^5.0.0" + find-up "^3.0.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^3.0.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^13.1.1" + yargs@^7.0.0: version "7.1.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8" + integrity sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg= dependencies: camelcase "^3.0.0" cliui "^3.2.0" @@ -2366,11 +9846,14 @@ yargs@^7.0.0: y18n "^3.2.1" yargs-parser "^5.0.0" -yargs@~3.10.0: - version "3.10.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" +yauzl@2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.4.1.tgz#9528f442dab1b2284e58b4379bb194e22e0c4005" + integrity sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU= dependencies: - camelcase "^1.0.2" - cliui "^2.1.0" - decamelize "^1.0.0" - window-size "0.1.0" + fd-slicer "~1.0.1" + +yn@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.0.tgz#fcbe2db63610361afcc5eb9e0ac91e976d046114" + integrity sha512-kKfnnYkbTfrAdd0xICNFw7Atm8nKpLcLv9AZGEt+kczL/WQVai4e2V6ZN8U/O+iI6WrNuJjNNOyu4zfhl9D3Hg==