diff --git a/superset/assets/package-lock.json b/superset/assets/package-lock.json index 3f19022e1fbb..35b3c3ad0d1f 100644 --- a/superset/assets/package-lock.json +++ b/superset/assets/package-lock.json @@ -1368,7 +1368,7 @@ }, "@data-ui/event-flow": { "version": "0.0.54", - "resolved": "http://registry.npmjs.org/@data-ui/event-flow/-/event-flow-0.0.54.tgz", + "resolved": "https://registry.npmjs.org/@data-ui/event-flow/-/event-flow-0.0.54.tgz", "integrity": "sha1-uwPh/StWNCSGVbjfnTxsOKdH5l4=", "requires": { "@data-ui/forms": "0.0.50", @@ -1659,7 +1659,7 @@ }, "@data-ui/radial-chart": { "version": "0.0.54", - "resolved": "http://registry.npmjs.org/@data-ui/radial-chart/-/radial-chart-0.0.54.tgz", + "resolved": "https://registry.npmjs.org/@data-ui/radial-chart/-/radial-chart-0.0.54.tgz", "integrity": "sha1-DSiwdoHZtgJ9msI7cpJBgn1RMAE=", "requires": { "@data-ui/shared": "0.0.54", @@ -1674,7 +1674,7 @@ }, "@data-ui/shared": { "version": "0.0.54", - "resolved": "http://registry.npmjs.org/@data-ui/shared/-/shared-0.0.54.tgz", + "resolved": "https://registry.npmjs.org/@data-ui/shared/-/shared-0.0.54.tgz", "integrity": "sha1-L7DW3ukNrCC/jzwpE8aFCoIj1Zs=", "requires": { "@data-ui/theme": "0.0.48", @@ -1747,7 +1747,7 @@ }, "@data-ui/sparkline": { "version": "0.0.54", - "resolved": "http://registry.npmjs.org/@data-ui/sparkline/-/sparkline-0.0.54.tgz", + "resolved": "https://registry.npmjs.org/@data-ui/sparkline/-/sparkline-0.0.54.tgz", "integrity": "sha1-zj0WbZ4LI5oLoC84lMuejIQXHO8=", "requires": { "@data-ui/shared": "0.0.54", @@ -2201,7 +2201,7 @@ }, "@sinonjs/formatio": { "version": "2.0.0", - "resolved": "http://registry.npmjs.org/@sinonjs/formatio/-/formatio-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-2.0.0.tgz", "integrity": "sha512-ls6CAMA6/5gG+O/IdsBcblvnd8qcO/l1TYoNeAzp3wcISOxlPXQEus0mLcdwazEkWjaBdaJ3TaxmNgCLWwvWzg==", "dev": true, "requires": { @@ -2220,9 +2220,9 @@ } }, "@superset-ui/chart": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/@superset-ui/chart/-/chart-0.10.2.tgz", - "integrity": "sha512-SHWnZlLecEn9Ny9rUp0kYcPuIFLxZtBC0yY1wnRIiO974qHPm02nvC+IhgGAs+GlNN302WyrIBQzk2aci6UGhw==", + "version": "0.10.8", + "resolved": "https://registry.npmjs.org/@superset-ui/chart/-/chart-0.10.8.tgz", + "integrity": "sha512-O/i0o/Y5E2tlAEOWHgZaEpnXDqX25Q/xcrgMKOBjbcCUeGMysekvcs7hMkYVI/vTt15sJY3R318kXKNWX6RkKA==", "requires": { "@types/react": "^16.7.17", "@types/react-loadable": "^5.4.2", @@ -2241,34 +2241,33 @@ } }, "@superset-ui/connection": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/@superset-ui/connection/-/connection-0.10.2.tgz", - "integrity": "sha512-G+s+EnIY+GZiV621eUXoe2rK8OP74MkMjQEf5KtNHZNDZVuOLEIINPrdAbqo13ZOdwtGKEEnYWP3opOSiVDReg==", + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@superset-ui/connection/-/connection-0.11.0.tgz", + "integrity": "sha512-S5fe3DVUKehhGvhjR/jOxitKJ6W91PlB1jYRCdTrDz7/FcrQSgV3okUBnyMeQApInh2Civ/vI0ehcb4+7dNqOg==", "requires": { "@babel/runtime": "^7.1.2", - "json-bigint": "^0.3.0", "whatwg-fetch": "^2.0.4" }, "dependencies": { "whatwg-fetch": { "version": "2.0.4", - "resolved": "http://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz", "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==" } } }, "@superset-ui/core": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/@superset-ui/core/-/core-0.10.0.tgz", - "integrity": "sha512-yz1Mywsrd0QZTwp7tfNzi/mB2jMnSkd+Ht7/MPGqjbuJLGgGCywKpvTZ5TTvmTEl5th0xGDBpaSodPWN31lb1w==", + "version": "0.10.6", + "resolved": "https://registry.npmjs.org/@superset-ui/core/-/core-0.10.6.tgz", + "integrity": "sha512-BYKkz1zyV3PykuvIM/3XqNk7dfTEBCvR+Kxd//6w5Z2/JPlnhp+t4Nm7s4g6tLdtW76LcL7JwvBO14wMSfsNvw==", "requires": { "lodash": "^4.17.11" } }, "@superset-ui/dimension": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/@superset-ui/dimension/-/dimension-0.10.0.tgz", - "integrity": "sha512-4ubDo+/NAajaH3YyOOL+G3HXjJ1EFN+rjLnAgyUumovX5aYNET/15Uqsvqi04Nm8+EMKmyE7IxQ2YYXVOLCnUw==" + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/@superset-ui/dimension/-/dimension-0.10.4.tgz", + "integrity": "sha512-+VDPb2bOJS6H/zxh/MC+WSgXemQjPx8GMNu+LKbbgaBYCg1xyo/ldqPdOCo+Gr4YgjUwyCNfxRG4W7Fzd1NvfA==" }, "@superset-ui/legacy-plugin-chart-calendar": { "version": "0.10.0", @@ -2714,9 +2713,9 @@ } }, "@types/react-loadable": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@types/react-loadable/-/react-loadable-5.5.0.tgz", - "integrity": "sha512-evH/O6Wytz6lSmi36YL7YHnFc46zRPSA8+XNtTXI4D7A/CP7OVwcWbHjb2yGbh/jDxxhnTwIVO/PeqDXtUegnQ==", + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@types/react-loadable/-/react-loadable-5.5.1.tgz", + "integrity": "sha512-PSmh6IT9vHeO9QjhApMMiJ65T0Amrpf3fom+04ur872IdgCZK9MzjeN3Q11bzgQMkrV448sbT8WopQw9o0LX1g==", "requires": { "@types/react": "*", "@types/webpack": "*" @@ -2748,9 +2747,9 @@ "integrity": "sha512-iHI60IbyfQilNubmxsq4zqSjdynlmc2Q/QvH9kjzg9+CCYVVzq1O6tc7VBzSygIwnmOt07w80IG6HDQvjv3Liw==" }, "@types/webpack": { - "version": "4.4.25", - "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.4.25.tgz", - "integrity": "sha512-YaYVbSK1bC3xiAWFLSgDQyVHdCTNq5cLlcx633basmrwSoUxJiv4SZ0SoT1uoF15zWx98afOcCbqA1YHeCdRYA==", + "version": "4.4.26", + "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.4.26.tgz", + "integrity": "sha512-vs8LjgEZUQTBxotXbMf8s4jgykozkqjv6P0JRi+1BLh0n7LQUkMXfvsoPb5U/dBL1ay5Lu0c46G6FRmAZBhAUA==", "requires": { "@types/anymatch": "*", "@types/node": "*", @@ -3308,7 +3307,7 @@ }, "acorn-jsx": { "version": "3.0.1", - "resolved": "http://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", "dev": true, "requires": { @@ -3317,7 +3316,7 @@ "dependencies": { "acorn": { "version": "3.3.0", - "resolved": "http://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", "dev": true } @@ -3752,7 +3751,7 @@ }, "array-equal": { "version": "1.0.0", - "resolved": "http://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", "dev": true }, @@ -3875,7 +3874,7 @@ }, "util": { "version": "0.10.3", - "resolved": "http://registry.npmjs.org/util/-/util-0.10.3.tgz", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", "dev": true, "requires": { @@ -4365,7 +4364,7 @@ }, "babel-plugin-syntax-dynamic-import": { "version": "6.18.0", - "resolved": "http://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz", "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=", "dev": true }, @@ -4562,9 +4561,9 @@ "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==" }, "bignumber.js": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-8.1.1.tgz", - "integrity": "sha512-QD46ppGintwPGuL1KqmwhR0O+N2cZUg8JG/VzwI2e28sM9TqHjQB10lI4QAaMHVbLzwVLLAwEglpKPViWX+5NQ==" + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-2.4.0.tgz", + "integrity": "sha1-g4qZLan51zfg9LLbC+YrsJ3Qxeg=" }, "binary-extensions": { "version": "1.12.0", @@ -4649,7 +4648,7 @@ }, "brace": { "version": "0.11.1", - "resolved": "http://registry.npmjs.org/brace/-/brace-0.11.1.tgz", + "resolved": "https://registry.npmjs.org/brace/-/brace-0.11.1.tgz", "integrity": "sha1-SJb8ydVE7vRfS7dmDbMg07N5/lg=" }, "brace-expansion": { @@ -4681,7 +4680,7 @@ }, "brfs": { "version": "1.6.1", - "resolved": "http://registry.npmjs.org/brfs/-/brfs-1.6.1.tgz", + "resolved": "https://registry.npmjs.org/brfs/-/brfs-1.6.1.tgz", "integrity": "sha512-OfZpABRQQf+Xsmju8XE9bDjs+uU4vLREGolP7bDgcpsI17QREyZ4Bl+2KLxxx1kCgA0fAIhKQBaBYh+PEcCqYQ==", "requires": { "quote-stream": "^1.0.1", @@ -4713,7 +4712,7 @@ "dependencies": { "resolve": { "version": "1.1.7", - "resolved": "http://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", "dev": true } @@ -4721,7 +4720,7 @@ }, "browserify-aes": { "version": "1.2.0", - "resolved": "http://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "dev": true, "requires": { @@ -4758,7 +4757,7 @@ }, "browserify-rsa": { "version": "4.0.1", - "resolved": "http://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", "dev": true, "requires": { @@ -4810,7 +4809,7 @@ }, "buffer": { "version": "4.9.1", - "resolved": "http://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", "dev": true, "requires": { @@ -4943,7 +4942,7 @@ "dependencies": { "callsites": { "version": "2.0.0", - "resolved": "http://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", "dev": true } @@ -5262,7 +5261,7 @@ }, "clean-webpack-plugin": { "version": "0.1.19", - "resolved": "http://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-0.1.19.tgz", + "resolved": "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-0.1.19.tgz", "integrity": "sha512-M1Li5yLHECcN2MahoreuODul5LkjohJGFxLPTjl3j1ttKrF5rgjZET1SJduuqxLAuT1gAPOdkhg03qcaaU1KeA==", "dev": true, "requires": { @@ -5673,7 +5672,7 @@ }, "create-hash": { "version": "1.2.0", - "resolved": "http://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "dev": true, "requires": { @@ -5686,7 +5685,7 @@ }, "create-hmac": { "version": "1.1.7", - "resolved": "http://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "dev": true, "requires": { @@ -5747,7 +5746,7 @@ }, "css-color-names": { "version": "0.0.4", - "resolved": "http://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", "dev": true }, @@ -5811,7 +5810,7 @@ }, "css-in-js-utils": { "version": "2.0.1", - "resolved": "http://registry.npmjs.org/css-in-js-utils/-/css-in-js-utils-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/css-in-js-utils/-/css-in-js-utils-2.0.1.tgz", "integrity": "sha512-PJF0SpJT+WdbVVt0AOYp9C8GnuruRlL/UFW7932nLWmFLQTaWEzTBQEx7/hn4BuV+WON75iAViSUJLiU3PKbpA==", "requires": { "hyphenate-style-name": "^1.0.2", @@ -5871,7 +5870,7 @@ }, "css-select": { "version": "1.2.0", - "resolved": "http://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", "dev": true, "requires": { @@ -6259,7 +6258,7 @@ }, "d3-geo-projection": { "version": "0.2.16", - "resolved": "http://registry.npmjs.org/d3-geo-projection/-/d3-geo-projection-0.2.16.tgz", + "resolved": "https://registry.npmjs.org/d3-geo-projection/-/d3-geo-projection-0.2.16.tgz", "integrity": "sha1-SZTs0QM92xUztsTFUoocgdzClCc=", "requires": { "brfs": "^1.3.0" @@ -6677,7 +6676,7 @@ }, "diffie-hellman": { "version": "5.0.3", - "resolved": "http://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", "dev": true, "requires": { @@ -6707,7 +6706,7 @@ }, "dnd-core": { "version": "2.6.0", - "resolved": "http://registry.npmjs.org/dnd-core/-/dnd-core-2.6.0.tgz", + "resolved": "https://registry.npmjs.org/dnd-core/-/dnd-core-2.6.0.tgz", "integrity": "sha1-ErrWbVh0LG5ffPKUP7aFlED4CcQ=", "requires": { "asap": "^2.0.6", @@ -6837,7 +6836,7 @@ }, "duplexer": { "version": "0.1.1", - "resolved": "http://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", "dev": true }, @@ -7079,7 +7078,7 @@ }, "es6-promise": { "version": "3.3.1", - "resolved": "http://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz", "integrity": "sha1-oIzd6EzNvzTQJ6FFG8kdS80ophM=" }, "es6bindall": { @@ -7126,7 +7125,7 @@ }, "eslint": { "version": "4.19.1", - "resolved": "http://registry.npmjs.org/eslint/-/eslint-4.19.1.tgz", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.19.1.tgz", "integrity": "sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ==", "dev": true, "requires": { @@ -7230,7 +7229,7 @@ }, "fast-deep-equal": { "version": "1.1.0", - "resolved": "http://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", "dev": true }, @@ -7404,7 +7403,7 @@ "dependencies": { "doctrine": { "version": "1.5.0", - "resolved": "http://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", "dev": true, "requires": { @@ -7414,7 +7413,7 @@ }, "load-json-file": { "version": "2.0.0", - "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "dev": true, "requires": { @@ -7552,7 +7551,7 @@ }, "espree": { "version": "3.5.4", - "resolved": "http://registry.npmjs.org/espree/-/espree-3.5.4.tgz", + "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz", "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", "dev": true, "requires": { @@ -7732,7 +7731,7 @@ "dependencies": { "source-map": { "version": "0.5.0", - "resolved": "http://registry.npmjs.org/source-map/-/source-map-0.5.0.tgz", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.0.tgz", "integrity": "sha1-D+llA6yGpa213mP05BKuSHLNvoY=", "dev": true } @@ -7778,7 +7777,7 @@ "dependencies": { "array-flatten": { "version": "1.1.1", - "resolved": "http://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", "dev": true }, @@ -7806,7 +7805,7 @@ }, "external-editor": { "version": "2.2.0", - "resolved": "http://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", "dev": true, "requires": { @@ -8028,7 +8027,7 @@ }, "file-loader": { "version": "1.1.11", - "resolved": "http://registry.npmjs.org/file-loader/-/file-loader-1.1.11.tgz", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-1.1.11.tgz", "integrity": "sha512-TGR4HU7HUsGg6GCOPJnFk06RhWgEWFLAGWiT6rcD+GRC2keU3s9RGJ+b3Z6/U73jwwNb2gKLJ7YCrp+jvU4ALg==", "dev": true, "requires": { @@ -8038,7 +8037,7 @@ }, "file-type": { "version": "3.9.0", - "resolved": "http://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=" }, "fileset": { @@ -8071,7 +8070,7 @@ }, "finalhandler": { "version": "1.1.1", - "resolved": "http://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", "dev": true, "requires": { @@ -8677,24 +8676,28 @@ "dependencies": { "abbrev": { "version": "1.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", "dev": true, "optional": true }, "ansi-regex": { "version": "2.1.1", - "bundled": true, - "optional": true + "resolved": false, + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true }, "aproba": { "version": "1.2.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", "dev": true, "optional": true }, "are-we-there-yet": { "version": "1.1.4", - "bundled": true, + "resolved": false, + "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", "dev": true, "optional": true, "requires": { @@ -8704,13 +8707,15 @@ }, "balanced-match": { "version": "1.0.0", - "bundled": true, - "optional": true + "resolved": false, + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true }, "brace-expansion": { "version": "1.1.11", - "bundled": true, - "optional": true, + "resolved": false, + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -8718,34 +8723,40 @@ }, "chownr": { "version": "1.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=", "dev": true, "optional": true }, "code-point-at": { "version": "1.1.0", - "bundled": true, - "optional": true + "resolved": false, + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true }, "concat-map": { "version": "0.0.1", - "bundled": true, - "optional": true + "resolved": false, + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true }, "console-control-strings": { "version": "1.1.0", - "bundled": true, - "optional": true + "resolved": false, + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "dev": true }, "core-util-is": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true, "optional": true }, "debug": { "version": "2.6.9", - "bundled": true, + "resolved": false, + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "optional": true, "requires": { @@ -8754,25 +8765,29 @@ }, "deep-extend": { "version": "0.5.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w==", "dev": true, "optional": true }, "delegates": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", "dev": true, "optional": true }, "detect-libc": { "version": "1.0.3", - "bundled": true, + "resolved": false, + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", "dev": true, "optional": true }, "fs-minipass": { "version": "1.2.5", - "bundled": true, + "resolved": false, + "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", "dev": true, "optional": true, "requires": { @@ -8781,13 +8796,15 @@ }, "fs.realpath": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true, "optional": true }, "gauge": { "version": "2.7.4", - "bundled": true, + "resolved": false, + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "dev": true, "optional": true, "requires": { @@ -8803,7 +8820,8 @@ }, "glob": { "version": "7.1.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, "optional": true, "requires": { @@ -8817,13 +8835,15 @@ }, "has-unicode": { "version": "2.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", "dev": true, "optional": true }, "iconv-lite": { "version": "0.4.21", - "bundled": true, + "resolved": false, + "integrity": "sha512-En5V9za5mBt2oUA03WGD3TwDv0MKAruqsuxstbMUZaj9W9k/m1CV/9py3l0L5kw9Bln8fdHQmzHSYtvpvTLpKw==", "dev": true, "optional": true, "requires": { @@ -8832,7 +8852,8 @@ }, "ignore-walk": { "version": "3.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", "dev": true, "optional": true, "requires": { @@ -8841,7 +8862,8 @@ }, "inflight": { "version": "1.0.6", - "bundled": true, + "resolved": false, + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "optional": true, "requires": { @@ -8851,46 +8873,53 @@ }, "inherits": { "version": "2.0.3", - "bundled": true, - "optional": true + "resolved": false, + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true }, "ini": { "version": "1.3.5", - "bundled": true, + "resolved": false, + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", "dev": true, "optional": true }, "is-fullwidth-code-point": { "version": "1.0.0", - "bundled": true, - "optional": true, + "resolved": false, + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, "requires": { "number-is-nan": "^1.0.0" } }, "isarray": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true, "optional": true }, "minimatch": { "version": "3.0.4", - "bundled": true, - "optional": true, + "resolved": false, + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, "requires": { "brace-expansion": "^1.1.7" } }, "minimist": { "version": "0.0.8", - "bundled": true, - "optional": true + "resolved": false, + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true }, "minipass": { "version": "2.2.4", - "bundled": true, - "optional": true, + "resolved": false, + "integrity": "sha512-hzXIWWet/BzWhYs2b+u7dRHlruXhwdgvlTMDKC6Cb1U7ps6Ac6yQlR39xsbjWJE377YTCtKwIXIpJ5oP+j5y8g==", + "dev": true, "requires": { "safe-buffer": "^5.1.1", "yallist": "^3.0.0" @@ -8898,7 +8927,8 @@ }, "minizlib": { "version": "1.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-4T6Ur/GctZ27nHfpt9THOdRZNgyJ9FZchYO1ceg5S8Q3DNLCKYy44nCZzgCJgcvx2UM8czmqak5BCxJMrq37lA==", "dev": true, "optional": true, "requires": { @@ -8907,21 +8937,24 @@ }, "mkdirp": { "version": "0.5.1", - "bundled": true, - "optional": true, + "resolved": false, + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, "requires": { "minimist": "0.0.8" } }, "ms": { "version": "2.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true, "optional": true }, "needle": { "version": "2.2.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-eFagy6c+TYayorXw/qtAdSvaUpEbBsDwDyxYFgLZ0lTojfH7K+OdBqAF7TAFwDokJaGpubpSGG0wO3iC0XPi8w==", "dev": true, "optional": true, "requires": { @@ -8932,7 +8965,8 @@ }, "node-pre-gyp": { "version": "0.10.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-G7kEonQLRbcA/mOoFoxvlMrw6Q6dPf92+t/l0DFSMuSlDoWaI9JWIyPwK0jyE1bph//CUEL65/Fz1m2vJbmjQQ==", "dev": true, "optional": true, "requires": { @@ -8950,7 +8984,8 @@ }, "nopt": { "version": "4.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", "dev": true, "optional": true, "requires": { @@ -8960,13 +8995,15 @@ }, "npm-bundled": { "version": "1.0.3", - "bundled": true, + "resolved": false, + "integrity": "sha512-ByQ3oJ/5ETLyglU2+8dBObvhfWXX8dtPZDMePCahptliFX2iIuhyEszyFk401PZUNQH20vvdW5MLjJxkwU80Ow==", "dev": true, "optional": true }, "npm-packlist": { "version": "1.1.10", - "bundled": true, + "resolved": false, + "integrity": "sha512-AQC0Dyhzn4EiYEfIUjCdMl0JJ61I2ER9ukf/sLxJUcZHfo+VyEfz2rMJgLZSS1v30OxPQe1cN0LZA1xbcaVfWA==", "dev": true, "optional": true, "requires": { @@ -8976,7 +9013,8 @@ }, "npmlog": { "version": "4.1.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "dev": true, "optional": true, "requires": { @@ -8988,38 +9026,44 @@ }, "number-is-nan": { "version": "1.0.1", - "bundled": true, - "optional": true + "resolved": false, + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true }, "object-assign": { "version": "4.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true, "optional": true }, "once": { "version": "1.4.0", - "bundled": true, - "optional": true, + "resolved": false, + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, "requires": { "wrappy": "1" } }, "os-homedir": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "dev": true, "optional": true }, "os-tmpdir": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true, "optional": true }, "osenv": { "version": "0.1.5", - "bundled": true, + "resolved": false, + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "dev": true, "optional": true, "requires": { @@ -9029,19 +9073,22 @@ }, "path-is-absolute": { "version": "1.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true, "optional": true }, "process-nextick-args": { "version": "2.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", "dev": true, "optional": true }, "rc": { "version": "1.2.7", - "bundled": true, + "resolved": false, + "integrity": "sha512-LdLD8xD4zzLsAT5xyushXDNscEjB7+2ulnl8+r1pnESlYtlJtVSoCMBGr30eDRJ3+2Gq89jK9P9e4tCEH1+ywA==", "dev": true, "optional": true, "requires": { @@ -9053,7 +9100,8 @@ "dependencies": { "minimist": { "version": "1.2.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true, "optional": true } @@ -9061,7 +9109,8 @@ }, "readable-stream": { "version": "2.3.6", - "bundled": true, + "resolved": false, + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "optional": true, "requires": { @@ -9076,7 +9125,8 @@ }, "rimraf": { "version": "2.6.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "optional": true, "requires": { @@ -9085,43 +9135,50 @@ }, "safe-buffer": { "version": "5.1.1", - "bundled": true, - "optional": true + "resolved": false, + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", + "dev": true }, "safer-buffer": { "version": "2.1.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true, "optional": true }, "sax": { "version": "1.2.4", - "bundled": true, + "resolved": false, + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", "dev": true, "optional": true }, "semver": { "version": "5.5.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", "dev": true, "optional": true }, "set-blocking": { "version": "2.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true, "optional": true }, "signal-exit": { "version": "3.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true, "optional": true }, "string-width": { "version": "1.0.2", - "bundled": true, - "optional": true, + "resolved": false, + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -9130,7 +9187,8 @@ }, "string_decoder": { "version": "1.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "optional": true, "requires": { @@ -9139,21 +9197,24 @@ }, "strip-ansi": { "version": "3.0.1", - "bundled": true, - "optional": true, + "resolved": false, + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, "requires": { "ansi-regex": "^2.0.0" } }, "strip-json-comments": { "version": "2.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", "dev": true, "optional": true }, "tar": { "version": "4.4.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-O+v1r9yN4tOsvl90p5HAP4AEqbYhx4036AGMm075fH9F8Qwi3oJ+v4u50FkT/KkvywNGtwkk0zRI+8eYm1X/xg==", "dev": true, "optional": true, "requires": { @@ -9168,13 +9229,15 @@ }, "util-deprecate": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true, "optional": true }, "wide-align": { "version": "1.1.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", "dev": true, "optional": true, "requires": { @@ -9183,13 +9246,15 @@ }, "wrappy": { "version": "1.0.2", - "bundled": true, - "optional": true + "resolved": false, + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true }, "yallist": { "version": "3.0.2", - "bundled": true, - "optional": true + "resolved": false, + "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=", + "dev": true } } }, @@ -9298,7 +9363,7 @@ }, "gettext-parser": { "version": "1.1.0", - "resolved": "http://registry.npmjs.org/gettext-parser/-/gettext-parser-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/gettext-parser/-/gettext-parser-1.1.0.tgz", "integrity": "sha1-LFpmONiTk0ubVQN9CtgstwBLJnk=", "dev": true, "requires": { @@ -9390,7 +9455,7 @@ }, "globby": { "version": "6.1.0", - "resolved": "http://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", "dev": true, "requires": { @@ -9479,7 +9544,7 @@ }, "minimist": { "version": "0.0.10", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", "dev": true }, @@ -9667,7 +9732,7 @@ }, "hoist-non-react-statics": { "version": "1.2.0", - "resolved": "http://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz", "integrity": "sha1-qkSM8JhtVcxAdzsXF0t90GbLfPs=" }, "homedir-polyfill": { @@ -9771,7 +9836,7 @@ }, "http-errors": { "version": "1.6.3", - "resolved": "http://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", "dev": true, "requires": { @@ -10519,7 +10584,7 @@ }, "is-accessor-descriptor": { "version": "0.1.6", - "resolved": "http://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { @@ -10607,7 +10672,7 @@ }, "is-data-descriptor": { "version": "0.1.4", - "resolved": "http://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { @@ -10712,7 +10777,7 @@ }, "is-obj": { "version": "1.0.1", - "resolved": "http://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", "dev": true }, @@ -12047,13 +12112,6 @@ "stream-to-buffer": "^0.1.0", "tinycolor2": "^1.1.2", "url-regex": "^3.0.0" - }, - "dependencies": { - "bignumber.js": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-2.4.0.tgz", - "integrity": "sha1-g4qZLan51zfg9LLbC+YrsJ3Qxeg=" - } } }, "jpeg-js": { @@ -12585,7 +12643,7 @@ }, "magic-string": { "version": "0.22.5", - "resolved": "http://registry.npmjs.org/magic-string/-/magic-string-0.22.5.tgz", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.22.5.tgz", "integrity": "sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==", "requires": { "vlq": "^0.2.2" @@ -12708,7 +12766,7 @@ }, "minimist": { "version": "0.0.8", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" }, "quickselect": { @@ -12766,7 +12824,7 @@ }, "mathjs": { "version": "3.20.2", - "resolved": "http://registry.npmjs.org/mathjs/-/mathjs-3.20.2.tgz", + "resolved": "https://registry.npmjs.org/mathjs/-/mathjs-3.20.2.tgz", "integrity": "sha512-3f6/+uf1cUtIz1rYFz775wekl/UEDSQ3mU6xdxW7qzpvvhc2v28i3UtLsGTRB+u8OqDWoSX6Dz8gehaGFs6tCA==", "requires": { "complex.js": "2.0.4", @@ -12816,7 +12874,7 @@ }, "media-typer": { "version": "0.3.0", - "resolved": "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", "dev": true }, @@ -13016,7 +13074,7 @@ }, "minimist": { "version": "1.2.0", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" }, "mississippi": { @@ -13068,7 +13126,7 @@ }, "mkdirp": { "version": "0.5.1", - "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "requires": { "minimist": "0.0.8" @@ -13076,7 +13134,7 @@ "dependencies": { "minimist": { "version": "0.0.8", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" } } @@ -13743,7 +13801,7 @@ }, "os-tmpdir": { "version": "1.0.2", - "resolved": "http://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true }, @@ -13930,7 +13988,7 @@ }, "path-browserify": { "version": "0.0.0", - "resolved": "http://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=", "dev": true }, @@ -13948,7 +14006,7 @@ }, "path-is-absolute": { "version": "1.0.1", - "resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "path-is-inside": { @@ -14089,7 +14147,7 @@ }, "po2json": { "version": "0.4.5", - "resolved": "http://registry.npmjs.org/po2json/-/po2json-0.4.5.tgz", + "resolved": "https://registry.npmjs.org/po2json/-/po2json-0.4.5.tgz", "integrity": "sha1-R7spUtoy1Yob4vJWpZjuvAt0URg=", "dev": true, "requires": { @@ -14151,7 +14209,7 @@ "dependencies": { "async": { "version": "1.5.2", - "resolved": "http://registry.npmjs.org/async/-/async-1.5.2.tgz", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", "dev": true } @@ -16319,7 +16377,7 @@ }, "react-ace": { "version": "5.10.0", - "resolved": "http://registry.npmjs.org/react-ace/-/react-ace-5.10.0.tgz", + "resolved": "https://registry.npmjs.org/react-ace/-/react-ace-5.10.0.tgz", "integrity": "sha512-aEK/XZCowP8IXq91e2DYqOtGhabk1bbjt+fyeW0UBcIkzDzP/RX/MeJKeyW7wsZcwElACVwyy9nnwXBTqgky3A==", "requires": { "brace": "^0.11.0", @@ -16398,7 +16456,7 @@ }, "react-dnd": { "version": "2.6.0", - "resolved": "http://registry.npmjs.org/react-dnd/-/react-dnd-2.6.0.tgz", + "resolved": "https://registry.npmjs.org/react-dnd/-/react-dnd-2.6.0.tgz", "integrity": "sha1-f6JWds+CfViokSk+PBq1naACVFo=", "requires": { "disposables": "^1.0.1", @@ -16418,7 +16476,7 @@ }, "react-dnd-html5-backend": { "version": "2.6.0", - "resolved": "http://registry.npmjs.org/react-dnd-html5-backend/-/react-dnd-html5-backend-2.6.0.tgz", + "resolved": "https://registry.npmjs.org/react-dnd-html5-backend/-/react-dnd-html5-backend-2.6.0.tgz", "integrity": "sha1-WQzRzKeEQbsnTt1XH+9MCxbdz44=", "requires": { "lodash": "^4.2.0" @@ -16866,7 +16924,7 @@ }, "readable-stream": { "version": "2.3.6", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { "core-util-is": "~1.0.0", @@ -17217,7 +17275,7 @@ }, "reduce-css-calc": { "version": "1.3.0", - "resolved": "http://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz", + "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz", "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=", "requires": { "balanced-match": "^0.4.2", @@ -17340,7 +17398,7 @@ }, "regexpp": { "version": "1.1.0", - "resolved": "http://registry.npmjs.org/regexpp/-/regexpp-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-1.1.0.tgz", "integrity": "sha512-LOPw8FpgdQF9etWMaAfG/WRthIdXJGYp4mJ2Jgn/2lpkbod9jPn0t9UqN7AxBOKNfzRbYyVfgc7Vk4t/MpnXgw==", "dev": true }, @@ -17372,7 +17430,7 @@ "dependencies": { "jsesc": { "version": "0.5.0", - "resolved": "http://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", "dev": true } @@ -17488,7 +17546,7 @@ }, "require-uncached": { "version": "1.0.3", - "resolved": "http://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", + "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", "dev": true, "requires": { @@ -17571,7 +17629,7 @@ }, "rgba-regex": { "version": "1.0.0", - "resolved": "http://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=", "dev": true }, @@ -17655,7 +17713,7 @@ }, "safe-regex": { "version": "1.1.0", - "resolved": "http://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "dev": true, "requires": { @@ -17833,7 +17891,7 @@ }, "sha.js": { "version": "2.4.11", - "resolved": "http://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "dev": true, "requires": { @@ -17868,7 +17926,7 @@ }, "iconv-lite": { "version": "0.2.11", - "resolved": "http://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz", "integrity": "sha1-HOYKOleGSiktEyH/RgnKS7llrcg=" } } @@ -17888,7 +17946,7 @@ "dependencies": { "minimist": { "version": "0.0.5", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.5.tgz", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.5.tgz", "integrity": "sha1-16oye87PUY+RBqxrjwA/o7zqhWY=" } } @@ -17947,7 +18005,7 @@ }, "sinon": { "version": "4.5.0", - "resolved": "http://registry.npmjs.org/sinon/-/sinon-4.5.0.tgz", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-4.5.0.tgz", "integrity": "sha512-trdx+mB0VBBgoYucy6a9L7/jfQOmvGeaKZT4OOJ+lPAtI8623xyGr8wLiE4eojzBS8G9yXbhx42GHUOVLr4X2w==", "dev": true, "requires": { @@ -18339,7 +18397,7 @@ }, "split": { "version": "0.2.10", - "resolved": "http://registry.npmjs.org/split/-/split-0.2.10.tgz", + "resolved": "https://registry.npmjs.org/split/-/split-0.2.10.tgz", "integrity": "sha1-Zwl8YB1pfOE2j0GPBs0gHPBSGlc=", "requires": { "through": "2" @@ -18382,7 +18440,7 @@ }, "sprintf-js": { "version": "1.0.3", - "resolved": "http://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, @@ -18634,7 +18692,7 @@ }, "string_decoder": { "version": "1.1.1", - "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { "safe-buffer": "~5.1.0" @@ -18642,7 +18700,7 @@ }, "strip-ansi": { "version": "3.0.1", - "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { @@ -18657,7 +18715,7 @@ }, "strip-eof": { "version": "1.0.0", - "resolved": "http://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", "dev": true }, @@ -18902,7 +18960,7 @@ }, "fast-deep-equal": { "version": "1.1.0", - "resolved": "http://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", "dev": true }, @@ -18959,7 +19017,7 @@ }, "tapable": { "version": "0.1.10", - "resolved": "http://registry.npmjs.org/tapable/-/tapable-0.1.10.tgz", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.1.10.tgz", "integrity": "sha1-KcNXB8K3DlDQdIK10gLo7URtr9Q=", "dev": true }, @@ -19147,7 +19205,7 @@ }, "through": { "version": "2.3.8", - "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" }, "through2": { @@ -19843,7 +19901,7 @@ }, "tty-browserify": { "version": "0.0.0", - "resolved": "http://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", "dev": true }, @@ -20376,7 +20434,7 @@ }, "vm-browserify": { "version": "0.0.4", - "resolved": "http://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", "dev": true, "requires": { @@ -21958,7 +22016,7 @@ }, "wrap-ansi": { "version": "2.1.0", - "resolved": "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "dev": true, "requires": { @@ -22043,7 +22101,7 @@ }, "xmlbuilder": { "version": "9.0.7", - "resolved": "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=" }, "xregexp": { diff --git a/superset/assets/package.json b/superset/assets/package.json index d5a75d45dd8a..84c15aeb4098 100644 --- a/superset/assets/package.json +++ b/superset/assets/package.json @@ -50,7 +50,7 @@ "@data-ui/sparkline": "^0.0.54", "@superset-ui/chart": "^0.10.2", "@superset-ui/color": "^0.10.9", - "@superset-ui/connection": "^0.10.2", + "@superset-ui/connection": "^0.11.0", "@superset-ui/core": "^0.10.0", "@superset-ui/dimension": "^0.10.0", "@superset-ui/legacy-plugin-chart-calendar": "^0.10.0", @@ -82,7 +82,6 @@ "@superset-ui/translation": "^0.10.0", "@vx/responsive": "0.0.172", "abortcontroller-polyfill": "^1.1.9", - "bignumber.js": "^8.1.1", "bootstrap": "^3.3.6", "bootstrap-slider": "^10.0.0", "brace": "^0.11.1", diff --git a/superset/assets/spec/javascripts/chart/transformBigNumber_spec.js b/superset/assets/spec/javascripts/chart/transformBigNumber_spec.js deleted file mode 100644 index 1500a4243783..000000000000 --- a/superset/assets/spec/javascripts/chart/transformBigNumber_spec.js +++ /dev/null @@ -1,53 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -import BigNumber from 'bignumber.js'; -import transform from 'src/chart/transformBigNumber'; - -describe('transformBigNumber', () => { - it('should transform BigNumber on its own', () => { - expect(transform(new BigNumber(123.456))).toBe(123.456); - }); - - it('should transform BigNumber in objects', () => { - expect(transform({ - foo: new BigNumber(123), - bar: 456, - baz: null, - })).toEqual({ foo: 123, bar: 456, baz: null }); - }); - - it('should transform BigNumber in arrays', () => { - expect(transform([ - { foo: new BigNumber(123) }, - { bar: 456 }, - ])).toEqual([{ foo: 123 }, { bar: 456 }]); - }); - - it('should transform BigNumber in nested structures', () => { - expect(transform([{ - x: new BigNumber(123), - y: [{ foo: new BigNumber(456) }, { bar: 'str' }], - z: { some: [new BigNumber(789)] }, - }])).toEqual([{ - x: 123, - y: [{ foo: 456 }, { bar: 'str' }], - z: { some: [789] }, - }]); - }); -}); diff --git a/superset/assets/spec/javascripts/visualizations/deckgl/utils_spec.js b/superset/assets/spec/javascripts/visualizations/deckgl/utils_spec.js index bcc328897971..bd256a45842d 100644 --- a/superset/assets/spec/javascripts/visualizations/deckgl/utils_spec.js +++ b/superset/assets/spec/javascripts/visualizations/deckgl/utils_spec.js @@ -30,7 +30,7 @@ describe('getBreakPoints', () => { }); it('returns sorted break points', () => { - const fd = { breakPoints: ['0', '10', '100', '50', '1000'] }; + const fd = { break_points: ['0', '10', '100', '50', '1000'] }; const result = getBreakPoints(fd, [], metricAccessor); const expected = ['0', '10', '50', '100', '1000']; expect(result).toEqual(expected); @@ -45,7 +45,7 @@ describe('getBreakPoints', () => { }); it('formats number with proper precision', () => { - const fd = { metric: 'count', numBuckets: 2 }; + const fd = { metric: 'count', num_buckets: 2 }; const features = [0, 1 / 3, 2 / 3, 1].map(count => ({ count })); const result = getBreakPoints(fd, features, metricAccessor); const expected = ['0.0', '0.5', '1.0']; @@ -53,7 +53,7 @@ describe('getBreakPoints', () => { }); it('works with a zero range', () => { - const fd = { metric: 'count', numBuckets: 1 }; + const fd = { metric: 'count', num_buckets: 1 }; const features = [1, 1, 1].map(count => ({ count })); const result = getBreakPoints(fd, features, metricAccessor); const expected = ['1', '1']; @@ -69,7 +69,7 @@ describe('getBreakPointColorScaler', () => { it('returns linear color scaler if there are no break points', () => { const fd = { metric: 'count', - linearColorScheme: ['#000000', '#ffffff'], + linear_color_scheme: ['#000000', '#ffffff'], opacity: 100, }; const features = [10, 20, 30].map(count => ({ count })); @@ -82,8 +82,8 @@ describe('getBreakPointColorScaler', () => { it('returns bucketing scaler if there are break points', () => { const fd = { metric: 'count', - linearColorScheme: ['#000000', '#ffffff'], - breakPoints: ['0', '1', '10'], + linear_color_scheme: ['#000000', '#ffffff'], + break_points: ['0', '1', '10'], opacity: 100, }; const features = []; @@ -97,8 +97,8 @@ describe('getBreakPointColorScaler', () => { it('mask values outside the break points', () => { const fd = { metric: 'count', - linearColorScheme: ['#000000', '#ffffff'], - breakPoints: ['0', '1', '10'], + linear_color_scheme: ['#000000', '#ffffff'], + break_points: ['0', '1', '10'], opacity: 100, }; const features = []; @@ -116,8 +116,8 @@ describe('getBuckets', () => { it('computes buckets for break points', () => { const fd = { metric: 'count', - linearColorScheme: ['#000000', '#ffffff'], - breakPoints: ['0', '1', '10'], + linear_color_scheme: ['#000000', '#ffffff'], + break_points: ['0', '1', '10'], opacity: 100, }; const features = []; diff --git a/superset/assets/src/SqlLab/actions/sqlLab.js b/superset/assets/src/SqlLab/actions/sqlLab.js index 677373daf001..b3d61a8ee0f3 100644 --- a/superset/assets/src/SqlLab/actions/sqlLab.js +++ b/superset/assets/src/SqlLab/actions/sqlLab.js @@ -17,6 +17,7 @@ * under the License. */ import shortid from 'shortid'; +import JSONbig from 'json-bigint'; import { t } from '@superset-ui/translation'; import { SupersetClient } from '@superset-ui/connection'; @@ -128,9 +129,11 @@ export function fetchQueryResults(query) { return SupersetClient.get({ endpoint: `/superset/results/${query.resultsKey}/`, + parseMethod: 'text', }) - .then(({ json = {} }) => { - dispatch(querySuccess(query, json)); + .then(({ text = '{}' }) => { + const bigIntJson = JSONbig.parse(text); + dispatch(querySuccess(query, bigIntJson)); }) .catch(response => getClientErrorObject(response).then((error) => { @@ -164,10 +167,12 @@ export function runQuery(query) { endpoint: `/superset/sql_json/${window.location.search}`, postPayload, stringify: false, + parseMethod: 'text', }) - .then(({ json }) => { + .then(({ text = '{}' }) => { if (!query.runAsync) { - dispatch(querySuccess(query, json)); + const bigIntJson = JSONbig.parse(text); + dispatch(querySuccess(query, bigIntJson)); } }) .catch(response => diff --git a/superset/assets/src/chart/ChartRenderer.jsx b/superset/assets/src/chart/ChartRenderer.jsx index e46f941ffd51..9f366f5cc751 100644 --- a/superset/assets/src/chart/ChartRenderer.jsx +++ b/superset/assets/src/chart/ChartRenderer.jsx @@ -23,7 +23,6 @@ import React from 'react'; import { ChartProps, SuperChart } from '@superset-ui/chart'; import { Tooltip } from 'react-bootstrap'; import { Logger, LOG_ACTIONS_RENDER_CHART } from '../logger/LogUtils'; -import transformBigNumber from './transformBigNumber'; const propTypes = { annotationData: PropTypes.object, @@ -68,7 +67,6 @@ class ChartRenderer extends React.Component { this.handleAddFilter = this.handleAddFilter.bind(this); this.handleRenderSuccess = this.handleRenderSuccess.bind(this); this.handleRenderFailure = this.handleRenderFailure.bind(this); - this.preTransformProps = this.preTransformProps.bind(this); } shouldComponentUpdate(nextProps, nextState) { @@ -167,18 +165,6 @@ class ChartRenderer extends React.Component { } } - preTransformProps(chartProps) { - const payload = chartProps.payload; - const data = transformBigNumber(payload.data); - return new ChartProps({ - ...chartProps, - payload: { - ...payload, - data, - }, - }); - } - renderTooltip() { const { tooltip } = this.state; if (tooltip && tooltip.content) { @@ -224,7 +210,6 @@ class ChartRenderer extends React.Component { className={`${snakeCase(vizType)}`} chartType={vizType} chartProps={skipChartRendering ? null : this.prepareChartProps()} - preTransformProps={this.preTransformProps} onRenderSuccess={this.handleRenderSuccess} onRenderFailure={this.handleRenderFailure} /> diff --git a/superset/assets/src/chart/transformBigNumber.js b/superset/assets/src/chart/transformBigNumber.js deleted file mode 100644 index dffa02a7f47e..000000000000 --- a/superset/assets/src/chart/transformBigNumber.js +++ /dev/null @@ -1,45 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -// This method transforms any BigNumber object in the given payload to its -// 64-bit float representation. It is a temporary fix so charts receive -// floats instead of BigNumber instances in their props to properly render. -import BigNumber from 'bignumber.js'; - -export default function transform(payload) { - if (!payload) { - return payload; - } else if (BigNumber.isBigNumber(payload)) { - return payload.toNumber(); - } else if (payload.constructor === Object) { - for (const key in payload) { - if (payload.hasOwnProperty(key)) { - // Modify in place to prevent creating large payloads - // eslint-disable-next-line no-param-reassign - payload[key] = transform(payload[key]); - } - } - } else if (payload.constructor === Array) { - payload.forEach((elem, idx) => { - // Modify in place to prevent creating large payloads - // eslint-disable-next-line no-param-reassign - payload[idx] = transform(elem); - }); - } - return payload; -} diff --git a/superset/assets/src/visualizations/deckgl/CategoricalDeckGLContainer.jsx b/superset/assets/src/visualizations/deckgl/CategoricalDeckGLContainer.jsx index 3765f7d49d92..e1933a4b1b50 100644 --- a/superset/assets/src/visualizations/deckgl/CategoricalDeckGLContainer.jsx +++ b/superset/assets/src/visualizations/deckgl/CategoricalDeckGLContainer.jsx @@ -31,9 +31,9 @@ import { fitViewport } from './layers/common'; const { getScale } = CategoricalColorNamespace; function getCategories(fd, data) { - const c = fd.colorPicker || { r: 0, g: 0, b: 0, a: 1 }; + const c = fd.color_picker || { r: 0, g: 0, b: 0, a: 1 }; const fixedColor = [c.r, c.g, c.b, 255 * c.a]; - const colorFn = getScale(fd.colorScheme); + const colorFn = getScale(fd.color_scheme); const categories = {}; data.forEach((d) => { if (d.cat_color != null && !categories.hasOwnProperty(d.cat_color)) { @@ -108,7 +108,7 @@ export default class CategoricalDeckGLContainer extends React.PureComponent { // the granularity has to be read from the payload form_data, not the // props formData which comes from the instantaneous controls state const granularity = ( - props.payload.form_data.timeGrainSqla || + props.payload.form_data.time_grain_sqla || props.payload.form_data.granularity || 'P1D' ); @@ -154,8 +154,8 @@ export default class CategoricalDeckGLContainer extends React.PureComponent { features = this.addColor(features, fd); // Apply user defined data mutator if defined - if (fd.jsDataMutator) { - const jsFnMutator = sandboxedEval(fd.jsDataMutator); + if (fd.js_data_mutator) { + const jsFnMutator = sandboxedEval(fd.js_data_mutator); features = jsFnMutator(features); } @@ -180,8 +180,8 @@ export default class CategoricalDeckGLContainer extends React.PureComponent { return [getLayer(fd, filteredPayload, onAddFilter, setTooltip)]; } addColor(data, fd) { - const c = fd.colorPicker || { r: 0, g: 0, b: 0, a: 1 }; - const colorFn = getScale(fd.colorScheme); + const c = fd.color_picker || { r: 0, g: 0, b: 0, a: 1 }; + const colorFn = getScale(fd.color_scheme); return data.map((d) => { let color; if (fd.dimension) { @@ -229,14 +229,14 @@ export default class CategoricalDeckGLContainer extends React.PureComponent { viewport={this.state.viewport} onViewportChange={this.onViewportChange} mapboxApiAccessToken={this.props.mapboxApiKey} - mapStyle={this.props.formData.mapboxStyle} + mapStyle={this.props.formData.mapbox_style} setControlValue={this.props.setControlValue} > diff --git a/superset/assets/src/visualizations/deckgl/Multi/Multi.jsx b/superset/assets/src/visualizations/deckgl/Multi/Multi.jsx index 792b94ad0903..e9da1f77204b 100644 --- a/superset/assets/src/visualizations/deckgl/Multi/Multi.jsx +++ b/superset/assets/src/visualizations/deckgl/Multi/Multi.jsx @@ -56,7 +56,7 @@ class DeckMulti extends React.PureComponent { const filters = [ ...(subslice.form_data.filters || []), ...(formData.filters || []), - ...(formData.extraFilters || []), + ...(formData.extra_filters || []), ]; const subsliceCopy = { ...subslice, @@ -70,7 +70,7 @@ class DeckMulti extends React.PureComponent { endpoint: getExploreLongUrl(subsliceCopy.form_data, 'json'), }) .then(({ json }) => { - const layer = layerGenerators[subsliceCopy.form_data.vizType]( + const layer = layerGenerators[subsliceCopy.form_data.viz_type]( subsliceCopy.form_data, json, ); @@ -96,7 +96,7 @@ class DeckMulti extends React.PureComponent { mapboxApiAccessToken={payload.data.mapboxApiKey} viewport={viewport} layers={layers} - mapStyle={formData.mapboxStyle} + mapStyle={formData.mapbox_style} setControlValue={setControlValue} /> ); diff --git a/superset/assets/src/visualizations/deckgl/factory.jsx b/superset/assets/src/visualizations/deckgl/factory.jsx index 348bdeeb7a43..1ad8bd373d4c 100644 --- a/superset/assets/src/visualizations/deckgl/factory.jsx +++ b/superset/assets/src/visualizations/deckgl/factory.jsx @@ -90,7 +90,7 @@ export function createDeckGLComponent(getLayer, getPoints) { mapboxApiAccessToken={payload.data.mapboxApiKey} viewport={viewport} layers={[layer]} - mapStyle={formData.mapboxStyle} + mapStyle={formData.mapbox_style} setControlValue={setControlValue} onViewportChange={this.onViewportChange} />); diff --git a/superset/assets/src/visualizations/deckgl/layers/Arc/Arc.jsx b/superset/assets/src/visualizations/deckgl/layers/Arc/Arc.jsx index 75894b08968d..b6adbbfbf40d 100644 --- a/superset/assets/src/visualizations/deckgl/layers/Arc/Arc.jsx +++ b/superset/assets/src/visualizations/deckgl/layers/Arc/Arc.jsx @@ -31,14 +31,14 @@ function getPoints(data) { export function getLayer(fd, payload, onAddFilter, setTooltip) { const data = payload.data.features; - const sc = fd.colorPicker; - const tc = fd.targetColorPicker; + const sc = fd.color_picker; + const tc = fd.target_color_picker; return new ArcLayer({ - id: `path-layer-${fd.sliceId}`, + id: `path-layer-${fd.slice_id}`, data, getSourceColor: d => d.sourceColor || d.color || [sc.r, sc.g, sc.b, 255 * sc.a], getTargetColor: d => d.targetColor || d.color || [tc.r, tc.g, tc.b, 255 * tc.a], - strokeWidth: (fd.strokeWidth) ? fd.strokeWidth : 3, + strokeWidth: (fd.stroke_width) ? fd.stroke_width : 3, ...commonLayerProps(fd, setTooltip), }); } diff --git a/superset/assets/src/visualizations/deckgl/layers/Geojson/Geojson.jsx b/superset/assets/src/visualizations/deckgl/layers/Geojson/Geojson.jsx index d698a0b8a003..1dd3cdb478b8 100644 --- a/superset/assets/src/visualizations/deckgl/layers/Geojson/Geojson.jsx +++ b/superset/assets/src/visualizations/deckgl/layers/Geojson/Geojson.jsx @@ -77,8 +77,8 @@ const recurseGeoJson = (node, propOverrides, extraProps) => { export function getLayer(formData, payload, onAddFilter, setTooltip) { const fd = formData; - const fc = fd.fillColorPicker; - const sc = fd.strokeColorPicker; + const fc = fd.fill_color_picker; + const sc = fd.stroke_color_picker; const fillColor = [fc.r, fc.g, fc.b, 255 * fc.a]; const strokeColor = [sc.r, sc.g, sc.b, 255 * sc.a]; const propOverrides = {}; @@ -93,19 +93,19 @@ export function getLayer(formData, payload, onAddFilter, setTooltip) { recurseGeoJson(payload.data, propOverrides); let jsFnMutator; - if (fd.jsDataMutator) { + if (fd.js_data_mutator) { // Applying user defined data mutator if defined - jsFnMutator = sandboxedEval(fd.jsDataMutator); + jsFnMutator = sandboxedEval(fd.js_data_mutator); features = jsFnMutator(features); } return new GeoJsonLayer({ - id: `geojson-layer-${fd.sliceId}`, + id: `geojson-layer-${fd.slice_id}`, filled: fd.filled, data: features, stroked: fd.stroked, extruded: fd.extruded, - pointRadiusScale: fd.pointRadiusScale, + pointRadiusScale: fd.point_radius_scale, ...commonLayerProps(fd, setTooltip), }); } @@ -145,7 +145,7 @@ function deckGeoJson(props) { mapboxApiAccessToken={payload.data.mapboxApiKey} viewport={viewport} layers={[layer]} - mapStyle={formData.mapboxStyle} + mapStyle={formData.mapbox_style} setControlValue={setControlValue} /> ); diff --git a/superset/assets/src/visualizations/deckgl/layers/Grid/Grid.jsx b/superset/assets/src/visualizations/deckgl/layers/Grid/Grid.jsx index 2baba1e7af1e..67c4bfd8304d 100644 --- a/superset/assets/src/visualizations/deckgl/layers/Grid/Grid.jsx +++ b/superset/assets/src/visualizations/deckgl/layers/Grid/Grid.jsx @@ -24,24 +24,24 @@ import { createDeckGLComponent } from '../../factory'; export function getLayer(formData, payload, onAddFilter, setTooltip) { const fd = formData; - const c = fd.colorPicker; + const c = fd.color_picker; let data = payload.data.features.map(d => ({ ...d, color: [c.r, c.g, c.b, 255 * c.a], })); - if (fd.jsDataMutator) { + if (fd.js_data_mutator) { // Applying user defined data mutator if defined - const jsFnMutator = sandboxedEval(fd.jsDataMutator); + const jsFnMutator = sandboxedEval(fd.js_data_mutator); data = jsFnMutator(data); } - const aggFunc = getAggFunc(fd.jsAggFunction, p => p.weight); + const aggFunc = getAggFunc(fd.js_agg_function, p => p.weight); return new GridLayer({ - id: `grid-layer-${fd.sliceId}`, + id: `grid-layer-${fd.slice_id}`, data, pickable: true, - cellSize: fd.gridSize, + cellSize: fd.grid_size, minColor: [0, 0, 0, 0], extruded: fd.extruded, maxColor: [c.r, c.g, c.b, 255 * c.a], diff --git a/superset/assets/src/visualizations/deckgl/layers/Hex/Hex.jsx b/superset/assets/src/visualizations/deckgl/layers/Hex/Hex.jsx index b17116f21c90..f8562254e7f6 100644 --- a/superset/assets/src/visualizations/deckgl/layers/Hex/Hex.jsx +++ b/superset/assets/src/visualizations/deckgl/layers/Hex/Hex.jsx @@ -24,23 +24,23 @@ import { createDeckGLComponent } from '../../factory'; export function getLayer(formData, payload, onAddFilter, setTooltip) { const fd = formData; - const c = fd.colorPicker; + const c = fd.color_picker; let data = payload.data.features.map(d => ({ ...d, color: [c.r, c.g, c.b, 255 * c.a], })); - if (fd.jsDataMutator) { + if (fd.js_data_mutator) { // Applying user defined data mutator if defined - const jsFnMutator = sandboxedEval(fd.jsDataMutator); + const jsFnMutator = sandboxedEval(fd.js_data_mutator); data = jsFnMutator(data); } - const aggFunc = getAggFunc(fd.jsAggFunction, p => p.weight); + const aggFunc = getAggFunc(fd.js_agg_function, p => p.weight); return new HexagonLayer({ - id: `hex-layer-${fd.sliceId}`, + id: `hex-layer-${fd.slice_id}`, data, pickable: true, - radius: fd.gridSize, + radius: fd.grid_size, minColor: [0, 0, 0, 0], extruded: fd.extruded, maxColor: [c.r, c.g, c.b, 255 * c.a], diff --git a/superset/assets/src/visualizations/deckgl/layers/Path/Path.jsx b/superset/assets/src/visualizations/deckgl/layers/Path/Path.jsx index bd1b44979907..633ccec9ea53 100644 --- a/superset/assets/src/visualizations/deckgl/layers/Path/Path.jsx +++ b/superset/assets/src/visualizations/deckgl/layers/Path/Path.jsx @@ -23,22 +23,22 @@ import { createDeckGLComponent } from '../../factory'; export function getLayer(formData, payload, onAddFilter, setTooltip) { const fd = formData; - const c = fd.colorPicker; + const c = fd.color_picker; const fixedColor = [c.r, c.g, c.b, 255 * c.a]; let data = payload.data.features.map(feature => ({ ...feature, path: feature.path, - width: fd.lineWidth, + width: fd.line_width, color: fixedColor, })); - if (fd.jsDataMutator) { - const jsFnMutator = sandboxedEval(fd.jsDataMutator); + if (fd.js_data_mutator) { + const jsFnMutator = sandboxedEval(fd.js_data_mutator); data = jsFnMutator(data); } return new PathLayer({ - id: `path-layer-${fd.sliceId}`, + id: `path-layer-${fd.slice_id}`, data, rounded: true, widthScale: 1, diff --git a/superset/assets/src/visualizations/deckgl/layers/Polygon/Polygon.jsx b/superset/assets/src/visualizations/deckgl/layers/Polygon/Polygon.jsx index b69bbf782ab2..8a3c2f4028af 100644 --- a/superset/assets/src/visualizations/deckgl/layers/Polygon/Polygon.jsx +++ b/superset/assets/src/visualizations/deckgl/layers/Polygon/Polygon.jsx @@ -50,8 +50,8 @@ function getElevation(d, colorScaler) { export function getLayer(formData, payload, setTooltip, selected, onSelect, filters) { const fd = formData; - const fc = fd.fillColorPicker; - const sc = fd.strokeColorPicker; + const fc = fd.fill_color_picker; + const sc = fd.stroke_color_picker; let data = [...payload.data.features]; if (filters != null) { @@ -60,9 +60,9 @@ export function getLayer(formData, payload, setTooltip, selected, onSelect, filt }); } - if (fd.jsDataMutator) { + if (fd.js_data_mutator) { // Applying user defined data mutator if defined - const jsFnMutator = sandboxedEval(fd.jsDataMutator); + const jsFnMutator = sandboxedEval(fd.js_data_mutator); data = jsFnMutator(data); } @@ -76,13 +76,13 @@ export function getLayer(formData, payload, setTooltip, selected, onSelect, filt // when polygons are selected, reduce the opacity of non-selected polygons const colorScaler = (d) => { const baseColor = baseColorScaler(d); - if (selected.length > 0 && selected.indexOf(d[fd.lineColumn]) === -1) { + if (selected.length > 0 && selected.indexOf(d[fd.line_column]) === -1) { baseColor[3] /= 2; } return baseColor; }; return new PolygonLayer({ - id: `path-layer-${fd.sliceId}`, + id: `path-layer-${fd.slice_id}`, data, pickable: true, filled: fd.filled, @@ -90,7 +90,7 @@ export function getLayer(formData, payload, setTooltip, selected, onSelect, filt getPolygon: d => d.polygon, getFillColor: colorScaler, getLineColor: [sc.r, sc.g, sc.b, 255 * sc.a], - getLineWidth: fd.lineWidth, + getLineWidth: fd.line_width, extruded: fd.extruded, getElevation: d => getElevation(d, colorScaler), elevationScale: fd.multiplier, @@ -138,7 +138,7 @@ class DeckGLPolygon extends React.Component { // the granularity has to be read from the payload form_data, not the // props formData which comes from the instantaneous controls state const granularity = ( - props.payload.form_data.timeGrainSqla || + props.payload.form_data.time_grain_sqla || props.payload.form_data.granularity || 'P1D' ); @@ -177,7 +177,7 @@ class DeckGLPolygon extends React.Component { const selected = [...this.state.selected]; if (doubleClick) { selected.splice(0, selected.length, polygon); - } else if (formData.togglePolygons) { + } else if (formData.toggle_polygons) { const i = selected.indexOf(polygon); if (i === -1) { selected.push(polygon); @@ -189,8 +189,8 @@ class DeckGLPolygon extends React.Component { } this.setState({ selected, lastClick: now }); - if (formData.tableFilter) { - onAddFilter(formData.lineColumn, selected, false, true); + if (formData.table_filter) { + onAddFilter(formData.line_column, selected, false, true); } } onValuesChange(values) { @@ -249,14 +249,14 @@ class DeckGLPolygon extends React.Component { viewport={viewport} onViewportChange={this.onViewportChange} mapboxApiAccessToken={payload.data.mapboxApiKey} - mapStyle={formData.mapboxStyle} + mapStyle={formData.mapbox_style} setControlValue={setControlValue} aggregation > {formData.metric !== null && } diff --git a/superset/assets/src/visualizations/deckgl/layers/Scatter/Scatter.jsx b/superset/assets/src/visualizations/deckgl/layers/Scatter/Scatter.jsx index ebc26c899e2f..194a7755a8eb 100644 --- a/superset/assets/src/visualizations/deckgl/layers/Scatter/Scatter.jsx +++ b/superset/assets/src/visualizations/deckgl/layers/Scatter/Scatter.jsx @@ -27,24 +27,24 @@ function getPoints(data) { export function getLayer(fd, payload, onAddFilter, setTooltip) { const dataWithRadius = payload.data.features.map((d) => { - let radius = unitToRadius(fd.pointUnit, d.radius) || 10; + let radius = unitToRadius(fd.point_unit, d.radius) || 10; if (fd.multiplier) { radius *= fd.multiplier; } if (d.color) { return { ...d, radius }; } - const c = fd.colorPicker || { r: 0, g: 0, b: 0, a: 1 }; + const c = fd.color_picker || { r: 0, g: 0, b: 0, a: 1 }; const color = [c.r, c.g, c.b, c.a * 255]; return { ...d, radius, color }; }); return new ScatterplotLayer({ - id: `scatter-layer-${fd.sliceId}`, + id: `scatter-layer-${fd.slice_id}`, data: dataWithRadius, fp64: true, - radiusMinPixels: fd.minRadius || null, - radiusMaxPixels: fd.maxRadius || null, + radiusMinPixels: fd.min_radius || null, + radiusMaxPixels: fd.max_radius || null, outline: false, ...commonLayerProps(fd, setTooltip), }); diff --git a/superset/assets/src/visualizations/deckgl/layers/Screengrid/Screengrid.jsx b/superset/assets/src/visualizations/deckgl/layers/Screengrid/Screengrid.jsx index cc309bbaab80..a4bdede05d24 100644 --- a/superset/assets/src/visualizations/deckgl/layers/Screengrid/Screengrid.jsx +++ b/superset/assets/src/visualizations/deckgl/layers/Screengrid/Screengrid.jsx @@ -32,15 +32,15 @@ function getPoints(data) { export function getLayer(formData, payload, onAddFilter, setTooltip, filters) { const fd = formData; - const c = fd.colorPicker; + const c = fd.color_picker; let data = payload.data.features.map(d => ({ ...d, color: [c.r, c.g, c.b, 255 * c.a], })); - if (fd.jsDataMutator) { + if (fd.js_data_mutator) { // Applying user defined data mutator if defined - const jsFnMutator = sandboxedEval(fd.jsDataMutator); + const jsFnMutator = sandboxedEval(fd.js_data_mutator); data = jsFnMutator(data); } @@ -53,10 +53,10 @@ export function getLayer(formData, payload, onAddFilter, setTooltip, filters) { // Passing a layer creator function instead of a layer since the // layer needs to be regenerated at each render return new ScreenGridLayer({ - id: `screengrid-layer-${fd.sliceId}`, + id: `screengrid-layer-${fd.slice_id}`, data, pickable: true, - cellSizePixels: fd.gridSize, + cellSizePixels: fd.grid_size, minColor: [c.r, c.g, c.b, 0], maxColor: [c.r, c.g, c.b, 255 * c.a], outline: false, @@ -102,7 +102,7 @@ class DeckGLScreenGrid extends React.PureComponent { // the granularity has to be read from the payload form_data, not the // props formData which comes from the instantaneous controls state const granularity = ( - props.payload.form_data.timeGrainSqla || + props.payload.form_data.time_grain_sqla || props.payload.form_data.granularity || 'P1D' ); @@ -176,7 +176,7 @@ class DeckGLScreenGrid extends React.PureComponent { viewport={this.state.viewport} onViewportChange={this.onViewportChange} mapboxApiAccessToken={payload.data.mapboxApiKey} - mapStyle={formData.mapboxStyle} + mapStyle={formData.mapbox_style} setControlValue={setControlValue} aggregation /> diff --git a/superset/assets/src/visualizations/deckgl/layers/common.jsx b/superset/assets/src/visualizations/deckgl/layers/common.jsx index 2e5aeede26cf..b9b271640a7b 100644 --- a/superset/assets/src/visualizations/deckgl/layers/common.jsx +++ b/superset/assets/src/visualizations/deckgl/layers/common.jsx @@ -54,13 +54,13 @@ export function commonLayerProps(formData, setTooltip, onSelect) { const fd = formData; let onHover; let tooltipContentGenerator; - if (fd.jsTooltip) { - tooltipContentGenerator = sandboxedEval(fd.jsTooltip); - } else if (fd.lineColumn && fd.metric && ['geohash', 'zipcode'].indexOf(fd.lineType) >= 0) { + if (fd.js_tooltip) { + tooltipContentGenerator = sandboxedEval(fd.js_tooltip); + } else if (fd.line_column && fd.metric && ['geohash', 'zipcode'].indexOf(fd.line_type) >= 0) { const metricLabel = fd.metric.label || fd.metric; tooltipContentGenerator = o => (