From 7969658bbc22e1d0abfed7a6e0e3c40211918fa2 Mon Sep 17 00:00:00 2001 From: benib Date: Thu, 3 Oct 2019 10:37:26 +0200 Subject: [PATCH 01/12] remove the possibility to add a custom vega spec (breaking) --- helpers/chartType.js | 5 - helpers/legend/default.js | 4 +- resources/fixtures/data/vegaSpec.json | 1022 ------------------------- resources/schema.json | 59 +- routes/fixtures/data.js | 3 +- routes/option-availability.js | 63 +- routes/rendering-info/web-svg.js | 10 +- routes/rendering-info/web.js | 31 +- 8 files changed, 39 insertions(+), 1158 deletions(-) delete mode 100644 resources/fixtures/data/vegaSpec.json diff --git a/helpers/chartType.js b/helpers/chartType.js index b3be1e96..044086b3 100644 --- a/helpers/chartType.js +++ b/helpers/chartType.js @@ -1,9 +1,4 @@ function getChartTypeForItemAndWidth(item, width) { - // any custom vegaSpec overrules the chartType setting - if (item.vegaSpec !== undefined && item.vegaSpec !== "") { - return null; - } - if (item.options.chartType === "Line") { return "line"; } diff --git a/helpers/legend/default.js b/helpers/legend/default.js index 767f3419..8d1e3d1b 100644 --- a/helpers/legend/default.js +++ b/helpers/legend/default.js @@ -6,8 +6,8 @@ const vega = require("vega"); const optionsHelpers = require("../options.js"); async function getLegendModel(item, toolRuntimeConfig, chartType, server) { - // if we do not have a type or we have a vegaSpec that defacto overwrites the chartType, we do not show a legend - if (!chartType || item.vegaSpec) { + // if we do not have a type we do not show a legend + if (!chartType) { return null; } const legendModel = {}; diff --git a/resources/fixtures/data/vegaSpec.json b/resources/fixtures/data/vegaSpec.json deleted file mode 100644 index f40fca3d..00000000 --- a/resources/fixtures/data/vegaSpec.json +++ /dev/null @@ -1,1022 +0,0 @@ -{ - "vegaSpec": { - "$schema": "https://vega.github.io/schema/vega/v3.0.json", - "data": [ - { - "name": "original-data", - "values": [ - [ - "Kreise", - "Corine Mauch", - "Daniel Leupi", - "André Odermatt", - "Claudia Nielsen", - "Richard Wolff", - "Filippo Leutenegger", - "Raphael Golta", - "Michael Baumer", - "Karin Rykart", - "Markus Hungerbühler", - "Susanne Brunner", - "Roger Bartholdi", - "Andreas Hauri", - "Claudia Rabelbauer" - ], - [ - "1+2", - "10", - "10", - "10", - "10", - "10", - "10", - "10", - "10", - "10", - "10", - "10", - "10", - "10", - "10" - ], - [ - "3", - "20", - "20", - "20", - "20", - "20", - "20", - "20", - "20", - "20", - "20", - "20", - "20", - "20", - "20" - ], - [ - "4+5", - "30", - "30", - "30", - "30", - "30", - "30", - "40", - "10", - "90", - "30", - "30", - "30", - "30", - "30" - ], - [ - "6", - "50", - "50", - "50", - "50", - "50", - "50", - "50", - "50", - "50", - "50", - "50", - "50", - "50", - "50" - ], - [ - "7+8", - "34", - "34", - "34", - "34", - "34", - "34", - "34", - "34", - "34", - "34", - "34", - "34", - "34", - "34" - ], - [ - "9", - "69", - "69", - "69", - "69", - "69", - "69", - "69", - "69", - "69", - "40", - "69", - "69", - "69", - "69" - ], - [ - "10", - "34", - "34", - "34", - "34", - "34", - "34", - "34", - "34", - "34", - "34", - "34", - "34", - "34", - "34" - ], - [ - "11", - "87", - "87", - "87", - "87", - "87", - "87", - "87", - "87", - "87", - "87", - "87", - "87", - "87", - "87" - ], - [ - "12", - "34", - "34", - "34", - "34", - "34", - "34", - "34", - "34", - "34", - "34", - "34", - "34", - "34", - "34" - ] - ] - }, - { - "name": "cross-table", - "transform": [ - { - "type": "sequence", - "start": 0, - "stop": { - "signal": "max(data('original-data').length, data('original-data')[0].length)" - } - }, - { - "type": "cross", - "as": [ - "a", - "b" - ] - }, - { - "type": "identifier", - "as": "cellIndex" - }, - { - "type": "filter", - "expr": "(datum.cellIndex - 1) % max(data('original-data').length, data('original-data')[0].length) < data('original-data')[0].length" - }, - { - "type": "filter", - "expr": "(datum.cellIndex - 1) < data('original-data').length * max(data('original-data').length, data('original-data')[0].length)" - }, - { - "type": "formula", - "expr": "datum.a.data", - "as": "row" - }, - { - "type": "formula", - "expr": "(datum.cellIndex - 1 - (max(data('original-data').length, data('original-data')[0].length) - data('original-data')[0].length)*datum.row) % data('original-data')[0].length", - "as": "column" - } - ] - }, - { - "name": "long-table-head", - "source": "cross-table", - "transform": [ - { - "type": "filter", - "expr": "datum.row === 0" - }, - { - "type": "formula", - "expr": "data('original-data')[0][datum.column]", - "as": "value" - }, - { - "type": "project", - "fields": [ - "column", - "value" - ] - } - ] - }, - { - "name": "long-table", - "source": "cross-table", - "transform": [ - { - "type": "filter", - "expr": "datum.row > 0 && datum.column > 0" - }, - { - "type": "formula", - "expr": "datum.column - 1", - "as": "cIndex" - }, - { - "type": "formula", - "expr": "data('long-table-head')[datum.column].value", - "as": "cValue" - }, - { - "type": "formula", - "expr": "datum.row - 1", - "as": "xIndex" - }, - { - "type": "formula", - "expr": "data('original-data')[datum.row][0]", - "as": "xValue" - }, - { - "type": "formula", - "expr": "toNumber(replace(data('original-data')[datum.row][datum.column], ',', '.'))", - "as": "yValue" - }, - { - "type": "project", - "fields": [ - "row", - "column", - "xIndex", - "xValue", - "yValue", - "cValue", - "cIndex" - ] - }, - { - "type": "extent", - "field": "yValue", - "signal": "yExtent" - }, - { - "type": "extent", - "field": "column", - "signal": "columnExtent" - }, - { - "type": "extent", - "field": "row", - "signal": "rowExtent" - } - ] - }, - { - "name": "table", - "source": "long-table", - "transform": [ - { - "type": "formula", - "expr": "((datum.cIndex - datum.cIndex % sue___columns) / sue___columns)", - "as": "cellRow" - }, - { - "type": "formula", - "expr": "datum.cIndex % sue___columns", - "as": "cellColumn" - }, - { - "type": "stack", - "groupby": { - "signal": "sue___smallMultiples ? ['cIndex','xValue'] : ['xValue']" - }, - "sort": { - "field": "cValue" - }, - "field": "yValue" - } - ] - }, - { - "name": "prognosis", - "source": "table", - "transform": [ - { - "type": "filter", - "expr": "showPrognosis && datum.xValue >= prognosisStart" - }, - { - "type": "aggregate", - "groupby": [ - "xValue" - ], - "fields": [ - "y1" - ], - "ops": [ - "max" - ], - "as": [ - "barHeight" - ] - }, - { - "type": "extent", - "field": "barHeight", - "signal": "barHeightExtents" - } - ] - } - ], - "signals": [ - { - "name": "sue___autoHeight", - "value": true, - "bind": { - "input": "checkbox" - } - }, - { - "name": "maxBarWidth", - "value": 10.68, - "bind": { - "input": "range", - "min": 0, - "max": 300 - } - }, - { - "name": "patternSize", - "value": 8 - }, - { - "name": "patternRepeatsPerRow", - "update": "ceil(maxBarWidth / patternSize)" - }, - { - "name": "showPrognosis", - "value": false, - "bind": { - "input": "checkbox" - } - }, - { - "name": "prognosisStart", - "value": 5, - "bind": { - "input": "number" - } - }, - { - "name": "sue___smallMultiples", - "value": true, - "bind": { - "input": "checkbox" - } - }, - { - "name": "sue___titleHeight", - "value": 25 - }, - { - "name": "sue___paddingRatio", - "value": 0.12, - "bind": { - "input": "number", - "step": 0.01, - "min": 0, - "max": 0.25 - } - }, - { - "name": "sue___heightPerRow", - "value": 200, - "bind": { - "input": "number" - } - }, - { - "name": "sue___rowPadding", - "update": "floor(sue___minTileWidth * sue___paddingRatio)" - }, - { - "name": "sue___columnPadding", - "update": "floor(sue___minTileWidth * sue___paddingRatio)" - }, - { - "name": "sue___computedHeight", - "update": "sue___autoHeight && sue___rows * sue___heightPerRow + (sue___rows - 1) * sue___rowPadding" - }, - { - "name": "sue___minTileWidth", - "value": 220, - "bind": { - "input": "number" - } - }, - { - "name": "sue___minColumns", - "value": 1, - "bind": { - "input": "number" - } - }, - { - "name": "sue___columns", - "update": "sue___smallMultiples !== true ? 1 : max(sue___minColumns, floor(width / sue___minTileWidth))" - }, - { - "name": "sue___cellWidth", - "update": "sue___smallMultiples !== true ? width : floor((width - (sue___columns - 1) * sue___columnPadding) / sue___columns)" - }, - { - "name": "sue___rows", - "update": "max(1, ceil(columnExtent[1] / sue___columns))" - }, - { - "name": "sue___cellHeight", - "update": "sue___autoHeight ? sue___heightPerRow : height / sue___rows" - } - ], - "scales": [ - { - "name": "cScale", - "type": "ordinal", - "range": "category" - }, - { - "name": "binaryColorScale", - "type": "ordinal", - "range": [ - "#b23c39", - "#5e6192" - ], - "domain": [ - "no", - "yes" - ] - } - ], - "marks": [ - { - "type": "group", - "name": "wrapper-group", - "encode": { - "update": { - "width": { - "signal": "width" - }, - "height": { - "signal": "sue___computedHeight || height" - } - } - }, - "marks": [ - { - "name": "row-group", - "type": "group", - "from": { - "facet": { - "name": "cellRow", - "data": "table", - "groupby": [ - "cellRow" - ] - } - }, - "signals": [ - { - "name": "height", - "update": "sue___cellHeight" - } - ], - "encode": { - "update": { - "width": { - "signal": "width" - }, - "height": { - "signal": "sue___cellHeight" - } - } - }, - "scales": [ - { - "name": "yScale", - "type": "linear", - "range": "height", - "nice": true, - "zero": true, - "padding": 0.4, - "domain": { - "data": "table", - "field": "y1" - } - } - ], - "axes": [ - { - "orient": "left", - "scale": "yScale", - "domain": false, - "ticks": false, - "grid": false, - "labels": true - } - ], - "layout": { - "offset": 0, - "columns": { - "signal": "sue___columns" - }, - "align": "none", - "bounds": "full", - "padding": { - "row": 0, - "column": { - "signal": "sue___columnPadding" - } - }, - "headerBand": { - "row": 0, - "column": 0 - }, - "footerBand": { - "row": 0, - "column": 0 - }, - "titleBand": { - "row": 0, - "column": 0 - } - }, - "marks": [ - { - "name": "cell-group", - "type": "group", - "from": { - "facet": { - "name": "cell", - "data": "cellRow", - "groupby": [ - "cIndex", - "cValue" - ] - } - }, - "signals": [ - { - "name": "width", - "update": "sue___cellWidth" - } - ], - "encode": { - "update": { - "height": { - "signal": "sue___cellHeight" - } - } - }, - "scales": [ - { - "name": "xScale", - "type": "band", - "range": "width", - "padding": 0.1, - "domain": { - "data": "table", - "field": "xValue" - } - } - ], - "axes": [ - { - "orient": "bottom", - "scale": "xScale", - "domain": false, - "grid": false, - "labels": true - }, - { - "orient": "left", - "scale": "yScale", - "domain": false, - "ticks": false, - "grid": true, - "labels": false, - "maxExtent": 0, - "minExtent": 0 - } - ], - "marks": [ - { - "type": "rect", - "from": { - "data": "cell" - }, - "encode": { - "enter": { - "xc": { - "signal": "scale('xScale', datum.xValue) + bandwidth('xScale')/2" - }, - "width": { - "signal": "min(bandwidth('xScale'), maxBarWidth)" - }, - "y": { - "scale": "yScale", - "field": "y0" - }, - "y2": { - "scale": "yScale", - "field": "y1" - }, - "fill": { - "scale": "cScale", - "signal": "sue___smallMultiples ? 0 : datum.cIndex" - } - } - } - }, - { - "type": "group", - "from": { - "data": "prognosis" - }, - "encode": { - "update": { - "clip": { - "value": true - }, - "xc": { - "signal": "scale('xScale', datum.xValue) + bandwidth('xScale')/2" - }, - "width": { - "signal": "min(bandwidth('xScale'), maxBarWidth)" - }, - "y": { - "scale": "yScale", - "field": "barHeight" - }, - "y2": { - "scale": "yScale", - "value": 0 - }, - "opacity": { - "value": 1 - } - } - }, - "signals": [ - { - "name": "numPatternRepetitions", - "update": "scale('yScale', barHeightExtents[1] - parent.barHeight) / patternSize * patternRepeatsPerRow" - } - ], - "marks": [ - { - "type": "group", - "data": [ - { - "name": "iterator", - "values": [], - "transform": [ - { - "type": "sequence", - "start": 0, - "stop": { - "signal": "numPatternRepetitions" - } - } - ] - } - ], - "marks": [ - { - "type": "symbol", - "from": { - "data": "iterator" - }, - "encode": { - "update": { - "stroke": { - "value": "#FFFFFF" - }, - "strokeOpacity": { - "value": 0.5 - }, - "x": { - "signal": "datum.data % patternRepeatsPerRow * patternSize" - }, - "y": { - "signal": "((datum.data - datum.data % patternRepeatsPerRow) / patternRepeatsPerRow) * patternSize" - }, - "shape": { - "signal": "'M0,' + (patternSize / 4) + ' l' + (patternSize / 4) + ',-' + (patternSize / 4)" - } - } - } - } - ] - } - ] - }, - { - "name": "title-group", - "type": "group", - "from": { - "facet": { - "name": "titles", - "data": "cell", - "groupby": "cValue" - } - }, - "encode": { - "update": { - "width": { - "signal": "sue___cellWidth" - }, - "height": { - "signal": "sue___titleHeight" - }, - "y": { - "signal": "-sue___titleHeight" - } - } - }, - "marks": [ - { - "type": "text", - "encode": { - "update": { - "x": { - "signal": "sue___cellWidth/2" - }, - "y": { - "signal": "sue___titleHeight / 2" - }, - "baseline": { - "value": "middle" - }, - "align": { - "value": "center" - }, - "text": { - "signal": "parent.cValue" - } - } - } - } - ] - } - ] - } - ] - } - ], - "layout": { - "offset": 0, - "columns": 1, - "align": "none", - "bounds": "full", - "padding": { - "column": 0, - "row": { - "signal": "sue___rowPadding" - } - }, - "headerBand": { - "row": 0, - "column": 0 - }, - "footerBand": { - "row": 0, - "column": 0 - }, - "titleBand": { - "row": 0, - "column": 0 - } - }, - "axes": [] - } - ], - "autosize": { - "type": "fit-x" - }, - "layout": { - "offset": 0, - "columns": 1, - "align": "none", - "bounds": "full", - "padding": 0, - "headerBand": { - "row": 0, - "column": 0 - }, - "footerBand": { - "row": 0, - "column": 0 - }, - "titleBand": { - "row": 0, - "column": 0 - } - } - }, - "data": [ - [ - "Kreise", - "Roger Bartholdi", - "Michael Baumer", - "Susanne Brunner", - "Raphael Golta", - "Markus Hungerbühler", - "Andreas Hauri", - "Daniel Leupi", - "Filippo Leutenegger", - "Corine Mauch", - "André Odermatt", - "Claudia Rabelbauer", - "Karin Rykart", - "Richard Wolff" - ], - [ - "1+2", - "10", - "10", - "10", - "10", - "10", - "10", - "10", - "10", - "10", - "10", - "10", - "10", - "10" - ], - [ - "3", - "20", - "20", - "20", - "20", - "20", - "20", - "20", - "20", - "20", - "20", - "20", - "20", - "20" - ], - [ - "4+5", - "30", - "10", - "30", - "40", - "30", - "30", - "30", - "30", - "30", - "30", - "30", - "90", - "30" - ], - [ - "6", - "50", - "50", - "50", - "50", - "50", - "50", - "50", - "50", - "50", - "50", - "50", - "50", - "50" - ], - [ - "7+8", - "34", - "34", - "34", - "34", - "34", - "34", - "34", - "34", - "34", - "34", - "34", - "34", - "34" - ], - [ - "9", - "69", - "69", - "69", - "69", - "40", - "69", - "69", - "69", - "69", - "69", - "69", - "69", - "69" - ], - [ - "10", - "34", - "34", - "34", - "34", - "34", - "34", - "34", - "34", - "34", - "34", - "34", - "34", - "34" - ], - [ - "11", - "87", - "87", - "87", - "87", - "87", - "87", - "87", - "87", - "87", - "87", - "87", - "87", - "87" - ], - [ - "12", - "34", - "34", - "34", - "34", - "34", - "34", - "34", - "34", - "34", - "34", - "34", - "34", - "34" - ] - ], - "options": {}, - "title": "FIXTURE: custom vegaSpec", - "subtitle": "subtitle" -} \ No newline at end of file diff --git a/resources/schema.json b/resources/schema.json index 741c007c..09ef0b40 100755 --- a/resources/schema.json +++ b/resources/schema.json @@ -92,21 +92,6 @@ "type": "boolean", "default": false }, - "vegaSpec": { - "title": "Vega-Spezifikation", - "type": "object", - "Q:type": "json", - "Q:options": { - "availabilityChecks": [ - { - "type": "UserHasRole", - "config": { - "role": "expert-chart" - } - } - ] - } - }, "sources": { "title": "Quelle(n)", "type": "array", @@ -158,15 +143,6 @@ "fields": ["data"] } }, - "availabilityChecks": [ - { - "type": "ToolEndpoint", - "config": { - "endpoint": "option-availability/chartType", - "fields": ["vegaSpec"] - } - } - ], "notificationChecks": [ { "type": "ToolEndpoint", @@ -205,15 +181,6 @@ "type": "boolean", "default": false, "Q:options": { - "availabilityChecks": [ - { - "type": "ToolEndpoint", - "config": { - "endpoint": "option-availability/hideAxisLabel", - "fields": ["vegaSpec"] - } - } - ], "notificationChecks": [ { "type": "ToolEndpoint", @@ -264,7 +231,7 @@ "type": "ToolEndpoint", "config": { "endpoint": "option-availability/highlightDataSeries", - "fields": ["data", "vegaSpec", "options.chartType"] + "fields": ["data", "options.chartType"] } } ], @@ -303,7 +270,7 @@ "type": "ToolEndpoint", "config": { "endpoint": "option-availability/highlightDataRows", - "fields": ["vegaSpec", "options.chartType"] + "fields": ["options.chartType"] } } ], @@ -433,7 +400,7 @@ "type": "ToolEndpoint", "config": { "endpoint": "option-availability/annotations", - "fields": ["options.chartType", "vegaSpec", "data"] + "fields": ["options.chartType", "data"] } } ] @@ -448,7 +415,7 @@ "type": "ToolEndpoint", "config": { "endpoint": "option-availability/bar", - "fields": ["options.chartType", "vegaSpec"] + "fields": ["options.chartType"] } } ], @@ -495,8 +462,7 @@ "endpoint": "option-availability/forceBarsOnSmall", "fields": [ "options.chartType", - "options.barOptions.isBarChart", - "vegaSpec" + "options.barOptions.isBarChart" ] } } @@ -520,7 +486,6 @@ "endpoint": "option-availability/dateseries", "fields": [ "data", - "vegaSpec", "options.chartType", "options.barOptions.isBarChart", "options.barOptions.forceBarsOnSmall" @@ -576,7 +541,7 @@ "type": "ToolEndpoint", "config": { "endpoint": "option-availability/line", - "fields": ["options.chartType", "vegaSpec"] + "fields": ["options.chartType"] } } ], @@ -622,7 +587,7 @@ "type": "ToolEndpoint", "config": { "endpoint": "option-availability/line.isStockChart", - "fields": ["data", "options.chartType", "vegaSpec"] + "fields": ["data", "options.chartType"] } } ] @@ -645,7 +610,7 @@ "type": "ToolEndpoint", "config": { "endpoint": "option-availability/area", - "fields": ["options.chartType", "vegaSpec"] + "fields": ["options.chartType"] } } ], @@ -678,7 +643,7 @@ "type": "ToolEndpoint", "config": { "endpoint": "option-availability/dotplot", - "fields": ["options.chartType", "vegaSpec"] + "fields": ["options.chartType"] } } ], @@ -708,7 +673,7 @@ "type": "ToolEndpoint", "config": { "endpoint": "option-availability/arrow", - "fields": ["options.chartType", "vegaSpec"] + "fields": ["options.chartType"] } } ], @@ -739,7 +704,7 @@ "type": "ToolEndpoint", "config": { "endpoint": "option-availability/arrow.colorScheme", - "fields": ["options.chartType", "vegaSpec"] + "fields": ["options.chartType"] } } ] @@ -763,7 +728,6 @@ "config": { "endpoint": "option-availability/colorOverwritesSeries", "fields": [ - "vegaSpec", "options.chartType", "options.colorOverwritesRows" ] @@ -835,7 +799,6 @@ "config": { "endpoint": "option-availability/colorOverwritesRows", "fields": [ - "vegaSpec", "data", "options.chartType", "options.colorOverwritesSeries" diff --git a/routes/fixtures/data.js b/routes/fixtures/data.js index e81bdb62..66a4c92c 100644 --- a/routes/fixtures/data.js +++ b/routes/fixtures/data.js @@ -37,8 +37,7 @@ const fixtureData = [ require(`${fixtureDataDirectory}/line-categorical.json`), require(`${fixtureDataDirectory}/line-dates-days.json`), require(`${fixtureDataDirectory}/line-dates-min-max-missing-value.json`), - require(`${fixtureDataDirectory}/line-stock-chart.json`), - require(`${fixtureDataDirectory}/vegaSpec.json`) + require(`${fixtureDataDirectory}/line-stock-chart.json`) ]; module.exports = { diff --git a/routes/option-availability.js b/routes/option-availability.js index 55e7dbe4..3904de2b 100644 --- a/routes/option-availability.js +++ b/routes/option-availability.js @@ -34,10 +34,6 @@ function isArrowChart(item) { return item.options.chartType === "Arrow"; } -function hasNoCustomVegaSpec(item) { - return item.vegaSpec === undefined || item.vegaSpec === ""; -} - module.exports = { method: "POST", path: "/option-availability/{optionName}", @@ -51,28 +47,25 @@ module.exports = { const item = request.payload.item; if (request.params.optionName === "bar") { return { - available: isBarChart(item) && hasNoCustomVegaSpec(item) + available: isBarChart(item) }; } if (request.params.optionName === "forceBarsOnSmall") { return { - available: - isBarChart(item) && - !item.options.barOptions.isBarChart && - hasNoCustomVegaSpec(item) + available: isBarChart(item) && !item.options.barOptions.isBarChart }; } if (request.params.optionName === "line") { return { - available: isLineChart(item) && hasNoCustomVegaSpec(item) + available: isLineChart(item) }; } if (request.params.optionName === "area") { return { - available: isAreaChart(item) && hasNoCustomVegaSpec(item) + available: isAreaChart(item) }; } @@ -80,10 +73,7 @@ module.exports = { try { const serie = getFirstColumnSerie(item.data); return { - available: - isDateSeries(serie) && - isLineChart(item) && - hasNoCustomVegaSpec(item) + available: isDateSeries(serie) && isLineChart(item) }; } catch (e) { return { @@ -94,22 +84,19 @@ module.exports = { if (request.params.optionName === "dotplot") { return { - available: isDotplot(item) && hasNoCustomVegaSpec(item) + available: isDotplot(item) }; } if (request.params.optionName === "arrow") { return { - available: isArrowChart(item) && hasNoCustomVegaSpec(item) + available: isArrowChart(item) }; } if (request.params.optionName === "arrow.colorScheme") { return { - available: - isArrowChart(item) && - hasNoCustomVegaSpec(item) && - configuredDivergingColorSchemes + available: isArrowChart(item) && configuredDivergingColorSchemes }; } @@ -129,7 +116,7 @@ module.exports = { try { const serie = getFirstColumnSerie(item.data); - isAvailable = isDateSeries(serie) && hasNoCustomVegaSpec(item); + isAvailable = isDateSeries(serie); } catch (e) { isAvailable = false; } @@ -139,21 +126,9 @@ module.exports = { }; } - if ( - request.params.optionName === "chartType" || - request.params.optionName === "hideAxisLabel" - ) { - return { - available: hasNoCustomVegaSpec(item) - }; - } - if (request.params.optionName === "highlightDataSeries") { return { - available: - hasNoCustomVegaSpec(item) && - !isArrowChart(item) && - item.data[0].length > 2 + available: !isArrowChart(item) && item.data[0].length > 2 }; } @@ -163,7 +138,6 @@ module.exports = { available: (!Array.isArray(item.options.colorOverwritesRows) || item.options.colorOverwritesRows.length === 0) && - hasNoCustomVegaSpec(item) && !isArrowChart(item) }; } @@ -179,7 +153,6 @@ module.exports = { (!Array.isArray(item.options.colorOverwritesSeries) || item.options.colorOverwritesSeries.length === 0) && item.data[0].length < 4 && - hasNoCustomVegaSpec(item) && !isArrowChart(item) && !isLineChart(item) && !isAreaChart(item) @@ -191,10 +164,7 @@ module.exports = { if (request.params.optionName === "highlightDataRows") { return { available: - hasNoCustomVegaSpec(item) && - !isArrowChart(item) && - !isLineChart(item) && - !isAreaChart(item) + !isArrowChart(item) && !isLineChart(item) && !isAreaChart(item) }; } @@ -202,25 +172,20 @@ module.exports = { let available = false; if ( (isLineChart(item) || isBarChart(item)) && - hasNoCustomVegaSpec(item) && item.data[0].length === 2 // only if there is just one data series ) { available = true; } - if ( - isBarChart(item) && - !isStackedBarChart(item) && - hasNoCustomVegaSpec(item) - ) { + if (isBarChart(item) && !isStackedBarChart(item)) { available = true; } - if (isDotplot(item) && hasNoCustomVegaSpec(item)) { + if (isDotplot(item)) { available = true; } - if (isArrowChart(item) && hasNoCustomVegaSpec(item)) { + if (isArrowChart(item)) { available = true; } diff --git a/routes/rendering-info/web-svg.js b/routes/rendering-info/web-svg.js index f8bf20d0..2ade120a 100644 --- a/routes/rendering-info/web-svg.js +++ b/routes/rendering-info/web-svg.js @@ -124,15 +124,7 @@ async function getSvg(id, request, width, item, toolRuntimeConfig = {}) { } let spec; - if (item.vegaSpec) { - spec = item.vegaSpec; - - spec.width = width; - - // set the data from the item - // all data transforms are part of the spec - spec.data[0].values = clone(item.data); - } else if (item.options.chartType) { + if (item.options.chartType) { try { spec = await getSpec(id, width, chartType, item, toolRuntimeConfig); } catch (err) { diff --git a/routes/rendering-info/web.js b/routes/rendering-info/web.js index 00cbb4ee..b4bc5222 100644 --- a/routes/rendering-info/web.js +++ b/routes/rendering-info/web.js @@ -98,9 +98,7 @@ module.exports = { }; if (item.allowDownloadData) { - context.linkToCSV = `${ - toolRuntimeConfig.toolBaseUrl - }/data?appendItemToPayload=${request.query._id}`; + context.linkToCSV = `${toolRuntimeConfig.toolBaseUrl}/data?appendItemToPayload=${request.query._id}`; } const renderingInfo = {}; @@ -111,9 +109,7 @@ module.exports = { if (typeof exactPixelWidth === "number") { const svgResponse = await request.server.inject({ method: "POST", - url: `/rendering-info/web-svg?width=${exactPixelWidth}&id=${ - context.id - }`, + url: `/rendering-info/web-svg?width=${exactPixelWidth}&id=${context.id}`, payload: request.payload }); context.svg = svgResponse.result.markup; @@ -126,21 +122,14 @@ module.exports = { const functionName = `loadSVG${context.id}`; const dataObject = `${context.id}Data`; - let toolRuntimeConfigForWebSVG = {}; - - // we only want to send the vega spec if we need it - // if we will render a vegaSpec, we will not apply any config - // so no need to send it along here - if (!item.vegaSpec) { - toolRuntimeConfigForWebSVG = { - axis: toolRuntimeConfig.axis, - text: toolRuntimeConfig.text, - colorSchemes: toolRuntimeConfig.colorSchemes, - displayOptions: toolRuntimeConfig.displayOptions || {} - }; - // remove the grays as they are only needed for the legend - delete toolRuntimeConfigForWebSVG.colorSchemes.grays; - } + const toolRuntimeConfigForWebSVG = { + axis: toolRuntimeConfig.axis, + text: toolRuntimeConfig.text, + colorSchemes: toolRuntimeConfig.colorSchemes, + displayOptions: toolRuntimeConfig.displayOptions || {} + }; + // remove the grays as they are only needed for the legend + delete toolRuntimeConfigForWebSVG.colorSchemes.grays; let requestMethod; let requestBodyString; From 9e9c789ad2e560e133f8c874210da20ffc5f9497 Mon Sep 17 00:00:00 2001 From: benib Date: Thu, 3 Oct 2019 10:44:19 +0200 Subject: [PATCH 02/12] fix fixture endpoint test --- test/e2e-tests.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/e2e-tests.js b/test/e2e-tests.js index a61ac636..7175184c 100755 --- a/test/e2e-tests.js +++ b/test/e2e-tests.js @@ -96,10 +96,10 @@ lab.experiment("stylesheets endpoint", () => { }); lab.experiment("fixture data endpoint", () => { - it("returns 36 fixture data items for /fixtures/data", async () => { + it("returns 35 fixture data items for /fixtures/data", async () => { const response = await server.inject("/fixtures/data"); expect(response.statusCode).to.be.equal(200); - expect(response.result.length).to.be.equal(36); + expect(response.result.length).to.be.equal(35); }); }); From 1f5e2cfe3d63f195c632b2e41d8af3bb37171512 Mon Sep 17 00:00:00 2001 From: benib Date: Thu, 3 Oct 2019 11:34:33 +0200 Subject: [PATCH 03/12] remove custom vega spec translation strings --- resources/locales/en/translation.json | 1 - 1 file changed, 1 deletion(-) diff --git a/resources/locales/en/translation.json b/resources/locales/en/translation.json index 8e1a050f..673ed1df 100644 --- a/resources/locales/en/translation.json +++ b/resources/locales/en/translation.json @@ -27,7 +27,6 @@ "Untertitel": "Subtitle", "Der Untertitel benennt präzise, was in der Grafik zu sehen ist, inklusive Einheiten.": "The subtitle names precisely what can be seen in the graphic, including units.", "Daten": "Data", - "Vega-Spezifikation": "Vega specification", "Quelle(n)": "Sources", "Quelle": "Source", "Link": "Link", From c3249f64e31a3547fb835ea9f642f853f42bed97 Mon Sep 17 00:00:00 2001 From: benib Date: Thu, 3 Oct 2019 11:49:24 +0200 Subject: [PATCH 04/12] remove custom vega spec translation strings --- resources/locales/fr/translation.json | 1 - 1 file changed, 1 deletion(-) diff --git a/resources/locales/fr/translation.json b/resources/locales/fr/translation.json index a742023f..8dcdc94a 100644 --- a/resources/locales/fr/translation.json +++ b/resources/locales/fr/translation.json @@ -27,7 +27,6 @@ "Untertitel": "Sous-Titre", "Der Untertitel benennt präzise, was in der Grafik zu sehen ist, inklusive Einheiten.": "Les noms de sous-titres sont précisément ce qui peut être vu dans le graphique, y compris les unités.", "Daten": "Données", - "Vega-Spezifikation": "Spécification Vega", "Quelle(n)": "Sources", "Quelle": "Source", "Link": "Lien", From b273551ad8cd2f12ee94459f8f0fa07744271f79 Mon Sep 17 00:00:00 2001 From: benib Date: Thu, 10 Oct 2019 09:45:20 +0200 Subject: [PATCH 05/12] (dot/arrow) increase labelPadding for Y Axis to make room for dots / arrows --- chartTypes/arrow/vega-spec.json | 2 +- chartTypes/dotplot/vega-spec.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/chartTypes/arrow/vega-spec.json b/chartTypes/arrow/vega-spec.json index 33dba2cf..4a3d2c7a 100644 --- a/chartTypes/arrow/vega-spec.json +++ b/chartTypes/arrow/vega-spec.json @@ -220,7 +220,7 @@ "grid": true, "labels": true, "ticks": false, - "labelPadding": 2, + "labelPadding": 4, "encode": { "title": { "update": { diff --git a/chartTypes/dotplot/vega-spec.json b/chartTypes/dotplot/vega-spec.json index 62bbbb88..18a7f1fa 100644 --- a/chartTypes/dotplot/vega-spec.json +++ b/chartTypes/dotplot/vega-spec.json @@ -210,7 +210,7 @@ "grid": true, "labels": true, "ticks": false, - "labelPadding": 2, + "labelPadding": 8, "encode": { "title": { "update": { From d77f5d379bbadffe14cbd45dbe2342efd25424e3 Mon Sep 17 00:00:00 2001 From: benib Date: Thu, 10 Oct 2019 09:52:18 +0200 Subject: [PATCH 06/12] (columns) fix position of top X axis labels for columns --- chartTypes/commonMappings.js | 2 +- resources/fixtures/data/bar-qualitative-negative-only.json | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/chartTypes/commonMappings.js b/chartTypes/commonMappings.js index 50f73209..f0ab3b32 100644 --- a/chartTypes/commonMappings.js +++ b/chartTypes/commonMappings.js @@ -371,7 +371,7 @@ function getColumnAxisPositioningMappings() { // we move the X axis to the top if (max <= 0) { objectPath.set(spec, "axes.0.orient", "top"); - objectPath.set(spec, "axes.0.labelPadding", -5); + objectPath.set(spec, "axes.0.labelPadding", 4); // if we still have a title for this axis, move it to the top const title = objectPath.get(spec, "axes.0.encode.title"); if (title) { diff --git a/resources/fixtures/data/bar-qualitative-negative-only.json b/resources/fixtures/data/bar-qualitative-negative-only.json index df4f2190..64b293f4 100644 --- a/resources/fixtures/data/bar-qualitative-negative-only.json +++ b/resources/fixtures/data/bar-qualitative-negative-only.json @@ -42,8 +42,8 @@ "hideAxisLabel": true, "annotations": {}, "barOptions": { - "isBarChart": true, - "forceBarsOnSmall": false + "isBarChart": false, + "forceBarsOnSmall": true }, "dateSeriesOptions": { "interval": "year", From 9638f46dcaa90979350eb1b952a5d3bb3216d492 Mon Sep 17 00:00:00 2001 From: benib Date: Thu, 10 Oct 2019 11:05:42 +0200 Subject: [PATCH 07/12] (area) allow to define a maxValue for the Y axis on Area charts (expert option for now) --- chartTypes/area/mapping.js | 15 +++++++ chartTypes/commonMappings.js | 8 ++-- .../data/area-three-categories-y-max.json | 43 +++++++++++++++++++ resources/fixtures/data/dotplot-years.json | 2 +- resources/schema.json | 4 ++ routes/fixtures/data.js | 1 + test/e2e-tests.js | 4 +- 7 files changed, 71 insertions(+), 6 deletions(-) create mode 100644 resources/fixtures/data/area-three-categories-y-max.json diff --git a/chartTypes/area/mapping.js b/chartTypes/area/mapping.js index 15049762..64ca9da7 100644 --- a/chartTypes/area/mapping.js +++ b/chartTypes/area/mapping.js @@ -67,6 +67,21 @@ module.exports = function getMappings() { delete spec.axes[1]; // delete the y axis } } + }, + { + path: "item.options.areaChartOptions.maxValue", + mapToSpec: function(maxValue, spec, mappingData) { + // check if we need to shorten the number labels + const divisor = dataHelpers.getDivisor(mappingData.item.data); + + const dataMaxValue = dataHelpers.getMaxValue(mappingData.item.data); + if (dataMaxValue > maxValue) { + maxValue = dataMaxValue; + } + + objectPath.set(spec, "scales.1.nice", false); + objectPath.set(spec, "scales.1.domainMax", maxValue / divisor); + } } ] .concat(commonMappings.getColumnAreaPrognosisMappings()) diff --git a/chartTypes/commonMappings.js b/chartTypes/commonMappings.js index f0ab3b32..185b5760 100644 --- a/chartTypes/commonMappings.js +++ b/chartTypes/commonMappings.js @@ -14,9 +14,11 @@ function getLineDateSeriesHandlingMappings() { mapToSpec: function(itemData, spec, mappingData) { const item = mappingData.item; if ( - mappingData.dateFormat && - item.options.lineChartOptions && - item.options.lineChartOptions.isStockChart !== true + (mappingData.dateFormat && + (item.options.chartType === "Line" && + item.options.lineChartOptions && + item.options.lineChartOptions.isStockChart !== true)) || + item.options.chartType === "Area" ) { objectPath.set(spec, "scales.0.type", "time"); // time scale type: https://vega.github.io/vega/docs/scales/#time objectPath.set(spec, "axes.0.ticks", true); // show ticks if we have a date series diff --git a/resources/fixtures/data/area-three-categories-y-max.json b/resources/fixtures/data/area-three-categories-y-max.json new file mode 100644 index 00000000..047d29f7 --- /dev/null +++ b/resources/fixtures/data/area-three-categories-y-max.json @@ -0,0 +1,43 @@ +{ + "title": "FIXTURE: Area - three categories - Y max", + "data": [ + [ + "Jahr", + "A" + ], + [ + "2018", + "10" + ], + [ + "2019", + "25" + ], + [ + "2020", + "30" + ], + [ + "2021", + "43" + ] + ], + "allowDownloadData": false, + "sources": [], + "options": { + "chartType": "Area", + "hideAxisLabel": true, + "highlightDataSeries": [], + "highlightDataRows": [], + "annotations": {}, + "dateSeriesOptions": { + "interval": "year" + }, + "colorOverwritesSeries": [], + "colorOverwritesRows": [], + "areaChartOptions": { + "areaInterpolation": "linear", + "maxValue": 60 + } + } +} \ No newline at end of file diff --git a/resources/fixtures/data/dotplot-years.json b/resources/fixtures/data/dotplot-years.json index a82065cf..5dd5fbc8 100644 --- a/resources/fixtures/data/dotplot-years.json +++ b/resources/fixtures/data/dotplot-years.json @@ -12,7 +12,7 @@ ], [ "2006", - "41.9", + "0", "105.9", "116.7", "97.7", diff --git a/resources/schema.json b/resources/schema.json index 09ef0b40..2c1ddce3 100755 --- a/resources/schema.json +++ b/resources/schema.json @@ -631,6 +631,10 @@ "Q:options": { "enum_titles": ["normal", "stream"] } + }, + "maxValue": { + "title": "Maximaler Wert auf Y-Achse", + "type": "number" } } }, diff --git a/routes/fixtures/data.js b/routes/fixtures/data.js index 66a4c92c..8257d503 100644 --- a/routes/fixtures/data.js +++ b/routes/fixtures/data.js @@ -4,6 +4,7 @@ const fixtureDataDirectory = "../../resources/fixtures/data"; // has to be in sync with files created in build task - see ../../tasks/build.js const fixtureData = [ require(`${fixtureDataDirectory}/area-three-categories-prognosis.json`), + require(`${fixtureDataDirectory}/area-three-categories-y-max.json`), require(`${fixtureDataDirectory}/arrow-two-categories-only-negative.json`), require(`${fixtureDataDirectory}/arrow-two-categories-only-positive.json`), require(`${fixtureDataDirectory}/arrow-two-categories-same-value.json`), diff --git a/test/e2e-tests.js b/test/e2e-tests.js index 7175184c..a61ac636 100755 --- a/test/e2e-tests.js +++ b/test/e2e-tests.js @@ -96,10 +96,10 @@ lab.experiment("stylesheets endpoint", () => { }); lab.experiment("fixture data endpoint", () => { - it("returns 35 fixture data items for /fixtures/data", async () => { + it("returns 36 fixture data items for /fixtures/data", async () => { const response = await server.inject("/fixtures/data"); expect(response.statusCode).to.be.equal(200); - expect(response.result.length).to.be.equal(35); + expect(response.result.length).to.be.equal(36); }); }); From 5a71cf233b8a0e68042326c119b05f4256e627a3 Mon Sep 17 00:00:00 2001 From: benib Date: Thu, 10 Oct 2019 11:11:11 +0200 Subject: [PATCH 08/12] (chore) use a recent ubuntu vm on travis --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 4cb4e51d..e0b19301 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,4 @@ -dist: trusty +dist: bionic sudo: true services: - docker From 1768f2f3e451b1cbf8cecbdc7bdf38f8f980a3f1 Mon Sep 17 00:00:00 2001 From: benib Date: Thu, 10 Oct 2019 11:25:08 +0200 Subject: [PATCH 09/12] (chore) use ubuntu xenial container in travis --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index e0b19301..226afc99 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,4 @@ -dist: bionic +dist: xenial sudo: true services: - docker From e12527d7358b82311dba90e5be02606f23a0bbe9 Mon Sep 17 00:00:00 2001 From: benib Date: Thu, 10 Oct 2019 12:17:55 +0200 Subject: [PATCH 10/12] update to joi v16, other dependency updates --- package.json | 22 +++++++++++----------- routes/data.js | 4 ++-- routes/locales.js | 4 ++-- routes/migration.js | 4 ++-- routes/rendering-info/web-svg.js | 10 +++++----- routes/rendering-info/web.js | 8 ++++---- routes/routes.js | 10 +++++----- 7 files changed, 31 insertions(+), 31 deletions(-) diff --git a/package.json b/package.json index 68cf87a7..9c7ec5ff 100644 --- a/package.json +++ b/package.json @@ -11,36 +11,36 @@ "author": "Beni Buess ", "license": "MIT", "dependencies": { - "@hapi/boom": "^7.4.3", - "@hapi/hapi": "^18.3.2", - "@hapi/hoek": "^8.2.4", - "@hapi/inert": "^5.2.1", - "@hapi/joi": "^15.1.1", + "@hapi/boom": "^8.0.1", + "@hapi/hapi": "^18.4.0", + "@hapi/hoek": "^8.3.0", + "@hapi/inert": "^5.2.2", + "@hapi/joi": "^16.1.7", "ajv": "^6.10.2", "array2d": "0.0.5", "canvas": "^2.6.0", "clone": "^2.1.2", - "d3-array": "^2.3.1", + "d3-array": "^2.3.2", "d3-format": "^1.4.1", "d3-time-format": "^2.1.3", "decimal.js": "^10.2.0", - "deepmerge": "^4.0.0", + "deepmerge": "^4.1.1", "jsdom": "^15.1.1", "moment-timezone": "^0.5.26", "node-fetch": "^2.6.0", "nunjucks": "^3.2.0", "object-path": "^0.11.4", "slugify": "^1.3.5", - "vega": "^5.6.0" + "vega": "^5.7.2" }, "devDependencies": { "@hapi/code": "^6.0.0", - "@hapi/lab": "^20.2.2", - "autoprefixer": "^9.6.1", + "@hapi/lab": "^20.4.0", + "autoprefixer": "^9.6.4", "cssnano": "^4.1.10", "glob": "^7.1.4", "postcss": "^7.0.18", "postcss-import": "^12.0.1", - "sass": "^1.23.0-module.beta.1" + "sass": "^1.23.0" } } diff --git a/routes/data.js b/routes/data.js index 672d26db..42a967d2 100644 --- a/routes/data.js +++ b/routes/data.js @@ -7,9 +7,9 @@ module.exports = { options: { cors: true, validate: { - payload: { + payload: Joi.object({ item: Joi.object().required() - } + }) } }, handler: function(request, h) { diff --git a/routes/locales.js b/routes/locales.js index 3384e515..2f7ac5a3 100644 --- a/routes/locales.js +++ b/routes/locales.js @@ -8,9 +8,9 @@ module.exports = { description: "Returns translations for given language", tags: ["api"], validate: { - params: { + params: Joi.object({ lng: Joi.string().required() - } + }) } }, handler: (request, h) => { diff --git a/routes/migration.js b/routes/migration.js index 116b1dcb..6d5ae7e0 100644 --- a/routes/migration.js +++ b/routes/migration.js @@ -9,9 +9,9 @@ module.exports = { path: "/migration", options: { validate: { - payload: { + payload: Joi.object({ item: Joi.object().required() - } + }) } }, handler: async (request, h) => { diff --git a/routes/rendering-info/web-svg.js b/routes/rendering-info/web-svg.js index 2ade120a..9f7e0113 100644 --- a/routes/rendering-info/web-svg.js +++ b/routes/rendering-info/web-svg.js @@ -103,7 +103,7 @@ async function getSpec(id, width, chartType, item, toolRuntimeConfig) { try { spec = await getMappedSpec(id, chartType, templateSpec, mappingData); } catch (err) { - throw new Boom(err); + throw new Boom.Boom(err); } return spec; } @@ -188,16 +188,16 @@ module.exports = { options: { allowUnknown: true }, - query: { + query: Joi.object({ width: Joi.number().required(), noCache: Joi.boolean(), toolRuntimeConfig: Joi.object(), id: Joi.string().required() - }, - payload: { + }), + payload: Joi.object({ item: Joi.object(), toolRuntimeConfig: Joi.object() - } + }) } }, handler: async function(request, h) { diff --git a/routes/rendering-info/web.js b/routes/rendering-info/web.js index b4bc5222..aefe0fbf 100644 --- a/routes/rendering-info/web.js +++ b/routes/rendering-info/web.js @@ -29,15 +29,15 @@ module.exports = { options: { allowUnknown: true }, - payload: { + payload: Joi.object({ item: Joi.object(), - toolRuntimeConfig: Joi.object().keys({ - colorSchemes: Joi.object().keys({ + toolRuntimeConfig: Joi.object({ + colorSchemes: Joi.object({ categorical_normal: Joi.array().required(), categorical_light: Joi.array().required() }) }) - } + }) } }, handler: async function(request, h) { diff --git a/routes/routes.js b/routes/routes.js index ab149969..db71278a 100755 --- a/routes/routes.js +++ b/routes/routes.js @@ -8,11 +8,11 @@ module.exports = [ require("./dynamic-schema.js"), require("./health.js"), require("./fixtures/data.js"), - require("./notification/hideAxisLabel.js"), - require("./notification/unsupportedDateFormat"), - require("./notification/shouldBeBarChart.js"), - require("./notification/shouldBeLineChart.js"), - require("./notification/shouldBeBars.js"), + // require("./notification/hideAxisLabel.js"), + // require("./notification/unsupportedDateFormat"), + // require("./notification/shouldBeBarChart.js"), + // require("./notification/shouldBeLineChart.js"), + // require("./notification/shouldBeBars.js"), require("./locales.js"), require("./data.js"), require("./migration.js") From df1a02ad5c7001e075e4bc4844544a8c27720f7f Mon Sep 17 00:00:00 2001 From: benib Date: Thu, 10 Oct 2019 12:51:22 +0200 Subject: [PATCH 11/12] v3.0.0 --- package-lock.json | 795 +++++++++++++++++++++++++++------------------- package.json | 2 +- 2 files changed, 478 insertions(+), 319 deletions(-) diff --git a/package-lock.json b/package-lock.json index ea2e81cf..8f49cf9f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "q-chart", - "version": "2.2.1", + "version": "3.0.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -31,26 +31,29 @@ "requires": { "@hapi/boom": "7.x.x", "@hapi/hoek": "8.x.x" + }, + "dependencies": { + "@hapi/boom": { + "version": "7.4.11", + "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-7.4.11.tgz", + "integrity": "sha512-VSU/Cnj1DXouukYxxkes4nNJonCnlogHvIff1v1RVoN4xzkKhMXX+GRmb3NyH1iar10I9WFPDv2JPwfH3GaV0A==", + "requires": { + "@hapi/hoek": "8.x.x" + } + } } }, "@hapi/address": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.0.tgz", - "integrity": "sha512-ukWwSQ2Kd9rNHFlFd3hAKQTD/O2gYHu90IGl316CHZOGN+Vm+opxWhQ1aG4gfBoP5hjXiBClmck652Pu7/j0cQ==" + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.2.tgz", + "integrity": "sha512-O4QDrx+JoGKZc6aN64L04vqa7e41tIiLU+OvKdcYaEMP97UttL0f9GIi9/0A4WAMx0uBd6SidDIhktZhgOcN8Q==" }, "@hapi/ammo": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@hapi/ammo/-/ammo-3.1.0.tgz", - "integrity": "sha512-iFQBEfm3WwWy8JdPQ8l6qXVLPtzmjITVfaxwl6dfoP8kKv6i2Uk43Ax+ShkNfOVyfEnNggqL2IyZTY3DaaRGNg==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@hapi/ammo/-/ammo-3.1.1.tgz", + "integrity": "sha512-NYFK27VSPGyQ/KmOQedpQH4PSjE7awLntepX68vrYtRvuJO21W1kX0bK2p3C+6ltUwtCQSvmNT8a4uMVAysC6Q==", "requires": { - "@hapi/hoek": "6.x.x" - }, - "dependencies": { - "@hapi/hoek": { - "version": "6.2.4", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-6.2.4.tgz", - "integrity": "sha512-HOJ20Kc93DkDVvjwHyHawPwPkX44sIrbXazAUDiUXaY2R9JwQGo2PhFfnQtdrsIe4igjG2fPgMra7NYw7qhy0A==" - } + "@hapi/hoek": "8.x.x" } }, "@hapi/b64": { @@ -62,37 +65,51 @@ } }, "@hapi/boom": { - "version": "7.4.3", - "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-7.4.3.tgz", - "integrity": "sha512-3di+R+BcGS7HKy67Zi6mIga8orf67GdR0ubDEVBG1oqz3y9B70LewsuCMCSvWWLKlI6V1+266zqhYzjMrPGvZw==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-8.0.1.tgz", + "integrity": "sha512-SnBM2GzEYEA6AGFKXBqNLWXR3uNBui0bkmklYXX1gYtevVhDTy2uakwkSauxvIWMtlANGRhzChYg95If3FWCwA==", "requires": { "@hapi/hoek": "8.x.x" } }, "@hapi/bossy": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/@hapi/bossy/-/bossy-4.1.2.tgz", - "integrity": "sha512-6DfWr60rMkXggtYU5mcnGsUeDFRyMu5SFlDN+OLEPB7Ye34j92vYrD2kuR7HPdi/WGqW2K2mPa34g4rN4gmeMQ==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@hapi/bossy/-/bossy-4.1.3.tgz", + "integrity": "sha512-a3+tEnP2OeN1rm3Bqpo8rO11RAIAOIre4pmjzABkAQp23Y0qv/bD2txkdTl9Gajxo6YNYsgy9dlyQcCUczx8JQ==", "dev": true, "requires": { "@hapi/boom": "7.x.x", "@hapi/hoek": "8.x.x", - "@hapi/joi": "15.x.x" + "@hapi/joi": "16.x.x" + }, + "dependencies": { + "@hapi/boom": { + "version": "7.4.11", + "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-7.4.11.tgz", + "integrity": "sha512-VSU/Cnj1DXouukYxxkes4nNJonCnlogHvIff1v1RVoN4xzkKhMXX+GRmb3NyH1iar10I9WFPDv2JPwfH3GaV0A==", + "dev": true, + "requires": { + "@hapi/hoek": "8.x.x" + } + } } }, "@hapi/bounce": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@hapi/bounce/-/bounce-1.3.0.tgz", - "integrity": "sha512-gF5W/9AL10h/06HEf1bi0FP6KxZZ8LC/yHtDuoACw+1HrULvigHfnBIaSPFJXeHI3V3g0EkJpt1UOW0NKB+m+w==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@hapi/bounce/-/bounce-1.3.1.tgz", + "integrity": "sha512-/ecFQTRBom2MEbjMHvKKE6FZ/e1gYK72CeUIFzz++dKK1kYJ0KbRJ72mXroWoTT2hIv+8H0ua/eOkO0+hRdHcw==", "requires": { "@hapi/boom": "7.x.x", - "@hapi/hoek": "6.x.x" + "@hapi/hoek": "8.x.x" }, "dependencies": { - "@hapi/hoek": { - "version": "6.2.4", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-6.2.4.tgz", - "integrity": "sha512-HOJ20Kc93DkDVvjwHyHawPwPkX44sIrbXazAUDiUXaY2R9JwQGo2PhFfnQtdrsIe4igjG2fPgMra7NYw7qhy0A==" + "@hapi/boom": { + "version": "7.4.11", + "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-7.4.11.tgz", + "integrity": "sha512-VSU/Cnj1DXouukYxxkes4nNJonCnlogHvIff1v1RVoN4xzkKhMXX+GRmb3NyH1iar10I9WFPDv2JPwfH3GaV0A==", + "requires": { + "@hapi/hoek": "8.x.x" + } } } }, @@ -108,17 +125,37 @@ "requires": { "@hapi/boom": "7.x.x", "@hapi/hoek": "8.x.x" + }, + "dependencies": { + "@hapi/boom": { + "version": "7.4.11", + "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-7.4.11.tgz", + "integrity": "sha512-VSU/Cnj1DXouukYxxkes4nNJonCnlogHvIff1v1RVoN4xzkKhMXX+GRmb3NyH1iar10I9WFPDv2JPwfH3GaV0A==", + "requires": { + "@hapi/hoek": "8.x.x" + } + } } }, "@hapi/catbox": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/@hapi/catbox/-/catbox-10.2.2.tgz", - "integrity": "sha512-a4KejaKqDOMdwo/PIYoAaObVMmkfkG3RS85kPqNTTURjWnIV1+rrZ938f6RCz5EbrroKbuNC0bcvAt7lAD5LNg==", + "version": "10.2.3", + "resolved": "https://registry.npmjs.org/@hapi/catbox/-/catbox-10.2.3.tgz", + "integrity": "sha512-kN9hXO4NYyOHW09CXiuj5qW1syc/0XeVOBsNNk0Tz89wWNQE5h21WF+VsfAw3uFR8swn/Wj3YEVBnWqo82m/JQ==", "requires": { "@hapi/boom": "7.x.x", "@hapi/hoek": "8.x.x", - "@hapi/joi": "15.x.x", + "@hapi/joi": "16.x.x", "@hapi/podium": "3.x.x" + }, + "dependencies": { + "@hapi/boom": { + "version": "7.4.11", + "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-7.4.11.tgz", + "integrity": "sha512-VSU/Cnj1DXouukYxxkes4nNJonCnlogHvIff1v1RVoN4xzkKhMXX+GRmb3NyH1iar10I9WFPDv2JPwfH3GaV0A==", + "requires": { + "@hapi/hoek": "8.x.x" + } + } } }, "@hapi/catbox-memory": { @@ -128,6 +165,16 @@ "requires": { "@hapi/boom": "7.x.x", "@hapi/hoek": "8.x.x" + }, + "dependencies": { + "@hapi/boom": { + "version": "7.4.11", + "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-7.4.11.tgz", + "integrity": "sha512-VSU/Cnj1DXouukYxxkes4nNJonCnlogHvIff1v1RVoN4xzkKhMXX+GRmb3NyH1iar10I9WFPDv2JPwfH3GaV0A==", + "requires": { + "@hapi/hoek": "8.x.x" + } + } } }, "@hapi/code": { @@ -145,20 +192,40 @@ "integrity": "sha512-hv2Czsl49hnWDEfRZOFow/BmYbKyfEknmk3k83gOp6moFn5ceHB4xVcna8OwsGfy8dxO81lhpPy+JgQEaU4SWw==", "requires": { "@hapi/boom": "7.x.x" + }, + "dependencies": { + "@hapi/boom": { + "version": "7.4.11", + "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-7.4.11.tgz", + "integrity": "sha512-VSU/Cnj1DXouukYxxkes4nNJonCnlogHvIff1v1RVoN4xzkKhMXX+GRmb3NyH1iar10I9WFPDv2JPwfH3GaV0A==", + "requires": { + "@hapi/hoek": "8.x.x" + } + } } }, "@hapi/cryptiles": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@hapi/cryptiles/-/cryptiles-4.2.0.tgz", - "integrity": "sha512-P+ioMP1JGhwDOKPRuQls6sT/ln6Fk+Ks6d90mlBi6HcOu5itvdUiFv5Ynq2DvLadPDWaA43lwNxkfZrjE9s2MA==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@hapi/cryptiles/-/cryptiles-4.2.1.tgz", + "integrity": "sha512-XoqgKsHK0l/VpqPs+tr6j6vE+VQ3+2bkF2stvttmc7xAOf1oSAwHcJ0tlp/6MxMysktt1IEY0Csy3khKaP9/uQ==", "requires": { "@hapi/boom": "7.x.x" + }, + "dependencies": { + "@hapi/boom": { + "version": "7.4.11", + "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-7.4.11.tgz", + "integrity": "sha512-VSU/Cnj1DXouukYxxkes4nNJonCnlogHvIff1v1RVoN4xzkKhMXX+GRmb3NyH1iar10I9WFPDv2JPwfH3GaV0A==", + "requires": { + "@hapi/hoek": "8.x.x" + } + } } }, "@hapi/eslint-config-hapi": { - "version": "12.2.0", - "resolved": "https://registry.npmjs.org/@hapi/eslint-config-hapi/-/eslint-config-hapi-12.2.0.tgz", - "integrity": "sha512-tByj7aMwzpG1bTxiVkDlNWbEcdm7AYNp8HSFys8COO5Vxg7FwTqyU44Ke/Jdm3M13vGSD+OEyF0LB3aw4khjlQ==", + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/@hapi/eslint-config-hapi/-/eslint-config-hapi-12.3.0.tgz", + "integrity": "sha512-P3ZdC97vYUAVgV6fBuAEXh2Ol04R+Zp5LMNmJ9SAF69u8wT7v6vCgdX/SqZiXEzEKQ9YFpuh+m28wNj5aJ1tDg==", "dev": true }, "@hapi/eslint-plugin-hapi": { @@ -179,10 +246,15 @@ "resolved": "https://registry.npmjs.org/@hapi/file/-/file-1.0.0.tgz", "integrity": "sha512-Bsfp/+1Gyf70eGtnIgmScvrH8sSypO3TcK3Zf0QdHnzn/ACnAkI6KLtGACmNRPEzzIy+W7aJX5E+1fc9GwIABQ==" }, + "@hapi/formula": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@hapi/formula/-/formula-1.2.0.tgz", + "integrity": "sha512-UFbtbGPjstz0eWHb+ga/GM3Z9EzqKXFWIbSOFURU0A/Gku0Bky4bCk9/h//K2Xr3IrCfjFNhMm4jyZ5dbCewGA==" + }, "@hapi/hapi": { - "version": "18.3.2", - "resolved": "https://registry.npmjs.org/@hapi/hapi/-/hapi-18.3.2.tgz", - "integrity": "sha512-UJogSyMPe4VFfzjQW5v2ixLvTLZLSfPs1XV/DRnAl2znzsGCaNJI+tgNxjM9lszOjEEkMfxLgoXZadk9exnIxw==", + "version": "18.4.0", + "resolved": "https://registry.npmjs.org/@hapi/hapi/-/hapi-18.4.0.tgz", + "integrity": "sha512-uk9zqknRLcNVQKgrPURm85DqkdroWP8eDRekh/IPoKvC4VjdZSn6EH2eUriOwyud/CldeBS3HDIJ/PtRj3VxDQ==", "requires": { "@hapi/accept": "3.x.x", "@hapi/ammo": "3.x.x", @@ -202,62 +274,115 @@ "@hapi/subtext": "6.x.x", "@hapi/teamwork": "3.x.x", "@hapi/topo": "3.x.x" + }, + "dependencies": { + "@hapi/boom": { + "version": "7.4.11", + "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-7.4.11.tgz", + "integrity": "sha512-VSU/Cnj1DXouukYxxkes4nNJonCnlogHvIff1v1RVoN4xzkKhMXX+GRmb3NyH1iar10I9WFPDv2JPwfH3GaV0A==", + "requires": { + "@hapi/hoek": "8.x.x" + } + }, + "@hapi/joi": { + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz", + "integrity": "sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==", + "requires": { + "@hapi/address": "2.x.x", + "@hapi/bourne": "1.x.x", + "@hapi/hoek": "8.x.x", + "@hapi/topo": "3.x.x" + } + } } }, "@hapi/heavy": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/@hapi/heavy/-/heavy-6.2.1.tgz", - "integrity": "sha512-uaEyC4AtGCGKt/LLBbdDQxJP1bFAbxiot6n/fwa4kyo6w8ULpXXCh8FxLlJ5mC06lqbAxQv45JyozIB6P4Dsig==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/@hapi/heavy/-/heavy-6.2.2.tgz", + "integrity": "sha512-PY1dCCO6dsze7RlafIRhTaGeyTgVe49A/lSkxbhKGjQ7x46o/OFf7hLiRqTCDh3atcEKf6362EaB3+kTUbCsVA==", "requires": { "@hapi/boom": "7.x.x", "@hapi/hoek": "8.x.x", - "@hapi/joi": "15.x.x" + "@hapi/joi": "16.x.x" + }, + "dependencies": { + "@hapi/boom": { + "version": "7.4.11", + "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-7.4.11.tgz", + "integrity": "sha512-VSU/Cnj1DXouukYxxkes4nNJonCnlogHvIff1v1RVoN4xzkKhMXX+GRmb3NyH1iar10I9WFPDv2JPwfH3GaV0A==", + "requires": { + "@hapi/hoek": "8.x.x" + } + } } }, "@hapi/hoek": { - "version": "8.2.4", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.2.4.tgz", - "integrity": "sha512-Ze5SDNt325yZvNO7s5C4fXDscjJ6dcqLFXJQ/M7dZRQCewuDj2iDUuBi6jLQt+APbW9RjjVEvLr35FXuOEqjow==" + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.3.0.tgz", + "integrity": "sha512-C0QL9bmgUXTSuf8nDeGrpMjtJG7tPUr8wG6/wxPbP62tGwCwQtdMSJYfESowmY4P3Hn593f+8OzNY5bckcu/LQ==" }, "@hapi/inert": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/@hapi/inert/-/inert-5.2.1.tgz", - "integrity": "sha512-kovx94LVcT9jELc+k4xuR+1lsdmimjHKn9SpI/YAXDioO7m4YzksEBSmneH3ZwVWVnl2j66Sfzvs2IweHRxyNA==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/@hapi/inert/-/inert-5.2.2.tgz", + "integrity": "sha512-8IaGfAEF8SwZtpdaTq0G3aDPG35ZTfWKjnMNniG2N3kE+qioMsBuImIGxna8TNQ+sYMXYK78aqmvzbQHno8qSQ==", "requires": { "@hapi/ammo": "3.x.x", "@hapi/boom": "7.x.x", "@hapi/bounce": "1.x.x", "@hapi/hoek": "8.x.x", - "@hapi/joi": "15.x.x", + "@hapi/joi": "16.x.x", "lru-cache": "4.1.x" + }, + "dependencies": { + "@hapi/boom": { + "version": "7.4.11", + "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-7.4.11.tgz", + "integrity": "sha512-VSU/Cnj1DXouukYxxkes4nNJonCnlogHvIff1v1RVoN4xzkKhMXX+GRmb3NyH1iar10I9WFPDv2JPwfH3GaV0A==", + "requires": { + "@hapi/hoek": "8.x.x" + } + } } }, "@hapi/iron": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@hapi/iron/-/iron-5.1.1.tgz", - "integrity": "sha512-QYfm6nofZ19pIxm8LR0lsANBabrdxqe0vUYKKI+0w9VdCetoove+dxfbLfduVDM72kh/RNOQG6E5/xyI826PcA==", + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/@hapi/iron/-/iron-5.1.4.tgz", + "integrity": "sha512-+ElC+OCiwWLjlJBmm8ZEWjlfzTMQTdgPnU/TsoU5QsktspIWmWi9IU4kU83nH+X/SSya8TP8h8P11Wr5L7dkQQ==", "requires": { "@hapi/b64": "4.x.x", "@hapi/boom": "7.x.x", + "@hapi/bourne": "1.x.x", "@hapi/cryptiles": "4.x.x", "@hapi/hoek": "8.x.x" + }, + "dependencies": { + "@hapi/boom": { + "version": "7.4.11", + "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-7.4.11.tgz", + "integrity": "sha512-VSU/Cnj1DXouukYxxkes4nNJonCnlogHvIff1v1RVoN4xzkKhMXX+GRmb3NyH1iar10I9WFPDv2JPwfH3GaV0A==", + "requires": { + "@hapi/hoek": "8.x.x" + } + } } }, "@hapi/joi": { - "version": "15.1.1", - "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz", - "integrity": "sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==", + "version": "16.1.7", + "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-16.1.7.tgz", + "integrity": "sha512-anaIgnZhNooG3LJLrTFzgGALTiO97zRA1UkvQHm9KxxoSiIzCozB3RCNCpDnfhTJD72QlrHA8nwGmNgpFFCIeg==", "requires": { - "@hapi/address": "2.x.x", - "@hapi/bourne": "1.x.x", - "@hapi/hoek": "8.x.x", - "@hapi/topo": "3.x.x" + "@hapi/address": "^2.1.2", + "@hapi/formula": "^1.2.0", + "@hapi/hoek": "^8.2.4", + "@hapi/pinpoint": "^1.0.2", + "@hapi/topo": "^3.1.3" } }, "@hapi/lab": { - "version": "20.2.2", - "resolved": "https://registry.npmjs.org/@hapi/lab/-/lab-20.2.2.tgz", - "integrity": "sha512-oiRVnD8yBp/gbxPFq0YRFmVa04ep/8h61swZz/Ce3NTyqmm7SnS57jI+n0X0tUFZNgoVpw4T2GQuLofT5F3rSw==", + "version": "20.4.0", + "resolved": "https://registry.npmjs.org/@hapi/lab/-/lab-20.4.0.tgz", + "integrity": "sha512-QuugZQjjFOaT5iEktnCiOKFmcmPBZ+8waXoaBV+oZVT/C5f01fD0ubJHZwz4YQFUqyQa8FHLtFcvLuQmmc6+gQ==", "dev": true, "requires": { "@hapi/bossy": "4.x.x", @@ -275,7 +400,7 @@ "source-map": "0.7.x", "source-map-support": "0.5.x", "supports-color": "7.x.x", - "typescript": "3.x.x", + "typescript": "3.6.x", "will-call": "1.x.x" }, "dependencies": { @@ -292,9 +417,9 @@ "dev": true }, "supports-color": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.0.0.tgz", - "integrity": "sha512-WRt32iTpYEZWYOpcetGm0NPeSvaebccx7hhS/5M6sAiqnhedtFCHFxkjzZlJvFNCPowiKSFGiZk5USQDFy83vQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", "dev": true, "requires": { "has-flag": "^4.0.0" @@ -330,15 +455,30 @@ "@hapi/content": "4.x.x", "@hapi/hoek": "8.x.x", "@hapi/nigel": "3.x.x" + }, + "dependencies": { + "@hapi/boom": { + "version": "7.4.11", + "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-7.4.11.tgz", + "integrity": "sha512-VSU/Cnj1DXouukYxxkes4nNJonCnlogHvIff1v1RVoN4xzkKhMXX+GRmb3NyH1iar10I9WFPDv2JPwfH3GaV0A==", + "requires": { + "@hapi/hoek": "8.x.x" + } + } } }, + "@hapi/pinpoint": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@hapi/pinpoint/-/pinpoint-1.0.2.tgz", + "integrity": "sha512-dtXC/WkZBfC5vxscazuiJ6iq4j9oNx1SHknmIr8hofarpKUZKmlUVYVIhNVzIEgK5Wrc4GMHL5lZtt1uS2flmQ==" + }, "@hapi/podium": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/@hapi/podium/-/podium-3.4.1.tgz", - "integrity": "sha512-WbwYr5nK+GIrCdgEbN8R7Mh7z+j9AgntOLQ/YQdeLtBp+uScVmW9FoycKdNS5uweO74xwICr28Ob0DU74a2zmg==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@hapi/podium/-/podium-3.4.2.tgz", + "integrity": "sha512-g9zlAkRL2uDlnEo64xzEhFLblf4fdL5Z6evAO0wJhdxEvokI/+6ryv7k6uhND481LiLzQz8qTtPYMuhH1hichw==", "requires": { "@hapi/hoek": "8.x.x", - "@hapi/joi": "15.x.x" + "@hapi/joi": "16.x.x" } }, "@hapi/rule-capitalize-modules": { @@ -372,12 +512,12 @@ "dev": true }, "@hapi/shot": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@hapi/shot/-/shot-4.1.1.tgz", - "integrity": "sha512-TrsqCyaq24XcdvD0bSi26hjwyQQy5q/nzpasbPNgPLoGnxW3sCWE7ws3ba6dd6Atb8TEh9QBD7mBQDCrMMz2Ig==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/@hapi/shot/-/shot-4.1.2.tgz", + "integrity": "sha512-6LeHLjvsq/bQ0R+fhEyr7mqExRGguNTrxFZf5DyKe3CK6pNabiGgYO4JVFaRrLZ3JyuhkS0fo8iiRE2Ql2oA/A==", "requires": { "@hapi/hoek": "8.x.x", - "@hapi/joi": "15.x.x" + "@hapi/joi": "16.x.x" } }, "@hapi/somever": { @@ -390,9 +530,9 @@ } }, "@hapi/statehood": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/@hapi/statehood/-/statehood-6.1.1.tgz", - "integrity": "sha512-tMfS6B8QdrqTaKRUhHv6Ur7oPK6kcEZcnnvBK4IuaPZA9ma5UsyprTXkzbiB0V+0E56dMg3RabO1SABeZkzy6g==", + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/@hapi/statehood/-/statehood-6.1.2.tgz", + "integrity": "sha512-pYXw1x6npz/UfmtcpUhuMvdK5kuOGTKcJNfLqdNptzietK2UZH5RzNJSlv5bDHeSmordFM3kGItcuQWX2lj2nQ==", "requires": { "@hapi/boom": "7.x.x", "@hapi/bounce": "1.x.x", @@ -400,13 +540,23 @@ "@hapi/cryptiles": "4.x.x", "@hapi/hoek": "8.x.x", "@hapi/iron": "5.x.x", - "@hapi/joi": "15.x.x" + "@hapi/joi": "16.x.x" + }, + "dependencies": { + "@hapi/boom": { + "version": "7.4.11", + "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-7.4.11.tgz", + "integrity": "sha512-VSU/Cnj1DXouukYxxkes4nNJonCnlogHvIff1v1RVoN4xzkKhMXX+GRmb3NyH1iar10I9WFPDv2JPwfH3GaV0A==", + "requires": { + "@hapi/hoek": "8.x.x" + } + } } }, "@hapi/subtext": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/@hapi/subtext/-/subtext-6.1.1.tgz", - "integrity": "sha512-Y7NjKFRPwlzKRw5IdwRou42hR4IBQZolT+/DlvfSr/CBjGyu38n5+9LKfNKzqB/0AVEk+xynCijsx1o1UVWX8A==", + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/@hapi/subtext/-/subtext-6.1.2.tgz", + "integrity": "sha512-G1kqD1E2QdxpvpL26WieIyo3z0qCa/sAGSa2TJI/PYPWCR9rL0rqFvhWY774xPZ4uK1PV3TIaJcx8AruAvxclg==", "requires": { "@hapi/boom": "7.x.x", "@hapi/bourne": "1.x.x", @@ -415,6 +565,16 @@ "@hapi/hoek": "8.x.x", "@hapi/pez": "4.x.x", "@hapi/wreck": "15.x.x" + }, + "dependencies": { + "@hapi/boom": { + "version": "7.4.11", + "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-7.4.11.tgz", + "integrity": "sha512-VSU/Cnj1DXouukYxxkes4nNJonCnlogHvIff1v1RVoN4xzkKhMXX+GRmb3NyH1iar10I9WFPDv2JPwfH3GaV0A==", + "requires": { + "@hapi/hoek": "8.x.x" + } + } } }, "@hapi/teamwork": { @@ -439,38 +599,48 @@ } }, "@hapi/wreck": { - "version": "15.0.2", - "resolved": "https://registry.npmjs.org/@hapi/wreck/-/wreck-15.0.2.tgz", - "integrity": "sha512-D/7sGmx3XxxkaMWHZDKTMai8rIEfIgE+DnoZeKfmxhKGgvIpMu1f8BBmLADbdniccGer79w74IWWdXleNrT1Rw==", + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/@hapi/wreck/-/wreck-15.1.0.tgz", + "integrity": "sha512-tQczYRTTeYBmvhsek/D49En/5khcShaBEmzrAaDjMrFXKJRuF8xA8+tlq1ETLBFwGd6Do6g2OC74rt11kzawzg==", "requires": { "@hapi/boom": "7.x.x", "@hapi/bourne": "1.x.x", "@hapi/hoek": "8.x.x" + }, + "dependencies": { + "@hapi/boom": { + "version": "7.4.11", + "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-7.4.11.tgz", + "integrity": "sha512-VSU/Cnj1DXouukYxxkes4nNJonCnlogHvIff1v1RVoN4xzkKhMXX+GRmb3NyH1iar10I9WFPDv2JPwfH3GaV0A==", + "requires": { + "@hapi/hoek": "8.x.x" + } + } } }, "@nodelib/fs.scandir": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.2.tgz", - "integrity": "sha512-wrIBsjA5pl13f0RN4Zx4FNWmU71lv03meGKnqRUoCyan17s4V3WL92f3w3AIuWbNnpcrQyFBU5qMavJoB8d27w==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", + "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==", "dev": true, "requires": { - "@nodelib/fs.stat": "2.0.2", + "@nodelib/fs.stat": "2.0.3", "run-parallel": "^1.1.9" } }, "@nodelib/fs.stat": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.2.tgz", - "integrity": "sha512-z8+wGWV2dgUhLqrtRYa03yDx4HWMvXKi1z8g3m2JyxAx8F7xk74asqPk5LAETjqDSGLFML/6CDl0+yFunSYicw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", + "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==", "dev": true }, "@nodelib/fs.walk": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.3.tgz", - "integrity": "sha512-l6t8xEhfK9Sa4YO5mIRdau7XSOADfmh3jCr0evNHdY+HNkW6xuQhgMH7D73VV6WpZOagrW0UludvMTiifiwTfA==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz", + "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==", "dev": true, "requires": { - "@nodelib/fs.scandir": "2.1.2", + "@nodelib/fs.scandir": "2.1.3", "fastq": "^1.6.0" } }, @@ -498,9 +668,9 @@ "dev": true }, "@types/node": { - "version": "12.7.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.7.4.tgz", - "integrity": "sha512-W0+n1Y+gK/8G2P/piTkBBN38Qc5Q1ZSO6B5H3QmPCUewaiXOo2GCAWZ4ElZCcNhjJuBSUSLGFUJnmlCn5+nxOQ==", + "version": "12.7.12", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.7.12.tgz", + "integrity": "sha512-KPYGmfD0/b1eXurQ59fXD1GBzhSQfz6/lKBxkaHX9dKTzjXbK68Zt7yGUxUsCS1jeTy/8aL+d9JEr+S54mpkWQ==", "dev": true }, "@types/q": { @@ -723,24 +893,24 @@ "optional": true }, "autoprefixer": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.6.1.tgz", - "integrity": "sha512-aVo5WxR3VyvyJxcJC3h4FKfwCQvQWb1tSI5VHNibddCVWrcD1NvlxEweg3TSgiPztMnWfjpy2FURKA2kvDE+Tw==", + "version": "9.6.4", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.6.4.tgz", + "integrity": "sha512-Koz2cJU9dKOxG8P1f8uVaBntOv9lP4yz9ffWvWaicv9gHBPhpQB22nGijwd8gqW9CNT+UdkbQOQNLVI8jN1ZfQ==", "dev": true, "requires": { - "browserslist": "^4.6.3", - "caniuse-lite": "^1.0.30000980", + "browserslist": "^4.7.0", + "caniuse-lite": "^1.0.30000998", "chalk": "^2.4.2", "normalize-range": "^0.1.2", "num2fraction": "^1.2.2", - "postcss": "^7.0.17", - "postcss-value-parser": "^4.0.0" + "postcss": "^7.0.18", + "postcss-value-parser": "^4.0.2" }, "dependencies": { "caniuse-lite": { - "version": "1.0.30000989", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000989.tgz", - "integrity": "sha512-vrMcvSuMz16YY6GSVZ0dWDTJP8jqk3iFQ/Aq5iqblPwxSVVZI+zxDyTX0VPqtQsDnfdrBDcsmhgTEOh5R8Lbpw==", + "version": "1.0.30000999", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000999.tgz", + "integrity": "sha512-1CUyKyecPeksKwXZvYw0tEoaMCo/RwBlXmEtN5vVnabvO0KPd9RQLcaAuR9/1F+KDMv6esmOFWlsXuzDk+8rxg==", "dev": true }, "postcss-value-parser": { @@ -896,25 +1066,31 @@ }, "dependencies": { "caniuse-lite": { - "version": "1.0.30000989", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000989.tgz", - "integrity": "sha512-vrMcvSuMz16YY6GSVZ0dWDTJP8jqk3iFQ/Aq5iqblPwxSVVZI+zxDyTX0VPqtQsDnfdrBDcsmhgTEOh5R8Lbpw==", + "version": "1.0.30000999", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000999.tgz", + "integrity": "sha512-1CUyKyecPeksKwXZvYw0tEoaMCo/RwBlXmEtN5vVnabvO0KPd9RQLcaAuR9/1F+KDMv6esmOFWlsXuzDk+8rxg==", "dev": true }, "electron-to-chromium": { - "version": "1.3.252", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.252.tgz", - "integrity": "sha512-NWJ5TztDnjExFISZHFwpoJjMbLUifsNBnx7u2JI0gCw6SbKyQYYWWtBHasO/jPtHym69F4EZuTpRNGN11MT/jg==", + "version": "1.3.280", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.280.tgz", + "integrity": "sha512-qYWNMjKLEfQAWZF2Sarvo+ahigu0EArnpCFSoUuZJS3W5wIeVfeEvsgmT2mgIrieQkeQ0+xFmykK3nx2ezekPQ==", "dev": true }, "node-releases": { - "version": "1.1.29", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.29.tgz", - "integrity": "sha512-R5bDhzh6I+tpi/9i2hrrvGJ3yKPYzlVOORDkXhnZuwi5D3q1I5w4vYy24PJXTcLk9Q0kws9TO77T75bcK8/ysQ==", + "version": "1.1.35", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.35.tgz", + "integrity": "sha512-JGcM/wndCN/2elJlU0IGdVEJQQnJwsLbgPCFd2pY7V0mxf17bZ0Gb/lgOtL29ZQhvEX5shnVhxQyZz3ex94N8w==", "dev": true, "requires": { - "semver": "^5.3.0" + "semver": "^6.3.0" } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true } } }, @@ -1053,25 +1229,25 @@ "dev": true }, "chokidar": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.0.2.tgz", - "integrity": "sha512-c4PR2egjNjI1um6bamCQ6bUNPDiyofNQruHvKgHQ4gDUP/ITSVSzNsiI5OWtHOsX323i5ha/kk4YmOZ1Ktg7KA==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.2.1.tgz", + "integrity": "sha512-/j5PPkb5Feyps9e+jo07jUZGvkB5Aj953NrI4s8xSVScrAo/RHeILrtdb4uzR7N6aaFFxxJ+gt8mA8HfNpw76w==", "dev": true, "requires": { - "anymatch": "^3.0.1", - "braces": "^3.0.2", - "fsevents": "^2.0.6", - "glob-parent": "^5.0.0", - "is-binary-path": "^2.1.0", - "is-glob": "^4.0.1", - "normalize-path": "^3.0.0", - "readdirp": "^3.1.1" + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.0", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.1.3" }, "dependencies": { "anymatch": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.0.tgz", - "integrity": "sha512-Ozz7l4ixzI7Oxj2+cw+p0tVUt27BpaJ+1+q1TCeANWxHpvyn2+Un+YamBdfKu0uh8xLodGhoa1v7595NhKDAuA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", "dev": true, "requires": { "normalize-path": "^3.0.0", @@ -1103,16 +1279,16 @@ } }, "fsevents": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.0.7.tgz", - "integrity": "sha512-a7YT0SV3RB+DjYcppwVDLtn13UQnmg0SWZS7ezZD0UjnLwXmy8Zm21GMVGLaFGimIqcvyMQaOJBrop8MyOp1kQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.0.tgz", + "integrity": "sha512-+iXhW3LuDQsno8dOIrCIT/CBjeBWuP7PXe8w9shnj9Lebny/Gx1ZjVBYwexLz36Ri2jKuXMNpV6CYNh8lHHgrQ==", "dev": true, "optional": true }, "glob-parent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.0.0.tgz", - "integrity": "sha512-Z2RwiujPRGluePM6j699ktJYxmPpJKCfpGA13jz2hmFZC7gKetzrWvg5KN3+OsIFmydGyZ1AVwERCq1w/ZZwRg==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", + "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", "dev": true, "requires": { "is-glob": "^4.0.1" @@ -1134,9 +1310,9 @@ "dev": true }, "readdirp": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.1.2.tgz", - "integrity": "sha512-8rhl0xs2cxfVsqzreYCvs8EwBfn/DhVdqtoLmw19uI3SC5avYX9teCurlErfpPXGmYtMHReGaP2RsLnFvz/lnw==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.1.3.tgz", + "integrity": "sha512-ZOsfTGkjO2kqeR5Mzr5RYDbTGYneSkdNKX2fOX2P5jF7vMrd/GNnIAUtDldeHHumHUCQ3V05YfWUdxMPAsRu9Q==", "dev": true, "requires": { "picomatch": "^2.0.4" @@ -1281,9 +1457,9 @@ } }, "commander": { - "version": "2.20.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", - "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==" + "version": "2.20.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.1.tgz", + "integrity": "sha512-cCuLsMhJeWQ/ZpsFTbE765kvVfoeSddc4nU3up4fV+fDBcfUXnbITJ+JzhkdjzOqhURjZgujxaioam4RM9yGUg==" }, "component-emitter": { "version": "1.3.0", @@ -1601,14 +1777,14 @@ } }, "d3-array": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.3.1.tgz", - "integrity": "sha512-YlOh8kwqIz0pDECEdCeqVNelaLQXznD0g6yidhhklMgKxKqbNDrYfoudLMkk9THlqvFll+pXMmXYAyN49yWsmg==" + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.3.2.tgz", + "integrity": "sha512-cg73UOh7D7e72FQQER4l5aXnEwlizah8TIggMn8qtEO/7APe5s6bAZhlDlVw0BRml6Qi4bd44WJ5HGuiK7fRyw==" }, "d3-color": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-1.3.0.tgz", - "integrity": "sha512-NHODMBlj59xPAwl2BDiO2Mog6V+PrGRtBfWKqKRrs9MCqlSkIEb0Z/SfY7jW29ReHTDC/j+vwXhnZcXI3+3fbg==" + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-1.4.0.tgz", + "integrity": "sha512-TzNPeJy2+iEepfiL92LAAB7fvnp/dV2YwANPVHdDWmYMm23qIJBYww3qT8I8C1wXrmrg4UWs7BKc2tKIgyjzHg==" }, "d3-contour": { "version": "1.3.2", @@ -1626,9 +1802,9 @@ } }, "d3-delaunay": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-5.1.5.tgz", - "integrity": "sha512-GJujRwUA96JbIVw8E6zUbhUi8ueIZeiouUT9sG44BpbD9i/EpTkNgugvPe737gG9cVTXP4lZxx3UCsO9Yn/PTg==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-5.1.6.tgz", + "integrity": "sha512-VF6bxon2bn1cdXuesInEtVKlE4aUfq5IjE5y0Jl2aZP1yvLsf0QENqQxNhjS4vq95EmYKauA30ofTwvREtPSXA==", "requires": { "delaunator": "4" } @@ -1800,9 +1976,9 @@ "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" }, "deepmerge": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.0.0.tgz", - "integrity": "sha512-YZ1rOP5+kHor4hMAH+HRQnBQHg+wvS1un1hAOuIcxcBy0hzcUf6Jg2a1w65kpoOUnurOfZbERwjI1TfZxNjcww==" + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.1.1.tgz", + "integrity": "sha512-+qO5WbNBKBaZez95TffdUDnGIo4+r5kmsX8aOb7PDHvXsTbghAmleuxjs6ytNaf5Eg4FGBXDS5vqO61TRi6BMg==" }, "define-properties": { "version": "1.1.3", @@ -2021,9 +2197,9 @@ } }, "eslint": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.3.0.tgz", - "integrity": "sha512-ZvZTKaqDue+N8Y9g0kp6UPZtS4FSY3qARxBs7p4f0H0iof381XHduqVerFWtK8DPtKmemqbqCFENWSQgPR/Gow==", + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.5.1.tgz", + "integrity": "sha512-32h99BoLYStT1iq1v2P9uwpyznQ4M2jRiFB6acitKz52Gqn+vPaMDUTB1bYi1WN4Nquj2w+t+bimYUG83DC55A==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", @@ -2081,20 +2257,14 @@ } }, "glob-parent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.0.0.tgz", - "integrity": "sha512-Z2RwiujPRGluePM6j699ktJYxmPpJKCfpGA13jz2hmFZC7gKetzrWvg5KN3+OsIFmydGyZ1AVwERCq1w/ZZwRg==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", + "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", "dev": true, "requires": { "is-glob": "^4.0.1" } }, - "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", - "dev": true - }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", @@ -2155,9 +2325,9 @@ }, "dependencies": { "acorn": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.0.0.tgz", - "integrity": "sha512-PaF/MduxijYYt7unVGRuds1vBC9bFxbNf+VWqhOClfdgy7RlVkQqt610ig1/yxTgsDIfW1cWDel5EBbOy3jdtQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz", + "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==", "dev": true } } @@ -2358,16 +2528,15 @@ "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" }, "fast-glob": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.0.4.tgz", - "integrity": "sha512-wkIbV6qg37xTJwqSsdnIphL1e+LaGz4AIQqr00mIubMaEhv1/HEmJ0uuCGZRNRUkZZmOB5mJKO0ZUTVq+SxMQg==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.1.0.tgz", + "integrity": "sha512-TrUz3THiq2Vy3bjfQUB2wNyPdGBeGmdjbzzBLhfHN4YFurYptCKwGq/TfiRavbGywFRzY6U2CdmQ1zmsY5yYaw==", "dev": true, "requires": { - "@nodelib/fs.stat": "^2.0.1", - "@nodelib/fs.walk": "^1.2.1", - "glob-parent": "^5.0.0", - "is-glob": "^4.0.1", - "merge2": "^1.2.3", + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.0", + "merge2": "^1.3.0", "micromatch": "^4.0.2" }, "dependencies": { @@ -2390,9 +2559,9 @@ } }, "glob-parent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.0.0.tgz", - "integrity": "sha512-Z2RwiujPRGluePM6j699ktJYxmPpJKCfpGA13jz2hmFZC7gKetzrWvg5KN3+OsIFmydGyZ1AVwERCq1w/ZZwRg==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", + "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", "dev": true, "requires": { "is-glob": "^4.0.1" @@ -3144,9 +3313,9 @@ "optional": true }, "handlebars": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.2.0.tgz", - "integrity": "sha512-Kb4xn5Qh1cxAKvQnzNWZ512DhABzyFNmsaJf3OAkWNa4NkaqWcNI8Tao8Tasi0/F4JD9oyG0YxuFyvyR57d+Gw==", + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.4.3.tgz", + "integrity": "sha512-B0W4A2U1ww3q7VVthTKfh+epHx+q4mCt6iK+zEAzbMBpWQAwxCeKxEGpj/1oQTpzPXDNSOG7hmG14TsISH50yw==", "dev": true, "requires": { "neo-async": "^2.6.0", @@ -3365,12 +3534,6 @@ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, - "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", - "dev": true - }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", @@ -3849,9 +4012,9 @@ "dev": true }, "merge2": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.4.tgz", - "integrity": "sha512-FYE8xI+6pjFOhokZu0We3S5NKCirLbCzSh2Usf3qEyr4X8U+0jNg9P8RZ4qz+V2UoECLVwSyzU3LxXBaLGtD3A==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.3.0.tgz", + "integrity": "sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==", "dev": true }, "micromatch": { @@ -5519,9 +5682,9 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "sass": { - "version": "1.23.0-module.beta.1", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.23.0-module.beta.1.tgz", - "integrity": "sha512-Cb6l+z/z5mIpOe8lPp+DttHhHyb6J8SsscSIhLUzqDH2Ta2+9mpz8TRvYezD1n+Ey1TWi3EKz8VUPg42Zc1vmA==", + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.23.0.tgz", + "integrity": "sha512-W4HT8+WE31Rzk3EPQC++CXjD5O+lOxgYBIB8Ohvt7/zeE2UzYW+TOczDrRU3KcEy3+xwXXbmDsOZFkoqgD4TKw==", "dev": true, "requires": { "chokidar": ">=2.0.0 <4.0.0" @@ -5541,9 +5704,9 @@ } }, "seedrandom": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-3.0.3.tgz", - "integrity": "sha512-PJLhhxIMjlMJaiIRtqiVW061EZn3cS+waZkbFe7eCa2R3g88HbNdWmw4NTFG1w5unxd0GeNaUUxZJP7gPAzSDQ==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-3.0.5.tgz", + "integrity": "sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==", "dev": true }, "semver": { @@ -6023,12 +6186,6 @@ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, - "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", - "dev": true - }, "string-width": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", @@ -6195,20 +6352,29 @@ } }, "typescript": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.6.2.tgz", - "integrity": "sha512-lmQ4L+J6mnu3xweP8+rOrUwzmN+MRAj7TgtJtDaXE5PMyX2kCrklhg3rvOsOIfNeAWMQWO2F1GPc1kMD2vLAfw==", + "version": "3.6.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.6.4.tgz", + "integrity": "sha512-unoCll1+l+YK4i4F8f22TaNVPRHcD9PA3yCuZ8g5e0qGqlVlJ/8FSateOLLSagn+Yg5+ZwuPkL8LFUc0Jcvksg==", "dev": true }, "uglify-js": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.0.tgz", - "integrity": "sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg==", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.1.tgz", + "integrity": "sha512-+dSJLJpXBb6oMHP+Yvw8hUgElz4gLTh82XuX68QiJVTXaE5ibl6buzhNkQdYhBlIhozWOC9ge16wyRmjG4TwVQ==", "dev": true, "optional": true, "requires": { - "commander": "~2.20.0", + "commander": "2.20.0", "source-map": "~0.6.1" + }, + "dependencies": { + "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, + "optional": true + } } }, "union-value": { @@ -6334,32 +6500,32 @@ "dev": true }, "vega": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/vega/-/vega-5.6.0.tgz", - "integrity": "sha512-CE0tSL94q7PORs+4vVhGpFcKDLvtx4nBSbJUWDhtYD6Wus8M3jTg2G/bE6Ode/5WodWk6hFXOy/Ay3oPaHz7Gw==", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/vega/-/vega-5.7.2.tgz", + "integrity": "sha512-Zx5miCMgmMLtm74BCNEN3odHtZTGVomBpSvWpvIp4d5iHocrJyDnTNmeZXsBsLMYgtnjulVvtKkTiGFfzomHcw==", "requires": { "vega-crossfilter": "^4.0.1", - "vega-dataflow": "^5.4.0", - "vega-encode": "^4.3.3", + "vega-dataflow": "^5.4.1", + "vega-encode": "^4.4.1", "vega-event-selector": "^2.0.1", - "vega-expression": "^2.6.1", - "vega-force": "^4.0.2", - "vega-functions": "^5.3.2", - "vega-geo": "^4.0.4", + "vega-expression": "^2.6.2", + "vega-force": "^4.0.3", + "vega-functions": "^5.4.0", + "vega-geo": "^4.1.0", "vega-hierarchy": "^4.0.3", - "vega-loader": "^4.1.1", - "vega-parser": "^5.8.3", + "vega-loader": "^4.1.2", + "vega-parser": "^5.10.0", "vega-projection": "^1.3.0", "vega-regression": "^1.0.1", "vega-runtime": "^5.0.2", - "vega-scale": "^4.1.2", - "vega-scenegraph": "^4.2.1", - "vega-statistics": "^1.5.0", - "vega-transforms": "^4.3.0", - "vega-typings": "^0.9.0", - "vega-util": "^1.11.2", + "vega-scale": "^4.1.3", + "vega-scenegraph": "^4.3.1", + "vega-statistics": "^1.6.0", + "vega-transforms": "^4.4.2", + "vega-typings": "^0.10.2", + "vega-util": "^1.12.0", "vega-view": "^5.3.1", - "vega-view-transforms": "^4.3.2", + "vega-view-transforms": "^4.4.1", "vega-voronoi": "^4.1.1", "vega-wordcloud": "^4.0.2" } @@ -6380,33 +6546,26 @@ } }, "vega-dataflow": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/vega-dataflow/-/vega-dataflow-5.4.0.tgz", - "integrity": "sha512-F+bZyoJDeYUf8zz4YJoRsEHUPwP0wXY19VzFUXYxFEh11AQ8YnBHKsPcs07Dd5vzOfiSze6qm4my0ADfISrz8Q==", + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/vega-dataflow/-/vega-dataflow-5.4.1.tgz", + "integrity": "sha512-NZASrIGel2ZD+HiJsozMPO7qNB3INLFWQez6KI+gPpKQIhsz7jWzG/TBK57A8NOLJYPc6VBLiygCmdJbr5E+sA==", "requires": { "vega-loader": "^4.0.0", "vega-util": "^1.11.0" } }, "vega-encode": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/vega-encode/-/vega-encode-4.3.3.tgz", - "integrity": "sha512-lhySA4qhsevYrjFgjQn0iyy0ZivrgYbYrjusLZxZ5niJQrCfDqETVl3tjWN9F6vm6HfusBxLWa4cy/zyvK+SOA==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/vega-encode/-/vega-encode-4.4.1.tgz", + "integrity": "sha512-PtfH+k7Hie7T0ywrg/nI/rhMnpNr8Rg627XR8pzSrM1CbDoMbfFmQsw33tXUT8k/8u/dPLR1klgAtCHUCh7jjA==", "requires": { "d3-array": "^2.3.1", "d3-format": "^1.4.1", "d3-interpolate": "^1.3.2", "d3-time-format": "^2.1.3", "vega-dataflow": "^5.4.0", - "vega-scale": "^4.1.1", - "vega-util": "^1.11.0" - }, - "dependencies": { - "d3-format": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.4.1.tgz", - "integrity": "sha512-TUswGe6hfguUX1CtKxyG2nymO+1lyThbkS1ifLX0Sr+dOQtAD5gkrffpHnx+yHNKUZ0Bmg5T4AjUQwugPDrm0g==" - } + "vega-scale": "^4.1.2", + "vega-util": "^1.11.2" } }, "vega-event-selector": { @@ -6415,27 +6574,27 @@ "integrity": "sha512-FGU1PefYhW9An6zVs6TE5f/XGYsIispxFErG/p9KThxL22IC90WVZzMQXKN9M8OcARq5OyWjHg3qa9Qp/Z6OJw==" }, "vega-expression": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/vega-expression/-/vega-expression-2.6.1.tgz", - "integrity": "sha512-LXyacmJCswaXfBKQbwUBYLzSuSYkygKwNNlZ+xHNQ2+Mab6/oAGlG1jfsJPo90qQefmlvL61ynCi7Bk0vUEafQ==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/vega-expression/-/vega-expression-2.6.2.tgz", + "integrity": "sha512-vh8GVkAL/KtsgcdrdKdEnysZn/InIuRrkF7U+CG1eAmupMucPY/Rpu0nCdYb4CLC/xNRHx/NMFidLztQUjZJQg==", "requires": { "vega-util": "^1.11.0" } }, "vega-force": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/vega-force/-/vega-force-4.0.2.tgz", - "integrity": "sha512-f7mzCKCr1QoQEta/jfY2GZ6lD25Oz+Yz6S2QlRZ1FK8M8k1I79p1AHeUpHfIjxwQPrarCpRgU61i5eECRAx4UQ==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/vega-force/-/vega-force-4.0.3.tgz", + "integrity": "sha512-4stItN4jD9H1CENaCz4jXRNS1Bi9cozMOUjX2824FeJENi2RZSiAZAaGbscgerZQ/jbNcOHD8PHpC2pWldEvGA==", "requires": { "d3-force": "^2.0.1", - "vega-dataflow": "^5.1.1", + "vega-dataflow": "^5.4.0", "vega-util": "^1.11.0" } }, "vega-functions": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/vega-functions/-/vega-functions-5.3.2.tgz", - "integrity": "sha512-R62p2pTuQh/493fvUO3xI8lxeIQOWMxUxQhASRxIO4YGRUcSVjZiSvbD7qsm7bp34COkmBWTqUzmZMW2fNGZpA==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/vega-functions/-/vega-functions-5.4.0.tgz", + "integrity": "sha512-CK0LyeeGXsM+z3d6F8d8B+qqXsPqrJnfvEb3j93Mkc/H0m4cWIlSqIJ+YqO7FjUyWUE971XKcsTlfYoXlnL8Cg==", "requires": { "d3-array": "^2.3.1", "d3-color": "^1.3.0", @@ -6448,27 +6607,20 @@ "vega-scenegraph": "^4.0.0", "vega-selections": "^5.0.1", "vega-statistics": "^1.3.0", - "vega-util": "^1.11.0" - }, - "dependencies": { - "d3-format": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.4.1.tgz", - "integrity": "sha512-TUswGe6hfguUX1CtKxyG2nymO+1lyThbkS1ifLX0Sr+dOQtAD5gkrffpHnx+yHNKUZ0Bmg5T4AjUQwugPDrm0g==" - } + "vega-util": "^1.11.2" } }, "vega-geo": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/vega-geo/-/vega-geo-4.0.4.tgz", - "integrity": "sha512-YA1iLF0nljkl+WcnURTLYyECxOuIFcw6230TCFTTphMWQuq3oJYF+ENg36z08eMFDgvXTfWDH4mEwOJEb0l/8Q==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/vega-geo/-/vega-geo-4.1.0.tgz", + "integrity": "sha512-3xo0hpmfVdhbdB0MWAppBu/DGTHn7+4g+psUVBu9LRii4XUNlmi+YmJzO4Ph6tv2zxrfZfIKMXid9+V5MzWn+g==", "requires": { "d3-array": "^2.3.1", "d3-contour": "^1.3.2", "d3-geo": "^1.11.6", "vega-dataflow": "^5.1.1", - "vega-projection": "^1.2.1", - "vega-util": "^1.11.0" + "vega-projection": "^1.3.0", + "vega-util": "^1.11.2" } }, "vega-hierarchy": { @@ -6482,28 +6634,28 @@ } }, "vega-loader": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/vega-loader/-/vega-loader-4.1.1.tgz", - "integrity": "sha512-iwVMQJq891qyizF1kuctK0DYGCRaOVqYEcMBGYRd9bPH8B7yDMc9b+BzYVxdRkkAY4+EDXrj2jlEZhC55qcLLA==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/vega-loader/-/vega-loader-4.1.2.tgz", + "integrity": "sha512-Zuxvl0K3jmLWyns+8ACajtp7oGfV+M7IeSQybq3xf7BvlGca2h8XA3qiBUXzYULkwZ4PstB56XoJ0tur2Rgs6A==", "requires": { "d3-dsv": "^1.1.1", "d3-time-format": "^2.1.3", "node-fetch": "^2.6.0", - "topojson-client": "^3.0.0", + "topojson-client": "^3.0.1", "vega-util": "^1.11.0" } }, "vega-parser": { - "version": "5.8.3", - "resolved": "https://registry.npmjs.org/vega-parser/-/vega-parser-5.8.3.tgz", - "integrity": "sha512-SI8tZWumouBKLz/IXRtfHgTr2sWV9jjK7Bb1XKki76MLvqJfmpaU+leIhGztrqX2cJQGxaKjkelRVZUjn6tjMQ==", + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/vega-parser/-/vega-parser-5.10.0.tgz", + "integrity": "sha512-AGYwQw/v2+73nvR56sPagrxMHs+8T1APSfiK4Fb2VdhqAqzX3U6A5sqM0MA8GvqHLkmqbuRU3bumv7D/4+I4fw==", "requires": { "vega-dataflow": "^5.4.0", "vega-event-selector": "^2.0.1", - "vega-expression": "^2.6.1", - "vega-functions": "^5.3.1", - "vega-scale": "^4.1.1", - "vega-util": "^1.11.0" + "vega-expression": "^2.6.2", + "vega-functions": "^5.4.0", + "vega-scale": "^4.1.3", + "vega-util": "^1.12.0" } }, "vega-projection": { @@ -6535,27 +6687,34 @@ } }, "vega-scale": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/vega-scale/-/vega-scale-4.1.2.tgz", - "integrity": "sha512-TO1MxP9KV6+PaEW0TIIZ6CRUUUYaiZXfFRnD4kBhlY7t3Sx7/ZScFTOswcJVHuMnViJleegodUmbpigF7WrrDQ==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/vega-scale/-/vega-scale-4.1.3.tgz", + "integrity": "sha512-hpLrEFntN18e+eRAxa8b8malSbNVQyziKmUMGI1Za8ZB64cYj+A/G87ePE0ExSymfrvc/Xulh4VQZNxkPJll4w==", "requires": { - "d3-array": "^2.3.1", + "d3-array": "^2.3.2", "d3-interpolate": "^1.3.2", - "d3-scale": "^3.0.1", - "d3-time": "^1.0.11", + "d3-scale": "^3.1.0", + "d3-time": "^1.1.0", "vega-util": "^1.11.0" + }, + "dependencies": { + "d3-time": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-1.1.0.tgz", + "integrity": "sha512-Xh0isrZ5rPYYdqhAVk8VLnMEidhz5aP7htAADH6MfzgmmicPkTo8LhkLxci61/lCB7n7UmE3bN0leRt+qvkLxA==" + } } }, "vega-scenegraph": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/vega-scenegraph/-/vega-scenegraph-4.2.1.tgz", - "integrity": "sha512-qk3L4P/xcWIDnsuB6E9I/akwbneNaUEsZiYWr8CvpE7BjsIgYqklflCx85UbrqdHte5vFwPWiSiHDEuaNrvWgA==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/vega-scenegraph/-/vega-scenegraph-4.3.1.tgz", + "integrity": "sha512-+hzfFFvvZKgGg7L7+RlRMY/II35/Ty8lw7CiEXRyKA2jxsp3eIWuppiaPgB0IQeVooJh6z4UNcKbNq3SUAvgDA==", "requires": { "d3-path": "^1.0.8", "d3-shape": "^1.3.5", "vega-canvas": "^1.2.1", - "vega-loader": "^4.1.1", - "vega-util": "^1.11.0" + "vega-loader": "^4.1.2", + "vega-util": "^1.11.2" } }, "vega-selections": { @@ -6568,36 +6727,36 @@ } }, "vega-statistics": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/vega-statistics/-/vega-statistics-1.5.0.tgz", - "integrity": "sha512-sbDbLHdPGcEsz3E6Rnqolt5hUxStjrGUehyequHNx/+43MIBvONHLdHMtUm9YLJmj/LChkfLShJ+ObwMVH2aWQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/vega-statistics/-/vega-statistics-1.6.0.tgz", + "integrity": "sha512-8ECaQ9/q8gnMpDLxYEDLCFxqoUmsW1AV1Qho5Iiryq41CoYhSVmg3DzelZRLutmnE8LYsIW6ysQdZw4tOMbhRQ==", "requires": { - "d3-array": "^2.0.3" + "d3-array": "^2.3.1" } }, "vega-transforms": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/vega-transforms/-/vega-transforms-4.3.0.tgz", - "integrity": "sha512-a3mtG3/d+DIfrqyMVTe5jythRqbiJd/WoRXQQCJpbe4XyPE75huo0VHdcvqmMPrF4dUQPFkp38JHSXTParj2yw==", + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/vega-transforms/-/vega-transforms-4.4.2.tgz", + "integrity": "sha512-LliiEnGQjQgFQ/IaHe0gtSvyo0N/RvMjEK2DilE5goamFQP71ud9EPTgyi5ZmT++TaNKS//jQ9grCFXnc/PsEA==", "requires": { - "d3-array": "^2.3.1", - "vega-dataflow": "^5.4.0", - "vega-statistics": "^1.5.0", - "vega-util": "^1.11.0" + "d3-array": "^2.3.2", + "vega-dataflow": "^5.4.1", + "vega-statistics": "^1.6.0", + "vega-util": "^1.11.2" } }, "vega-typings": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/vega-typings/-/vega-typings-0.9.0.tgz", - "integrity": "sha512-auHUUKq/18jk+NGUfR4m/0eil1ufN7sFaYjPOTFu4xhGlULAMriyGQHFaFqPuucNfDCpXMLAQhm31fj67ZPabw==", + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/vega-typings/-/vega-typings-0.10.2.tgz", + "integrity": "sha512-W/V6oyoBizlXt0FJnuY5/Y46/dsmfcPTxRaUCtFBf0nyoWBsmO66EYj24xCHJ6pgfHEEbBRLPfrfrvlKiRPaMQ==", "requires": { "vega-util": "^1.11.0" } }, "vega-util": { - "version": "1.11.2", - "resolved": "https://registry.npmjs.org/vega-util/-/vega-util-1.11.2.tgz", - "integrity": "sha512-E/9zhO026xOSrjOmgCchKKI14fAcik5uNp1/wt9XfCkKjUCibvLCZOX2UVCVAFgF/frby2H1jU34o8mrTSsOxg==" + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/vega-util/-/vega-util-1.12.0.tgz", + "integrity": "sha512-eN1PAQVDyEOcwild2Fk1gbkzkqgDHNujG2/akYRtBzkhtz2EttrVIDwBkWqV/Q+VvEINEksb7TI3Wv7qVQFR5g==" }, "vega-view": { "version": "5.3.1", @@ -6614,13 +6773,13 @@ } }, "vega-view-transforms": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/vega-view-transforms/-/vega-view-transforms-4.3.2.tgz", - "integrity": "sha512-wBDiTS8O5v9J7szalGdsLMjsl3ndIvCGygRWOO8oqFJYboNi6aDEbJMdBkNxxVJ20nNBzT1Ipa2bhYDD0IkylQ==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/vega-view-transforms/-/vega-view-transforms-4.4.1.tgz", + "integrity": "sha512-BgjGsHDLHGTN2FgVRcepuvAcKnMUUtXZVemmJHPrY4LI5iJiCS9+HkZPVcVWD1+vheSNXMmZV7Skn7qn7zAcRg==", "requires": { "vega-dataflow": "^5.1.1", - "vega-scenegraph": "^4.1.0", - "vega-util": "^1.11.0" + "vega-scenegraph": "^4.3.0", + "vega-util": "^1.11.2" } }, "vega-voronoi": { diff --git a/package.json b/package.json index 9c7ec5ff..755f95e8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "q-chart", - "version": "2.2.1", + "version": "3.0.0", "description": "", "main": "index.js", "scripts": { From 77b9d83f43ea3068392bc6c08f7c35618546bce4 Mon Sep 17 00:00:00 2001 From: benib Date: Fri, 11 Oct 2019 09:24:53 +0200 Subject: [PATCH 12/12] load notification routes --- routes/routes.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/routes/routes.js b/routes/routes.js index db71278a..ab149969 100755 --- a/routes/routes.js +++ b/routes/routes.js @@ -8,11 +8,11 @@ module.exports = [ require("./dynamic-schema.js"), require("./health.js"), require("./fixtures/data.js"), - // require("./notification/hideAxisLabel.js"), - // require("./notification/unsupportedDateFormat"), - // require("./notification/shouldBeBarChart.js"), - // require("./notification/shouldBeLineChart.js"), - // require("./notification/shouldBeBars.js"), + require("./notification/hideAxisLabel.js"), + require("./notification/unsupportedDateFormat"), + require("./notification/shouldBeBarChart.js"), + require("./notification/shouldBeLineChart.js"), + require("./notification/shouldBeBars.js"), require("./locales.js"), require("./data.js"), require("./migration.js")