diff --git a/.eslintrc.js b/.eslintrc.js index edadc67..387f883 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,17 +1,20 @@ module.exports = { - "env": { - "browser": true, - "es6": true - }, - "extends": "eslint:recommended", - "globals": { - "Atomics": "readonly", - "SharedArrayBuffer": "readonly" - }, - "parserOptions": { - "ecmaVersion": 2018, - "sourceType": "module" - }, - "rules": { - } -}; \ No newline at end of file + env: { + es6: true, + node: true, + browser: true, + mocha: true, + jquery: true + }, + extends: "eslint:recommended", + globals: { + Atomics: "readonly", + SharedArrayBuffer: "readonly" + }, + parser: "babel-eslint", + parserOptions: { + ecmaVersion: 2018, + sourceType: "module" + }, + rules: {} +}; diff --git a/dist/PublicLab.Grapher.js b/dist/PublicLab.Grapher.js index 7cf656f..6065f14 100644 --- a/dist/PublicLab.Grapher.js +++ b/dist/PublicLab.Grapher.js @@ -1,5 +1,5 @@ (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i= maxval) { break; - } else if (this.completeCsvMatrix[i][j] !== null || this.completeCsvMatrix[i][j] !== undefined) { - if (typeof this.completeCsvMatrix[i][j] === 'number') { + } else if (this.completeCsvMatrix[_i][j] !== null || this.completeCsvMatrix[_i][j] !== undefined) { + if (typeof this.completeCsvMatrix[_i][j] === 'number') { bool = true; } counter += 1; - csvSampleDataLocal[i].push(this.completeCsvMatrix[i][j]); + + csvSampleDataLocal[_i].push(this.completeCsvMatrix[_i][j]); } } if (bool) { - csvValidForYAxisLocal.push(this.csvHeaders[i]); + csvValidForYAxisLocal.push(this.csvHeaders[_i]); } } @@ -407,9 +411,9 @@ function () { completeCsvMatrixLocal[i] = []; } - for (var i = this.csvFileStart; i < this.csvMatrix.length; i++) { + for (var _i2 = this.csvFileStart; _i2 < this.csvMatrix.length; _i2++) { for (var j = 0; j < this.csvHeaders.length; j++) { - completeCsvMatrixLocal[j].push(this.csvMatrix[i][j]); + completeCsvMatrixLocal[j].push(this.csvMatrix[_i2][j]); } } @@ -425,20 +429,20 @@ function () { matrixComplete[i] = []; } - for (var i = 0; i < this.csvHeaders.length; i++) { + for (var _i3 = 0; _i3 < this.csvHeaders.length; _i3++) { for (var key in this.csvFile) { - var valueCell = this.csvFile[key][this.csvHeaders[i]]["$t"]; + var valueCell = this.csvFile[key][this.csvHeaders[_i3]]['$t']; if (!isNaN(valueCell)) { - matrixComplete[i].push(+valueCell); + matrixComplete[_i3].push(+valueCell); } else { - matrixComplete[i].push(valueCell); + matrixComplete[_i3].push(valueCell); } } } - for (var i = 0; i < this.csvHeaders.length; i++) { - this.csvHeaders[i] = this.csvHeaders[i].slice(4, this.csvHeaders[i].length); + for (var _i4 = 0; _i4 < this.csvHeaders.length; _i4++) { + this.csvHeaders[_i4] = this.csvHeaders[_i4].slice(4, this.csvHeaders[_i4].length); } return matrixComplete; @@ -470,18 +474,18 @@ function () { for (var i = 0; i < this.csvMatrix[0].length; i++) { if (i == 0) { - if (typeof this.csvMatrix[0][i] == "string") { + if (typeof this.csvMatrix[0][i] == 'string') { csvHeadersLocal[i] = this.csvMatrix[0][i]; } else { flag = true; break; } } else { - if (_typeof(this.csvMatrix[0][i]) == _typeof(this.csvMatrix[0][i - 1]) && _typeof(this.csvMatrix[0][i]) != 'object' || _typeof(this.csvMatrix[0][i]) != _typeof(this.csvMatrix[0][i - 1]) && csvHeadersLocal[i - 1].substring(0, 6) == "Column") { + if (_typeof(this.csvMatrix[0][i]) == _typeof(this.csvMatrix[0][i - 1]) && _typeof(this.csvMatrix[0][i]) != 'object' || _typeof(this.csvMatrix[0][i]) != _typeof(this.csvMatrix[0][i - 1]) && csvHeadersLocal[i - 1].substring(0, 6) == 'Column') { csvHeadersLocal[i] = this.csvMatrix[0][i]; } //in case of an unnamed column else if (_typeof(this.csvMatrix[0][i]) == 'object') { - csvHeadersLocal[i] = "Column" + (i + 1); + csvHeadersLocal[i] = 'Column' + (i + 1); } else { flag = true; break; @@ -493,8 +497,8 @@ function () { if (flag && csvHeadersLocal.length != this.csvMatrix[0].length) { this.csvFileStart = 0; - for (var i = 0; i < this.csvMatrix[0].length; i++) { - csvHeadersLocal[i] = "Column" + (i + 1); + for (var _i5 = 0; _i5 < this.csvMatrix[0].length; _i5++) { + csvHeadersLocal[_i5] = 'Column' + (_i5 + 1); } } @@ -510,7 +514,7 @@ function () { var h = this.csvFile[key]; for (var headKey in h) { - if (headKey.slice(0, 4) == "gsx$") { + if (headKey.slice(0, 4) == 'gsx$') { headers_sheet.push(headKey); } } @@ -528,7 +532,7 @@ function () { for (var i = 0; i < this.csvHeaders.length; i++) { var element = {}; - element["name"] = this.csvHeaders[i]; + element['name'] = this.csvHeaders[i]; codapHeaders.push(element); } @@ -544,13 +548,13 @@ function () { completeCsvMatrixTransposeLocal[i] = []; } - for (var i = 0; i < this.completeCsvMatrix.length; i++) { - completeCsvMatrixTransposeLocal[0][i] = this.csvHeaders[i]; + for (var _i6 = 0; _i6 < this.completeCsvMatrix.length; _i6++) { + completeCsvMatrixTransposeLocal[0][_i6] = this.csvHeaders[_i6]; } - for (var i = 0; i < this.completeCsvMatrix.length; i++) { + for (var _i7 = 0; _i7 < this.completeCsvMatrix.length; _i7++) { for (var j = 0; j < this.completeCsvMatrix[0].length; j++) { - completeCsvMatrixTransposeLocal[j + 1][i] = this.completeCsvMatrix[i][j]; + completeCsvMatrixTransposeLocal[j + 1][_i7] = this.completeCsvMatrix[_i7][j]; } } @@ -561,10 +565,9 @@ function () { return CsvParser; }(); -; module.exports = CsvParser; },{"./SimpleDataGrapher":4,"papaparse":11}],3:[function(require,module,exports){ -"use strict"; +'use strict'; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } @@ -580,12 +583,12 @@ function () { _createClass(PlotlyjsPlotter, [{ key: "determineType2", value: function determineType2() { - if (this.graphType == "Horizontal" || this.graphType == "Vertical") { - return "bar"; - } else if (this.graphType == "Pie" || this.graphType == "Doughnut" || this.graphType == "Radar") { - return "pie"; - } else if (this.graphType == "Basic" || this.graphType == "Stepped" || this.graphType == "Point") { - return "scatter"; + if (this.graphType == 'Horizontal' || this.graphType == 'Vertical') { + return 'bar'; + } else if (this.graphType == 'Pie' || this.graphType == 'Doughnut' || this.graphType == 'Radar') { + return 'pie'; + } else if (this.graphType == 'Basic' || this.graphType == 'Stepped' || this.graphType == 'Point') { + return 'scatter'; } } }, { @@ -593,8 +596,8 @@ function () { value: function layoutMaker() { var layout = {}; - if (this.graphType == "Horizontal" || this.graphType == "Vertical") { - layout["barmode"] = "group"; + if (this.graphType == 'Horizontal' || this.graphType == 'Vertical') { + layout['barmode'] = 'group'; } return layout; @@ -603,20 +606,20 @@ function () { key: "traceMaker", value: function traceMaker() { var trace = {}; - trace["type"] = this.determineType2(); - - if (this.graphType == "Horizontal") { - trace["orientation"] = "h"; - } else if (this.graphType == "Doughnut") { - trace["hole"] = 0.5; - } else if (this.graphType == "Basic") { - trace["mode"] = "lines"; - } else if (this.graphType == "Point") { - trace["mode"] = "markers"; - } else if (this.graphType == "Stepped") { - trace["mode"] = "lines+markers"; - trace["line"] = { - "shape": 'hv' + trace['type'] = this.determineType2(); + + if (this.graphType == 'Horizontal') { + trace['orientation'] = 'h'; + } else if (this.graphType == 'Doughnut') { + trace['hole'] = 0.5; + } else if (this.graphType == 'Basic') { + trace['mode'] = 'lines'; + } else if (this.graphType == 'Point') { + trace['mode'] = 'markers'; + } else if (this.graphType == 'Stepped') { + trace['mode'] = 'lines+markers'; + trace['line'] = { + shape: 'hv' }; } @@ -625,14 +628,14 @@ function () { }, { key: "keyDeterminer", value: function keyDeterminer() { - var keys = ["x", "y"]; - - if (this.graphType == "Pie" || this.graphType == "Doughnut") { - keys[1] = "values"; - keys[0] = "labels"; - } else if (this.graphType == "Horizontal") { - keys[0] = "y"; - keys[1] = "x"; + var keys = ['x', 'y']; + + if (this.graphType == 'Pie' || this.graphType == 'Doughnut') { + keys[1] = 'values'; + keys[0] = 'labels'; + } else if (this.graphType == 'Horizontal') { + keys[0] = 'y'; + keys[1] = 'x'; } return keys; @@ -641,7 +644,8 @@ function () { key: "plotGraph2", value: function plotGraph2() { if (this.flag) { - document.getElementById(this.canvasContainerId).innerHTML = ""; + // console.log("at plotGraph"); + document.getElementById(this.canvasContainerId).innerHTML = ''; } var layout = this.layoutMaker(); @@ -652,22 +656,21 @@ function () { var new_trace = this.traceMaker(); new_trace[keySet[0]] = this.dataHash['x_axis_labels']; new_trace[keySet[1]] = this.dataHash['y_axis_values' + i]; - new_trace["name"] = this.dataHash['labels'][1][i]; + new_trace['name'] = this.dataHash['labels'][1][i]; data.push(new_trace); - } + } // console.log(data); + var div = document.createElement('div'); div.id = this.elementId + '_chart_container_' + this.graphCounting; document.getElementById(this.canvasContainerId).appendChild(div); - Plotly.newPlot(div.id, data, layout); + window.Plotly.newPlot(div.id, data, layout); } }]); function PlotlyjsPlotter(hash, length, type, flag, canvasContainerId, elementId, graphCounting) { _classCallCheck(this, PlotlyjsPlotter); - _defineProperty(this, 'use strict', void 0); - _defineProperty(this, "dataHash", {}); _defineProperty(this, "elementId", null); @@ -697,7 +700,7 @@ function () { module.exports = PlotlyjsPlotter; },{}],4:[function(require,module,exports){ -"use strict"; +'use strict'; Object.defineProperty(exports, "__esModule", { value: true @@ -713,8 +716,6 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope var SimpleDataGrapher = function SimpleDataGrapher(elementId) { _classCallCheck(this, SimpleDataGrapher); - _defineProperty(this, 'use strict', void 0); - _defineProperty(this, "elementId", null); _defineProperty(this, "view", null); @@ -728,10 +729,11 @@ exports.SimpleDataGrapher = SimpleDataGrapher; _defineProperty(SimpleDataGrapher, "elementIdSimpleDataGraphInstanceMap", {}); -; window.SimpleDataGrapher = SimpleDataGrapher; },{"./View":5}],5:[function(require,module,exports){ -"use strict"; +/* moved to the top of file to fix linter error. + ref: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Strict_Non_Simple_Params*/ +'use strict'; Object.defineProperty(exports, "__esModule", { value: true @@ -746,9 +748,8 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } -var CsvParser = require('./CsvParser'); +var CsvParser = require('./CsvParser'); // const SimpleDataGrapher = require('./SimpleDataGrapher'); -var SimpleDataGrapher = require('./SimpleDataGrapher'); var ChartjsPlotter = require('./ChartjsPlotter'); @@ -756,6 +757,8 @@ var PlotlyjsPlotter = require('./PlotlyjsPlotter'); var iframe_phone = require('iframe-phone'); +var sheetLink; + var View = /*#__PURE__*/ function () { @@ -765,14 +768,14 @@ function () { value: function handleFileSelectlocal(event) { this.csvFile = event.target.files[0]; - if (this.csvFile['name'].split(".")[1] != "csv") { - alert("Invalid file type"); + if (this.csvFile['name'].split('.')[1] != 'csv') { + alert('Invalid file type'); } else { $('#' + this.dragDropHeadingId).text(this.csvFile['name']); var self = this; - document.getElementById(this.uploadButtonId).onclick = function (e) { - self.csvParser = new CsvParser(self.csvFile, self.elementId, "local"); + document.getElementById(this.uploadButtonId).onclick = function () { + self.csvParser = new CsvParser(self.csvFile, self.elementId, 'local'); }; } } //receives the string value and creates an object of CsvParser class with the string as one of the parameters @@ -784,8 +787,8 @@ function () { this.csvFile = val; var self = this; - document.getElementById(this.uploadButtonId).onclick = function (e) { - self.csvParser = new CsvParser(self.csvFile, self.elementId, "csvstring"); + document.getElementById(this.uploadButtonId).onclick = function () { + self.csvParser = new CsvParser(self.csvFile, self.elementId, 'csvstring'); }; } // function for using a previously uploaded and saved file from the data base @@ -793,7 +796,7 @@ function () { key: "usingPreviouslyUploadedFile", value: function usingPreviouslyUploadedFile() { var self = this; - self.csvParser = new CsvParser("dummy", self.elementId, "prevfile"); + self.csvParser = new CsvParser('dummy', self.elementId, 'prevfile'); } //receives the JSON file value and creates an object of CsvParser class with the file as one of the parameters }, { @@ -802,8 +805,8 @@ function () { this.csvFile = googleSheetData; var self = this; - document.getElementById(this.uploadButtonId).onclick = function (e) { - self.csvParser = new CsvParser(self.csvFile, self.elementId, "googleSheet"); + document.getElementById(this.uploadButtonId).onclick = function () { + self.csvParser = new CsvParser(self.csvFile, self.elementId, 'googleSheet'); }; } // get's the JSON form of the Google Sheet through Google Sheet's URL and passes it to the handler @@ -821,15 +824,13 @@ function () { value: function sendRemoteFileToHandler(val) { var _this = this; - var proxyurl = "https://cors-anywhere.herokuapp.com/"; + var proxyurl = 'https://cors-anywhere.herokuapp.com/'; var url = val; fetch(proxyurl + url).then(function (response) { return response.text(); }).then(function (contents) { return _this.handleFileSelectremote(contents); - })["catch"](function (e) { - return console.log(e); - }); + }); // .catch((e) => console.log(e)) ; } // callback function which receives the remote file's value and creates an object of CsvParser class with the file as one of the parameters }, { @@ -838,15 +839,15 @@ function () { this.csvFile = remoteVal; var self = this; - document.getElementById(this.uploadButtonId).onclick = function (e) { - self.csvParser = new CsvParser(self.csvFile, self.elementId, "remote"); + document.getElementById(this.uploadButtonId).onclick = function () { + self.csvParser = new CsvParser(self.csvFile, self.elementId, 'remote'); }; } // adapter function which switches between Plotly.js and Chart.js as a graph plotting library and creates theri respective objects which take over the graph plotting }, { key: "plotGraph", value: function plotGraph(hash, length, type, flag, library) { - if (library == "chartjs") { + if (library == 'chartjs') { this.chartjsPlotter = new ChartjsPlotter(hash, length, type, flag, this.canvasContinerId, this.elementId, this.graphCounting); } else { this.plotlyjsPlotter = new PlotlyjsPlotter(hash, length, type, flag, this.canvasContinerId, this.elementId, this.graphCounting); @@ -858,43 +859,43 @@ function () { }, { key: "setTooltip", value: function setTooltip(importType) { - if (importType === "container_drag_drop") { - return "Select a local file from your system"; - } else if (importType === "container_csv_string") { - var x = "Type in or Paste a CSV string. \r\n"; - x += "Example: \r\n"; - x += "A,B,C \r\n"; - x += "1,2,3"; + if (importType === 'container_drag_drop') { + return 'Select a local file from your system'; + } else if (importType === 'container_csv_string') { + var x = 'Type in or Paste a CSV string. \r\n'; + x += 'Example: \r\n'; + x += 'A,B,C \r\n'; + x += '1,2,3'; return x; - } else if (importType === "container_remote_link") { - return "Type in or Paste the link of a remote CSV file. Example: \ - http://example.com/example.csv"; - } else if (importType === "container_google_sheet") { - return "Type in or Paste the link of a Published Google Sheet. To publish a Google Sheet: 1. File -> Publish to the web -> Publish 2. Share -> Get shareable link -> Anyone with the link can -> More -> On - Public on the web -> Save 3. Copy link"; + } else if (importType === 'container_remote_link') { + return 'Type in or Paste the link of a remote CSV file. Example: \ + http://example.com/example.csv'; + } else if (importType === 'container_google_sheet') { + return 'Type in or Paste the link of a Published Google Sheet. To publish a Google Sheet: 1. File -> Publish to the web -> Publish 2. Share -> Get shareable link -> Anyone with the link can -> More -> On - Public on the web -> Save 3. Copy link'; } } //set tool tip for graph tips }, { key: "setTooltipGraph", value: function setTooltipGraph(graphType) { - if (graphType == "Horizontal") { - return "Data is categorical and tells how many, widths proportional to the values"; - } else if (graphType === "Vertical") { - return "Data is categorical and tells how many, heights proportional to the values"; - } else if (graphType == "Stacked") { - return "Ideal for comparing the total amounts across each group/segmented bar"; - } else if (graphType == "Basic") { - return "Used to visualize a trend in data over intervals of time or to see the growth of a quantity"; - } else if (graphType == "Stepped") { - return "Vertical parts of a step chart denote changes in the data and their magnitude"; - } else if (graphType == "Point") { - return "Used to show the relationship between two data variables"; - } else if (graphType == "Pie") { - return "Used to show percentage or proportional data, should be used for less number of categories"; - } else if (graphType == "Doughnut") { - return "Used to show percentage or proportional data, but have better data intensity ratio and space efficiency"; - } else if (graphType == "Radar") { - return "Used to display multivariate observations with an arbitrary number of variables"; + if (graphType == 'Horizontal') { + return 'Data is categorical and tells how many, widths proportional to the values'; + } else if (graphType === 'Vertical') { + return 'Data is categorical and tells how many, heights proportional to the values'; + } else if (graphType == 'Stacked') { + return 'Ideal for comparing the total amounts across each group/segmented bar'; + } else if (graphType == 'Basic') { + return 'Used to visualize a trend in data over intervals of time or to see the growth of a quantity'; + } else if (graphType == 'Stepped') { + return 'Vertical parts of a step chart denote changes in the data and their magnitude'; + } else if (graphType == 'Point') { + return 'Used to show the relationship between two data variables'; + } else if (graphType == 'Pie') { + return 'Used to show percentage or proportional data, should be used for less number of categories'; + } else if (graphType == 'Doughnut') { + return 'Used to show percentage or proportional data, but have better data intensity ratio and space efficiency'; + } else if (graphType == 'Radar') { + return 'Used to display multivariate observations with an arbitrary number of variables'; } } // create a popover against each import method for adding a file title and description @@ -902,7 +903,7 @@ function () { key: "createPopover", value: function createPopover(buttonId) { var self = this; - var html = '
'; + var html = '
'; $('#' + buttonId).popover({ placement: 'bottom', title: 'Add Description', @@ -911,8 +912,8 @@ function () { }).on('click', function () { $('#save').click(function (e) { e.preventDefault(); - self.fileTitle = $('#' + "title" + buttonId).val(); - self.fileDescription = $('#' + "desc" + buttonId).val(); + self.fileTitle = $('#' + 'title' + buttonId).val(); + self.fileDescription = $('#' + 'desc' + buttonId).val(); }); }); } // renders the required buttons for saving the files if the use is logged in @@ -922,22 +923,22 @@ function () { value: function createButtons(userLoginCheck) { this.listenersForIntegration(); - if (userLoginCheck == "yes") { + if (userLoginCheck == 'yes') { var save_file_button = document.createElement('button'); - save_file_button.classList.add("btn"); - save_file_button.classList.add("btn-primary"); - save_file_button.innerHTML = "Save CSV"; - save_file_button.id = this.elementId + "_save_CSV"; + save_file_button.classList.add('btn'); + save_file_button.classList.add('btn-primary'); + save_file_button.innerHTML = 'Save CSV'; + save_file_button.id = this.elementId + '_save_CSV'; var upload_prev_file = document.createElement('button'); - upload_prev_file.classList.add("btn"); - upload_prev_file.classList.add("btn-primary"); - upload_prev_file.innerHTML = "Choose a previously uploaded file"; - upload_prev_file.id = this.elementId + "_prev_file"; + upload_prev_file.classList.add('btn'); + upload_prev_file.classList.add('btn-primary'); + upload_prev_file.innerHTML = 'Choose a previously uploaded file'; + upload_prev_file.id = this.elementId + '_prev_file'; var publish_research_button = document.createElement('button'); - publish_research_button.classList.add("btn"); - publish_research_button.classList.add("btn-primary"); - publish_research_button.innerHTML = "Publish as a Research Note"; - publish_research_button.id = this.elementId + "_publish"; + publish_research_button.classList.add('btn'); + publish_research_button.classList.add('btn-primary'); + publish_research_button.innerHTML = 'Publish as a Research Note'; + publish_research_button.id = this.elementId + '_publish'; var container = document.getElementById(this.upload_button_container); var div_container = document.createElement('div'); div_container.appendChild(save_file_button); @@ -952,29 +953,29 @@ function () { key: "createDataset", value: function createDataset() { var dataset = {}; - dataset["action"] = "create"; - dataset["resource"] = "dataContext"; + dataset['action'] = 'create'; + dataset['resource'] = 'dataContext'; var values = {}; - values["name"] = "my dataset"; - values["title"] = "Case Table"; + values['name'] = 'my dataset'; + values['title'] = 'Case Table'; var collections = []; var hashCollections = {}; - hashCollections["name"] = "cases"; - hashCollections["attrs"] = this.csvParser.codapHeaders; + hashCollections['name'] = 'cases'; + hashCollections['attrs'] = this.csvParser.codapHeaders; collections.push(hashCollections); - values["collections"] = collections; - dataset["values"] = values; + values['collections'] = collections; + dataset['values'] = values; var dataset2 = {}; - dataset2["action"] = "create"; - dataset2["resource"] = "dataContext[my dataset].item"; - dataset2["values"] = this.csvParser.codapMatrix; + dataset2['action'] = 'create'; + dataset2['resource'] = 'dataContext[my dataset].item'; + dataset2['values'] = this.csvParser.codapMatrix; var dataset3 = {}; - dataset3["action"] = "create"; - dataset3["resource"] = "component"; + dataset3['action'] = 'create'; + dataset3['resource'] = 'component'; var values3 = {}; - values3["type"] = "caseTable"; - values3["dataContext"] = "my dataset"; - dataset3["values"] = values3; + values3['type'] = 'caseTable'; + values3['dataContext'] = 'my dataset'; + dataset3['values'] = values3; return [dataset, dataset2, dataset3]; } }, { @@ -987,23 +988,24 @@ function () { value: function codapExport() { var self = this; var iframeBody = ''; - var modal_body = document.getElementById("body_for_CODAP"); + var modal_body = document.getElementById('body_for_CODAP'); modal_body.innerHTML = iframeBody; - var iframe = document.getElementById("codap-iframe"); - modal_body.style.height = "500px"; - iframe.style.width = "750px"; - iframe.style.height = "90%"; + var iframe = document.getElementById('codap-iframe'); + modal_body.style.height = '500px'; + iframe.style.width = '750px'; + iframe.style.height = '90%'; var codapIframe = document.getElementById('codap-iframe'); - var rpcHandler = new iframe_phone.IframePhoneRpcEndpoint(self.iframePhoneHandler, "data-interactive", codapIframe); - var createCodapButton = document.createElement("button"); - createCodapButton.classList.add("btn"); - createCodapButton.classList.add("btn-primary"); - createCodapButton.innerHTML = "Go!"; - createCodapButton.id = this.elementId + "_create_codap"; + var rpcHandler = new iframe_phone.IframePhoneRpcEndpoint(self.iframePhoneHandler, 'data-interactive', codapIframe); + var createCodapButton = document.createElement('button'); + createCodapButton.classList.add('btn'); + createCodapButton.classList.add('btn-primary'); + createCodapButton.innerHTML = 'Go!'; + createCodapButton.id = this.elementId + '_create_codap'; modal_body.prepend(createCodapButton); var apiCall = this.createDataset(); - $("#" + this.elementId + "_create_codap").click(function () { + $('#' + this.elementId + '_create_codap').click(function () { rpcHandler.call(apiCall, function (resp) { + // eslint-disable-next-line no-console console.log('Response:' + JSON.stringify(resp)); }); }); @@ -1012,15 +1014,18 @@ function () { }, { key: "createSheet", value: function createSheet() { + // eslint-disable-next-line no-undef var wb = XLSX.utils.book_new(); wb.Props = { - Title: "New Spreadsheet" + this.elementId, + Title: 'New Spreadsheet' + this.elementId, CreatedDate: new Date() }; - wb.SheetNames.push("Sheet" + this.elementId); - var ws_data = this.csvParser.completeCsvMatrixTranspose; + wb.SheetNames.push('Sheet' + this.elementId); + var ws_data = this.csvParser.completeCsvMatrixTranspose; // eslint-disable-next-line no-undef + var ws = XLSX.utils.aoa_to_sheet(ws_data); - wb.Sheets["Sheet" + this.elementId] = ws; + wb.Sheets['Sheet' + this.elementId] = ws; // eslint-disable-next-line no-undef + var wbout = XLSX.write(wb, { bookType: 'xlsx', type: 'binary' @@ -1031,17 +1036,19 @@ function () { var view = new Uint8Array(buf); for (var i = 0; i < s.length; i++) { - view[i] = s.charCodeAt(i) & 0xFF; + view[i] = s.charCodeAt(i) & 0xff; } return buf; - } + } // eslint-disable-next-line no-undef + saveAs(new Blob([s2ab(wbout)], { - type: "application/octet-stream" + type: 'application/octet-stream' }), 'newSpreadsheet' + this.elementId + '.xlsx'); } // creates a hash of the entire data in an accesible format for the charting libraries {labels: [legendx, [legendy0, legendy1 ... lengendyn]], x_axis_values: [...], y_axis_0: [...], y_axis_1: [...], ... y_axis_n: [...]} n: selected number of columns // flag is just for seeing if we're plotting the graph for the first time, if yes, we will have to clear the canvas. + // eslint-disable-next-line no-unused-vars }, { key: "afterSampleData", @@ -1052,24 +1059,24 @@ function () { e.preventDefault(); var hash = {}; var ix = $('input[name=' + _this2.tableXInputName + ']:checked').val(); - hash["x_axis_labels"] = _this2.csvParser.completeCsvMatrix[ix]; + hash['x_axis_labels'] = _this2.csvParser.completeCsvMatrix[ix]; var columns = new Array(); var y_axis_names = new Array(); - $("input:checkbox[name=" + _this2.tableYInputName + "]:checked").each(function (index, element) { + $('input:checkbox[name=' + _this2.tableYInputName + ']:checked').each(function (index, element) { columns.push(element.value); }); for (var i = 0; i < columns.length; i++) { - hash["y_axis_values" + i] = _this2.csvParser.completeCsvMatrix[columns[i]]; + hash['y_axis_values' + i] = _this2.csvParser.completeCsvMatrix[columns[i]]; y_axis_names.push(_this2.csvParser.csvHeaders[columns[i]]); } var labels = [_this2.csvParser.csvHeaders[ix], y_axis_names]; - hash["labels"] = labels; + hash['labels'] = labels; var selectedGraph = $('.selected'); var type = selectedGraph.attr('data-value'); - _this2.plotGraph(hash, columns.length, type, flag, "plotly"); + _this2.plotGraph(hash, columns.length, type, flag, 'plotly'); }; } // generates a graph menu with different graph options @@ -1078,26 +1085,26 @@ function () { value: function graphMenu(flag) { var self = this; $('.' + this.carousalClass).carousel(1); - var menuDiv = document.getElementById("menu_holder"); + var menuDiv = document.getElementById('menu_holder'); menuDiv.innerHTML = '

blahhhhh

Horizontal Bar

Vertical Bar

Stacked Bar

Basic Line

Stepped Line

Point

Pie

Doughnut

Radar

blahhh

'; $('.radio-group .radio').click(function () { $(this).parent().find('.radio').removeClass('selected'); var l = document.getElementsByClassName('hmm'); for (var i = 0; i < l.length; i++) { - l[i].style.backgroundColor = "#cccccc"; + l[i].style.backgroundColor = '#cccccc'; } $(this).addClass('selected'); var type = $(this).attr('data-value'); - $('#' + type + "Type").css('backgroundColor', '#1ad1ff'); + $('#' + type + 'Type').css('backgroundColor', '#1ad1ff'); }); $('.radio').hover(function () { var tooltipVal = self.setTooltipGraph($(this).attr('data-value')); $('#graph_description').text(tooltipVal); $('#graph_description').css({ opacity: 0.0, - visibility: "visible" + visibility: 'visible' }).animate({ opacity: 1.0 }, 800); @@ -1110,7 +1117,7 @@ function () { }, { key: "tableGenerator", value: function tableGenerator(name, tableId, typeOfInput, validValues, flag, tableType, badgeType) { - document.getElementById(tableId).innerHTML = ""; + document.getElementById(tableId).innerHTML = ''; var trhead = document.createElement('tr'); for (var i = 0; i < this.csvParser.csvHeaders.length; i++) { @@ -1118,8 +1125,8 @@ function () { var span = document.createElement('span'); var textnode = document.createTextNode(this.csvParser.csvHeaders[i]); span.appendChild(textnode); - span.classList.add("badge"); - span.classList.add("badge-pill"); + span.classList.add('badge'); + span.classList.add('badge-pill'); span.classList.add(badgeType); td.appendChild(span); @@ -1130,7 +1137,7 @@ function () { checkbox.value = i; checkbox.name = name; checkbox.id = name + i; - checkbox.classList.add("check-inputs"); + checkbox.classList.add('check-inputs'); span.appendChild(checkbox); } } @@ -1141,13 +1148,15 @@ function () { trhead.classList.add(tableType); document.getElementById(tableId).appendChild(trhead); - for (var i = 0; i < this.csvParser.csvSampleData[0].length; i++) { + for (var _i = 0; _i < this.csvParser.csvSampleData[0].length; _i++) { var tr = document.createElement('tr'); - for (var j = 0; j < this.csvParser.csvHeaders.length; j++) { - var td = document.createElement('td'); - td.appendChild(document.createTextNode(this.csvParser.csvSampleData[j][i])); - tr.appendChild(td); + for (var _j = 0; _j < this.csvParser.csvHeaders.length; _j++) { + var _td = document.createElement('td'); + + _td.appendChild(document.createTextNode(this.csvParser.csvSampleData[_j][_i])); + + tr.appendChild(_td); } document.getElementById(tableId).appendChild(tr); @@ -1161,7 +1170,7 @@ function () { value: function showSampleDataXandY() { var _this3 = this; - document.getElementById(this.addGraphButtonId).onclick = function (e) { + document.getElementById(this.addGraphButtonId).onclick = function () { _this3.graphCounting++; $('.' + _this3.carousalClass).carousel(1); /// ---------------> after @@ -1180,7 +1189,7 @@ function () { }, { key: "continueViewManipulation", value: function continueViewManipulation(x) { - if (x != "prevfile") { + if (x != 'prevfile') { this.csvParser = x; } @@ -1193,46 +1202,50 @@ function () { value: function listenersForIntegration() { var _this4 = this; - $("#" + this.fileUploadId).change(function (e) { - document.getElementById("popover" + _this4.fileUploadId).style.display = "inline"; - document.getElementById("popover" + _this4.csvStringUploadId).style.display = "none"; - document.getElementById("popover" + _this4.googleSheetUploadId).style.display = "none"; - document.getElementById("popover" + _this4.remoteFileUploadId).style.display = "none"; + $('#' + this.fileUploadId).change(function (e) { + // console.log("i am here23"); + document.getElementById('popover' + _this4.fileUploadId).style.display = 'inline'; + document.getElementById('popover' + _this4.csvStringUploadId).style.display = 'none'; + document.getElementById('popover' + _this4.googleSheetUploadId).style.display = 'none'; + document.getElementById('popover' + _this4.remoteFileUploadId).style.display = 'none'; - _this4.createPopover("popover" + _this4.fileUploadId); + _this4.createPopover('popover' + _this4.fileUploadId); _this4.handleFileSelectlocal(e); }); - $("#" + this.csvStringUploadId).change(function () { - document.getElementById("popover" + _this4.csvStringUploadId).style.display = "inline"; - document.getElementById("popover" + _this4.googleSheetUploadId).style.display = "none"; - document.getElementById("popover" + _this4.remoteFileUploadId).style.display = "none"; - document.getElementById("popover" + _this4.fileUploadId).style.display = "none"; + $('#' + this.csvStringUploadId).change(function () { + // console.log(document.getElementById(this.csvStringUploadId).value); + document.getElementById('popover' + _this4.csvStringUploadId).style.display = 'inline'; + document.getElementById('popover' + _this4.googleSheetUploadId).style.display = 'none'; + document.getElementById('popover' + _this4.remoteFileUploadId).style.display = 'none'; + document.getElementById('popover' + _this4.fileUploadId).style.display = 'none'; - _this4.createPopover("popover" + _this4.csvStringUploadId); + _this4.createPopover('popover' + _this4.csvStringUploadId); _this4.handleFileSelectstring(document.getElementById(_this4.csvStringUploadId).value); }); - $("#" + this.googleSheetUploadId).change(function () { - document.getElementById("popover" + _this4.googleSheetUploadId).style.display = "inline"; - document.getElementById("popover" + _this4.csvStringUploadId).style.display = "none"; - document.getElementById("popover" + _this4.remoteFileUploadId).style.display = "none"; - document.getElementById("popover" + _this4.fileUploadId).style.display = "none"; + $('#' + this.googleSheetUploadId).change(function () { + // console.log(document.getElementById(this.googleSheetUploadId).value,"sheetlink"); + document.getElementById('popover' + _this4.googleSheetUploadId).style.display = 'inline'; + document.getElementById('popover' + _this4.csvStringUploadId).style.display = 'none'; + document.getElementById('popover' + _this4.remoteFileUploadId).style.display = 'none'; + document.getElementById('popover' + _this4.fileUploadId).style.display = 'none'; - _this4.createPopover("popover" + _this4.googleSheetUploadId); + _this4.createPopover('popover' + _this4.googleSheetUploadId); - var sheetLink = document.getElementById(_this4.googleSheetUploadId).value; - var sheetURL = "https://spreadsheets.google.com/feeds/list/" + sheetLink.split("/")[5] + "/od6/public/values?alt=json"; + sheetLink = document.getElementById(_this4.googleSheetUploadId).value; + var sheetURL = 'https://spreadsheets.google.com/feeds/list/' + sheetLink.split('/')[5] + '/od6/public/values?alt=json'; _this4.getValueGoogleSheet(sheetURL); }); - $("#" + this.remoteFileUploadId).change(function () { - document.getElementById("popover" + _this4.remoteFileUploadId).style.display = "inline"; - document.getElementById("popover" + _this4.csvStringUploadId).style.display = "none"; - document.getElementById("popover" + _this4.googleSheetUploadId).style.display = "none"; - document.getElementById("popover" + _this4.fileUploadId).style.display = "none"; + $('#' + this.remoteFileUploadId).change(function () { + // console.log(document.getElementById(this.remoteFileUploadId).value); + document.getElementById('popover' + _this4.remoteFileUploadId).style.display = 'inline'; + document.getElementById('popover' + _this4.csvStringUploadId).style.display = 'none'; + document.getElementById('popover' + _this4.googleSheetUploadId).style.display = 'none'; + document.getElementById('popover' + _this4.fileUploadId).style.display = 'none'; - _this4.createPopover("popover" + _this4.remoteFileUploadId); + _this4.createPopover('popover' + _this4.remoteFileUploadId); _this4.sendRemoteFileToHandler(document.getElementById(_this4.remoteFileUploadId).value); }); @@ -1244,8 +1257,6 @@ function () { _classCallCheck(this, View); - _defineProperty(this, 'use strict', void 0); - _defineProperty(this, "elementId", null); _defineProperty(this, "element", null); @@ -1304,9 +1315,9 @@ function () { _defineProperty(this, "upload_button_container", null); - _defineProperty(this, "fileTitle", ""); + _defineProperty(this, "fileTitle", ''); - _defineProperty(this, "fileDescription", ""); + _defineProperty(this, "fileDescription", ''); _defineProperty(this, "codapExportButton", null); @@ -1314,34 +1325,34 @@ function () { this.element = document.getElementById(elementId); if (this.element == null) { - throw "No element exist with this id"; + throw 'No element exist with this id'; } - this.fileUploadId = elementId + "_csv_file"; - this.remoteFileUploadId = elementId + "_remote_file"; - this.csvStringUploadId = elementId + "_csv_string"; - this.googleSheetUploadId = elementId + "_google_sheet"; - this.dragDropHeadingId = elementId + "_drag_drop_heading"; - this.uploadButtonId = elementId + "_file_upload_button"; - this.addGraphButtonId = elementId + "_add_graph"; - this.createSpreadsheetButtonId = elementId + "_save_as_spreadsheet"; - this.tableXId = elementId + "_tableX"; - this.tableYId = elementId + "_tableY"; - this.tableXParentId = elementId + "_Xtable"; - this.tableYParentId = elementId + "_Ytable"; - this.tableXInputName = elementId + "_x_axis_input_columns"; - this.tableYInputName = elementId + "_y_axis_input_columns"; - this.carousalClass = elementId + "_carousal"; - this.carousalId = elementId + "_carousalId"; - this.graphMenuId = elementId + "_graph_menu"; - this.plotGraphId = elementId + "_plot_graph"; - this.graphMenuTypeInputName = elementId + "_types"; - this.canvasContinerId = elementId + "_canvas_container"; - this.xyToggleName = elementId + "_xytoggle"; - this.saveAsImageId = elementId + "save-as-image"; - this.upload_button_container = elementId + "upload_button_container"; - this.feature_button_container = elementId + "feature_button_container"; - this.codapExportButton = elementId + "codap_export_button"; + this.fileUploadId = elementId + '_csv_file'; + this.remoteFileUploadId = elementId + '_remote_file'; + this.csvStringUploadId = elementId + '_csv_string'; + this.googleSheetUploadId = elementId + '_google_sheet'; + this.dragDropHeadingId = elementId + '_drag_drop_heading'; + this.uploadButtonId = elementId + '_file_upload_button'; + this.addGraphButtonId = elementId + '_add_graph'; + this.createSpreadsheetButtonId = elementId + '_save_as_spreadsheet'; + this.tableXId = elementId + '_tableX'; + this.tableYId = elementId + '_tableY'; + this.tableXParentId = elementId + '_Xtable'; + this.tableYParentId = elementId + '_Ytable'; + this.tableXInputName = elementId + '_x_axis_input_columns'; + this.tableYInputName = elementId + '_y_axis_input_columns'; + this.carousalClass = elementId + '_carousal'; + this.carousalId = elementId + '_carousalId'; + this.graphMenuId = elementId + '_graph_menu'; + this.plotGraphId = elementId + '_plot_graph'; + this.graphMenuTypeInputName = elementId + '_types'; + this.canvasContinerId = elementId + '_canvas_container'; + this.xyToggleName = elementId + '_xytoggle'; + this.saveAsImageId = elementId + 'save-as-image'; + this.upload_button_container = elementId + 'upload_button_container'; + this.feature_button_container = elementId + 'feature_button_container'; + this.codapExportButton = elementId + 'codap_export_button'; this.drawHTMLView(); this.addListeners(); var self = this; @@ -1365,7 +1376,7 @@ function () { $('#import_description').text(tooltipVal); $('#import_description').css({ opacity: 0.0, - visibility: "visible" + visibility: 'visible' }).animate({ opacity: 1.0 }, 800); @@ -1380,24 +1391,24 @@ function () { value: function addListeners() { var _this6 = this; - $("#" + this.fileUploadId).change(function (e) { + $('#' + this.fileUploadId).change(function (e) { _this6.handleFileSelectlocal(e); }); - $("#" + this.csvStringUploadId).change(function () { + $('#' + this.csvStringUploadId).change(function () { _this6.handleFileSelectstring(document.getElementById(_this6.csvStringUploadId).value); }); - $("#" + this.googleSheetUploadId).change(function () { - var sheetURL = "https://spreadsheets.google.com/feeds/list/" + sheetLink.split("/")[5] + "/od6/public/values?alt=json"; + $('#' + this.googleSheetUploadId).change(function () { + var sheetURL = 'https://spreadsheets.google.com/feeds/list/' + sheetLink.split('/')[5] + '/od6/public/values?alt=json'; _this6.getValueGoogleSheet(sheetURL); }); - $("#" + this.remoteFileUploadId).change(function () { + $('#' + this.remoteFileUploadId).change(function () { _this6.sendRemoteFileToHandler(document.getElementById(_this6.remoteFileUploadId).value); }); - $("#" + this.createSpreadsheetButtonId).click(function () { + $('#' + this.createSpreadsheetButtonId).click(function () { _this6.createSheet(); }); - $("#" + this.codapExportButton).click(function () { + $('#' + this.codapExportButton).click(function () { _this6.codapExport(); }); } //renders the entire HTML view @@ -1413,7 +1424,7 @@ function () { }(); exports.View = View; -},{"./ChartjsPlotter":1,"./CsvParser":2,"./PlotlyjsPlotter":3,"./SimpleDataGrapher":4,"iframe-phone":10}],6:[function(require,module,exports){ +},{"./ChartjsPlotter":1,"./CsvParser":2,"./PlotlyjsPlotter":3,"iframe-phone":10}],6:[function(require,module,exports){ var structuredClone = require('./structured-clone'); var HELLO_INTERVAL_LENGTH = 200; var HELLO_TIMEOUT_LENGTH = 60000; diff --git a/dist/transpiled_code/ChartjsPlotter.js b/dist/transpiled_code/ChartjsPlotter.js index c5c385b..c774751 100644 --- a/dist/transpiled_code/ChartjsPlotter.js +++ b/dist/transpiled_code/ChartjsPlotter.js @@ -1,4 +1,4 @@ -"use strict"; +'use strict'; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } @@ -14,11 +14,12 @@ function () { _createClass(ChartjsPlotter, [{ key: "determineType", value: function determineType() { - if (this.graphType == "Basic" || this.graphType == "Stepped" || this.graphType == "Point") { + // console.log("at type"); + if (this.graphType == 'Basic' || this.graphType == 'Stepped' || this.graphType == 'Point') { return 'line'; - } else if (this.graphType == "Horizontal") { + } else if (this.graphType == 'Horizontal') { return 'horizontalBar'; - } else if (this.graphType == "Vertical") { + } else if (this.graphType == 'Vertical') { return 'bar'; } else { return this.graphType.toLowerCase(); @@ -27,11 +28,12 @@ function () { }, { key: "colorGenerator", value: function colorGenerator(i, tb, count) { + // console.log("at color"); var colors = ['rgba(255, 77, 210, 0.5)', 'rgba(0, 204, 255, 0.5)', 'rgba(128, 0, 255, 0.5)', 'rgba(255, 77, 77, 0.5)', 'rgba(0, 179, 0, 0.5)', 'rgba(255, 255, 0, 0.5)', 'rgba(255, 0, 102, 0.5)', 'rgba(0, 115, 230, 0.5)']; var bordercolors = ['rgb(255, 0, 191)', 'rgb(0, 184, 230)', 'rgb(115, 0, 230)', 'rgb(255, 51, 51)', 'rgb(0, 153, 0)', 'rgb(230, 230, 0)', 'rgb(230, 0, 92)', 'rgb(0, 102, 204)']; var length = 8; - if (this.graphType == "Pie" || this.graphType == "Doughnut") { + if (this.graphType == 'Pie' || this.graphType == 'Doughnut') { var colorSet = []; var borderColorSet = []; @@ -40,13 +42,13 @@ function () { borderColorSet.push(bordercolors[j % length]); } - if (tb == "bg") { + if (tb == 'bg') { return colorSet; } else { return borderColorSet; } } else { - if (tb == "bg") { + if (tb == 'bg') { return colors[i % length]; } else { return bordercolors[i % length]; @@ -56,20 +58,21 @@ function () { }, { key: "determineData", value: function determineData(i) { + // console.log("at data"); var h = {}; - if (this.graphType == "Basic") { + if (this.graphType == 'Basic') { h['fill'] = false; - } else if (this.graphType == "Stepped") { + } else if (this.graphType == 'Stepped') { h['steppedLine'] = true; h['fill'] = false; - } else if (this.graphType == "Point") { + } else if (this.graphType == 'Point') { h['showLine'] = false; h['pointRadius'] = 10; } - h['backgroundColor'] = this.colorGenerator(i, "bg", this.dataHash['y_axis_values' + i].length); - h['borderColor'] = this.colorGenerator(i, "bo", this.dataHash['y_axis_values' + i].length); + h['backgroundColor'] = this.colorGenerator(i, 'bg', this.dataHash['y_axis_values' + i].length); + h['borderColor'] = this.colorGenerator(i, 'bo', this.dataHash['y_axis_values' + i].length); h['borderWidth'] = 1; h['label'] = this.dataHash['labels'][1][i]; h['data'] = this.dataHash['y_axis_values' + i]; @@ -78,6 +81,7 @@ function () { }, { key: "determineConfig", value: function determineConfig() { + // console.log("at config"); var config = {}; config['type'] = this.determineType(); var data = {}; @@ -90,9 +94,9 @@ function () { } var options = { - 'responsive': true, - 'maintainAspectRatio': true, - 'chartArea': { + responsive: true, + maintainAspectRatio: true, + chartArea: { backgroundColor: 'rgb(204, 102, 255)' } }; @@ -105,6 +109,7 @@ function () { }, { key: "scales", value: function scales() { + // console.log("at scales"); var scales = { xAxes: [{ display: true, @@ -126,26 +131,28 @@ function () { }, { key: "saveAsImageFunction", value: function saveAsImageFunction(canvId) { + // console.log("entered image"); var newDate = new Date(); var timestamp = newDate.getTime(); var temp = canvId; - temp = "#" + temp; + temp = '#' + temp; $(temp).get(0).toBlob(function (blob) { - saveAs(blob, "chart" + timestamp); + window.saveAs(blob, 'chart' + timestamp); }); } }, { key: "createSaveAsImageButton", value: function createSaveAsImageButton(canvasDiv, canvasId) { - var saveImageButton = document.createElement("BUTTON"); - saveImageButton.classList.add("btn"); - saveImageButton.classList.add("btn-primary"); - saveImageButton.innerHTML = "Save as Image"; - saveImageButton.id = canvasId + "image"; - canvasDiv.appendChild(saveImageButton); + var saveImageButton = document.createElement('BUTTON'); + saveImageButton.classList.add('btn'); + saveImageButton.classList.add('btn-primary'); + saveImageButton.innerHTML = 'Save as Image'; + saveImageButton.id = canvasId + 'image'; + canvasDiv.appendChild(saveImageButton); // console.log(this, "this"); + var self = this; - document.getElementById(saveImageButton.id).onclick = function (e) { + document.getElementById(saveImageButton.id).onclick = function () { self.saveAsImageFunction(canvasId); }; } @@ -153,7 +160,8 @@ function () { key: "plotGraph", value: function plotGraph() { if (this.flag) { - document.getElementById(this.canvasContainerId).innerHTML = ""; + // console.log("at plotGraph"); + document.getElementById(this.canvasContainerId).innerHTML = ''; } var div = document.createElement('div'); @@ -164,7 +172,7 @@ function () { document.getElementById(this.canvasContainerId).appendChild(div); var ctx = canv.getContext('2d'); var configuration = this.determineConfig(); - new Chart(ctx, configuration); + new window.Chart(ctx, configuration); this.createSaveAsImageButton(div, canv.id); // $('.'+this.carousalClass).carousel(2); } }]); @@ -172,8 +180,6 @@ function () { function ChartjsPlotter(hash, length, type, flag, canvasContainerId, elementId, graphCounting) { _classCallCheck(this, ChartjsPlotter); - _defineProperty(this, 'use strict', void 0); - _defineProperty(this, "dataHash", {}); _defineProperty(this, "elementId", null); diff --git a/dist/transpiled_code/CsvParser.js b/dist/transpiled_code/CsvParser.js index 64e7fcb..9d53007 100644 --- a/dist/transpiled_code/CsvParser.js +++ b/dist/transpiled_code/CsvParser.js @@ -1,4 +1,4 @@ -"use strict"; +'use strict'; // import {SimpleDataGrapher} from "./SimpleDataGrapher"; function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } @@ -10,10 +10,9 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } -// import {SimpleDataGrapher} from "./SimpleDataGrapher"; var SimpleDataGrapher = require('./SimpleDataGrapher'); -var Papa = require("papaparse"); +var Papa = require('papaparse'); var CsvParser = /*#__PURE__*/ @@ -22,8 +21,6 @@ function () { function CsvParser(file, elementId, functionParameter) { _classCallCheck(this, CsvParser); - _defineProperty(this, 'use strict', void 0); - _defineProperty(this, "csvFile", null); _defineProperty(this, "csvMatrix", []); @@ -49,7 +46,7 @@ function () { this.elementId = elementId; this.csvFile = file; - if (functionParameter == "prevfile") { + if (functionParameter == 'prevfile') { return this; } else { this.allFunctionHandler(functionParameter); @@ -75,11 +72,11 @@ function () { }, { key: "allFunctionHandler", value: function allFunctionHandler(functionParameter) { - if (functionParameter == "local") { + if (functionParameter == 'local') { this.csvMatrix = this.parse(); } else { - if (functionParameter == "csvstring" || functionParameter == "remote") { - this.csvFile = this.csvFile.split("\n"); + if (functionParameter == 'csvstring' || functionParameter == 'remote') { + this.csvFile = this.csvFile.split('\n'); this.csvMatrix = this.parseString(); this.csvHeaders = this.determineHeaders(); this.completeCsvMatrix = this.matrixForCompleteData(); @@ -104,8 +101,8 @@ function () { var _this = this; var csvMatrixLocal = []; - var count = 0; - var f = this.parseReturn; + var count = 0; // var f = this.parseReturn; + Papa.parse(this.csvFile, { download: true, dynamicTyping: true, @@ -126,7 +123,7 @@ function () { var mat = []; for (var i = 0; i < this.csvFile.length; i++) { - if (this.csvFile[i] == "" || this.csvFile[i] == " ") { + if (this.csvFile[i] == '' || this.csvFile[i] == ' ') { continue; } @@ -166,25 +163,26 @@ function () { maxval = this.completeCsvMatrix[0].length; } - for (var i = 0; i < this.csvHeaders.length; i++) { + for (var _i = 0; _i < this.csvHeaders.length; _i++) { var counter = 0; var bool = false; - for (var j = 0; j < this.completeCsvMatrix[i].length; j++) { + for (var j = 0; j < this.completeCsvMatrix[_i].length; j++) { if (counter >= maxval) { break; - } else if (this.completeCsvMatrix[i][j] !== null || this.completeCsvMatrix[i][j] !== undefined) { - if (typeof this.completeCsvMatrix[i][j] === 'number') { + } else if (this.completeCsvMatrix[_i][j] !== null || this.completeCsvMatrix[_i][j] !== undefined) { + if (typeof this.completeCsvMatrix[_i][j] === 'number') { bool = true; } counter += 1; - csvSampleDataLocal[i].push(this.completeCsvMatrix[i][j]); + + csvSampleDataLocal[_i].push(this.completeCsvMatrix[_i][j]); } } if (bool) { - csvValidForYAxisLocal.push(this.csvHeaders[i]); + csvValidForYAxisLocal.push(this.csvHeaders[_i]); } } @@ -201,9 +199,9 @@ function () { completeCsvMatrixLocal[i] = []; } - for (var i = this.csvFileStart; i < this.csvMatrix.length; i++) { + for (var _i2 = this.csvFileStart; _i2 < this.csvMatrix.length; _i2++) { for (var j = 0; j < this.csvHeaders.length; j++) { - completeCsvMatrixLocal[j].push(this.csvMatrix[i][j]); + completeCsvMatrixLocal[j].push(this.csvMatrix[_i2][j]); } } @@ -219,20 +217,20 @@ function () { matrixComplete[i] = []; } - for (var i = 0; i < this.csvHeaders.length; i++) { + for (var _i3 = 0; _i3 < this.csvHeaders.length; _i3++) { for (var key in this.csvFile) { - var valueCell = this.csvFile[key][this.csvHeaders[i]]["$t"]; + var valueCell = this.csvFile[key][this.csvHeaders[_i3]]['$t']; if (!isNaN(valueCell)) { - matrixComplete[i].push(+valueCell); + matrixComplete[_i3].push(+valueCell); } else { - matrixComplete[i].push(valueCell); + matrixComplete[_i3].push(valueCell); } } } - for (var i = 0; i < this.csvHeaders.length; i++) { - this.csvHeaders[i] = this.csvHeaders[i].slice(4, this.csvHeaders[i].length); + for (var _i4 = 0; _i4 < this.csvHeaders.length; _i4++) { + this.csvHeaders[_i4] = this.csvHeaders[_i4].slice(4, this.csvHeaders[_i4].length); } return matrixComplete; @@ -264,18 +262,18 @@ function () { for (var i = 0; i < this.csvMatrix[0].length; i++) { if (i == 0) { - if (typeof this.csvMatrix[0][i] == "string") { + if (typeof this.csvMatrix[0][i] == 'string') { csvHeadersLocal[i] = this.csvMatrix[0][i]; } else { flag = true; break; } } else { - if (_typeof(this.csvMatrix[0][i]) == _typeof(this.csvMatrix[0][i - 1]) && _typeof(this.csvMatrix[0][i]) != 'object' || _typeof(this.csvMatrix[0][i]) != _typeof(this.csvMatrix[0][i - 1]) && csvHeadersLocal[i - 1].substring(0, 6) == "Column") { + if (_typeof(this.csvMatrix[0][i]) == _typeof(this.csvMatrix[0][i - 1]) && _typeof(this.csvMatrix[0][i]) != 'object' || _typeof(this.csvMatrix[0][i]) != _typeof(this.csvMatrix[0][i - 1]) && csvHeadersLocal[i - 1].substring(0, 6) == 'Column') { csvHeadersLocal[i] = this.csvMatrix[0][i]; } //in case of an unnamed column else if (_typeof(this.csvMatrix[0][i]) == 'object') { - csvHeadersLocal[i] = "Column" + (i + 1); + csvHeadersLocal[i] = 'Column' + (i + 1); } else { flag = true; break; @@ -287,8 +285,8 @@ function () { if (flag && csvHeadersLocal.length != this.csvMatrix[0].length) { this.csvFileStart = 0; - for (var i = 0; i < this.csvMatrix[0].length; i++) { - csvHeadersLocal[i] = "Column" + (i + 1); + for (var _i5 = 0; _i5 < this.csvMatrix[0].length; _i5++) { + csvHeadersLocal[_i5] = 'Column' + (_i5 + 1); } } @@ -304,7 +302,7 @@ function () { var h = this.csvFile[key]; for (var headKey in h) { - if (headKey.slice(0, 4) == "gsx$") { + if (headKey.slice(0, 4) == 'gsx$') { headers_sheet.push(headKey); } } @@ -322,7 +320,7 @@ function () { for (var i = 0; i < this.csvHeaders.length; i++) { var element = {}; - element["name"] = this.csvHeaders[i]; + element['name'] = this.csvHeaders[i]; codapHeaders.push(element); } @@ -338,13 +336,13 @@ function () { completeCsvMatrixTransposeLocal[i] = []; } - for (var i = 0; i < this.completeCsvMatrix.length; i++) { - completeCsvMatrixTransposeLocal[0][i] = this.csvHeaders[i]; + for (var _i6 = 0; _i6 < this.completeCsvMatrix.length; _i6++) { + completeCsvMatrixTransposeLocal[0][_i6] = this.csvHeaders[_i6]; } - for (var i = 0; i < this.completeCsvMatrix.length; i++) { + for (var _i7 = 0; _i7 < this.completeCsvMatrix.length; _i7++) { for (var j = 0; j < this.completeCsvMatrix[0].length; j++) { - completeCsvMatrixTransposeLocal[j + 1][i] = this.completeCsvMatrix[i][j]; + completeCsvMatrixTransposeLocal[j + 1][_i7] = this.completeCsvMatrix[_i7][j]; } } @@ -355,5 +353,4 @@ function () { return CsvParser; }(); -; module.exports = CsvParser; \ No newline at end of file diff --git a/dist/transpiled_code/PlotlyjsPlotter.js b/dist/transpiled_code/PlotlyjsPlotter.js index 29839ea..bba62ab 100644 --- a/dist/transpiled_code/PlotlyjsPlotter.js +++ b/dist/transpiled_code/PlotlyjsPlotter.js @@ -1,4 +1,4 @@ -"use strict"; +'use strict'; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } @@ -14,12 +14,12 @@ function () { _createClass(PlotlyjsPlotter, [{ key: "determineType2", value: function determineType2() { - if (this.graphType == "Horizontal" || this.graphType == "Vertical") { - return "bar"; - } else if (this.graphType == "Pie" || this.graphType == "Doughnut" || this.graphType == "Radar") { - return "pie"; - } else if (this.graphType == "Basic" || this.graphType == "Stepped" || this.graphType == "Point") { - return "scatter"; + if (this.graphType == 'Horizontal' || this.graphType == 'Vertical') { + return 'bar'; + } else if (this.graphType == 'Pie' || this.graphType == 'Doughnut' || this.graphType == 'Radar') { + return 'pie'; + } else if (this.graphType == 'Basic' || this.graphType == 'Stepped' || this.graphType == 'Point') { + return 'scatter'; } } }, { @@ -27,8 +27,8 @@ function () { value: function layoutMaker() { var layout = {}; - if (this.graphType == "Horizontal" || this.graphType == "Vertical") { - layout["barmode"] = "group"; + if (this.graphType == 'Horizontal' || this.graphType == 'Vertical') { + layout['barmode'] = 'group'; } return layout; @@ -37,20 +37,20 @@ function () { key: "traceMaker", value: function traceMaker() { var trace = {}; - trace["type"] = this.determineType2(); - - if (this.graphType == "Horizontal") { - trace["orientation"] = "h"; - } else if (this.graphType == "Doughnut") { - trace["hole"] = 0.5; - } else if (this.graphType == "Basic") { - trace["mode"] = "lines"; - } else if (this.graphType == "Point") { - trace["mode"] = "markers"; - } else if (this.graphType == "Stepped") { - trace["mode"] = "lines+markers"; - trace["line"] = { - "shape": 'hv' + trace['type'] = this.determineType2(); + + if (this.graphType == 'Horizontal') { + trace['orientation'] = 'h'; + } else if (this.graphType == 'Doughnut') { + trace['hole'] = 0.5; + } else if (this.graphType == 'Basic') { + trace['mode'] = 'lines'; + } else if (this.graphType == 'Point') { + trace['mode'] = 'markers'; + } else if (this.graphType == 'Stepped') { + trace['mode'] = 'lines+markers'; + trace['line'] = { + shape: 'hv' }; } @@ -59,14 +59,14 @@ function () { }, { key: "keyDeterminer", value: function keyDeterminer() { - var keys = ["x", "y"]; - - if (this.graphType == "Pie" || this.graphType == "Doughnut") { - keys[1] = "values"; - keys[0] = "labels"; - } else if (this.graphType == "Horizontal") { - keys[0] = "y"; - keys[1] = "x"; + var keys = ['x', 'y']; + + if (this.graphType == 'Pie' || this.graphType == 'Doughnut') { + keys[1] = 'values'; + keys[0] = 'labels'; + } else if (this.graphType == 'Horizontal') { + keys[0] = 'y'; + keys[1] = 'x'; } return keys; @@ -75,7 +75,8 @@ function () { key: "plotGraph2", value: function plotGraph2() { if (this.flag) { - document.getElementById(this.canvasContainerId).innerHTML = ""; + // console.log("at plotGraph"); + document.getElementById(this.canvasContainerId).innerHTML = ''; } var layout = this.layoutMaker(); @@ -86,22 +87,21 @@ function () { var new_trace = this.traceMaker(); new_trace[keySet[0]] = this.dataHash['x_axis_labels']; new_trace[keySet[1]] = this.dataHash['y_axis_values' + i]; - new_trace["name"] = this.dataHash['labels'][1][i]; + new_trace['name'] = this.dataHash['labels'][1][i]; data.push(new_trace); - } + } // console.log(data); + var div = document.createElement('div'); div.id = this.elementId + '_chart_container_' + this.graphCounting; document.getElementById(this.canvasContainerId).appendChild(div); - Plotly.newPlot(div.id, data, layout); + window.Plotly.newPlot(div.id, data, layout); } }]); function PlotlyjsPlotter(hash, length, type, flag, canvasContainerId, elementId, graphCounting) { _classCallCheck(this, PlotlyjsPlotter); - _defineProperty(this, 'use strict', void 0); - _defineProperty(this, "dataHash", {}); _defineProperty(this, "elementId", null); diff --git a/dist/transpiled_code/SimpleDataGrapher.js b/dist/transpiled_code/SimpleDataGrapher.js index 94b1be3..338cb41 100644 --- a/dist/transpiled_code/SimpleDataGrapher.js +++ b/dist/transpiled_code/SimpleDataGrapher.js @@ -1,4 +1,4 @@ -"use strict"; +'use strict'; Object.defineProperty(exports, "__esModule", { value: true @@ -14,8 +14,6 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope var SimpleDataGrapher = function SimpleDataGrapher(elementId) { _classCallCheck(this, SimpleDataGrapher); - _defineProperty(this, 'use strict', void 0); - _defineProperty(this, "elementId", null); _defineProperty(this, "view", null); @@ -29,5 +27,4 @@ exports.SimpleDataGrapher = SimpleDataGrapher; _defineProperty(SimpleDataGrapher, "elementIdSimpleDataGraphInstanceMap", {}); -; window.SimpleDataGrapher = SimpleDataGrapher; \ No newline at end of file diff --git a/dist/transpiled_code/View.js b/dist/transpiled_code/View.js index 5a15e69..51d638f 100644 --- a/dist/transpiled_code/View.js +++ b/dist/transpiled_code/View.js @@ -1,4 +1,6 @@ -"use strict"; +/* moved to the top of file to fix linter error. + ref: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Strict_Non_Simple_Params*/ +'use strict'; Object.defineProperty(exports, "__esModule", { value: true @@ -13,9 +15,8 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } -var CsvParser = require('./CsvParser'); +var CsvParser = require('./CsvParser'); // const SimpleDataGrapher = require('./SimpleDataGrapher'); -var SimpleDataGrapher = require('./SimpleDataGrapher'); var ChartjsPlotter = require('./ChartjsPlotter'); @@ -23,6 +24,8 @@ var PlotlyjsPlotter = require('./PlotlyjsPlotter'); var iframe_phone = require('iframe-phone'); +var sheetLink; + var View = /*#__PURE__*/ function () { @@ -32,14 +35,14 @@ function () { value: function handleFileSelectlocal(event) { this.csvFile = event.target.files[0]; - if (this.csvFile['name'].split(".")[1] != "csv") { - alert("Invalid file type"); + if (this.csvFile['name'].split('.')[1] != 'csv') { + alert('Invalid file type'); } else { $('#' + this.dragDropHeadingId).text(this.csvFile['name']); var self = this; - document.getElementById(this.uploadButtonId).onclick = function (e) { - self.csvParser = new CsvParser(self.csvFile, self.elementId, "local"); + document.getElementById(this.uploadButtonId).onclick = function () { + self.csvParser = new CsvParser(self.csvFile, self.elementId, 'local'); }; } } //receives the string value and creates an object of CsvParser class with the string as one of the parameters @@ -51,8 +54,8 @@ function () { this.csvFile = val; var self = this; - document.getElementById(this.uploadButtonId).onclick = function (e) { - self.csvParser = new CsvParser(self.csvFile, self.elementId, "csvstring"); + document.getElementById(this.uploadButtonId).onclick = function () { + self.csvParser = new CsvParser(self.csvFile, self.elementId, 'csvstring'); }; } // function for using a previously uploaded and saved file from the data base @@ -60,7 +63,7 @@ function () { key: "usingPreviouslyUploadedFile", value: function usingPreviouslyUploadedFile() { var self = this; - self.csvParser = new CsvParser("dummy", self.elementId, "prevfile"); + self.csvParser = new CsvParser('dummy', self.elementId, 'prevfile'); } //receives the JSON file value and creates an object of CsvParser class with the file as one of the parameters }, { @@ -69,8 +72,8 @@ function () { this.csvFile = googleSheetData; var self = this; - document.getElementById(this.uploadButtonId).onclick = function (e) { - self.csvParser = new CsvParser(self.csvFile, self.elementId, "googleSheet"); + document.getElementById(this.uploadButtonId).onclick = function () { + self.csvParser = new CsvParser(self.csvFile, self.elementId, 'googleSheet'); }; } // get's the JSON form of the Google Sheet through Google Sheet's URL and passes it to the handler @@ -88,15 +91,13 @@ function () { value: function sendRemoteFileToHandler(val) { var _this = this; - var proxyurl = "https://cors-anywhere.herokuapp.com/"; + var proxyurl = 'https://cors-anywhere.herokuapp.com/'; var url = val; fetch(proxyurl + url).then(function (response) { return response.text(); }).then(function (contents) { return _this.handleFileSelectremote(contents); - })["catch"](function (e) { - return console.log(e); - }); + }); // .catch((e) => console.log(e)) ; } // callback function which receives the remote file's value and creates an object of CsvParser class with the file as one of the parameters }, { @@ -105,15 +106,15 @@ function () { this.csvFile = remoteVal; var self = this; - document.getElementById(this.uploadButtonId).onclick = function (e) { - self.csvParser = new CsvParser(self.csvFile, self.elementId, "remote"); + document.getElementById(this.uploadButtonId).onclick = function () { + self.csvParser = new CsvParser(self.csvFile, self.elementId, 'remote'); }; } // adapter function which switches between Plotly.js and Chart.js as a graph plotting library and creates theri respective objects which take over the graph plotting }, { key: "plotGraph", value: function plotGraph(hash, length, type, flag, library) { - if (library == "chartjs") { + if (library == 'chartjs') { this.chartjsPlotter = new ChartjsPlotter(hash, length, type, flag, this.canvasContinerId, this.elementId, this.graphCounting); } else { this.plotlyjsPlotter = new PlotlyjsPlotter(hash, length, type, flag, this.canvasContinerId, this.elementId, this.graphCounting); @@ -125,43 +126,43 @@ function () { }, { key: "setTooltip", value: function setTooltip(importType) { - if (importType === "container_drag_drop") { - return "Select a local file from your system"; - } else if (importType === "container_csv_string") { - var x = "Type in or Paste a CSV string. \r\n"; - x += "Example: \r\n"; - x += "A,B,C \r\n"; - x += "1,2,3"; + if (importType === 'container_drag_drop') { + return 'Select a local file from your system'; + } else if (importType === 'container_csv_string') { + var x = 'Type in or Paste a CSV string. \r\n'; + x += 'Example: \r\n'; + x += 'A,B,C \r\n'; + x += '1,2,3'; return x; - } else if (importType === "container_remote_link") { - return "Type in or Paste the link of a remote CSV file. Example: \ - http://example.com/example.csv"; - } else if (importType === "container_google_sheet") { - return "Type in or Paste the link of a Published Google Sheet. To publish a Google Sheet: 1. File -> Publish to the web -> Publish 2. Share -> Get shareable link -> Anyone with the link can -> More -> On - Public on the web -> Save 3. Copy link"; + } else if (importType === 'container_remote_link') { + return 'Type in or Paste the link of a remote CSV file. Example: \ + http://example.com/example.csv'; + } else if (importType === 'container_google_sheet') { + return 'Type in or Paste the link of a Published Google Sheet. To publish a Google Sheet: 1. File -> Publish to the web -> Publish 2. Share -> Get shareable link -> Anyone with the link can -> More -> On - Public on the web -> Save 3. Copy link'; } } //set tool tip for graph tips }, { key: "setTooltipGraph", value: function setTooltipGraph(graphType) { - if (graphType == "Horizontal") { - return "Data is categorical and tells how many, widths proportional to the values"; - } else if (graphType === "Vertical") { - return "Data is categorical and tells how many, heights proportional to the values"; - } else if (graphType == "Stacked") { - return "Ideal for comparing the total amounts across each group/segmented bar"; - } else if (graphType == "Basic") { - return "Used to visualize a trend in data over intervals of time or to see the growth of a quantity"; - } else if (graphType == "Stepped") { - return "Vertical parts of a step chart denote changes in the data and their magnitude"; - } else if (graphType == "Point") { - return "Used to show the relationship between two data variables"; - } else if (graphType == "Pie") { - return "Used to show percentage or proportional data, should be used for less number of categories"; - } else if (graphType == "Doughnut") { - return "Used to show percentage or proportional data, but have better data intensity ratio and space efficiency"; - } else if (graphType == "Radar") { - return "Used to display multivariate observations with an arbitrary number of variables"; + if (graphType == 'Horizontal') { + return 'Data is categorical and tells how many, widths proportional to the values'; + } else if (graphType === 'Vertical') { + return 'Data is categorical and tells how many, heights proportional to the values'; + } else if (graphType == 'Stacked') { + return 'Ideal for comparing the total amounts across each group/segmented bar'; + } else if (graphType == 'Basic') { + return 'Used to visualize a trend in data over intervals of time or to see the growth of a quantity'; + } else if (graphType == 'Stepped') { + return 'Vertical parts of a step chart denote changes in the data and their magnitude'; + } else if (graphType == 'Point') { + return 'Used to show the relationship between two data variables'; + } else if (graphType == 'Pie') { + return 'Used to show percentage or proportional data, should be used for less number of categories'; + } else if (graphType == 'Doughnut') { + return 'Used to show percentage or proportional data, but have better data intensity ratio and space efficiency'; + } else if (graphType == 'Radar') { + return 'Used to display multivariate observations with an arbitrary number of variables'; } } // create a popover against each import method for adding a file title and description @@ -169,7 +170,7 @@ function () { key: "createPopover", value: function createPopover(buttonId) { var self = this; - var html = '
'; + var html = '
'; $('#' + buttonId).popover({ placement: 'bottom', title: 'Add Description', @@ -178,8 +179,8 @@ function () { }).on('click', function () { $('#save').click(function (e) { e.preventDefault(); - self.fileTitle = $('#' + "title" + buttonId).val(); - self.fileDescription = $('#' + "desc" + buttonId).val(); + self.fileTitle = $('#' + 'title' + buttonId).val(); + self.fileDescription = $('#' + 'desc' + buttonId).val(); }); }); } // renders the required buttons for saving the files if the use is logged in @@ -189,22 +190,22 @@ function () { value: function createButtons(userLoginCheck) { this.listenersForIntegration(); - if (userLoginCheck == "yes") { + if (userLoginCheck == 'yes') { var save_file_button = document.createElement('button'); - save_file_button.classList.add("btn"); - save_file_button.classList.add("btn-primary"); - save_file_button.innerHTML = "Save CSV"; - save_file_button.id = this.elementId + "_save_CSV"; + save_file_button.classList.add('btn'); + save_file_button.classList.add('btn-primary'); + save_file_button.innerHTML = 'Save CSV'; + save_file_button.id = this.elementId + '_save_CSV'; var upload_prev_file = document.createElement('button'); - upload_prev_file.classList.add("btn"); - upload_prev_file.classList.add("btn-primary"); - upload_prev_file.innerHTML = "Choose a previously uploaded file"; - upload_prev_file.id = this.elementId + "_prev_file"; + upload_prev_file.classList.add('btn'); + upload_prev_file.classList.add('btn-primary'); + upload_prev_file.innerHTML = 'Choose a previously uploaded file'; + upload_prev_file.id = this.elementId + '_prev_file'; var publish_research_button = document.createElement('button'); - publish_research_button.classList.add("btn"); - publish_research_button.classList.add("btn-primary"); - publish_research_button.innerHTML = "Publish as a Research Note"; - publish_research_button.id = this.elementId + "_publish"; + publish_research_button.classList.add('btn'); + publish_research_button.classList.add('btn-primary'); + publish_research_button.innerHTML = 'Publish as a Research Note'; + publish_research_button.id = this.elementId + '_publish'; var container = document.getElementById(this.upload_button_container); var div_container = document.createElement('div'); div_container.appendChild(save_file_button); @@ -219,29 +220,29 @@ function () { key: "createDataset", value: function createDataset() { var dataset = {}; - dataset["action"] = "create"; - dataset["resource"] = "dataContext"; + dataset['action'] = 'create'; + dataset['resource'] = 'dataContext'; var values = {}; - values["name"] = "my dataset"; - values["title"] = "Case Table"; + values['name'] = 'my dataset'; + values['title'] = 'Case Table'; var collections = []; var hashCollections = {}; - hashCollections["name"] = "cases"; - hashCollections["attrs"] = this.csvParser.codapHeaders; + hashCollections['name'] = 'cases'; + hashCollections['attrs'] = this.csvParser.codapHeaders; collections.push(hashCollections); - values["collections"] = collections; - dataset["values"] = values; + values['collections'] = collections; + dataset['values'] = values; var dataset2 = {}; - dataset2["action"] = "create"; - dataset2["resource"] = "dataContext[my dataset].item"; - dataset2["values"] = this.csvParser.codapMatrix; + dataset2['action'] = 'create'; + dataset2['resource'] = 'dataContext[my dataset].item'; + dataset2['values'] = this.csvParser.codapMatrix; var dataset3 = {}; - dataset3["action"] = "create"; - dataset3["resource"] = "component"; + dataset3['action'] = 'create'; + dataset3['resource'] = 'component'; var values3 = {}; - values3["type"] = "caseTable"; - values3["dataContext"] = "my dataset"; - dataset3["values"] = values3; + values3['type'] = 'caseTable'; + values3['dataContext'] = 'my dataset'; + dataset3['values'] = values3; return [dataset, dataset2, dataset3]; } }, { @@ -254,23 +255,24 @@ function () { value: function codapExport() { var self = this; var iframeBody = ''; - var modal_body = document.getElementById("body_for_CODAP"); + var modal_body = document.getElementById('body_for_CODAP'); modal_body.innerHTML = iframeBody; - var iframe = document.getElementById("codap-iframe"); - modal_body.style.height = "500px"; - iframe.style.width = "750px"; - iframe.style.height = "90%"; + var iframe = document.getElementById('codap-iframe'); + modal_body.style.height = '500px'; + iframe.style.width = '750px'; + iframe.style.height = '90%'; var codapIframe = document.getElementById('codap-iframe'); - var rpcHandler = new iframe_phone.IframePhoneRpcEndpoint(self.iframePhoneHandler, "data-interactive", codapIframe); - var createCodapButton = document.createElement("button"); - createCodapButton.classList.add("btn"); - createCodapButton.classList.add("btn-primary"); - createCodapButton.innerHTML = "Go!"; - createCodapButton.id = this.elementId + "_create_codap"; + var rpcHandler = new iframe_phone.IframePhoneRpcEndpoint(self.iframePhoneHandler, 'data-interactive', codapIframe); + var createCodapButton = document.createElement('button'); + createCodapButton.classList.add('btn'); + createCodapButton.classList.add('btn-primary'); + createCodapButton.innerHTML = 'Go!'; + createCodapButton.id = this.elementId + '_create_codap'; modal_body.prepend(createCodapButton); var apiCall = this.createDataset(); - $("#" + this.elementId + "_create_codap").click(function () { + $('#' + this.elementId + '_create_codap').click(function () { rpcHandler.call(apiCall, function (resp) { + // eslint-disable-next-line no-console console.log('Response:' + JSON.stringify(resp)); }); }); @@ -279,15 +281,18 @@ function () { }, { key: "createSheet", value: function createSheet() { + // eslint-disable-next-line no-undef var wb = XLSX.utils.book_new(); wb.Props = { - Title: "New Spreadsheet" + this.elementId, + Title: 'New Spreadsheet' + this.elementId, CreatedDate: new Date() }; - wb.SheetNames.push("Sheet" + this.elementId); - var ws_data = this.csvParser.completeCsvMatrixTranspose; + wb.SheetNames.push('Sheet' + this.elementId); + var ws_data = this.csvParser.completeCsvMatrixTranspose; // eslint-disable-next-line no-undef + var ws = XLSX.utils.aoa_to_sheet(ws_data); - wb.Sheets["Sheet" + this.elementId] = ws; + wb.Sheets['Sheet' + this.elementId] = ws; // eslint-disable-next-line no-undef + var wbout = XLSX.write(wb, { bookType: 'xlsx', type: 'binary' @@ -298,17 +303,19 @@ function () { var view = new Uint8Array(buf); for (var i = 0; i < s.length; i++) { - view[i] = s.charCodeAt(i) & 0xFF; + view[i] = s.charCodeAt(i) & 0xff; } return buf; - } + } // eslint-disable-next-line no-undef + saveAs(new Blob([s2ab(wbout)], { - type: "application/octet-stream" + type: 'application/octet-stream' }), 'newSpreadsheet' + this.elementId + '.xlsx'); } // creates a hash of the entire data in an accesible format for the charting libraries {labels: [legendx, [legendy0, legendy1 ... lengendyn]], x_axis_values: [...], y_axis_0: [...], y_axis_1: [...], ... y_axis_n: [...]} n: selected number of columns // flag is just for seeing if we're plotting the graph for the first time, if yes, we will have to clear the canvas. + // eslint-disable-next-line no-unused-vars }, { key: "afterSampleData", @@ -319,24 +326,24 @@ function () { e.preventDefault(); var hash = {}; var ix = $('input[name=' + _this2.tableXInputName + ']:checked').val(); - hash["x_axis_labels"] = _this2.csvParser.completeCsvMatrix[ix]; + hash['x_axis_labels'] = _this2.csvParser.completeCsvMatrix[ix]; var columns = new Array(); var y_axis_names = new Array(); - $("input:checkbox[name=" + _this2.tableYInputName + "]:checked").each(function (index, element) { + $('input:checkbox[name=' + _this2.tableYInputName + ']:checked').each(function (index, element) { columns.push(element.value); }); for (var i = 0; i < columns.length; i++) { - hash["y_axis_values" + i] = _this2.csvParser.completeCsvMatrix[columns[i]]; + hash['y_axis_values' + i] = _this2.csvParser.completeCsvMatrix[columns[i]]; y_axis_names.push(_this2.csvParser.csvHeaders[columns[i]]); } var labels = [_this2.csvParser.csvHeaders[ix], y_axis_names]; - hash["labels"] = labels; + hash['labels'] = labels; var selectedGraph = $('.selected'); var type = selectedGraph.attr('data-value'); - _this2.plotGraph(hash, columns.length, type, flag, "plotly"); + _this2.plotGraph(hash, columns.length, type, flag, 'plotly'); }; } // generates a graph menu with different graph options @@ -345,26 +352,26 @@ function () { value: function graphMenu(flag) { var self = this; $('.' + this.carousalClass).carousel(1); - var menuDiv = document.getElementById("menu_holder"); + var menuDiv = document.getElementById('menu_holder'); menuDiv.innerHTML = '

blahhhhh

Horizontal Bar

Vertical Bar

Stacked Bar

Basic Line

Stepped Line

Point

Pie

Doughnut

Radar

blahhh

'; $('.radio-group .radio').click(function () { $(this).parent().find('.radio').removeClass('selected'); var l = document.getElementsByClassName('hmm'); for (var i = 0; i < l.length; i++) { - l[i].style.backgroundColor = "#cccccc"; + l[i].style.backgroundColor = '#cccccc'; } $(this).addClass('selected'); var type = $(this).attr('data-value'); - $('#' + type + "Type").css('backgroundColor', '#1ad1ff'); + $('#' + type + 'Type').css('backgroundColor', '#1ad1ff'); }); $('.radio').hover(function () { var tooltipVal = self.setTooltipGraph($(this).attr('data-value')); $('#graph_description').text(tooltipVal); $('#graph_description').css({ opacity: 0.0, - visibility: "visible" + visibility: 'visible' }).animate({ opacity: 1.0 }, 800); @@ -377,7 +384,7 @@ function () { }, { key: "tableGenerator", value: function tableGenerator(name, tableId, typeOfInput, validValues, flag, tableType, badgeType) { - document.getElementById(tableId).innerHTML = ""; + document.getElementById(tableId).innerHTML = ''; var trhead = document.createElement('tr'); for (var i = 0; i < this.csvParser.csvHeaders.length; i++) { @@ -385,8 +392,8 @@ function () { var span = document.createElement('span'); var textnode = document.createTextNode(this.csvParser.csvHeaders[i]); span.appendChild(textnode); - span.classList.add("badge"); - span.classList.add("badge-pill"); + span.classList.add('badge'); + span.classList.add('badge-pill'); span.classList.add(badgeType); td.appendChild(span); @@ -397,7 +404,7 @@ function () { checkbox.value = i; checkbox.name = name; checkbox.id = name + i; - checkbox.classList.add("check-inputs"); + checkbox.classList.add('check-inputs'); span.appendChild(checkbox); } } @@ -408,13 +415,15 @@ function () { trhead.classList.add(tableType); document.getElementById(tableId).appendChild(trhead); - for (var i = 0; i < this.csvParser.csvSampleData[0].length; i++) { + for (var _i = 0; _i < this.csvParser.csvSampleData[0].length; _i++) { var tr = document.createElement('tr'); - for (var j = 0; j < this.csvParser.csvHeaders.length; j++) { - var td = document.createElement('td'); - td.appendChild(document.createTextNode(this.csvParser.csvSampleData[j][i])); - tr.appendChild(td); + for (var _j = 0; _j < this.csvParser.csvHeaders.length; _j++) { + var _td = document.createElement('td'); + + _td.appendChild(document.createTextNode(this.csvParser.csvSampleData[_j][_i])); + + tr.appendChild(_td); } document.getElementById(tableId).appendChild(tr); @@ -428,7 +437,7 @@ function () { value: function showSampleDataXandY() { var _this3 = this; - document.getElementById(this.addGraphButtonId).onclick = function (e) { + document.getElementById(this.addGraphButtonId).onclick = function () { _this3.graphCounting++; $('.' + _this3.carousalClass).carousel(1); /// ---------------> after @@ -447,7 +456,7 @@ function () { }, { key: "continueViewManipulation", value: function continueViewManipulation(x) { - if (x != "prevfile") { + if (x != 'prevfile') { this.csvParser = x; } @@ -460,46 +469,50 @@ function () { value: function listenersForIntegration() { var _this4 = this; - $("#" + this.fileUploadId).change(function (e) { - document.getElementById("popover" + _this4.fileUploadId).style.display = "inline"; - document.getElementById("popover" + _this4.csvStringUploadId).style.display = "none"; - document.getElementById("popover" + _this4.googleSheetUploadId).style.display = "none"; - document.getElementById("popover" + _this4.remoteFileUploadId).style.display = "none"; + $('#' + this.fileUploadId).change(function (e) { + // console.log("i am here23"); + document.getElementById('popover' + _this4.fileUploadId).style.display = 'inline'; + document.getElementById('popover' + _this4.csvStringUploadId).style.display = 'none'; + document.getElementById('popover' + _this4.googleSheetUploadId).style.display = 'none'; + document.getElementById('popover' + _this4.remoteFileUploadId).style.display = 'none'; - _this4.createPopover("popover" + _this4.fileUploadId); + _this4.createPopover('popover' + _this4.fileUploadId); _this4.handleFileSelectlocal(e); }); - $("#" + this.csvStringUploadId).change(function () { - document.getElementById("popover" + _this4.csvStringUploadId).style.display = "inline"; - document.getElementById("popover" + _this4.googleSheetUploadId).style.display = "none"; - document.getElementById("popover" + _this4.remoteFileUploadId).style.display = "none"; - document.getElementById("popover" + _this4.fileUploadId).style.display = "none"; + $('#' + this.csvStringUploadId).change(function () { + // console.log(document.getElementById(this.csvStringUploadId).value); + document.getElementById('popover' + _this4.csvStringUploadId).style.display = 'inline'; + document.getElementById('popover' + _this4.googleSheetUploadId).style.display = 'none'; + document.getElementById('popover' + _this4.remoteFileUploadId).style.display = 'none'; + document.getElementById('popover' + _this4.fileUploadId).style.display = 'none'; - _this4.createPopover("popover" + _this4.csvStringUploadId); + _this4.createPopover('popover' + _this4.csvStringUploadId); _this4.handleFileSelectstring(document.getElementById(_this4.csvStringUploadId).value); }); - $("#" + this.googleSheetUploadId).change(function () { - document.getElementById("popover" + _this4.googleSheetUploadId).style.display = "inline"; - document.getElementById("popover" + _this4.csvStringUploadId).style.display = "none"; - document.getElementById("popover" + _this4.remoteFileUploadId).style.display = "none"; - document.getElementById("popover" + _this4.fileUploadId).style.display = "none"; + $('#' + this.googleSheetUploadId).change(function () { + // console.log(document.getElementById(this.googleSheetUploadId).value,"sheetlink"); + document.getElementById('popover' + _this4.googleSheetUploadId).style.display = 'inline'; + document.getElementById('popover' + _this4.csvStringUploadId).style.display = 'none'; + document.getElementById('popover' + _this4.remoteFileUploadId).style.display = 'none'; + document.getElementById('popover' + _this4.fileUploadId).style.display = 'none'; - _this4.createPopover("popover" + _this4.googleSheetUploadId); + _this4.createPopover('popover' + _this4.googleSheetUploadId); - var sheetLink = document.getElementById(_this4.googleSheetUploadId).value; - var sheetURL = "https://spreadsheets.google.com/feeds/list/" + sheetLink.split("/")[5] + "/od6/public/values?alt=json"; + sheetLink = document.getElementById(_this4.googleSheetUploadId).value; + var sheetURL = 'https://spreadsheets.google.com/feeds/list/' + sheetLink.split('/')[5] + '/od6/public/values?alt=json'; _this4.getValueGoogleSheet(sheetURL); }); - $("#" + this.remoteFileUploadId).change(function () { - document.getElementById("popover" + _this4.remoteFileUploadId).style.display = "inline"; - document.getElementById("popover" + _this4.csvStringUploadId).style.display = "none"; - document.getElementById("popover" + _this4.googleSheetUploadId).style.display = "none"; - document.getElementById("popover" + _this4.fileUploadId).style.display = "none"; + $('#' + this.remoteFileUploadId).change(function () { + // console.log(document.getElementById(this.remoteFileUploadId).value); + document.getElementById('popover' + _this4.remoteFileUploadId).style.display = 'inline'; + document.getElementById('popover' + _this4.csvStringUploadId).style.display = 'none'; + document.getElementById('popover' + _this4.googleSheetUploadId).style.display = 'none'; + document.getElementById('popover' + _this4.fileUploadId).style.display = 'none'; - _this4.createPopover("popover" + _this4.remoteFileUploadId); + _this4.createPopover('popover' + _this4.remoteFileUploadId); _this4.sendRemoteFileToHandler(document.getElementById(_this4.remoteFileUploadId).value); }); @@ -511,8 +524,6 @@ function () { _classCallCheck(this, View); - _defineProperty(this, 'use strict', void 0); - _defineProperty(this, "elementId", null); _defineProperty(this, "element", null); @@ -571,9 +582,9 @@ function () { _defineProperty(this, "upload_button_container", null); - _defineProperty(this, "fileTitle", ""); + _defineProperty(this, "fileTitle", ''); - _defineProperty(this, "fileDescription", ""); + _defineProperty(this, "fileDescription", ''); _defineProperty(this, "codapExportButton", null); @@ -581,34 +592,34 @@ function () { this.element = document.getElementById(elementId); if (this.element == null) { - throw "No element exist with this id"; + throw 'No element exist with this id'; } - this.fileUploadId = elementId + "_csv_file"; - this.remoteFileUploadId = elementId + "_remote_file"; - this.csvStringUploadId = elementId + "_csv_string"; - this.googleSheetUploadId = elementId + "_google_sheet"; - this.dragDropHeadingId = elementId + "_drag_drop_heading"; - this.uploadButtonId = elementId + "_file_upload_button"; - this.addGraphButtonId = elementId + "_add_graph"; - this.createSpreadsheetButtonId = elementId + "_save_as_spreadsheet"; - this.tableXId = elementId + "_tableX"; - this.tableYId = elementId + "_tableY"; - this.tableXParentId = elementId + "_Xtable"; - this.tableYParentId = elementId + "_Ytable"; - this.tableXInputName = elementId + "_x_axis_input_columns"; - this.tableYInputName = elementId + "_y_axis_input_columns"; - this.carousalClass = elementId + "_carousal"; - this.carousalId = elementId + "_carousalId"; - this.graphMenuId = elementId + "_graph_menu"; - this.plotGraphId = elementId + "_plot_graph"; - this.graphMenuTypeInputName = elementId + "_types"; - this.canvasContinerId = elementId + "_canvas_container"; - this.xyToggleName = elementId + "_xytoggle"; - this.saveAsImageId = elementId + "save-as-image"; - this.upload_button_container = elementId + "upload_button_container"; - this.feature_button_container = elementId + "feature_button_container"; - this.codapExportButton = elementId + "codap_export_button"; + this.fileUploadId = elementId + '_csv_file'; + this.remoteFileUploadId = elementId + '_remote_file'; + this.csvStringUploadId = elementId + '_csv_string'; + this.googleSheetUploadId = elementId + '_google_sheet'; + this.dragDropHeadingId = elementId + '_drag_drop_heading'; + this.uploadButtonId = elementId + '_file_upload_button'; + this.addGraphButtonId = elementId + '_add_graph'; + this.createSpreadsheetButtonId = elementId + '_save_as_spreadsheet'; + this.tableXId = elementId + '_tableX'; + this.tableYId = elementId + '_tableY'; + this.tableXParentId = elementId + '_Xtable'; + this.tableYParentId = elementId + '_Ytable'; + this.tableXInputName = elementId + '_x_axis_input_columns'; + this.tableYInputName = elementId + '_y_axis_input_columns'; + this.carousalClass = elementId + '_carousal'; + this.carousalId = elementId + '_carousalId'; + this.graphMenuId = elementId + '_graph_menu'; + this.plotGraphId = elementId + '_plot_graph'; + this.graphMenuTypeInputName = elementId + '_types'; + this.canvasContinerId = elementId + '_canvas_container'; + this.xyToggleName = elementId + '_xytoggle'; + this.saveAsImageId = elementId + 'save-as-image'; + this.upload_button_container = elementId + 'upload_button_container'; + this.feature_button_container = elementId + 'feature_button_container'; + this.codapExportButton = elementId + 'codap_export_button'; this.drawHTMLView(); this.addListeners(); var self = this; @@ -632,7 +643,7 @@ function () { $('#import_description').text(tooltipVal); $('#import_description').css({ opacity: 0.0, - visibility: "visible" + visibility: 'visible' }).animate({ opacity: 1.0 }, 800); @@ -647,24 +658,24 @@ function () { value: function addListeners() { var _this6 = this; - $("#" + this.fileUploadId).change(function (e) { + $('#' + this.fileUploadId).change(function (e) { _this6.handleFileSelectlocal(e); }); - $("#" + this.csvStringUploadId).change(function () { + $('#' + this.csvStringUploadId).change(function () { _this6.handleFileSelectstring(document.getElementById(_this6.csvStringUploadId).value); }); - $("#" + this.googleSheetUploadId).change(function () { - var sheetURL = "https://spreadsheets.google.com/feeds/list/" + sheetLink.split("/")[5] + "/od6/public/values?alt=json"; + $('#' + this.googleSheetUploadId).change(function () { + var sheetURL = 'https://spreadsheets.google.com/feeds/list/' + sheetLink.split('/')[5] + '/od6/public/values?alt=json'; _this6.getValueGoogleSheet(sheetURL); }); - $("#" + this.remoteFileUploadId).change(function () { + $('#' + this.remoteFileUploadId).change(function () { _this6.sendRemoteFileToHandler(document.getElementById(_this6.remoteFileUploadId).value); }); - $("#" + this.createSpreadsheetButtonId).click(function () { + $('#' + this.createSpreadsheetButtonId).click(function () { _this6.createSheet(); }); - $("#" + this.codapExportButton).click(function () { + $('#' + this.codapExportButton).click(function () { _this6.codapExport(); }); } //renders the entire HTML view diff --git a/package-lock.json b/package-lock.json index 5d37969..089ffb4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,52 +5,52 @@ "requires": true, "dependencies": { "@babel/cli": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.4.4.tgz", - "integrity": "sha512-XGr5YjQSjgTa6OzQZY57FAJsdeVSAKR/u/KA5exWIz66IKtv/zXtHy+fIZcMry/EgYegwuHE7vzGnrFhjdIAsQ==", + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.6.4.tgz", + "integrity": "sha512-tqrDyvPryBM6xjIyKKUwr3s8CzmmYidwgdswd7Uc/Cv0ogZcuS1TYQTLx/eWKP3UbJ6JxZAiYlBZabXm/rtRsQ==", "dev": true, "requires": { - "chokidar": "2.1.6", - "commander": "2.20.0", - "convert-source-map": "1.1.3", - "fs-readdir-recursive": "1.1.0", - "glob": "7.1.4", - "lodash": "4.17.14", - "mkdirp": "0.5.1", - "output-file-sync": "2.0.1", - "slash": "2.0.0", - "source-map": "0.5.7" + "chokidar": "^2.1.8", + "commander": "^2.8.1", + "convert-source-map": "^1.1.0", + "fs-readdir-recursive": "^1.1.0", + "glob": "^7.0.0", + "lodash": "^4.17.13", + "mkdirp": "^0.5.1", + "output-file-sync": "^2.0.0", + "slash": "^2.0.0", + "source-map": "^0.5.0" } }, "@babel/code-frame": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", - "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", + "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", "dev": true, "requires": { - "@babel/highlight": "7.0.0" + "@babel/highlight": "^7.0.0" } }, "@babel/core": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.4.5.tgz", - "integrity": "sha512-OvjIh6aqXtlsA8ujtGKfC7LYWksYSX8yQcM8Ay3LuvVeQ63lcOKgoZWVqcpFwkd29aYU9rVx7jxhfhiEDV9MZA==", - "dev": true, - "requires": { - "@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.3", - "debug": "4.1.1", - "json5": "2.1.0", - "lodash": "4.17.14", - "resolve": "1.10.1", - "semver": "5.7.0", - "source-map": "0.5.7" + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.6.4.tgz", + "integrity": "sha512-Rm0HGw101GY8FTzpWSyRbki/jzq+/PkNQJ+nSulrdY6gFGOsNseCqD6KHRYe2E+EdzuBdr2pxCp6s4Uk6eJ+XQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.5.5", + "@babel/generator": "^7.6.4", + "@babel/helpers": "^7.6.2", + "@babel/parser": "^7.6.4", + "@babel/template": "^7.6.0", + "@babel/traverse": "^7.6.3", + "@babel/types": "^7.6.3", + "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" }, "dependencies": { "debug": { @@ -59,22 +59,27 @@ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "requires": { - "ms": "2.1.1" + "ms": "^2.1.1" } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true } } }, "@babel/generator": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.4.4.tgz", - "integrity": "sha512-53UOLK6TVNqKxf7RUh8NE851EHRxOOeVXKbK2bivdb+iziMyk03Sr4eaE9OELCbyZAAafAKPDwF2TPUES5QbxQ==", + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.6.4.tgz", + "integrity": "sha512-jsBuXkFoZxk0yWLyGI9llT9oiQ2FeTASmRFE32U+aaDTfoE92t78eroO7PTpU/OrYq38hlcDM6vbfLDaOLy+7w==", "dev": true, "requires": { - "@babel/types": "7.4.4", - "jsesc": "2.5.2", - "lodash": "4.17.14", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "@babel/types": "^7.6.3", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" } }, "@babel/helper-annotate-as-pure": { @@ -83,7 +88,7 @@ "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", "dev": true, "requires": { - "@babel/types": "7.4.4" + "@babel/types": "^7.0.0" } }, "@babel/helper-builder-binary-assignment-operator-visitor": { @@ -92,8 +97,8 @@ "integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==", "dev": true, "requires": { - "@babel/helper-explode-assignable-expression": "7.1.0", - "@babel/types": "7.4.4" + "@babel/helper-explode-assignable-expression": "^7.1.0", + "@babel/types": "^7.0.0" } }, "@babel/helper-call-delegate": { @@ -102,34 +107,34 @@ "integrity": "sha512-l79boDFJ8S1c5hvQvG+rc+wHw6IuH7YldmRKsYtpbawsxURu/paVy57FZMomGK22/JckepaikOkY0MoAmdyOlQ==", "dev": true, "requires": { - "@babel/helper-hoist-variables": "7.4.4", - "@babel/traverse": "7.4.5", - "@babel/types": "7.4.4" + "@babel/helper-hoist-variables": "^7.4.4", + "@babel/traverse": "^7.4.4", + "@babel/types": "^7.4.4" } }, "@babel/helper-create-class-features-plugin": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.4.4.tgz", - "integrity": "sha512-UbBHIa2qeAGgyiNR9RszVF7bUHEdgS4JAUNT8SiqrAN6YJVxlOxeLr5pBzb5kan302dejJ9nla4RyKcR1XT6XA==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.6.0.tgz", + "integrity": "sha512-O1QWBko4fzGju6VoVvrZg0RROCVifcLxiApnGP3OWfWzvxRZFCoBD81K5ur5e3bVY2Vf/5rIJm8cqPKn8HUJng==", "dev": true, "requires": { - "@babel/helper-function-name": "7.1.0", - "@babel/helper-member-expression-to-functions": "7.0.0", - "@babel/helper-optimise-call-expression": "7.0.0", - "@babel/helper-plugin-utils": "7.0.0", - "@babel/helper-replace-supers": "7.4.4", - "@babel/helper-split-export-declaration": "7.4.4" + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-member-expression-to-functions": "^7.5.5", + "@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" } }, "@babel/helper-define-map": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.4.4.tgz", - "integrity": "sha512-IX3Ln8gLhZpSuqHJSnTNBWGDE9kdkTEWl21A/K7PQ00tseBwbqCHTvNLHSBd9M0R5rER4h5Rsvj9vw0R5SieBg==", + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz", + "integrity": "sha512-fTfxx7i0B5NJqvUOBBGREnrqbTxRh7zinBANpZXAVDlsZxYdclDp467G1sQ8VZYMnAURY3RpBUAgOYT9GfzHBg==", "dev": true, "requires": { - "@babel/helper-function-name": "7.1.0", - "@babel/types": "7.4.4", - "lodash": "4.17.14" + "@babel/helper-function-name": "^7.1.0", + "@babel/types": "^7.5.5", + "lodash": "^4.17.13" } }, "@babel/helper-explode-assignable-expression": { @@ -138,8 +143,8 @@ "integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==", "dev": true, "requires": { - "@babel/traverse": "7.4.5", - "@babel/types": "7.4.4" + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" } }, "@babel/helper-function-name": { @@ -148,9 +153,9 @@ "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "7.0.0", - "@babel/template": "7.4.4", - "@babel/types": "7.4.4" + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" } }, "@babel/helper-get-function-arity": { @@ -159,7 +164,7 @@ "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", "dev": true, "requires": { - "@babel/types": "7.4.4" + "@babel/types": "^7.0.0" } }, "@babel/helper-hoist-variables": { @@ -168,16 +173,16 @@ "integrity": "sha512-VYk2/H/BnYbZDDg39hr3t2kKyifAm1W6zHRfhx8jGjIHpQEBv9dry7oQ2f3+J703TLu69nYdxsovl0XYfcnK4w==", "dev": true, "requires": { - "@babel/types": "7.4.4" + "@babel/types": "^7.4.4" } }, "@babel/helper-member-expression-to-functions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", - "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.5.5.tgz", + "integrity": "sha512-5qZ3D1uMclSNqYcXqiHoA0meVdv+xUEex9em2fqMnrk/scphGlGgg66zjMrPJESPwrFJ6sbfFQYUSa0Mz7FabA==", "dev": true, "requires": { - "@babel/types": "7.4.4" + "@babel/types": "^7.5.5" } }, "@babel/helper-module-imports": { @@ -186,21 +191,21 @@ "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==", "dev": true, "requires": { - "@babel/types": "7.4.4" + "@babel/types": "^7.0.0" } }, "@babel/helper-module-transforms": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.4.4.tgz", - "integrity": "sha512-3Z1yp8TVQf+B4ynN7WoHPKS8EkdTbgAEy0nU0rs/1Kw4pDgmvYH3rz3aI11KgxKCba2cn7N+tqzV1mY2HMN96w==", + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.5.5.tgz", + "integrity": "sha512-jBeCvETKuJqeiaCdyaheF40aXnnU1+wkSiUs/IQg3tB85up1LyL8x77ClY8qJpuRJUcXQo+ZtdNESmZl4j56Pw==", "dev": true, "requires": { - "@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.4.4", - "lodash": "4.17.14" + "@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" } }, "@babel/helper-optimise-call-expression": { @@ -209,7 +214,7 @@ "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", "dev": true, "requires": { - "@babel/types": "7.4.4" + "@babel/types": "^7.0.0" } }, "@babel/helper-plugin-utils": { @@ -219,12 +224,12 @@ "dev": true }, "@babel/helper-regex": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.4.4.tgz", - "integrity": "sha512-Y5nuB/kESmR3tKjU8Nkn1wMGEx1tjJX076HBMeL3XLQCu6vA/YRzuTW0bbb+qRnXvQGn+d6Rx953yffl8vEy7Q==", + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.5.5.tgz", + "integrity": "sha512-CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw==", "dev": true, "requires": { - "lodash": "4.17.14" + "lodash": "^4.17.13" } }, "@babel/helper-remap-async-to-generator": { @@ -233,23 +238,23 @@ "integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "7.0.0", - "@babel/helper-wrap-function": "7.2.0", - "@babel/template": "7.4.4", - "@babel/traverse": "7.4.5", - "@babel/types": "7.4.4" + "@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": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.4.4.tgz", - "integrity": "sha512-04xGEnd+s01nY1l15EuMS1rfKktNF+1CkKmHoErDppjAAZL+IUBZpzT748x262HF7fibaQPhbvWUl5HeSt1EXg==", + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz", + "integrity": "sha512-XvRFWrNnlsow2u7jXDuH4jDDctkxbS7gXssrP4q2nUD606ukXHRvydj346wmNg+zAgpFx4MWf4+usfC93bElJg==", "dev": true, "requires": { - "@babel/helper-member-expression-to-functions": "7.0.0", - "@babel/helper-optimise-call-expression": "7.0.0", - "@babel/traverse": "7.4.5", - "@babel/types": "7.4.4" + "@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": { @@ -258,8 +263,8 @@ "integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==", "dev": true, "requires": { - "@babel/template": "7.4.4", - "@babel/types": "7.4.4" + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" } }, "@babel/helper-split-export-declaration": { @@ -268,7 +273,7 @@ "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==", "dev": true, "requires": { - "@babel/types": "7.4.4" + "@babel/types": "^7.4.4" } }, "@babel/helper-wrap-function": { @@ -277,38 +282,38 @@ "integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==", "dev": true, "requires": { - "@babel/helper-function-name": "7.1.0", - "@babel/template": "7.4.4", - "@babel/traverse": "7.4.5", - "@babel/types": "7.4.4" + "@babel/helper-function-name": "^7.1.0", + "@babel/template": "^7.1.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.2.0" } }, "@babel/helpers": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.4.4.tgz", - "integrity": "sha512-igczbR/0SeuPR8RFfC7tGrbdTbFL3QTvH6D+Z6zNxnTe//GyqmtHmDkzrqDmyZ3eSwPqB/LhyKoU5DXsp+Vp2A==", + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.6.2.tgz", + "integrity": "sha512-3/bAUL8zZxYs1cdX2ilEE0WobqbCmKWr/889lf2SS0PpDcpEIY8pb1CCyz0pEcX3pEb+MCbks1jIokz2xLtGTA==", "dev": true, "requires": { - "@babel/template": "7.4.4", - "@babel/traverse": "7.4.5", - "@babel/types": "7.4.4" + "@babel/template": "^7.6.0", + "@babel/traverse": "^7.6.2", + "@babel/types": "^7.6.0" } }, "@babel/highlight": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", - "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz", + "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", "dev": true, "requires": { - "chalk": "2.4.2", - "esutils": "2.0.2", - "js-tokens": "4.0.0" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" } }, "@babel/parser": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.4.5.tgz", - "integrity": "sha512-9mUqkL1FF5T7f0WDFfAoDdiMVPWsdD1gZYzSnaXsxUCUqzuch/8of9G3VUSNiZmMBoRxT3neyVsqeiL/ZPcjew==", + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.6.4.tgz", + "integrity": "sha512-D8RHPW5qd0Vbyo3qb+YjO5nvUVRTXFLQ/FsDxJU2Nqz4uB5EnUN0ZQSEYpvTIbRuttig1XbHWU5oMeQwQSAA+A==", "dev": true }, "@babel/plugin-proposal-async-generator-functions": { @@ -317,19 +322,29 @@ "integrity": "sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "@babel/helper-remap-async-to-generator": "7.1.0", - "@babel/plugin-syntax-async-generators": "7.2.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-remap-async-to-generator": "^7.1.0", + "@babel/plugin-syntax-async-generators": "^7.2.0" } }, "@babel/plugin-proposal-class-properties": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.4.4.tgz", - "integrity": "sha512-WjKTI8g8d5w1Bc9zgwSz2nfrsNQsXcCf9J9cdCvrJV6RF56yztwm4TmJC0MgJ9tvwO9gUA/mcYe89bLdGfiXFg==", + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.5.5.tgz", + "integrity": "sha512-AF79FsnWFxjlaosgdi421vmYG6/jg79bVD0dpD44QdgobzHKuLZ6S3vl8la9qIeSwGi8i1fS0O1mfuDAAdo1/A==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.5.5", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.5.0.tgz", + "integrity": "sha512-x/iMjggsKTFHYC6g11PL7Qy58IK8H5zqfm9e6hu4z1iH2IRyAp9u9dL80zA6R76yFovETFLKz2VJIC2iIPBuFw==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "7.4.4", - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-dynamic-import": "^7.2.0" } }, "@babel/plugin-proposal-json-strings": { @@ -338,18 +353,18 @@ "integrity": "sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "@babel/plugin-syntax-json-strings": "7.2.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-json-strings": "^7.2.0" } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.4.4.tgz", - "integrity": "sha512-dMBG6cSPBbHeEBdFXeQ2QLc5gUpg4Vkaz8octD4aoW/ISO+jBOcsuxYL7bsb5WSu8RLP6boxrBIALEHgoHtO9g==", + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.6.2.tgz", + "integrity": "sha512-LDBXlmADCsMZV1Y9OQwMc0MyGZ8Ta/zlD9N67BfQT8uYwkRswiu2hU6nJKrjrt/58aH/vqfQlR/9yId/7A2gWw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "@babel/plugin-syntax-object-rest-spread": "7.2.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.2.0" } }, "@babel/plugin-proposal-optional-catch-binding": { @@ -358,19 +373,19 @@ "integrity": "sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "@babel/plugin-syntax-optional-catch-binding": "7.2.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.2.0" } }, "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.4.tgz", - "integrity": "sha512-j1NwnOqMG9mFUOH58JTFsA/+ZYzQLUZ/drqWUqxCYLGeu2JFZL8YrNC9hBxKmWtAuOCHPcRpgv7fhap09Fb4kA==", + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.6.2.tgz", + "integrity": "sha512-NxHETdmpeSCtiatMRYWVJo7266rrvAC3DTeG5exQBIH/fMIUK7ejDNznBbn3HQl/o9peymRRg7Yqkx6PdUXmMw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "@babel/helper-regex": "7.4.4", - "regexpu-core": "4.5.4" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.4.4", + "regexpu-core": "^4.6.0" } }, "@babel/plugin-syntax-async-generators": { @@ -379,7 +394,16 @@ "integrity": "sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz", + "integrity": "sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-syntax-json-strings": { @@ -388,7 +412,7 @@ "integrity": "sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-syntax-object-rest-spread": { @@ -397,7 +421,7 @@ "integrity": "sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-syntax-optional-catch-binding": { @@ -406,7 +430,7 @@ "integrity": "sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-arrow-functions": { @@ -415,18 +439,18 @@ "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.4.4.tgz", - "integrity": "sha512-YiqW2Li8TXmzgbXw+STsSqPBPFnGviiaSp6CYOq55X8GQ2SGVLrXB6pNid8HkqkZAzOH6knbai3snhP7v0fNwA==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz", + "integrity": "sha512-mqvkzwIGkq0bEF1zLRRiTdjfomZJDV33AH3oQzHVGkI2VzEmXLpKKOBvEVaFZBJdN0XTyH38s9j/Kiqr68dggg==", "dev": true, "requires": { - "@babel/helper-module-imports": "7.0.0", - "@babel/helper-plugin-utils": "7.0.0", - "@babel/helper-remap-async-to-generator": "7.1.0" + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-remap-async-to-generator": "^7.1.0" } }, "@babel/plugin-transform-block-scoped-functions": { @@ -435,33 +459,33 @@ "integrity": "sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-block-scoping": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.4.4.tgz", - "integrity": "sha512-jkTUyWZcTrwxu5DD4rWz6rDB5Cjdmgz6z7M7RLXOJyCUkFBawssDGcGh8M/0FTSB87avyJI1HsTwUXp9nKA1PA==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.6.3.tgz", + "integrity": "sha512-7hvrg75dubcO3ZI2rjYTzUrEuh1E9IyDEhhB6qfcooxhDA33xx2MasuLVgdxzcP6R/lipAC6n9ub9maNW6RKdw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "lodash": "4.17.14" + "@babel/helper-plugin-utils": "^7.0.0", + "lodash": "^4.17.13" } }, "@babel/plugin-transform-classes": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.4.4.tgz", - "integrity": "sha512-/e44eFLImEGIpL9qPxSRat13I5QNRgBLu2hOQJCF7VLy/otSM/sypV1+XaIw5+502RX/+6YaSAPmldk+nhHDPw==", + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.5.5.tgz", + "integrity": "sha512-U2htCNK/6e9K7jGyJ++1p5XRU+LJjrwtoiVn9SzRlDT2KubcZ11OOwy3s24TjHxPgxNwonCYP7U2K51uVYCMDg==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "7.0.0", - "@babel/helper-define-map": "7.4.4", - "@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.4.4", - "@babel/helper-split-export-declaration": "7.4.4", - "globals": "11.12.0" + "@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/plugin-transform-computed-properties": { @@ -470,36 +494,36 @@ "integrity": "sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-destructuring": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.4.4.tgz", - "integrity": "sha512-/aOx+nW0w8eHiEHm+BTERB2oJn5D127iye/SUQl7NjHy0lf+j7h4MKMMSOwdazGq9OxgiNADncE+SRJkCxjZpQ==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.6.0.tgz", + "integrity": "sha512-2bGIS5P1v4+sWTCnKNDZDxbGvEqi0ijeqM/YqHtVGrvG2y0ySgnEEhXErvE9dA0bnIzY9bIzdFK0jFA46ASIIQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-dotall-regex": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.4.tgz", - "integrity": "sha512-P05YEhRc2h53lZDjRPk/OektxCVevFzZs2Gfjd545Wde3k+yFDbXORgl2e0xpbq8mLcKJ7Idss4fAg0zORN/zg==", + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.6.2.tgz", + "integrity": "sha512-KGKT9aqKV+9YMZSkowzYoYEiHqgaDhGmPNZlZxX6UeHC4z30nC1J9IrZuGqbYFB1jaIGdv91ujpze0exiVK8bA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "@babel/helper-regex": "7.4.4", - "regexpu-core": "4.5.4" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.4.4", + "regexpu-core": "^4.6.0" } }, "@babel/plugin-transform-duplicate-keys": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.2.0.tgz", - "integrity": "sha512-q+yuxW4DsTjNceUiTzK0L+AfQ0zD9rWaTLiUqHA8p0gxx7lu1EylenfzjeIWNkPy6e/0VG/Wjw9uf9LueQwLOw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz", + "integrity": "sha512-igcziksHizyQPlX9gfSjHkE2wmoCH3evvD2qR5w29/Dk0SMKE/eOI7f1HhBdNhR/zxJDqrgpoDTq5YSLH/XMsQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-exponentiation-operator": { @@ -508,8 +532,8 @@ "integrity": "sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==", "dev": true, "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "7.1.0", - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-for-of": { @@ -518,7 +542,7 @@ "integrity": "sha512-9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-function-name": { @@ -527,8 +551,8 @@ "integrity": "sha512-iU9pv7U+2jC9ANQkKeNF6DrPy4GBa4NWQtl6dHB4Pb3izX2JOEvDTFarlNsBj/63ZEzNNIAMs3Qw4fNCcSOXJA==", "dev": true, "requires": { - "@babel/helper-function-name": "7.1.0", - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-literals": { @@ -537,7 +561,7 @@ "integrity": "sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-member-expression-literals": { @@ -546,38 +570,41 @@ "integrity": "sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-modules-amd": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.2.0.tgz", - "integrity": "sha512-mK2A8ucqz1qhrdqjS9VMIDfIvvT2thrEsIQzbaTdc5QFzhDjQv2CkJJ5f6BXIkgbmaoax3zBr2RyvV/8zeoUZw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz", + "integrity": "sha512-n20UsQMKnWrltocZZm24cRURxQnWIvsABPJlw/fvoy9c6AgHZzoelAIzajDHAQrDpuKFFPPcFGd7ChsYuIUMpg==", "dev": true, "requires": { - "@babel/helper-module-transforms": "7.4.4", - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-module-transforms": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0", + "babel-plugin-dynamic-import-node": "^2.3.0" } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.4.4.tgz", - "integrity": "sha512-4sfBOJt58sEo9a2BQXnZq+Q3ZTSAUXyK3E30o36BOGnJ+tvJ6YSxF0PG6kERvbeISgProodWuI9UVG3/FMY6iw==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.6.0.tgz", + "integrity": "sha512-Ma93Ix95PNSEngqomy5LSBMAQvYKVe3dy+JlVJSHEXZR5ASL9lQBedMiCyVtmTLraIDVRE3ZjTZvmXXD2Ozw3g==", "dev": true, "requires": { - "@babel/helper-module-transforms": "7.4.4", - "@babel/helper-plugin-utils": "7.0.0", - "@babel/helper-simple-access": "7.1.0" + "@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/plugin-transform-modules-systemjs": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.4.4.tgz", - "integrity": "sha512-MSiModfILQc3/oqnG7NrP1jHaSPryO6tA2kOMmAQApz5dayPxWiHqmq4sWH2xF5LcQK56LlbKByCd8Aah/OIkQ==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.5.0.tgz", + "integrity": "sha512-Q2m56tyoQWmuNGxEtUyeEkm6qJYFqs4c+XyXH5RAuYxObRNz9Zgj/1g2GMnjYp2EUyEy7YTrxliGCXzecl/vJg==", "dev": true, "requires": { - "@babel/helper-hoist-variables": "7.4.4", - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-hoist-variables": "^7.4.4", + "@babel/helper-plugin-utils": "^7.0.0", + "babel-plugin-dynamic-import-node": "^2.3.0" } }, "@babel/plugin-transform-modules-umd": { @@ -586,17 +613,17 @@ "integrity": "sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw==", "dev": true, "requires": { - "@babel/helper-module-transforms": "7.4.4", - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-module-transforms": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.4.5.tgz", - "integrity": "sha512-z7+2IsWafTBbjNsOxU/Iv5CvTJlr5w4+HGu1HovKYTtgJ362f7kBcQglkfmlspKKZ3bgrbSGvLfNx++ZJgCWsg==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.6.3.tgz", + "integrity": "sha512-jTkk7/uE6H2s5w6VlMHeWuH+Pcy2lmdwFoeWCVnvIrDUnB5gQqTVI8WfmEAhF2CDEarGrknZcmSFg1+bkfCoSw==", "dev": true, "requires": { - "regexp-tree": "0.1.10" + "regexpu-core": "^4.6.0" } }, "@babel/plugin-transform-new-target": { @@ -605,17 +632,17 @@ "integrity": "sha512-r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-object-super": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.2.0.tgz", - "integrity": "sha512-VMyhPYZISFZAqAPVkiYb7dUe2AsVi2/wCT5+wZdsNO31FojQJa9ns40hzZ6U9f50Jlq4w6qwzdBB2uwqZ00ebg==", + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.5.5.tgz", + "integrity": "sha512-un1zJQAhSosGFBduPgN/YFNvWVpRuHKU7IHBglLoLZsGmruJPOo6pbInneflUdmq7YvSVqhpPs5zdBvLnteltQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "@babel/helper-replace-supers": "7.4.4" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.5.5" } }, "@babel/plugin-transform-parameters": { @@ -624,9 +651,9 @@ "integrity": "sha512-oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw==", "dev": true, "requires": { - "@babel/helper-call-delegate": "7.4.4", - "@babel/helper-get-function-arity": "7.0.0", - "@babel/helper-plugin-utils": "7.0.0" + "@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": { @@ -635,7 +662,7 @@ "integrity": "sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-regenerator": { @@ -644,7 +671,7 @@ "integrity": "sha512-gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA==", "dev": true, "requires": { - "regenerator-transform": "0.14.0" + "regenerator-transform": "^0.14.0" } }, "@babel/plugin-transform-reserved-words": { @@ -653,7 +680,7 @@ "integrity": "sha512-fz43fqW8E1tAB3DKF19/vxbpib1fuyCwSPE418ge5ZxILnBhWyhtPgz8eh1RCGGJlwvksHkyxMxh0eenFi+kFw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-shorthand-properties": { @@ -662,16 +689,16 @@ "integrity": "sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-spread": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz", - "integrity": "sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w==", + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.6.2.tgz", + "integrity": "sha512-DpSvPFryKdK1x+EDJYCy28nmAaIMdxmhot62jAXF/o99iA33Zj2Lmcp3vDmz+MUh0LNYVPvfj5iC3feb3/+PFg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-sticky-regex": { @@ -680,8 +707,8 @@ "integrity": "sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "@babel/helper-regex": "7.4.4" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.0.0" } }, "@babel/plugin-transform-template-literals": { @@ -690,8 +717,8 @@ "integrity": "sha512-mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "7.0.0", - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-typeof-symbol": { @@ -700,158 +727,127 @@ "integrity": "sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0" + "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-unicode-regex": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.4.tgz", - "integrity": "sha512-il+/XdNw01i93+M9J9u4T7/e/Ue/vWfNZE4IRUQjplu2Mqb/AFTDimkw2tdEdSH50wuQXZAbXSql0UphQke+vA==", + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.6.2.tgz", + "integrity": "sha512-orZI6cWlR3nk2YmYdb0gImrgCUwb5cBUwjf6Ks6dvNVvXERkwtJWOQaEOjPiu0Gu1Tq6Yq/hruCZZOOi9F34Dw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0", - "@babel/helper-regex": "7.4.4", - "regexpu-core": "4.5.4" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.4.4", + "regexpu-core": "^4.6.0" } }, "@babel/polyfill": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.4.4.tgz", - "integrity": "sha512-WlthFLfhQQhh+A2Gn5NSFl0Huxz36x86Jn+E9OW7ibK8edKPq+KLy4apM1yDpQ8kJOVi1OVjpP4vSDLdrI04dg==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.6.0.tgz", + "integrity": "sha512-q5BZJI0n/B10VaQQvln1IlDK3BTBJFbADx7tv+oXDPIDZuTo37H5Adb9jhlXm/fEN4Y7/64qD9mnrJJG7rmaTw==", "dev": true, "requires": { - "core-js": "2.6.8", - "regenerator-runtime": "0.13.2" - }, - "dependencies": { - "regenerator-runtime": { - "version": "0.13.2", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.2.tgz", - "integrity": "sha512-S/TQAZJO+D3m9xeN1WTI8dLKBBiRgXBlTJvbWjCThHWZj9EvHK70Ff50/tYj2J/fvBY6JtFVwRuazHN2E7M9BA==", - "dev": true - } + "core-js": "^2.6.5", + "regenerator-runtime": "^0.13.2" } }, "@babel/preset-env": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.4.5.tgz", - "integrity": "sha512-f2yNVXM+FsR5V8UwcFeIHzHWgnhXg3NpRmy0ADvALpnhB0SLbCvrCRr4BLOUYbQNLS+Z0Yer46x9dJXpXewI7w==", - "dev": true, - "requires": { - "@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.2", - "@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.2", - "invariant": "2.2.4", - "js-levenshtein": "1.1.6", - "semver": "5.7.0" + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.6.3.tgz", + "integrity": "sha512-CWQkn7EVnwzlOdR5NOm2+pfgSNEZmvGjOhlCHBDq0J8/EStr+G+FvPEiz9B56dR6MoiUFjXhfE4hjLoAKKJtIQ==", + "dev": true, + "requires": { + "@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-dynamic-import": "^7.5.0", + "@babel/plugin-proposal-json-strings": "^7.2.0", + "@babel/plugin-proposal-object-rest-spread": "^7.6.2", + "@babel/plugin-proposal-optional-catch-binding": "^7.2.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.6.2", + "@babel/plugin-syntax-async-generators": "^7.2.0", + "@babel/plugin-syntax-dynamic-import": "^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.5.0", + "@babel/plugin-transform-block-scoped-functions": "^7.2.0", + "@babel/plugin-transform-block-scoping": "^7.6.3", + "@babel/plugin-transform-classes": "^7.5.5", + "@babel/plugin-transform-computed-properties": "^7.2.0", + "@babel/plugin-transform-destructuring": "^7.6.0", + "@babel/plugin-transform-dotall-regex": "^7.6.2", + "@babel/plugin-transform-duplicate-keys": "^7.5.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.5.0", + "@babel/plugin-transform-modules-commonjs": "^7.6.0", + "@babel/plugin-transform-modules-systemjs": "^7.5.0", + "@babel/plugin-transform-modules-umd": "^7.2.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.6.3", + "@babel/plugin-transform-new-target": "^7.4.4", + "@babel/plugin-transform-object-super": "^7.5.5", + "@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.6.2", + "@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.6.2", + "@babel/types": "^7.6.3", + "browserslist": "^4.6.0", + "core-js-compat": "^3.1.1", + "invariant": "^2.2.2", + "js-levenshtein": "^1.1.3", + "semver": "^5.5.0" } }, "@babel/register": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.4.4.tgz", - "integrity": "sha512-sn51H88GRa00+ZoMqCVgOphmswG4b7mhf9VOB0LUBAieykq2GnRFerlN+JQkO/ntT7wz4jaHNSRPg9IdMPEUkA==", + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.6.2.tgz", + "integrity": "sha512-xgZk2LRZvt6i2SAUWxc7ellk4+OYRgS3Zpsnr13nMS1Qo25w21Uu8o6vTOAqNaxiqrnv30KTYzh9YWY2k21CeQ==", "dev": true, "requires": { - "core-js": "3.1.4", - "find-cache-dir": "2.1.0", - "lodash": "4.17.14", - "mkdirp": "0.5.1", - "pirates": "4.0.1", - "source-map-support": "0.5.12" - }, - "dependencies": { - "core-js": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.1.4.tgz", - "integrity": "sha512-YNZN8lt82XIMLnLirj9MhKDFZHalwzzrL9YLt6eb0T5D0EDl4IQ90IGkua8mHbnxNrkj1d8hbdizMc0Qmg1WnQ==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "source-map-support": { - "version": "0.5.12", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.12.tgz", - "integrity": "sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==", - "dev": true, - "requires": { - "buffer-from": "1.1.1", - "source-map": "0.6.1" - } - } + "find-cache-dir": "^2.0.0", + "lodash": "^4.17.13", + "mkdirp": "^0.5.1", + "pirates": "^4.0.0", + "source-map-support": "^0.5.9" } }, "@babel/template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.4.4.tgz", - "integrity": "sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.6.0.tgz", + "integrity": "sha512-5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ==", "dev": true, "requires": { - "@babel/code-frame": "7.0.0", - "@babel/parser": "7.4.5", - "@babel/types": "7.4.4" + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.6.0", + "@babel/types": "^7.6.0" } }, "@babel/traverse": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.4.5.tgz", - "integrity": "sha512-Vc+qjynwkjRmIFGxy0KYoPj4FdVDxLej89kMHFsWScq999uX+pwcX4v9mWRjW0KcAYTPAuVQl2LKP1wEVLsp+A==", - "dev": true, - "requires": { - "@babel/code-frame": "7.0.0", - "@babel/generator": "7.4.4", - "@babel/helper-function-name": "7.1.0", - "@babel/helper-split-export-declaration": "7.4.4", - "@babel/parser": "7.4.5", - "@babel/types": "7.4.4", - "debug": "4.1.1", - "globals": "11.12.0", - "lodash": "4.17.14" + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.6.3.tgz", + "integrity": "sha512-unn7P4LGsijIxaAJo/wpoU11zN+2IaClkQAxcJWBNCMS6cmVh802IyLHNkAjQ0iYnRS3nnxk5O3fuXW28IMxTw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.5.5", + "@babel/generator": "^7.6.3", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.4.4", + "@babel/parser": "^7.6.3", + "@babel/types": "^7.6.3", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" }, "dependencies": { "debug": { @@ -860,20 +856,26 @@ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "requires": { - "ms": "2.1.1" + "ms": "^2.1.1" } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true } } }, "@babel/types": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.4.4.tgz", - "integrity": "sha512-dOllgYdnEFOebhkKCjzSVFqw/PmmB8pH6RGOWkY4GsboQNd47b1fBThBSwlHAq9alF9vc1M3+6oqR47R50L0tQ==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.3.tgz", + "integrity": "sha512-CqbcpTxMcpuQTMhjI37ZHVgjBkysg5icREQIEZ0eG1yCNwg3oy+5AaLiOKmjsCj6nqOsa6Hf0ObjRVwokb7srA==", "dev": true, "requires": { - "esutils": "2.0.2", - "lodash": "4.17.14", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" } }, "JSONStream": { @@ -882,14 +884,14 @@ "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", "dev": true, "requires": { - "jsonparse": "1.3.1", - "through": "2.3.8" + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" } }, "abab": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.0.tgz", - "integrity": "sha512-sY5AXXVZv4Y1VACTtR11UJCPHHudgY5i26Qj5TypE6DKlIApbwb5uqhXcJ5UUGbvZNRh7EeIoW+LrJumBsKp7w==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.2.tgz", + "integrity": "sha512-2scffjvioEmNz0OyDSLGWDfKCVwaKc6l9Pm9kOIREU13ClXZvHpg/nRL5xyjSSSLhOnXqft2HpsAzNEEA8cFFg==", "dev": true }, "abort-controller": { @@ -897,7 +899,7 @@ "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", "requires": { - "event-target-shim": "5.0.1" + "event-target-shim": "^5.0.0" } }, "accepts": { @@ -905,74 +907,90 @@ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", "requires": { - "mime-types": "2.1.24", + "mime-types": "~2.1.24", "negotiator": "0.6.2" } }, "acorn": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz", - "integrity": "sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==", - "dev": true - }, - "acorn-dynamic-import": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz", - "integrity": "sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz", + "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==", "dev": true }, "acorn-globals": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.2.tgz", - "integrity": "sha512-BbzvZhVtZP+Bs1J1HcwrQe8ycfO0wStkSGxuul3He3GkHOIZ6eTqOkPuw9IP1X3+IkOo4wiJmwkobzXYz4wewQ==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", + "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", "dev": true, "requires": { - "acorn": "6.1.1", - "acorn-walk": "6.1.1" + "acorn": "^6.0.1", + "acorn-walk": "^6.0.1" + }, + "dependencies": { + "acorn": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz", + "integrity": "sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==", + "dev": true + }, + "acorn-walk": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", + "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", + "dev": true + } } }, "acorn-jsx": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.1.tgz", - "integrity": "sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.1.0.tgz", + "integrity": "sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==", "dev": true }, "acorn-node": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.6.2.tgz", - "integrity": "sha512-rIhNEZuNI8ibQcL7ANm/mGyPukIaZsRNX9psFNQURyJW0nu6k8wjSDld20z6v2mDBWqX13pIEnk9gGZJHIlEXg==", + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", "dev": true, "requires": { - "acorn": "6.1.1", - "acorn-dynamic-import": "4.0.0", - "acorn-walk": "6.1.1", - "xtend": "4.0.1" + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" } }, "acorn-walk": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.1.1.tgz", - "integrity": "sha512-OtUw6JUTgxA2QoqqmrmQ7F2NYqiBPi/L2jqHyFtllhOUvXYQXf0Z1CYUinIfyT4bTCGmrA7gX9FvHA81uzCoVw==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.0.0.tgz", + "integrity": "sha512-7Bv1We7ZGuU79zZbb6rRqcpxo3OY+zrdtloZWoyD8fmGX+FeXRjE+iuGkZjSXLVovLzrsvMGMy0EkwA0E0umxg==", "dev": true }, + "adler-32": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/adler-32/-/adler-32-1.2.0.tgz", + "integrity": "sha1-aj5r8KY5ALoVZSgIyxXGgT0aXyU=", + "requires": { + "exit-on-epipe": "~1.0.1", + "printj": "~1.1.0" + } + }, "agent-base": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", "requires": { - "es6-promisify": "5.0.0" + "es6-promisify": "^5.0.0" } }, "ajv": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", - "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", + "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", "dev": true, "requires": { - "fast-deep-equal": "2.0.1", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.4.1", - "uri-js": "4.2.2" + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" } }, "ansi-colors": { @@ -996,7 +1014,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.3" + "color-convert": "^1.9.0" } }, "anymatch": { @@ -1006,8 +1024,8 @@ "dev": true, "optional": true, "requires": { - "micromatch": "3.1.10", - "normalize-path": "2.1.1" + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" }, "dependencies": { "normalize-path": { @@ -1017,7 +1035,7 @@ "dev": true, "optional": true, "requires": { - "remove-trailing-separator": "1.1.0" + "remove-trailing-separator": "^1.0.1" } } } @@ -1027,23 +1045,29 @@ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "requires": { - "sprintf-js": "1.0.3" + "sprintf-js": "~1.0.2" } }, "arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true, + "optional": true }, "arr-flatten": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true, + "optional": true }, "arr-union": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true, + "optional": true }, "array-equal": { "version": "1.0.0", @@ -1051,33 +1075,17 @@ "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", "dev": true }, - "array-filter": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz", - "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw=", - "dev": true - }, "array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" }, - "array-map": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz", - "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI=", - "dev": true - }, - "array-reduce": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz", - "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=", - "dev": true - }, "array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true, + "optional": true }, "asn1": { "version": "0.2.4", @@ -1085,7 +1093,7 @@ "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", "dev": true, "requires": { - "safer-buffer": "2.1.2" + "safer-buffer": "~2.1.0" } }, "asn1.js": { @@ -1094,9 +1102,9 @@ "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", "dev": true, "requires": { - "bn.js": "4.11.8", - "inherits": "2.0.3", - "minimalistic-assert": "1.0.1" + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" } }, "assert": { @@ -1105,7 +1113,7 @@ "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", "dev": true, "requires": { - "object-assign": "4.1.1", + "object-assign": "^4.1.1", "util": "0.10.3" }, "dependencies": { @@ -1140,7 +1148,9 @@ "assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true, + "optional": true }, "astral-regex": { "version": "1.0.0", @@ -1149,19 +1159,24 @@ "dev": true }, "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "requires": { + "lodash": "^4.17.14" + } }, "async-each": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==" + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "dev": true, + "optional": true }, "async-limiter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", - "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" }, "asynckit": { "version": "0.4.0", @@ -1172,7 +1187,9 @@ "atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true, + "optional": true }, "aws-sign2": { "version": "0.7.0", @@ -1186,6 +1203,29 @@ "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", "dev": true }, + "babel-eslint": { + "version": "10.0.3", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.0.3.tgz", + "integrity": "sha512-z3U7eMY6r/3f3/JB9mTsLjyxrv0Yb1zb8PCWCLpguxfCzBIZUwy23R1t/XKewP+8mEN2Ck8Dtr4q20z6ce6SoA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.0.0", + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0", + "eslint-visitor-keys": "^1.0.0", + "resolve": "^1.12.0" + } + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz", + "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==", + "dev": true, + "requires": { + "object.assign": "^4.1.0" + } + }, "babelify": { "version": "10.0.0", "resolved": "https://registry.npmjs.org/babelify/-/babelify-10.0.0.tgz", @@ -1201,56 +1241,66 @@ "version": "0.11.2", "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "optional": true, "requires": { - "cache-base": "1.0.1", - "class-utils": "0.3.6", - "component-emitter": "1.3.0", - "define-property": "1.0.0", - "isobject": "3.0.1", - "mixin-deep": "1.3.2", - "pascalcase": "0.1.1" + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" }, "dependencies": { "define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "optional": true, "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "is-accessor-descriptor": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "optional": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "optional": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "optional": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } } } }, "base64-js": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", - "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==" + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", + "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" }, "bcrypt-pbkdf": { "version": "1.0.2", @@ -1258,7 +1308,7 @@ "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "dev": true, "requires": { - "tweetnacl": "0.14.5" + "tweetnacl": "^0.14.3" } }, "bignumber.js": { @@ -1269,7 +1319,9 @@ "binary-extensions": { "version": "1.13.1", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==" + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true, + "optional": true }, "bn.js": { "version": "4.11.8", @@ -1283,35 +1335,15 @@ "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", "requires": { "bytes": "3.1.0", - "content-type": "1.0.4", + "content-type": "~1.0.4", "debug": "2.6.9", - "depd": "1.1.2", + "depd": "~1.1.2", "http-errors": "1.7.2", "iconv-lite": "0.4.24", - "on-finished": "2.3.0", + "on-finished": "~2.3.0", "qs": "6.7.0", "raw-body": "2.4.0", - "type-is": "1.6.18" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" - } + "type-is": "~1.6.17" } }, "brace-expansion": { @@ -1319,7 +1351,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -1327,85 +1359,29 @@ "version": "2.3.2", "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "optional": true, "requires": { - "arr-flatten": "1.1.0", - "array-unique": "0.3.2", - "extend-shallow": "2.0.1", - "fill-range": "4.0.0", - "isobject": "3.0.1", - "repeat-element": "1.1.3", - "snapdragon": "0.8.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" }, "dependencies": { "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "optional": true, "requires": { - "is-extendable": "0.1.1" - } - } - } - }, - "broadway": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/broadway/-/broadway-0.3.6.tgz", - "integrity": "sha1-fb7waLlUt5B5Jf1USWO1eKkCuno=", - "requires": { - "cliff": "0.1.9", - "eventemitter2": "0.4.14", - "nconf": "0.6.9", - "utile": "0.2.1", - "winston": "0.8.0" - }, - "dependencies": { - "async": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", - "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=" - }, - "cliff": { - "version": "0.1.9", - "resolved": "https://registry.npmjs.org/cliff/-/cliff-0.1.9.tgz", - "integrity": "sha1-ohHgnGo947oa8n0EnTASUNGIErw=", - "requires": { - "colors": "0.6.2", - "eyes": "0.1.8", - "winston": "0.8.0" - } - }, - "colors": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz", - "integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=" - }, - "utile": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/utile/-/utile-0.2.1.tgz", - "integrity": "sha1-kwyI6ZCY1iIINMNWy9mncFItkNc=", - "requires": { - "async": "0.2.10", - "deep-equal": "2.0.1", - "i": "0.3.6", - "mkdirp": "0.5.1", - "ncp": "0.4.2", - "rimraf": "2.6.3" - } - }, - "winston": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/winston/-/winston-0.8.0.tgz", - "integrity": "sha1-YdCDD6aZcGISIGsKK1ymmpMENmg=", - "requires": { - "async": "0.2.10", - "colors": "0.6.2", - "cycle": "1.0.3", - "eyes": "0.1.8", - "pkginfo": "0.3.1", - "stack-trace": "0.0.10" + "is-extendable": "^0.1.0" } } } @@ -1422,12 +1398,12 @@ "integrity": "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==", "dev": true, "requires": { - "JSONStream": "1.3.5", - "combine-source-map": "0.8.0", - "defined": "1.0.0", - "safe-buffer": "5.1.2", - "through2": "2.0.5", - "umd": "3.0.3" + "JSONStream": "^1.0.3", + "combine-source-map": "~0.8.0", + "defined": "^1.0.0", + "safe-buffer": "^5.1.1", + "through2": "^2.0.0", + "umd": "^3.0.0" } }, "browser-process-hrtime": { @@ -1459,59 +1435,59 @@ "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" }, "browserify": { - "version": "16.2.3", - "resolved": "https://registry.npmjs.org/browserify/-/browserify-16.2.3.tgz", - "integrity": "sha512-zQt/Gd1+W+IY+h/xX2NYMW4orQWhqSwyV+xsblycTtpOuB27h1fZhhNQuipJ4t79ohw4P4mMem0jp/ZkISQtjQ==", - "dev": true, - "requires": { - "JSONStream": "1.3.5", - "assert": "1.5.0", - "browser-pack": "6.1.0", - "browser-resolve": "1.11.3", - "browserify-zlib": "0.2.0", - "buffer": "5.2.1", - "cached-path-relative": "1.0.2", - "concat-stream": "1.6.2", - "console-browserify": "1.1.0", - "constants-browserify": "1.0.0", - "crypto-browserify": "3.12.0", - "defined": "1.0.0", - "deps-sort": "2.0.0", - "domain-browser": "1.2.0", - "duplexer2": "0.1.4", - "events": "2.1.0", - "glob": "7.1.4", - "has": "1.0.3", - "htmlescape": "1.1.1", - "https-browserify": "1.0.0", - "inherits": "2.0.3", - "insert-module-globals": "7.2.0", - "labeled-stream-splicer": "2.0.1", - "mkdirp": "0.5.1", - "module-deps": "6.2.0", - "os-browserify": "0.3.0", - "parents": "1.0.1", - "path-browserify": "0.0.1", - "process": "0.11.10", - "punycode": "1.4.1", - "querystring-es3": "0.2.1", - "read-only-stream": "2.0.0", - "readable-stream": "2.3.6", - "resolve": "1.10.1", - "shasum": "1.0.2", - "shell-quote": "1.6.1", - "stream-browserify": "2.0.2", - "stream-http": "2.8.3", - "string_decoder": "1.2.0", - "subarg": "1.0.0", - "syntax-error": "1.4.0", - "through2": "2.0.5", - "timers-browserify": "1.4.2", + "version": "16.5.0", + "resolved": "https://registry.npmjs.org/browserify/-/browserify-16.5.0.tgz", + "integrity": "sha512-6bfI3cl76YLAnCZ75AGu/XPOsqUhRyc0F/olGIJeCxtfxF2HvPKEcmjU9M8oAPxl4uBY1U7Nry33Q6koV3f2iw==", + "dev": true, + "requires": { + "JSONStream": "^1.0.3", + "assert": "^1.4.0", + "browser-pack": "^6.0.1", + "browser-resolve": "^1.11.0", + "browserify-zlib": "~0.2.0", + "buffer": "^5.0.2", + "cached-path-relative": "^1.0.0", + "concat-stream": "^1.6.0", + "console-browserify": "^1.1.0", + "constants-browserify": "~1.0.0", + "crypto-browserify": "^3.0.0", + "defined": "^1.0.0", + "deps-sort": "^2.0.0", + "domain-browser": "^1.2.0", + "duplexer2": "~0.1.2", + "events": "^2.0.0", + "glob": "^7.1.0", + "has": "^1.0.0", + "htmlescape": "^1.1.0", + "https-browserify": "^1.0.0", + "inherits": "~2.0.1", + "insert-module-globals": "^7.0.0", + "labeled-stream-splicer": "^2.0.0", + "mkdirp": "^0.5.0", + "module-deps": "^6.0.0", + "os-browserify": "~0.3.0", + "parents": "^1.0.1", + "path-browserify": "~0.0.0", + "process": "~0.11.0", + "punycode": "^1.3.2", + "querystring-es3": "~0.2.0", + "read-only-stream": "^2.0.0", + "readable-stream": "^2.0.2", + "resolve": "^1.1.4", + "shasum": "^1.0.0", + "shell-quote": "^1.6.1", + "stream-browserify": "^2.0.0", + "stream-http": "^3.0.0", + "string_decoder": "^1.1.1", + "subarg": "^1.0.0", + "syntax-error": "^1.1.1", + "through2": "^2.0.0", + "timers-browserify": "^1.0.1", "tty-browserify": "0.0.1", - "url": "0.11.0", - "util": "0.10.4", - "vm-browserify": "1.1.0", - "xtend": "4.0.1" + "url": "~0.11.0", + "util": "~0.10.1", + "vm-browserify": "^1.0.0", + "xtend": "^4.0.0" } }, "browserify-aes": { @@ -1520,12 +1496,12 @@ "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "dev": true, "requires": { - "buffer-xor": "1.0.3", - "cipher-base": "1.0.4", - "create-hash": "1.2.0", - "evp_bytestokey": "1.0.3", - "inherits": "2.0.3", - "safe-buffer": "5.1.2" + "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" } }, "browserify-cipher": { @@ -1534,9 +1510,9 @@ "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", "dev": true, "requires": { - "browserify-aes": "1.2.0", - "browserify-des": "1.0.2", - "evp_bytestokey": "1.0.3" + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" } }, "browserify-des": { @@ -1545,10 +1521,10 @@ "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", "dev": true, "requires": { - "cipher-base": "1.0.4", - "des.js": "1.0.0", - "inherits": "2.0.3", - "safe-buffer": "5.1.2" + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" } }, "browserify-rsa": { @@ -1557,8 +1533,8 @@ "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", "dev": true, "requires": { - "bn.js": "4.11.8", - "randombytes": "2.1.0" + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" } }, "browserify-sign": { @@ -1567,13 +1543,13 @@ "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", "dev": true, "requires": { - "bn.js": "4.11.8", - "browserify-rsa": "4.0.1", - "create-hash": "1.2.0", - "create-hmac": "1.1.7", - "elliptic": "6.4.1", - "inherits": "2.0.3", - "parse-asn1": "5.1.4" + "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" } }, "browserify-zlib": { @@ -1582,28 +1558,28 @@ "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", "dev": true, "requires": { - "pako": "1.0.10" + "pako": "~1.0.5" } }, "browserslist": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.6.0.tgz", - "integrity": "sha512-Jk0YFwXBuMOOol8n6FhgkDzn3mY9PYLYGk29zybF05SbRTsMgPqmTNeQQhOghCxq5oFqAXE3u4sYddr4C0uRhg==", + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.7.2.tgz", + "integrity": "sha512-uZavT/gZXJd2UTi9Ov7/Z340WOSQ3+m1iBVRUknf+okKxonL9P83S3ctiBDtuRmRu8PiCHjqyueqQ9HYlJhxiw==", "dev": true, "requires": { - "caniuse-lite": "1.0.30000971", - "electron-to-chromium": "1.3.137", - "node-releases": "1.1.21" + "caniuse-lite": "^1.0.30001004", + "electron-to-chromium": "^1.3.295", + "node-releases": "^1.1.38" } }, "buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", - "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.4.3.tgz", + "integrity": "sha512-zvj65TkFeIt3i6aj5bIvJDzjjQQGs4o/sNoezg1F1kYap9Nu2jcUdpwzRSJTHMMzG0H7bZkn4rNQpImhuxWX2A==", "dev": true, "requires": { - "base64-js": "1.3.0", - "ieee754": "1.1.13" + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" } }, "buffer-equal-constant-time": { @@ -1637,16 +1613,18 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "optional": true, "requires": { - "collection-visit": "1.0.0", - "component-emitter": "1.3.0", - "get-value": "2.0.6", - "has-value": "1.0.0", - "isobject": "3.0.1", - "set-value": "2.0.1", - "to-object-path": "0.3.0", - "union-value": "1.0.1", - "unset-value": "1.0.0" + "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" } }, "cached-path-relative": { @@ -1655,14 +1633,6 @@ "integrity": "sha512-5r2GqsoEb4qMTTN9J+WzXfjov+hjxT+j3u5K+kIVNIwAd99DLCJE9pBIMP1qVeybV6JiijL385Oz0DcYxfbOIg==", "dev": true }, - "caller": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/caller/-/caller-0.0.1.tgz", - "integrity": "sha1-83odbqEOgp2UchrimpC7T7Uqt2c=", - "requires": { - "tape": "2.3.3" - } - }, "callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -1675,9 +1645,9 @@ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" }, "caniuse-lite": { - "version": "1.0.30000971", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000971.tgz", - "integrity": "sha512-TQFYFhRS0O5rdsmSbF1Wn+16latXYsQJat66f7S7lizXW1PVpWJeZw9wqqVLIjuxDRz7s7xRUj13QCfd8hKn6g==", + "version": "1.0.30001006", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001006.tgz", + "integrity": "sha512-MXnUVX27aGs/QINz+QG1sWSLDr3P1A3Hq5EUWoIt0T7K24DuvMxZEnh3Y5aHlJW6Bz2aApJdSewdYLd8zQnUuw==", "dev": true }, "caseless": { @@ -1686,17 +1656,28 @@ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", "dev": true }, + "cfb": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/cfb/-/cfb-1.1.3.tgz", + "integrity": "sha512-joXBW0nMuwV9no7UTMiyVJnQL6XIU3ThXVjFUDHgl9MpILPOomyfaGqC290VELZ48bbQKZXnQ81UT5HouTxHsw==", + "requires": { + "adler-32": "~1.2.0", + "commander": "^2.16.0", + "crc-32": "~1.2.0", + "printj": "~1.1.2" + } + }, "chai": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz", "integrity": "sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==", "requires": { - "assertion-error": "1.1.0", - "check-error": "1.0.2", - "deep-eql": "3.0.1", - "get-func-name": "2.0.0", - "pathval": "1.1.0", - "type-detect": "4.0.8" + "assertion-error": "^1.1.0", + "check-error": "^1.0.2", + "deep-eql": "^3.0.1", + "get-func-name": "^2.0.0", + "pathval": "^1.1.0", + "type-detect": "^4.0.5" } }, "chalk": { @@ -1704,9 +1685,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, "dependencies": { "supports-color": { @@ -1714,7 +1695,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -1736,24 +1717,24 @@ "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=" }, "chokidar": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.6.tgz", - "integrity": "sha512-V2jUo67OKkc6ySiRpJrjlpJKl9kDuG+Xb8VgsGzb+aEouhgS1D0weyPU4lEzdAcsCAvrih2J2BqyXqHWvVLw5g==", + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", "dev": true, "optional": true, "requires": { - "anymatch": "2.0.0", - "async-each": "1.0.3", - "braces": "2.3.2", - "fsevents": "1.2.9", - "glob-parent": "3.1.0", - "inherits": "2.0.3", - "is-binary-path": "1.0.1", - "is-glob": "4.0.1", - "normalize-path": "3.0.0", - "path-is-absolute": "1.0.1", - "readdirp": "2.2.1", - "upath": "1.1.2" + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "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" } }, "cipher-base": { @@ -1762,27 +1743,31 @@ "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", "dev": true, "requires": { - "inherits": "2.0.3", - "safe-buffer": "5.1.2" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, "class-utils": { "version": "0.3.6", "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "optional": true, "requires": { - "arr-union": "3.1.0", - "define-property": "0.2.5", - "isobject": "3.0.1", - "static-extend": "0.1.2" + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" }, "dependencies": { "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "optional": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } @@ -1793,7 +1778,7 @@ "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "dev": true, "requires": { - "restore-cursor": "2.0.0" + "restore-cursor": "^2.0.0" } }, "cli-width": { @@ -1802,43 +1787,66 @@ "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", "dev": true }, - "cliff": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/cliff/-/cliff-0.1.10.tgz", - "integrity": "sha1-U74z6p9ZvshWCe4wCsQgdgPlIBM=", + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", "requires": { - "colors": "1.0.3", - "eyes": "0.1.8", - "winston": "0.8.3" + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + } } }, - "cliui": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "codepage": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/codepage/-/codepage-1.14.0.tgz", + "integrity": "sha1-jL4lSBMjVZ19MHVxsP/5HnodL5k=", "requires": { - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "wrap-ansi": "2.1.0" + "commander": "~2.14.1", + "exit-on-epipe": "~1.0.1" + }, + "dependencies": { + "commander": { + "version": "2.14.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.14.1.tgz", + "integrity": "sha512-+YR16o3rK53SmWHU3rEM3tPAh2rwb1yPcQX5irVn7mb0gXbwuCCrnkbV5+PBfETdfg1vui07nM6PCG1zndcjQw==" + } } }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=" - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" - }, "collection-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "optional": true, "requires": { - "map-visit": "1.0.0", - "object-visit": "1.0.1" + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" } }, "color-convert": { @@ -1865,10 +1873,18 @@ "integrity": "sha1-pY0N8ELBhvz4IqjoAV9UUNLXmos=", "dev": true, "requires": { - "convert-source-map": "1.1.3", - "inline-source-map": "0.6.2", - "lodash.memoize": "3.0.4", - "source-map": "0.5.7" + "convert-source-map": "~1.1.0", + "inline-source-map": "~0.6.0", + "lodash.memoize": "~3.0.3", + "source-map": "~0.5.3" + }, + "dependencies": { + "convert-source-map": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz", + "integrity": "sha1-SCnId+n+SbMWHzvzZziI4gRpmGA=", + "dev": true + } } }, "combined-stream": { @@ -1877,14 +1893,13 @@ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "dev": true, "requires": { - "delayed-stream": "1.0.0" + "delayed-stream": "~1.0.0" } }, "commander": { - "version": "2.20.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", - "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==", - "dev": true + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" }, "commondir": { "version": "1.0.1", @@ -1895,7 +1910,9 @@ "component-emitter": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true, + "optional": true }, "concat-map": { "version": "0.0.1", @@ -1907,20 +1924,17 @@ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "requires": { - "buffer-from": "1.1.1", - "inherits": "2.0.3", - "readable-stream": "2.3.6", - "typedarray": "0.0.6" + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" } }, "console-browserify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", - "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", - "dev": true, - "requires": { - "date-now": "0.1.4" - } + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true }, "constants-browserify": { "version": "1.0.0", @@ -1942,10 +1956,13 @@ "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" }, "convert-source-map": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz", - "integrity": "sha1-SCnId+n+SbMWHzvzZziI4gRpmGA=", - "dev": true + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", + "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } }, "cookie": { "version": "0.4.0", @@ -1960,39 +1977,34 @@ "copy-descriptor": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true, + "optional": true }, "core-js": { - "version": "2.6.8", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.8.tgz", - "integrity": "sha512-RWlREFU74TEkdXzyl1bka66O3kYp8jeTXrvJZDzVVMH8AiHUSOFpL1yfhQJ+wHocAm1m+4971W1PPzfLuCv1vg==", + "version": "2.6.10", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.10.tgz", + "integrity": "sha512-I39t74+4t+zau64EN1fE5v2W31Adtc/REhzWN+gWRRXg6WH5qAsZm62DHpQ1+Yhe4047T55jvzz7MUqF/dBBlA==", "dev": true }, "core-js-compat": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.1.2.tgz", - "integrity": "sha512-X0Ch5f6itrHxhg5HSJucX6nNLNAGr+jq+biBh6nPGc3YAWz2a8p/ZIZY8cUkDzSRNG54omAuu3hoEF8qZbu/6Q==", + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.3.5.tgz", + "integrity": "sha512-44ZORuapx0MUht0MUk0p9lcQPh7n/LDXehimTmjCs0CYblpKZcqVd5w0OQDUDq5OQjEbazWObHDQJWvvHYPNTg==", "dev": true, "requires": { - "browserslist": "4.6.0", - "core-js-pure": "3.1.2", - "semver": "6.1.0" + "browserslist": "^4.7.2", + "semver": "^6.3.0" }, "dependencies": { "semver": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.1.0.tgz", - "integrity": "sha512-kCqEOOHoBcFs/2Ccuk4Xarm/KiWRSLEX9CAZF8xkJ6ZPlIoTZ8V5f7J16vYLJqDbR7KrxTJpR2lqjIEm2Qx9cQ==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true } } }, - "core-js-pure": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.1.2.tgz", - "integrity": "sha512-5ckIdBF26B3ldK9PM177y2ZcATP2oweam9RskHSoqfZCrJ2As6wVg8zJ1zTriFsZf6clj/N1ThDFRGaomMsh9w==", - "dev": true - }, "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", @@ -2003,14 +2015,23 @@ "resolved": "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz", "integrity": "sha1-jtolLsqrWEDc2XXOuQ2TcMgZ/4c=" }, + "crc-32": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.0.tgz", + "integrity": "sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA==", + "requires": { + "exit-on-epipe": "~1.0.1", + "printj": "~1.1.0" + } + }, "create-ecdh": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", "dev": true, "requires": { - "bn.js": "4.11.8", - "elliptic": "6.4.1" + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" } }, "create-hash": { @@ -2019,11 +2040,11 @@ "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "dev": true, "requires": { - "cipher-base": "1.0.4", - "inherits": "2.0.3", - "md5.js": "1.3.5", - "ripemd160": "2.0.2", - "sha.js": "2.4.11" + "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": { @@ -2032,24 +2053,25 @@ "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "dev": true, "requires": { - "cipher-base": "1.0.4", - "create-hash": "1.2.0", - "inherits": "2.0.3", - "ripemd160": "2.0.2", - "safe-buffer": "5.1.2", - "sha.js": "2.4.11" + "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" } }, "cross-spawn": { "version": "6.0.5", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, "requires": { - "nice-try": "1.0.5", - "path-key": "2.0.1", - "semver": "5.7.0", - "shebang-command": "1.2.0", - "which": "1.3.1" + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } }, "crypto-browserify": { @@ -2058,39 +2080,34 @@ "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", "dev": true, "requires": { - "browserify-cipher": "1.0.1", - "browserify-sign": "4.0.4", - "create-ecdh": "4.0.3", - "create-hash": "1.2.0", - "create-hmac": "1.1.7", - "diffie-hellman": "5.0.3", - "inherits": "2.0.3", - "pbkdf2": "3.0.17", - "public-encrypt": "4.0.3", - "randombytes": "2.1.0", - "randomfill": "1.0.4" + "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" } }, "cssom": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.6.tgz", - "integrity": "sha512-DtUeseGk9/GBW0hl0vVPpU22iHL6YB5BUX7ml1hB+GMpo0NX5G4voX3kdWiMSEguFtcW3Vh3djqNF4aIe6ne0A==", + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", "dev": true }, "cssstyle": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.2.2.tgz", - "integrity": "sha512-43wY3kl1CVQSvL7wUY1qXkxVGkStjpkDmVjiIKX8R97uhajy8Bybay78uOtqvh7Q5GK75dNPfW0geWjE6qQQow==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz", + "integrity": "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==", "dev": true, "requires": { - "cssom": "0.3.6" + "cssom": "0.3.x" } }, - "cycle": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", - "integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=" - }, "dash-ast": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz", @@ -2103,7 +2120,7 @@ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "dev": true, "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" } }, "data-urls": { @@ -2112,23 +2129,17 @@ "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", "dev": true, "requires": { - "abab": "2.0.0", - "whatwg-mimetype": "2.3.0", - "whatwg-url": "7.0.0" + "abab": "^2.0.0", + "whatwg-mimetype": "^2.2.0", + "whatwg-url": "^7.0.0" } }, - "date-now": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", - "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", - "dev": true - }, "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "requires": { - "ms": "2.1.1" + "ms": "2.0.0" } }, "decamelize": { @@ -2139,72 +2150,16 @@ "decode-uri-component": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true, + "optional": true }, "deep-eql": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", "requires": { - "type-detect": "4.0.8" - } - }, - "deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.0.1.tgz", - "integrity": "sha512-7Et6r6XfNW61CPPCIYfm1YPGSmh6+CliYeL4km7GWJcpX5LTAflGF8drLLR+MZX+2P3NZfAfSduutBbSWqER4g==", - "requires": { - "es-abstract": "1.16.3", - "es-get-iterator": "1.0.2", - "is-arguments": "1.0.4", - "is-date-object": "1.0.1", - "is-regex": "1.0.4", - "isarray": "2.0.5", - "object-is": "1.0.2", - "object-keys": "1.1.1", - "regexp.prototype.flags": "1.3.0", - "side-channel": "1.0.1", - "which-boxed-primitive": "1.0.1", - "which-collection": "1.0.0" - }, - "dependencies": { - "es-abstract": { - "version": "1.16.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.16.3.tgz", - "integrity": "sha512-WtY7Fx5LiOnSYgF5eg/1T+GONaGmpvpPdCpSnYij+U2gDTL0UPfWrhDw7b2IYb+9NQJsYpCA0wOQvZfsd6YwRw==", - "requires": { - "es-to-primitive": "1.2.1", - "function-bind": "1.1.1", - "has": "1.0.3", - "has-symbols": "1.0.1", - "is-callable": "1.1.4", - "is-regex": "1.0.4", - "object-inspect": "1.7.0", - "object-keys": "1.1.1", - "string.prototype.trimleft": "2.1.0", - "string.prototype.trimright": "2.1.0" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "requires": { - "is-callable": "1.1.4", - "is-date-object": "1.0.1", - "is-symbol": "1.0.2" - } - }, - "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" - }, - "isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" - } + "type-detect": "^4.0.0" } }, "deep-is": { @@ -2218,42 +2173,50 @@ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", "requires": { - "object-keys": "1.1.1" + "object-keys": "^1.0.12" } }, "define-property": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "optional": true, "requires": { - "is-descriptor": "1.0.2", - "isobject": "3.0.1" + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" }, "dependencies": { "is-accessor-descriptor": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "optional": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "optional": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "optional": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } } } @@ -2276,15 +2239,15 @@ "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" }, "deps-sort": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.0.tgz", - "integrity": "sha1-CRckkC6EZYJg65EHSMzNGvbiH7U=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.1.tgz", + "integrity": "sha512-1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==", "dev": true, "requires": { - "JSONStream": "1.3.5", - "shasum": "1.0.2", - "subarg": "1.0.0", - "through2": "2.0.5" + "JSONStream": "^1.0.3", + "shasum-object": "^1.0.0", + "subarg": "^1.0.0", + "through2": "^2.0.0" } }, "des.js": { @@ -2293,8 +2256,8 @@ "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", "dev": true, "requires": { - "inherits": "2.0.3", - "minimalistic-assert": "1.0.1" + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" } }, "destroy": { @@ -2308,9 +2271,9 @@ "integrity": "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==", "dev": true, "requires": { - "acorn-node": "1.6.2", - "defined": "1.0.0", - "minimist": "1.2.0" + "acorn-node": "^1.6.1", + "defined": "^1.0.0", + "minimist": "^1.1.1" } }, "diff": { @@ -2324,23 +2287,18 @@ "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", "dev": true, "requires": { - "bn.js": "4.11.8", - "miller-rabin": "4.0.1", - "randombytes": "2.1.0" + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" } }, - "director": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/director/-/director-1.2.7.tgz", - "integrity": "sha1-v9N0EHX9f7GlsuE2WMX0vsd3NvM=" - }, "doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, "requires": { - "esutils": "2.0.2" + "esutils": "^2.0.2" } }, "domain-browser": { @@ -2355,7 +2313,7 @@ "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", "dev": true, "requires": { - "webidl-conversions": "4.0.2" + "webidl-conversions": "^4.0.2" } }, "duplexer2": { @@ -2364,7 +2322,7 @@ "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", "dev": true, "requires": { - "readable-stream": "2.3.6" + "readable-stream": "^2.0.2" } }, "ecc-jsbn": { @@ -2373,8 +2331,8 @@ "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "dev": true, "requires": { - "jsbn": "0.1.1", - "safer-buffer": "2.1.2" + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" } }, "ecdsa-sig-formatter": { @@ -2382,7 +2340,7 @@ "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "^5.0.1" } }, "ecstatic": { @@ -2390,17 +2348,10 @@ "resolved": "https://registry.npmjs.org/ecstatic/-/ecstatic-3.3.2.tgz", "integrity": "sha512-fLf9l1hnwrHI2xn9mEDT7KIi22UDqA2jaCwyCbSUJh9a1V+LEUSL/JO/6TIz/QyuBURWUHrFL5Kg2TtO1bkkog==", "requires": { - "he": "1.2.0", - "mime": "1.6.0", - "minimist": "1.2.0", - "url-join": "2.0.5" - }, - "dependencies": { - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" - } + "he": "^1.1.1", + "mime": "^1.6.0", + "minimist": "^1.1.0", + "url-join": "^2.0.5" } }, "ee-first": { @@ -2409,24 +2360,24 @@ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" }, "electron-to-chromium": { - "version": "1.3.137", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.137.tgz", - "integrity": "sha512-kGi32g42a8vS/WnYE7ELJyejRT7hbr3UeOOu0WeuYuQ29gCpg9Lrf6RdcTQVXSt/v0bjCfnlb/EWOOsiKpTmkw==", + "version": "1.3.296", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.296.tgz", + "integrity": "sha512-s5hv+TSJSVRsxH190De66YHb50pBGTweT9XGWYu/LMR20KX6TsjFzObo36CjVAzM+PUeeKSBRtm/mISlCzeojQ==", "dev": true }, "elliptic": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz", - "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==", + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.1.tgz", + "integrity": "sha512-xvJINNLbTeWQjrl6X+7eQCrIy/YPv5XCpKW6kB5mKvtnGILoLDcySuwomfdzt0BMdLNVnuRNTuzKNHj0bva1Cg==", "dev": true, "requires": { - "bn.js": "4.11.8", - "brorand": "1.1.0", - "hash.js": "1.1.7", - "hmac-drbg": "1.0.1", - "inherits": "2.0.3", - "minimalistic-assert": "1.0.1", - "minimalistic-crypto-utils": "1.0.1" + "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": { @@ -2439,79 +2390,21 @@ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" }, - "end-of-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", - "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", - "requires": { - "once": "1.4.0" - } - }, "es-abstract": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz", - "integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==", - "requires": { - "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.1.1" - } - }, - "es-get-iterator": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.0.2.tgz", - "integrity": "sha512-ZHb4fuNK3HKHEOvDGyHPKf5cSWh/OvAMskeM/+21NMnTuvqFvz8uHatolu+7Kf6b6oK9C+3Uo1T37pSGPWv0MA==", - "requires": { - "es-abstract": "1.17.0-next.1", - "has-symbols": "1.0.1", - "is-arguments": "1.0.4", - "is-map": "2.0.1", - "is-set": "2.0.1", - "is-string": "1.0.4", - "isarray": "2.0.5" - }, - "dependencies": { - "es-abstract": { - "version": "1.17.0-next.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.0-next.1.tgz", - "integrity": "sha512-7MmGr03N7Rnuid6+wyhD9sHNE2n4tFSwExnU2lQl3lIo2ShXWGePY80zYaoMOmILWv57H0amMjZGHNzzGG70Rw==", - "requires": { - "es-to-primitive": "1.2.1", - "function-bind": "1.1.1", - "has": "1.0.3", - "has-symbols": "1.0.1", - "is-callable": "1.1.4", - "is-regex": "1.0.4", - "object-inspect": "1.7.0", - "object-keys": "1.1.1", - "object.assign": "4.1.0", - "string.prototype.trimleft": "2.1.0", - "string.prototype.trimright": "2.1.0" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "requires": { - "is-callable": "1.1.4", - "is-date-object": "1.0.1", - "is-symbol": "1.0.2" - } - }, - "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" - }, - "isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" - } + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.16.0.tgz", + "integrity": "sha512-xdQnfykZ9JMEiasTAJZJdMWCQ1Vm00NBw79/AWi7ELfZuuPCSOMDZbT9mkOfSctVtfhb+sAAzrm+j//GjjLHLg==", + "requires": { + "es-to-primitive": "^1.2.0", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.0", + "is-callable": "^1.1.4", + "is-regex": "^1.0.4", + "object-inspect": "^1.6.0", + "object-keys": "^1.1.1", + "string.prototype.trimleft": "^2.1.0", + "string.prototype.trimright": "^2.1.0" } }, "es-to-primitive": { @@ -2519,9 +2412,9 @@ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", "requires": { - "is-callable": "1.1.4", - "is-date-object": "1.0.1", - "is-symbol": "1.0.2" + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" } }, "es6-promise": { @@ -2534,7 +2427,7 @@ "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", "requires": { - "es6-promise": "4.2.8" + "es6-promise": "^4.0.3" } }, "escape-html": { @@ -2548,16 +2441,16 @@ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "escodegen": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.11.1.tgz", - "integrity": "sha512-JwiqFD9KdGVVpeuRa68yU3zZnBEOcPs0nKW7wZzXky8Z7tffdYUHbe11bPCV5jYlK6DVdKLWLm0f5I/QlL0Kmw==", + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.12.0.tgz", + "integrity": "sha512-TuA+EhsanGcme5T3R0L80u4t8CpbXQjegRmf7+FPTJrtCTErXFeelblRgHQa1FofEzqYYJmJ/OqjTwREp9qgmg==", "dev": true, "requires": { - "esprima": "3.1.3", - "estraverse": "4.2.0", - "esutils": "2.0.2", - "optionator": "0.8.2", - "source-map": "0.6.1" + "esprima": "^3.1.3", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" }, "dependencies": { "esprima": { @@ -2581,42 +2474,42 @@ "integrity": "sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==", "dev": true, "requires": { - "@babel/code-frame": "7.0.0", - "ajv": "6.10.0", - "chalk": "2.4.2", - "cross-spawn": "6.0.5", - "debug": "4.1.1", - "doctrine": "3.0.0", - "eslint-scope": "4.0.3", - "eslint-utils": "1.4.2", - "eslint-visitor-keys": "1.0.0", - "espree": "5.0.1", - "esquery": "1.0.1", - "esutils": "2.0.2", - "file-entry-cache": "5.0.1", - "functional-red-black-tree": "1.0.1", - "glob": "7.1.4", - "globals": "11.12.0", - "ignore": "4.0.6", - "import-fresh": "3.0.0", - "imurmurhash": "0.1.4", - "inquirer": "6.3.1", - "js-yaml": "3.13.1", - "json-stable-stringify-without-jsonify": "1.0.1", - "levn": "0.3.0", - "lodash": "4.17.14", - "minimatch": "3.0.4", - "mkdirp": "0.5.1", - "natural-compare": "1.4.0", - "optionator": "0.8.2", - "path-is-inside": "1.0.2", - "progress": "2.0.3", - "regexpp": "2.0.1", - "semver": "5.7.0", - "strip-ansi": "4.0.0", - "strip-json-comments": "2.0.1", - "table": "5.4.0", - "text-table": "0.2.0" + "@babel/code-frame": "^7.0.0", + "ajv": "^6.9.1", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^4.0.3", + "eslint-utils": "^1.3.1", + "eslint-visitor-keys": "^1.0.0", + "espree": "^5.0.1", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob": "^7.1.2", + "globals": "^11.7.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^6.2.2", + "js-yaml": "^3.13.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.11", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.2", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^5.5.1", + "strip-ansi": "^4.0.0", + "strip-json-comments": "^2.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0" }, "dependencies": { "debug": { @@ -2625,8 +2518,14 @@ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "requires": { - "ms": "2.1.1" + "ms": "^2.1.1" } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true } } }, @@ -2636,23 +2535,23 @@ "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", "dev": true, "requires": { - "esrecurse": "4.2.1", - "estraverse": "4.2.0" + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" } }, "eslint-utils": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.2.tgz", - "integrity": "sha512-eAZS2sEUMlIeCjBeubdj45dmBHQwPHWyBcT1VSYB7o9x9WRRqKxyUoiXlRjyAwzN7YEzHJlYg0NmzDRWx6GP4Q==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", + "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", "dev": true, "requires": { - "eslint-visitor-keys": "1.0.0" + "eslint-visitor-keys": "^1.1.0" } }, "eslint-visitor-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", - "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", + "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==", "dev": true }, "espree": { @@ -2661,9 +2560,17 @@ "integrity": "sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==", "dev": true, "requires": { - "acorn": "6.1.1", - "acorn-jsx": "5.0.1", - "eslint-visitor-keys": "1.0.0" + "acorn": "^6.0.7", + "acorn-jsx": "^5.0.0", + "eslint-visitor-keys": "^1.0.0" + }, + "dependencies": { + "acorn": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.0.tgz", + "integrity": "sha512-gac8OEcQ2Li1dxIEWGZzsp2BitJxwkwcOm0zHAJLcPJaVvm58FRnk6RkuLRpU1EujipU2ZFODv2P9DLMfnV8mw==", + "dev": true + } } }, "esprima": { @@ -2677,7 +2584,7 @@ "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", "dev": true, "requires": { - "estraverse": "4.2.0" + "estraverse": "^4.0.0" } }, "esrecurse": { @@ -2686,19 +2593,19 @@ "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", "dev": true, "requires": { - "estraverse": "4.2.0" + "estraverse": "^4.1.0" } }, "estraverse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true }, "esutils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true }, "etag": { @@ -2706,43 +2613,15 @@ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" }, - "event-stream": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-0.5.3.tgz", - "integrity": "sha1-t3uTCfcQet3+q2PwwOr9jbC9jBw=", - "requires": { - "optimist": "0.2.8" - }, - "dependencies": { - "optimist": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.2.8.tgz", - "integrity": "sha1-6YGrfiaLRXlIWTtVZ0wJmoFcrDE=", - "requires": { - "wordwrap": "0.0.3" - } - }, - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=" - } - } - }, "event-target-shim": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" }, - "eventemitter2": { - "version": "0.4.14", - "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz", - "integrity": "sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas=" - }, "eventemitter3": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", - "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.0.tgz", + "integrity": "sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==" }, "events": { "version": "2.1.0", @@ -2756,8 +2635,8 @@ "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", "dev": true, "requires": { - "md5.js": "1.3.5", - "safe-buffer": "5.1.2" + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" } }, "exec-sh": { @@ -2766,110 +2645,48 @@ "integrity": "sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw==", "dev": true, "requires": { - "merge": "1.2.1" + "merge": "^1.2.0" } }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "requires": { - "cross-spawn": "6.0.5", - "get-stream": "4.1.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" - } + "exit-on-epipe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz", + "integrity": "sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==" }, "expand-brackets": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "optional": true, "requires": { - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "optional": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "optional": true, "requires": { - "is-extendable": "0.1.1" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "expand-range": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", - "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", - "requires": { - "fill-range": "2.2.4" - }, - "dependencies": { - "fill-range": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", - "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", - "requires": { - "is-number": "2.1.0", - "isobject": "2.1.0", - "randomatic": "3.1.1", - "repeat-element": "1.1.3", - "repeat-string": "1.6.1" - } - }, - "is-number": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", - "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", - "requires": { - "kind-of": "3.2.2" - } - }, - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "requires": { - "isarray": "1.0.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "1.1.6" + "is-extendable": "^0.1.0" } } } @@ -2879,56 +2696,36 @@ "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", "requires": { - "accepts": "1.3.7", + "accepts": "~1.3.7", "array-flatten": "1.1.1", "body-parser": "1.19.0", "content-disposition": "0.5.3", - "content-type": "1.0.4", + "content-type": "~1.0.4", "cookie": "0.4.0", "cookie-signature": "1.0.6", "debug": "2.6.9", - "depd": "1.1.2", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "etag": "1.8.1", - "finalhandler": "1.1.2", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", "fresh": "0.5.2", "merge-descriptors": "1.0.1", - "methods": "1.1.2", - "on-finished": "2.3.0", - "parseurl": "1.3.3", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", "path-to-regexp": "0.1.7", - "proxy-addr": "2.0.5", + "proxy-addr": "~2.0.5", "qs": "6.7.0", - "range-parser": "1.2.1", + "range-parser": "~1.2.1", "safe-buffer": "5.1.2", "send": "0.17.1", "serve-static": "1.14.1", "setprototypeof": "1.1.1", - "statuses": "1.5.0", - "type-is": "1.6.18", + "statuses": "~1.5.0", + "type-is": "~1.6.18", "utils-merge": "1.0.1", - "vary": "1.1.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" - } + "vary": "~1.1.2" } }, "extend": { @@ -2940,87 +2737,103 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "optional": true, "requires": { - "assign-symbols": "1.0.0", - "is-extendable": "1.0.1" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "optional": true, "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } }, "external-editor": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.0.3.tgz", - "integrity": "sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", "dev": true, "requires": { - "chardet": "0.7.0", - "iconv-lite": "0.4.24", - "tmp": "0.0.33" + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" } }, "extglob": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "optional": true, "requires": { - "array-unique": "0.3.2", - "define-property": "1.0.0", - "expand-brackets": "2.1.4", - "extend-shallow": "2.0.1", - "fragment-cache": "0.2.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "optional": true, "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "optional": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "is-accessor-descriptor": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "optional": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "optional": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "optional": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } } } @@ -3034,21 +2847,6 @@ "debug": "2.6.9", "mkdirp": "0.5.1", "yauzl": "2.4.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } } }, "extsprintf": { @@ -3057,11 +2855,6 @@ "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", "dev": true }, - "eyes": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", - "integrity": "sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A=" - }, "fast-deep-equal": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", @@ -3080,6 +2873,12 @@ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "dev": true }, + "fast-safe-stringify": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz", + "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==", + "dev": true + }, "fast-text-encoding": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fast-text-encoding/-/fast-text-encoding-1.0.0.tgz", @@ -3090,7 +2889,7 @@ "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", "requires": { - "pend": "1.2.0" + "pend": "~1.2.0" } }, "figures": { @@ -3099,7 +2898,7 @@ "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", "dev": true, "requires": { - "escape-string-regexp": "1.0.5" + "escape-string-regexp": "^1.0.5" } }, "file-entry-cache": { @@ -3108,7 +2907,7 @@ "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", "dev": true, "requires": { - "flat-cache": "2.0.1" + "flat-cache": "^2.0.1" } }, "file-match": { @@ -3116,40 +2915,44 @@ "resolved": "https://registry.npmjs.org/file-match/-/file-match-1.0.2.tgz", "integrity": "sha1-ycrSZdLIrfOoFHWw30dYWQafrvc=", "requires": { - "utils-extend": "1.0.8" + "utils-extend": "^1.0.6" } }, + "file-saver": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.2.tgz", + "integrity": "sha512-Wz3c3XQ5xroCxd1G8b7yL0Ehkf0TC9oYC6buPFkNnU9EnaPlifeAFCyCh+iewXTyFRcg0a6j3J7FmJsIhlhBdw==" + }, "file-system": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/file-system/-/file-system-2.2.2.tgz", "integrity": "sha1-fWWDPjojR9zZVqgTxncVPtPt2Yc=", "requires": { - "file-match": "1.0.2", - "utils-extend": "1.0.8" + "file-match": "^1.0.1", + "utils-extend": "^1.0.4" } }, - "filename-regex": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", - "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=" - }, "fill-range": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "optional": true, "requires": { - "extend-shallow": "2.0.1", - "is-number": "3.0.0", - "repeat-string": "1.6.1", - "to-regex-range": "2.1.1" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, "dependencies": { "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "optional": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -3160,27 +2963,12 @@ "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", "requires": { "debug": "2.6.9", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "on-finished": "2.3.0", - "parseurl": "1.3.3", - "statuses": "1.5.0", - "unpipe": "1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" } }, "find-cache-dir": { @@ -3189,9 +2977,9 @@ "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", "dev": true, "requires": { - "commondir": "1.0.1", - "make-dir": "2.1.0", - "pkg-dir": "3.0.0" + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" } }, "find-up": { @@ -3199,7 +2987,7 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "requires": { - "locate-path": "3.0.0" + "locate-path": "^3.0.0" } }, "flat": { @@ -3207,14 +2995,7 @@ "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.0.tgz", "integrity": "sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw==", "requires": { - "is-buffer": "2.0.3" - }, - "dependencies": { - "is-buffer": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz", - "integrity": "sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==" - } + "is-buffer": "~2.0.3" } }, "flat-cache": { @@ -3223,278 +3004,73 @@ "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", "dev": true, "requires": { - "flatted": "2.0.0", + "flatted": "^2.0.0", "rimraf": "2.6.3", "write": "1.0.3" - } - }, - "flatiron": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/flatiron/-/flatiron-0.4.3.tgz", - "integrity": "sha1-JIz3mj2n19w3nioRySonGcu1QPY=", - "requires": { - "broadway": "0.3.6", - "director": "1.2.7", - "optimist": "0.6.0", - "prompt": "0.2.14" }, "dependencies": { - "minimist": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=" - }, - "optimist": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.0.tgz", - "integrity": "sha1-aUJIJvNAX3nxQub8PZrljU27kgA=", + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, "requires": { - "minimist": "0.0.10", - "wordwrap": "0.0.3" + "glob": "^7.1.3" } - }, - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=" } } }, "flatted": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.0.tgz", - "integrity": "sha512-R+H8IZclI8AAkSBRQJLVOsxwAoHd6WC40b4QTNWIjzAa6BXOBfQcM587MXDTVPeYaopFNWHUFLx7eNmHDSxMWg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz", + "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==", "dev": true }, "follow-redirects": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.7.0.tgz", - "integrity": "sha512-m/pZQy4Gj287eNy94nivy5wchN3Kp+Q5WgUPNy5lJSZ3sgkVKSYV/ZChMAQVIgx1SqfZ2zBZtPA2YlXIWxxJOQ==", - "requires": { - "debug": "3.2.6" - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" - }, - "for-own": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", - "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", - "requires": { - "for-in": "1.0.2" - } - }, - "forever": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/forever/-/forever-1.0.0.tgz", - "integrity": "sha512-ZaNWo5aMdtfui5GZWxaPcmFPW/TaaJZgGE0/p47lhn0FGRhFehuG338zuUURIqjn0dZEmgNPUAahZMOdykEAiw==", - "requires": { - "async": "0.2.10", - "cliff": "0.1.10", - "clone": "1.0.4", - "colors": "0.6.2", - "flatiron": "0.4.3", - "forever-monitor": "1.7.1", - "mkdirp": "0.5.1", - "nconf": "0.6.9", - "nssocket": "0.5.3", - "object-assign": "3.0.0", - "optimist": "0.6.1", - "path-is-absolute": "1.0.1", - "prettyjson": "1.2.1", - "shush": "1.0.0", - "utile": "0.3.0", - "winston": "0.8.3" - }, - "dependencies": { - "async": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", - "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=" - }, - "colors": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz", - "integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=" - }, - "object-assign": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", - "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=" - } - } - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true - }, - "forever-monitor": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/forever-monitor/-/forever-monitor-1.7.1.tgz", - "integrity": "sha1-XYIPSjp42y2BriZx8Vi56GoJG7g=", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.9.0.tgz", + "integrity": "sha512-CRcPzsSIbXyVDl0QI01muNDu69S8trU4jArW9LpOt2WtC6LyUJetcIrmfHsRBx7/Jb6GHJUiuqyYxPooFfNt6A==", "requires": { - "broadway": "0.3.6", - "chokidar": "1.7.0", - "minimatch": "3.0.4", - "ps-tree": "0.0.3", - "utile": "0.2.1" + "debug": "^3.0.0" }, - "dependencies": { - "anymatch": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", - "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", - "requires": { - "micromatch": "2.3.11", - "normalize-path": "2.1.1" - } - }, - "arr-diff": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", - "requires": { - "arr-flatten": "1.1.0" - } - }, - "array-unique": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=" - }, - "async": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", - "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=" - }, - "braces": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", - "requires": { - "expand-range": "1.8.2", - "preserve": "0.2.0", - "repeat-element": "1.1.3" - } - }, - "chokidar": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", - "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", - "requires": { - "anymatch": "1.3.2", - "async-each": "1.0.3", - "fsevents": "1.2.9", - "glob-parent": "2.0.0", - "inherits": "2.0.3", - "is-binary-path": "1.0.1", - "is-glob": "2.0.1", - "path-is-absolute": "1.0.1", - "readdirp": "2.2.1" - } - }, - "expand-brackets": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", - "requires": { - "is-posix-bracket": "0.1.1" - } - }, - "extglob": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", - "requires": { - "is-extglob": "1.0.0" - } - }, - "glob-parent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", - "requires": { - "is-glob": "2.0.1" - } - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "requires": { - "is-extglob": "1.0.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "1.1.6" - } - }, - "micromatch": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", - "requires": { - "arr-diff": "2.0.0", - "array-unique": "0.2.1", - "braces": "1.8.5", - "expand-brackets": "0.1.5", - "extglob": "0.3.2", - "filename-regex": "2.0.1", - "is-extglob": "1.0.0", - "is-glob": "2.0.1", - "kind-of": "3.2.2", - "normalize-path": "2.1.1", - "object.omit": "2.0.1", - "parse-glob": "3.0.4", - "regex-cache": "0.4.4" - } - }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "requires": { - "remove-trailing-separator": "1.1.0" + "ms": "^2.1.1" } }, - "utile": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/utile/-/utile-0.2.1.tgz", - "integrity": "sha1-kwyI6ZCY1iIINMNWy9mncFItkNc=", - "requires": { - "async": "0.2.10", - "deep-equal": "2.0.1", - "i": "0.3.6", - "mkdirp": "0.5.1", - "ncp": "0.4.2", - "rimraf": "2.6.3" - } + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" } } }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true, + "optional": true + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, "form-data": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "dev": true, "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.8", - "mime-types": "2.1.24" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" } }, "forwarded": { @@ -3502,12 +3078,19 @@ "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" }, + "frac": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/frac/-/frac-1.1.2.tgz", + "integrity": "sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==" + }, "fragment-cache": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "optional": true, "requires": { - "map-cache": "0.2.2" + "map-cache": "^0.2.2" } }, "fresh": { @@ -3530,29 +3113,38 @@ "version": "1.2.9", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz", "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==", + "dev": true, "optional": true, "requires": { - "nan": "2.14.0", - "node-pre-gyp": "0.12.0" + "nan": "^2.12.1", + "node-pre-gyp": "^0.12.0" }, "dependencies": { "abbrev": { "version": "1.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true, "optional": true }, "ansi-regex": { "version": "2.1.1", - "bundled": true + "resolved": false, + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true, + "optional": true }, "aproba": { "version": "1.2.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true, "optional": true }, "are-we-there-yet": { "version": "1.1.5", - "bundled": true, + "resolved": false, + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", "dev": true, "optional": true, "requires": { @@ -3562,41 +3154,61 @@ }, "balanced-match": { "version": "1.0.0", - "bundled": true + "resolved": false, + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true, + "optional": true }, "brace-expansion": { "version": "1.1.11", - "bundled": true, + "resolved": false, + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "optional": true, "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "chownr": { "version": "1.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==", + "dev": true, "optional": true }, "code-point-at": { "version": "1.1.0", - "bundled": true + "resolved": false, + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true, + "optional": true }, "concat-map": { "version": "0.0.1", - "bundled": true + "resolved": false, + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true, + "optional": true }, "console-control-strings": { "version": "1.1.0", - "bundled": true + "resolved": false, + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "dev": true, + "optional": true }, "core-util-is": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true, "optional": true }, "debug": { "version": "4.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "optional": true, "requires": { @@ -3605,22 +3217,29 @@ }, "deep-extend": { "version": "0.6.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true, "optional": true }, "delegates": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true, "optional": true }, "detect-libc": { "version": "1.0.3", - "bundled": true, + "resolved": false, + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", + "dev": true, "optional": true }, "fs-minipass": { "version": "1.2.5", - "bundled": true, + "resolved": false, + "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", "dev": true, "optional": true, "requires": { @@ -3629,12 +3248,15 @@ }, "fs.realpath": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true, "optional": true }, "gauge": { "version": "2.7.4", - "bundled": true, + "resolved": false, + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "dev": true, "optional": true, "requires": { @@ -3650,7 +3272,8 @@ }, "glob": { "version": "7.1.3", - "bundled": true, + "resolved": false, + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", "dev": true, "optional": true, "requires": { @@ -3664,12 +3287,15 @@ }, "has-unicode": { "version": "2.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "dev": true, "optional": true }, "iconv-lite": { "version": "0.4.24", - "bundled": true, + "resolved": false, + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, "optional": true, "requires": { @@ -3678,7 +3304,8 @@ }, "ignore-walk": { "version": "3.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", "dev": true, "optional": true, "requires": { @@ -3687,7 +3314,8 @@ }, "inflight": { "version": "1.0.6", - "bundled": true, + "resolved": false, + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "optional": true, "requires": { @@ -3697,16 +3325,22 @@ }, "inherits": { "version": "2.0.3", - "bundled": true + "resolved": false, + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true, + "optional": true }, "ini": { "version": "1.3.5", - "bundled": true, + "resolved": false, + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "dev": true, "optional": true }, "is-fullwidth-code-point": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "optional": true, "requires": { @@ -3715,12 +3349,15 @@ }, "isarray": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true, "optional": true }, "minimatch": { "version": "3.0.4", - "bundled": true, + "resolved": false, + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "optional": true, "requires": { @@ -3729,13 +3366,15 @@ }, "minimist": { "version": "0.0.8", - "bundled": true, + "resolved": false, + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", "dev": true, "optional": true }, "minipass": { "version": "2.3.5", - "bundled": true, + "resolved": false, + "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==", "dev": true, "optional": true, "requires": { @@ -3745,7 +3384,8 @@ }, "minizlib": { "version": "1.2.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA==", "dev": true, "optional": true, "requires": { @@ -3754,7 +3394,8 @@ }, "mkdirp": { "version": "0.5.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "dev": true, "optional": true, "requires": { @@ -3763,13 +3404,15 @@ }, "ms": { "version": "2.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", "dev": true, "optional": true }, "needle": { "version": "2.3.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-QBZu7aAFR0522EyaXZM0FZ9GLpq6lvQ3uq8gteiDUp7wKdy0lSd2hPlgFwVuW1CBkfEs9PfDQsQzZghLs/psdg==", "dev": true, "optional": true, "requires": { @@ -3780,7 +3423,8 @@ }, "node-pre-gyp": { "version": "0.12.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A==", "dev": true, "optional": true, "requires": { @@ -3798,7 +3442,8 @@ }, "nopt": { "version": "4.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", "dev": true, "optional": true, "requires": { @@ -3808,13 +3453,15 @@ }, "npm-bundled": { "version": "1.0.6", - "bundled": true, + "resolved": false, + "integrity": "sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==", "dev": true, "optional": true }, "npm-packlist": { "version": "1.4.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-+TcdO7HJJ8peiiYhvPxsEDhF3PJFGUGRcFsGve3vxvxdcpO2Z4Z7rkosRM0kWj6LfbK/P0gu3dzk5RU1ffvFcw==", "dev": true, "optional": true, "requires": { @@ -3824,7 +3471,8 @@ }, "npmlog": { "version": "4.1.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "dev": true, "optional": true, "requires": { @@ -3836,19 +3484,22 @@ }, "number-is-nan": { "version": "1.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "dev": true, "optional": true }, "object-assign": { "version": "4.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true, "optional": true }, "once": { "version": "1.4.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "optional": true, "requires": { @@ -3857,19 +3508,22 @@ }, "os-homedir": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "dev": true, "optional": true }, "os-tmpdir": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true, "optional": true }, "osenv": { "version": "0.1.5", - "bundled": true, + "resolved": false, + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "dev": true, "optional": true, "requires": { @@ -3879,19 +3533,22 @@ }, "path-is-absolute": { "version": "1.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true, "optional": true }, "process-nextick-args": { "version": "2.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", "dev": true, "optional": true }, "rc": { "version": "1.2.8", - "bundled": true, + "resolved": false, + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "dev": true, "optional": true, "requires": { @@ -3903,7 +3560,8 @@ "dependencies": { "minimist": { "version": "1.2.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true, "optional": true } @@ -3911,7 +3569,8 @@ }, "readable-stream": { "version": "2.3.6", - "bundled": true, + "resolved": false, + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "optional": true, "requires": { @@ -3926,7 +3585,8 @@ }, "rimraf": { "version": "2.6.3", - "bundled": true, + "resolved": false, + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", "dev": true, "optional": true, "requires": { @@ -3935,43 +3595,50 @@ }, "safe-buffer": { "version": "5.1.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true, "optional": true }, "safer-buffer": { "version": "2.1.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true, "optional": true }, "sax": { "version": "1.2.4", - "bundled": true, + "resolved": false, + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", "dev": true, "optional": true }, "semver": { "version": "5.7.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", "dev": true, "optional": true }, "set-blocking": { "version": "2.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true, "optional": true }, "signal-exit": { "version": "3.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true, "optional": true }, "string-width": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "optional": true, "requires": { @@ -3982,7 +3649,8 @@ }, "string_decoder": { "version": "1.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "optional": true, "requires": { @@ -3991,7 +3659,8 @@ }, "strip-ansi": { "version": "3.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "optional": true, "requires": { @@ -4000,13 +3669,15 @@ }, "strip-json-comments": { "version": "2.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", "dev": true, "optional": true }, "tar": { "version": "4.4.8", - "bundled": true, + "resolved": false, + "integrity": "sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ==", "dev": true, "optional": true, "requires": { @@ -4021,13 +3692,15 @@ }, "util-deprecate": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true, "optional": true }, "wide-align": { "version": "1.1.3", - "bundled": true, + "resolved": false, + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", "dev": true, "optional": true, "requires": { @@ -4036,13 +3709,15 @@ }, "wrappy": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true, "optional": true }, "yallist": { "version": "3.0.3", - "bundled": true, + "resolved": false, + "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==", "dev": true, "optional": true } @@ -4064,10 +3739,10 @@ "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-1.8.4.tgz", "integrity": "sha512-BoENMnu1Gav18HcpV9IleMPZ9exM+AvUjrAOV4Mzs/vfz2Lu/ABv451iEXByKiMPn2M140uul1txXCg83sAENw==", "requires": { - "abort-controller": "3.0.0", - "extend": "3.0.2", - "https-proxy-agent": "2.2.1", - "node-fetch": "2.6.0" + "abort-controller": "^3.0.0", + "extend": "^3.0.2", + "https-proxy-agent": "^2.2.1", + "node-fetch": "^2.3.0" } }, "gcp-metadata": { @@ -4075,8 +3750,8 @@ "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-1.0.0.tgz", "integrity": "sha512-Q6HrgfrCQeEircnNP3rCcEgiDv7eF9+1B+1MMgpE190+/+0mjQR8PxeOaRgxZWmdDAF9EIryHB9g1moPiw1SbQ==", "requires": { - "gaxios": "1.8.4", - "json-bigint": "0.3.0" + "gaxios": "^1.0.2", + "json-bigint": "^0.3.0" } }, "get-assigned-identifiers": { @@ -4095,18 +3770,12 @@ "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=" }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "requires": { - "pump": "3.0.0" - } - }, "get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true, + "optional": true }, "getpass": { "version": "0.1.7", @@ -4114,52 +3783,20 @@ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" } }, "glob": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", - "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "glob-base": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", - "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", "requires": { - "glob-parent": "2.0.0", - "is-glob": "2.0.1" - }, - "dependencies": { - "glob-parent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", - "requires": { - "is-glob": "2.0.1" - } - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "requires": { - "is-extglob": "1.0.0" - } - } + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "glob-parent": { @@ -4169,8 +3806,8 @@ "dev": true, "optional": true, "requires": { - "is-glob": "3.1.0", - "path-dirname": "1.0.2" + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" }, "dependencies": { "is-glob": { @@ -4180,7 +3817,7 @@ "dev": true, "optional": true, "requires": { - "is-extglob": "2.1.1" + "is-extglob": "^2.1.0" } } } @@ -4196,15 +3833,15 @@ "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-3.1.2.tgz", "integrity": "sha512-cDQMzTotwyWMrg5jRO7q0A4TL/3GWBgO7I7q5xGKNiiFf9SmGY/OJ1YsLMgI2MVHHsEGyrqYnbnmV1AE+Z6DnQ==", "requires": { - "base64-js": "1.3.0", - "fast-text-encoding": "1.0.0", - "gaxios": "1.8.4", - "gcp-metadata": "1.0.0", - "gtoken": "2.3.3", - "https-proxy-agent": "2.2.1", - "jws": "3.2.2", - "lru-cache": "5.1.1", - "semver": "5.7.0" + "base64-js": "^1.3.0", + "fast-text-encoding": "^1.0.0", + "gaxios": "^1.2.1", + "gcp-metadata": "^1.0.0", + "gtoken": "^2.3.2", + "https-proxy-agent": "^2.2.1", + "jws": "^3.1.5", + "lru-cache": "^5.0.0", + "semver": "^5.5.0" } }, "google-p12-pem": { @@ -4212,8 +3849,8 @@ "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-1.0.4.tgz", "integrity": "sha512-SwLAUJqUfTB2iS+wFfSS/G9p7bt4eWcc2LyfvmUXe7cWp6p3mpxDo6LLI29MXdU6wvPcQ/up298X7GMC5ylAlA==", "requires": { - "node-forge": "0.8.5", - "pify": "4.0.1" + "node-forge": "^0.8.0", + "pify": "^4.0.0" } }, "googleapis": { @@ -4221,8 +3858,8 @@ "resolved": "https://registry.npmjs.org/googleapis/-/googleapis-39.2.0.tgz", "integrity": "sha512-66X8TG1B33zAt177sG1CoKoYHPP/B66tEpnnSANGCqotMuY5gqSQO8G/0gqHZR2jRgc5CHSSNOJCnpI0SuDxMQ==", "requires": { - "google-auth-library": "3.1.2", - "googleapis-common": "0.7.2" + "google-auth-library": "^3.0.0", + "googleapis-common": "^0.7.0" } }, "googleapis-common": { @@ -4230,18 +3867,19 @@ "resolved": "https://registry.npmjs.org/googleapis-common/-/googleapis-common-0.7.2.tgz", "integrity": "sha512-9DEJIiO4nS7nw0VE1YVkEfXEj8x8MxsuB+yZIpOBULFSN9OIKcUU8UuKgSZFU4lJmRioMfngktrbkMwWJcUhQg==", "requires": { - "gaxios": "1.8.4", - "google-auth-library": "3.1.2", - "pify": "4.0.1", - "qs": "6.5.2", - "url-template": "2.0.8", - "uuid": "3.3.2" + "gaxios": "^1.2.2", + "google-auth-library": "^3.0.0", + "pify": "^4.0.0", + "qs": "^6.5.2", + "url-template": "^2.0.8", + "uuid": "^3.2.1" } }, "graceful-fs": { - "version": "4.1.15", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", - "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==" + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", + "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", + "dev": true }, "growl": { "version": "1.10.5", @@ -4253,11 +3891,18 @@ "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-2.3.3.tgz", "integrity": "sha512-EaB49bu/TCoNeQjhCYKI/CurooBKkGxIqFHsWABW0b25fobBYVTMe84A8EBVVZhl8emiUdNypil9huMOTmyAnw==", "requires": { - "gaxios": "1.8.4", - "google-p12-pem": "1.0.4", - "jws": "3.2.2", - "mime": "2.4.4", - "pify": "4.0.1" + "gaxios": "^1.0.4", + "google-p12-pem": "^1.0.0", + "jws": "^3.1.5", + "mime": "^2.2.0", + "pify": "^4.0.0" + }, + "dependencies": { + "mime": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==" + } } }, "har-schema": { @@ -4272,8 +3917,8 @@ "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", "dev": true, "requires": { - "ajv": "6.10.0", - "har-schema": "2.0.0" + "ajv": "^6.5.5", + "har-schema": "^2.0.0" } }, "has": { @@ -4281,7 +3926,7 @@ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "requires": { - "function-bind": "1.1.1" + "function-bind": "^1.1.1" } }, "has-flag": { @@ -4298,27 +3943,40 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "optional": true, "requires": { - "get-value": "2.0.6", - "has-values": "1.0.0", - "isobject": "3.0.1" + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" } }, "has-values": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "optional": true, "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" }, "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true, + "optional": true + }, "kind-of": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "optional": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -4329,8 +3987,8 @@ "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", "dev": true, "requires": { - "inherits": "2.0.3", - "safe-buffer": "5.1.2" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, "hash.js": { @@ -4339,8 +3997,8 @@ "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", "dev": true, "requires": { - "inherits": "2.0.3", - "minimalistic-assert": "1.0.1" + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" } }, "he": { @@ -4354,9 +4012,9 @@ "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", "dev": true, "requires": { - "hash.js": "1.1.7", - "minimalistic-assert": "1.0.1", - "minimalistic-crypto-utils": "1.0.1" + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" } }, "html-encoding-sniffer": { @@ -4365,7 +4023,7 @@ "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", "dev": true, "requires": { - "whatwg-encoding": "1.0.5" + "whatwg-encoding": "^1.0.1" } }, "htmlescape": { @@ -4379,21 +4037,21 @@ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", "requires": { - "depd": "1.1.2", + "depd": "~1.1.2", "inherits": "2.0.3", "setprototypeof": "1.1.1", - "statuses": "1.5.0", + "statuses": ">= 1.5.0 < 2", "toidentifier": "1.0.0" } }, "http-proxy": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz", - "integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==", + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.0.tgz", + "integrity": "sha512-84I2iJM/n1d4Hdgc6y2+qY5mDaz2PUVjlg9znE9byl+q0uC3DeByqBGReQu5tpLK0TAqTIXScRUV+dg7+bUPpQ==", "requires": { - "eventemitter3": "3.1.2", - "follow-redirects": "1.7.0", - "requires-port": "1.0.0" + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" } }, "http-server": { @@ -4402,13 +4060,13 @@ "integrity": "sha512-6JeGDGoujJLmhjiRGlt8yK8Z9Kl0vnl/dQoQZlc4oeqaUoAKQg94NILLfrY3oWzSyFaQCVNTcKE5PZ3cH8VP9w==", "requires": { "colors": "1.0.3", - "corser": "2.0.1", - "ecstatic": "3.3.2", - "http-proxy": "1.17.0", - "opener": "1.4.3", - "optimist": "0.6.1", - "portfinder": "1.0.20", - "union": "0.4.6" + "corser": "~2.0.0", + "ecstatic": "^3.0.0", + "http-proxy": "^1.8.1", + "opener": "~1.4.0", + "optimist": "0.6.x", + "portfinder": "^1.0.13", + "union": "~0.4.3" } }, "http-signature": { @@ -4417,9 +4075,9 @@ "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "dev": true, "requires": { - "assert-plus": "1.0.0", - "jsprim": "1.4.1", - "sshpk": "1.16.1" + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" } }, "https-browserify": { @@ -4429,25 +4087,35 @@ "dev": true }, "https-proxy-agent": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz", - "integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==", + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", + "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", "requires": { - "agent-base": "4.3.0", - "debug": "3.2.6" + "agent-base": "^4.3.0", + "debug": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } } }, - "i": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/i/-/i-0.3.6.tgz", - "integrity": "sha1-2WyScyB28HJxG2sQ/X1PZa2O4j0=" - }, "iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "requires": { - "safer-buffer": "2.1.2" + "safer-buffer": ">= 2.1.2 < 3" } }, "ieee754": { @@ -4468,13 +4136,13 @@ "dev": true }, "import-fresh": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.0.0.tgz", - "integrity": "sha512-pOnA9tfM3Uwics+SaBLCNyZZZbK+4PTu0OPZtLlMIrv17EdBoC15S9Kn8ckJ9TZTyKb3ywNE5y1yeDxxGA7nTQ==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", + "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", "dev": true, "requires": { - "parent-module": "1.0.1", - "resolve-from": "4.0.0" + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" } }, "imurmurhash": { @@ -4488,8 +4156,8 @@ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -4497,39 +4165,34 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" }, - "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" - }, "inline-source-map": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz", "integrity": "sha1-+Tk0ccGKedFyT4Y/o4tYY3Ct4qU=", "dev": true, "requires": { - "source-map": "0.5.7" + "source-map": "~0.5.3" } }, "inquirer": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.3.1.tgz", - "integrity": "sha512-MmL624rfkFt4TG9y/Jvmt8vdmOo836U7Y0Hxr2aFk3RelZEGX4Igk0KabWrcaaZaTv9uzglOqWh1Vly+FAWAXA==", - "dev": true, - "requires": { - "ansi-escapes": "3.2.0", - "chalk": "2.4.2", - "cli-cursor": "2.1.0", - "cli-width": "2.2.0", - "external-editor": "3.0.3", - "figures": "2.0.0", - "lodash": "4.17.14", + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", + "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", + "dev": true, + "requires": { + "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.3.0", - "rxjs": "6.5.2", - "string-width": "2.1.1", - "strip-ansi": "5.2.0", - "through": "2.3.8" + "run-async": "^2.2.0", + "rxjs": "^6.4.0", + "string-width": "^2.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" }, "dependencies": { "ansi-regex": { @@ -4544,7 +4207,7 @@ "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "requires": { - "ansi-regex": "4.1.0" + "ansi-regex": "^4.1.0" } } } @@ -4555,16 +4218,24 @@ "integrity": "sha512-VE6NlW+WGn2/AeOMd496AHFYmE7eLKkUY6Ty31k4og5vmA3Fjuwe9v6ifH6Xx/Hz27QvdoMoviw1/pqWRB09Sw==", "dev": true, "requires": { - "JSONStream": "1.3.5", - "acorn-node": "1.6.2", - "combine-source-map": "0.8.0", - "concat-stream": "1.6.2", - "is-buffer": "1.1.6", - "path-is-absolute": "1.0.1", - "process": "0.11.10", - "through2": "2.0.5", - "undeclared-identifiers": "1.1.3", - "xtend": "4.0.1" + "JSONStream": "^1.0.3", + "acorn-node": "^1.5.2", + "combine-source-map": "^0.8.0", + "concat-stream": "^1.6.1", + "is-buffer": "^1.1.0", + "path-is-absolute": "^1.0.1", + "process": "~0.11.0", + "through2": "^2.0.0", + "undeclared-identifiers": "^1.1.2", + "xtend": "^4.0.0" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + } } }, "invariant": { @@ -4573,14 +4244,9 @@ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "dev": true, "requires": { - "loose-envify": "1.4.0" + "loose-envify": "^1.0.0" } }, - "invert-kv": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", - "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==" - }, "ip-regex": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", @@ -4596,47 +4262,45 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "optional": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true, + "optional": true + }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "optional": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } }, - "is-arguments": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", - "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==" - }, - "is-bigint": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.0.tgz", - "integrity": "sha512-t5mGUXC/xRheCK431ylNiSkGGpBp8bHENBcENTkDT6ppwPzEVxNGZRvgvmOEfbWkFhA7D2GEuE2mmQTr78sl2g==" - }, "is-binary-path": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "optional": true, "requires": { - "binary-extensions": "1.13.1" + "binary-extensions": "^1.0.0" } }, - "is-boolean-object": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.0.0.tgz", - "integrity": "sha1-mPiygDBoQhmpXzdc+9iM40Bd/5M=" - }, "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", + "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==" }, "is-callable": { "version": "1.1.4", @@ -4647,16 +4311,27 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "optional": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true, + "optional": true + }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "optional": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -4670,42 +4345,36 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "optional": true, "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, "dependencies": { "kind-of": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "optional": true } } }, - "is-dotfile": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", - "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=" - }, - "is-equal-shallow": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", - "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", - "requires": { - "is-primitive": "2.0.0" - } - }, "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true, + "optional": true }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true + "dev": true, + "optional": true }, "is-fullwidth-code-point": { "version": "2.0.0", @@ -4719,37 +4388,38 @@ "dev": true, "optional": true, "requires": { - "is-extglob": "2.1.1" + "is-extglob": "^2.1.1" } }, - "is-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.1.tgz", - "integrity": "sha512-T/S49scO8plUiAOA2DBTBG3JHpn1yiw0kRp6dgiZ0v2/6twi5eiB0rHtHFH9ZIrvlWc6+4O+m4zg5+Z833aXgw==" - }, "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "optional": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true, + "optional": true + }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "optional": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } }, - "is-number-object": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.3.tgz", - "integrity": "sha1-8mWrian0RQNO9q/xWo8AsA9VF5k=" - }, "is-plain-obj": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", @@ -4760,20 +4430,12 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "optional": true, "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" } }, - "is-posix-bracket": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", - "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=" - }, - "is-primitive": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", - "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=" - }, "is-promise": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", @@ -4785,30 +4447,15 @@ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", "requires": { - "has": "1.0.3" + "has": "^1.0.1" } }, - "is-set": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.1.tgz", - "integrity": "sha512-eJEzOtVyenDs1TMzSQ3kU3K+E0GUS9sno+F0OBT97xsgcJsF9nXMBtkT9/kut5JEpM7oL7X/0qxR17K3mcwIAA==" - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" - }, - "is-string": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.4.tgz", - "integrity": "sha1-zDqbaYV9Yh6WNyWiTK7shzuCbmQ=" - }, "is-symbol": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", "requires": { - "has-symbols": "1.0.0" + "has-symbols": "^1.0.0" } }, "is-typedarray": { @@ -4817,20 +4464,12 @@ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", "dev": true }, - "is-weakmap": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", - "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==" - }, - "is-weakset": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.1.tgz", - "integrity": "sha512-pi4vhbhVHGLxohUw7PhGsueT4vRGFoXhP7+RGN0jKIv9+8PWYCQTqtADngrxOm2g46hoH0+g8uZZBzMrvVGDmw==" - }, "is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true, + "optional": true }, "isarray": { "version": "1.0.0", @@ -4845,12 +4484,15 @@ "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true, + "optional": true }, "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true }, "jquery": { "version": "3.4.1", @@ -4874,8 +4516,8 @@ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", "requires": { - "argparse": "1.0.10", - "esprima": "4.0.1" + "argparse": "^1.0.7", + "esprima": "^4.0.0" } }, "jsbn": { @@ -4890,32 +4532,49 @@ "integrity": "sha512-cQZRBB33arrDAeCrAEWn1U3SvrvC8XysBua9Oqg1yWrsY/gYcusloJC3RZJXuY5eehSCmws8f2YeliCqGSkrtQ==", "dev": true, "requires": { - "abab": "2.0.0", - "acorn": "6.1.1", - "acorn-globals": "4.3.2", - "array-equal": "1.0.0", - "cssom": "0.3.6", - "cssstyle": "1.2.2", - "data-urls": "1.1.0", - "domexception": "1.0.1", - "escodegen": "1.11.1", - "html-encoding-sniffer": "1.0.2", - "nwsapi": "2.1.4", + "abab": "^2.0.0", + "acorn": "^6.1.1", + "acorn-globals": "^4.3.2", + "array-equal": "^1.0.0", + "cssom": "^0.3.6", + "cssstyle": "^1.2.2", + "data-urls": "^1.1.0", + "domexception": "^1.0.1", + "escodegen": "^1.11.1", + "html-encoding-sniffer": "^1.0.2", + "nwsapi": "^2.1.4", "parse5": "5.1.0", - "pn": "1.1.0", - "request": "2.88.0", - "request-promise-native": "1.0.7", - "saxes": "3.1.10", - "symbol-tree": "3.2.4", - "tough-cookie": "3.0.1", - "w3c-hr-time": "1.0.1", - "w3c-xmlserializer": "1.1.2", - "webidl-conversions": "4.0.2", - "whatwg-encoding": "1.0.5", - "whatwg-mimetype": "2.3.0", - "whatwg-url": "7.0.0", - "ws": "7.0.1", - "xml-name-validator": "3.0.0" + "pn": "^1.1.0", + "request": "^2.88.0", + "request-promise-native": "^1.0.7", + "saxes": "^3.1.9", + "symbol-tree": "^3.2.2", + "tough-cookie": "^3.0.1", + "w3c-hr-time": "^1.0.1", + "w3c-xmlserializer": "^1.1.2", + "webidl-conversions": "^4.0.2", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^7.0.0", + "ws": "^7.0.0", + "xml-name-validator": "^3.0.0" + }, + "dependencies": { + "acorn": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz", + "integrity": "sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==", + "dev": true + }, + "ws": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.2.0.tgz", + "integrity": "sha512-+SqNqFbwTm/0DC18KYzIsMTnEWpLwJsiasW/O17la4iDRRIO9uaHbvKiAS3AHgTiuuWerK/brj4O6MYZkei9xg==", + "dev": true, + "requires": { + "async-limiter": "^1.0.0" + } + } } }, "jsdom-global": { @@ -4935,7 +4594,7 @@ "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-0.3.0.tgz", "integrity": "sha1-DM2RLEuCcNBfBW+9E4FLU9OCWx4=", "requires": { - "bignumber.js": "7.2.1" + "bignumber.js": "^7.0.0" } }, "json-schema": { @@ -4956,7 +4615,7 @@ "integrity": "sha1-YRwj6BTbN1Un34URk9tZ3Sryf0U=", "dev": true, "requires": { - "jsonify": "0.0.0" + "jsonify": "~0.0.0" } }, "json-stable-stringify-without-jsonify": { @@ -4972,18 +4631,19 @@ "dev": true }, "json5": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", - "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz", + "integrity": "sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==", "dev": true, "requires": { - "minimist": "1.2.0" + "minimist": "^1.2.0" } }, "jsonify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true }, "jsonparse": { "version": "1.3.1", @@ -5010,7 +4670,7 @@ "requires": { "buffer-equal-constant-time": "1.0.1", "ecdsa-sig-formatter": "1.0.11", - "safe-buffer": "5.1.2" + "safe-buffer": "^5.0.1" } }, "jws": { @@ -5018,45 +4678,25 @@ "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", "requires": { - "jwa": "1.4.1", - "safe-buffer": "5.1.2" + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" } }, "kind-of": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true, + "optional": true }, "labeled-stream-splicer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.1.tgz", - "integrity": "sha512-MC94mHZRvJ3LfykJlTUipBqenZz1pacOZEMhhQ8dMGcDHs0SBE5GbsavUXV7YtP3icBW17W0Zy1I0lfASmo9Pg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz", + "integrity": "sha512-Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw==", "dev": true, "requires": { - "inherits": "2.0.3", - "isarray": "2.0.4", - "stream-splicer": "2.0.0" - }, - "dependencies": { - "isarray": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.4.tgz", - "integrity": "sha512-GMxXOiUirWg1xTKRipM0Ek07rX+ubx4nNVElTJdNLYmNO/2YrDkgJGw9CljXn+r4EWiDQg/8lsRdHyg2PJuUaA==", - "dev": true - } - } - }, - "lazy": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/lazy/-/lazy-1.0.11.tgz", - "integrity": "sha1-2qBoIGKCVCwIgojpdcKXwa53tpA=" - }, - "lcid": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", - "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", - "requires": { - "invert-kv": "2.0.0" + "inherits": "^2.0.1", + "stream-splicer": "^2.0.0" } }, "levn": { @@ -5065,8 +4705,8 @@ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "dev": true, "requires": { - "prelude-ls": "1.1.2", - "type-check": "0.3.2" + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" } }, "locate-path": { @@ -5074,14 +4714,14 @@ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "requires": { - "p-locate": "3.0.0", - "path-exists": "3.0.0" + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" } }, "lodash": { - "version": "4.17.14", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.14.tgz", - "integrity": "sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw==" + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" }, "lodash.memoize": { "version": "3.0.4", @@ -5100,7 +4740,7 @@ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", "requires": { - "chalk": "2.4.2" + "chalk": "^2.0.1" } }, "loose-envify": { @@ -5109,7 +4749,7 @@ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "dev": true, "requires": { - "js-tokens": "4.0.0" + "js-tokens": "^3.0.0 || ^4.0.0" } }, "lru-cache": { @@ -5117,7 +4757,7 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "requires": { - "yallist": "3.0.3" + "yallist": "^3.0.2" } }, "make-dir": { @@ -5126,45 +4766,36 @@ "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", "dev": true, "requires": { - "pify": "4.0.1", - "semver": "5.7.0" - } - }, - "map-age-cleaner": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", - "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", - "requires": { - "p-defer": "1.0.0" + "pify": "^4.0.1", + "semver": "^5.6.0" } }, "map-cache": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true, + "optional": true }, "map-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "optional": true, "requires": { - "object-visit": "1.0.1" + "object-visit": "^1.0.0" } }, - "math-random": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz", - "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==" - }, "md5.js": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", "dev": true, "requires": { - "hash-base": "3.0.4", - "inherits": "2.0.3", - "safe-buffer": "5.1.2" + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" } }, "media-typer": { @@ -5172,16 +4803,6 @@ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" }, - "mem": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", - "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", - "requires": { - "map-age-cleaner": "0.1.3", - "mimic-fn": "2.1.0", - "p-is-promise": "2.1.0" - } - }, "merge": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.1.tgz", @@ -5202,20 +4823,22 @@ "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "optional": true, "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "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.13", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "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" } }, "miller-rabin": { @@ -5224,14 +4847,14 @@ "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", "dev": true, "requires": { - "bn.js": "4.11.8", - "brorand": "1.1.0" + "bn.js": "^4.0.0", + "brorand": "^1.0.1" } }, "mime": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", - "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==" + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" }, "mime-db": { "version": "1.40.0", @@ -5247,9 +4870,10 @@ } }, "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true }, "minimalistic-assert": { "version": "1.0.1", @@ -5268,7 +4892,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -5280,17 +4904,21 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "optional": true, "requires": { - "for-in": "1.0.2", - "is-extendable": "1.0.1" + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "optional": true, "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } @@ -5311,9 +4939,9 @@ } }, "mocha": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-6.1.4.tgz", - "integrity": "sha512-PN8CIy4RXsIoxoFJzS4QNnCH4psUCPWc4/rPrst/ecSJJbLBkubMiyGCP2Kj/9YnWbotFqAoeXyXMucj7gwCFg==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-6.2.2.tgz", + "integrity": "sha512-FgDS9Re79yU1xz5d+C4rv1G7QagNGHZ+iXF81hO8zY35YZZcLEsJVfFolfsqKFWunATEvNzMK0r/CwWd/szO9A==", "requires": { "ansi-colors": "3.2.3", "browser-stdout": "1.3.1", @@ -5335,81 +4963,85 @@ "supports-color": "6.0.0", "which": "1.3.1", "wide-align": "1.1.3", - "yargs": "13.2.2", - "yargs-parser": "13.0.0", - "yargs-unparser": "1.5.0" + "yargs": "13.3.0", + "yargs-parser": "13.1.1", + "yargs-unparser": "1.6.0" }, "dependencies": { - "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "ms": "^2.1.1" } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" } } }, "module-deps": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.2.0.tgz", - "integrity": "sha512-hKPmO06so6bL/ZvqVNVqdTVO8UAYsi3tQWlCa+z9KuWhoN4KDQtb5hcqQQv58qYiDE21wIvnttZEPiDgEbpwbA==", - "dev": true, - "requires": { - "JSONStream": "1.3.5", - "browser-resolve": "1.11.3", - "cached-path-relative": "1.0.2", - "concat-stream": "1.6.2", - "defined": "1.0.0", - "detective": "5.2.0", - "duplexer2": "0.1.4", - "inherits": "2.0.3", - "parents": "1.0.1", - "readable-stream": "2.3.6", - "resolve": "1.10.1", - "stream-combiner2": "1.1.1", - "subarg": "1.0.0", - "through2": "2.0.5", - "xtend": "4.0.1" + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.2.1.tgz", + "integrity": "sha512-UnEn6Ah36Tu4jFiBbJVUtt0h+iXqxpLqDvPS8nllbw5RZFmNJ1+Mz5BjYnM9ieH80zyxHkARGLnMIHlPK5bu6A==", + "dev": true, + "requires": { + "JSONStream": "^1.0.3", + "browser-resolve": "^1.7.0", + "cached-path-relative": "^1.0.2", + "concat-stream": "~1.6.0", + "defined": "^1.0.0", + "detective": "^5.0.2", + "duplexer2": "^0.1.2", + "inherits": "^2.0.1", + "parents": "^1.0.0", + "readable-stream": "^2.0.2", + "resolve": "^1.4.0", + "stream-combiner2": "^1.1.1", + "subarg": "^1.0.0", + "through2": "^2.0.0", + "xtend": "^4.0.0" } }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "mute-stream": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "dev": true }, "nan": { "version": "2.14.0", "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", + "dev": true, "optional": true }, "nanomatch": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "optional": true, "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "fragment-cache": "0.2.1", - "is-windows": "1.0.2", - "kind-of": "6.0.2", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "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": { @@ -5418,47 +5050,6 @@ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, - "nconf": { - "version": "0.6.9", - "resolved": "https://registry.npmjs.org/nconf/-/nconf-0.6.9.tgz", - "integrity": "sha1-lXDvFe1vmuays8jV5xtm0xk81mE=", - "requires": { - "async": "0.2.9", - "ini": "1.3.5", - "optimist": "0.6.0" - }, - "dependencies": { - "async": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/async/-/async-0.2.9.tgz", - "integrity": "sha1-32MGD789Myhqdqr21Vophtn/hhk=" - }, - "minimist": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=" - }, - "optimist": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.0.tgz", - "integrity": "sha1-aUJIJvNAX3nxQub8PZrljU27kgA=", - "requires": { - "minimist": "0.0.10", - "wordwrap": "0.0.3" - } - }, - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=" - } - } - }, - "ncp": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz", - "integrity": "sha1-q8xsvT7C7Spyn/bnwfqPAXhKhXQ=" - }, "negotiator": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", @@ -5467,15 +5058,16 @@ "nice-try": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true }, "node-environment-flags": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.5.tgz", "integrity": "sha512-VNYPRfGfmZLx0Ye20jWzHUjyTW/c+6Wq+iLhDzUI4XmhrDd9l/FozXV3F2xOaXjvp0co0+v1YSR3CMP6g+VvLQ==", "requires": { - "object.getownpropertydescriptors": "2.0.3", - "semver": "5.7.0" + "object.getownpropertydescriptors": "^2.0.3", + "semver": "^5.7.0" } }, "node-fetch": { @@ -5495,12 +5087,20 @@ "dev": true }, "node-releases": { - "version": "1.1.21", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.21.tgz", - "integrity": "sha512-TwnURTCjc8a+ElJUjmDqU6+12jhli1Q61xOQmdZ7ECZVBZuQpN/1UnembiIHDM1wCcfLvh5wrWXUF5H6ufX64Q==", + "version": "1.1.39", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.39.tgz", + "integrity": "sha512-8MRC/ErwNCHOlAFycy9OPca46fQYUjbJRDcZTHVWIGXIjYLM73k70vv3WkYutVnM4cCo4hE0MqBVVZjP6vjISA==", "dev": true, "requires": { - "semver": "5.7.0" + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, "normalize-path": { @@ -5510,28 +5110,6 @@ "dev": true, "optional": true }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "requires": { - "path-key": "2.0.1" - } - }, - "nssocket": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/nssocket/-/nssocket-0.5.3.tgz", - "integrity": "sha1-iDyi7GBfXtZKTVGQsmJUAZKPj40=", - "requires": { - "eventemitter2": "0.4.14", - "lazy": "1.0.11" - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" - }, "nwsapi": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.1.4.tgz", @@ -5554,39 +5132,47 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "optional": true, "requires": { - "copy-descriptor": "0.1.1", - "define-property": "0.2.5", - "kind-of": "3.2.2" + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" }, "dependencies": { "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "optional": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true, + "optional": true + }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "optional": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } }, "object-inspect": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", - "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==" - }, - "object-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.0.2.tgz", - "integrity": "sha512-Epah+btZd5wrrfjkJZq1AOB9O6OxUQto45hzFd7lXGrpHPGE0W1k+426yrZV+k6NJOzLNNW/nVsmZdIWsAqoOQ==" + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz", + "integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==" }, "object-keys": { "version": "1.1.1", @@ -5597,8 +5183,10 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "optional": true, "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.0" } }, "object.assign": { @@ -5606,10 +5194,10 @@ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", "requires": { - "define-properties": "1.1.3", - "function-bind": "1.1.1", - "has-symbols": "1.0.0", - "object-keys": "1.1.1" + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" } }, "object.getownpropertydescriptors": { @@ -5617,25 +5205,18 @@ "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", "requires": { - "define-properties": "1.1.3", - "es-abstract": "1.13.0" - } - }, - "object.omit": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", - "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", - "requires": { - "for-own": "0.1.5", - "is-extendable": "0.1.1" + "define-properties": "^1.1.2", + "es-abstract": "^1.5.1" } }, "object.pick": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "optional": true, "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" } }, "on-finished": { @@ -5651,7 +5232,7 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "onetime": { @@ -5660,15 +5241,7 @@ "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "dev": true, "requires": { - "mimic-fn": "1.2.0" - }, - "dependencies": { - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "dev": true - } + "mimic-fn": "^1.0.0" } }, "opener": { @@ -5681,19 +5254,14 @@ "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "requires": { - "minimist": "0.0.10", - "wordwrap": "0.0.3" + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" }, "dependencies": { "minimist": { "version": "0.0.10", "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=" - }, - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=" } } }, @@ -5703,12 +5271,20 @@ "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", "dev": true, "requires": { - "deep-is": "0.1.3", - "fast-levenshtein": "2.0.6", - "levn": "0.3.0", - "prelude-ls": "1.1.2", - "type-check": "0.3.2", - "wordwrap": "1.0.0" + "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" + }, + "dependencies": { + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true + } } }, "os-browserify": { @@ -5717,16 +5293,6 @@ "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", "dev": true }, - "os-locale": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", - "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", - "requires": { - "execa": "1.0.0", - "lcid": "2.0.0", - "mem": "4.3.0" - } - }, "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", @@ -5739,32 +5305,17 @@ "integrity": "sha512-mDho4qm7WgIXIGf4eYU1RHN2UU5tPfVYVSRwDJw0uTmj35DQUt/eNp19N7v6T3SrR0ESTEf2up2CGO73qI35zQ==", "dev": true, "requires": { - "graceful-fs": "4.1.15", - "is-plain-obj": "1.1.0", - "mkdirp": "0.5.1" + "graceful-fs": "^4.1.11", + "is-plain-obj": "^1.1.0", + "mkdirp": "^0.5.1" } }, - "p-defer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", - "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=" - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" - }, - "p-is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", - "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==" - }, "p-limit": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz", - "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", + "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", "requires": { - "p-try": "2.2.0" + "p-try": "^2.0.0" } }, "p-locate": { @@ -5772,7 +5323,7 @@ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "requires": { - "p-limit": "2.2.0" + "p-limit": "^2.0.0" } }, "p-try": { @@ -5797,7 +5348,7 @@ "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, "requires": { - "callsites": "3.1.0" + "callsites": "^3.0.0" } }, "parents": { @@ -5806,47 +5357,21 @@ "integrity": "sha1-/t1NK/GTp3dF/nHjcdc8MwfZx1E=", "dev": true, "requires": { - "path-platform": "0.11.15" + "path-platform": "~0.11.15" } }, "parse-asn1": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.4.tgz", - "integrity": "sha512-Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw==", + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", + "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", "dev": true, "requires": { - "asn1.js": "4.10.1", - "browserify-aes": "1.2.0", - "create-hash": "1.2.0", - "evp_bytestokey": "1.0.3", - "pbkdf2": "3.0.17", - "safe-buffer": "5.1.2" - } - }, - "parse-glob": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", - "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", - "requires": { - "glob-base": "0.3.0", - "is-dotfile": "1.0.3", - "is-extglob": "1.0.0", - "is-glob": "2.0.1" - }, - "dependencies": { - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "requires": { - "is-extglob": "1.0.0" - } - } + "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" } }, "parse5": { @@ -5863,7 +5388,9 @@ "pascalcase": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true, + "optional": true }, "path-browserify": { "version": "0.0.1", @@ -5897,7 +5424,8 @@ "path-key": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true }, "path-parse": { "version": "1.0.6", @@ -5927,11 +5455,11 @@ "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", "dev": true, "requires": { - "create-hash": "1.2.0", - "create-hmac": "1.1.7", - "ripemd160": "2.0.2", - "safe-buffer": "5.1.2", - "sha.js": "2.4.11" + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" } }, "pend": { @@ -5956,7 +5484,7 @@ "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", "dev": true, "requires": { - "node-modules-regexp": "1.0.0" + "node-modules-regexp": "^1.0.0" } }, "pkg-dir": { @@ -5965,14 +5493,9 @@ "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", "dev": true, "requires": { - "find-up": "3.0.0" + "find-up": "^3.0.0" } }, - "pkginfo": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.3.1.tgz", - "integrity": "sha1-Wyn2qB9wcXFC4J52W76rl7T4HiE=" - }, "pn": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", @@ -5980,34 +5503,36 @@ "dev": true }, "portfinder": { - "version": "1.0.20", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.20.tgz", - "integrity": "sha512-Yxe4mTyDzTd59PZJY4ojZR8F+E5e97iq2ZOHPz3HDgSvYC5siNad2tLooQ5y5QHyQhc3xVqvyk/eNA3wuoa7Sw==", + "version": "1.0.25", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.25.tgz", + "integrity": "sha512-6ElJnHBbxVA1XSLgBp7G1FiCkQdlqGzuF7DswL5tcea+E8UpuvPU7beVAjjRwCioTS9ZluNbu+ZyRvgTsmqEBg==", "requires": { - "async": "1.5.2", - "debug": "2.6.9", - "mkdirp": "0.5.1" + "async": "^2.6.2", + "debug": "^3.1.1", + "mkdirp": "^0.5.1" }, "dependencies": { "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "requires": { - "ms": "2.0.0" + "ms": "^2.1.1" } }, "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" } } }, "posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true, + "optional": true }, "prelude-ls": { "version": "1.1.2", @@ -6015,26 +5540,10 @@ "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", "dev": true }, - "preserve": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", - "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=" - }, - "prettyjson": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prettyjson/-/prettyjson-1.2.1.tgz", - "integrity": "sha1-/P+rQdGcq0365eV15kJGYZsS0ok=", - "requires": { - "colors": "1.4.0", - "minimist": "1.2.0" - }, - "dependencies": { - "colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" - } - } + "printj": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/printj/-/printj-1.1.2.tgz", + "integrity": "sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==" }, "private": { "version": "0.1.8", @@ -6049,53 +5558,21 @@ "dev": true }, "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, "progress": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" }, - "prompt": { - "version": "0.2.14", - "resolved": "https://registry.npmjs.org/prompt/-/prompt-0.2.14.tgz", - "integrity": "sha1-V3VPZPVD/XsIRXB8gY7OYY8F/9w=", - "requires": { - "pkginfo": "0.3.1", - "read": "1.0.7", - "revalidator": "0.1.8", - "utile": "0.2.1", - "winston": "0.8.3" - }, - "dependencies": { - "async": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", - "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=" - }, - "utile": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/utile/-/utile-0.2.1.tgz", - "integrity": "sha1-kwyI6ZCY1iIINMNWy9mncFItkNc=", - "requires": { - "async": "0.2.10", - "deep-equal": "2.0.1", - "i": "0.3.6", - "mkdirp": "0.5.1", - "ncp": "0.4.2", - "rimraf": "2.6.3" - } - } - } - }, "proxy-addr": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz", "integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==", "requires": { - "forwarded": "0.1.2", + "forwarded": "~0.1.2", "ipaddr.js": "1.9.0" } }, @@ -6104,18 +5581,10 @@ "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", "integrity": "sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4=" }, - "ps-tree": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/ps-tree/-/ps-tree-0.0.3.tgz", - "integrity": "sha1-2/jXUqf+Ivp9WGNWiUmWEOknbdw=", - "requires": { - "event-stream": "0.5.3" - } - }, "psl": { - "version": "1.1.33", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.33.tgz", - "integrity": "sha512-LTDP2uSrsc7XCb5lO7A8BI1qYxRe/8EqlRvMeEl6rsnYAqDOl8xHR+8lSAIVfrNaSAlTPTNOCgNjWcoUL3AZsw==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.4.0.tgz", + "integrity": "sha512-HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw==", "dev": true }, "public-encrypt": { @@ -6124,21 +5593,12 @@ "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", "dev": true, "requires": { - "bn.js": "4.11.8", - "browserify-rsa": "4.0.1", - "create-hash": "1.2.0", - "parse-asn1": "5.1.4", - "randombytes": "2.1.0", - "safe-buffer": "5.1.2" - } - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "requires": { - "end-of-stream": "1.4.1", - "once": "1.4.0" + "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" } }, "punycode": { @@ -6148,18 +5608,18 @@ "dev": true }, "puppeteer": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-1.19.0.tgz", - "integrity": "sha512-2S6E6ygpoqcECaagDbBopoSOPDv0pAZvTbnBgUY+6hq0/XDFDOLEMNlHF/SKJlzcaZ9ckiKjKDuueWI3FN/WXw==", - "requires": { - "debug": "4.1.1", - "extract-zip": "1.6.7", - "https-proxy-agent": "2.2.1", - "mime": "2.4.4", - "progress": "2.0.3", - "proxy-from-env": "1.0.0", - "rimraf": "2.6.3", - "ws": "6.2.1" + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-1.20.0.tgz", + "integrity": "sha512-bt48RDBy2eIwZPrkgbcwHtb51mj2nKvHOPMaSH2IsWiv7lOG9k9zhaRzpDZafrk05ajMc3cu+lSQYYOfH2DkVQ==", + "requires": { + "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" }, "dependencies": { "debug": { @@ -6167,23 +5627,25 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "requires": { - "ms": "2.1.1" + "ms": "^2.1.1" } }, - "ws": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", - "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", - "requires": { - "async-limiter": "1.0.0" - } + "mime": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==" + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" } } }, "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" }, "querystring": { "version": "0.2.0", @@ -6197,30 +5659,13 @@ "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", "dev": true }, - "randomatic": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", - "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", - "requires": { - "is-number": "4.0.0", - "kind-of": "6.0.2", - "math-random": "1.0.4" - }, - "dependencies": { - "is-number": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", - "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==" - } - } - }, "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "^5.1.0" } }, "randomfill": { @@ -6229,8 +5674,8 @@ "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", "dev": true, "requires": { - "randombytes": "2.1.0", - "safe-buffer": "5.1.2" + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" } }, "range-parser": { @@ -6249,21 +5694,13 @@ "unpipe": "1.0.0" } }, - "read": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", - "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=", - "requires": { - "mute-stream": "0.0.7" - } - }, "read-only-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz", "integrity": "sha1-JyT9aoET1zdkrCiNQ4YnDB2/F/A=", "dev": true, "requires": { - "readable-stream": "2.3.6" + "readable-stream": "^2.0.2" } }, "readable-stream": { @@ -6271,33 +5708,25 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.2", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" - }, - "dependencies": { - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "5.1.2" - } - } + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, "readdirp": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "optional": true, "requires": { - "graceful-fs": "4.1.15", - "micromatch": "3.1.10", - "readable-stream": "2.3.6" + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" } }, "readline": { @@ -6317,83 +5746,33 @@ "integrity": "sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==", "dev": true, "requires": { - "regenerate": "1.4.0" + "regenerate": "^1.4.0" } }, + "regenerator-runtime": { + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz", + "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==", + "dev": true + }, "regenerator-transform": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.0.tgz", - "integrity": "sha512-rtOelq4Cawlbmq9xuMR5gdFmv7ku/sFoB7sRiywx7aq53bc52b4j6zvH7Te1Vt/X2YveDKnCGUbioieU7FEL3w==", + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.1.tgz", + "integrity": "sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ==", "dev": true, "requires": { - "private": "0.1.8" - } - }, - "regex-cache": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", - "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", - "requires": { - "is-equal-shallow": "0.1.3" + "private": "^0.1.6" } }, "regex-not": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "optional": true, "requires": { - "extend-shallow": "3.0.2", - "safe-regex": "1.1.0" - } - }, - "regexp-tree": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.10.tgz", - "integrity": "sha512-K1qVSbcedffwuIslMwpe6vGlj+ZXRnGkvjAtFHfDZZZuEdA/h0dxljAPu9vhUo6Rrx2U2AwJ+nSQ6hK+lrP5MQ==", - "dev": true - }, - "regexp.prototype.flags": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", - "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", - "requires": { - "define-properties": "1.1.3", - "es-abstract": "1.17.0-next.1" - }, - "dependencies": { - "es-abstract": { - "version": "1.17.0-next.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.0-next.1.tgz", - "integrity": "sha512-7MmGr03N7Rnuid6+wyhD9sHNE2n4tFSwExnU2lQl3lIo2ShXWGePY80zYaoMOmILWv57H0amMjZGHNzzGG70Rw==", - "requires": { - "es-to-primitive": "1.2.1", - "function-bind": "1.1.1", - "has": "1.0.3", - "has-symbols": "1.0.1", - "is-callable": "1.1.4", - "is-regex": "1.0.4", - "object-inspect": "1.7.0", - "object-keys": "1.1.1", - "object.assign": "4.1.0", - "string.prototype.trimleft": "2.1.0", - "string.prototype.trimright": "2.1.0" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "requires": { - "is-callable": "1.1.4", - "is-date-object": "1.0.1", - "is-symbol": "1.0.2" - } - }, - "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" - } + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" } }, "regexpp": { @@ -6403,23 +5782,23 @@ "dev": true }, "regexpu-core": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.5.4.tgz", - "integrity": "sha512-BtizvGtFQKGPUcTy56o3nk1bGRp4SZOTYrDtGNlqCQufptV5IkkLN6Emw+yunAJjzf+C9FQFtvq7IoA3+oMYHQ==", + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.6.0.tgz", + "integrity": "sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg==", "dev": true, "requires": { - "regenerate": "1.4.0", - "regenerate-unicode-properties": "8.1.0", - "regjsgen": "0.5.0", - "regjsparser": "0.6.0", - "unicode-match-property-ecmascript": "1.0.4", - "unicode-match-property-value-ecmascript": "1.1.0" + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.1.0", + "regjsgen": "^0.5.0", + "regjsparser": "^0.6.0", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.1.0" } }, "regjsgen": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz", - "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==", + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.1.tgz", + "integrity": "sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==", "dev": true }, "regjsparser": { @@ -6428,7 +5807,7 @@ "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==", "dev": true, "requires": { - "jsesc": "0.5.0" + "jsesc": "~0.5.0" }, "dependencies": { "jsesc": { @@ -6442,17 +5821,23 @@ "remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true, + "optional": true }, "repeat-element": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "dev": true, + "optional": true }, "repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true, + "optional": true }, "request": { "version": "2.88.0", @@ -6460,36 +5845,42 @@ "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", "dev": true, "requires": { - "aws-sign2": "0.7.0", - "aws4": "1.8.0", - "caseless": "0.12.0", - "combined-stream": "1.0.8", - "extend": "3.0.2", - "forever-agent": "0.6.1", - "form-data": "2.3.3", - "har-validator": "5.1.3", - "http-signature": "1.2.0", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.24", - "oauth-sign": "0.9.0", - "performance-now": "2.1.0", - "qs": "6.5.2", - "safe-buffer": "5.1.2", - "tough-cookie": "2.4.3", - "tunnel-agent": "0.6.0", - "uuid": "3.3.2" + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.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.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.4.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" }, "dependencies": { + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true + }, "tough-cookie": { "version": "2.4.3", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", "dev": true, "requires": { - "psl": "1.1.33", - "punycode": "1.4.1" + "psl": "^1.1.24", + "punycode": "^1.4.1" } } } @@ -6500,7 +5891,7 @@ "integrity": "sha512-UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==", "dev": true, "requires": { - "lodash": "4.17.14" + "lodash": "^4.17.11" } }, "request-promise-native": { @@ -6510,8 +5901,8 @@ "dev": true, "requires": { "request-promise-core": "1.1.2", - "stealthy-require": "1.1.1", - "tough-cookie": "2.5.0" + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" }, "dependencies": { "punycode": { @@ -6526,8 +5917,8 @@ "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", "dev": true, "requires": { - "psl": "1.1.33", - "punycode": "2.1.1" + "psl": "^1.1.28", + "punycode": "^2.1.1" } } } @@ -6548,12 +5939,12 @@ "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" }, "resolve": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.1.tgz", - "integrity": "sha512-KuIe4mf++td/eFb6wkaPbMDnP6kObCaEtIDuHOUED6MNUo4K670KZUHuuvYPZDxNF0WVLw49n06M2m2dXphEzA==", + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz", + "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==", "dev": true, "requires": { - "path-parse": "1.0.6" + "path-parse": "^1.0.6" } }, "resolve-from": { @@ -6565,7 +5956,9 @@ "resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true, + "optional": true }, "restore-cursor": { "version": "2.0.0", @@ -6573,34 +5966,23 @@ "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", "dev": true, "requires": { - "onetime": "2.0.1", - "signal-exit": "3.0.2" - } - }, - "resumer": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/resumer/-/resumer-0.0.0.tgz", - "integrity": "sha1-8ej0YeQGS6Oegq883CqMiT0HZ1k=", - "requires": { - "through": "2.3.8" + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" } }, "ret": { "version": "0.1.15", "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" - }, - "revalidator": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/revalidator/-/revalidator-0.1.8.tgz", - "integrity": "sha1-/s5hv6DBtSoga9axgZgYS91SOjs=" + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true, + "optional": true }, "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "requires": { - "glob": "7.1.4" + "glob": "^7.1.3" } }, "ripemd160": { @@ -6609,8 +5991,8 @@ "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", "dev": true, "requires": { - "hash-base": "3.0.4", - "inherits": "2.0.3" + "hash-base": "^3.0.0", + "inherits": "^2.0.1" } }, "run-async": { @@ -6619,16 +6001,16 @@ "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", "dev": true, "requires": { - "is-promise": "2.1.0" + "is-promise": "^2.1.0" } }, "rxjs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.2.tgz", - "integrity": "sha512-HUb7j3kvb7p7eCUHE3FqjoDsC1xfZQ4AHFWfTKSpZ+sAhhz5X1WX0ZuUqWbzB2QhSLp3DoLUG+hMdEDKqWo2Zg==", + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz", + "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==", "dev": true, "requires": { - "tslib": "1.9.3" + "tslib": "^1.9.0" } }, "safe-buffer": { @@ -6640,8 +6022,10 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "optional": true, "requires": { - "ret": "0.1.15" + "ret": "~0.1.10" } }, "safer-buffer": { @@ -6650,18 +6034,18 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "saxes": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.10.tgz", - "integrity": "sha512-G/mVZCCGhJqgS+I7wT5gBHyTNXLe2SQcu2qmhwl1OKcSHyJEXKQY2CLT+qWIxV+m6uiGMLfSOJGLQQHhklIeEQ==", + "version": "3.1.11", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz", + "integrity": "sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==", "dev": true, "requires": { - "xmlchars": "1.3.1" + "xmlchars": "^2.1.1" } }, "semver": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", - "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==" + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" }, "send": { "version": "0.17.1", @@ -6669,39 +6053,24 @@ "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", "requires": { "debug": "2.6.9", - "depd": "1.1.2", - "destroy": "1.0.4", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "etag": "1.8.1", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "1.7.2", + "http-errors": "~1.7.2", "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "2.3.0", - "range-parser": "1.2.1", - "statuses": "1.5.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" } } }, @@ -6710,9 +6079,9 @@ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", "requires": { - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "parseurl": "1.3.3", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", "send": "0.17.1" } }, @@ -6725,19 +6094,23 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "optional": true, "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "split-string": "3.1.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" }, "dependencies": { "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "optional": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -6753,8 +6126,8 @@ "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "dev": true, "requires": { - "inherits": "2.0.3", - "safe-buffer": "5.1.2" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, "shasum": { @@ -6763,98 +6136,45 @@ "integrity": "sha1-5wEjENj0F/TetXEhUOVni4euVl8=", "dev": true, "requires": { - "json-stable-stringify": "0.0.1", - "sha.js": "2.4.11" + "json-stable-stringify": "~0.0.0", + "sha.js": "~2.4.4" + } + }, + "shasum-object": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shasum-object/-/shasum-object-1.0.0.tgz", + "integrity": "sha512-Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg==", + "dev": true, + "requires": { + "fast-safe-stringify": "^2.0.7" } }, "shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, "requires": { - "shebang-regex": "1.0.0" + "shebang-regex": "^1.0.0" } }, "shebang-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true }, "shell-quote": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz", - "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=", - "dev": true, - "requires": { - "array-filter": "0.0.1", - "array-map": "0.0.0", - "array-reduce": "0.0.0", - "jsonify": "0.0.0" - } - }, - "shush": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shush/-/shush-1.0.0.tgz", - "integrity": "sha1-wnQVqeRY8v7TmyfPjrN8ADeCtDE=", - "requires": { - "caller": "0.0.1", - "strip-json-comments": "0.1.3" - }, - "dependencies": { - "strip-json-comments": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-0.1.3.tgz", - "integrity": "sha1-Fkxk43Coo8wAyeAbU55WmCPw7lQ=" - } - } - }, - "side-channel": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.1.tgz", - "integrity": "sha512-KhfWUIMFxTnJ1HTWiHhzPZL6CVZubPUFWcaIWY4Fc/551CazpDodWWTVTeJI8AjsC/JpH4fW6hmDa10Dnd4lRg==", - "requires": { - "es-abstract": "1.16.3", - "object-inspect": "1.7.0" - }, - "dependencies": { - "es-abstract": { - "version": "1.16.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.16.3.tgz", - "integrity": "sha512-WtY7Fx5LiOnSYgF5eg/1T+GONaGmpvpPdCpSnYij+U2gDTL0UPfWrhDw7b2IYb+9NQJsYpCA0wOQvZfsd6YwRw==", - "requires": { - "es-to-primitive": "1.2.1", - "function-bind": "1.1.1", - "has": "1.0.3", - "has-symbols": "1.0.1", - "is-callable": "1.1.4", - "is-regex": "1.0.4", - "object-inspect": "1.7.0", - "object-keys": "1.1.1", - "string.prototype.trimleft": "2.1.0", - "string.prototype.trimright": "2.1.0" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "requires": { - "is-callable": "1.1.4", - "is-date-object": "1.0.1", - "is-symbol": "1.0.2" - } - }, - "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" - } - } + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", + "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==", + "dev": true }, "signal-exit": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true }, "simple-concat": { "version": "1.0.0", @@ -6874,54 +6194,47 @@ "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "astral-regex": "1.0.0", - "is-fullwidth-code-point": "2.0.0" + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" } }, "snapdragon": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "optional": true, "requires": { - "base": "0.11.2", - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "map-cache": "0.2.2", - "source-map": "0.5.7", - "source-map-resolve": "0.5.2", - "use": "3.1.1" + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" }, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "optional": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "optional": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" } } }, @@ -6929,44 +6242,54 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "optional": true, "requires": { - "define-property": "1.0.0", - "isobject": "3.0.1", - "snapdragon-util": "3.0.1" + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" }, "dependencies": { "define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "optional": true, "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "is-accessor-descriptor": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "optional": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "optional": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "optional": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } } } @@ -6975,16 +6298,27 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "optional": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.2.0" }, "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true, + "optional": true + }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "optional": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -6992,31 +6326,56 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true }, "source-map-resolve": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", + "dev": true, + "optional": true, + "requires": { + "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-support": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz", + "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==", + "dev": true, "requires": { - "atob": "2.1.2", - "decode-uri-component": "0.2.0", - "resolve-url": "0.2.1", - "source-map-url": "0.4.0", - "urix": "0.1.0" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } }, "source-map-url": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "dev": true, + "optional": true }, "split-string": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "optional": true, "requires": { - "extend-shallow": "3.0.2" + "extend-shallow": "^3.0.0" } }, "sprintf-js": { @@ -7024,43 +6383,50 @@ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" }, + "ssf": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/ssf/-/ssf-0.10.2.tgz", + "integrity": "sha512-rDhAPm9WyIsY8eZEKyE8Qsotb3j/wBdvMWBUsOhJdfhKGLfQidRjiBUV0y/MkyCLiXQ38FG6LWW/VYUtqlIDZQ==", + "requires": { + "frac": "~1.1.2" + } + }, "sshpk": { "version": "1.16.1", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", "dev": true, "requires": { - "asn1": "0.2.4", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.2", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.2", - "getpass": "0.1.7", - "jsbn": "0.1.1", - "safer-buffer": "2.1.2", - "tweetnacl": "0.14.5" + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" } }, - "stack-trace": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", - "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=" - }, "static-extend": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "optional": true, "requires": { - "define-property": "0.2.5", - "object-copy": "0.1.0" + "define-property": "^0.2.5", + "object-copy": "^0.1.0" }, "dependencies": { "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "optional": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } @@ -7082,8 +6448,8 @@ "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", "dev": true, "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.6" + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" } }, "stream-combiner2": { @@ -7092,31 +6458,43 @@ "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=", "dev": true, "requires": { - "duplexer2": "0.1.4", - "readable-stream": "2.3.6" + "duplexer2": "~0.1.0", + "readable-stream": "^2.0.2" } }, "stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.1.0.tgz", + "integrity": "sha512-cuB6RgO7BqC4FBYzmnvhob5Do3wIdIsXAgGycHJnW+981gHqoYcYz9lqjJrk8WXRddbwPuqPYRl+bag6mYv4lw==", "dev": true, "requires": { - "builtin-status-codes": "3.0.0", - "inherits": "2.0.3", - "readable-stream": "2.3.6", - "to-arraybuffer": "1.0.1", - "xtend": "4.0.1" + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^3.0.6", + "xtend": "^4.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", + "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } } }, "stream-splicer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.0.tgz", - "integrity": "sha1-G2O+Q4oTPktnHMGTUZdgAXWRDYM=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.1.tgz", + "integrity": "sha512-Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg==", "dev": true, "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.6" + "inherits": "^2.0.1", + "readable-stream": "^2.0.2" } }, "string-width": { @@ -7124,8 +6502,8 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "string.prototype.trimleft": { @@ -7133,8 +6511,8 @@ "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz", "integrity": "sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==", "requires": { - "define-properties": "1.1.3", - "function-bind": "1.1.1" + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" } }, "string.prototype.trimright": { @@ -7142,17 +6520,16 @@ "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz", "integrity": "sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==", "requires": { - "define-properties": "1.1.3", - "function-bind": "1.1.1" + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" } }, "string_decoder": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.2.0.tgz", - "integrity": "sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==", - "dev": true, + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "~5.1.0" } }, "strip-ansi": { @@ -7160,14 +6537,9 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" - }, "strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", @@ -7179,7 +6551,7 @@ "integrity": "sha1-9izxdYHplrSPyWVpn1TAauJouNI=", "dev": true, "requires": { - "minimist": "1.2.0" + "minimist": "^1.1.0" } }, "supports-color": { @@ -7187,7 +6559,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } }, "symbol-tree": { @@ -7202,19 +6574,19 @@ "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==", "dev": true, "requires": { - "acorn-node": "1.6.2" + "acorn-node": "^1.2.0" } }, "table": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/table/-/table-5.4.0.tgz", - "integrity": "sha512-nHFDrxmbrkU7JAFKqKbDJXfzrX2UBsWmrieXFTGxiI5e4ncg3VqsZeI4EzNmX0ncp4XNGVeoxIWJXfCIXwrsvw==", + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", "dev": true, "requires": { - "ajv": "6.10.0", - "lodash": "4.17.14", - "slice-ansi": "2.1.0", - "string-width": "3.1.0" + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" }, "dependencies": { "ansi-regex": { @@ -7229,9 +6601,9 @@ "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, "requires": { - "emoji-regex": "7.0.3", - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "5.2.0" + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" } }, "strip-ansi": { @@ -7240,36 +6612,11 @@ "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "requires": { - "ansi-regex": "4.1.0" + "ansi-regex": "^4.1.0" } } } }, - "tape": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/tape/-/tape-2.3.3.tgz", - "integrity": "sha1-Lnzgox3wn41oUWZKcYQuDKUFevc=", - "requires": { - "deep-equal": "0.1.2", - "defined": "0.0.0", - "inherits": "2.0.3", - "jsonify": "0.0.0", - "resumer": "0.0.0", - "through": "2.3.8" - }, - "dependencies": { - "deep-equal": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-0.1.2.tgz", - "integrity": "sha1-skbCuApXCkfBG+HZvRBw7IeLh84=" - }, - "defined": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/defined/-/defined-0.0.0.tgz", - "integrity": "sha1-817qfXBekzuvE7LwOz+D2SFAOz4=" - } - } - }, "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -7279,7 +6626,8 @@ "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true }, "through2": { "version": "2.0.5", @@ -7287,8 +6635,8 @@ "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, "requires": { - "readable-stream": "2.3.6", - "xtend": "4.0.1" + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" } }, "timers-browserify": { @@ -7297,7 +6645,7 @@ "integrity": "sha1-ycWLV1voQHN1y14kYtrO50NZ9B0=", "dev": true, "requires": { - "process": "0.11.10" + "process": "~0.11.0" } }, "tmp": { @@ -7306,15 +6654,9 @@ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, "requires": { - "os-tmpdir": "1.0.2" + "os-tmpdir": "~1.0.2" } }, - "to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", - "dev": true - }, "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", @@ -7325,16 +6667,27 @@ "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "optional": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true, + "optional": true + }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "optional": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -7343,20 +6696,24 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "optional": true, "requires": { - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "regex-not": "1.0.2", - "safe-regex": "1.1.0" + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" } }, "to-regex-range": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "optional": true, "requires": { - "is-number": "3.0.0", - "repeat-string": "1.6.1" + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" } }, "toidentifier": { @@ -7370,9 +6727,9 @@ "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", "dev": true, "requires": { - "ip-regex": "2.1.0", - "psl": "1.1.33", - "punycode": "2.1.1" + "ip-regex": "^2.1.0", + "psl": "^1.1.28", + "punycode": "^2.1.1" }, "dependencies": { "punycode": { @@ -7389,7 +6746,7 @@ "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", "dev": true, "requires": { - "punycode": "2.1.1" + "punycode": "^2.1.0" }, "dependencies": { "punycode": { @@ -7400,16 +6757,10 @@ } } }, - "trim-right": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", - "dev": true - }, "tslib": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", - "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", + "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", "dev": true }, "tty-browserify": { @@ -7424,7 +6775,7 @@ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "dev": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "^5.0.1" } }, "tweetnacl": { @@ -7439,7 +6790,7 @@ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, "requires": { - "prelude-ls": "1.1.2" + "prelude-ls": "~1.1.2" } }, "type-detect": { @@ -7453,7 +6804,7 @@ "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "requires": { "media-typer": "0.3.0", - "mime-types": "2.1.24" + "mime-types": "~2.1.24" } }, "typedarray": { @@ -7473,11 +6824,11 @@ "integrity": "sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==", "dev": true, "requires": { - "acorn-node": "1.6.2", - "dash-ast": "1.0.0", - "get-assigned-identifiers": "1.2.0", - "simple-concat": "1.0.0", - "xtend": "4.0.1" + "acorn-node": "^1.3.0", + "dash-ast": "^1.0.0", + "get-assigned-identifiers": "^1.2.0", + "simple-concat": "^1.0.0", + "xtend": "^4.0.1" } }, "unicode-canonical-property-names-ecmascript": { @@ -7492,8 +6843,8 @@ "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", "dev": true, "requires": { - "unicode-canonical-property-names-ecmascript": "1.0.4", - "unicode-property-aliases-ecmascript": "1.0.5" + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" } }, "unicode-match-property-value-ecmascript": { @@ -7513,7 +6864,7 @@ "resolved": "https://registry.npmjs.org/union/-/union-0.4.6.tgz", "integrity": "sha1-GY+9rrolTniLDvy2MLwR8kopWeA=", "requires": { - "qs": "2.3.3" + "qs": "~2.3.3" }, "dependencies": { "qs": { @@ -7527,11 +6878,13 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "optional": true, "requires": { - "arr-union": "3.1.0", - "get-value": "2.0.6", - "is-extendable": "0.1.1", - "set-value": "2.0.1" + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" } }, "unpipe": { @@ -7543,25 +6896,31 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "optional": true, "requires": { - "has-value": "0.3.1", - "isobject": "3.0.1" + "has-value": "^0.3.1", + "isobject": "^3.0.0" }, "dependencies": { "has-value": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "optional": true, "requires": { - "get-value": "2.0.6", - "has-values": "0.1.4", - "isobject": "2.1.0" + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" }, "dependencies": { "isobject": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "optional": true, "requires": { "isarray": "1.0.0" } @@ -7571,14 +6930,16 @@ "has-values": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true, + "optional": true } } }, "upath": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.2.tgz", - "integrity": "sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", "dev": true, "optional": true }, @@ -7588,7 +6949,7 @@ "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", "dev": true, "requires": { - "punycode": "2.1.1" + "punycode": "^2.1.0" }, "dependencies": { "punycode": { @@ -7602,7 +6963,9 @@ "urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true, + "optional": true }, "url": { "version": "0.11.0", @@ -7635,7 +6998,9 @@ "use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true, + "optional": true }, "util": { "version": "0.10.4", @@ -7651,36 +7016,6 @@ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, - "utile": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/utile/-/utile-0.3.0.tgz", - "integrity": "sha1-E1LDQOuCDk2N26A5pPv6oy7U7zo=", - "requires": { - "async": "0.9.2", - "deep-equal": "0.2.2", - "i": "0.3.6", - "mkdirp": "0.5.1", - "ncp": "1.0.1", - "rimraf": "2.6.3" - }, - "dependencies": { - "async": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", - "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=" - }, - "deep-equal": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-0.2.2.tgz", - "integrity": "sha1-hLdFiW80xoTpjyzg5Cq69Du6AX0=" - }, - "ncp": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ncp/-/ncp-1.0.1.tgz", - "integrity": "sha1-0VNn5cuHQyuhF9K/gP30Wuz7QkY=" - } - } - }, "utils-extend": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/utils-extend/-/utils-extend-1.0.8.tgz", @@ -7692,9 +7027,9 @@ "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" }, "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz", + "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==" }, "vary": { "version": "1.1.2", @@ -7707,9 +7042,9 @@ "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "dev": true, "requires": { - "assert-plus": "1.0.0", + "assert-plus": "^1.0.0", "core-util-is": "1.0.2", - "extsprintf": "1.3.0" + "extsprintf": "^1.2.0" } }, "vm-browserify": { @@ -7724,7 +7059,7 @@ "integrity": "sha1-gqwr/2PZUOqeMYmlimViX+3xkEU=", "dev": true, "requires": { - "browser-process-hrtime": "0.1.3" + "browser-process-hrtime": "^0.1.2" } }, "w3c-xmlserializer": { @@ -7733,9 +7068,9 @@ "integrity": "sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==", "dev": true, "requires": { - "domexception": "1.0.1", - "webidl-conversions": "4.0.2", - "xml-name-validator": "3.0.0" + "domexception": "^1.0.1", + "webidl-conversions": "^4.0.2", + "xml-name-validator": "^3.0.0" } }, "watch": { @@ -7744,8 +7079,8 @@ "integrity": "sha1-NApxe952Vyb6CqB9ch4BR6VR3ww=", "dev": true, "requires": { - "exec-sh": "0.2.2", - "minimist": "1.2.0" + "exec-sh": "^0.2.0", + "minimist": "^1.2.0" } }, "webidl-conversions": { @@ -7770,14 +7105,14 @@ "dev": true }, "whatwg-url": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.0.0.tgz", - "integrity": "sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", "dev": true, "requires": { - "lodash.sortby": "4.7.0", - "tr46": "1.0.1", - "webidl-conversions": "4.0.2" + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" } }, "which": { @@ -7785,30 +7120,7 @@ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "requires": { - "isexe": "2.0.0" - } - }, - "which-boxed-primitive": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.1.tgz", - "integrity": "sha512-7BT4TwISdDGBgaemWU0N0OU7FeAEJ9Oo2P1PHRm/FCWoEi2VLWC9b6xvxAA3C/NMpxg3HXVgi0sMmGbNUbNepQ==", - "requires": { - "is-bigint": "1.0.0", - "is-boolean-object": "1.0.0", - "is-number-object": "1.0.3", - "is-string": "1.0.4", - "is-symbol": "1.0.2" - } - }, - "which-collection": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.0.tgz", - "integrity": "sha512-mG4RtFHE+17N2AxRNvBQ488oBjrhaOaI/G+soUaRJwdyDbu5zmqoAKPYBlY7Zd+QTwpfvInRLKo40feo2si1yA==", - "requires": { - "is-map": "2.0.1", - "is-set": "2.0.1", - "is-weakmap": "2.0.1", - "is-weakset": "2.0.1" + "isexe": "^2.0.0" } }, "which-module": { @@ -7821,79 +7133,45 @@ "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", "requires": { - "string-width": "2.1.1" - } - }, - "winston": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/winston/-/winston-0.8.3.tgz", - "integrity": "sha1-ZLar9M0Brcrv1QCTk7HY6L7BnbA=", - "requires": { - "async": "0.2.10", - "colors": "0.6.2", - "cycle": "1.0.3", - "eyes": "0.1.8", - "isstream": "0.1.2", - "pkginfo": "0.3.1", - "stack-trace": "0.0.10" - }, - "dependencies": { - "async": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", - "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=" - }, - "colors": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz", - "integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=" - } + "string-width": "^1.0.2 || 2" } }, "wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", - "dev": true + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=" }, "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" }, "dependencies": { "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "requires": { - "number-is-nan": "1.0.1" - } + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" }, "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" } }, "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^4.1.0" } } } @@ -7909,16 +7187,36 @@ "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", "dev": true, "requires": { - "mkdirp": "0.5.1" + "mkdirp": "^0.5.1" } }, "ws": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.0.1.tgz", - "integrity": "sha512-ILHfMbuqLJvnSgYXLgy4kMntroJpe8hT41dOVWM8bxRuw6TK4mgMp9VJUNsZTEc5Bh+Mbs0DJT4M0N+wBG9l9A==", - "dev": true, + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", + "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", + "requires": { + "async-limiter": "~1.0.0" + } + }, + "xlsx": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.15.1.tgz", + "integrity": "sha512-z+o4+QPMc32EPboLCzJAz94o0Zyy+8jrmWTsVpfzwknFln9qDO6/HN1KrGGVC4//sGA7dh4R3HA4fhbGIKCDOA==", "requires": { - "async-limiter": "1.0.0" + "adler-32": "~1.2.0", + "cfb": "^1.1.3", + "codepage": "~1.14.0", + "commander": "~2.17.1", + "crc-32": "~1.2.0", + "exit-on-epipe": "~1.0.1", + "ssf": "~0.10.2" + }, + "dependencies": { + "commander": { + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", + "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==" + } } }, "xml-name-validator": { @@ -7928,15 +7226,15 @@ "dev": true }, "xmlchars": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-1.3.1.tgz", - "integrity": "sha512-tGkGJkN8XqCod7OT+EvGYK5Z4SfDQGD30zAa58OcnAa0RRWgzUEK72tkXhsX1FZd+rgnhRxFtmO+ihkp8LHSkw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", "dev": true }, "xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "dev": true }, "y18n": { @@ -7945,26 +7243,25 @@ "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" }, "yallist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", - "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" }, "yargs": { - "version": "13.2.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.2.tgz", - "integrity": "sha512-WyEoxgyTD3w5XRpAQNYUB9ycVH/PQrToaTXdYXRdOXvEy1l19br+VJsc0vcO8PTGg5ro/l/GY7F/JMEBmI0BxA==", - "requires": { - "cliui": "4.1.0", - "find-up": "3.0.0", - "get-caller-file": "2.0.5", - "os-locale": "3.1.0", - "require-directory": "2.1.1", - "require-main-filename": "2.0.0", - "set-blocking": "2.0.0", - "string-width": "3.1.0", - "which-module": "2.0.0", - "y18n": "4.0.0", - "yargs-parser": "13.0.0" + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz", + "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==", + "requires": { + "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" }, "dependencies": { "ansi-regex": { @@ -7977,9 +7274,9 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "requires": { - "emoji-regex": "7.0.3", - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "5.2.0" + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" } }, "strip-ansi": { @@ -7987,68 +7284,28 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "requires": { - "ansi-regex": "4.1.0" + "ansi-regex": "^4.1.0" } } } }, "yargs-parser": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.0.0.tgz", - "integrity": "sha512-w2LXjoL8oRdRQN+hOyppuXs+V/fVAYtpcrRxZuF7Kt/Oc+Jr2uAcVntaUTNT6w5ihoWfFDpNY8CPx1QskxZ/pw==", + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", + "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", "requires": { - "camelcase": "5.3.1", - "decamelize": "1.2.0" + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" } }, "yargs-unparser": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.5.0.tgz", - "integrity": "sha512-HK25qidFTCVuj/D1VfNiEndpLIeJN78aqgR23nL3y4N0U/91cOAzqfHlF8n2BvoNDcZmJKin3ddNSvOxSr8flw==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", + "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==", "requires": { - "flat": "4.1.0", - "lodash": "4.17.14", - "yargs": "12.0.5" - }, - "dependencies": { - "get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" - }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" - }, - "yargs": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", - "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", - "requires": { - "cliui": "4.1.0", - "decamelize": "1.2.0", - "find-up": "3.0.0", - "get-caller-file": "1.0.3", - "os-locale": "3.1.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "4.0.0", - "yargs-parser": "11.1.1" - } - }, - "yargs-parser": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", - "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", - "requires": { - "camelcase": "5.3.1", - "decamelize": "1.2.0" - } - } + "flat": "^4.1.0", + "lodash": "^4.17.15", + "yargs": "^13.3.0" } }, "yauzl": { @@ -8056,7 +7313,7 @@ "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=", "requires": { - "fd-slicer": "1.0.1" + "fd-slicer": "~1.0.1" } } } diff --git a/package.json b/package.json index 9f0a027..e3cbf02 100644 --- a/package.json +++ b/package.json @@ -31,6 +31,7 @@ "chai": "^4.2.0", "chartjs": "^0.3.24", "express": "^4.17.1", + "file-saver": "^2.0.2", "file-system": "^2.2.2", "googleapis": "^39.2.0", "http-server": "^0.11.1", @@ -39,7 +40,8 @@ "mocha": "^6.1.4", "papaparse": "^4.6.3", "puppeteer": "^1.19.0", - "readline": "^1.3.0" + "readline": "^1.3.0", + "xlsx": "^0.15.1" }, "devDependencies": { "@babel/cli": "^7.4.4", @@ -48,11 +50,12 @@ "@babel/polyfill": "^7.4.4", "@babel/preset-env": "^7.4.5", "@babel/register": "^7.4.4", + "babel-eslint": "^10.0.3", "babelify": "^10.0.0", "browserify": "^16.2.3", + "eslint": "^5.16.0", "jsdom": "15.1.1", "jsdom-global": "3.0.2", - "eslint": "^5.16.0", "watch": "^1.0.2" } } diff --git a/spec/js/ui_tests.js b/spec/js/ui_tests.js index eb54b75..2676057 100644 --- a/spec/js/ui_tests.js +++ b/spec/js/ui_tests.js @@ -3,105 +3,102 @@ const puppeteer = require('puppeteer'); const _ = require('lodash'); const globalVariables = _.pick(global, ['browser', 'expect']); const opts = { - headless: false, - }; -before (async function () { - global.browser = await puppeteer.launch(opts); + headless: false +}; +before(async function() { + global.browser = await puppeteer.launch(opts); }); -after (function(){ - browser.close(); - global.browser = globalVariables.browser; -}) -describe("sample test", function(){ - it("should run the browser", async function(){ - console.log(await browser.version()); - assert.equal(true,true); - }); +after(function() { + //accessing browser object via global object to avoid/fix lint errors + global.browser.close(); + global.browser = globalVariables.browser; }); -describe("heading tests", function(){ - let page; - before (async function () { - page = await browser.newPage(); - await page.goto('http://localhost:8000'); - }); - after (async function () { - await page.close(); - }); - it ("should test main heading", async function(){ - const headingValue = await page.$eval('.main_heading', el => el.innerHTML); - assert.equal(headingValue,"Simple Data Grapher"); - }); - it ("should test sub heading", async function(){ - const headingValue = await page.$eval('.sub_heading', el => el.innerHTML); - assert.equal(headingValue,"A JavaScript library that turns uploaded CSV files into customizable graphs within a few simple steps. Can be embedded on other websites!"); - }); - it ("should test indicator-1 heading", async function(){ - const headingValue = await page.$eval('.item-1', el => el.innerHTML); - assert.equal(headingValue,"Upload CSV Data"); - }); - it ("should test indicator-2 heading", async function(){ - const headingValue = await page.$eval('.item-2', el => el.innerHTML); - console.log(headingValue); - assert.equal(headingValue,"Select Columns & Graph Type"); - }); - it ("should test indicator-3 heading", async function(){ - const headingValue = await page.$eval('.item-3', el => el.innerHTML); - assert.equal(headingValue,"Plotted Graph & Export Options"); - }); +describe('heading tests', function() { + let page; + before(async function() { + page = await browser.newPage(); + await page.goto('http://localhost:8000'); + }); + after(async function() { + await page.close(); + }); + it('should test main heading', async function() { + const headingValue = await page.$eval('.main_heading', el => el.innerHTML); + assert.equal(headingValue, 'Simple Data Grapher'); + }); + it('should test sub heading', async function() { + const headingValue = await page.$eval('.sub_heading', el => el.innerHTML); + assert.equal( + headingValue, + 'A JavaScript library that turns uploaded CSV files into customizable graphs within a few simple steps. Can be embedded on other websites!' + ); + }); + it('should test indicator-1 heading', async function() { + const headingValue = await page.$eval('.item-1', el => el.innerHTML); + assert.equal(headingValue, 'Upload CSV Data'); + }); + it('should test indicator-2 heading', async function() { + const headingValue = await page.$eval('.item-2', el => el.innerHTML); + console.log(headingValue); + assert.equal(headingValue, 'Select Columns & Graph Type'); + }); + it('should test indicator-3 heading', async function() { + const headingValue = await page.$eval('.item-3', el => el.innerHTML); + assert.equal(headingValue, 'Plotted Graph & Export Options'); + }); }); -describe("csv string file upload test", function(){ - let page; - before (async function () { - page = await browser.newPage(); - await page.goto('http://localhost:8000'); - const fileInput=await page.$('.csv_string'); - await fileInput.type("A,2,3\nB,5,6\nC,8,9"); - await page.mouse.click(10,10); - const uploadButton=await page.$('.uploadButton'); - await uploadButton.click(); - }); - after (async function () { - await page.close(); - }); - it("should test toggle button: on", async function(){ - let xyToggleValue=await page.$('.xytoggle'); - let val=await (await xyToggleValue.getProperty('checked')).jsonValue(); - assert.equal(val,true); - }); - it("should test toggle button: off", async function(){ - const xyToggle=await page.$('.toggle'); - await xyToggle.click(); - let xyToggleValue=await page.$('.xytoggle'); - let val=await (await xyToggleValue.getProperty('checked')).jsonValue(); - assert.equal(val,false); - }); - it("should select Y-Axis columns", async function(){ - const col1=await page.$('#first_y_axis_input_columns1'); - await col1.click(); - const col2=await page.$('#first_y_axis_input_columns2'); - await col2.click(); - const val1=await (await col1.getProperty('checked')).jsonValue(); - const val2=await (await col2.getProperty('checked')).jsonValue(); - assert.equal(val1&&val2,true); - - }); - it("should select X-Axis column", async function(){ - const xyToggle=await page.$('.toggle'); - await xyToggle.click(); - const col1=await page.$('#first_x_axis_input_columns0'); - await col1.click(); - const val1=await (await col1.getProperty('checked')).jsonValue(); - assert.equal(val1,true); - }); - it("should check plotting the graph", async function(){ - const plot_graphButton=await page.$(".plotGraph"); - await plot_graphButton.click(); - assert.notEqual(plot_graphButton, undefined); - }); - it('should check if graph exists', async function() { - const graph_container = await page.$('#first_chart_container_0'); - assert.notEqual(graph_container, undefined); - }); +describe('csv string file upload test', function() { + let page; + before(async function() { + page = await browser.newPage(); + await page.goto('http://localhost:8000'); + const fileInput = await page.$('.csv_string'); + await fileInput.type('A,2,3\nB,5,6\nC,8,9'); + await page.mouse.click(10, 10); + const uploadButton = await page.$('.uploadButton'); + await uploadButton.click(); + }); + after(async function() { + await page.close(); + }); + it('should test toggle button: on', async function() { + let xyToggleValue = await page.$('.xytoggle'); + let val = await (await xyToggleValue.getProperty('checked')).jsonValue(); + assert.equal(val, true); + }); + it('should test toggle button: off', async function() { + const xyToggle = await page.$('.toggle'); + await xyToggle.click(); + let xyToggleValue = await page.$('.xytoggle'); + let val = await (await xyToggleValue.getProperty('checked')).jsonValue(); + assert.equal(val, false); + }); + it('should select Y-Axis columns', async function() { + const col1 = await page.$('#first_y_axis_input_columns1'); + await col1.click(); + const col2 = await page.$('#first_y_axis_input_columns2'); + await col2.click(); + const val1 = await (await col1.getProperty('checked')).jsonValue(); + const val2 = await (await col2.getProperty('checked')).jsonValue(); + assert.equal(val1 && val2, true); + }); + it('should select X-Axis column', async function() { + const xyToggle = await page.$('.toggle'); + await xyToggle.click(); + const col1 = await page.$('#first_x_axis_input_columns0'); + await col1.click(); + const val1 = await (await col1.getProperty('checked')).jsonValue(); + assert.equal(val1, true); + }); + it('should check plotting the graph', async function() { + const plot_graphButton = await page.$('.plotGraph'); + await plot_graphButton.click(); + assert.notEqual(plot_graphButton, undefined); + }); + it('should check if graph exists', async function() { + const graph_container = await page.$('#first_chart_container_0'); + assert.notEqual(graph_container, undefined); + }); }); describe('footer tests', function() { let page; @@ -111,7 +108,7 @@ describe('footer tests', function() { }); after(async function() { await page.close(); - }); + }); it('should test footer headings', async function() { const [ firstHeading, @@ -122,7 +119,7 @@ describe('footer tests', function() { assert.equal(firstHeading, 'Need help?'); assert.equal(secondHeading, 'Improve this tool'); - }); + }); it('should test footer paragraphs', async function() { const [ firstParagraph, diff --git a/src-old/parsing.js b/src-old/parsing.js index 4a1d112..4388928 100644 --- a/src-old/parsing.js +++ b/src-old/parsing.js @@ -1,457 +1,536 @@ -var counting=0; -function saveAsImage(){ - console.log("at image"); - var x=new Date(); - var timestamp=x.getTime(); - $("#save_as_image").click(function() { - $("#canvas").get(0).toBlob(function(blob) { - saveAs(blob, "chart"+timestamp); - }); - }); -} -function colorBackground(ctx,canv){ - Chart.plugins.register({ - beforeDraw: function() { - ctx.fillStyle = 'white'; - ctx.fillRect(0, 0, canv.width, canv.height); - } - }); -} -function determineType(type){ - console.log("at type"); - if (type=="Basic" || type=="Stepped" || type=="Point"){ - return 'line'; - } - else if (type=="Horizontal"){ - return 'horizontalBar'; - } - else if (type=="Vertical"){ +var counting = 0; +import Chart from "chart.js"; +import Papa from "papaparse"; + +/* function is defined but never used. Commenting the following to fix/avoid linting errors */ +// function saveAsImage(){ +// console.log("at image"); +// var x=new Date(); +// var timestamp=x.getTime(); +// $("#save_as_image").click(function() { +// $("#canvas").get(0).toBlob(function(blob) { +// saveAs(blob, "chart"+timestamp); +// }); +// }); +// } - return 'bar'; - } - else{ - return type.toLowerCase(); - } +/* function is defined but never used. Commenting the following to fix/avoid linting errors */ +// function colorBackground(ctx, canv) { +// Chart.plugins.register({ +// beforeDraw: function() { +// ctx.fillStyle = "white"; +// ctx.fillRect(0, 0, canv.width, canv.height); +// } +// }); +// } + +function determineType(type) { + // console.log("at type"); + if (type == "Basic" || type == "Stepped" || type == "Point") { + return "line"; + } else if (type == "Horizontal") { + return "horizontalBar"; + } else if (type == "Vertical") { + return "bar"; + } else { + return type.toLowerCase(); + } } -function determineData(type,i,hash){ - console.log("at data"); - h={}; - if (type=="Basic"){ - h['fill'] = false; - } - else if (type=="Stepped"){ - h['steppedLine']= true; - h['fill']= false; - } - else if (type=="Point"){ - h['showLine']= false; - h['pointRadius']= 10; - } - h['backgroundColor']=colorGenerator(i,"bg",type,hash['y_axis_values'+i].length); - h['borderColor']=colorGenerator(i,"bo",type,hash['y_axis_values'+i].length); - h['borderWidth']=1; - h['label']=hash['labels'][1][i]; - h['data']=hash['y_axis_values'+i]; - return h; - +function determineData(type, i, hash) { + // console.log("at data"); + let h = {}; + if (type == "Basic") { + h["fill"] = false; + } else if (type == "Stepped") { + h["steppedLine"] = true; + h["fill"] = false; + } else if (type == "Point") { + h["showLine"] = false; + h["pointRadius"] = 10; + } + h["backgroundColor"] = colorGenerator( + i, + "bg", + type, + hash["y_axis_values" + i].length + ); + h["borderColor"] = colorGenerator( + i, + "bo", + type, + hash["y_axis_values" + i].length + ); + h["borderWidth"] = 1; + h["label"] = hash["labels"][1][i]; + h["data"] = hash["y_axis_values" + i]; + return h; } -function graphMenu(){ - console.log("at menu"); - document.getElementById("graph_menu").innerHTML=""; - var bar=["Bar","Horizontal","Vertical"]; - var line=["Line","Basic","Stepped","Point"]; - var disc=["Disc","Pie","Doughnut","Radar"]; - var types=[bar,line,disc]; - for (var i=0;i<3;i++){ - var tr=document.createElement('tr'); - var td_head=document.createElement('td'); - td_head.className=types[i][0]; - td_head.appendChild(document.createTextNode(types[i][0])); - tr.appendChild(td_head); - for (var j=1;j=maxval){ - break; - } - else if (completeData[i][j]!=null || completeData[i][j]!=undefined){ - if (typeof(completeData[i][j])=='number'){ - bool=true; - } - counter+=1; - sampleData[i].push(completeData[i][j]);} - } - if (bool){ - validForYAxis.push(headers[i]); - } - } - console.log(sampleData,"sampleData"); - console.log(validForYAxis); - sampleDataXandY(sampleData,headers,validForYAxis,completeData); +function extractSampleData(completeData, headers) { + var sampleData = []; + var validForYAxis = []; + for (var i = 0; i < headers.length; i++) { + sampleData[i] = []; + } + var maxval = 5; + if (completeData.length[0] < 5) { + maxval = completeData[0].length; + } + for (let i = 0; i < headers.length; i++) { + var counter = 0; + var bool = false; + for (var j = 0; j < completeData[i].length; j++) { + if (counter >= maxval) { + break; + } else if ( + completeData[i][j] != null || + completeData[i][j] != undefined + ) { + if (typeof completeData[i][j] == "number") { + bool = true; + } + counter += 1; + sampleData[i].push(completeData[i][j]); + } + } + if (bool) { + validForYAxis.push(headers[i]); + } + } + // console.log(sampleData, "sampleData"); + // console.log(validForYAxis); + sampleDataXandY(sampleData, headers, validForYAxis, completeData); } //makes a 2D matrix with the transpose of the CSV file, each column having the same index as its column heading -function matrixForCompleteData(headers,mat,start){ - var completeData=[]; - for (var i=0;i { - self.saveAsImageFunction(canvasId); + scales() { + // console.log("at scales"); + var scales = { + xAxes: [ + { + display: true, + scaleLabel: { + display: true, + labelString: this.dataHash['labels'][0] + } } - } - plotGraph() { - if (this.flag) { - document.getElementById(this.canvasContainerId).innerHTML = ""; + ], + yAxes: [ + { + display: true, + scaleLabel: { + display: true, + labelString: 'Value' + } } - var div = document.createElement('div'); - div.classList.add(this.elementId + '_chart_container_' + this.graphCounting); - var canv = document.createElement('canvas'); - canv.id = this.elementId + '_canvas_' + this.graphCounting; - div.appendChild(canv); - document.getElementById(this.canvasContainerId).appendChild(div); - var ctx = canv.getContext('2d'); - var configuration = this.determineConfig(); - new Chart(ctx, configuration); - this.createSaveAsImageButton(div, canv.id); - // $('.'+this.carousalClass).carousel(2); - } - constructor(hash, length, type, flag, canvasContainerId, elementId, graphCounting) { - this.dataHash = hash; - this.length = length; - this.graphType = type; - this.flag = flag; - this.canvasContainerId = canvasContainerId; - this.elementId = elementId; - this.graphCounting = graphCounting; - this.plotGraph(); + ] + }; + return scales; + } + saveAsImageFunction(canvId) { + // console.log("entered image"); + var newDate = new Date(); + var timestamp = newDate.getTime(); + var temp = canvId; + temp = '#' + temp; + $(temp) + .get(0) + .toBlob(function(blob) { + window.saveAs(blob, 'chart' + timestamp); + }); + } + createSaveAsImageButton(canvasDiv, canvasId) { + var saveImageButton = document.createElement('BUTTON'); + saveImageButton.classList.add('btn'); + saveImageButton.classList.add('btn-primary'); + saveImageButton.innerHTML = 'Save as Image'; + saveImageButton.id = canvasId + 'image'; + canvasDiv.appendChild(saveImageButton); + // console.log(this, "this"); + let self = this; + document.getElementById(saveImageButton.id).onclick = () => { + self.saveAsImageFunction(canvasId); + }; + } + plotGraph() { + if (this.flag) { + // console.log("at plotGraph"); + document.getElementById(this.canvasContainerId).innerHTML = ''; } + var div = document.createElement('div'); + div.classList.add( + this.elementId + '_chart_container_' + this.graphCounting + ); + var canv = document.createElement('canvas'); + canv.id = this.elementId + '_canvas_' + this.graphCounting; + div.appendChild(canv); + document.getElementById(this.canvasContainerId).appendChild(div); + var ctx = canv.getContext('2d'); + var configuration = this.determineConfig(); + new window.Chart(ctx, configuration); + this.createSaveAsImageButton(div, canv.id); + // $('.'+this.carousalClass).carousel(2); + } + constructor( + hash, + length, + type, + flag, + canvasContainerId, + elementId, + graphCounting + ) { + this.dataHash = hash; + this.length = length; + this.graphType = type; + this.flag = flag; + this.canvasContainerId = canvasContainerId; + this.elementId = elementId; + this.graphCounting = graphCounting; + this.plotGraph(); + } } -module.exports = ChartjsPlotter; \ No newline at end of file +module.exports = ChartjsPlotter; diff --git a/src/CsvParser.js b/src/CsvParser.js index f3ffd8a..4c09397 100644 --- a/src/CsvParser.js +++ b/src/CsvParser.js @@ -1,268 +1,279 @@ +'use strict'; // import {SimpleDataGrapher} from "./SimpleDataGrapher"; const SimpleDataGrapher = require('./SimpleDataGrapher'); -const Papa = require("papaparse"); +const Papa = require('papaparse'); class CsvParser { + csvFile = null; + csvMatrix = []; + csvHeaders = []; + csvFileStart = 1; //start is variable that will be passed to the function to sort out the columns. start will tell if the existing CSV file has headers or not, therefore, to start the iteration from 0 or 1 Used in header determination + completeCsvMatrix = []; + completeCsvMatrixTranspose = []; + csvSampleData = []; + csvValidForYAxis = []; + elementId = null; + codapHeaders = []; + codapMatrix = []; - 'use strict'; - - csvFile = null; - csvMatrix = []; - csvHeaders = []; - csvFileStart = 1; //start is variable that will be passed to the function to sort out the columns. start will tell if the existing CSV file has headers or not, therefore, to start the iteration from 0 or 1 Used in header determination - completeCsvMatrix = []; - completeCsvMatrixTranspose = []; - csvSampleData = []; - csvValidForYAxis = []; - elementId = null; - codapHeaders = []; - codapMatrix = []; - - constructor(file, elementId, functionParameter) { - this.elementId = elementId; - this.csvFile = file; - if (functionParameter == "prevfile") { - return this; - } else { - this.allFunctionHandler(functionParameter); - } - + constructor(file, elementId, functionParameter) { + this.elementId = elementId; + this.csvFile = file; + if (functionParameter == 'prevfile') { + return this; + } else { + this.allFunctionHandler(functionParameter); } - //since parsing a local file works asynchronously, a callback function is required to call the remaining functions after the parsing is complete - callbackForLocalFile(csvMatrixLocal) { - this.csvMatrix = csvMatrixLocal; + } + //since parsing a local file works asynchronously, a callback function is required to call the remaining functions after the parsing is complete + callbackForLocalFile(csvMatrixLocal) { + this.csvMatrix = csvMatrixLocal; + this.csvHeaders = this.determineHeaders(); + this.completeCsvMatrix = this.matrixForCompleteData(); + var totalData = this.extractSampleData(); + this.csvSampleData = totalData[0]; + this.csvValidForYAxis = totalData[1]; + this.completeCsvMatrixTranspose = this.createTranspose(); + this.codapHeaders = this.headersForCodap(); + this.codapMatrix = this.completeMatrixForCodap(); + this.startFileProcessing(); + } + //a function handler that calls one function after the other after assigning the correct values to different class variables. + allFunctionHandler(functionParameter) { + if (functionParameter == 'local') { + this.csvMatrix = this.parse(); + } else { + if (functionParameter == 'csvstring' || functionParameter == 'remote') { + this.csvFile = this.csvFile.split('\n'); + this.csvMatrix = this.parseString(); this.csvHeaders = this.determineHeaders(); this.completeCsvMatrix = this.matrixForCompleteData(); - var totalData = this.extractSampleData(); - this.csvSampleData = totalData[0]; - this.csvValidForYAxis = totalData[1]; - this.completeCsvMatrixTranspose = this.createTranspose(); - this.codapHeaders = this.headersForCodap(); - this.codapMatrix = this.completeMatrixForCodap(); - this.startFileProcessing(); + } else { + this.csvHeaders = this.headersForGoogleSheet(); + this.completeCsvMatrix = this.completeMatrixForGoogleSheet(); + } + var totalData = this.extractSampleData(); + this.csvSampleData = totalData[0]; + this.csvValidForYAxis = totalData[1]; + this.completeCsvMatrixTranspose = this.createTranspose(); + this.codapHeaders = this.headersForCodap(); + this.codapMatrix = this.completeMatrixForCodap(); + this.startFileProcessing(); } - //a function handler that calls one function after the other after assigning the correct values to different class variables. - allFunctionHandler(functionParameter) { - if (functionParameter == "local") { - this.csvMatrix = this.parse(); - } else { - if (functionParameter == "csvstring" || functionParameter == "remote") { - this.csvFile = this.csvFile.split("\n"); - this.csvMatrix = this.parseString(); - this.csvHeaders = this.determineHeaders(); - this.completeCsvMatrix = this.matrixForCompleteData(); - } else { - this.csvHeaders = this.headersForGoogleSheet(); - this.completeCsvMatrix = this.completeMatrixForGoogleSheet(); - } - var totalData = this.extractSampleData(); - this.csvSampleData = totalData[0]; - this.csvValidForYAxis = totalData[1]; - this.completeCsvMatrixTranspose = this.createTranspose(); - this.codapHeaders = this.headersForCodap(); - this.codapMatrix = this.completeMatrixForCodap(); - this.startFileProcessing(); - } - + } + //parsing a local file, works asynchronously + parse() { + var csvMatrixLocal = []; + var count = 0; + // var f = this.parseReturn; + Papa.parse(this.csvFile, { + download: true, + dynamicTyping: true, + comments: true, + step: row => { + csvMatrixLocal[count] = row.data[0]; + count += 1; + }, + complete: () => { + this.callbackForLocalFile(csvMatrixLocal); + } + }); + } + // parsing string: for remote and csvString import options. Dat is parsed line by line but NOT asynchronously. + parseString() { + var mat = []; + for (var i = 0; i < this.csvFile.length; i++) { + if (this.csvFile[i] == '' || this.csvFile[i] == ' ') { + continue; + } + var dataHash = Papa.parse(this.csvFile[i], { + dynamicTyping: true, + comments: true + }); + mat[i] = dataHash['data'][0]; } - //parsing a local file, works asynchronously - parse() { - var csvMatrixLocal = []; - var count = 0; - var f = this.parseReturn; - Papa.parse(this.csvFile, { - download: true, - dynamicTyping: true, - comments: true, - step: (row) => { - csvMatrixLocal[count] = row.data[0]; - count += 1; - }, - complete: () => { - this.callbackForLocalFile(csvMatrixLocal); - - } - }); + return mat; + } + // checks for the presence of the corresponding View object in elementIdSimpleDataGraphInstanceMap, if present, the CsvParser object is assigned to the View object and the flow resumes from View.js file + startFileProcessing() { + let self = this; + if ( + self.elementId in + SimpleDataGrapher.SimpleDataGrapher.elementIdSimpleDataGraphInstanceMap + ) { + SimpleDataGrapher.SimpleDataGrapher.elementIdSimpleDataGraphInstanceMap[ + self.elementId + ].view.continueViewManipulation(self); } - // parsing string: for remote and csvString import options. Dat is parsed line by line but NOT asynchronously. - parseString() { - var mat = []; - for (var i = 0; i < this.csvFile.length; i++) { - if (this.csvFile[i] == "" || this.csvFile[i] == " ") { - continue; - } - var dataHash = Papa.parse(this.csvFile[i], { - dynamicTyping: true, - comments: true - }); - mat[i] = dataHash['data'][0]; - } - return mat; + } + + //preparing sample data for the user to choose the columns from + extractSampleData() { + var maxval = 5; + var csvSampleDataLocal = []; + var csvValidForYAxisLocal = []; + var totalDataLocal = []; + for (var i = 0; i < this.csvHeaders.length; i++) { + csvSampleDataLocal[i] = []; } - // checks for the presence of the corresponding View object in elementIdSimpleDataGraphInstanceMap, if present, the CsvParser object is assigned to the View object and the flow resumes from View.js file - startFileProcessing() { - let self = this; - if (self.elementId in SimpleDataGrapher.SimpleDataGrapher.elementIdSimpleDataGraphInstanceMap) { - SimpleDataGrapher.SimpleDataGrapher.elementIdSimpleDataGraphInstanceMap[self.elementId].view.continueViewManipulation(self); - } + if (this.completeCsvMatrix.length[0] < 5) { + maxval = this.completeCsvMatrix[0].length; } + for (let i = 0; i < this.csvHeaders.length; i++) { + var counter = 0; - //preparing sample data for the user to choose the columns from - extractSampleData() { - var maxval = 5; - var csvSampleDataLocal = []; - var csvValidForYAxisLocal = []; - var totalDataLocal = []; - for (var i = 0; i < this.csvHeaders.length; i++) { - csvSampleDataLocal[i] = []; - } - if (this.completeCsvMatrix.length[0] < 5) { - maxval = this.completeCsvMatrix[0].length; - } - for (var i = 0; i < this.csvHeaders.length; i++) { - var counter = 0; - - var bool = false; - for (var j = 0; j < this.completeCsvMatrix[i].length; j++) { - if (counter >= maxval) { - break; - } else if (this.completeCsvMatrix[i][j] !== null || this.completeCsvMatrix[i][j] !== undefined) { - if (typeof (this.completeCsvMatrix[i][j]) === 'number') { - bool = true; - } - counter += 1; - csvSampleDataLocal[i].push(this.completeCsvMatrix[i][j]); - } - } - if (bool) { - csvValidForYAxisLocal.push(this.csvHeaders[i]); - } + var bool = false; + for (var j = 0; j < this.completeCsvMatrix[i].length; j++) { + if (counter >= maxval) { + break; + } else if ( + this.completeCsvMatrix[i][j] !== null || + this.completeCsvMatrix[i][j] !== undefined + ) { + if (typeof this.completeCsvMatrix[i][j] === 'number') { + bool = true; + } + counter += 1; + csvSampleDataLocal[i].push(this.completeCsvMatrix[i][j]); } - totalDataLocal = [csvSampleDataLocal, csvValidForYAxisLocal]; - return totalDataLocal; - + } + if (bool) { + csvValidForYAxisLocal.push(this.csvHeaders[i]); + } } + totalDataLocal = [csvSampleDataLocal, csvValidForYAxisLocal]; + return totalDataLocal; + } - //makes a 2D matrix with the transpose of the CSV file, each column having the same index as its column heading - matrixForCompleteData() { - var completeCsvMatrixLocal = []; - for (var i = 0; i < this.csvHeaders.length; i++) { - completeCsvMatrixLocal[i] = []; - } - for (var i = this.csvFileStart; i < this.csvMatrix.length; i++) { - for (var j = 0; j < this.csvHeaders.length; j++) { - completeCsvMatrixLocal[j].push(this.csvMatrix[i][j]); - } + //makes a 2D matrix with the transpose of the CSV file, each column having the same index as its column heading + matrixForCompleteData() { + var completeCsvMatrixLocal = []; + for (var i = 0; i < this.csvHeaders.length; i++) { + completeCsvMatrixLocal[i] = []; + } + for (let i = this.csvFileStart; i < this.csvMatrix.length; i++) { + for (var j = 0; j < this.csvHeaders.length; j++) { + completeCsvMatrixLocal[j].push(this.csvMatrix[i][j]); + } + } + return completeCsvMatrixLocal; + } + //Google Sheet's data is in a JSON, traversal through the JSON and string manipulation are used to extract the data + completeMatrixForGoogleSheet() { + var matrixComplete = []; + for (var i = 0; i < this.csvHeaders.length; i++) { + matrixComplete[i] = []; + } + for (let i = 0; i < this.csvHeaders.length; i++) { + for (var key in this.csvFile) { + var valueCell = this.csvFile[key][this.csvHeaders[i]]['$t']; + if (!isNaN(valueCell)) { + matrixComplete[i].push(+valueCell); + } else { + matrixComplete[i].push(valueCell); } - return completeCsvMatrixLocal; + } + } + for (let i = 0; i < this.csvHeaders.length; i++) { + this.csvHeaders[i] = this.csvHeaders[i].slice( + 4, + this.csvHeaders[i].length + ); } - //Google Sheet's data is in a JSON, traversal through the JSON and string manipulation are used to extract the data - completeMatrixForGoogleSheet() { - var matrixComplete = []; - for (var i = 0; i < this.csvHeaders.length; i++) { - matrixComplete[i] = []; + return matrixComplete; + } + // matrix in JSON form for CODAP export + completeMatrixForCodap() { + var codapMatrix = []; + for (var i = 1; i < this.completeCsvMatrixTranspose.length; i++) { + var element = {}; + for (var j = 0; j < this.csvHeaders.length; j++) { + element[this.csvHeaders[j]] = this.completeCsvMatrixTranspose[i][j]; + } + codapMatrix.push(element); + } + return codapMatrix; + } + //checks if the first row has most of the potential header names, if not, assign dummy headers to the file. + determineHeaders() { + var csvHeadersLocal = []; + var flag = false; + for (var i = 0; i < this.csvMatrix[0].length; i++) { + if (i == 0) { + if (typeof this.csvMatrix[0][i] == 'string') { + csvHeadersLocal[i] = this.csvMatrix[0][i]; + } else { + flag = true; + break; } - for (var i = 0; i < this.csvHeaders.length; i++) { - for (var key in this.csvFile) { - var valueCell = this.csvFile[key][this.csvHeaders[i]]["$t"]; - if (!isNaN(valueCell)) { - matrixComplete[i].push(+valueCell); - } else { - matrixComplete[i].push(valueCell); - } - } + } else { + if ( + (typeof this.csvMatrix[0][i] == typeof this.csvMatrix[0][i - 1] && + typeof this.csvMatrix[0][i] != 'object') || + (typeof this.csvMatrix[0][i] != typeof this.csvMatrix[0][i - 1] && + csvHeadersLocal[i - 1].substring(0, 6) == 'Column') + ) { + csvHeadersLocal[i] = this.csvMatrix[0][i]; } - for (var i = 0; i < this.csvHeaders.length; i++) { - this.csvHeaders[i] = this.csvHeaders[i].slice(4, this.csvHeaders[i].length); + //in case of an unnamed column + else if (typeof this.csvMatrix[0][i] == 'object') { + csvHeadersLocal[i] = 'Column' + (i + 1); + } else { + flag = true; + break; } - return matrixComplete; + } } - // matrix in JSON form for CODAP export - completeMatrixForCodap() { - var codapMatrix = []; - for (var i = 1; i < this.completeCsvMatrixTranspose.length; i++) { - var element = {}; - for (var j = 0; j < this.csvHeaders.length; j++) { - element[this.csvHeaders[j]] = this.completeCsvMatrixTranspose[i][j]; - } - codapMatrix.push(element); - } - return codapMatrix; + //if there are no headers present, make dummy header names + if (flag && csvHeadersLocal.length != this.csvMatrix[0].length) { + this.csvFileStart = 0; + for (let i = 0; i < this.csvMatrix[0].length; i++) { + csvHeadersLocal[i] = 'Column' + (i + 1); + } } - //checks if the first row has most of the potential header names, if not, assign dummy headers to the file. - determineHeaders() { - var csvHeadersLocal = []; - var flag = false; - for (var i = 0; i < this.csvMatrix[0].length; i++) { - if (i == 0) { - if (typeof (this.csvMatrix[0][i]) == "string") { - csvHeadersLocal[i] = this.csvMatrix[0][i]; - } else { - flag = true; - break; - } - } else { - if ((typeof (this.csvMatrix[0][i]) == typeof (this.csvMatrix[0][i - 1]) && typeof (this.csvMatrix[0][i]) != 'object') || (typeof (this.csvMatrix[0][i]) != typeof (this.csvMatrix[0][i - 1]) && csvHeadersLocal[i - 1].substring(0, 6) == "Column")) { - csvHeadersLocal[i] = this.csvMatrix[0][i]; - } - //in case of an unnamed column - else if (typeof (this.csvMatrix[0][i]) == 'object') { - - csvHeadersLocal[i] = "Column" + (i + 1); - } else { - flag = true; - break; - } - } - } - //if there are no headers present, make dummy header names - if (flag && csvHeadersLocal.length != this.csvMatrix[0].length) { - this.csvFileStart = 0; - for (var i = 0; i < this.csvMatrix[0].length; i++) { - csvHeadersLocal[i] = "Column" + (i + 1); - } + return csvHeadersLocal; + } + //Google Sheet's data is in a JSON, extracting column names by string slicing + headersForGoogleSheet() { + var headers_sheet = []; + for (var key in this.csvFile) { + var h = this.csvFile[key]; + for (var headKey in h) { + if (headKey.slice(0, 4) == 'gsx$') { + headers_sheet.push(headKey); } - return csvHeadersLocal; + } + break; } - //Google Sheet's data is in a JSON, extracting column names by string slicing - headersForGoogleSheet() { - var headers_sheet = []; - for (var key in this.csvFile) { - var h = this.csvFile[key]; - for (var headKey in h) { - if (headKey.slice(0, 4) == "gsx$") { - headers_sheet.push(headKey); - } - } - break; - } - return headers_sheet; + return headers_sheet; + } + //determine a JSON for headers for CODAP + headersForCodap() { + var codapHeaders = []; + for (var i = 0; i < this.csvHeaders.length; i++) { + var element = {}; + element['name'] = this.csvHeaders[i]; + codapHeaders.push(element); } - //determine a JSON for headers for CODAP - headersForCodap() { - var codapHeaders = []; - for (var i = 0; i < this.csvHeaders.length; i++) { - var element = {}; - element["name"] = this.csvHeaders[i]; - codapHeaders.push(element); - } - return codapHeaders; + return codapHeaders; + } + // creating the transpose of the entire data ie complete data + headers, for createSpreadsheet in View.js + createTranspose() { + var completeCsvMatrixTransposeLocal = []; + for (var i = 0; i <= this.completeCsvMatrix[0].length; i++) { + completeCsvMatrixTransposeLocal[i] = []; } - // creating the transpose of the entire data ie complete data + headers, for createSpreadsheet in View.js - createTranspose() { - var completeCsvMatrixTransposeLocal = []; - for (var i = 0; i <= this.completeCsvMatrix[0].length; i++) { - completeCsvMatrixTransposeLocal[i] = []; - } - for (var i = 0; i < this.completeCsvMatrix.length; i++) { - completeCsvMatrixTransposeLocal[0][i] = this.csvHeaders[i]; - } - for (var i = 0; i < this.completeCsvMatrix.length; i++) { - for (var j = 0; j < this.completeCsvMatrix[0].length; j++) { - completeCsvMatrixTransposeLocal[j + 1][i] = this.completeCsvMatrix[i][j]; - } - } - return completeCsvMatrixTransposeLocal; + for (let i = 0; i < this.completeCsvMatrix.length; i++) { + completeCsvMatrixTransposeLocal[0][i] = this.csvHeaders[i]; + } + for (let i = 0; i < this.completeCsvMatrix.length; i++) { + for (var j = 0; j < this.completeCsvMatrix[0].length; j++) { + completeCsvMatrixTransposeLocal[j + 1][i] = this.completeCsvMatrix[i][ + j + ]; + } } -}; + return completeCsvMatrixTransposeLocal; + } +} -module.exports = CsvParser; \ No newline at end of file +module.exports = CsvParser; diff --git a/src/PlotlyjsPlotter.js b/src/PlotlyjsPlotter.js index 6390ae7..04004c5 100644 --- a/src/PlotlyjsPlotter.js +++ b/src/PlotlyjsPlotter.js @@ -1,88 +1,103 @@ +'use strict'; class PlotlyjsPlotter { - 'use strict'; - dataHash = {}; - elementId = null; - graphCounting = 0; - canvasContainerId = null; - graphType = null; - length = 0; - flag = false; + dataHash = {}; + elementId = null; + graphCounting = 0; + canvasContainerId = null; + graphType = null; + length = 0; + flag = false; - determineType2() { - if (this.graphType == "Horizontal" || this.graphType == "Vertical") { - return "bar"; - } else if (this.graphType == "Pie" || this.graphType == "Doughnut" || this.graphType == "Radar") { - return "pie"; - } else if (this.graphType == "Basic" || this.graphType == "Stepped" || this.graphType == "Point") { - return "scatter"; - } + determineType2() { + if (this.graphType == 'Horizontal' || this.graphType == 'Vertical') { + return 'bar'; + } else if ( + this.graphType == 'Pie' || + this.graphType == 'Doughnut' || + this.graphType == 'Radar' + ) { + return 'pie'; + } else if ( + this.graphType == 'Basic' || + this.graphType == 'Stepped' || + this.graphType == 'Point' + ) { + return 'scatter'; } - layoutMaker() { - var layout = {}; - if (this.graphType == "Horizontal" || this.graphType == "Vertical") { - layout["barmode"] = "group"; - } - return layout; + } + layoutMaker() { + var layout = {}; + if (this.graphType == 'Horizontal' || this.graphType == 'Vertical') { + layout['barmode'] = 'group'; } - traceMaker() { - var trace = {}; - trace["type"] = this.determineType2(); - if (this.graphType == "Horizontal") { - trace["orientation"] = "h"; - } else if (this.graphType == "Doughnut") { - trace["hole"] = 0.5; - } else if (this.graphType == "Basic") { - trace["mode"] = "lines"; - } else if (this.graphType == "Point") { - trace["mode"] = "markers"; - } else if (this.graphType == "Stepped") { - trace["mode"] = "lines+markers"; - trace["line"] = { - "shape": 'hv' - }; - } - return trace; + return layout; + } + traceMaker() { + var trace = {}; + trace['type'] = this.determineType2(); + if (this.graphType == 'Horizontal') { + trace['orientation'] = 'h'; + } else if (this.graphType == 'Doughnut') { + trace['hole'] = 0.5; + } else if (this.graphType == 'Basic') { + trace['mode'] = 'lines'; + } else if (this.graphType == 'Point') { + trace['mode'] = 'markers'; + } else if (this.graphType == 'Stepped') { + trace['mode'] = 'lines+markers'; + trace['line'] = { shape: 'hv' }; } - keyDeterminer() { - var keys = ["x", "y"]; - if (this.graphType == "Pie" || this.graphType == "Doughnut") { - keys[1] = "values"; - keys[0] = "labels"; - } else if (this.graphType == "Horizontal") { - keys[0] = "y"; - keys[1] = "x"; - } - return keys; + return trace; + } + keyDeterminer() { + var keys = ['x', 'y']; + if (this.graphType == 'Pie' || this.graphType == 'Doughnut') { + keys[1] = 'values'; + keys[0] = 'labels'; + } else if (this.graphType == 'Horizontal') { + keys[0] = 'y'; + keys[1] = 'x'; } - plotGraph2() { - if (this.flag) { - document.getElementById(this.canvasContainerId).innerHTML = ""; - } - var layout = this.layoutMaker(); - var data = []; - var keySet = this.keyDeterminer(); - for (var i = 0; i < this.length; i++) { - var new_trace = this.traceMaker(); - new_trace[keySet[0]] = this.dataHash['x_axis_labels']; - new_trace[keySet[1]] = this.dataHash['y_axis_values' + i]; - new_trace["name"] = this.dataHash['labels'][1][i]; - data.push(new_trace); - } - var div = document.createElement('div'); - div.id = this.elementId + '_chart_container_' + this.graphCounting; - document.getElementById(this.canvasContainerId).appendChild(div); - Plotly.newPlot(div.id, data, layout); - + return keys; + } + plotGraph2() { + if (this.flag) { + // console.log("at plotGraph"); + document.getElementById(this.canvasContainerId).innerHTML = ''; } - constructor(hash, length, type, flag, canvasContainerId, elementId, graphCounting) { - this.dataHash = hash; - this.length = length; - this.graphType = type; - this.flag = flag; - this.canvasContainerId = canvasContainerId; - this.elementId = elementId; - this.graphCounting = graphCounting; - this.plotGraph2(); + var layout = this.layoutMaker(); + var data = []; + var keySet = this.keyDeterminer(); + for (var i = 0; i < this.length; i++) { + var new_trace = this.traceMaker(); + new_trace[keySet[0]] = this.dataHash['x_axis_labels']; + new_trace[keySet[1]] = this.dataHash['y_axis_values' + i]; + new_trace['name'] = this.dataHash['labels'][1][i]; + data.push(new_trace); } + // console.log(data); + var div = document.createElement('div'); + div.id = this.elementId + '_chart_container_' + this.graphCounting; + document.getElementById(this.canvasContainerId).appendChild(div); + window.Plotly.newPlot(div.id, data, layout); + } + constructor( + hash, + length, + type, + flag, + canvasContainerId, + elementId, + graphCounting + ) { + this.dataHash = hash; + this.length = length; + this.graphType = type; + this.flag = flag; + this.canvasContainerId = canvasContainerId; + this.elementId = elementId; + this.graphCounting = graphCounting; + this.plotGraph2(); + } } -module.exports = PlotlyjsPlotter; \ No newline at end of file +module.exports = PlotlyjsPlotter; diff --git a/src/SimpleDataGrapher.js b/src/SimpleDataGrapher.js index 36a2881..7967bb0 100644 --- a/src/SimpleDataGrapher.js +++ b/src/SimpleDataGrapher.js @@ -1,21 +1,19 @@ -import { - View -} from "./View"; +'use strict'; +import { View } from './View'; class SimpleDataGrapher { - 'use strict'; - static elementIdSimpleDataGraphInstanceMap = {}; - elementId = null; - view = null; - constructor(elementId) { - this.elementId = elementId; - SimpleDataGrapher.elementIdSimpleDataGraphInstanceMap[this.elementId] = this; - this.view = new View(elementId); - } -}; + static elementIdSimpleDataGraphInstanceMap = {}; + elementId = null; + view = null; + constructor(elementId) { + this.elementId = elementId; + SimpleDataGrapher.elementIdSimpleDataGraphInstanceMap[ + this.elementId + ] = this; + this.view = new View(elementId); + } +} -export { - SimpleDataGrapher -}; +export { SimpleDataGrapher }; -window.SimpleDataGrapher = SimpleDataGrapher; \ No newline at end of file +window.SimpleDataGrapher = SimpleDataGrapher; diff --git a/src/View.js b/src/View.js index ad55372..b23f174 100644 --- a/src/View.js +++ b/src/View.js @@ -1,551 +1,738 @@ +/* moved to the top of file to fix linter error. + ref: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Strict_Non_Simple_Params*/ +'use strict'; const CsvParser = require('./CsvParser'); -const SimpleDataGrapher = require('./SimpleDataGrapher'); +// const SimpleDataGrapher = require('./SimpleDataGrapher'); const ChartjsPlotter = require('./ChartjsPlotter'); const PlotlyjsPlotter = require('./PlotlyjsPlotter'); -const iframe_phone = require('iframe-phone') +const iframe_phone = require('iframe-phone'); +var sheetLink; class View { - 'use strict'; - elementId = null; - element = null; - fileUploadId = null; - remoteFileUploadId = null; - csvStringUploadId = null; - googleSheetUploadId = null; - csvFile = null; - dragDropHeadingId = null; - uploadButtonId = null; - csvParser = null; - chartjsPlotter = null; - plotlyjsPlotter = null; - graphCounting = 0; - addGraphButtonId = null; - tableXId = null; - tableYId = null; - tableXInputName = null; - tableYInputName = null; - carousalClass = null; - carousalId = null; - graphMenuId = null; - plotGraphId = null; - graphMenuTypeInputName = null; - canvasContinerId = null; - xyToggle = null; - xyToggleName = null; - tableXParentId = null; - tableYParentId = null; - upload_button_container = null; - fileTitle = ""; - fileDescription = ""; - codapExportButton = null; - //extracts the uploaded file from input field and creates an object of CsvParser class with the file as one of the parameters - handleFileSelectlocal(event) { - this.csvFile = event.target.files[0]; - if (this.csvFile['name'].split(".")[1] != "csv") { - alert("Invalid file type"); - } else { - $('#' + this.dragDropHeadingId).text(this.csvFile['name']); - let self = this; - document.getElementById(this.uploadButtonId).onclick = (e) => { - self.csvParser = new CsvParser(self.csvFile, self.elementId, "local"); - } - } + elementId = null; + element = null; + fileUploadId = null; + remoteFileUploadId = null; + csvStringUploadId = null; + googleSheetUploadId = null; + csvFile = null; + dragDropHeadingId = null; + uploadButtonId = null; + csvParser = null; + chartjsPlotter = null; + plotlyjsPlotter = null; + graphCounting = 0; + addGraphButtonId = null; + tableXId = null; + tableYId = null; + tableXInputName = null; + tableYInputName = null; + carousalClass = null; + carousalId = null; + graphMenuId = null; + plotGraphId = null; + graphMenuTypeInputName = null; + canvasContinerId = null; + xyToggle = null; + xyToggleName = null; + tableXParentId = null; + tableYParentId = null; + upload_button_container = null; + fileTitle = ''; + fileDescription = ''; + codapExportButton = null; + //extracts the uploaded file from input field and creates an object of CsvParser class with the file as one of the parameters + handleFileSelectlocal(event) { + this.csvFile = event.target.files[0]; + if (this.csvFile['name'].split('.')[1] != 'csv') { + alert('Invalid file type'); + } else { + $('#' + this.dragDropHeadingId).text(this.csvFile['name']); + let self = this; + document.getElementById(this.uploadButtonId).onclick = () => { + self.csvParser = new CsvParser(self.csvFile, self.elementId, 'local'); + }; } - //receives the string value and creates an object of CsvParser class with the string as one of the parameters - handleFileSelectstring(val) { - // var csv_string = val.split("\n"); - this.csvFile = val; - let self = this; - document.getElementById(this.uploadButtonId).onclick = (e) => { - self.csvParser = new CsvParser(self.csvFile, self.elementId, "csvstring"); - }; - + } + //receives the string value and creates an object of CsvParser class with the string as one of the parameters + handleFileSelectstring(val) { + // var csv_string = val.split("\n"); + this.csvFile = val; + let self = this; + document.getElementById(this.uploadButtonId).onclick = () => { + self.csvParser = new CsvParser(self.csvFile, self.elementId, 'csvstring'); + }; + } + // function for using a previously uploaded and saved file from the data base + usingPreviouslyUploadedFile() { + let self = this; + self.csvParser = new CsvParser('dummy', self.elementId, 'prevfile'); + } + //receives the JSON file value and creates an object of CsvParser class with the file as one of the parameters + handleFileSelectGoogleSheet(googleSheetData) { + this.csvFile = googleSheetData; + let self = this; + document.getElementById(this.uploadButtonId).onclick = () => { + self.csvParser = new CsvParser( + self.csvFile, + self.elementId, + 'googleSheet' + ); + }; + } + // get's the JSON form of the Google Sheet through Google Sheet's URL and passes it to the handler + getValueGoogleSheet(googleSheetLink) { + let self = this; + $.getJSON(googleSheetLink, function(data) { + self.handleFileSelectGoogleSheet(data.feed.entry); + }); + } + // uses a CORS proxy to fetch the value of a remote files and passes the received value to a callback function + sendRemoteFileToHandler(val) { + const proxyurl = 'https://cors-anywhere.herokuapp.com/'; + const url = val; + fetch(proxyurl + url) + .then(response => response.text()) + .then(contents => this.handleFileSelectremote(contents)); + // .catch((e) => console.log(e)) ; + } + // callback function which receives the remote file's value and creates an object of CsvParser class with the file as one of the parameters + handleFileSelectremote(remoteVal) { + this.csvFile = remoteVal; + let self = this; + document.getElementById(this.uploadButtonId).onclick = () => { + self.csvParser = new CsvParser(self.csvFile, self.elementId, 'remote'); + }; + } + // adapter function which switches between Plotly.js and Chart.js as a graph plotting library and creates theri respective objects which take over the graph plotting + plotGraph(hash, length, type, flag, library) { + if (library == 'chartjs') { + this.chartjsPlotter = new ChartjsPlotter( + hash, + length, + type, + flag, + this.canvasContinerId, + this.elementId, + this.graphCounting + ); + } else { + this.plotlyjsPlotter = new PlotlyjsPlotter( + hash, + length, + type, + flag, + this.canvasContinerId, + this.elementId, + this.graphCounting + ); } - // function for using a previously uploaded and saved file from the data base - usingPreviouslyUploadedFile() { - let self = this; - self.csvParser = new CsvParser("dummy", self.elementId, "prevfile"); + $('.' + this.carousalClass).carousel(2); + } + //set tool tip for impot options + setTooltip(importType) { + if (importType === 'container_drag_drop') { + return 'Select a local file from your system'; + } else if (importType === 'container_csv_string') { + var x = 'Type in or Paste a CSV string. \r\n'; + x += 'Example: \r\n'; + x += 'A,B,C \r\n'; + x += '1,2,3'; + return x; + } else if (importType === 'container_remote_link') { + return 'Type in or Paste the link of a remote CSV file. Example: \ + http://example.com/example.csv'; + } else if (importType === 'container_google_sheet') { + return 'Type in or Paste the link of a Published Google Sheet. To publish a Google Sheet: 1. File -> Publish to the web -> Publish 2. Share -> Get shareable link -> Anyone with the link can -> More -> On - Public on the web -> Save 3. Copy link'; } - //receives the JSON file value and creates an object of CsvParser class with the file as one of the parameters - handleFileSelectGoogleSheet(googleSheetData) { - this.csvFile = googleSheetData; - let self = this; - document.getElementById(this.uploadButtonId).onclick = (e) => { - self.csvParser = new CsvParser(self.csvFile, self.elementId, "googleSheet"); - }; + } + //set tool tip for graph tips + setTooltipGraph(graphType) { + if (graphType == 'Horizontal') { + return 'Data is categorical and tells how many, widths proportional to the values'; + } else if (graphType === 'Vertical') { + return 'Data is categorical and tells how many, heights proportional to the values'; + } else if (graphType == 'Stacked') { + return 'Ideal for comparing the total amounts across each group/segmented bar'; + } else if (graphType == 'Basic') { + return 'Used to visualize a trend in data over intervals of time or to see the growth of a quantity'; + } else if (graphType == 'Stepped') { + return 'Vertical parts of a step chart denote changes in the data and their magnitude'; + } else if (graphType == 'Point') { + return 'Used to show the relationship between two data variables'; + } else if (graphType == 'Pie') { + return 'Used to show percentage or proportional data, should be used for less number of categories'; + } else if (graphType == 'Doughnut') { + return 'Used to show percentage or proportional data, but have better data intensity ratio and space efficiency'; + } else if (graphType == 'Radar') { + return 'Used to display multivariate observations with an arbitrary number of variables'; } - // get's the JSON form of the Google Sheet through Google Sheet's URL and passes it to the handler - getValueGoogleSheet(googleSheetLink) { - let self = this; - $.getJSON(googleSheetLink, function (data) { - self.handleFileSelectGoogleSheet(data.feed.entry); + } + // create a popover against each import method for adding a file title and description + createPopover(buttonId) { + let self = this; + var html = + '
'; + $('#' + buttonId) + .popover({ + placement: 'bottom', + title: 'Add Description', + html: true, + content: html + }) + .on('click', function() { + $('#save').click(function(e) { + e.preventDefault(); + self.fileTitle = $('#' + 'title' + buttonId).val(); + self.fileDescription = $('#' + 'desc' + buttonId).val(); }); - - } - // uses a CORS proxy to fetch the value of a remote files and passes the received value to a callback function - sendRemoteFileToHandler(val) { - const proxyurl = "https://cors-anywhere.herokuapp.com/"; - const url = val; - fetch(proxyurl + url) - .then(response => response.text()) - .then(contents => this.handleFileSelectremote(contents)) - .catch((e) => console.log(e)); - - } - // callback function which receives the remote file's value and creates an object of CsvParser class with the file as one of the parameters - handleFileSelectremote(remoteVal) { - this.csvFile = remoteVal; - let self = this; - document.getElementById(this.uploadButtonId).onclick = (e) => { - self.csvParser = new CsvParser(self.csvFile, self.elementId, "remote"); - }; - } - // adapter function which switches between Plotly.js and Chart.js as a graph plotting library and creates theri respective objects which take over the graph plotting - plotGraph(hash, length, type, flag, library) { - if (library == "chartjs") { - this.chartjsPlotter = new ChartjsPlotter(hash, length, type, flag, this.canvasContinerId, this.elementId, this.graphCounting); - } else { - this.plotlyjsPlotter = new PlotlyjsPlotter(hash, length, type, flag, this.canvasContinerId, this.elementId, this.graphCounting); - } - $('.' + this.carousalClass).carousel(2); + }); + } + // renders the required buttons for saving the files if the use is logged in + createButtons(userLoginCheck) { + this.listenersForIntegration(); + if (userLoginCheck == 'yes') { + var save_file_button = document.createElement('button'); + save_file_button.classList.add('btn'); + save_file_button.classList.add('btn-primary'); + save_file_button.innerHTML = 'Save CSV'; + save_file_button.id = this.elementId + '_save_CSV'; + var upload_prev_file = document.createElement('button'); + upload_prev_file.classList.add('btn'); + upload_prev_file.classList.add('btn-primary'); + upload_prev_file.innerHTML = 'Choose a previously uploaded file'; + upload_prev_file.id = this.elementId + '_prev_file'; + var publish_research_button = document.createElement('button'); + publish_research_button.classList.add('btn'); + publish_research_button.classList.add('btn-primary'); + publish_research_button.innerHTML = 'Publish as a Research Note'; + publish_research_button.id = this.elementId + '_publish'; + var container = document.getElementById(this.upload_button_container); + var div_container = document.createElement('div'); + div_container.appendChild(save_file_button); + div_container.appendChild(upload_prev_file); + var container2 = document.getElementById(this.feature_button_container); + container2.appendChild(publish_research_button); + container.prepend(div_container); } - //set tool tip for impot options - setTooltip(importType) { - if (importType === "container_drag_drop") { - return "Select a local file from your system"; - } else if (importType === "container_csv_string") { - var x = "Type in or Paste a CSV string. \r\n"; - x += "Example: \r\n"; - x += "A,B,C \r\n"; - x += "1,2,3"; - return x; - } else if (importType === "container_remote_link") { - return "Type in or Paste the link of a remote CSV file. Example: \ - http://example.com/example.csv"; - } else if (importType === "container_google_sheet") { - return "Type in or Paste the link of a Published Google Sheet. To publish a Google Sheet: 1. File -> Publish to the web -> Publish 2. Share -> Get shareable link -> Anyone with the link can -> More -> On - Public on the web -> Save 3. Copy link"; - } - } - //set tool tip for graph tips - setTooltipGraph(graphType) { - if (graphType == "Horizontal") { - return "Data is categorical and tells how many, widths proportional to the values"; - } else if (graphType === "Vertical") { - return "Data is categorical and tells how many, heights proportional to the values"; - } else if (graphType == "Stacked") { - return "Ideal for comparing the total amounts across each group/segmented bar"; - } else if (graphType == "Basic") { - return "Used to visualize a trend in data over intervals of time or to see the growth of a quantity"; - } else if (graphType == "Stepped") { - return "Vertical parts of a step chart denote changes in the data and their magnitude"; - } else if (graphType == "Point") { - return "Used to show the relationship between two data variables"; - } else if (graphType == "Pie") { - return "Used to show percentage or proportional data, should be used for less number of categories"; - } else if (graphType == "Doughnut") { - return "Used to show percentage or proportional data, but have better data intensity ratio and space efficiency"; - } else if (graphType == "Radar") { - return "Used to display multivariate observations with an arbitrary number of variables"; - } + } + // create dataset for CODAP table + createDataset() { + let dataset = {}; + dataset['action'] = 'create'; + dataset['resource'] = 'dataContext'; + let values = {}; + values['name'] = 'my dataset'; + values['title'] = 'Case Table'; + let collections = []; + let hashCollections = {}; + hashCollections['name'] = 'cases'; + hashCollections['attrs'] = this.csvParser.codapHeaders; + collections.push(hashCollections); + values['collections'] = collections; + dataset['values'] = values; + let dataset2 = {}; + dataset2['action'] = 'create'; + dataset2['resource'] = 'dataContext[my dataset].item'; + dataset2['values'] = this.csvParser.codapMatrix; + let dataset3 = {}; + dataset3['action'] = 'create'; + dataset3['resource'] = 'component'; + let values3 = {}; + values3['type'] = 'caseTable'; + values3['dataContext'] = 'my dataset'; + dataset3['values'] = values3; + return [dataset, dataset2, dataset3]; + } + iframePhoneHandler() { + //callbackforCODAP + } + // renders the iframe for CODAP export + codapExport() { + let self = this; + var iframeBody = + ''; + var modal_body = document.getElementById('body_for_CODAP'); + modal_body.innerHTML = iframeBody; + var iframe = document.getElementById('codap-iframe'); + modal_body.style.height = '500px'; + iframe.style.width = '750px'; + iframe.style.height = '90%'; + var codapIframe = document.getElementById('codap-iframe'); + var rpcHandler = new iframe_phone.IframePhoneRpcEndpoint( + self.iframePhoneHandler, + 'data-interactive', + codapIframe + ); - } - // create a popover against each import method for adding a file title and description - createPopover(buttonId) { - let self = this; - var html = '
' - $('#' + buttonId).popover({ + var createCodapButton = document.createElement('button'); + createCodapButton.classList.add('btn'); + createCodapButton.classList.add('btn-primary'); + createCodapButton.innerHTML = 'Go!'; + createCodapButton.id = this.elementId + '_create_codap'; + modal_body.prepend(createCodapButton); + var apiCall = this.createDataset(); + $('#' + this.elementId + '_create_codap').click(function() { + rpcHandler.call(apiCall, function(resp) { + // eslint-disable-next-line no-console + console.log('Response:' + JSON.stringify(resp)); + }); + }); + } + // creates a downloadable spreadsheet for the imported data using SheetJS + createSheet() { + // eslint-disable-next-line no-undef + var wb = XLSX.utils.book_new(); + wb.Props = { + Title: 'New Spreadsheet' + this.elementId, + CreatedDate: new Date() + }; - placement: 'bottom', - title: 'Add Description', - html: true, - content: html - }).on('click', function () { - $('#save').click(function (e) { - e.preventDefault(); - self.fileTitle = $('#' + "title" + buttonId).val(); - self.fileDescription = $('#' + "desc" + buttonId).val(); + wb.SheetNames.push('Sheet' + this.elementId); + var ws_data = this.csvParser.completeCsvMatrixTranspose; + // eslint-disable-next-line no-undef + var ws = XLSX.utils.aoa_to_sheet(ws_data); + wb.Sheets['Sheet' + this.elementId] = ws; + // eslint-disable-next-line no-undef + var wbout = XLSX.write(wb, { + bookType: 'xlsx', + type: 'binary' + }); - }); - }); + function s2ab(s) { + var buf = new ArrayBuffer(s.length); + var view = new Uint8Array(buf); + for (var i = 0; i < s.length; i++) view[i] = s.charCodeAt(i) & 0xff; + return buf; } - // renders the required buttons for saving the files if the use is logged in - createButtons(userLoginCheck) { - this.listenersForIntegration(); - if (userLoginCheck == "yes") { - var save_file_button = document.createElement('button'); - save_file_button.classList.add("btn"); - save_file_button.classList.add("btn-primary"); - save_file_button.innerHTML = "Save CSV"; - save_file_button.id = this.elementId + "_save_CSV"; - var upload_prev_file = document.createElement('button'); - upload_prev_file.classList.add("btn"); - upload_prev_file.classList.add("btn-primary"); - upload_prev_file.innerHTML = "Choose a previously uploaded file"; - upload_prev_file.id = this.elementId + "_prev_file"; - var publish_research_button = document.createElement('button'); - publish_research_button.classList.add("btn"); - publish_research_button.classList.add("btn-primary"); - publish_research_button.innerHTML = "Publish as a Research Note"; - publish_research_button.id = this.elementId + "_publish"; - var container = document.getElementById(this.upload_button_container); - var div_container = document.createElement('div'); - div_container.appendChild(save_file_button); - div_container.appendChild(upload_prev_file); - var container2 = document.getElementById(this.feature_button_container); - container2.appendChild(publish_research_button); - container.prepend(div_container); + // eslint-disable-next-line no-undef + saveAs( + new Blob([s2ab(wbout)], { + type: 'application/octet-stream' + }), + 'newSpreadsheet' + this.elementId + '.xlsx' + ); + } + // creates a hash of the entire data in an accesible format for the charting libraries {labels: [legendx, [legendy0, legendy1 ... lengendyn]], x_axis_values: [...], y_axis_0: [...], y_axis_1: [...], ... y_axis_n: [...]} n: selected number of columns + // flag is just for seeing if we're plotting the graph for the first time, if yes, we will have to clear the canvas. + // eslint-disable-next-line no-unused-vars + afterSampleData(flag, type) { + document.getElementById(this.plotGraphId).onclick = e => { + e.preventDefault(); + var hash = {}; + var ix = $('input[name=' + this.tableXInputName + ']:checked').val(); + hash['x_axis_labels'] = this.csvParser.completeCsvMatrix[ix]; + var columns = new Array(); + var y_axis_names = new Array(); + $('input:checkbox[name=' + this.tableYInputName + ']:checked').each( + (index, element) => { + columns.push(element.value); } - } - // create dataset for CODAP table - createDataset() { - let dataset = {}; - dataset["action"] = "create"; - dataset["resource"] = "dataContext"; - let values = {}; - values["name"] = "my dataset"; - values["title"] = "Case Table"; - let collections = []; - let hashCollections = {}; - hashCollections["name"] = "cases"; - hashCollections["attrs"] = this.csvParser.codapHeaders; - collections.push(hashCollections); - values["collections"] = collections; - dataset["values"] = values; - let dataset2 = {}; - dataset2["action"] = "create"; - dataset2["resource"] = "dataContext[my dataset].item"; - dataset2["values"] = this.csvParser.codapMatrix; - let dataset3 = {}; - dataset3["action"] = "create"; - dataset3["resource"] = "component"; - let values3 = {}; - values3["type"] = "caseTable"; - values3["dataContext"] = "my dataset"; - dataset3["values"] = values3; - return [dataset, dataset2, dataset3]; - - - } - iframePhoneHandler() { - //callbackforCODAP - } - // renders the iframe for CODAP export - codapExport() { - let self = this; - var iframeBody = '' - var modal_body = document.getElementById("body_for_CODAP"); - modal_body.innerHTML = iframeBody; - var iframe = document.getElementById("codap-iframe"); - modal_body.style.height = "500px"; - iframe.style.width = "750px"; - iframe.style.height = "90%"; - var codapIframe = document.getElementById('codap-iframe'); - var rpcHandler = new iframe_phone.IframePhoneRpcEndpoint( - self.iframePhoneHandler, "data-interactive", codapIframe); - - var createCodapButton = document.createElement("button"); - createCodapButton.classList.add("btn"); - createCodapButton.classList.add("btn-primary"); - createCodapButton.innerHTML = "Go!"; - createCodapButton.id = this.elementId + "_create_codap"; - modal_body.prepend(createCodapButton); - var apiCall = this.createDataset(); - $("#" + this.elementId + "_create_codap").click(function () { - rpcHandler.call(apiCall, function (resp) { - console.log('Response:' + JSON.stringify(resp)); - }); - }); - - - } - // creates a downloadable spreadsheet for the imported data using SheetJS - createSheet() { - var wb = XLSX.utils.book_new(); - wb.Props = { - Title: "New Spreadsheet" + this.elementId, - CreatedDate: new Date() - }; - - wb.SheetNames.push("Sheet" + this.elementId); - var ws_data = this.csvParser.completeCsvMatrixTranspose; - var ws = XLSX.utils.aoa_to_sheet(ws_data); - wb.Sheets["Sheet" + this.elementId] = ws; - var wbout = XLSX.write(wb, { - bookType: 'xlsx', - type: 'binary' - }); - - function s2ab(s) { - - var buf = new ArrayBuffer(s.length); - var view = new Uint8Array(buf); - for (var i = 0; i < s.length; i++) view[i] = s.charCodeAt(i) & 0xFF; - return buf; + ); + for (var i = 0; i < columns.length; i++) { + hash['y_axis_values' + i] = this.csvParser.completeCsvMatrix[ + columns[i] + ]; + y_axis_names.push(this.csvParser.csvHeaders[columns[i]]); + } + var labels = [this.csvParser.csvHeaders[ix], y_axis_names]; + hash['labels'] = labels; + var selectedGraph = $('.selected'); + var type = selectedGraph.attr('data-value'); + this.plotGraph(hash, columns.length, type, flag, 'plotly'); + }; + } + // generates a graph menu with different graph options + graphMenu(flag) { + var self = this; + $('.' + this.carousalClass).carousel(1); + var menuDiv = document.getElementById('menu_holder'); + menuDiv.innerHTML = + '

blahhhhh

Horizontal Bar

Vertical Bar

Stacked Bar

Basic Line

Stepped Line

Point

Pie

Doughnut

Radar

blahhh

'; + $('.radio-group .radio').click(function() { + $(this) + .parent() + .find('.radio') + .removeClass('selected'); + var l = document.getElementsByClassName('hmm'); + for (var i = 0; i < l.length; i++) { + l[i].style.backgroundColor = '#cccccc'; + } + $(this).addClass('selected'); + var type = $(this).attr('data-value'); + $('#' + type + 'Type').css('backgroundColor', '#1ad1ff'); + }); + $('.radio').hover( + function() { + let tooltipVal = self.setTooltipGraph($(this).attr('data-value')); + $('#graph_description').text(tooltipVal); + $('#graph_description') + .css({ + opacity: 0.0, + visibility: 'visible' + }) + .animate( + { + opacity: 1.0 + }, + 800 + ); + }, + function() { + $('#graph_description').css('visibility', 'hidden'); + } + ); + this.afterSampleData(flag); + } + // generates the sample table data with checkboxes for y-axis and radio buttons for x-axis + tableGenerator( + name, + tableId, + typeOfInput, + validValues, + flag, + tableType, + badgeType + ) { + document.getElementById(tableId).innerHTML = ''; + var trhead = document.createElement('tr'); + for (var i = 0; i < this.csvParser.csvHeaders.length; i++) { + var td = document.createElement('td'); + var span = document.createElement('span'); + var textnode = document.createTextNode(this.csvParser.csvHeaders[i]); + span.appendChild(textnode); + span.classList.add('badge'); + span.classList.add('badge-pill'); + span.classList.add(badgeType); + td.appendChild(span); + for (var j = 0; j < validValues.length; j++) { + if (validValues[j] == this.csvParser.csvHeaders[i]) { + var checkbox = document.createElement('input'); + checkbox.type = typeOfInput; + checkbox.value = i; + checkbox.name = name; + checkbox.id = name + i; + checkbox.classList.add('check-inputs'); + span.appendChild(checkbox); } - saveAs(new Blob([s2ab(wbout)], { - type: "application/octet-stream" - }), 'newSpreadsheet' + this.elementId + '.xlsx'); - - } - // creates a hash of the entire data in an accesible format for the charting libraries {labels: [legendx, [legendy0, legendy1 ... lengendyn]], x_axis_values: [...], y_axis_0: [...], y_axis_1: [...], ... y_axis_n: [...]} n: selected number of columns - // flag is just for seeing if we're plotting the graph for the first time, if yes, we will have to clear the canvas. - afterSampleData(flag, type) { - document.getElementById(this.plotGraphId).onclick = (e) => { - e.preventDefault(); - var hash = {}; - var ix = $('input[name=' + this.tableXInputName + ']:checked').val(); - hash["x_axis_labels"] = this.csvParser.completeCsvMatrix[ix]; - var columns = new Array(); - var y_axis_names = new Array(); - $("input:checkbox[name=" + this.tableYInputName + "]:checked").each((index, element) => { - columns.push(element.value); - }); - for (var i = 0; i < columns.length; i++) { - hash["y_axis_values" + (i)] = this.csvParser.completeCsvMatrix[columns[i]]; - y_axis_names.push(this.csvParser.csvHeaders[columns[i]]); - } - var labels = [this.csvParser.csvHeaders[ix], y_axis_names]; - hash["labels"] = labels; - var selectedGraph = $('.selected'); - var type = selectedGraph.attr('data-value'); - - this.plotGraph(hash, columns.length, type, flag, "plotly"); - - }; + } + trhead.appendChild(td); } - // generates a graph menu with different graph options - graphMenu(flag) { - var self = this; - $('.' + this.carousalClass).carousel(1); - var menuDiv = document.getElementById("menu_holder"); - menuDiv.innerHTML = '

blahhhhh

Horizontal Bar

Vertical Bar

Stacked Bar

Basic Line

Stepped Line

Point

Pie

Doughnut

Radar

blahhh

' - $('.radio-group .radio').click(function () { - $(this).parent().find('.radio').removeClass('selected'); - var l = document.getElementsByClassName('hmm'); - for (var i = 0; i < l.length; i++) { - l[i].style.backgroundColor = "#cccccc"; - } - $(this).addClass('selected'); - var type = $(this).attr('data-value'); - $('#' + type + "Type").css('backgroundColor', '#1ad1ff'); - }); - $('.radio').hover( - function () { - let tooltipVal = self.setTooltipGraph($(this).attr('data-value')); - $('#graph_description').text(tooltipVal); - $('#graph_description').css({ - opacity: 0.0, - visibility: "visible" - }).animate({ - opacity: 1.0 - }, 800); - }, - function () { - $('#graph_description').css('visibility', 'hidden'); - } + trhead.classList.add(tableType); + document.getElementById(tableId).appendChild(trhead); + for (let i = 0; i < this.csvParser.csvSampleData[0].length; i++) { + var tr = document.createElement('tr'); + for (let j = 0; j < this.csvParser.csvHeaders.length; j++) { + let td = document.createElement('td'); + td.appendChild( + document.createTextNode(this.csvParser.csvSampleData[j][i]) ); - this.afterSampleData(flag); - - + tr.appendChild(td); + } + document.getElementById(tableId).appendChild(tr); } - // generates the sample table data with checkboxes for y-axis and radio buttons for x-axis - tableGenerator(name, tableId, typeOfInput, validValues, flag, tableType, badgeType) { - document.getElementById(tableId).innerHTML = ""; - var trhead = document.createElement('tr'); - for (var i = 0; i < this.csvParser.csvHeaders.length; i++) { - var td = document.createElement('td'); - var span = document.createElement('span'); - var textnode = document.createTextNode(this.csvParser.csvHeaders[i]); - span.appendChild(textnode); - span.classList.add("badge"); - span.classList.add("badge-pill"); - span.classList.add(badgeType); - td.appendChild(span); - for (var j = 0; j < validValues.length; j++) { - if (validValues[j] == this.csvParser.csvHeaders[i]) { - var checkbox = document.createElement('input') - checkbox.type = typeOfInput; - checkbox.value = i; - checkbox.name = name; - checkbox.id = name + i; - checkbox.classList.add("check-inputs"); - span.appendChild(checkbox); - } - } - trhead.appendChild(td); - } - trhead.classList.add(tableType); - document.getElementById(tableId).appendChild(trhead); - for (var i = 0; i < this.csvParser.csvSampleData[0].length; i++) { - var tr = document.createElement('tr'); - for (var j = 0; j < this.csvParser.csvHeaders.length; j++) { - var td = document.createElement('td'); - td.appendChild(document.createTextNode(this.csvParser.csvSampleData[j][i])); - tr.appendChild(td); - } - document.getElementById(tableId).appendChild(tr); - } - this.graphMenu(flag); + this.graphMenu(flag); + } + // renders the sample tables + showSampleDataXandY() { + document.getElementById(this.addGraphButtonId).onclick = () => { + this.graphCounting++; + $('.' + this.carousalClass).carousel(1); /// ---------------> after + this.tableGenerator( + this.tableXInputName, + this.tableXId, + 'radio', + this.csvParser.csvHeaders, + false, + 'table-success', + 'badge-success' + ); + this.tableGenerator( + this.tableYInputName, + this.tableYId, + 'checkbox', + this.csvParser.csvValidForYAxis, + false, + 'table-warning', + 'badge-warning' + ); + this.graphMenu(); + }; + this.tableGenerator( + this.tableXInputName, + this.tableXId, + 'radio', + this.csvParser.csvHeaders, + true, + 'table-success', + 'badge-success' + ); + this.tableGenerator( + this.tableYInputName, + this.tableYId, + 'checkbox', + this.csvParser.csvValidForYAxis, + true, + 'table-warning', + 'badge-warning' + ); + this.graphMenu(); + } + // view manipulation resumes after the CsvParser object is created and returned + continueViewManipulation(x) { + if (x != 'prevfile') { + this.csvParser = x; } - // renders the sample tables - showSampleDataXandY() { - document.getElementById(this.addGraphButtonId).onclick = (e) => { - this.graphCounting++; - $('.' + this.carousalClass).carousel(1); /// ---------------> after - this.tableGenerator(this.tableXInputName, this.tableXId, 'radio', this.csvParser.csvHeaders, false, 'table-success', 'badge-success'); - this.tableGenerator(this.tableYInputName, this.tableYId, 'checkbox', this.csvParser.csvValidForYAxis, false, 'table-warning', 'badge-warning'); - this.graphMenu(); + this.showSampleDataXandY(); + // this.showSampleDataXandY(this.csvParser.csvSampleData, this.csvParser.csvHeaders, this.csvParser.csvValidForYAxis, this.csvParser.csvSampleData); + // sampleDataXandY(this.csvSampleData,this.csvHeaders,this.csvValidForYAxis,this.completeCsvMatrix); + // matrixForCompleteData(headers,this.csvMatrix,start); + } - }; - this.tableGenerator(this.tableXInputName, this.tableXId, 'radio', this.csvParser.csvHeaders, true, 'table-success', 'badge-success'); - this.tableGenerator(this.tableYInputName, this.tableYId, 'checkbox', this.csvParser.csvValidForYAxis, true, 'table-warning', 'badge-warning'); - this.graphMenu(); - } - // view manipulation resumes after the CsvParser object is created and returned - continueViewManipulation(x) { - if (x != "prevfile") { - this.csvParser = x; - } - this.showSampleDataXandY(); - // this.showSampleDataXandY(this.csvParser.csvSampleData, this.csvParser.csvHeaders, this.csvParser.csvValidForYAxis, this.csvParser.csvSampleData); - // sampleDataXandY(this.csvSampleData,this.csvHeaders,this.csvValidForYAxis,this.completeCsvMatrix); - // matrixForCompleteData(headers,this.csvMatrix,start); - } + listenersForIntegration() { + $('#' + this.fileUploadId).change(e => { + // console.log("i am here23"); + document.getElementById('popover' + this.fileUploadId).style.display = + 'inline'; + document.getElementById( + 'popover' + this.csvStringUploadId + ).style.display = 'none'; + document.getElementById( + 'popover' + this.googleSheetUploadId + ).style.display = 'none'; + document.getElementById( + 'popover' + this.remoteFileUploadId + ).style.display = 'none'; + this.createPopover('popover' + this.fileUploadId); + this.handleFileSelectlocal(e); + }); + $('#' + this.csvStringUploadId).change(() => { + // console.log(document.getElementById(this.csvStringUploadId).value); + document.getElementById( + 'popover' + this.csvStringUploadId + ).style.display = 'inline'; + document.getElementById( + 'popover' + this.googleSheetUploadId + ).style.display = 'none'; + document.getElementById( + 'popover' + this.remoteFileUploadId + ).style.display = 'none'; + document.getElementById('popover' + this.fileUploadId).style.display = + 'none'; + this.createPopover('popover' + this.csvStringUploadId); + this.handleFileSelectstring( + document.getElementById(this.csvStringUploadId).value + ); + }); + $('#' + this.googleSheetUploadId).change(() => { + // console.log(document.getElementById(this.googleSheetUploadId).value,"sheetlink"); + document.getElementById( + 'popover' + this.googleSheetUploadId + ).style.display = 'inline'; + document.getElementById( + 'popover' + this.csvStringUploadId + ).style.display = 'none'; + document.getElementById( + 'popover' + this.remoteFileUploadId + ).style.display = 'none'; + document.getElementById('popover' + this.fileUploadId).style.display = + 'none'; + this.createPopover('popover' + this.googleSheetUploadId); + sheetLink = document.getElementById(this.googleSheetUploadId).value; + var sheetURL = + 'https://spreadsheets.google.com/feeds/list/' + + sheetLink.split('/')[5] + + '/od6/public/values?alt=json'; + this.getValueGoogleSheet(sheetURL); + }); + $('#' + this.remoteFileUploadId).change(() => { + // console.log(document.getElementById(this.remoteFileUploadId).value); + document.getElementById( + 'popover' + this.remoteFileUploadId + ).style.display = 'inline'; + document.getElementById( + 'popover' + this.csvStringUploadId + ).style.display = 'none'; + document.getElementById( + 'popover' + this.googleSheetUploadId + ).style.display = 'none'; + document.getElementById('popover' + this.fileUploadId).style.display = + 'none'; + this.createPopover('popover' + this.remoteFileUploadId); + this.sendRemoteFileToHandler( + document.getElementById(this.remoteFileUploadId).value + ); + }); + } - listenersForIntegration() { - $("#" + this.fileUploadId).change((e) => { - document.getElementById("popover" + this.fileUploadId).style.display = "inline"; - document.getElementById("popover" + this.csvStringUploadId).style.display = "none"; - document.getElementById("popover" + this.googleSheetUploadId).style.display = "none"; - document.getElementById("popover" + this.remoteFileUploadId).style.display = "none"; - this.createPopover("popover" + this.fileUploadId); - this.handleFileSelectlocal(e); - }); - $("#" + this.csvStringUploadId).change(() => { - document.getElementById("popover" + this.csvStringUploadId).style.display = "inline"; - document.getElementById("popover" + this.googleSheetUploadId).style.display = "none"; - document.getElementById("popover" + this.remoteFileUploadId).style.display = "none"; - document.getElementById("popover" + this.fileUploadId).style.display = "none"; - this.createPopover("popover" + this.csvStringUploadId); - this.handleFileSelectstring(document.getElementById(this.csvStringUploadId).value); - }); - $("#" + this.googleSheetUploadId).change(() => { - document.getElementById("popover" + this.googleSheetUploadId).style.display = "inline"; - document.getElementById("popover" + this.csvStringUploadId).style.display = "none"; - document.getElementById("popover" + this.remoteFileUploadId).style.display = "none"; - document.getElementById("popover" + this.fileUploadId).style.display = "none"; - this.createPopover("popover" + this.googleSheetUploadId); - var sheetLink = document.getElementById(this.googleSheetUploadId).value; - var sheetURL = "https://spreadsheets.google.com/feeds/list/" + sheetLink.split("/")[5] + "/od6/public/values?alt=json"; - this.getValueGoogleSheet(sheetURL); - }); - $("#" + this.remoteFileUploadId).change(() => { - document.getElementById("popover" + this.remoteFileUploadId).style.display = "inline"; - document.getElementById("popover" + this.csvStringUploadId).style.display = "none"; - document.getElementById("popover" + this.googleSheetUploadId).style.display = "none"; - document.getElementById("popover" + this.fileUploadId).style.display = "none"; - this.createPopover("popover" + this.remoteFileUploadId); - this.sendRemoteFileToHandler(document.getElementById(this.remoteFileUploadId).value); - }); + constructor(elementId) { + this.elementId = elementId; + this.element = document.getElementById(elementId); + if (this.element == null) { + throw 'No element exist with this id'; } - - constructor(elementId) { - this.elementId = elementId; - this.element = document.getElementById(elementId); - if (this.element == null) { - throw "No element exist with this id"; - } - this.fileUploadId = elementId + "_csv_file"; - this.remoteFileUploadId = elementId + "_remote_file"; - this.csvStringUploadId = elementId + "_csv_string"; - this.googleSheetUploadId = elementId + "_google_sheet"; - this.dragDropHeadingId = elementId + "_drag_drop_heading"; - this.uploadButtonId = elementId + "_file_upload_button"; - this.addGraphButtonId = elementId + "_add_graph"; - this.createSpreadsheetButtonId = elementId + "_save_as_spreadsheet"; - this.tableXId = elementId + "_tableX"; - this.tableYId = elementId + "_tableY"; - this.tableXParentId = elementId + "_Xtable"; - this.tableYParentId = elementId + "_Ytable"; - this.tableXInputName = elementId + "_x_axis_input_columns"; - this.tableYInputName = elementId + "_y_axis_input_columns"; - this.carousalClass = elementId + "_carousal"; - this.carousalId = elementId + "_carousalId"; - this.graphMenuId = elementId + "_graph_menu"; - this.plotGraphId = elementId + "_plot_graph"; - this.graphMenuTypeInputName = elementId + "_types"; - this.canvasContinerId = elementId + "_canvas_container"; - this.xyToggleName = elementId + "_xytoggle"; - this.saveAsImageId = elementId + "save-as-image"; - this.upload_button_container = elementId + "upload_button_container"; - this.feature_button_container = elementId + "feature_button_container"; - this.codapExportButton = elementId + "codap_export_button"; - this.drawHTMLView(); - this.addListeners(); - let self = this; - $('.xytoggle').bootstrapToggle({ - on: 'X-Axis', - off: 'Y-Axis' - }); - $('input[name=' + this.xyToggleName + ']:checked').change(() => { - var ixy = $('input[name=' + this.xyToggleName + ']:checked').val(); - var ixx = 0; - if (ixy == undefined) { - ixx = 1; - } - $('#' + this.tableXParentId).toggle(ixx === 0); - $('#' + this.tableYParentId).toggle(ixx === 1); - }); - $('.imports').hover( - function () { - let tooltipVal = self.setTooltip(this.classList[0]); - $('#import_description').text(tooltipVal); - $('#import_description').css({ - opacity: 0.0, - visibility: "visible" - }).animate({ - opacity: 1.0 - }, 800); + this.fileUploadId = elementId + '_csv_file'; + this.remoteFileUploadId = elementId + '_remote_file'; + this.csvStringUploadId = elementId + '_csv_string'; + this.googleSheetUploadId = elementId + '_google_sheet'; + this.dragDropHeadingId = elementId + '_drag_drop_heading'; + this.uploadButtonId = elementId + '_file_upload_button'; + this.addGraphButtonId = elementId + '_add_graph'; + this.createSpreadsheetButtonId = elementId + '_save_as_spreadsheet'; + this.tableXId = elementId + '_tableX'; + this.tableYId = elementId + '_tableY'; + this.tableXParentId = elementId + '_Xtable'; + this.tableYParentId = elementId + '_Ytable'; + this.tableXInputName = elementId + '_x_axis_input_columns'; + this.tableYInputName = elementId + '_y_axis_input_columns'; + this.carousalClass = elementId + '_carousal'; + this.carousalId = elementId + '_carousalId'; + this.graphMenuId = elementId + '_graph_menu'; + this.plotGraphId = elementId + '_plot_graph'; + this.graphMenuTypeInputName = elementId + '_types'; + this.canvasContinerId = elementId + '_canvas_container'; + this.xyToggleName = elementId + '_xytoggle'; + this.saveAsImageId = elementId + 'save-as-image'; + this.upload_button_container = elementId + 'upload_button_container'; + this.feature_button_container = elementId + 'feature_button_container'; + this.codapExportButton = elementId + 'codap_export_button'; + this.drawHTMLView(); + this.addListeners(); + let self = this; + $('.xytoggle').bootstrapToggle({ + on: 'X-Axis', + off: 'Y-Axis' + }); + $('input[name=' + this.xyToggleName + ']:checked').change(() => { + var ixy = $('input[name=' + this.xyToggleName + ']:checked').val(); + var ixx = 0; + if (ixy == undefined) { + ixx = 1; + } + $('#' + this.tableXParentId).toggle(ixx === 0); + $('#' + this.tableYParentId).toggle(ixx === 1); + }); + $('.imports').hover( + function() { + let tooltipVal = self.setTooltip(this.classList[0]); + $('#import_description').text(tooltipVal); + $('#import_description') + .css({ + opacity: 0.0, + visibility: 'visible' + }) + .animate( + { + opacity: 1.0 }, - function () { - $('#import_description').css('visibility', 'hidden'); - } - ); - - } - //listen for different inputs for import by the user - addListeners() { - $("#" + this.fileUploadId).change((e) => { - this.handleFileSelectlocal(e); - }); - $("#" + this.csvStringUploadId).change(() => { - this.handleFileSelectstring(document.getElementById(this.csvStringUploadId).value); - }); - $("#" + this.googleSheetUploadId).change(() => { - var sheetURL = "https://spreadsheets.google.com/feeds/list/" + sheetLink.split("/")[5] + "/od6/public/values?alt=json"; - this.getValueGoogleSheet(sheetURL); - }); - $("#" + this.remoteFileUploadId).change(() => { - this.sendRemoteFileToHandler(document.getElementById(this.remoteFileUploadId).value); - }); - $("#" + this.createSpreadsheetButtonId).click(() => { - this.createSheet(); - }); - $("#" + this.codapExportButton).click(() => { - this.codapExport(); - }); - - } + 800 + ); + }, + function() { + $('#import_description').css('visibility', 'hidden'); + } + ); + } + //listen for different inputs for import by the user + addListeners() { + $('#' + this.fileUploadId).change(e => { + this.handleFileSelectlocal(e); + }); + $('#' + this.csvStringUploadId).change(() => { + this.handleFileSelectstring( + document.getElementById(this.csvStringUploadId).value + ); + }); + $('#' + this.googleSheetUploadId).change(() => { + var sheetURL = + 'https://spreadsheets.google.com/feeds/list/' + + sheetLink.split('/')[5] + + '/od6/public/values?alt=json'; + this.getValueGoogleSheet(sheetURL); + }); + $('#' + this.remoteFileUploadId).change(() => { + this.sendRemoteFileToHandler( + document.getElementById(this.remoteFileUploadId).value + ); + }); + $('#' + this.createSpreadsheetButtonId).click(() => { + this.createSheet(); + }); + $('#' + this.codapExportButton).click(() => { + this.codapExport(); + }); + } - - //renders the entire HTML view - drawHTMLView() { - this.element.innerHTML = '

Simple Data Grapher

A JavaScript library that turns uploaded CSV files into customizable graphs within a few simple steps. Can be embedded on other websites!

Open Source by Public Lab

  • Upload CSV Data
  • Select Columns & Graph Type
  • Plotted Graph & Export Options
' - - } + //renders the entire HTML view + drawHTMLView() { + this.element.innerHTML = + '

Simple Data Grapher

A JavaScript library that turns uploaded CSV files into customizable graphs within a few simple steps. Can be embedded on other websites!

Open Source by Public Lab

  • Upload CSV Data
  • Select Columns & Graph Type
  • Plotted Graph & Export Options
'; + } } -export { - View -} +export { View };