diff --git a/core/package-lock.json b/core/package-lock.json index 46b6556f6e..e145ff8962 100644 --- a/core/package-lock.json +++ b/core/package-lock.json @@ -203,9 +203,9 @@ "dev": true }, "@types/node": { - "version": "9.6.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-9.6.2.tgz", - "integrity": "sha512-UWkRY9X7RQHp5OhhRIIka58/gVVycL1zHZu0OTsT5LI86ABaMOSbUjAl+b0FeDhQcxclrkyft3kW5QWdMRs8wQ==", + "version": "6.0.105", + "resolved": "https://registry.npmjs.org/@types/node/-/node-6.0.105.tgz", + "integrity": "sha512-fMIbw7iw91TSInS3b2DtDse5VaQEZqs0oTjvRNIFHnoHbnji+dLwpzL1L6dYGL39RzDNPHM/Off+VNcMk4ahwQ==", "dev": true }, "abab": { @@ -238,9 +238,9 @@ } }, "acorn": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.4.1.tgz", - "integrity": "sha512-XLmq3H/BVvW6/GbxKryGxWORz1ebilSsUDlyC27bXhWGWAZWkGwS6FLHjOlwFXNFoWFQEO/Df4u0YYd0K3BQgQ==", + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.5.3.tgz", + "integrity": "sha512-jd5MkIUlbbmb07nXH0DT3y7rDVtkzDi4XZOUVWAer8ajmF/DTSSbl5oNFyDOl/OXA33Bl79+ypHhl2pN20VeOQ==", "dev": true }, "acorn-globals": { @@ -249,7 +249,7 @@ "integrity": "sha512-KjZwU26uG3u6eZcfGbTULzFcsoz6pegNKtHPksZPOUsiKo5bUmiBPa38FuHZ/Eun+XYh/JCCkS9AS3Lu4McQOQ==", "dev": true, "requires": { - "acorn": "5.4.1" + "acorn": "5.5.3" } }, "acorn-jsx": { @@ -276,7 +276,7 @@ "dev": true, "requires": { "co": "4.6.0", - "fast-deep-equal": "1.0.0", + "fast-deep-equal": "1.1.0", "fast-json-stable-stringify": "2.0.0", "json-schema-traverse": "0.3.1" } @@ -358,9 +358,9 @@ } }, "ansi-escapes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.0.0.tgz", - "integrity": "sha512-O/klc27mWNUigtv0F8NJWbLF00OcegQalkqKURWdosW08YZKi4m6CnSUSvIZG1otNJbTWhN01Hhz389DW7mvDQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", + "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==", "dev": true }, "ansi-regex": { @@ -370,9 +370,9 @@ "dev": true }, "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "1.9.1" @@ -416,7 +416,7 @@ "dev": true, "requires": { "delegates": "1.0.0", - "readable-stream": "2.3.4" + "readable-stream": "2.3.6" } }, "argparse": { @@ -533,14 +533,6 @@ "dev": true, "requires": { "lodash": "4.17.5" - }, - "dependencies": { - "lodash": { - "version": "4.17.5", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", - "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==", - "dev": true - } } }, "async-each": { @@ -574,7 +566,7 @@ "dev": true, "requires": { "browserslist": "3.2.4", - "caniuse-lite": "1.0.30000823", + "caniuse-lite": "1.0.30000824", "normalize-range": "0.1.2", "num2fraction": "1.2.2", "postcss": "6.0.21", @@ -597,15 +589,6 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true - }, - "supports-color": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", - "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", - "dev": true, - "requires": { - "has-flag": "3.0.0" - } } } }, @@ -616,9 +599,9 @@ "dev": true }, "aws4": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", - "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.7.0.tgz", + "integrity": "sha512-32NDda82rhwD9/JBCCkB+MRYDp0oSvlo2IL6rQWA10PQi7tDUM3eqMSltXmY+Oyl/7N3P3qNtAlv7X0d9bI28w==", "dev": true }, "babel-code-frame": { @@ -684,14 +667,6 @@ "private": "0.1.8", "slash": "1.0.0", "source-map": "0.5.7" - }, - "dependencies": { - "lodash": { - "version": "4.17.5", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", - "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==", - "dev": true - } } }, "babel-generator": { @@ -708,14 +683,6 @@ "lodash": "4.17.5", "source-map": "0.5.7", "trim-right": "1.0.1" - }, - "dependencies": { - "lodash": { - "version": "4.17.5", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", - "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==", - "dev": true - } } }, "babel-helpers": { @@ -734,7 +701,7 @@ "integrity": "sha512-O0W2qLoWu1QOoOGgxiR2JID4O6WSpxPiQanrkyi9SSlM0PJ60Ptzlck47lhtnr9YZO3zYOsxHwnyeWJ6AffoBQ==", "dev": true, "requires": { - "babel-plugin-istanbul": "4.1.5", + "babel-plugin-istanbul": "4.1.6", "babel-preset-jest": "21.2.0" } }, @@ -748,14 +715,15 @@ } }, "babel-plugin-istanbul": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.5.tgz", - "integrity": "sha1-Z2DN2Xf0EdPhdbsGTyvDJ9mbK24=", + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.6.tgz", + "integrity": "sha512-PWP9FQ1AhZhS01T/4qLSKoHGY/xvkZdVBGlKM/HuxxS3+sC66HhTNR7+MpbO/so/cz/wY94MeSWJuP1hXIPfwQ==", "dev": true, "requires": { + "babel-plugin-syntax-object-rest-spread": "6.13.0", "find-up": "2.1.0", - "istanbul-lib-instrument": "1.9.2", - "test-exclude": "4.2.0" + "istanbul-lib-instrument": "1.10.1", + "test-exclude": "4.2.1" }, "dependencies": { "find-up": { @@ -799,19 +767,11 @@ "requires": { "babel-core": "6.26.0", "babel-runtime": "6.26.0", - "core-js": "2.5.3", + "core-js": "2.5.5", "home-or-tmp": "2.0.0", "lodash": "4.17.5", "mkdirp": "0.5.1", "source-map-support": "0.4.18" - }, - "dependencies": { - "lodash": { - "version": "4.17.5", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", - "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==", - "dev": true - } } }, "babel-runtime": { @@ -820,7 +780,7 @@ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "dev": true, "requires": { - "core-js": "2.5.3", + "core-js": "2.5.5", "regenerator-runtime": "0.11.1" } }, @@ -835,14 +795,6 @@ "babel-types": "6.26.0", "babylon": "6.18.0", "lodash": "4.17.5" - }, - "dependencies": { - "lodash": { - "version": "4.17.5", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", - "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==", - "dev": true - } } }, "babel-traverse": { @@ -858,16 +810,8 @@ "babylon": "6.18.0", "debug": "2.6.9", "globals": "9.18.0", - "invariant": "2.2.3", + "invariant": "2.2.4", "lodash": "4.17.5" - }, - "dependencies": { - "lodash": { - "version": "4.17.5", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", - "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==", - "dev": true - } } }, "babel-types": { @@ -880,14 +824,6 @@ "esutils": "2.0.2", "lodash": "4.17.5", "to-fast-properties": "1.0.3" - }, - "dependencies": { - "lodash": { - "version": "4.17.5", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", - "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==", - "dev": true - } } }, "babylon": { @@ -1250,7 +1186,7 @@ "integrity": "sha512-Dwe62y/fNAcMfknzGJnkh7feISrrN0SmRvMFozb+Y2+qg7rfTIH5MS8yHzaIXcEWl8fPeIcdhZNQi1Lux+7dlg==", "dev": true, "requires": { - "caniuse-lite": "1.0.30000823", + "caniuse-lite": "1.0.30000824", "electron-to-chromium": "1.3.42" } }, @@ -1269,6 +1205,12 @@ "integrity": "sha1-8mNHuC33b9N+GLy1KIxJcM/VxAQ=", "dev": true }, + "buffer-from": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.0.0.tgz", + "integrity": "sha512-83apNb8KK0Se60UE1+4Ukbe3HbfELJ6UlI4ldtOGs7So4KD26orJM8hIY9lxdzP+UpItH1Yh/Y8GUvNFWFFRxA==", + "dev": true + }, "buffer-xor": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", @@ -1276,9 +1218,9 @@ "dev": true }, "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-2.0.0.tgz", + "integrity": "sha512-3U5kUA5VPsRUA3nofm/BXX7GVHKfxz0hOBAPxXrIvHzlDRkQVqEn6yi8QJegxl4LzOHLdvb7XF5dVawa/VVYBg==", "dev": true }, "bytes": { @@ -1344,9 +1286,9 @@ } }, "caniuse-lite": { - "version": "1.0.30000823", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000823.tgz", - "integrity": "sha512-3rrhqUxwBgrwNlWVUEwIJfqdZNwLPX18eTo7MGXb3gueDpbOFW6w5OXyHscdBd6IJcu9wnKmKVd7nSl+r7fmgw==", + "version": "1.0.30000824", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000824.tgz", + "integrity": "sha512-KcgeAvVkpzN05Mjiyz5vf0le5AWRwfRGqGkKXWWsdrLQd4EIBevReSy7mYCdwSq7MqKrmJ0lEQEkUQE2VspRRw==", "dev": true }, "capture-stack-trace": { @@ -1370,15 +1312,6 @@ "requires": { "align-text": "0.1.4", "lazy-cache": "1.0.4" - }, - "dependencies": { - "lazy-cache": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", - "dev": true, - "optional": true - } } }, "chai": { @@ -1404,26 +1337,6 @@ "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", "supports-color": "5.3.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "1.9.1" - } - }, - "supports-color": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", - "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", - "dev": true, - "requires": { - "has-flag": "3.0.0" - } - } } }, "chardet": { @@ -1468,13 +1381,13 @@ "extract-zip": "1.6.6", "kew": "0.7.0", "mkdirp": "0.5.1", - "request": "2.83.0" + "request": "2.85.0" } }, "ci-info": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.1.2.tgz", - "integrity": "sha512-uTGIPNx/nSpBdsF6xnseRXLLtfr9VLqkz8ZqHXr3Y7b6SftyRxBGjwMtJj1OhNbmlc1wZzLNAlAcvyIiE8a6ZA==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.1.3.tgz", + "integrity": "sha512-SK/846h/Rcy8q9Z9CAwGBLfCJ6EkjJWdpelWDufQpqVDYq2Wnnv8zlSO6AMQap02jvhVruKKpEtQOufo3pFhLg==", "dev": true }, "cipher-base": { @@ -1631,6 +1544,12 @@ "babel-runtime": "6.26.0" } }, + "compare-versions": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.1.0.tgz", + "integrity": "sha512-4hAxDSBypT/yp2ySFD346So6Ragw5xmBn/e/agIGl3bZr6DLUqnoRZPusxKrXdYRZpgexO9daejmIenlq/wrIQ==", + "dev": true + }, "component-emitter": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", @@ -1644,20 +1563,21 @@ "dev": true }, "concat-stream": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", - "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, "requires": { + "buffer-from": "1.0.0", "inherits": "2.0.3", - "readable-stream": "2.3.4", + "readable-stream": "2.3.6", "typedarray": "0.0.6" } }, "configstore": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.1.tgz", - "integrity": "sha512-5oNkD/L++l0O6xGXxb1EWS7SivtjfGQlRyxJsYgE0Z495/L81e2h4/d3r969hoPXuFItzNOKMtsXgYG4c7dYvw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz", + "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", "dev": true, "requires": { "dot-prop": "4.2.0", @@ -1699,9 +1619,9 @@ "dev": true }, "core-js": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz", - "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=", + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.5.tgz", + "integrity": "sha1-sU3ek2xkDAV5prUMq8wTLdYSfjs=", "dev": true }, "core-util-is": { @@ -1761,7 +1681,7 @@ "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", "dev": true, "requires": { - "lru-cache": "4.1.1", + "lru-cache": "4.1.2", "which": "1.3.0" } }, @@ -1840,7 +1760,7 @@ "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", "dev": true, "requires": { - "es5-ext": "0.10.39" + "es5-ext": "0.10.42" } }, "dashdash": { @@ -1977,7 +1897,7 @@ "requires": { "globby": "6.1.0", "is-path-cwd": "1.0.0", - "is-path-in-cwd": "1.0.0", + "is-path-in-cwd": "1.0.1", "p-map": "1.2.0", "pify": "3.0.0", "rimraf": "2.6.2" @@ -2023,9 +1943,9 @@ } }, "diff": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.4.0.tgz", - "integrity": "sha512-QpVuMTEoJMF7cKzi6bvWhRulU1fZqZnvyVQgNhPaxxuTYwyjn/j1v9falseQ/uXWwPnO56RBfwtg4h/EQXmucA==", + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", "dev": true }, "diffie-hellman": { @@ -2159,13 +2079,14 @@ } }, "es5-ext": { - "version": "0.10.39", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.39.tgz", - "integrity": "sha512-AlaXZhPHl0po/uxMx1tyrlt1O86M6D5iVaDH8UgLfgek4kXTX6vzsRfJQWC2Ku+aG8pkw1XWzh9eTkwfVrsD5g==", + "version": "0.10.42", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.42.tgz", + "integrity": "sha512-AJxO1rmPe1bDEfSR6TJ/FgMFYuTBhR5R57KW58iCkYACMyFbrkqVyzXSurYoScDGvgyMpk7uRF/lPUPPTmsRSA==", "dev": true, "requires": { "es6-iterator": "2.0.3", - "es6-symbol": "3.1.1" + "es6-symbol": "3.1.1", + "next-tick": "1.0.0" } }, "es6-iterator": { @@ -2175,7 +2096,7 @@ "dev": true, "requires": { "d": "1.0.0", - "es5-ext": "0.10.39", + "es5-ext": "0.10.42", "es6-symbol": "3.1.1" } }, @@ -2186,7 +2107,7 @@ "dev": true, "requires": { "d": "1.0.0", - "es5-ext": "0.10.39", + "es5-ext": "0.10.42", "es6-iterator": "2.0.3", "es6-set": "0.1.5", "es6-symbol": "3.1.1", @@ -2206,7 +2127,7 @@ "dev": true, "requires": { "d": "1.0.0", - "es5-ext": "0.10.39", + "es5-ext": "0.10.42", "es6-iterator": "2.0.3", "es6-symbol": "3.1.1", "event-emitter": "0.3.5" @@ -2219,7 +2140,7 @@ "dev": true, "requires": { "d": "1.0.0", - "es5-ext": "0.10.39" + "es5-ext": "0.10.42" } }, "es6-weak-map": { @@ -2229,7 +2150,7 @@ "dev": true, "requires": { "d": "1.0.0", - "es5-ext": "0.10.39", + "es5-ext": "0.10.42", "es6-iterator": "2.0.3", "es6-symbol": "3.1.1" } @@ -2241,16 +2162,25 @@ "dev": true }, "escodegen": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.0.tgz", - "integrity": "sha512-v0MYvNQ32bzwoG2OSFzWAkuahDQHK92JBN0pTAALJ4RIxEZe766QJPDR8Hqy7XNUy5K3fnVL76OqYAdc4TZEIw==", + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.1.tgz", + "integrity": "sha512-6hTjO1NAWkHnDk3OqQ4YrCuwwmGHL9S3nPlzBOUG/R44rda3wLNrfvQ5fkSGjyhHFKM7ALPKcKGrwvCLe0lC7Q==", "dev": true, "requires": { "esprima": "3.1.3", "estraverse": "4.2.0", "esutils": "2.0.2", "optionator": "0.8.2", - "source-map": "0.5.7" + "source-map": "0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true + } } }, "escope": { @@ -2261,7 +2191,7 @@ "requires": { "es6-map": "0.1.5", "es6-weak-map": "2.0.2", - "esrecurse": "4.2.0", + "esrecurse": "4.2.1", "estraverse": "4.2.0" } }, @@ -2272,12 +2202,12 @@ "dev": true, "requires": { "chalk": "1.1.3", - "concat-stream": "1.6.0", + "concat-stream": "1.6.2", "debug": "2.6.9", "doctrine": "1.5.0", "es6-map": "0.1.5", "escope": "3.6.0", - "espree": "3.5.3", + "espree": "3.5.4", "estraverse": "4.2.0", "esutils": "2.0.2", "file-entry-cache": "1.3.1", @@ -2288,7 +2218,7 @@ "inquirer": "0.12.0", "is-my-json-valid": "2.17.2", "is-resolvable": "1.1.0", - "js-yaml": "3.10.0", + "js-yaml": "3.11.0", "json-stable-stringify": "1.0.1", "levn": "0.3.0", "lodash": "4.17.5", @@ -2371,15 +2301,9 @@ "through": "2.3.8" } }, - "lodash": { - "version": "4.17.5", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", - "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==", - "dev": true - }, "onetime": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", + "resolved": "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", "dev": true }, @@ -2423,12 +2347,12 @@ } }, "espree": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.3.tgz", - "integrity": "sha512-Zy3tAJDORxQZLl2baguiRU1syPERAIg0L+JB2MWorORgTu/CplzvxS9WWA7Xh4+Q+eOQihNs/1o1Xep8cvCxWQ==", + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz", + "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", "dev": true, "requires": { - "acorn": "5.4.1", + "acorn": "5.5.3", "acorn-jsx": "3.0.1" } }, @@ -2439,13 +2363,12 @@ "dev": true }, "esrecurse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", - "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", "dev": true, "requires": { - "estraverse": "4.2.0", - "object-assign": "4.1.1" + "estraverse": "4.2.0" } }, "estraverse": { @@ -2473,7 +2396,7 @@ "dev": true, "requires": { "d": "1.0.0", - "es5-ext": "0.10.39" + "es5-ext": "0.10.42" } }, "evp_bytestokey": { @@ -2516,7 +2439,7 @@ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { - "lru-cache": "4.1.1", + "lru-cache": "4.1.2", "shebang-command": "1.2.0", "which": "1.3.0" } @@ -2621,7 +2544,7 @@ "integrity": "sha512-orfQQqFRTX0jH7znRIGi8ZMR8kTNpXklTTz8+HGTpmTKZo3Occ6JNB5FXMb8cRuiiC/GyDqsr30zUa66ACYlYw==", "dev": true, "requires": { - "ansi-styles": "3.2.0", + "ansi-styles": "3.2.1", "jest-diff": "21.2.1", "jest-get-type": "21.2.0", "jest-matcher-utils": "21.2.1", @@ -2657,9 +2580,9 @@ } }, "external-editor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.1.0.tgz", - "integrity": "sha512-E44iT5QVOUJBKij4IIV3uvxuNlbKS38Tw1HiupxEIHPv9qtC2PrDYohbXV5U+1jnfIXttny8gUhj+oZvflFlzA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", + "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", "dev": true, "requires": { "chardet": "0.4.2", @@ -2744,6 +2667,17 @@ "yauzl": "2.4.1" }, "dependencies": { + "concat-stream": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", + "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "typedarray": "0.0.6" + } + }, "minimist": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", @@ -2768,9 +2702,9 @@ "dev": true }, "fast-deep-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz", - "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", "dev": true }, "fast-json-stable-stringify": { @@ -2900,7 +2834,7 @@ "requires": { "globby": "5.0.0", "is-path-cwd": "1.0.0", - "is-path-in-cwd": "1.0.0", + "is-path-in-cwd": "1.0.1", "object-assign": "4.1.1", "pify": "2.3.0", "pinkie-promise": "2.0.1", @@ -2976,7 +2910,7 @@ "integrity": "sha1-91mDufL0E75ljJPf172M5AePXNs=", "dev": true, "requires": { - "js-yaml": "3.10.0" + "js-yaml": "3.11.0" } }, "fs-extra": { @@ -3003,21 +2937,19 @@ "dev": true, "optional": true, "requires": { - "nan": "2.9.2", + "nan": "2.10.0", "node-pre-gyp": "0.6.39" }, "dependencies": { "abbrev": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz", - "integrity": "sha1-0FVMIlZjbi9W58LlrRg/hZQo2B8=", + "bundled": true, "dev": true, "optional": true }, "ajv": { "version": "4.11.8", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", - "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3027,21 +2959,18 @@ }, "ansi-regex": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "bundled": true, "dev": true }, "aproba": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.1.1.tgz", - "integrity": "sha1-ldNgDwdxCqDpKYxyatXs8urLq6s=", + "bundled": true, "dev": true, "optional": true }, "are-we-there-yet": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", - "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3051,49 +2980,42 @@ }, "asn1": { "version": "0.2.3", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", - "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", + "bundled": true, "dev": true, "optional": true }, "assert-plus": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", - "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", + "bundled": true, "dev": true, "optional": true }, "asynckit": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "bundled": true, "dev": true, "optional": true }, "aws-sign2": { "version": "0.6.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", - "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", + "bundled": true, "dev": true, "optional": true }, "aws4": { "version": "1.6.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", - "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", + "bundled": true, "dev": true, "optional": true }, "balanced-match": { "version": "0.4.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", - "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", + "bundled": true, "dev": true }, "bcrypt-pbkdf": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", - "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3102,8 +3024,7 @@ }, "block-stream": { "version": "0.0.9", - "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", - "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "bundled": true, "dev": true, "requires": { "inherits": "2.0.3" @@ -3111,8 +3032,7 @@ }, "boom": { "version": "2.10.1", - "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", - "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", + "bundled": true, "dev": true, "requires": { "hoek": "2.16.3" @@ -3120,8 +3040,7 @@ }, "brace-expansion": { "version": "1.1.7", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.7.tgz", - "integrity": "sha1-Pv/DxQ4ABTH7cg6v+A8K6O8jz1k=", + "bundled": true, "dev": true, "requires": { "balanced-match": "0.4.2", @@ -3130,34 +3049,29 @@ }, "buffer-shims": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", - "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=", + "bundled": true, "dev": true }, "caseless": { "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "bundled": true, "dev": true, "optional": true }, "co": { "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "bundled": true, "dev": true, "optional": true }, "code-point-at": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "bundled": true, "dev": true }, "combined-stream": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", - "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", + "bundled": true, "dev": true, "requires": { "delayed-stream": "1.0.0" @@ -3165,26 +3079,22 @@ }, "concat-map": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "bundled": true, "dev": true }, "console-control-strings": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "bundled": true, "dev": true }, "core-util-is": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "bundled": true, "dev": true }, "cryptiles": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", - "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", + "bundled": true, "dev": true, "requires": { "boom": "2.10.1" @@ -3192,8 +3102,7 @@ }, "dashdash": { "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3202,8 +3111,7 @@ "dependencies": { "assert-plus": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "bundled": true, "dev": true, "optional": true } @@ -3211,8 +3119,7 @@ }, "debug": { "version": "2.6.8", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", - "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3221,35 +3128,30 @@ }, "deep-extend": { "version": "0.4.2", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz", - "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=", + "bundled": true, "dev": true, "optional": true }, "delayed-stream": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "bundled": true, "dev": true }, "delegates": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "bundled": true, "dev": true, "optional": true }, "detect-libc": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.2.tgz", - "integrity": "sha1-ca1dIEvxempsqPRQxhRUBm70YeE=", + "bundled": true, "dev": true, "optional": true }, "ecc-jsbn": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", - "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3258,28 +3160,24 @@ }, "extend": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", - "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", + "bundled": true, "dev": true, "optional": true }, "extsprintf": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz", - "integrity": "sha1-4QgOBljjALBilJkMxw4VAiNf1VA=", + "bundled": true, "dev": true }, "forever-agent": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "bundled": true, "dev": true, "optional": true }, "form-data": { "version": "2.1.4", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", - "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3290,14 +3188,12 @@ }, "fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "bundled": true, "dev": true }, "fstream": { "version": "1.0.11", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", - "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", + "bundled": true, "dev": true, "requires": { "graceful-fs": "4.1.11", @@ -3308,8 +3204,7 @@ }, "fstream-ignore": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz", - "integrity": "sha1-nDHa40dnAY/h0kmyTa2mfQktoQU=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3320,8 +3215,7 @@ }, "gauge": { "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3337,8 +3231,7 @@ }, "getpass": { "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3347,8 +3240,7 @@ "dependencies": { "assert-plus": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "bundled": true, "dev": true, "optional": true } @@ -3356,8 +3248,7 @@ }, "glob": { "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "bundled": true, "dev": true, "requires": { "fs.realpath": "1.0.0", @@ -3370,21 +3261,18 @@ }, "graceful-fs": { "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "bundled": true, "dev": true }, "har-schema": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", - "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=", + "bundled": true, "dev": true, "optional": true }, "har-validator": { "version": "4.2.1", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", - "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3394,15 +3282,13 @@ }, "has-unicode": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "bundled": true, "dev": true, "optional": true }, "hawk": { "version": "3.1.3", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", - "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", + "bundled": true, "dev": true, "requires": { "boom": "2.10.1", @@ -3413,14 +3299,12 @@ }, "hoek": { "version": "2.16.3", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", - "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", + "bundled": true, "dev": true }, "http-signature": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", - "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3431,8 +3315,7 @@ }, "inflight": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "bundled": true, "dev": true, "requires": { "once": "1.4.0", @@ -3441,21 +3324,18 @@ }, "inherits": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "bundled": true, "dev": true }, "ini": { "version": "1.3.4", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz", - "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=", + "bundled": true, "dev": true, "optional": true }, "is-fullwidth-code-point": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "bundled": true, "dev": true, "requires": { "number-is-nan": "1.0.1" @@ -3463,28 +3343,24 @@ }, "is-typedarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "bundled": true, "dev": true, "optional": true }, "isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "bundled": true, "dev": true }, "isstream": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "bundled": true, "dev": true, "optional": true }, "jodid25519": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz", - "integrity": "sha1-BtSRIlUJNBlHfUJWM2BuDpB4KWc=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3493,22 +3369,19 @@ }, "jsbn": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "bundled": true, "dev": true, "optional": true }, "json-schema": { "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "bundled": true, "dev": true, "optional": true }, "json-stable-stringify": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3517,22 +3390,19 @@ }, "json-stringify-safe": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "bundled": true, "dev": true, "optional": true }, "jsonify": { "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "bundled": true, "dev": true, "optional": true }, "jsprim": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.0.tgz", - "integrity": "sha1-o7h+QCmNjDgFUtjMdiigu5WiKRg=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3544,8 +3414,7 @@ "dependencies": { "assert-plus": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "bundled": true, "dev": true, "optional": true } @@ -3553,14 +3422,12 @@ }, "mime-db": { "version": "1.27.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.27.0.tgz", - "integrity": "sha1-gg9XIpa70g7CXtVeW13oaeVDbrE=", + "bundled": true, "dev": true }, "mime-types": { "version": "2.1.15", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz", - "integrity": "sha1-pOv1BkCUVpI3uM9wBGd20J/JKu0=", + "bundled": true, "dev": true, "requires": { "mime-db": "1.27.0" @@ -3568,8 +3435,7 @@ }, "minimatch": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "bundled": true, "dev": true, "requires": { "brace-expansion": "1.1.7" @@ -3577,14 +3443,12 @@ }, "minimist": { "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "bundled": true, "dev": true }, "mkdirp": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "bundled": true, "dev": true, "requires": { "minimist": "0.0.8" @@ -3592,15 +3456,13 @@ }, "ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "bundled": true, "dev": true, "optional": true }, "node-pre-gyp": { "version": "0.6.39", - "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz", - "integrity": "sha512-OsJV74qxnvz/AMGgcfZoDaeDXKD3oY3QVIbBmwszTFkRisTSXbMQyn4UWzUMOtA5SVhrBZOTp0wcoSBgfMfMmQ==", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3619,8 +3481,7 @@ }, "nopt": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", - "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3630,8 +3491,7 @@ }, "npmlog": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.0.tgz", - "integrity": "sha512-ocolIkZYZt8UveuiDS0yAkkIjid1o7lPG8cYm05yNYzBn8ykQtaiPMEGp8fY9tKdDgm8okpdKzkvu1y9hUYugA==", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3643,28 +3503,24 @@ }, "number-is-nan": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "bundled": true, "dev": true }, "oauth-sign": { "version": "0.8.2", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", - "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", + "bundled": true, "dev": true, "optional": true }, "object-assign": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "bundled": true, "dev": true, "optional": true }, "once": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "bundled": true, "dev": true, "requires": { "wrappy": "1.0.2" @@ -3672,22 +3528,19 @@ }, "os-homedir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "bundled": true, "dev": true, "optional": true }, "os-tmpdir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "bundled": true, "dev": true, "optional": true }, "osenv": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz", - "integrity": "sha1-Qv5tWVPfBsgGS+bxdsPQWqqjRkQ=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3697,41 +3550,35 @@ }, "path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "bundled": true, "dev": true }, "performance-now": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", - "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=", + "bundled": true, "dev": true, "optional": true }, "process-nextick-args": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "bundled": true, "dev": true }, "punycode": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "bundled": true, "dev": true, "optional": true }, "qs": { "version": "6.4.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", - "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=", + "bundled": true, "dev": true, "optional": true }, "rc": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.1.tgz", - "integrity": "sha1-LgPo5C7kULjLPc5lvhv4l04d/ZU=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3743,8 +3590,7 @@ "dependencies": { "minimist": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "bundled": true, "dev": true, "optional": true } @@ -3752,8 +3598,7 @@ }, "readable-stream": { "version": "2.2.9", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.9.tgz", - "integrity": "sha1-z3jsb0ptHrQ9JkiMrJfwQudLf8g=", + "bundled": true, "dev": true, "requires": { "buffer-shims": "1.0.0", @@ -3767,8 +3612,7 @@ }, "request": { "version": "2.81.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", - "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3798,8 +3642,7 @@ }, "rimraf": { "version": "2.6.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", - "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", + "bundled": true, "dev": true, "requires": { "glob": "7.1.2" @@ -3807,35 +3650,30 @@ }, "safe-buffer": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz", - "integrity": "sha1-0mPKVGls2KMGtcplUekt5XkY++c=", + "bundled": true, "dev": true }, "semver": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", - "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "bundled": true, "dev": true, "optional": true }, "set-blocking": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "bundled": true, "dev": true, "optional": true }, "signal-exit": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "bundled": true, "dev": true, "optional": true }, "sntp": { "version": "1.0.9", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", - "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", + "bundled": true, "dev": true, "requires": { "hoek": "2.16.3" @@ -3843,8 +3681,7 @@ }, "sshpk": { "version": "1.13.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.0.tgz", - "integrity": "sha1-/yo+T9BEl1Vf7Zezmg/YL6+zozw=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3861,8 +3698,7 @@ "dependencies": { "assert-plus": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "bundled": true, "dev": true, "optional": true } @@ -3870,8 +3706,7 @@ }, "string-width": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "bundled": true, "dev": true, "requires": { "code-point-at": "1.1.0", @@ -3881,8 +3716,7 @@ }, "string_decoder": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz", - "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=", + "bundled": true, "dev": true, "requires": { "safe-buffer": "5.0.1" @@ -3890,15 +3724,13 @@ }, "stringstream": { "version": "0.0.5", - "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", - "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", + "bundled": true, "dev": true, "optional": true }, "strip-ansi": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "bundled": true, "dev": true, "requires": { "ansi-regex": "2.1.1" @@ -3906,15 +3738,13 @@ }, "strip-json-comments": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "bundled": true, "dev": true, "optional": true }, "tar": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", - "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", + "bundled": true, "dev": true, "requires": { "block-stream": "0.0.9", @@ -3924,8 +3754,7 @@ }, "tar-pack": { "version": "3.4.0", - "resolved": "https://registry.npmjs.org/tar-pack/-/tar-pack-3.4.0.tgz", - "integrity": "sha1-I74tf2cagzk3bL2wuP4/3r8xeYQ=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3941,8 +3770,7 @@ }, "tough-cookie": { "version": "2.3.2", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz", - "integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3951,8 +3779,7 @@ }, "tunnel-agent": { "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3961,35 +3788,30 @@ }, "tweetnacl": { "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "bundled": true, "dev": true, "optional": true }, "uid-number": { "version": "0.0.6", - "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz", - "integrity": "sha1-DqEOgDXo61uOREnwbaHHMGY7qoE=", + "bundled": true, "dev": true, "optional": true }, "util-deprecate": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "bundled": true, "dev": true }, "uuid": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz", - "integrity": "sha1-ZUS7ot/ajBzxfmKaOjBeK7H+5sE=", + "bundled": true, "dev": true, "optional": true }, "verror": { "version": "1.3.6", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz", - "integrity": "sha1-z/XfEpRtKX0rqu+qJoniW+AcAFw=", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -3998,8 +3820,7 @@ }, "wide-align": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", - "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", + "bundled": true, "dev": true, "optional": true, "requires": { @@ -4008,8 +3829,7 @@ }, "wrappy": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "bundled": true, "dev": true } } @@ -4254,14 +4074,6 @@ "glob": "7.1.2", "lodash": "4.17.5", "minimatch": "3.0.4" - }, - "dependencies": { - "lodash": { - "version": "4.17.5", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", - "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==", - "dev": true - } } }, "gonzales-pe-sl": { @@ -4293,7 +4105,7 @@ "is-redirect": "1.0.0", "is-retry-allowed": "1.1.0", "is-stream": "1.1.0", - "lowercase-keys": "1.0.0", + "lowercase-keys": "1.0.1", "safe-buffer": "5.1.1", "timed-out": "4.0.1", "unzip-response": "2.0.1", @@ -4547,9 +4359,9 @@ } }, "hosted-git-info": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz", - "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz", + "integrity": "sha512-lIbgIIQA3lz5XaB6vxakj6sDHADJiZadYEJB+FgA+C4nubM1NwcuvUr9EJPmnH1skZqpqUzWborWo8EIUi0Sdw==", "dev": true }, "html-encoding-sniffer": { @@ -4575,7 +4387,7 @@ "requires": { "assert-plus": "1.0.0", "jsprim": "1.4.1", - "sshpk": "1.13.1" + "sshpk": "1.14.1" } }, "hyperlinker": { @@ -4669,11 +4481,11 @@ "integrity": "sha512-E9BmnJbAKLPGonz0HeWHtbKf+EeSP93paWO3ZYoUpq/aowXvYGjjCSuashhXPpzbArIjBbji39THkxTz9ZeEUQ==", "dev": true, "requires": { - "ansi-escapes": "3.0.0", + "ansi-escapes": "3.1.0", "chalk": "2.3.2", "cli-cursor": "2.1.0", "cli-width": "2.2.0", - "external-editor": "2.1.0", + "external-editor": "2.2.0", "figures": "2.0.0", "lodash": "4.17.5", "mute-stream": "0.0.7", @@ -4696,21 +4508,6 @@ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, - "lodash": { - "version": "4.17.5", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", - "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==", - "dev": true - }, - "rxjs": { - "version": "5.5.8", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.8.tgz", - "integrity": "sha512-Bz7qou7VAIoGiglJZbzbXa4vpX5BmTTN2Dj/se6+SwADtw4SihqBIiEa7VmTXJ8pynvq0iFr5Gx9VLyye1rIxQ==", - "dev": true, - "requires": { - "symbol-observable": "1.0.1" - } - }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", @@ -4729,19 +4526,13 @@ "requires": { "ansi-regex": "3.0.0" } - }, - "symbol-observable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", - "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=", - "dev": true } } }, "invariant": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.3.tgz", - "integrity": "sha512-7Z5PPegwDTyjbaeCnV0efcyS6vdKAU51kpEmS7QFib3P4822l8ICYyMn7qvJnc+WzLoDsuI9gPMKbJ8pCu8XtA==", + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "dev": true, "requires": { "loose-envify": "1.3.1" @@ -4812,6 +4603,14 @@ "dev": true, "requires": { "builtin-modules": "1.1.1" + }, + "dependencies": { + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true + } } }, "is-ci": { @@ -4820,7 +4619,7 @@ "integrity": "sha512-c7TnwxLePuqIlxHgr7xtxzycJPegNHFuIrBkwbf8hc58//+Op1CqFkyS+xnIMkwn9UsJIwc174BIjkyBmSpjKg==", "dev": true, "requires": { - "ci-info": "1.1.2" + "ci-info": "1.1.3" } }, "is-data-descriptor": { @@ -5038,9 +4837,9 @@ "dev": true }, "is-path-in-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz", - "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", + "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", "dev": true, "requires": { "is-path-inside": "1.0.1" @@ -5196,43 +4995,68 @@ "dev": true }, "istanbul-api": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.2.2.tgz", - "integrity": "sha512-kH5YRdqdbs5hiH4/Rr1Q0cSAGgjh3jTtg8vu9NLebBAoK3adVO4jk81J+TYOkTr2+Q4NLeb1ACvmEt65iG/Vbw==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.3.1.tgz", + "integrity": "sha512-duj6AlLcsWNwUpfyfHt0nWIeRiZpuShnP40YTxOGQgtaN8fd6JYSxsvxUphTDy8V5MfDXo4s/xVCIIvVCO808g==", "dev": true, "requires": { "async": "2.6.0", + "compare-versions": "3.1.0", "fileset": "2.0.3", - "istanbul-lib-coverage": "1.1.2", - "istanbul-lib-hook": "1.1.0", - "istanbul-lib-instrument": "1.9.2", - "istanbul-lib-report": "1.1.3", - "istanbul-lib-source-maps": "1.2.3", - "istanbul-reports": "1.1.4", - "js-yaml": "3.10.0", + "istanbul-lib-coverage": "1.2.0", + "istanbul-lib-hook": "1.2.0", + "istanbul-lib-instrument": "1.10.1", + "istanbul-lib-report": "1.1.4", + "istanbul-lib-source-maps": "1.2.4", + "istanbul-reports": "1.3.0", + "js-yaml": "3.11.0", "mkdirp": "0.5.1", "once": "1.4.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "istanbul-lib-source-maps": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.4.tgz", + "integrity": "sha512-UzuK0g1wyQijiaYQxj/CdNycFhAd2TLtO2obKQMTZrZ1jzEMRY3rvpASEKkaxbRR6brvdovfA03znPa/pXcejg==", + "dev": true, + "requires": { + "debug": "3.1.0", + "istanbul-lib-coverage": "1.2.0", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "source-map": "0.5.7" + } + } } }, "istanbul-lib-coverage": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.2.tgz", - "integrity": "sha512-tZYA0v5A7qBSsOzcebJJ/z3lk3oSzH62puG78DbBA1+zupipX2CakDyiPV3pOb8He+jBwVimuwB0dTnh38hX0w==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.0.tgz", + "integrity": "sha512-GvgM/uXRwm+gLlvkWHTjDAvwynZkL9ns15calTrmhGgowlwJBbWMYzWbKqE2DT6JDP1AFXKa+Zi0EkqNCUqY0A==", "dev": true }, "istanbul-lib-hook": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.1.0.tgz", - "integrity": "sha512-U3qEgwVDUerZ0bt8cfl3dSP3S6opBoOtk3ROO5f2EfBr/SRiD9FQqzwaZBqFORu8W7O0EXpai+k7kxHK13beRg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.2.0.tgz", + "integrity": "sha512-p3En6/oGkFQV55Up8ZPC2oLxvgSxD8CzA0yBrhRZSh3pfv3OFj9aSGVC0yoerAi/O4u7jUVnOGVX1eVFM+0tmQ==", "dev": true, "requires": { "append-transform": "0.4.0" } }, "istanbul-lib-instrument": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.9.2.tgz", - "integrity": "sha512-nz8t4HQ2206a/3AXi+NHFWEa844DMpPsgbcUteJbt1j8LX1xg56H9rOMnhvcvVvPbW60qAIyrSk44H8ZDqaSSA==", + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.1.tgz", + "integrity": "sha512-1dYuzkOCbuR5GRJqySuZdsmsNKPL3PTuyPevQfoCXJePT9C8y1ga75neU+Tuy9+yS3G/dgx8wgOmp2KLpgdoeQ==", "dev": true, "requires": { "babel-generator": "6.26.1", @@ -5240,25 +5064,17 @@ "babel-traverse": "6.26.0", "babel-types": "6.26.0", "babylon": "6.18.0", - "istanbul-lib-coverage": "1.1.2", + "istanbul-lib-coverage": "1.2.0", "semver": "5.5.0" - }, - "dependencies": { - "semver": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", - "dev": true - } } }, "istanbul-lib-report": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.3.tgz", - "integrity": "sha512-D4jVbMDtT2dPmloPJS/rmeP626N5Pr3Rp+SovrPn1+zPChGHcggd/0sL29jnbm4oK9W0wHjCRsdch9oLd7cm6g==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.4.tgz", + "integrity": "sha512-Azqvq5tT0U09nrncK3q82e/Zjkxa4tkFZv7E6VcqP0QCPn6oNljDPfrZEC/umNXds2t7b8sRJfs6Kmpzt8m2kA==", "dev": true, "requires": { - "istanbul-lib-coverage": "1.1.2", + "istanbul-lib-coverage": "1.2.0", "mkdirp": "0.5.1", "path-parse": "1.0.5", "supports-color": "3.2.3" @@ -5288,7 +5104,7 @@ "dev": true, "requires": { "debug": "3.1.0", - "istanbul-lib-coverage": "1.1.2", + "istanbul-lib-coverage": "1.2.0", "mkdirp": "0.5.1", "rimraf": "2.6.2", "source-map": "0.5.7" @@ -5306,9 +5122,9 @@ } }, "istanbul-reports": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.1.4.tgz", - "integrity": "sha512-DfSTVOTkuO+kRmbO8Gk650Wqm1WRGr6lrdi2EwDK1vxpS71vdlLd613EpzOKdIFioB5f/scJTjeWBnvd1FWejg==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.3.0.tgz", + "integrity": "sha512-y2Z2IMqE1gefWUaVjrBm0mSKvUkaBy9Vqz8iwr/r40Y9hBbIteH5wqHG/9DLTfJ9xUnUT2j7A3+VVJ6EaYBllA==", "dev": true, "requires": { "handlebars": "4.0.11" @@ -5367,11 +5183,26 @@ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { - "lru-cache": "4.1.1", + "lru-cache": "4.1.2", "shebang-command": "1.2.0", "which": "1.3.0" } }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "dev": true, + "requires": { + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" + } + }, "expand-brackets": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", @@ -5426,14 +5257,14 @@ "integrity": "sha512-T1BzrbFxDIW/LLYQqVfo94y/hhaj1NzVQkZgBumAC+sxbjMROI7VkihOdxNR758iYbQykL2ZOWUBurFgkQrzdg==", "dev": true, "requires": { - "ansi-escapes": "3.0.0", + "ansi-escapes": "3.1.0", "chalk": "2.3.2", "glob": "7.1.2", "graceful-fs": "4.1.11", "is-ci": "1.1.0", - "istanbul-api": "1.2.2", - "istanbul-lib-coverage": "1.1.2", - "istanbul-lib-instrument": "1.9.2", + "istanbul-api": "1.3.1", + "istanbul-lib-coverage": "1.2.0", + "istanbul-lib-instrument": "1.10.1", "istanbul-lib-source-maps": "1.2.3", "jest-changed-files": "21.2.0", "jest-config": "21.2.1", @@ -5453,7 +5284,7 @@ "string-length": "2.0.0", "strip-ansi": "4.0.0", "which": "1.3.0", - "worker-farm": "1.5.2", + "worker-farm": "1.6.0", "yargs": "9.0.1" } }, @@ -5516,23 +5347,6 @@ "execa": "0.7.0", "lcid": "1.0.0", "mem": "1.1.0" - }, - "dependencies": { - "execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "dev": true, - "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" - } - } } }, "path-type": { @@ -5677,7 +5491,7 @@ "dev": true, "requires": { "chalk": "2.3.2", - "diff": "3.4.0", + "diff": "3.5.0", "jest-get-type": "21.2.0", "pretty-format": "21.2.1" } @@ -5727,14 +5541,14 @@ "content-type-parser": "1.0.2", "cssom": "0.3.2", "cssstyle": "0.2.37", - "escodegen": "1.9.0", + "escodegen": "1.9.1", "html-encoding-sniffer": "1.0.2", - "nwmatcher": "1.4.3", + "nwmatcher": "1.4.4", "parse5": "1.5.1", - "request": "2.83.0", + "request": "2.85.0", "sax": "1.2.4", "symbol-tree": "3.2.2", - "tough-cookie": "2.3.3", + "tough-cookie": "2.3.4", "webidl-conversions": "4.0.2", "whatwg-encoding": "1.0.3", "whatwg-url": "4.8.0", @@ -5799,8 +5613,8 @@ "graceful-fs": "4.1.11", "jest-docblock": "21.2.0", "micromatch": "2.3.11", - "sane": "2.4.1", - "worker-farm": "1.5.2" + "sane": "2.5.0", + "worker-farm": "1.6.0" }, "dependencies": { "arr-diff": { @@ -6070,7 +5884,7 @@ "jest-util": "21.2.1", "pify": "3.0.0", "throat": "4.1.0", - "worker-farm": "1.5.2" + "worker-farm": "1.6.0" }, "dependencies": { "pify": { @@ -6089,7 +5903,7 @@ "requires": { "babel-core": "6.26.0", "babel-jest": "21.2.0", - "babel-plugin-istanbul": "4.1.5", + "babel-plugin-istanbul": "4.1.6", "chalk": "2.3.2", "convert-source-map": "1.5.1", "graceful-fs": "4.1.11", @@ -6150,11 +5964,26 @@ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { - "lru-cache": "4.1.1", + "lru-cache": "4.1.2", "shebang-command": "1.2.0", "which": "1.3.0" } }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "dev": true, + "requires": { + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" + } + }, "expand-brackets": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", @@ -6254,23 +6083,6 @@ "execa": "0.7.0", "lcid": "1.0.0", "mem": "1.1.0" - }, - "dependencies": { - "execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "dev": true, - "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" - } - } } }, "path-type": { @@ -6431,9 +6243,9 @@ "dev": true }, "js-yaml": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz", - "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==", + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.11.0.tgz", + "integrity": "sha512-saJstZWv7oNeOyBh3+Dx1qWzhW0+e6/8eDzo7p5rDFqxntSztloLtuKu+Ejhtq82jsilwOIZYsCz+lIjthg1Hw==", "dev": true, "requires": { "argparse": "1.0.10", @@ -6462,7 +6274,7 @@ "dev": true, "requires": { "abab": "1.0.4", - "acorn": "5.4.1", + "acorn": "5.5.3", "acorn-globals": "4.1.0", "array-equal": "1.0.0", "browser-process-hrtime": "0.1.2", @@ -6470,17 +6282,17 @@ "cssom": "0.3.2", "cssstyle": "0.2.37", "domexception": "1.0.1", - "escodegen": "1.9.0", + "escodegen": "1.9.1", "html-encoding-sniffer": "1.0.2", "left-pad": "1.3.0", - "nwmatcher": "1.4.3", + "nwmatcher": "1.4.4", "parse5": "3.0.3", "pn": "1.1.0", - "request": "2.83.0", + "request": "2.85.0", "request-promise-native": "1.0.5", "sax": "1.2.4", "symbol-tree": "3.2.2", - "tough-cookie": "2.3.3", + "tough-cookie": "2.3.4", "webidl-conversions": "4.0.2", "whatwg-encoding": "1.0.3", "whatwg-url": "6.4.0", @@ -6494,9 +6306,9 @@ "dev": true }, "json-parse-better-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.1.tgz", - "integrity": "sha512-xyQpxeWWMKyJps9CuGJYeng6ssI5bpqS9ltQpdVQ90t4ql6NdnxFKh95JcRt2cun/DjMVNrdjniLPuMA69xmCw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", "dev": true }, "json-schema": { @@ -6639,6 +6451,13 @@ "package-json": "4.0.1" } }, + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "dev": true, + "optional": true + }, "lcid": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", @@ -6697,7 +6516,7 @@ "integrity": "sha1-oArKmRnEpN+v3KaoEI0iWq3/Y7M=", "dev": true, "requires": { - "concat-stream": "1.6.0", + "concat-stream": "1.6.2", "errno": "0.1.7", "fwd-stream": "1.0.4", "level-blobs": "0.1.7", @@ -6900,7 +6719,7 @@ "log-update": "1.0.2", "ora": "0.2.3", "p-map": "1.2.0", - "rxjs": "5.4.3", + "rxjs": "5.5.8", "stream-to-observable": "0.2.0", "strip-ansi": "3.0.1" }, @@ -6934,15 +6753,6 @@ "object-assign": "4.1.1" } }, - "log-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", - "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", - "dev": true, - "requires": { - "chalk": "1.1.3" - } - }, "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", @@ -6958,7 +6768,7 @@ "dev": true, "requires": { "inquirer": "3.3.0", - "rxjs": "5.5.6", + "rxjs": "5.5.8", "through": "2.3.8" }, "dependencies": { @@ -6974,11 +6784,11 @@ "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", "dev": true, "requires": { - "ansi-escapes": "3.0.0", + "ansi-escapes": "3.1.0", "chalk": "2.3.2", "cli-cursor": "2.1.0", "cli-width": "2.2.0", - "external-editor": "2.1.0", + "external-editor": "2.2.0", "figures": "2.0.0", "lodash": "4.17.5", "mute-stream": "0.0.7", @@ -6996,21 +6806,6 @@ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, - "lodash": { - "version": "4.17.5", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", - "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==", - "dev": true - }, - "rxjs": { - "version": "5.5.6", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.6.tgz", - "integrity": "sha512-v4Q5HDC0FHAQ7zcBX7T2IL6O5ltl1a2GX4ENjPXg6SjDY69Cmx9v4113C99a4wGF16ClPv5Z8mghuYorVkg/kg==", - "dev": true, - "requires": { - "symbol-observable": "1.0.1" - } - }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", @@ -7029,12 +6824,6 @@ "requires": { "ansi-regex": "3.0.0" } - }, - "symbol-observable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", - "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=", - "dev": true } } }, @@ -7095,15 +6884,6 @@ "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", "dev": true }, - "log-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", - "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", - "dev": true, - "requires": { - "chalk": "1.1.3" - } - }, "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", @@ -7164,7 +6944,7 @@ }, "onetime": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", + "resolved": "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", "dev": true }, @@ -7291,12 +7071,39 @@ } }, "log-symbols": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", - "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", + "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", "dev": true, "requires": { - "chalk": "2.3.2" + "chalk": "1.1.3" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } } }, "log-update": { @@ -7326,7 +7133,7 @@ }, "onetime": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", + "resolved": "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", "dev": true }, @@ -7368,15 +7175,15 @@ } }, "lowercase-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", - "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", "dev": true }, "lru-cache": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", - "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.2.tgz", + "integrity": "sha512-wgeVXhrDwAWnIF/yZARsFnMBtdFXOg1b8RIrhilp+0iDYN4mdQcNZElDZ0e4B64BhaxeQ5zN7PMyvu7we1kPeQ==", "dev": true, "requires": { "pseudomap": "1.0.2", @@ -7702,9 +7509,9 @@ "dev": true }, "nan": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.9.2.tgz", - "integrity": "sha512-ltW65co7f3PQWBDbqVvaU1WtFJUsNW7sWWm4HINhbMQIyVyzIeyZ8toX5TC5eeooE6piZoaEh4cZkueSKG3KYw==", + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", + "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==", "dev": true }, "nanomatch": { @@ -7739,6 +7546,12 @@ "integrity": "sha1-ICl+idhvb2QA8lDZ9Pa0wZRfzTU=", "dev": true }, + "next-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", + "dev": true + }, "node-gyp": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.6.2.tgz", @@ -7753,7 +7566,7 @@ "nopt": "3.0.6", "npmlog": "4.1.2", "osenv": "0.1.5", - "request": "2.83.0", + "request": "2.85.0", "rimraf": "2.6.2", "semver": "5.3.0", "tar": "2.2.1", @@ -7784,14 +7597,6 @@ "semver": "5.5.0", "shellwords": "0.1.1", "which": "1.3.0" - }, - "dependencies": { - "semver": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", - "dev": true - } } }, "node-sass": { @@ -7812,7 +7617,7 @@ "lodash.mergewith": "4.6.1", "meow": "3.7.0", "mkdirp": "0.5.1", - "nan": "2.9.2", + "nan": "2.10.0", "node-gyp": "3.6.2", "npmlog": "4.1.2", "request": "2.79.0", @@ -7925,7 +7730,7 @@ "requires": { "assert-plus": "0.2.0", "jsprim": "1.4.1", - "sshpk": "1.13.1" + "sshpk": "1.14.1" } }, "qs": { @@ -7941,7 +7746,7 @@ "dev": true, "requires": { "aws-sign2": "0.6.0", - "aws4": "1.6.0", + "aws4": "1.7.0", "caseless": "0.11.0", "combined-stream": "1.0.6", "extend": "3.0.1", @@ -7957,7 +7762,7 @@ "oauth-sign": "0.8.2", "qs": "6.3.2", "stringstream": "0.0.5", - "tough-cookie": "2.3.3", + "tough-cookie": "2.3.4", "tunnel-agent": "0.4.3", "uuid": "3.2.1" } @@ -8000,10 +7805,10 @@ "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "dev": true, "requires": { - "hosted-git-info": "2.5.0", + "hosted-git-info": "2.6.0", "is-builtin-module": "1.0.0", "semver": "5.5.0", - "validate-npm-package-license": "3.0.1" + "validate-npm-package-license": "3.0.3" } }, "normalize-path": { @@ -8048,7 +7853,7 @@ "split": "1.0.1", "stream-to-observable": "0.2.0", "supports-hyperlinks": "1.0.1", - "update-notifier": "2.3.0" + "update-notifier": "2.4.0" }, "dependencies": { "ansi-regex": { @@ -8086,7 +7891,7 @@ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { - "lru-cache": "4.1.1", + "lru-cache": "4.1.2", "shebang-command": "1.2.0", "which": "1.3.0" } @@ -8115,23 +7920,17 @@ "locate-path": "2.0.0" } }, - "indent-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", - "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", - "dev": true - }, "inquirer": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", "dev": true, "requires": { - "ansi-escapes": "3.0.0", + "ansi-escapes": "3.1.0", "chalk": "2.3.2", "cli-cursor": "2.1.0", "cli-width": "2.2.0", - "external-editor": "2.1.0", + "external-editor": "2.2.0", "figures": "2.0.0", "lodash": "4.17.5", "mute-stream": "0.0.7", @@ -8202,15 +8001,6 @@ "object-assign": "4.1.1" } }, - "indent-string": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", - "dev": true, - "requires": { - "repeating": "2.0.1" - } - }, "log-symbols": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", @@ -8282,6 +8072,12 @@ "object-assign": "4.1.1" } }, + "indent-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", + "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", + "dev": true + }, "log-symbols": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", @@ -8314,11 +8110,14 @@ "strip-bom": "3.0.0" } }, - "lodash": { - "version": "4.17.5", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", - "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==", - "dev": true + "log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "dev": true, + "requires": { + "chalk": "2.3.2" + } }, "map-obj": { "version": "2.0.0", @@ -8350,7 +8149,7 @@ "dev": true, "requires": { "error-ex": "1.3.1", - "json-parse-better-errors": "1.0.1" + "json-parse-better-errors": "1.0.2" } }, "path-type": { @@ -8397,13 +8196,24 @@ "requires": { "indent-string": "3.2.0", "strip-indent": "2.0.0" + }, + "dependencies": { + "indent-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", + "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", + "dev": true + } } }, - "semver": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", - "dev": true + "rxjs": { + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.4.3.tgz", + "integrity": "sha512-fSNi+y+P9ss+EZuV0GcIIqPUK07DEaMRUtLJvdcvMyFjc9dizuDjere+A4V7JrLGnm9iCc+nagV/4QdMTkqC4A==", + "dev": true, + "requires": { + "symbol-observable": "1.0.1" + } }, "string-width": { "version": "2.1.1", @@ -8484,9 +8294,9 @@ "dev": true }, "nwmatcher": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.4.3.tgz", - "integrity": "sha512-IKdSTiDWCarf2JTS5e9e2+5tPZGdkRJ79XjYV0pzK8Q9BpsFyBq1RGKxzs7Q8UBushGw7m6TzVKz6fcY99iSWw==", + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.4.4.tgz", + "integrity": "sha512-3iuY4N5dhgMpCUrOVnuAdGrgxVqV2cJpM+XNccjR2DKOB1RUP0aA+wGXEiNziG/UKboFyGBIoKOaNlJxx8bciQ==", "dev": true }, "oauth-sign": { @@ -8684,7 +8494,7 @@ }, "onetime": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", + "resolved": "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", "dev": true }, @@ -8804,14 +8614,6 @@ "registry-auth-token": "3.3.2", "registry-url": "3.1.0", "semver": "5.5.0" - }, - "dependencies": { - "semver": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", - "dev": true - } } }, "pako": { @@ -8877,7 +8679,7 @@ "integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==", "dev": true, "requires": { - "@types/node": "9.6.2" + "@types/node": "6.0.105" } }, "pascalcase": { @@ -9014,7 +8816,7 @@ "requires": { "chalk": "2.3.2", "source-map": "0.6.1", - "supports-color": "5.2.0" + "supports-color": "5.3.0" }, "dependencies": { "source-map": { @@ -9056,7 +8858,7 @@ "dev": true, "requires": { "ansi-regex": "3.0.0", - "ansi-styles": "3.2.0" + "ansi-styles": "3.2.1" }, "dependencies": { "ansi-regex": { @@ -9193,9 +8995,9 @@ } }, "rc": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.5.tgz", - "integrity": "sha1-J1zWh/bjs2zHVrqibf7oCnkDAf0=", + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.6.tgz", + "integrity": "sha1-6xiYnG1PTxYsOZ953dKfODVWgJI=", "dev": true, "requires": { "deep-extend": "0.4.2", @@ -9226,9 +9028,9 @@ } }, "readable-stream": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz", - "integrity": "sha512-vuYxeWYM+fde14+rajzqgeohAI7YoJcHE7kXDAc4Nk0EbuKnJfqtY9YtRkLo/tqkuF7MsBQRhPnPeyjYITp3ZQ==", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { "core-util-is": "1.0.2", @@ -9236,7 +9038,7 @@ "isarray": "1.0.0", "process-nextick-args": "2.0.0", "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", + "string_decoder": "1.1.1", "util-deprecate": "1.0.2" } }, @@ -9248,7 +9050,7 @@ "requires": { "graceful-fs": "4.1.11", "minimatch": "3.0.4", - "readable-stream": "2.3.4", + "readable-stream": "2.3.6", "set-immediate-shim": "1.0.1" } }, @@ -9312,7 +9114,7 @@ "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", "dev": true, "requires": { - "rc": "1.2.5", + "rc": "1.2.6", "safe-buffer": "5.1.1" } }, @@ -9322,7 +9124,7 @@ "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", "dev": true, "requires": { - "rc": "1.2.5" + "rc": "1.2.6" } }, "remove-trailing-separator": { @@ -9353,13 +9155,13 @@ } }, "request": { - "version": "2.83.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.83.0.tgz", - "integrity": "sha512-lR3gD69osqm6EYLk9wB/G1W/laGWjzH90t1vEa2xuxHD5KUrSzp9pUSfTm+YC5Nxt2T8nMPEvKlhbQayU7bgFw==", + "version": "2.85.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.85.0.tgz", + "integrity": "sha512-8H7Ehijd4js+s6wuVPLjwORxD4zeuyjYugprdOXlPSqaApmL/QOy+EB/beICHVCHkGMKNh5rvihb5ov+IDw4mg==", "dev": true, "requires": { "aws-sign2": "0.7.0", - "aws4": "1.6.0", + "aws4": "1.7.0", "caseless": "0.12.0", "combined-stream": "1.0.6", "extend": "3.0.1", @@ -9377,7 +9179,7 @@ "qs": "6.5.1", "safe-buffer": "5.1.1", "stringstream": "0.0.5", - "tough-cookie": "2.3.3", + "tough-cookie": "2.3.4", "tunnel-agent": "0.6.0", "uuid": "3.2.1" } @@ -9399,7 +9201,7 @@ "requires": { "request-promise-core": "1.1.1", "stealthy-require": "1.1.1", - "tough-cookie": "2.3.3" + "tough-cookie": "2.3.4" } }, "require-directory": { @@ -9425,9 +9227,9 @@ } }, "resolve": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz", - "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.0.tgz", + "integrity": "sha512-QdgZ5bjR1WAlpLaO5yHepFvC+o3rCr6wpfE2tpJNMkXdulf2jKomQBdNRQITF3ZKHNlT71syG98yQP03gasgnA==", "dev": true, "requires": { "path-parse": "1.0.5" @@ -9504,7 +9306,7 @@ "requires": { "estree-walker": "0.5.1", "magic-string": "0.22.5", - "resolve": "1.5.0", + "resolve": "1.7.0", "rollup-pluginutils": "2.0.1" } }, @@ -9532,14 +9334,6 @@ "magic-string": "0.22.5", "process-es6": "0.11.6", "rollup-pluginutils": "2.0.1" - }, - "dependencies": { - "acorn": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.5.3.tgz", - "integrity": "sha512-jd5MkIUlbbmb07nXH0DT3y7rDVtkzDi4XZOUVWAer8ajmF/DTSSbl5oNFyDOl/OXA33Bl79+ypHhl2pN20VeOQ==", - "dev": true - } } }, "rollup-plugin-node-resolve": { @@ -9550,15 +9344,7 @@ "requires": { "builtin-modules": "2.0.0", "is-module": "1.0.0", - "resolve": "1.5.0" - }, - "dependencies": { - "builtin-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-2.0.0.tgz", - "integrity": "sha512-3U5kUA5VPsRUA3nofm/BXX7GVHKfxz0hOBAPxXrIvHzlDRkQVqEn6yi8QJegxl4LzOHLdvb7XF5dVawa/VVYBg==", - "dev": true - } + "resolve": "1.7.0" } }, "rollup-pluginutils": { @@ -9693,12 +9479,12 @@ } }, "rxjs": { - "version": "5.4.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.4.3.tgz", - "integrity": "sha512-fSNi+y+P9ss+EZuV0GcIIqPUK07DEaMRUtLJvdcvMyFjc9dizuDjere+A4V7JrLGnm9iCc+nagV/4QdMTkqC4A==", + "version": "5.5.8", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.8.tgz", + "integrity": "sha512-Bz7qou7VAIoGiglJZbzbXa4vpX5BmTTN2Dj/se6+SwADtw4SihqBIiEa7VmTXJ8pynvq0iFr5Gx9VLyye1rIxQ==", "dev": true, "requires": { - "symbol-observable": "1.2.0" + "symbol-observable": "1.0.1" } }, "safe-buffer": { @@ -9723,120 +9509,19 @@ } }, "sane": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/sane/-/sane-2.4.1.tgz", - "integrity": "sha512-fW9svvNd81XzHDZyis9/tEY1bZikDGryy8Hi1BErPyNPYv47CdLseUN+tI5FBHWXEENRtj1SWtX/jBnggLaP0w==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/sane/-/sane-2.5.0.tgz", + "integrity": "sha512-glfKd7YH4UCrh/7dD+UESsr8ylKWRE7UQPoXuz28FgmcF0ViJQhCTCCZHICRKxf8G8O1KdLEn20dcICK54c7ew==", "dev": true, "requires": { - "anymatch": "1.3.2", + "anymatch": "2.0.0", "exec-sh": "0.2.1", "fb-watchman": "2.0.0", "fsevents": "1.1.3", - "minimatch": "3.0.4", + "micromatch": "3.1.10", "minimist": "1.2.0", "walker": "1.0.7", "watch": "0.18.0" - }, - "dependencies": { - "anymatch": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", - "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", - "dev": true, - "requires": { - "micromatch": "2.3.11", - "normalize-path": "2.1.1" - } - }, - "arr-diff": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", - "dev": true, - "requires": { - "arr-flatten": "1.1.0" - } - }, - "array-unique": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", - "dev": true - }, - "braces": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", - "dev": true, - "requires": { - "expand-range": "1.8.2", - "preserve": "0.2.0", - "repeat-element": "1.1.2" - } - }, - "expand-brackets": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", - "dev": true, - "requires": { - "is-posix-bracket": "0.1.1" - } - }, - "extglob": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", - "dev": true, - "requires": { - "is-extglob": "1.0.0" - } - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "requires": { - "is-extglob": "1.0.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - }, - "micromatch": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", - "dev": true, - "requires": { - "arr-diff": "2.0.0", - "array-unique": "0.2.1", - "braces": "1.8.5", - "expand-brackets": "0.1.5", - "extglob": "0.3.2", - "filename-regex": "2.0.1", - "is-extglob": "1.0.0", - "is-glob": "2.0.1", - "kind-of": "3.2.2", - "normalize-path": "2.1.1", - "object.omit": "2.0.1", - "parse-glob": "3.0.4", - "regex-cache": "0.4.4" - } - } } }, "sass-graph": { @@ -9857,12 +9542,6 @@ "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", "dev": true }, - "lodash": { - "version": "4.17.5", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", - "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==", - "dev": true - }, "yargs": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", @@ -9899,7 +9578,7 @@ "glob": "7.1.2", "globule": "1.2.0", "gonzales-pe-sl": "4.2.3", - "js-yaml": "3.10.0", + "js-yaml": "3.11.0", "known-css-properties": "0.3.0", "lodash.capitalize": "4.2.1", "lodash.kebabcase": "4.1.1", @@ -9993,14 +9672,6 @@ "dev": true, "requires": { "semver": "5.5.0" - }, - "dependencies": { - "semver": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", - "dev": true - } } }, "set-blocking": { @@ -10244,24 +9915,35 @@ "dev": true }, "spdx-correct": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", - "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", + "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", "dev": true, "requires": { - "spdx-license-ids": "1.2.2" + "spdx-expression-parse": "3.0.0", + "spdx-license-ids": "3.0.0" } }, - "spdx-expression-parse": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", - "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=", + "spdx-exceptions": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", + "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==", "dev": true }, + "spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "dev": true, + "requires": { + "spdx-exceptions": "2.1.0", + "spdx-license-ids": "3.0.0" + } + }, "spdx-license-ids": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", - "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", + "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==", "dev": true }, "split": { @@ -10289,9 +9971,9 @@ "dev": true }, "sshpk": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", - "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.1.tgz", + "integrity": "sha1-Ew9Zde3a2WPx1W+SuaxsUfqfg+s=", "dev": true, "requires": { "asn1": "0.2.3", @@ -10331,7 +10013,7 @@ "integrity": "sha1-osfIWH5U2UJ+qe2zrD8s1SLfN4s=", "dev": true, "requires": { - "readable-stream": "2.3.4" + "readable-stream": "2.3.6" } }, "stealthy-require": { @@ -10400,9 +10082,9 @@ } }, "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { "safe-buffer": "5.1.1" @@ -10454,9 +10136,9 @@ "dev": true }, "supports-color": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", - "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", + "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", "dev": true, "requires": { "has-flag": "3.0.0" @@ -10469,7 +10151,7 @@ "dev": true, "requires": { "has-flag": "2.0.0", - "supports-color": "5.2.0" + "supports-color": "5.3.0" }, "dependencies": { "has-flag": { @@ -10481,9 +10163,9 @@ } }, "symbol-observable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", - "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", + "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=", "dev": true }, "symbol-tree": { @@ -10547,12 +10229,6 @@ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, - "lodash": { - "version": "4.17.5", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", - "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==", - "dev": true - }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", @@ -10608,7 +10284,7 @@ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { - "lru-cache": "4.1.1", + "lru-cache": "4.1.2", "shebang-command": "1.2.0", "which": "1.3.0" } @@ -10631,107 +10307,16 @@ } }, "test-exclude": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.2.0.tgz", - "integrity": "sha512-8hMFzjxbPv6xSlwGhXSvOMJ/vTy3bkng+2pxmf6E1z6VF7I9nIyNfvHtaw+NBPgvz647gADBbMSbwLfZYppT/w==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.2.1.tgz", + "integrity": "sha512-qpqlP/8Zl+sosLxBcVKl9vYy26T9NPalxSzzCP/OY6K7j938ui2oKgo+kRZYfxAeIpLqpbVnsHq1tyV70E4lWQ==", "dev": true, "requires": { "arrify": "1.0.1", - "micromatch": "2.3.11", + "micromatch": "3.1.10", "object-assign": "4.1.1", "read-pkg-up": "1.0.1", "require-main-filename": "1.0.1" - }, - "dependencies": { - "arr-diff": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", - "dev": true, - "requires": { - "arr-flatten": "1.1.0" - } - }, - "array-unique": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", - "dev": true - }, - "braces": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", - "dev": true, - "requires": { - "expand-range": "1.8.2", - "preserve": "0.2.0", - "repeat-element": "1.1.2" - } - }, - "expand-brackets": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", - "dev": true, - "requires": { - "is-posix-bracket": "0.1.1" - } - }, - "extglob": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", - "dev": true, - "requires": { - "is-extglob": "1.0.0" - } - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "requires": { - "is-extglob": "1.0.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - }, - "micromatch": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", - "dev": true, - "requires": { - "arr-diff": "2.0.0", - "array-unique": "0.2.1", - "braces": "1.8.5", - "expand-brackets": "0.1.5", - "extglob": "0.3.2", - "filename-regex": "2.0.1", - "is-extglob": "1.0.0", - "is-glob": "2.0.1", - "kind-of": "3.2.2", - "normalize-path": "2.1.1", - "object.omit": "2.0.1", - "parse-glob": "3.0.4", - "regex-cache": "0.4.4" - } - } } }, "text-table": { @@ -10856,9 +10441,9 @@ } }, "tough-cookie": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", - "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", + "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", "dev": true, "requires": { "punycode": "1.4.1" @@ -10933,20 +10518,20 @@ "builtin-modules": "1.1.1", "chalk": "2.3.2", "commander": "2.13.0", - "diff": "3.4.0", + "diff": "3.5.0", "glob": "7.1.2", - "js-yaml": "3.10.0", + "js-yaml": "3.11.0", "minimatch": "3.0.4", - "resolve": "1.5.0", + "resolve": "1.7.0", "semver": "5.5.0", "tslib": "1.9.0", - "tsutils": "2.21.2" + "tsutils": "2.26.1" }, "dependencies": { - "semver": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", "dev": true } } @@ -11002,9 +10587,9 @@ } }, "tsutils": { - "version": "2.21.2", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.21.2.tgz", - "integrity": "sha512-iaIuyjIUeFLdD39MYdzqBuY7Zv6+uGxSwRH4mf+HuzsnznjFz0R2tGrAe0/JvtNh91WrN8UN/DZRFTZNDuVekA==", + "version": "2.26.1", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.26.1.tgz", + "integrity": "sha512-bnm9bcjOqOr1UljleL94wVCDlpa6KjfGaTkefeLch4GRafgDkROxPizbB/FxTEdI++5JqhxczRy/Qub0syNqZA==", "dev": true, "requires": { "tslib": "1.9.0" @@ -11187,15 +10772,16 @@ "dev": true }, "update-notifier": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.3.0.tgz", - "integrity": "sha1-TognpruRUUCrCTVZ1wFOPruDdFE=", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.4.0.tgz", + "integrity": "sha1-+bTHAPv9TsEsgRWHJYd31WPYyGY=", "dev": true, "requires": { "boxen": "1.3.0", "chalk": "2.3.2", - "configstore": "3.1.1", + "configstore": "3.1.2", "import-lazy": "2.1.0", + "is-ci": "1.1.0", "is-installed-globally": "0.1.0", "is-npm": "1.0.0", "latest-version": "3.1.0", @@ -11272,13 +10858,13 @@ "dev": true }, "validate-npm-package-license": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", - "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz", + "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", "dev": true, "requires": { - "spdx-correct": "1.0.2", - "spdx-expression-parse": "1.0.4" + "spdx-correct": "3.0.0", + "spdx-expression-parse": "3.0.0" } }, "verror": { @@ -11563,21 +11149,12 @@ "dev": true }, "worker-farm": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.5.2.tgz", - "integrity": "sha512-XxiQ9kZN5n6mmnW+mFJ+wXjNNI/Nx4DIdaAKLX1Bn6LYBWlN/zaBhu34DQYPZ1AJobQuu67S2OfDdNSVULvXkQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.6.0.tgz", + "integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==", "dev": true, "requires": { - "errno": "0.1.7", - "xtend": "4.0.1" - }, - "dependencies": { - "xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", - "dev": true - } + "errno": "0.1.7" } }, "wrap-ansi": { @@ -11711,11 +11288,26 @@ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { - "lru-cache": "4.1.1", + "lru-cache": "4.1.2", "shebang-command": "1.2.0", "which": "1.3.0" } }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "dev": true, + "requires": { + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" + } + }, "find-up": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", @@ -11740,23 +11332,6 @@ "execa": "0.7.0", "lcid": "1.0.0", "mem": "1.1.0" - }, - "dependencies": { - "execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "dev": true, - "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" - } - } } }, "string-width": { diff --git a/core/src/components.d.ts b/core/src/components.d.ts index 22f260ae39..834a0dc373 100644 --- a/core/src/components.d.ts +++ b/core/src/components.d.ts @@ -134,8 +134,8 @@ import { declare global { interface HTMLIonActionSheetControllerElement extends HTMLStencilElement { - 'create': (opts?: ActionSheetOptions) => Promise; - 'dismiss': (data?: any, role?: string, actionSheetId?: number) => Promise; + 'create': (opts?: ActionSheetOptions | undefined) => Promise; + 'dismiss': (data?: any, role?: string | undefined, actionSheetId?: number) => Promise; 'getTop': () => HTMLIonActionSheetElement; } var HTMLIonActionSheetControllerElement: { @@ -174,7 +174,7 @@ declare global { /** * Dismiss the action sheet overlay after it has been presented. */ - 'dismiss': (data?: any, role?: string) => Promise; + 'dismiss': (data?: any, role?: string | undefined) => Promise; /** * If true, the action sheet will be dismissed when the backdrop is clicked. Defaults to `true`. */ @@ -195,11 +195,11 @@ declare global { /** * Returns a promise that resolves when the action-sheet did dismiss. It also accepts a callback that is called in the same circustances. ``` const {data, role} = await actionSheet.onDidDismiss(); ``` */ - 'onDidDismiss': (callback?: (detail: OverlayEventDetail) => void) => Promise; + 'onDidDismiss': (callback?: ((detail: OverlayEventDetail) => void) | undefined) => Promise; /** * Returns a promise that resolves when the action-sheet will dismiss. It also accepts a callback that is called in the same circustances. ``` const {data, role} = await actionSheet.onWillDismiss(); ``` */ - 'onWillDismiss': (callback?: (detail: OverlayEventDetail) => void) => Promise; + 'onWillDismiss': (callback?: ((detail: OverlayEventDetail) => void) | undefined) => Promise; 'overlayId': number; /** * Present the action sheet overlay after it has been created. @@ -304,8 +304,8 @@ declare global { declare global { interface HTMLIonAlertControllerElement extends HTMLStencilElement { - 'create': (opts?: AlertOptions) => Promise; - 'dismiss': (data?: any, role?: string, alertId?: number) => Promise; + 'create': (opts?: AlertOptions | undefined) => Promise; + 'dismiss': (data?: any, role?: string | undefined, alertId?: number) => Promise; 'getTop': () => HTMLIonAlertElement; } var HTMLIonAlertControllerElement: { @@ -344,7 +344,7 @@ declare global { /** * Dismiss the alert overlay after it has been presented. */ - 'dismiss': (data?: any, role?: string) => Promise; + 'dismiss': (data?: any, role?: string | undefined) => Promise; /** * If true, the alert will be dismissed when the backdrop is clicked. Defaults to `true`. */ @@ -374,11 +374,11 @@ declare global { /** * Returns a promise that resolves when the alert did dismiss. It also accepts a callback that is called in the same circustances. ``` const {data, role} = await alert.onDidDismiss(); ``` */ - 'onDidDismiss': (callback?: (detail: OverlayEventDetail) => void) => Promise; + 'onDidDismiss': (callback?: ((detail: OverlayEventDetail) => void) | undefined) => Promise; /** * Returns a promise that resolves when the alert will dismiss. It also accepts a callback that is called in the same circustances. ``` const {data, role} = await alert.onWillDismiss(); ``` */ - 'onWillDismiss': (callback?: (detail: OverlayEventDetail) => void) => Promise; + 'onWillDismiss': (callback?: ((detail: OverlayEventDetail) => void) | undefined) => Promise; 'overlayId': number; /** * Present the alert overlay after it has been created. @@ -521,7 +521,7 @@ declare global { declare global { interface HTMLIonAnimationControllerElement extends HTMLStencilElement { - 'create': (animationBuilder?: AnimationBuilder, baseEl?: any, opts?: any) => Promise; + 'create': (animationBuilder?: AnimationBuilder | undefined, baseEl?: any, opts?: any) => Promise; } var HTMLIonAnimationControllerElement: { prototype: HTMLIonAnimationControllerElement; @@ -1354,14 +1354,14 @@ declare global { * If true, the content will scroll behind the headers and footers. This effect can easily be seen by setting the toolbar to transparent. */ 'fullscreen': boolean; - 'scrollByPoint': (x: number, y: number, duration: number, done?: Function) => Promise; + 'scrollByPoint': (x: number, y: number, duration: number, done?: Function | undefined) => Promise; 'scrollEnabled': boolean; 'scrollEvents': boolean; /** * Scroll to the bottom of the content component. Duration of the scroll animation in milliseconds. Defaults to `300`. Returns a promise which is resolved when the scroll has completed. */ 'scrollToBottom': (duration?: number) => Promise; - 'scrollToPoint': (x: number, y: number, duration: number, done?: Function) => Promise; + 'scrollToPoint': (x: number, y: number, duration: number, done?: Function | undefined) => Promise; /** * Scroll to the top of the content component. Duration of the scroll animation in milliseconds. Defaults to `300`. Returns a promise which is resolved when the scroll has completed. */ @@ -1436,15 +1436,15 @@ declare global { /** * Full day of the week names. This can be used to provide locale names for each day in the week. Defaults to English. */ - 'dayNames': string[] | string; + 'dayNames': string[] | string | undefined; /** * Short abbreviated day of the week names. This can be used to provide locale names for each day in the week. Defaults to English. */ - 'dayShortNames': string[] | string; + 'dayShortNames': string[] | string | undefined; /** * Values used to create the list of selectable days. By default every day is shown for the given month. However, to control exactly which days of the month to display, the `dayValues` input can take a number, an array of numbers, or a string of comma separated numbers. Note that even if the array days have an invalid number for the selected month, like `31` in February, it will correctly not show days which are not valid for the selected month. */ - 'dayValues': number[] | number | string; + 'dayValues': number[] | number | string | undefined; /** * If true, the user cannot interact with the datetime. Defaults to `false`. */ @@ -1460,35 +1460,35 @@ declare global { /** * Values used to create the list of selectable hours. By default the hour values range from `0` to `23` for 24-hour, or `1` to `12` for 12-hour. However, to control exactly which hours to display, the `hourValues` input can take a number, an array of numbers, or a string of comma separated numbers. */ - 'hourValues': number[] | number | string; + 'hourValues': number[] | number | string | undefined; /** * The maximum datetime allowed. Value must be a date string following the [ISO 8601 datetime format standard](https://www.w3.org/TR/NOTE-datetime), `1996-12-19`. The format does not have to be specific to an exact datetime. For example, the maximum could just be the year, such as `1994`. Defaults to the end of this year. */ - 'max': string; + 'max': string | undefined; /** * The minimum datetime allowed. Value must be a date string following the [ISO 8601 datetime format standard](https://www.w3.org/TR/NOTE-datetime), such as `1996-12-19`. The format does not have to be specific to an exact datetime. For example, the minimum could just be the year, such as `1994`. Defaults to the beginning of the year, 100 years ago from today. */ - 'min': string; + 'min': string | undefined; /** * Values used to create the list of selectable minutes. By default the mintues range from `0` to `59`. However, to control exactly which minutes to display, the `minuteValues` input can take a number, an array of numbers, or a string of comma separated numbers. For example, if the minute selections should only be every 15 minutes, then this input value would be `minuteValues="0,15,30,45"`. */ - 'minuteValues': number[] | number | string; + 'minuteValues': number[] | number | string | undefined; /** * Full names for each month name. This can be used to provide locale month names. Defaults to English. */ - 'monthNames': string[] | string; + 'monthNames': string[] | string | undefined; /** * Short abbreviated names for each month name. This can be used to provide locale month names. Defaults to English. */ - 'monthShortNames': string[] | string; + 'monthShortNames': string[] | string | undefined; /** * Values used to create the list of selectable months. By default the month values range from `1` to `12`. However, to control exactly which months to display, the `monthValues` input can take a number, an array of numbers, or a string of comma separated numbers. For example, if only summer months should be shown, then this input value would be `monthValues="6,7,8"`. Note that month numbers do *not* have a zero-based index, meaning January's value is `1`, and December's is `12`. */ - 'monthValues': number[] | number | string; + 'monthValues': number[] | number | string | undefined; /** * The format of the date and time picker columns the user selects. A datetime input can have one or many datetime parts, each getting their own column which allow individual selection of that particular datetime part. For example, year and month columns are two individually selectable columns which help choose an exact date from the datetime picker. Each column follows the string parse format. Defaults to use `displayFormat`. */ - 'pickerFormat': string; + 'pickerFormat': string | undefined; /** * Any additional options that the picker interface can accept. See the [Picker API docs](../../picker/Picker) for the picker options. */ @@ -1496,7 +1496,7 @@ declare global { /** * The text to display when there's no date selected yet. Using lowercase to match the input attribute */ - 'placeholder': string; + 'placeholder': string | undefined; /** * the value of the datetime. */ @@ -1504,7 +1504,7 @@ declare global { /** * Values used to create the list of selectable years. By default the year values range between the `min` and `max` datetime inputs. However, to control exactly which years to display, the `yearValues` input can take a number, an array of numbers, or string of comma separated numbers. For example, to show upcoming and recent leap years, then this input's value would be `yearValues="2024,2020,2016,2012,2008"`. */ - 'yearValues': number[] | number | string; + 'yearValues': number[] | number | string | undefined; } var HTMLIonDatetimeElement: { prototype: HTMLIonDatetimeElement; @@ -1530,15 +1530,15 @@ declare global { /** * Full day of the week names. This can be used to provide locale names for each day in the week. Defaults to English. */ - 'dayNames'?: string[] | string; + 'dayNames'?: string[] | string | undefined; /** * Short abbreviated day of the week names. This can be used to provide locale names for each day in the week. Defaults to English. */ - 'dayShortNames'?: string[] | string; + 'dayShortNames'?: string[] | string | undefined; /** * Values used to create the list of selectable days. By default every day is shown for the given month. However, to control exactly which days of the month to display, the `dayValues` input can take a number, an array of numbers, or a string of comma separated numbers. Note that even if the array days have an invalid number for the selected month, like `31` in February, it will correctly not show days which are not valid for the selected month. */ - 'dayValues'?: number[] | number | string; + 'dayValues'?: number[] | number | string | undefined; /** * If true, the user cannot interact with the datetime. Defaults to `false`. */ @@ -1554,31 +1554,31 @@ declare global { /** * Values used to create the list of selectable hours. By default the hour values range from `0` to `23` for 24-hour, or `1` to `12` for 12-hour. However, to control exactly which hours to display, the `hourValues` input can take a number, an array of numbers, or a string of comma separated numbers. */ - 'hourValues'?: number[] | number | string; + 'hourValues'?: number[] | number | string | undefined; /** * The maximum datetime allowed. Value must be a date string following the [ISO 8601 datetime format standard](https://www.w3.org/TR/NOTE-datetime), `1996-12-19`. The format does not have to be specific to an exact datetime. For example, the maximum could just be the year, such as `1994`. Defaults to the end of this year. */ - 'max'?: string; + 'max'?: string | undefined; /** * The minimum datetime allowed. Value must be a date string following the [ISO 8601 datetime format standard](https://www.w3.org/TR/NOTE-datetime), such as `1996-12-19`. The format does not have to be specific to an exact datetime. For example, the minimum could just be the year, such as `1994`. Defaults to the beginning of the year, 100 years ago from today. */ - 'min'?: string; + 'min'?: string | undefined; /** * Values used to create the list of selectable minutes. By default the mintues range from `0` to `59`. However, to control exactly which minutes to display, the `minuteValues` input can take a number, an array of numbers, or a string of comma separated numbers. For example, if the minute selections should only be every 15 minutes, then this input value would be `minuteValues="0,15,30,45"`. */ - 'minuteValues'?: number[] | number | string; + 'minuteValues'?: number[] | number | string | undefined; /** * Full names for each month name. This can be used to provide locale month names. Defaults to English. */ - 'monthNames'?: string[] | string; + 'monthNames'?: string[] | string | undefined; /** * Short abbreviated names for each month name. This can be used to provide locale month names. Defaults to English. */ - 'monthShortNames'?: string[] | string; + 'monthShortNames'?: string[] | string | undefined; /** * Values used to create the list of selectable months. By default the month values range from `1` to `12`. However, to control exactly which months to display, the `monthValues` input can take a number, an array of numbers, or a string of comma separated numbers. For example, if only summer months should be shown, then this input value would be `monthValues="6,7,8"`. Note that month numbers do *not* have a zero-based index, meaning January's value is `1`, and December's is `12`. */ - 'monthValues'?: number[] | number | string; + 'monthValues'?: number[] | number | string | undefined; /** * Emitted when the datetime selection was cancelled. */ @@ -1590,7 +1590,7 @@ declare global { /** * The format of the date and time picker columns the user selects. A datetime input can have one or many datetime parts, each getting their own column which allow individual selection of that particular datetime part. For example, year and month columns are two individually selectable columns which help choose an exact date from the datetime picker. Each column follows the string parse format. Defaults to use `displayFormat`. */ - 'pickerFormat'?: string; + 'pickerFormat'?: string | undefined; /** * Any additional options that the picker interface can accept. See the [Picker API docs](../../picker/Picker) for the picker options. */ @@ -1598,7 +1598,7 @@ declare global { /** * The text to display when there's no date selected yet. Using lowercase to match the input attribute */ - 'placeholder'?: string; + 'placeholder'?: string | undefined; /** * the value of the datetime. */ @@ -1606,7 +1606,7 @@ declare global { /** * Values used to create the list of selectable years. By default the year values range between the `min` and `max` datetime inputs. However, to control exactly which years to display, the `yearValues` input can take a number, an array of numbers, or string of comma separated numbers. For example, to show upcoming and recent leap years, then this input's value would be `yearValues="2024,2020,2016,2012,2008"`. */ - 'yearValues'?: number[] | number | string; + 'yearValues'?: number[] | number | string | undefined; } } } @@ -1987,12 +1987,12 @@ declare global { declare global { interface HTMLIonHideWhenElement extends HTMLStencilElement { - 'mediaQuery': string; - 'mode': string; + 'mediaQuery': string|undefined; + 'mode': string|undefined; 'or': boolean; - 'orientation': string; - 'platform': string; - 'size': string; + 'orientation': string|undefined; + 'platform': string|undefined; + 'size': string|undefined; } var HTMLIonHideWhenElement: { prototype: HTMLIonHideWhenElement; @@ -2011,12 +2011,12 @@ declare global { } namespace JSXElements { export interface IonHideWhenAttributes extends HTMLAttributes { - 'mediaQuery'?: string; - 'mode'?: string; + 'mediaQuery'?: string|undefined; + 'mode'?: string|undefined; 'or'?: boolean; - 'orientation'?: string; - 'platform'?: string; - 'size'?: string; + 'orientation'?: string|undefined; + 'platform'?: string|undefined; + 'size'?: string|undefined; } } } @@ -2829,11 +2829,11 @@ declare global { /** * Get the [Item Sliding](../../item-sliding/ItemSliding) that is currently opene. */ - 'getOpenItem': () => ItemSliding; + 'getOpenItem': () => ItemSliding | null; /** * Set an [Item Sliding](../../item-sliding/ItemSliding) as the open item. */ - 'setOpenItem': (itemSliding: ItemSliding) => void; + 'setOpenItem': (itemSliding: ItemSliding | null) => void; } var HTMLIonListElement: { prototype: HTMLIonListElement; @@ -2860,8 +2860,8 @@ declare global { declare global { interface HTMLIonLoadingControllerElement extends HTMLStencilElement { - 'create': (opts?: LoadingOptions) => Promise; - 'dismiss': (data?: any, role?: string, loadingId?: number) => Promise; + 'create': (opts?: LoadingOptions | undefined) => Promise; + 'dismiss': (data?: any, role?: string | undefined, loadingId?: number) => Promise; 'getTop': () => HTMLIonLoadingElement; } var HTMLIonLoadingControllerElement: { @@ -2900,7 +2900,7 @@ declare global { /** * Dismiss the loading overlay after it has been presented. */ - 'dismiss': (data?: any, role?: string) => Promise; + 'dismiss': (data?: any, role?: string | undefined) => Promise; /** * If true, the loading indicator will dismiss when the page changes. Defaults to `false`. */ @@ -2925,11 +2925,11 @@ declare global { /** * Returns a promise that resolves when the loading did dismiss. It also accepts a callback that is called in the same circustances. ``` const {data, role} = await loading.onDidDismiss(); ``` */ - 'onDidDismiss': (callback?: (detail: OverlayEventDetail) => void) => Promise; + 'onDidDismiss': (callback?: ((detail: OverlayEventDetail) => void) | undefined) => Promise; /** * Returns a promise that resolves when the loading will dismiss. It also accepts a callback that is called in the same circustances. ``` const {data, role} = await loading.onWillDismiss(); ``` */ - 'onWillDismiss': (callback?: (detail: OverlayEventDetail) => void) => Promise; + 'onWillDismiss': (callback?: ((detail: OverlayEventDetail) => void) | undefined) => Promise; 'overlayId': number; /** * Present the loading overlay after it has been created. @@ -3094,34 +3094,34 @@ declare global { /** * Programatically close the Menu. If no `menuId` is given as the first argument then it'll close any menu which is open. If a `menuId` is given then it'll close that exact menu. */ - 'close': (menuId?: string) => Promise; + 'close': (menuId?: string | undefined) => Promise; 'createAnimation': (type: string, menuCmp: Menu) => Promise; /** * Used to enable or disable a menu. For example, there could be multiple left menus, but only one of them should be able to be opened at the same time. If there are multiple menus on the same side, then enabling one menu will also automatically disable all the others that are on the same side. */ - 'enable': (shouldEnable: boolean, menuId?: string) => HTMLIonMenuElement; + 'enable': (shouldEnable: boolean, menuId?: string | undefined) => HTMLIonMenuElement | null; /** * Used to get a menu instance. If a `menuId` is not provided then it'll return the first menu found. If a `menuId` is `left` or `right`, then it'll return the enabled menu on that side. Otherwise, if a `menuId` is provided, then it'll try to find the menu using the menu's `id` property. If a menu is not found then it'll return `null`. */ - 'get': (menuId?: string) => HTMLIonMenuElement; + 'get': (menuId?: string | undefined) => HTMLIonMenuElement | null; 'getMenus': () => HTMLIonMenuElement[]; - 'getOpen': () => HTMLIonMenuElement; + 'getOpen': () => HTMLIonMenuElement | null; 'isAnimating': () => boolean; - 'isEnabled': (menuId?: string) => boolean; - 'isOpen': (menuId?: string) => boolean; + 'isEnabled': (menuId?: string | undefined) => boolean; + 'isOpen': (menuId?: string | undefined) => boolean; /** * Programatically open the Menu. */ - 'open': (menuId?: string) => Promise; + 'open': (menuId?: string | undefined) => Promise; 'registerAnimation': (name: string, animation: AnimationBuilder) => void; /** * Used to enable or disable the ability to swipe open the menu. */ - 'swipeEnable': (shouldEnable: boolean, menuId?: string) => HTMLIonMenuElement; + 'swipeEnable': (shouldEnable: boolean, menuId?: string | undefined) => HTMLIonMenuElement | null; /** * Toggle the menu. If it's closed, it will open, and if opened, it will close. */ - 'toggle': (menuId?: string) => Promise; + 'toggle': (menuId?: string | undefined) => Promise; } var HTMLIonMenuControllerElement: { prototype: HTMLIonMenuControllerElement; @@ -3287,8 +3287,8 @@ declare global { declare global { interface HTMLIonModalControllerElement extends HTMLStencilElement { - 'create': (opts?: ModalOptions) => Promise; - 'dismiss': (data?: any, role?: string, modalId?: number) => Promise; + 'create': (opts?: ModalOptions | undefined) => Promise; + 'dismiss': (data?: any, role?: string | undefined, modalId?: number) => Promise; 'getTop': () => HTMLIonModalElement; } var HTMLIonModalControllerElement: { @@ -3336,7 +3336,7 @@ declare global { /** * Dismiss the modal overlay after it has been presented. */ - 'dismiss': (data?: any, role?: string) => Promise; + 'dismiss': (data?: any, role?: string | undefined) => Promise; /** * If true, the modal will be dismissed when the backdrop is clicked. Defaults to `true`. */ @@ -3357,11 +3357,11 @@ declare global { /** * Returns a promise that resolves when the modal did dismiss. It also accepts a callback that is called in the same circustances. ``` const {data, role} = await modal.onDidDismiss(); ``` */ - 'onDidDismiss': (callback?: (detail: OverlayEventDetail) => void) => Promise; + 'onDidDismiss': (callback?: ((detail: OverlayEventDetail) => void) | undefined) => Promise; /** * Returns a promise that resolves when the modal will dismiss. It also accepts a callback that is called in the same circustances. ``` const {data, role} = await modal.onWillDismiss(); ``` */ - 'onWillDismiss': (callback?: (detail: OverlayEventDetail) => void) => Promise; + 'onWillDismiss': (callback?: ((detail: OverlayEventDetail) => void) | undefined) => Promise; 'overlayId': number; /** * Present the modal overlay after it has been created. @@ -3557,24 +3557,24 @@ declare global { declare global { interface HTMLIonNavElement extends HTMLStencilElement { 'animated': boolean; - 'canGoBack': (view?: ViewController) => boolean; + 'canGoBack': (view?: ViewController | undefined) => boolean; 'delegate': FrameworkDelegate|undefined; - 'getActive': () => ViewController; - 'getByIndex': (index: number) => ViewController; - 'getPrevious': (view?: ViewController) => ViewController; - 'getRouteId': () => RouteID; - 'insert': (insertIndex: number, component: NavComponent, componentProps?: ComponentProps, opts?: NavOptions, done?: TransitionDoneFn) => Promise; - 'insertPages': (insertIndex: number, insertComponents: NavComponent[], opts?: NavOptions, done?: TransitionDoneFn) => Promise; + 'getActive': () => ViewController | undefined; + 'getByIndex': (index: number) => ViewController | undefined; + 'getPrevious': (view?: ViewController | undefined) => ViewController | undefined; + 'getRouteId': () => RouteID | undefined; + 'insert': (insertIndex: number, component: NavComponent, componentProps?: ComponentProps | undefined, opts?: NavOptions | undefined, done?: TransitionDoneFn | undefined) => Promise; + 'insertPages': (insertIndex: number, insertComponents: NavComponent[], opts?: NavOptions | undefined, done?: TransitionDoneFn | undefined) => Promise; 'length': () => number; - 'pop': (opts?: NavOptions, done?: TransitionDoneFn) => Promise; - 'popTo': (indexOrViewCtrl: number | ViewController, opts?: NavOptions, done?: TransitionDoneFn) => Promise; - 'popToRoot': (opts?: NavOptions, done?: TransitionDoneFn) => Promise; - 'push': (component: NavComponent, componentProps?: ComponentProps, opts?: NavOptions, done?: TransitionDoneFn) => Promise; - 'removeIndex': (startIndex: number, removeCount?: number, opts?: NavOptions, done?: TransitionDoneFn) => Promise; + 'pop': (opts?: NavOptions | undefined, done?: TransitionDoneFn | undefined) => Promise; + 'popTo': (indexOrViewCtrl: number | ViewController, opts?: NavOptions | undefined, done?: TransitionDoneFn | undefined) => Promise; + 'popToRoot': (opts?: NavOptions | undefined, done?: TransitionDoneFn | undefined) => Promise; + 'push': (component: NavComponent, componentProps?: ComponentProps | undefined, opts?: NavOptions | undefined, done?: TransitionDoneFn | undefined) => Promise; + 'removeIndex': (startIndex: number, removeCount?: number, opts?: NavOptions | undefined, done?: TransitionDoneFn | undefined) => Promise; 'root': NavComponent|undefined; 'rootParams': ComponentProps|undefined; - 'setPages': (views: any[], opts?: NavOptions, done?: TransitionDoneFn) => Promise; - 'setRoot': (component: NavComponent, componentProps?: ComponentProps, opts?: NavOptions, done?: TransitionDoneFn) => Promise; + 'setPages': (views: any[], opts?: NavOptions | undefined, done?: TransitionDoneFn | undefined) => Promise; + 'setRoot': (component: NavComponent, componentProps?: ComponentProps | undefined, opts?: NavOptions | undefined, done?: TransitionDoneFn | undefined) => Promise; 'setRouteId': (id: string, params: any, direction: number) => Promise; 'swipeBackEnabled': boolean; } @@ -3677,8 +3677,8 @@ declare global { declare global { interface HTMLIonPickerControllerElement extends HTMLStencilElement { - 'create': (opts?: PickerOptions) => Promise; - 'dismiss': (data?: any, role?: string, pickerId?: number) => Promise; + 'create': (opts?: PickerOptions | undefined) => Promise; + 'dismiss': (data?: any, role?: string | undefined, pickerId?: number) => Promise; 'getTop': () => HTMLIonPickerElement; } var HTMLIonPickerControllerElement: { @@ -3723,7 +3723,7 @@ declare global { /** * Dismiss the picker overlay after it has been presented. */ - 'dismiss': (data?: any, role?: string) => Promise; + 'dismiss': (data?: any, role?: string | undefined) => Promise; /** * Number of milliseconds to wait before dismissing the picker. */ @@ -3736,7 +3736,7 @@ declare global { * Animation to use when the picker is presented. */ 'enterAnimation': AnimationBuilder; - 'getColumn': (name: string) => PickerColumn; + 'getColumn': (name: string) => PickerColumn | undefined; 'getColumns': () => PickerColumn[]; 'keyboardClose': boolean; /** @@ -3746,11 +3746,11 @@ declare global { /** * Returns a promise that resolves when the picker did dismiss. It also accepts a callback that is called in the same circustances. ``` const {data, role} = await picker.onDidDismiss(); ``` */ - 'onDidDismiss': (callback?: (detail: OverlayEventDetail) => void) => Promise; + 'onDidDismiss': (callback?: ((detail: OverlayEventDetail) => void) | undefined) => Promise; /** * Returns a promise that resolves when the picker will dismiss. It also accepts a callback that is called in the same circustances. ``` const {data, role} = await picker.onWillDismiss(); ``` */ - 'onWillDismiss': (callback?: (detail: OverlayEventDetail) => void) => Promise; + 'onWillDismiss': (callback?: ((detail: OverlayEventDetail) => void) | undefined) => Promise; 'overlayId': number; /** * Present the picker overlay after it has been created. @@ -3893,8 +3893,8 @@ declare global { declare global { interface HTMLIonPopoverControllerElement extends HTMLStencilElement { - 'create': (opts?: PopoverOptions) => Promise; - 'dismiss': (data?: any, role?: string, popoverId?: number) => Promise; + 'create': (opts?: PopoverOptions | undefined) => Promise; + 'dismiss': (data?: any, role?: string | undefined, popoverId?: number) => Promise; 'getTop': () => HTMLIonPopoverElement; } var HTMLIonPopoverControllerElement: { @@ -3942,7 +3942,7 @@ declare global { /** * Dismiss the popover overlay after it has been presented. */ - 'dismiss': (data?: any, role?: string) => Promise; + 'dismiss': (data?: any, role?: string | undefined) => Promise; /** * If true, the popover will be dismissed when the backdrop is clicked. Defaults to `true`. */ @@ -3967,11 +3967,11 @@ declare global { /** * Returns a promise that resolves when the popover did dismiss. It also accepts a callback that is called in the same circustances. ``` const {data, role} = await popover.onDidDismiss(); ``` */ - 'onDidDismiss': (callback?: (detail: OverlayEventDetail) => void) => Promise; + 'onDidDismiss': (callback?: ((detail: OverlayEventDetail) => void) | undefined) => Promise; /** * Returns a promise that resolves when the popover will dismiss. It also accepts a callback that is called in the same circustances. ``` const {data, role} = await popover.onWillDismiss(); ``` */ - 'onWillDismiss': (callback?: (detail: OverlayEventDetail) => void) => Promise; + 'onWillDismiss': (callback?: ((detail: OverlayEventDetail) => void) | undefined) => Promise; 'overlayId': number; /** * Present the popover overlay after it has been created. @@ -4322,7 +4322,7 @@ declare global { /** * Returns the ratio of the upper value's is current location, which is a number between `0` and `1`. If there is only one knob, then this will return `null`. */ - 'ratioUpper': () => number; + 'ratioUpper': () => number | null; /** * If true, the knob snaps to tick marks evenly spaced based on the step property value. Defaults to `false`. */ @@ -4751,10 +4751,10 @@ declare global { interface HTMLIonRouterOutletElement extends HTMLStencilElement { 'animated': boolean; 'animationBuilder': AnimationBuilder; - 'commit': (enteringEl: HTMLElement, leavingEl: HTMLElement, opts?: RouterOutletOptions) => Promise; + 'commit': (enteringEl: HTMLElement, leavingEl: HTMLElement | undefined, opts?: RouterOutletOptions | undefined) => Promise; 'delegate': FrameworkDelegate; - 'getRouteId': () => RouteID; - 'setRoot': (component: ComponentRef, params?: ComponentProps, opts?: RouterOutletOptions) => Promise; + 'getRouteId': () => RouteID | undefined; + 'setRoot': (component: ComponentRef, params?: ComponentProps | undefined, opts?: RouterOutletOptions | undefined) => Promise; 'setRouteId': (id: string, params: any, direction: number) => Promise; } var HTMLIonRouterOutletElement: { @@ -4850,10 +4850,10 @@ declare global { */ 'forceOverscroll': boolean; 'mode': string; - 'scrollByPoint': (x: number, y: number, duration: number, done?: Function) => Promise; + 'scrollByPoint': (x: number, y: number, duration: number, done?: Function | undefined) => Promise; 'scrollEvents': boolean; 'scrollToBottom': (duration: number) => Promise; - 'scrollToPoint': (x: number, y: number, duration: number, done?: Function) => Promise; + 'scrollToPoint': (x: number, y: number, duration: number, done?: Function | undefined) => Promise; 'scrollToTop': (duration: number) => Promise; } var HTMLIonScrollElement: { @@ -5178,7 +5178,7 @@ declare global { /** * The text value of the option. */ - 'value': string|null; + 'value': string; } var HTMLIonSelectOptionElement: { prototype: HTMLIonSelectOptionElement; @@ -5216,7 +5216,7 @@ declare global { /** * The text value of the option. */ - 'value'?: string|null; + 'value'?: string; } } } @@ -5296,7 +5296,7 @@ declare global { /** * the value of the select. */ - 'value': string | string[] | null; + 'value': string | string[] | undefined; } var HTMLIonSelectElement: { prototype: HTMLIonSelectElement; @@ -5374,7 +5374,7 @@ declare global { /** * the value of the select. */ - 'value'?: string | string[] | null; + 'value'?: string | string[] | undefined; } } } @@ -5516,15 +5516,15 @@ declare global { /** * Transition to the next slide. */ - 'slideNext': (speed?: number, runCallbacks?: boolean) => void; + 'slideNext': (speed?: number | undefined, runCallbacks?: boolean | undefined) => void; /** * Transition to the previous slide. */ - 'slidePrev': (speed?: number, runCallbacks?: boolean) => void; + 'slidePrev': (speed?: number | undefined, runCallbacks?: boolean | undefined) => void; /** * Transition to the specified slide. */ - 'slideTo': (index: number, speed?: number, runCallbacks?: boolean) => void; + 'slideTo': (index: number, speed?: number | undefined, runCallbacks?: boolean | undefined) => void; /** * Start auto play. */ @@ -5816,7 +5816,7 @@ declare global { * If true, the user cannot interact with the tab. Defaults to `false`. */ 'disabled': boolean; - 'getTabId': () => string; + 'getTabId': () => string | null; /** * The URL which will be used as the `href` within this tab's `` anchor. */ @@ -5971,9 +5971,9 @@ declare global { * The color to use from your Sass `$colors` map. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information, see [Theming your App](/docs/theming/theming-your-app). */ 'color': string; - 'getRouteId': () => RouteID; - 'getSelected': () => HTMLIonTabElement; - 'getTab': (tabOrIndex: string | number | HTMLIonTabElement) => HTMLIonTabElement; + 'getRouteId': () => RouteID | undefined; + 'getSelected': () => HTMLIonTabElement | undefined; + 'getTab': (tabOrIndex: string | number | HTMLIonTabElement) => HTMLIonTabElement | undefined; /** * A unique name for the tabs */ @@ -6362,8 +6362,8 @@ declare global { declare global { interface HTMLIonToastControllerElement extends HTMLStencilElement { - 'create': (opts?: ToastOptions) => Promise; - 'dismiss': (data?: any, role?: string, toastId?: number) => Promise; + 'create': (opts?: ToastOptions | undefined) => Promise; + 'dismiss': (data?: any, role?: string | undefined, toastId?: number) => Promise; 'getTop': () => HTMLIonToastElement; } var HTMLIonToastControllerElement: { @@ -6402,7 +6402,7 @@ declare global { /** * Dismiss the toast overlay after it has been presented. */ - 'dismiss': (data?: any, role?: string) => Promise; + 'dismiss': (data?: any, role?: string | undefined) => Promise; /** * If true, the toast will dismiss when the page changes. Defaults to `false`. */ @@ -6427,11 +6427,11 @@ declare global { /** * Returns a promise that resolves when the toast did dismiss. It also accepts a callback that is called in the same circustances. ``` const {data, role} = await toast.onDidDismiss(); ``` */ - 'onDidDismiss': (callback?: (detail: OverlayEventDetail) => void) => Promise; + 'onDidDismiss': (callback?: ((detail: OverlayEventDetail) => void) | undefined) => Promise; /** * Returns a promise that resolves when the toast will dismiss. It also accepts a callback that is called in the same circustances. ``` const {data, role} = await toast.onWillDismiss(); ``` */ - 'onWillDismiss': (callback?: (detail: OverlayEventDetail) => void) => Promise; + 'onWillDismiss': (callback?: ((detail: OverlayEventDetail) => void) | undefined) => Promise; 'overlayId': number; /** * The position of the toast on the screen. Possible values: "top", "middle", "bottom". diff --git a/core/src/components/datetime/datetime-util.ts b/core/src/components/datetime/datetime-util.ts index fab4b713f0..90975c1b61 100644 --- a/core/src/components/datetime/datetime-util.ts +++ b/core/src/components/datetime/datetime-util.ts @@ -1,9 +1,7 @@ -export function isBlank(val: any): val is null { return val === undefined || val === null; } - export function renderDatetime(template: string, value: DatetimeData, locale: LocaleData) { if (value === undefined) { - return ''; + return undefined; } const tokens: string[] = []; @@ -24,7 +22,7 @@ export function renderDatetime(template: string, value: DatetimeData, locale: Lo }); if (!hasText) { - return ''; + return undefined; } for (let i = 0; i < tokens.length; i += 2) { @@ -37,9 +35,9 @@ export function renderDatetime(template: string, value: DatetimeData, locale: Lo export function renderTextFormat(format: string, value: any, date: DatetimeData|null, locale: LocaleData): string { - if (format === FORMAT_DDDD || format === FORMAT_DDD) { + if ((format === FORMAT_DDDD || format === FORMAT_DDD)) { try { - value = (new Date(date.year, date.month - 1, date.day)).getDay(); + value = (new Date(date!.year!, date!.month! - 1, date!.day)).getDay(); if (format === FORMAT_DDDD) { return (locale.dayNames ? locale.dayNames : DAY_NAMES)[value]; @@ -62,7 +60,7 @@ export function renderTextFormat(format: string, value: any, date: DatetimeData| return date && date.hour ? date.hour < 12 ? 'am' : 'pm' : value ? value : ''; } - if (isBlank(value)) { + if (value == null) { return ''; } @@ -155,7 +153,7 @@ export function dateValueRange(format: string, min: DatetimeData, max: DatetimeD return opts; } -export function dateSortValue(year: number, month: number, day: number, hour = 0, minute = 0): number { +export function dateSortValue(year: number|undefined, month: number|undefined, day: number|undefined, hour = 0, minute = 0): number { return parseInt(`1${fourDigit(year)}${twoDigit(month)}${twoDigit(day)}${twoDigit(hour)}${twoDigit(minute)}`, 10); } @@ -181,7 +179,7 @@ const TIME_REGEXP = /^((\d{2}):(\d{2})(?::(\d{2})(?:\.(\d{3}))?)?(?:(Z)|([+\-])( export function parseDate(val: any): DatetimeData|null { // manually parse IS0 cuz Date.parse cannot be trusted // ISO 8601 format: 1994-12-15T13:47:20Z - let parse: any[] = null; + let parse: any[]|null = null; if (val && val !== '') { // try parsing for just time first, HH:MM @@ -197,7 +195,7 @@ export function parseDate(val: any): DatetimeData|null { } } - if (isBlank(parse)) { + if (parse == null) { // wasn't able to parse the ISO datetime return null; } @@ -316,12 +314,12 @@ export function parseTemplate(template: string): string[] { export function getValueFromFormat(date: DatetimeData, format: string) { if (format === FORMAT_A || format === FORMAT_a) { - return (date.hour < 12 ? 'am' : 'pm'); + return (date.hour! < 12 ? 'am' : 'pm'); } if (format === FORMAT_hh || format === FORMAT_h) { - return (date.hour > 12 ? date.hour - 12 : date.hour); + return (date.hour! > 12 ? date.hour! - 12 : date.hour); } - return (date as any)[convertFormatToKey(format)]; + return (date as any)[convertFormatToKey(format)!]; } @@ -356,12 +354,12 @@ export function convertDataToISO(data: DatetimeData): string { // YYYY-MM-DDTHH:mm:SS rtn += `T${twoDigit(data.hour)}:${twoDigit(data.minute)}:${twoDigit(data.second)}`; - if (data.millisecond > 0) { + if (data.millisecond! > 0) { // YYYY-MM-DDTHH:mm:SS.SSS rtn += '.' + threeDigit(data.millisecond); } - if (isBlank(data.tzOffset) || data.tzOffset === 0) { + if (data.tzOffset == null || data.tzOffset === 0) { // YYYY-MM-DDTHH:mm:SSZ rtn += 'Z'; @@ -397,9 +395,9 @@ export function convertDataToISO(data: DatetimeData): string { * Use to convert a string of comma separated strings or * an array of strings, and clean up any user input */ -export function convertToArrayOfStrings(input: string | string[] | undefined | null, type: string): string[] { +export function convertToArrayOfStrings(input: string | string[] | undefined | null, type: string): string[]|undefined { if (!input) { - return null; + return undefined; } if (typeof input === 'string') { @@ -408,7 +406,7 @@ export function convertToArrayOfStrings(input: string | string[] | undefined | n input = input.replace(/\[|\]/g, '').split(','); } - let values: string[]; + let values: string[] | undefined = undefined; if (Array.isArray(input)) { // trim up each string value values = input.map(val => val.toString().trim()); diff --git a/core/src/components/datetime/datetime.tsx b/core/src/components/datetime/datetime.tsx index ac3d9e6237..1f0b646624 100644 --- a/core/src/components/datetime/datetime.tsx +++ b/core/src/components/datetime/datetime.tsx @@ -12,7 +12,6 @@ import { dateValueRange, daysInMonth, getValueFromFormat, - isBlank, parseDate, parseTemplate, renderDatetime, @@ -67,7 +66,7 @@ export class Datetime { * datetime. For example, the minimum could just be the year, such as `1994`. * Defaults to the beginning of the year, 100 years ago from today. */ - @Prop({ mutable: true }) min: string; + @Prop({ mutable: true }) min: string | undefined; /** * The maximum datetime allowed. Value must be a date string @@ -77,7 +76,7 @@ export class Datetime { * datetime. For example, the maximum could just be the year, such as `1994`. * Defaults to the end of this year. */ - @Prop({ mutable: true }) max: string; + @Prop({ mutable: true }) max: string | undefined; /** * The display format of the date and time as text that shows @@ -96,7 +95,7 @@ export class Datetime { * choose an exact date from the datetime picker. Each column follows the string * parse format. Defaults to use `displayFormat`. */ - @Prop() pickerFormat: string; + @Prop() pickerFormat: string | undefined; /** * The text to display on the picker's cancel button. Default: `Cancel`. @@ -115,7 +114,7 @@ export class Datetime { * of numbers, or string of comma separated numbers. For example, to show upcoming and * recent leap years, then this input's value would be `yearValues="2024,2020,2016,2012,2008"`. */ - @Prop() yearValues: number[] | number | string; + @Prop() yearValues: number[] | number | string | undefined; /** * Values used to create the list of selectable months. By default @@ -125,7 +124,7 @@ export class Datetime { * input value would be `monthValues="6,7,8"`. Note that month numbers do *not* have a * zero-based index, meaning January's value is `1`, and December's is `12`. */ - @Prop() monthValues: number[] | number | string; + @Prop() monthValues: number[] | number | string | undefined; /** * Values used to create the list of selectable days. By default @@ -135,7 +134,7 @@ export class Datetime { * number for the selected month, like `31` in February, it will correctly not show * days which are not valid for the selected month. */ - @Prop() dayValues: number[] | number | string; + @Prop() dayValues: number[] | number | string | undefined; /** * Values used to create the list of selectable hours. By default @@ -143,7 +142,7 @@ export class Datetime { * to control exactly which hours to display, the `hourValues` input can take a number, an * array of numbers, or a string of comma separated numbers. */ - @Prop() hourValues: number[] | number | string; + @Prop() hourValues: number[] | number | string | undefined; /** * Values used to create the list of selectable minutes. By default @@ -152,31 +151,31 @@ export class Datetime { * separated numbers. For example, if the minute selections should only be every 15 minutes, * then this input value would be `minuteValues="0,15,30,45"`. */ - @Prop() minuteValues: number[] | number | string; + @Prop() minuteValues: number[] | number | string | undefined; /** * Full names for each month name. This can be used to provide * locale month names. Defaults to English. */ - @Prop() monthNames: string[] | string; + @Prop() monthNames: string[] | string | undefined; /** * Short abbreviated names for each month name. This can be used to provide * locale month names. Defaults to English. */ - @Prop() monthShortNames: string[] | string; + @Prop() monthShortNames: string[] | string | undefined; /** * Full day of the week names. This can be used to provide * locale names for each day in the week. Defaults to English. */ - @Prop() dayNames: string[] | string; + @Prop() dayNames: string[] | string | undefined; /** * Short abbreviated day of the week names. This can be used to provide * locale names for each day in the week. Defaults to English. */ - @Prop() dayShortNames: string[] | string; + @Prop() dayShortNames: string[] | string | undefined; /** * Any additional options that the picker interface can accept. @@ -191,7 +190,7 @@ export class Datetime { * The text to display when there's no date selected yet. * Using lowercase to match the input attribute */ - @Prop() placeholder: string; + @Prop() placeholder: string | undefined; /** * the value of the datetime. @@ -237,7 +236,7 @@ export class Datetime { this.emitStyle(); } - emitStyle() { + private emitStyle() { clearTimeout(this.styleTmr); this.styleTmr = setTimeout(() => { @@ -249,15 +248,12 @@ export class Datetime { }); } - /** - * Update the datetime text and datetime value - */ - updateValue() { + private updateValue() { updateDate(this.datetimeValue, this.value); this.updateText(); } - buildPicker(pickerOptions: PickerOptions) { + private buildPicker(pickerOptions: PickerOptions) { console.debug('Build Datetime: Picker with', pickerOptions); // If the user has not passed in picker buttons, @@ -293,7 +289,7 @@ export class Datetime { return picker; } - open() { + private open() { const pickerOptions = {...this.pickerOptions}; // TODO check this.isFocus() || this.disabled @@ -315,10 +311,7 @@ export class Datetime { }); } - - /** - */ - generateColumns(): PickerColumn[] { + private generateColumns(): PickerColumn[] { let columns: PickerColumn[] = []; // if a picker format wasn't provided, then fallback @@ -344,7 +337,7 @@ export class Datetime { parseTemplate(template).forEach((format: any) => { // loop through each format in the template // create a new picker column to build up with data - const key = convertFormatToKey(format); + const key = convertFormatToKey(format)!; let values: any[]; // check if they have exact values to use for this date part @@ -393,10 +386,7 @@ export class Datetime { return columns; } - /** - * @private - */ - validate() { + private validate() { const today = new Date(); const minCompareVal = dateDataSortValue(this.datetimeMin); const maxCompareVal = dateDataSortValue(this.datetimeMax); @@ -409,10 +399,13 @@ export class Datetime { selectedYear = yearCol.options[0].value; } - const yearOpt = yearCol.options[yearCol.selectedIndex]; - if (yearOpt) { - // they have a selected year value - selectedYear = yearOpt.value; + const selectedIndex = yearCol.selectedIndex; + if (selectedIndex != null) { + const yearOpt = yearCol.options[selectedIndex]; + if (yearOpt) { + // they have a selected year value + selectedYear = yearOpt.value; + } } } @@ -446,30 +439,27 @@ export class Datetime { ); } - - /** - */ - calcMinMax(now?: Date) { + private calcMinMax(now?: Date) { const todaysYear = (now || new Date()).getFullYear(); if (this.yearValues) { const years = convertToArrayOfNumbers(this.yearValues, 'year'); - if (isBlank(this.min)) { + if (this.min == null) { this.min = Math.min.apply(Math, years); } - if (isBlank(this.max)) { + if (this.max == null) { this.max = Math.max.apply(Math, years); } } else { - if (isBlank(this.min)) { + if (this.min == null) { this.min = (todaysYear - 100).toString(); } - if (isBlank(this.max)) { + if (this.max == null) { this.max = todaysYear.toString(); } } - const min = this.datetimeMin = parseDate(this.min); - const max = this.datetimeMax = parseDate(this.max); + const min = this.datetimeMin = parseDate(this.min)!; + const max = this.datetimeMax = parseDate(this.max)!; min.year = min.year || todaysYear; max.year = max.year || todaysYear; @@ -501,10 +491,7 @@ export class Datetime { } } - - /** - */ - validateColumn(name: string, index: number, min: number, max: number, lowerBounds: number[], upperBounds: number[]): number { + private validateColumn(name: string, index: number, min: number, max: number, lowerBounds: number[], upperBounds: number[]): number { const column = this.picker.getColumn(name); if (!column) { return 0; @@ -533,7 +520,7 @@ export class Datetime { indexMax = Math.max(indexMax, i); } } - const selectedIndex = column.selectedIndex = clamp(indexMin, column.selectedIndex, indexMax); + const selectedIndex = column.selectedIndex = clamp(indexMin, column.selectedIndex!, indexMax); const opt = column.options[selectedIndex]; if (opt) { return opt.value; @@ -542,9 +529,7 @@ export class Datetime { } - /** - */ - divyColumns(columns: PickerColumn[]): PickerColumn[] { + private divyColumns(columns: PickerColumn[]): PickerColumn[] { const pickerColumns = columns; const columnsWidth: number[] = []; let col: PickerColumn; @@ -554,7 +539,7 @@ export class Datetime { columnsWidth.push(0); for (let j = 0; j < col.options.length; j++) { - width = col.options[j].text.length; + width = col.options[j].text!.length; if (width > columnsWidth[i]) { columnsWidth[i] = width; } @@ -580,9 +565,10 @@ export class Datetime { /** */ - updateText() { + private updateText() { // create the text of the formatted data const template = this.displayFormat || this.pickerFormat || DEFAULT_FORMAT; + // debugger; this.text = renderDatetime(template, this.datetimeValue, this.locale); } @@ -608,9 +594,13 @@ export class Datetime { // If selected text has been passed in, use that first let datetimeText = this.text; - if (!datetimeText && this.placeholder) { - datetimeText = this.placeholder; - addPlaceholderClass = true; + if (datetimeText == null) { + if (this.placeholder) { + datetimeText = this.placeholder; + addPlaceholderClass = true; + } else { + datetimeText = ''; + } } const datetimeTextClasses: CssClassMap = { diff --git a/core/src/components/hide-when/hide-when.tsx b/core/src/components/hide-when/hide-when.tsx index 8425174f49..38db4e87de 100644 --- a/core/src/components/hide-when/hide-when.tsx +++ b/core/src/components/hide-when/hide-when.tsx @@ -16,11 +16,11 @@ export class HideWhen implements DisplayWhen { @Prop({ context: 'config' }) config: Config; @Prop({ context: 'platforms' }) calculatedPlatforms: PlatformConfig[]; - @Prop() orientation: string = null; - @Prop() mediaQuery: string = null; - @Prop() size: string = null; - @Prop() mode: string = null; - @Prop() platform: string = null; + @Prop() orientation: string|undefined; + @Prop() mediaQuery: string|undefined; + @Prop() size: string|undefined; + @Prop() mode: string|undefined; + @Prop() platform: string|undefined; @Prop() or = false; @State() passesTest = false; diff --git a/core/src/components/input-shims/hacks/scroll-assist.ts b/core/src/components/input-shims/hacks/scroll-assist.ts index f47d4afca3..8564072671 100644 --- a/core/src/components/input-shims/hacks/scroll-assist.ts +++ b/core/src/components/input-shims/hacks/scroll-assist.ts @@ -10,12 +10,12 @@ export default function enableScrollAssist( keyboardHeight: number ) { let coord: any; - const touchStart = (ev: UIEvent) => { + const touchStart = (ev: Event) => { coord = pointerCoord(ev); console.debug(`input-base, pointerStart, type: ${ev.type}`); }; - const touchEnd = (ev: UIEvent) => { + const touchEnd = (ev: Event) => { // input cover touchend/mouseup console.debug(`input-base, pointerEnd, type: ${ev.type}`); if (!coord) { @@ -85,6 +85,6 @@ function hasPointerMoved(threshold: number, startCoord: PointerCoordinates, endC } export interface PointerCoordinates { - x?: number; - y?: number; + x: number; + y: number; } diff --git a/core/src/components/input-shims/hacks/scroll-padding.ts b/core/src/components/input-shims/hacks/scroll-padding.ts index 51fb97c40f..d9615165c1 100644 --- a/core/src/components/input-shims/hacks/scroll-padding.ts +++ b/core/src/components/input-shims/hacks/scroll-padding.ts @@ -23,7 +23,7 @@ function setScrollPadding(input: HTMLElement, keyboardHeight: number) { if (input.tagName !== 'INPUT') { return; } - if (input.parentElement.tagName === 'ION-INPUT') { + if (input.parentElement && input.parentElement.tagName === 'ION-INPUT') { return; } const el = input.closest('.scroll-inner') as HTMLElement; diff --git a/core/src/components/input-shims/input-shims.tsx b/core/src/components/input-shims/input-shims.tsx index b9d2bdf0dd..75b65b09a0 100644 --- a/core/src/components/input-shims/input-shims.tsx +++ b/core/src/components/input-shims/input-shims.tsx @@ -69,12 +69,16 @@ export class InputShims { const scrollEl = componentEl.closest('ion-scroll'); const contentEl = componentEl.closest('ion-content'); - if (HIDE_CARET && this.hideCaret && !this.hideCaretMap.has(componentEl)) { + if (!inputEl) { + return; + } + + if (HIDE_CARET && scrollEl && this.hideCaret && !this.hideCaretMap.has(componentEl)) { const rmFn = enableHideCaretOnScroll(componentEl, inputEl, scrollEl); this.hideCaretMap.set(componentEl, rmFn); } - if (SCROLL_ASSIST && this.scrollAssist && !this.scrollAssistMap.has(componentEl)) { + if (SCROLL_ASSIST && contentEl && this.scrollAssist && !this.scrollAssistMap.has(componentEl)) { const rmFn = enableScrollAssist(componentEl, inputEl, contentEl, this.keyboardHeight); this.scrollAssistMap.set(componentEl, rmFn); } diff --git a/core/src/components/input/input.tsx b/core/src/components/input/input.tsx index 3ab9a05b08..5511555b74 100644 --- a/core/src/components/input/input.tsx +++ b/core/src/components/input/input.tsx @@ -17,7 +17,7 @@ import { InputComponent } from './input-base'; }) export class Input implements InputComponent { - private nativeInput: HTMLInputElement; + private nativeInput: HTMLInputElement|undefined; mode: string; color: string; @@ -230,7 +230,7 @@ export class Input implements InputComponent { } componentDidUnload() { - this.nativeInput = null; + this.nativeInput = undefined; this.ionInputDidUnload.emit(this.el); } @@ -258,7 +258,7 @@ export class Input implements InputComponent { } inputChanged(ev: Event) { - this.value = ev.target && (ev.target as HTMLInputElement).value; + this.value = ev.target && (ev.target as HTMLInputElement).value || ''; this.ionInput.emit(ev); this.emitStyle(); } diff --git a/core/src/components/item-sliding/item-sliding.tsx b/core/src/components/item-sliding/item-sliding.tsx index e7f8465edd..cdb8f8f679 100644 --- a/core/src/components/item-sliding/item-sliding.tsx +++ b/core/src/components/item-sliding/item-sliding.tsx @@ -31,16 +31,16 @@ export const enum SlidingState { } }) export class ItemSliding { - private item: HTMLIonItemElement|null; - private list: HTMLIonListElement|null; + private item: HTMLIonItemElement|null = null; + private list: HTMLIonListElement|null = null; private openAmount = 0; private initialOpenAmount = 0; private optsWidthRightSide = 0; private optsWidthLeftSide = 0; private sides: ItemSide; - private tmr: number; - private leftOptions: HTMLIonItemOptionsElement|null; - private rightOptions: HTMLIonItemOptionsElement|null; + private tmr: number|undefined; + private leftOptions: HTMLIonItemOptionsElement|undefined; + private rightOptions: HTMLIonItemOptionsElement|undefined; private optsDirty = true; @Element() private el: HTMLElement; @@ -60,7 +60,8 @@ export class ItemSliding { } componentDidUnload() { - this.item = this.list = this.leftOptions = this.rightOptions = null; + this.item = this.list = null; + this.leftOptions = this.rightOptions = undefined; } /** @@ -112,7 +113,7 @@ export class ItemSliding { let sides = 0; // Reset left and right options in case they were removed - this.leftOptions = this.rightOptions = null; + this.leftOptions = this.rightOptions = undefined; for (let i = 0; i < options.length; i++) { const option = options.item(i); @@ -143,14 +144,16 @@ export class ItemSliding { if (this.tmr) { clearTimeout(this.tmr); - this.tmr = null; + this.tmr = undefined; } if (this.openAmount === 0) { this.optsDirty = true; this.state = SlidingState.Enabled; } this.initialOpenAmount = this.openAmount; - this.item.style.transition = 'none'; + if (this.item) { + this.item.style.transition = 'none'; + } } private onDragMove(gesture: GestureDetail) { @@ -198,9 +201,9 @@ export class ItemSliding { this.setOpenAmount(restingPoint, true); - if (this.state & SlidingState.SwipeRight) { + if (this.state & SlidingState.SwipeRight && this.rightOptions) { this.rightOptions.fireSwipeEvent(this); - } else if (this.state & SlidingState.SwipeLeft) { + } else if (this.state & SlidingState.SwipeLeft && this.leftOptions) { this.leftOptions.fireSwipeEvent(this); } } @@ -221,7 +224,10 @@ export class ItemSliding { private setOpenAmount(openAmount: number, isFinal: boolean) { if (this.tmr) { clearTimeout(this.tmr); - this.tmr = null; + this.tmr = undefined; + } + if (!this.item) { + return; } const style = this.item.style; this.openAmount = openAmount; @@ -241,7 +247,7 @@ export class ItemSliding { } else { this.tmr = window.setTimeout(() => { this.state = SlidingState.Disabled; - this.tmr = null; + this.tmr = undefined; }, 600); this.list && this.list.setOpenItem(null); style.transform = ''; diff --git a/core/src/components/item/item.tsx b/core/src/components/item/item.tsx index 100f110aab..f3de8188b0 100644 --- a/core/src/components/item/item.tsx +++ b/core/src/components/item/item.tsx @@ -1,4 +1,4 @@ -import { Component, Element, Listen, Prop, State } from '@stencil/core'; +import { Component, Element, Listen, Prop } from '@stencil/core'; import { createThemedClasses, getElementClassMap, openURL } from '../../utils/theme'; import { CssClassMap } from '../../index'; @@ -11,11 +11,10 @@ import { CssClassMap } from '../../index'; } }) export class Item { + private itemStyles: { [key: string]: CssClassMap } = {}; - @Element() private el: HTMLElement; - - @State() hasStyleChange: boolean; + @Element() private el: HTMLStencilElement; /** * The color to use from your Sass `$colors` map. @@ -61,23 +60,24 @@ export class Item { itemStyle(ev: UIEvent) { ev.stopPropagation(); - let hasChildStyleChange = false; - const tagName: string = (ev.target as HTMLElement).tagName; - const updatedStyles: any = ev.detail; - - for (const key in updatedStyles) { - if (('item-' + key) !== key) { - Object.defineProperty(updatedStyles, 'item-' + key, Object.getOwnPropertyDescriptor(updatedStyles, key)); - delete updatedStyles[key]; - hasChildStyleChange = true; + const updatedStyles = ev.detail as any; + const updatedKeys = Object.keys(ev.detail); + const newStyles = {} as any; + const childStyles = this.itemStyles[tagName] || {}; + let hasStyleChange = false; + for (const key of updatedKeys) { + const itemKey = `item-${key}`; + const newValue = updatedStyles[key]; + if (newValue !== childStyles[itemKey]) { + hasStyleChange = true; } + newStyles[itemKey] = newValue; } - this.itemStyles[tagName] = updatedStyles; - - if (hasChildStyleChange) { - this.hasStyleChange = true; + if (hasStyleChange) { + this.itemStyles[tagName] = newStyles; + this.el.forceUpdate(); } } @@ -93,10 +93,9 @@ export class Item { } render() { - let childStyles = {}; - + const childStyles = {}; for (const key in this.itemStyles) { - childStyles = Object.assign(childStyles, this.itemStyles[key]); + Object.assign(childStyles, this.itemStyles[key]); } const clickable = !!(this.href || this.el.onclick || this.button); @@ -119,8 +118,6 @@ export class Item { 'item-detail-push': showDetail, }; - this.hasStyleChange = false; - return ( m.isOpen()); } @@ -269,7 +269,7 @@ export class MenuController { this.menuAnimations.set(name, animation); } - private find(predicate: (menu: Menu) => boolean): HTMLIonMenuElement { + private find(predicate: (menu: Menu) => boolean): HTMLIonMenuElement|null { const instance = this.menus.find(predicate); if (instance) { return instance.el; diff --git a/core/src/components/menu/menu.tsx b/core/src/components/menu/menu.tsx index 6ba2fa5a4d..8b119a247c 100644 --- a/core/src/components/menu/menu.tsx +++ b/core/src/components/menu/menu.tsx @@ -122,10 +122,10 @@ export class Menu { @Event() protected ionMenuChange: EventEmitter; async componentWillLoad() { - this.menuCtrl = await this.lazyMenuCtrl.componentOnReady(); if (this.type == null) { this.type = this.mode === 'ios' ? 'reveal' : 'overlay'; } + this.menuCtrl = await this.lazyMenuCtrl.componentOnReady(); } componentDidLoad() { @@ -135,11 +135,12 @@ export class Menu { const el = this.el; const content = (this.contentId) ? document.getElementById(this.contentId) - : el.parentElement.querySelector('[main]'); + : el.parentElement && el.parentElement.querySelector('[main]'); if (!content || !content.tagName) { // requires content element - return console.error('Menu: must have a "content" element to listen for drag events on.'); + console.error('Menu: must have a "content" element to listen for drag events on.'); + return; } this.contentEl = content as HTMLElement; @@ -151,13 +152,13 @@ export class Menu { let isEnabled = !this.disabled; if (isEnabled === true || typeof isEnabled === 'undefined') { - const menus = this.menuCtrl.getMenus(); + const menus = this.menuCtrl!.getMenus(); isEnabled = !menus.some(m => { return m.side === this.side && !m.disabled; }); } // register this menu with the app's menu controller - this.menuCtrl._register(this); + this.menuCtrl!._register(this); this.ionMenuChange.emit({ disabled: !isEnabled, open: this._isOpen}); // mask it as enabled / disabled @@ -165,10 +166,10 @@ export class Menu { } componentDidUnload() { - this.menuCtrl._unregister(this); + this.menuCtrl!._unregister(this); this.animation && this.animation.destroy(); - this.menuCtrl = this.animation = undefined; + this.animation = undefined; this.contentEl = this.backdropEl = this.menuInnerEl = undefined; } @@ -210,7 +211,7 @@ export class Menu { @Method() setOpen(shouldOpen: boolean, animated = true): Promise { - return this.menuCtrl._setOpen(this, shouldOpen, animated); + return this.menuCtrl!._setOpen(this, shouldOpen, animated); } async _setOpen(shouldOpen: boolean, animated = true): Promise { @@ -235,7 +236,7 @@ export class Menu { private async loadAnimation(): Promise { // Menu swipe animation takes the menu's inner width as parameter, // If `offsetWidth` changes, we need to create a new animation. - const width = this.menuInnerEl.offsetWidth; + const width = this.menuInnerEl!.offsetWidth; if (width === this.width && this.animation !== undefined) { return; } @@ -247,11 +248,11 @@ export class Menu { this.animation = undefined; } // Create new animation - this.animation = await this.menuCtrl.createAnimation(this.type, this); + this.animation = await this.menuCtrl!.createAnimation(this.type, this); } private async startAnimation(shouldOpen: boolean, animated: boolean): Promise { - const ani = this.animation.reverse(!shouldOpen); + const ani = this.animation!.reverse(!shouldOpen); if (animated) { await ani.playAsync(); } else { @@ -271,7 +272,7 @@ export class Menu { } if (this._isOpen) { return true; - } else if (this.menuCtrl.getOpen()) { + } else if (this.menuCtrl!.getOpen()) { return false; } return checkEdgeSide(detail.currentX, this.isRightSide, this.maxEdgeStart); @@ -283,8 +284,7 @@ export class Menu { } private onDragStart() { - assert(!!this.animation, '_type is undefined'); - if (!this.isAnimating) { + if (!this.isAnimating || !this.animation) { assert(false, 'isAnimating has to be true'); return; } @@ -296,8 +296,7 @@ export class Menu { } private onDragMove(detail: GestureDetail) { - assert(!!this.animation, '_type is undefined'); - if (!this.isAnimating) { + if (!this.isAnimating || !this.animation) { assert(false, 'isAnimating has to be true'); return; } @@ -308,8 +307,7 @@ export class Menu { } private onDragEnd(detail: GestureDetail) { - assert(!!this.animation, '_type is undefined'); - if (!this.isAnimating) { + if (!this.isAnimating || !this.animation) { assert(false, 'isAnimating has to be true'); return; } @@ -355,7 +353,7 @@ export class Menu { // this places the menu into the correct location before it animates in // this css class doesn't actually kick off any animations this.el.classList.add(SHOW_MENU); - this.backdropEl.classList.add(SHOW_BACKDROP); + this.backdropEl && this.backdropEl.classList.add(SHOW_BACKDROP); this.isAnimating = true; } @@ -374,7 +372,7 @@ export class Menu { if (isOpen) { // add css class - this.contentEl.classList.add(MENU_CONTENT_OPEN); + this.contentEl && this.contentEl.classList.add(MENU_CONTENT_OPEN); // emit open event this.ionOpen.emit(); @@ -382,8 +380,8 @@ export class Menu { } else { // remove css classes this.el.classList.remove(SHOW_MENU); - this.contentEl.classList.remove(MENU_CONTENT_OPEN); - this.backdropEl.classList.remove(SHOW_BACKDROP); + this.contentEl && this.contentEl.classList.remove(MENU_CONTENT_OPEN); + this.backdropEl && this.backdropEl.classList.remove(SHOW_BACKDROP); // emit close event this.ionClose.emit(); @@ -438,23 +436,20 @@ export class Menu { tappable={false} stopPropagation={false}/>, - + ]); } } diff --git a/core/src/components/modal/animations/ios.leave.ts b/core/src/components/modal/animations/ios.leave.ts index 054363ef5f..19494d6a6e 100644 --- a/core/src/components/modal/animations/ios.leave.ts +++ b/core/src/components/modal/animations/ios.leave.ts @@ -13,7 +13,7 @@ export default function iosLeaveAnimation(Animation: Animation, baseEl: HTMLElem const wrapperAnimation = new Animation(); const wrapperEl = baseEl.querySelector('.modal-wrapper'); wrapperAnimation.addElement(wrapperEl); - const wrapperElRect = wrapperEl.getBoundingClientRect(); + const wrapperElRect = wrapperEl!.getBoundingClientRect(); wrapperAnimation.beforeStyles({ 'opacity': 1 }) .fromTo('translateY', '0%', `${window.innerHeight - wrapperElRect.top}px`); diff --git a/core/src/components/modal/modal.tsx b/core/src/components/modal/modal.tsx index e21047185d..c44b097255 100644 --- a/core/src/components/modal/modal.tsx +++ b/core/src/components/modal/modal.tsx @@ -166,9 +166,12 @@ export class Modal implements OverlayInterface { @Method() async present(): Promise { if (this.presented) { - return Promise.resolve(); + return; } const container = this.el.querySelector(`.modal-wrapper`); + if (!container) { + throw new Error('container is undefined'); + } const componentProps = { ...this.componentProps, modal: this.el diff --git a/core/src/components/nav/nav-util.ts b/core/src/components/nav/nav-util.ts index 357143e75d..c27df6ac69 100644 --- a/core/src/components/nav/nav-util.ts +++ b/core/src/components/nav/nav-util.ts @@ -87,5 +87,4 @@ export interface TransitionInstruction { done?: TransitionDoneFn; leavingRequiresTransition?: boolean; enteringRequiresTransition?: boolean; - requiresTransition?: boolean; } diff --git a/core/src/components/nav/nav.tsx b/core/src/components/nav/nav.tsx index 623c8f073a..0e55244af1 100644 --- a/core/src/components/nav/nav.tsx +++ b/core/src/components/nav/nav.tsx @@ -75,13 +75,14 @@ export class Nav implements NavOutlet { componentDidUnload() { for (const view of this.views) { - lifecycle(view.element, ViewLifecycle.WillUnload); + lifecycle(view.element!, ViewLifecycle.WillUnload); view._destroy(); } // release swipe back gesture and transition this.sbTrns && this.sbTrns.destroy(); - this.queue = this.views = this.sbTrns = null; + this.queue.length = this.views.length = 0; + this.sbTrns = undefined; this.destroyed = true; } @@ -222,7 +223,7 @@ export class Nav implements NavOutlet { getRouteId(): RouteID|undefined { const active = this.getActive(); return active ? { - id: active.element.tagName, + id: active.element!.tagName, params: active.params, element: active.element } : undefined; @@ -245,6 +246,9 @@ export class Nav implements NavOutlet { @Method() getPrevious(view = this.getActive()): ViewController|undefined { + if (!view) { + return undefined; + } const views = this.views; const index = views.indexOf(view); return (index > 0) ? views[index - 1] : undefined; @@ -303,9 +307,9 @@ export class Nav implements NavOutlet { result.direction ); } - ti.resolve(result.hasCompleted); + ti.resolve!(result.hasCompleted); - if (ti.opts.updateURL !== false && this.useRouter) { + if (ti.opts!.updateURL !== false && this.useRouter) { const router = document.querySelector('ion-router'); if (router) { const direction = (result.direction === NavDirection.Back) @@ -333,7 +337,7 @@ export class Nav implements NavOutlet { if (ti.reject && !this.destroyed) { ti.reject(rejectReason); } else { - ti.resolve(false); + ti.resolve!(false); } } @@ -369,15 +373,24 @@ export class Nav implements NavOutlet { throw new Error('no views in the stack to be removed'); } - // Needs transition? - ti.requiresTransition = (ti.enteringRequiresTransition || ti.leavingRequiresTransition) && enteringView !== leavingView; - if (enteringView && enteringView.state === ViewState.New) { await enteringView.init(this.el); } this.postViewInit(enteringView, leavingView, ti); - const result = await this.transition(enteringView, leavingView, ti); + // Needs transition? + const requiresTransition = (ti.enteringRequiresTransition || ti.leavingRequiresTransition) && enteringView !== leavingView; + const result = requiresTransition + ? await this.transition(enteringView!, leavingView, ti) + : { + // transition is not required, so we are already done! + // they're inserting/removing the views somewhere in the middle or + // beginning, so visually nothing needs to animate/transition + // resolve immediately because there's no animation that's happening + hasCompleted: true, + requiresTransition: false + }; + this.success(result, ti); this.ionNavDidChange.emit(); } catch (rejectReason) { @@ -403,22 +416,22 @@ export class Nav implements NavOutlet { if (index < 0) { throw new Error('removeView was not found'); } - ti.removeStart += index; + ti.removeStart! += index; } if (ti.removeStart != null) { if (ti.removeStart < 0) { ti.removeStart = (viewsLength - 1); } - if (ti.removeCount < 0) { + if (ti.removeCount! < 0) { ti.removeCount = (viewsLength - ti.removeStart); } - ti.leavingRequiresTransition = (ti.removeCount > 0) && ((ti.removeStart + ti.removeCount) === viewsLength); + ti.leavingRequiresTransition = (ti.removeCount! > 0) && ((ti.removeStart + ti.removeCount!) === viewsLength); } if (ti.insertViews) { // allow -1 to be passed in to auto push it on the end // and clean up the index if it's larger then the size of the stack - if (ti.insertStart < 0 || ti.insertStart > viewsLength) { + if (ti.insertStart! < 0 || ti.insertStart! > viewsLength) { ti.insertStart = viewsLength; } ti.enteringRequiresTransition = (ti.insertStart === viewsLength); @@ -449,7 +462,7 @@ export class Nav implements NavOutlet { ti.insertViews = viewControllers; } - private getEnteringView(ti: TransitionInstruction, leavingView: ViewController): ViewController|undefined { + private getEnteringView(ti: TransitionInstruction, leavingView: ViewController|undefined): ViewController|undefined { const insertViews = ti.insertViews; if (insertViews) { // grab the very last view of the views to be inserted @@ -460,7 +473,7 @@ export class Nav implements NavOutlet { const removeStart = ti.removeStart; if (removeStart != null) { const views = this.views; - const removeEnd = removeStart + ti.removeCount; + const removeEnd = removeStart + ti.removeCount!; for (let i = views.length - 1; i >= 0; i--) { const view = views[i]; if ((i < removeStart || i >= removeEnd) && view !== leavingView) { @@ -471,19 +484,19 @@ export class Nav implements NavOutlet { return undefined; } - private postViewInit(enteringView: ViewController, leavingView: ViewController, ti: TransitionInstruction) { + private postViewInit(enteringView: ViewController|undefined, leavingView: ViewController|undefined, ti: TransitionInstruction) { assert(leavingView || enteringView, 'Both leavingView and enteringView are null'); assert(ti.resolve, 'resolve must be valid'); assert(ti.reject, 'reject must be valid'); - const opts = ti.opts; + const opts = ti.opts!; const insertViews = ti.insertViews; const removeStart = ti.removeStart; const removeCount = ti.removeCount; - let destroyQueue: ViewController[] = undefined; + let destroyQueue: ViewController[]|undefined = undefined; // there are views to remove - if (removeStart != null) { + if (removeStart != null && removeCount != null) { assert(removeStart >= 0, 'removeStart can not be negative'); assert(removeCount >= 0, 'removeCount can not be negative'); @@ -511,7 +524,7 @@ export class Nav implements NavOutlet { // there are views to insert if (insertViews) { // add the views to the - let insertIndex = ti.insertStart; + let insertIndex = ti.insertStart!; for (const view of insertViews) { this.insertViewAt(view, insertIndex); insertIndex++; @@ -542,34 +555,24 @@ export class Nav implements NavOutlet { } } - private async transition(enteringView: ViewController, leavingView: ViewController, ti: TransitionInstruction): Promise { - if (!ti.requiresTransition) { - // transition is not required, so we are already done! - // they're inserting/removing the views somewhere in the middle or - // beginning, so visually nothing needs to animate/transition - // resolve immediately because there's no animation that's happening - return Promise.resolve({ - hasCompleted: true, - requiresTransition: false - }); - } + private async transition(enteringView: ViewController, leavingView: ViewController|undefined, ti: TransitionInstruction): Promise { if (this.sbTrns) { this.sbTrns.destroy(); - this.sbTrns = null; + this.sbTrns = undefined; } // we should animate (duration > 0) if the pushed page is not the first one (startup) // or if it is a portal (modal, actionsheet, etc.) + const opts = ti.opts!; - const animationBuilder = this.getAnimationBuilder(ti.opts); + const animationBuilder = this.getAnimationBuilder(opts); - const progressAnimation = ti.opts.progressAnimation + const progressAnimation = opts.progressAnimation ? (animation: Animation) => this.sbTrns = animation : undefined; - const opts = ti.opts; - const enteringEl = enteringView && enteringView.element; - const leavingEl = leavingView && leavingView.element; + const enteringEl = enteringView.element!; + const leavingEl = leavingView && leavingView.element!; const animationOpts: AnimationOptions = { animationCtrl: this.animationCtrl, animationBuilder: animationBuilder, @@ -587,14 +590,16 @@ export class Nav implements NavOutlet { leavingEl }; const trns = await transition(animationOpts); - return this.transitionFinish(trns, enteringView, leavingView, ti.opts); + return this.transitionFinish(trns, enteringView, leavingView, opts); } - private transitionFinish(transition: Animation|void, enteringView: ViewController, leavingView: ViewController, opts: NavOptions): NavResult { + private transitionFinish(transition: Animation|null, enteringView: ViewController, leavingView: ViewController | undefined, opts: NavOptions): NavResult { const hasCompleted = transition ? transition.hasCompleted : true; const cleanupView = hasCompleted ? enteringView : leavingView; - this.cleanup(cleanupView); + if (cleanupView) { + this.cleanup(cleanupView); + } // this is the root transition // it's safe to destroy this transition @@ -676,7 +681,7 @@ export class Nav implements NavOutlet { } else if (i < activeViewIndex) { // this view comes before the active view // and it is not a portal then ensure it is hidden - view.element.hidden = true; + view.element!.hidden = true; } } } diff --git a/core/src/components/nav/test/nav-controller.spec.ts b/core/src/components/nav/test/nav-controller.spec.ts index 0b8dd4d5a2..c0c9267ff6 100644 --- a/core/src/components/nav/test/nav-controller.spec.ts +++ b/core/src/components/nav/test/nav-controller.spec.ts @@ -977,8 +977,8 @@ describe('NavController', () => { nav.push(view1).then((succeded: boolean) => { expect(succeded).toEqual(false); done(); - }).catch(() => { - fail('should never get here'); + }).catch((e) => { + fail(e); done(); }); nav.componentDidUnload(); diff --git a/core/src/components/nav/view-controller.ts b/core/src/components/nav/view-controller.ts index e370df3e2b..20ef85841b 100644 --- a/core/src/components/nav/view-controller.ts +++ b/core/src/components/nav/view-controller.ts @@ -6,10 +6,10 @@ import { attachComponent } from '../../utils/framework-delegate'; export class ViewController { - nav: Nav; + nav: Nav|undefined; state: ViewState = ViewState.New; - element: HTMLElement; - delegate: FrameworkDelegate; + element: HTMLElement|undefined; + delegate: FrameworkDelegate|undefined; constructor( public component: any, @@ -43,12 +43,12 @@ export class ViewController { element.remove(); } } - this.nav = null; + this.nav = undefined; this.state = ViewState.Destroyed; } } -export function matches(view: ViewController|undefined, id: string, params: ComponentProps): boolean { +export function matches(view: ViewController|undefined, id: string, params: ComponentProps): view is ViewController { if (!view) { return false; } diff --git a/core/src/components/picker-column/picker-column.tsx b/core/src/components/picker-column/picker-column.tsx index 9dfb84a032..f1ce28299d 100644 --- a/core/src/components/picker-column/picker-column.tsx +++ b/core/src/components/picker-column/picker-column.tsx @@ -22,7 +22,7 @@ export class PickerColumnCmp { private pos: number[] = []; private rotateFactor: number; private scaleFactor: number; - private startY: number; + private startY: number|undefined; private velocity: number; private y = 0; @@ -47,7 +47,7 @@ export class PickerColumnCmp { componentDidLoad() { // get the scrollable element within the column - const colEl = this.el.querySelector('.picker-opts'); + const colEl = this.el.querySelector('.picker-opts')!; // get the height of one option this.optHeight = (colEl.firstElementChild ? colEl.firstElementChild.clientHeight : 0); @@ -84,13 +84,13 @@ export class PickerColumnCmp { let opt: PickerColumnOption; let optOffset: number; let visible: boolean; - let translateY: number; - let translateZ: number; + let translateY = 0; + let translateZ = 0; let rotateX: number; let transform: string; let selected: boolean; - const parent = this.el.querySelector('.picker-opts'); + const parent = this.el.querySelector('.picker-opts')!; const children = parent.children; const length = children.length; const selectedIndex = this.col.selectedIndex = Math.min(Math.max(Math.round(-y / this.optHeight), 0), length - 1); @@ -280,7 +280,7 @@ export class PickerColumnCmp { const currentY = detail.currentY; this.pos.push(currentY, Date.now()); - if (this.startY === null) { + if (this.startY === undefined) { return; } @@ -310,7 +310,7 @@ export class PickerColumnCmp { } private onDragEnd(detail: GestureDetail) { - if (this.startY === null) { + if (this.startY === undefined) { return; } @@ -356,7 +356,7 @@ export class PickerColumnCmp { this.update(y, 0, true, true); } - this.startY = null; + this.startY = undefined; this.decelerate(); } @@ -371,7 +371,7 @@ export class PickerColumnCmp { } } - const selectedIndex = clamp(min, this.col.selectedIndex, max); + const selectedIndex = clamp(min, this.col.selectedIndex!, max); if (this.col.prevSelected !== selectedIndex) { const y = (selectedIndex * this.optHeight) * -1; this.velocity = 0; @@ -394,7 +394,7 @@ export class PickerColumnCmp { render() { const col = this.col; - const options = this.col.options.map(o => { + const options = col.options.map(o => { if (typeof o === 'string') { o = { text: o }; } @@ -406,7 +406,7 @@ export class PickerColumnCmp { if (col.prefix) { results.push( -
+
{col.prefix}
); @@ -426,12 +426,12 @@ export class PickerColumnCmp { threshold={0} attachTo='parent' >, -
+
{options.map((o, index) => )} @@ -440,7 +440,7 @@ export class PickerColumnCmp { if (col.suffix) { results.push( -
+
{col.suffix}
); diff --git a/core/src/components/popover/popover.tsx b/core/src/components/popover/popover.tsx index c18680a199..b4d1dbe4d5 100644 --- a/core/src/components/popover/popover.tsx +++ b/core/src/components/popover/popover.tsx @@ -176,9 +176,12 @@ export class Popover implements OverlayInterface { @Method() async present(): Promise { if (this.presented) { - return Promise.reject('df'); + return; } const container = this.el.querySelector('.popover-content'); + if (!container) { + throw new Error('container is undefined'); + } const data = { ...this.componentProps, popover: this.el diff --git a/core/src/components/range/range.tsx b/core/src/components/range/range.tsx index ad37ddb1af..d7d3c5a603 100644 --- a/core/src/components/range/range.tsx +++ b/core/src/components/range/range.tsx @@ -222,7 +222,7 @@ export class Range implements BaseInputComponent { const ratio = this.ratio; if (this.snaps && ticks) { if (this.dualKnobs) { - const upperRatio = this.ratioUpper(); + const upperRatio = this.ratioUpper()!; ticks.forEach(t => { t.active = t.ratio >= ratio && t.ratio <= upperRatio; @@ -256,7 +256,7 @@ export class Range implements BaseInputComponent { } } - update(current: { x?: number; y?: number }, rect: ClientRect, isPressed: boolean) { + update(current: { x: number; y: number }, rect: ClientRect, isPressed: boolean) { // figure out where the pointer is currently at // update the knob being interacted with let ratio = clamp(0, (current.x - rect.left) / rect.width, 1); @@ -365,7 +365,7 @@ export class Range implements BaseInputComponent { this.fireFocus(); const current = { x: detail.currentX, y: detail.currentY }; - const el = this.el.querySelector('.range-slider'); + const el = this.el.querySelector('.range-slider')!; this.rect = el.getBoundingClientRect(); const rect = this.rect; @@ -432,9 +432,9 @@ export class Range implements BaseInputComponent {
{this.ticks.map(t =>