From 3a0ec5d86dd001958fdcb6bca08e02718f37b281 Mon Sep 17 00:00:00 2001 From: CaerusKaru Date: Tue, 13 Nov 2018 17:00:26 -0600 Subject: [PATCH] fix(show-hide): work with Angular components and elements without fxLayout (#881) * Fixes `fxFlex` child interfering with parent `fxShow`/`fxHide` * Fixes `fxShow`/`fxHide` not applying the correct computed styles for custom elements Closes #848 Closes #724 --- package-lock.json | 1634 +++++++++--------- package.json | 50 +- src/lib/core/style-utils/style-utils.spec.ts | 4 +- src/lib/core/style-utils/style-utils.ts | 7 +- src/lib/extended/show-hide/hide.spec.ts | 45 +- src/lib/extended/show-hide/show-hide.ts | 38 +- src/lib/extended/show-hide/show.spec.ts | 128 +- src/lib/utils/testing/custom-matchers.ts | 6 +- test/karma-system-config.js | 6 + tools/package-tools/rollup-globals.ts | 2 + 10 files changed, 1032 insertions(+), 888 deletions(-) diff --git a/package-lock.json b/package-lock.json index fc366e937..3199ac0fc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,46 +5,46 @@ "requires": true, "dependencies": { "@angular/animations": { - "version": "7.0.0-rc.0", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-7.0.0-rc.0.tgz", - "integrity": "sha512-NpFcuCfM11O/YIGl1piH3VufOlfnJSK6iyw19ElXjw4mr/jvK4vcg9fEXbqBvmQ6uregoeadRSVCp8tdRJHOyw==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-7.0.3.tgz", + "integrity": "sha512-jCRHlt+ghfSnP5a8HKr6R/Adc5Cq7i/mcYsn3V6M2QBpGFCVmy0ZWZa66QOhRaqler8u8EGi1PdoCCoGAZc4OA==", "dev": true, "requires": { "tslib": "^1.9.0" } }, "@angular/cdk": { - "version": "7.0.0-rc.0", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-7.0.0-rc.0.tgz", - "integrity": "sha512-lx87ZeP4iF9n+pf+VO1MP1TqxKLDsnICfI803S1CX/hBT2F6zKwcRSp0AtkpjplqxtKOnjuNw8+67O5vk6q2BA==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-7.0.3.tgz", + "integrity": "sha512-QT7U2tOBVfwn8Q71Nyh0UjlyXfZNKdanq3+b8GJ/+IB/d8mVdMRTXBGQ4PqY7CP+wpkgm+wbbUt3urZF1AqdmQ==", "requires": { "parse5": "^5.0.0", "tslib": "^1.7.1" } }, "@angular/common": { - "version": "7.0.0-rc.0", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-7.0.0-rc.0.tgz", - "integrity": "sha512-YghYg9lFKF0cxaCiWfgByFbQ69dq521QDG93KX1mP+Tvc0jXXlbolDPYHGXx/VMUaoHq18VNzi7ZInpgc/pRBw==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-7.0.3.tgz", + "integrity": "sha512-aiuQh6+5kWFp34SYEtpnkAJWU3Qn17S/9LjWSZbgfiaYG6MyszepxqLZPBSBPTElxx2u5VoCPh97+TpKoDqx+g==", "requires": { "tslib": "^1.9.0" } }, "@angular/compiler": { - "version": "7.0.0-rc.0", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-7.0.0-rc.0.tgz", - "integrity": "sha512-ifVqB/xJtSzOlk8B39Ld2wMbYni6Ey7s5jc+u/0NMtdut+2Q61Ar+TKjJZ3vmta3df7QqHX5JcP0W6qICRHJ+w==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-7.0.3.tgz", + "integrity": "sha512-1eF4PzWej9eoEQhHwuMxujx9B4oSjP70vORIs9pgXF8O4nWDWTKtfPQyNCPxc8mY+Fwb0+nSOEvvA+Ou8Hnreg==", "requires": { "tslib": "^1.9.0" } }, "@angular/compiler-cli": { - "version": "7.0.0-rc.0", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-7.0.0-rc.0.tgz", - "integrity": "sha512-Nkd5UgSt0NHVLE/U3FIUmSJxGW47+9B4hfR5oDhC7gkUNaRQzi+PzzVYj7jOdDJjgHV+Y0KS3msiXWhUSY4gpw==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-7.0.3.tgz", + "integrity": "sha512-8/SNgyce0Eqhfn8N/XkwSDSxTJryA+/EVLA68D2IopOSg/95u6GgYv3mVNNQnclSzC4g1FuK0zt4z0zRIWZ6JA==", "dev": true, "requires": { - "canonical-path": "0.0.2", + "canonical-path": "1.0.0", "chokidar": "^1.4.2", "convert-source-map": "^1.5.1", "dependency-graph": "^0.7.2", @@ -68,6 +68,12 @@ "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", "dev": true }, + "canonical-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/canonical-path/-/canonical-path-1.0.0.tgz", + "integrity": "sha512-feylzsbDxi1gPZ1IjystzIQZagYYLvfKrSuygUCgf7z6x790VEzze5QEkdSV1U58RA7Hi0+v6fv4K54atOzATg==", + "dev": true + }, "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", @@ -142,17 +148,6 @@ "read-pkg": "^2.0.0" } }, - "shelljs": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.2.tgz", - "integrity": "sha512-pRXeNrCA2Wd9itwhvLp5LZQvPJ0wU6bcjaTMywHHGX5XWhVN2nzSu7WV0q+oUY7mGK3mgSkDDzP3MgjqdyIgbQ==", - "dev": true, - "requires": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - } - }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", @@ -205,62 +200,61 @@ } }, "@angular/core": { - "version": "7.0.0-rc.0", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-7.0.0-rc.0.tgz", - "integrity": "sha512-DXTUjk1tUdgxj0AHQR6wAKLF+i/vSsRCBxFEzcBa944UJoYBDd1n2PIREzDMW0tkGMtxfHy3Ti+trSpPBLiDTA==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-7.0.3.tgz", + "integrity": "sha512-x/OYYykVsi2vrKlYQJ37I8HYAI/s/CtL3Sd9bl87F6AnqLWnnKIxQaofT/ShfAfdP44LQoN5BNp5j+sjs8K4Kg==", "requires": { "tslib": "^1.9.0" } }, "@angular/forms": { - "version": "7.0.0-rc.0", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-7.0.0-rc.0.tgz", - "integrity": "sha512-ZfD2n+DojwreeP0sF4GuFrihActssogDUGGeDHge5qmyCqE/5hsOUFnNkg1pk4mO9xeIggdYygH0nRHqvifmFQ==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-7.0.3.tgz", + "integrity": "sha512-URbSpsNDQOg2NxmAt2FgeXIbEXvJS2yQwP02NLkHGqqCe38dpcifijj6HlUxeH14ZBkoqeTQjtSkXlMkgt22YA==", "dev": true, "requires": { "tslib": "^1.9.0" } }, "@angular/http": { - "version": "7.0.0-rc.0", - "resolved": "https://registry.npmjs.org/@angular/http/-/http-7.0.0-rc.0.tgz", - "integrity": "sha512-f7IaVuen/WuHIKcP9mO3Jz4oy8Qxdwo3PS750Bk5VVVNBF4TILRr+96j37C7965ZBxeJQzfcGfXew7d5nObJ/A==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@angular/http/-/http-7.0.3.tgz", + "integrity": "sha512-aL+z1/tbVY8oJw5v46rbMli5vBGDVyJvs95d1l2n3hWnwMTzS9AVetjcL3B3uruAYuXoh4QlSJ+ysBgdmV1+IA==", "dev": true, "requires": { "tslib": "^1.9.0" } }, "@angular/material": { - "version": "7.0.0-rc.0", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-7.0.0-rc.0.tgz", - "integrity": "sha512-E6YBKUEefYsBxWmJZlBtibTBvNTyVNL1LcZ6IsLrNv6Ye3IHdiMFTrNCImTW03eeVPvGYoEFLv3vRRwtETb6wA==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-7.0.3.tgz", + "integrity": "sha512-acJ2zU44k/rsd4OeTdAMVP0R3te8aXwfubDQGc8YI1CdRVW1XqMSvAWkToYDVaGvnZV53zQt/iSi1XWaSXYf1Q==", "dev": true, "requires": { - "parse5": "^5.0.0", "tslib": "^1.7.1" } }, "@angular/platform-browser": { - "version": "7.0.0-rc.0", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-7.0.0-rc.0.tgz", - "integrity": "sha512-N52E4TjX3AwMT0EMZTikxQz+4rkdx1C9WnBSIuBR5rYwZi391mxexvES8PqE4UqEarm08eHvfxUwtMZU/FwC+w==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-7.0.3.tgz", + "integrity": "sha512-OKDGce2dYw9Fw8agpcSNJA+ecMMnMQCi9xoPHNIp1pYdvte7mUXKUvUzR7chqQ7b83d7SzVeEhqAZYa4BUwFRA==", "requires": { "tslib": "^1.9.0" } }, "@angular/platform-browser-dynamic": { - "version": "7.0.0-rc.0", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-7.0.0-rc.0.tgz", - "integrity": "sha512-+SbuLnedoZNY6kfY5dV5p/+Rm4oj/DVwLhOWVFMtrqiaKRSrrEThH12FPKfQCqak51RjF4wDpJbqyWCGFDIbJA==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-7.0.3.tgz", + "integrity": "sha512-hrdBtlkKyq2CZRY6z2RWFTcGF4n4MirM7EEzByEjlgiXSU+c4qHYb0a8z30qdCF1D/DZ6Md7cRRH+1uR/rCqxQ==", "dev": true, "requires": { "tslib": "^1.9.0" } }, "@angular/platform-server": { - "version": "7.0.0-rc.0", - "resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-7.0.0-rc.0.tgz", - "integrity": "sha512-OxvXlr4DQiT57vJf9wsKxO8fMnC3MBLCPK93HjWTDLgCRzH93FXbbp2+e7knqMAhELUCrC3e1MzNzzEulwkxPg==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-7.0.3.tgz", + "integrity": "sha512-yXcFwsym0zMjjIJmrD/w1vLr+Lk0MrqdBtl2MG289K65n3DLMP5YQL3vWB78x8G5MvGK+wxwEdTHNewSLELjEA==", "dev": true, "requires": { "domino": "^2.1.0", @@ -269,9 +263,9 @@ } }, "@angular/router": { - "version": "7.0.0-rc.0", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-7.0.0-rc.0.tgz", - "integrity": "sha512-rT58TKCelP6BLw8Gzu6ZPeO86xzVFpDxVCLGmwEAmkWw8xG0gACkPYeVny4hsCkfx4nbz2w8upQksOKrudZt4w==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-7.0.3.tgz", + "integrity": "sha512-885svORDpD9DkaMKjvGwn4g5bf0n3JR8os+gCNhzk0p4TPfpc+vmNo8SyY2jwdLMh2rQzrUQTDkn9SzzgiOfDQ==", "dev": true, "requires": { "tslib": "^1.9.0" @@ -287,18 +281,18 @@ } }, "@babel/core": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.1.2.tgz", - "integrity": "sha512-IFeSSnjXdhDaoysIlev//UzHZbdEmm7D0EIH2qtse9xK7mXEZQpYjs2P00XlP1qYsYvid79p+Zgg6tz1mp6iVw==", + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.1.5.tgz", + "integrity": "sha512-vOyH020C56tQvte++i+rX2yokZcRfbv/kKcw+/BCRw/cK6dvsr47aCzm8oC1XHwMSEWbqrZKzZRLzLnq6SFMsg==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.1.2", - "@babel/helpers": "^7.1.2", - "@babel/parser": "^7.1.2", + "@babel/generator": "^7.1.5", + "@babel/helpers": "^7.1.5", + "@babel/parser": "^7.1.5", "@babel/template": "^7.1.2", - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.1.2", + "@babel/traverse": "^7.1.5", + "@babel/types": "^7.1.5", "convert-source-map": "^1.1.0", "debug": "^3.1.0", "json5": "^0.5.0", @@ -309,9 +303,9 @@ }, "dependencies": { "debug": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz", - "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { "ms": "^2.1.1" @@ -332,12 +326,12 @@ } }, "@babel/generator": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.1.2.tgz", - "integrity": "sha512-70A9HWLS/1RHk3Ck8tNHKxOoKQuSKocYgwDN85Pyl/RBduss6AKxUR7RIZ/lzduQMSYfWEM4DDBu6A+XGbkFig==", + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.1.5.tgz", + "integrity": "sha512-IO31r62xfMI+wBJVmgx0JR9ZOHty8HkoYpQAjRWUGG9vykBTlGHdArZ8zoFtpUu2gs17K7qTl/TtPpiSi6t+MA==", "dev": true, "requires": { - "@babel/types": "^7.1.2", + "@babel/types": "^7.1.5", "jsesc": "^2.5.1", "lodash": "^4.17.10", "source-map": "^0.5.0", @@ -382,14 +376,14 @@ } }, "@babel/helpers": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.1.2.tgz", - "integrity": "sha512-Myc3pUE8eswD73aWcartxB16K6CGmHDv9KxOmD2CeOs/FaEAQodr3VYGmlvOmog60vNQ2w8QbatuahepZwrHiA==", + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.1.5.tgz", + "integrity": "sha512-2jkcdL02ywNBry1YNFAH/fViq4fXG0vdckHqeJk+75fpQ2OH+Az6076tX/M0835zA45E0Cqa6pV5Kiv9YOqjEg==", "dev": true, "requires": { "@babel/template": "^7.1.2", - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.1.2" + "@babel/traverse": "^7.1.5", + "@babel/types": "^7.1.5" } }, "@babel/highlight": { @@ -447,9 +441,9 @@ } }, "@babel/parser": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.1.2.tgz", - "integrity": "sha512-x5HFsW+E/nQalGMw7hu+fvPqnBeBaIr0lWJ2SG0PPL2j+Pm9lYvCrsZJGIgauPIENx0v10INIyFjmSNUD/gSqQ==", + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.1.5.tgz", + "integrity": "sha512-WXKf5K5HT6X0kKiCOezJZFljsfxKV1FpU8Tf1A7ZpGvyd/Q4hlrJm2EwoH2onaUq3O4tLDp+4gk0hHPsMyxmOg==", "dev": true }, "@babel/template": { @@ -464,26 +458,26 @@ } }, "@babel/traverse": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.1.0.tgz", - "integrity": "sha512-bwgln0FsMoxm3pLOgrrnGaXk18sSM9JNf1/nHC/FksmNGFbYnPWY4GYCfLxyP1KRmfsxqkRpfoa6xr6VuuSxdw==", + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.1.5.tgz", + "integrity": "sha512-eU6XokWypl0MVJo+MTSPUtlfPePkrqsF26O+l1qFGlCKWwmiYAYy2Sy44Qw8m2u/LbPCsxYt90rghmqhYMGpPA==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.0.0", + "@babel/generator": "^7.1.5", "@babel/helper-function-name": "^7.1.0", "@babel/helper-split-export-declaration": "^7.0.0", - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", + "@babel/parser": "^7.1.5", + "@babel/types": "^7.1.5", "debug": "^3.1.0", "globals": "^11.1.0", "lodash": "^4.17.10" }, "dependencies": { "debug": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz", - "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { "ms": "^2.1.1" @@ -498,9 +492,9 @@ } }, "@babel/types": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.1.2.tgz", - "integrity": "sha512-pb1I05sZEKiSlMUV9UReaqsCPUpgbHHHu2n1piRm7JkuBkm6QxcaIzKu6FMnMtCbih/cEYTR+RGYYC96Yk9HAg==", + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.1.5.tgz", + "integrity": "sha512-sJeqa/d9eM/bax8Ivg+fXF7FpN3E/ZmTrWbkk6r+g7biVYfALMnLin4dKijsaqEhpd2xvOGfQTkQkD31YCVV4A==", "dev": true, "requires": { "esutils": "^2.0.2", @@ -536,9 +530,9 @@ "dev": true }, "@firebase/auth": { - "version": "0.7.7", - "resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-0.7.7.tgz", - "integrity": "sha512-yGKtsWHLVtW/hUjy3hsqslCa7r/PAasJxXa64fOnonW0yXs56hOV7gAobgorsSI0aUXowdf2OR8pedQG/+xUtw==", + "version": "0.7.9", + "resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-0.7.9.tgz", + "integrity": "sha512-m8e2KZ/WvToTMovoBI5K3N0Ku8Aqt6083oqzQODUYHjf94KsAfGdoQEaJono7T7vK4o7E5xpqFgFldOM5LdgiQ==", "dev": true, "requires": { "@firebase/auth-types": "0.3.4" @@ -578,15 +572,15 @@ "dev": true }, "@firebase/firestore": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-0.8.2.tgz", - "integrity": "sha512-kGHClgRNvKc6b0W5u36kbfP+0mifLw+YQ719Kb6vooeXu8ZmKhRPyrW3qoUZeCRbLwiE6ukaTfweIN2yDpxUug==", + "version": "0.8.7", + "resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-0.8.7.tgz", + "integrity": "sha512-FdC8YKryht2Rp2CHguendS8VelP83MDY5p7EKBTlxPPZV7yb5Vt+cmLR6AG7TR+FsBzvdOUpbOEnAErUVgZAFQ==", "dev": true, "requires": { "@firebase/firestore-types": "0.7.0", "@firebase/logger": "0.1.1", - "@firebase/webchannel-wrapper": "0.2.10", - "grpc": "1.13.1", + "@firebase/webchannel-wrapper": "0.2.11", + "grpc": "1.16.0", "tslib": "1.9.0" }, "dependencies": { @@ -605,12 +599,12 @@ "dev": true }, "@firebase/functions": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@firebase/functions/-/functions-0.3.1.tgz", - "integrity": "sha512-6A38x7zPU6zCTyOgGx2v+z4ugcsWnciL6YkcZXLNlCLveUmFdL0DmaW5MEBSpSOOe8kOJMl7f3aaD6lWUHNOBg==", + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@firebase/functions/-/functions-0.3.2.tgz", + "integrity": "sha512-jZdNzNrJplswIJXcdpXZr6vEbDrDKU4P0+nHv/D85LHeHnPkkdNO+Yh3tikbVEJpYCG8EVOhIEfAIEuFo37i4A==", "dev": true, "requires": { - "@firebase/functions-types": "0.2.0", + "@firebase/functions-types": "0.2.1", "@firebase/messaging-types": "0.2.3", "isomorphic-fetch": "2.2.1", "tslib": "1.9.0" @@ -625,9 +619,9 @@ } }, "@firebase/functions-types": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@firebase/functions-types/-/functions-types-0.2.0.tgz", - "integrity": "sha512-q1FB3YKEAnWd+FpIL5Xn0B1BXO2IowrAdrSViXkFxNZVpp9iCzQ8Ytcbr3V1xUr3dnmoW/V7zkZJZGuwBgiVhw==", + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@firebase/functions-types/-/functions-types-0.2.1.tgz", + "integrity": "sha512-hH78lgDoa5E1peBSXnfQyshENmh/5a8aia+S4Ocjc53OUWRJ4VqYwWUV5gE4b2mqVKTpN4akJccLq2pCnNGZcA==", "dev": true }, "@firebase/logger": { @@ -687,9 +681,9 @@ } }, "@firebase/storage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@firebase/storage/-/storage-0.2.3.tgz", - "integrity": "sha512-2sq5jckWszW53gfQMkPNc7EumJ92oErRhzGJANbVzBumwR8qwKZU8/I+/uV9SPK1tVmSUc3S21jdoW5oOJVEuA==", + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@firebase/storage/-/storage-0.2.4.tgz", + "integrity": "sha512-uqA6CoZYkugk69ImqB16VBPP7JRPRfZwcUP9CsE0GPVGQkZQQfBGwzIyEoFA8lUfVLrvxQiL0sQvHUXZ945LMg==", "dev": true, "requires": { "@firebase/storage-types": "0.2.3", @@ -728,9 +722,9 @@ } }, "@firebase/webchannel-wrapper": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/@firebase/webchannel-wrapper/-/webchannel-wrapper-0.2.10.tgz", - "integrity": "sha512-i90GhAH1k1C7EKZHhjsMUIw6vXb7WUsMdbGMrDvFOLRtMKyC/+hHcXfK440PdNnsZpMYsCeJFBpamML806AA4w==", + "version": "0.2.11", + "resolved": "https://registry.npmjs.org/@firebase/webchannel-wrapper/-/webchannel-wrapper-0.2.11.tgz", + "integrity": "sha512-WyMXDxk/WZ+f2lOCeEvDWUce2f5Kk2sNfvArK8f+PlUnzFdy/MBzLXrmbMgyZXP7GP4ooUxYV8Sdmoh1hGk1Uw==", "dev": true }, "@google-cloud/common": { @@ -1224,9 +1218,9 @@ "dev": true }, "@types/jasmine": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-2.8.9.tgz", - "integrity": "sha512-8dPZwjosElZOGGYw1nwTvOEMof4gjwAWNFS93nBI091BoEfd5drnHOLRMiRF/LOPuMTn5LgEdv0bTUO8QFVuHQ==", + "version": "2.8.11", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-2.8.11.tgz", + "integrity": "sha512-ITPYT5rkV9S0BcucyBwXIUzqzSODVhvAzhOGV0bwZMuqWJeU0Kfdd6IJeJjGI8Gob+lDyAtKaWUfhG6QXJIPRg==", "dev": true }, "@types/long": { @@ -1257,9 +1251,9 @@ "dev": true }, "@types/node": { - "version": "7.0.71", - "resolved": "https://registry.npmjs.org/@types/node/-/node-7.0.71.tgz", - "integrity": "sha512-wpTYiRPPsjw/wiwlmP11mnln9be499B58XwoGsCy2hT8jSrRj7DE84FiIu3TBAQZ7L1ky1ibz5J9AG2YN1qZlQ==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-7.10.1.tgz", + "integrity": "sha512-fZvabBkcFJzc+eJN2XTuhKhop1RKdlGQgjmQuxYuQJ6K5rMNoHr6tomb6q0E8Axe+WPyfe/lr7CnnkGvzNh5mA==", "dev": true }, "@types/orchestrator": { @@ -1752,9 +1746,9 @@ "dev": true }, "ast-module-types": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/ast-module-types/-/ast-module-types-2.3.2.tgz", - "integrity": "sha1-S7HeLXKWeIJEKeIqYo0D6H30rRE=", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/ast-module-types/-/ast-module-types-2.4.0.tgz", + "integrity": "sha512-fAa+ZUKT0q5GPnC/sa8+X3jYY1t3Rw3jT3CxEwBfrZLTzWUtXOWQK9EiSPycvHgUpI1ygSfJZWFki66UdbXL8Q==", "dev": true }, "async": { @@ -1797,65 +1791,17 @@ "dev": true }, "autoprefixer": { - "version": "9.1.5", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.1.5.tgz", - "integrity": "sha512-kk4Zb6RUc58ld7gdosERHMF3DzIYJc2fp5sX46qEsGXQQy5bXsu8qyLjoxuY1NuQ/cJuCYnx99BfjwnRggrYIw==", + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.3.1.tgz", + "integrity": "sha512-DY9gOh8z3tnCbJ13JIWaeQsoYncTGdsrgCceBaQSIL4nvdrLxgbRSBPevg2XbX7u4QCSfLheSJEEIUUSlkbx6Q==", "dev": true, "requires": { - "browserslist": "^4.1.0", - "caniuse-lite": "^1.0.30000884", + "browserslist": "^4.3.3", + "caniuse-lite": "^1.0.30000898", "normalize-range": "^0.1.2", "num2fraction": "^1.2.2", - "postcss": "^7.0.2", - "postcss-value-parser": "^3.2.3" - }, - "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.0" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "postcss": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.5.tgz", - "integrity": "sha512-HBNpviAUFCKvEh7NZhw1e8MBPivRszIiUnhrJ+sBFVSYSqubrzwX3KG51mYgcRHX8j/cAgZJedONZcm5jTBdgQ==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.5.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "postcss": "^7.0.5", + "postcss-value-parser": "^3.3.1" } }, "aws-sign2": { @@ -1907,22 +1853,6 @@ "js-tokens": "^3.0.2" } }, - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "dev": true, - "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" - } - }, - "babylon": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", - "dev": true - }, "backo2": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", @@ -2107,9 +2037,9 @@ } }, "blob": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz", - "integrity": "sha1-vPEwUspURj8w+fx+lbmkdjCpSSE=", + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz", + "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==", "dev": true }, "block-stream": { @@ -2131,9 +2061,9 @@ } }, "bluebird": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.2.tgz", - "integrity": "sha512-dhHTWMI7kMx5whMQntl7Vr9C6BvV10lFXDAasnqnrMYhXVCzzk6IO9Fo2L75jXHT07WrOngL1WDXOp+yYS91Yg==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.3.tgz", + "integrity": "sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw==", "dev": true }, "body": { @@ -2249,14 +2179,14 @@ } }, "browserslist": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.2.0.tgz", - "integrity": "sha512-Berls1CHL7qfQz8Lct6QxYA5d2Tvt4doDWHcjvAISybpd+EKZVppNtXgXhaN6SdrPKo7YLTSZuYBs5cYrSWN8w==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.3.4.tgz", + "integrity": "sha512-u5iz+ijIMUlmV8blX82VGFrB9ecnUg5qEt55CMZ/YJEhha+d8qpBfOFuutJ6F/VKRXjZoD33b6uvarpPxcl3RA==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30000889", - "electron-to-chromium": "^1.3.73", - "node-releases": "^1.0.0-alpha.12" + "caniuse-lite": "^1.0.30000899", + "electron-to-chromium": "^1.3.82", + "node-releases": "^1.0.1" } }, "browserstack": { @@ -2496,12 +2426,36 @@ "integrity": "sha1-qEq8glpV70yysCi9dOIFpluaSZY=", "dev": true }, + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "dev": true, + "requires": { + "callsites": "^2.0.0" + } + }, + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "dev": true, + "requires": { + "caller-callsite": "^2.0.0" + } + }, "callsite": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", "dev": true }, + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "dev": true + }, "camel-case": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", @@ -2538,9 +2492,9 @@ } }, "caniuse-lite": { - "version": "1.0.30000890", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000890.tgz", - "integrity": "sha512-4NI3s4Y6ROm+SgZN5sLUG4k7nVWQnedis3c/RWkynV5G6cHSY7+a8fwFyn2yoBDE3E6VswhTNNwR3PvzGqlTkg==", + "version": "1.0.30000907", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000907.tgz", + "integrity": "sha512-No5sQ/OB2Nmka8MNOOM6nJx+Hxt6MQ6h7t7kgJFu9oTuwjykyKRSBP/+i/QAyFHxeHB+ddE0Da1CG5ihx9oehQ==", "dev": true }, "canonical-path": { @@ -2696,9 +2650,9 @@ "dev": true }, "circular-json": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.5.7.tgz", - "integrity": "sha512-/pXoV1JA847qRKPrHbBK6YIBGFF8GOP4wzSgUOA7q0ew0vAv0iJswP+2/nZQ9uzA3Azi7eTrg9L2yzXc/7ZMIA==", + "version": "0.5.9", + "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.5.9.tgz", + "integrity": "sha512-4ivwqHpIFJZBuhN3g/pEcdbnGUywkBblloGbkglyloVjjR3uT6tieI89MVOfbP2tHX5sgb01FuLgAOzebNlJNQ==", "dev": true }, "cjson": { @@ -2755,9 +2709,9 @@ "dev": true }, "cli-color": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/cli-color/-/cli-color-1.3.0.tgz", - "integrity": "sha512-XmbLr8MzgOup/sPHF4nOZerCOcL7rD7vKWpEl0axUsMAY+AEimOhYva1ksskWqkLGY/bjR9h7Cfbr+RrJRfmTQ==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/cli-color/-/cli-color-1.4.0.tgz", + "integrity": "sha512-xu6RvQqqrWEo6MPR1eixqGPywhYBHRs653F9jfXB2Hx4jdM/3WxiNE1vppRmxtMIfl16SFYTpYlrnqH/HsK/2w==", "dev": true, "requires": { "ansi-regex": "^2.1.1", @@ -3528,11 +3482,12 @@ "dev": true }, "cosmiconfig": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.0.6.tgz", - "integrity": "sha512-6DWfizHriCrFWURP1/qyhsiFvYdlJzbCzmtFWh744+KyWsJo5+kPzUZZaMRSSItoYc0pxFX7gEO7ZC1/gN/7AQ==", + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.0.7.tgz", + "integrity": "sha512-PcLqxTKiDmNT6pSpy4N6KtuPwb53W+2tzNvwOZw0WH9N6O0vLIBq0x8aj8Oj75ere4YcGi48bDFCL+3fRJdlNA==", "dev": true, "requires": { + "import-fresh": "^2.0.0", "is-directory": "^0.3.1", "js-yaml": "^3.9.0", "parse-json": "^4.0.0" @@ -3614,10 +3569,9 @@ } }, "cryptiles": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz", - "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=", - "dev": true, + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.4.tgz", + "integrity": "sha512-8I1sgZHfVwcSOY6mSGpVU3lw/GSIZvusg8dD2+OGehCJpOhQRLNcH0qb9upQnOH4XhgxxFJSg6E2kx95deb1Tw==", "requires": { "boom": "5.x.x" }, @@ -3626,7 +3580,6 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", - "dev": true, "requires": { "hoek": "4.x.x" } @@ -3992,21 +3945,21 @@ "dev": true }, "dependency-tree": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/dependency-tree/-/dependency-tree-6.1.1.tgz", - "integrity": "sha512-jnemt7VLwdZKlbzmw1HSevq3ybtTczduk/jvv4x4RWx3vStMZ2yeFL2GZ2KJT0ycJWll9N3ZmOIoKziMnvtC2Q==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/dependency-tree/-/dependency-tree-6.2.1.tgz", + "integrity": "sha512-XkQ6KFHiO+VTM71zLtZ1KuCL6BWMW7GXvFWTCWOPOMgccYp68CBpSSqKR8trw8HsniSAi7hBjPcBqNCYMVzUWQ==", "dev": true, "requires": { - "commander": "^2.16.0", - "debug": "^3.1.0", - "filing-cabinet": "^1.14.2", - "precinct": "^4.2.0" + "commander": "^2.17.1", + "debug": "^4.0.1", + "filing-cabinet": "^2.0.1", + "precinct": "^5.0.0" }, "dependencies": { "debug": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz", - "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz", + "integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==", "dev": true, "requires": { "ms": "^2.1.1" @@ -4039,51 +3992,51 @@ "dev": true }, "detective-amd": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/detective-amd/-/detective-amd-2.4.0.tgz", - "integrity": "sha1-XrDfTvXBipQDOwfa8TbbzV/HXNU=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/detective-amd/-/detective-amd-3.0.0.tgz", + "integrity": "sha512-kOpKHyabdSKF9kj7PqYHLeHPw+TJT8q2u48tZYMkIcas28el1CYeLEJ42Nm+563/Fq060T5WknfwDhdX9+kkBQ==", "dev": true, "requires": { "ast-module-types": "^2.3.1", "escodegen": "^1.8.0", - "get-amd-module-type": "^2.0.4", - "node-source-walk": "^3.0.0" + "get-amd-module-type": "^3.0.0", + "node-source-walk": "^4.0.0" } }, "detective-cjs": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/detective-cjs/-/detective-cjs-2.0.1.tgz", - "integrity": "sha512-N7zolR3HcXuqyIxtx2ER0iJ422AHRoHdxJE4fhCidPQHvXIdYSvq9nt8j3wrT4T4nZlzgpQc9iAubfhqQfGe6w==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/detective-cjs/-/detective-cjs-3.1.1.tgz", + "integrity": "sha512-JQtNTBgFY6h8uT6pgph5QpV3IyxDv+z3qPk/FZRDT9TlFfm5dnRtpH39WtQEr1khqsUxVqXzKjZHpdoQvQbllg==", "dev": true, "requires": { - "ast-module-types": "^2.3.2", - "node-source-walk": "^3.0.0" + "ast-module-types": "^2.4.0", + "node-source-walk": "^4.0.0" } }, "detective-es6": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/detective-es6/-/detective-es6-1.2.0.tgz", - "integrity": "sha1-a5s71Uf9jyH4lQL2JuRe0qMnb9w=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/detective-es6/-/detective-es6-2.0.0.tgz", + "integrity": "sha512-lo2kHVepcq3v39Q/t5uY6sy3cK1g29Kgi4Sj4KpR/15WGwecwma1yaEzZoofyJg/QyeOz36DZhouJ3eD46efCg==", "dev": true, "requires": { - "node-source-walk": "^3.3.0" + "node-source-walk": "^4.0.0" } }, "detective-less": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/detective-less/-/detective-less-1.0.1.tgz", - "integrity": "sha512-xeFzlSFHChKSvDGBg/gL5K7RHB4x/xXk5PmVuOek3tIYi4tZaVpUKIkCDTY1ndOt4FVcgGd51DSn7Y/DYvCqDw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/detective-less/-/detective-less-1.0.2.tgz", + "integrity": "sha512-Rps1xDkEEBSq3kLdsdnHZL1x2S4NGDcbrjmd4q+PykK5aJwDdP5MBgrJw1Xo+kyUHuv3JEzPqxr+Dj9ryeDRTA==", "dev": true, "requires": { - "debug": "^3.1.0", - "gonzales-pe": "^3.4.4", - "node-source-walk": "^3.2.0" + "debug": "^4.0.0", + "gonzales-pe": "^4.2.3", + "node-source-walk": "^4.0.0" }, "dependencies": { "debug": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz", - "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz", + "integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==", "dev": true, "requires": { "ms": "^2.1.1" @@ -4098,21 +4051,21 @@ } }, "detective-postcss": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/detective-postcss/-/detective-postcss-2.1.2.tgz", - "integrity": "sha512-Ryf9mdjP4Lgrlkfy1bHkeUrCyS94kUzzrAXkXL/2JmTaG1COU4lkmWm6YG4u1P0SKSP179RVLhbUoJ6J788rRQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/detective-postcss/-/detective-postcss-3.0.0.tgz", + "integrity": "sha512-Dq4pza3UAT5gXHmNjinxhTydKGd9m3Tr6d0epP9VBipQfQl/ipe3ml7ybxpHk4TRwT2RPXKRsnCHhXfEdpksAQ==", "dev": true, "requires": { "debug": "^3.1.0", "is-url": "^1.2.4", - "postcss": "^6.0.21", + "postcss": "^7.0.2", "postcss-values-parser": "^1.5.0" }, "dependencies": { "debug": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz", - "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { "ms": "^2.1.1" @@ -4127,20 +4080,20 @@ } }, "detective-sass": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/detective-sass/-/detective-sass-2.0.1.tgz", - "integrity": "sha1-BWYKoblc/Yf1dGQ7+s4+iiaBEqE=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/detective-sass/-/detective-sass-3.0.0.tgz", + "integrity": "sha512-f03DULR4EipUpb1HCTHNGUWoRuLi9SDMgMdp+JiSVAWD5kwjI2NY1IOUiqmGbA3C/zQIWXBrC8+U2C3bMJqCFQ==", "dev": true, "requires": { "debug": "^3.1.0", - "gonzales-pe": "^3.4.4", - "node-source-walk": "^3.2.0" + "gonzales-pe": "^4.2.3", + "node-source-walk": "^4.0.0" }, "dependencies": { "debug": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz", - "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { "ms": "^2.1.1" @@ -4155,20 +4108,20 @@ } }, "detective-scss": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/detective-scss/-/detective-scss-1.0.1.tgz", - "integrity": "sha1-dDJGoN01jZ2R/0ElQX9qd/vPJw8=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/detective-scss/-/detective-scss-2.0.0.tgz", + "integrity": "sha512-44cNM76EcT3ImnuMJQHi6q2ldYl+obXHuU6OtpcPfqJg4aH4F4mjHcCyQfn0ohwqYE8FQY64jSThgZwfDjMkdQ==", "dev": true, "requires": { "debug": "^3.1.0", - "gonzales-pe": "^3.4.4", - "node-source-walk": "^3.2.0" + "gonzales-pe": "^4.2.3", + "node-source-walk": "^4.0.0" }, "dependencies": { "debug": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz", - "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { "ms": "^2.1.1" @@ -4189,40 +4142,14 @@ "dev": true }, "detective-typescript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/detective-typescript/-/detective-typescript-2.0.0.tgz", - "integrity": "sha512-0VcvklZWrEAqsGHs1Hp5Px3MfKfHTny7zCVVHQwesrib9XanuV3fsMYQ9iJIfd9bJ196KpBQUPgFHdrp34UB+w==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/detective-typescript/-/detective-typescript-4.1.1.tgz", + "integrity": "sha512-iXvTH248pjxKsvSren1t2bHCGoSYgk8k9PeqPEuaz8AP11zoVMivE/lVpp8GpurOtIX9XGFCHloEsQ4RbWXd9Q==", "dev": true, "requires": { - "node-source-walk": "3.2.0", - "typescript": "^2.6.1", - "typescript-eslint-parser": "^9.0.0" - }, - "dependencies": { - "babylon": { - "version": "6.8.4", - "resolved": "http://registry.npmjs.org/babylon/-/babylon-6.8.4.tgz", - "integrity": "sha1-CXMGuNq66VFZIlzymz6lWRIFMYA=", - "dev": true, - "requires": { - "babel-runtime": "^6.0.0" - } - }, - "node-source-walk": { - "version": "3.2.0", - "resolved": "http://registry.npmjs.org/node-source-walk/-/node-source-walk-3.2.0.tgz", - "integrity": "sha1-PGBcxTq97ktFq2XpR9+x23yQ8OM=", - "dev": true, - "requires": { - "babylon": "~6.8.1" - } - }, - "typescript": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.9.2.tgz", - "integrity": "sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w==", - "dev": true - } + "node-source-walk": "^4.0.0", + "typescript": "^3.0.3", + "typescript-eslint-parser": "^18.0.0" } }, "dgeni": { @@ -4243,9 +4170,9 @@ } }, "dgeni-packages": { - "version": "0.26.10", - "resolved": "https://registry.npmjs.org/dgeni-packages/-/dgeni-packages-0.26.10.tgz", - "integrity": "sha512-8ZXS6ltUitJhK/q/jX+vRJjSSiYC3DsezjH3WRNPM5dmkSP3sCe0nh8xxKv82TPA+lcgQSZwMH8w+13ErE7ikw==", + "version": "0.26.12", + "resolved": "https://registry.npmjs.org/dgeni-packages/-/dgeni-packages-0.26.12.tgz", + "integrity": "sha512-dYuRYnw+sURD82F6JJ+2erOKOlaReBymR9g2bjpws3GSIpBbX1p1kE9VYwmAaBoZRE2h+woK8RyDktZvkzETfg==", "dev": true, "requires": { "canonical-path": "0.0.2", @@ -4272,6 +4199,17 @@ "urlencode": "^1.1.0" }, "dependencies": { + "shelljs": { + "version": "0.7.8", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.8.tgz", + "integrity": "sha1-3svPh0sNHl+3LhSxZKloMEjprLM=", + "dev": true, + "requires": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + } + }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", @@ -4490,9 +4428,9 @@ "dev": true }, "electron-to-chromium": { - "version": "1.3.75", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.75.tgz", - "integrity": "sha512-nLo03Qpw++8R6BxDZL/B1c8SQvUe/htdgc5LWYHe5YotV2jVvRUMP5AlOmxOsyeOzgMiXrNln2mC05Ixz6vuUQ==", + "version": "1.3.84", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.84.tgz", + "integrity": "sha512-IYhbzJYOopiTaNWMBp7RjbecUBsbnbDneOP86f3qvS0G0xfzwNSvMJpTrvi5/Y1gU7tg2NAgeg8a8rCYvW9Whw==", "dev": true }, "empower": { @@ -4540,9 +4478,9 @@ } }, "engine.io": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.2.0.tgz", - "integrity": "sha512-mRbgmAtQ4GAlKwuPnnAvXXwdPhEx+jkc0OBCLrXuD/CRvwNK3AxRSnqK4FSqmAMRRHryVJP8TopOvmEaA64fKw==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.2.1.tgz", + "integrity": "sha512-+VlKzHzMhaU+GsCIg4AoXF1UdDFjHHwMmMKqMJNDNLlUlejz58FCy4LBqB2YVJskHGYl06BatYWKP2TVdVXE5w==", "dev": true, "requires": { "accepts": "~1.3.4", @@ -4595,15 +4533,15 @@ } }, "engine.io-parser": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.2.tgz", - "integrity": "sha512-dInLFzr80RijZ1rGpx1+56/uFoH7/7InhH3kZt+Ms6hT8tNx3NGW/WNSA/f8As1WkOfkuyb3tnRyuXGxusclMw==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.3.tgz", + "integrity": "sha512-6HXPre2O4Houl7c4g7Ic/XzPnHBvaEmN90vtRO9uLmwtRqQmTOw0QMevL1TOfL2Cpu1VzsaTmMotQgMdkzGkVA==", "dev": true, "requires": { "after": "0.8.2", "arraybuffer.slice": "~0.0.7", "base64-arraybuffer": "0.1.5", - "blob": "0.0.4", + "blob": "0.0.5", "has-binary2": "~1.0.2" } }, @@ -4625,9 +4563,9 @@ "dev": true }, "entities": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", - "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", "dev": true }, "errno": { @@ -5562,9 +5500,9 @@ "dev": true }, "filing-cabinet": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/filing-cabinet/-/filing-cabinet-1.14.3.tgz", - "integrity": "sha512-UIPZII8rPTUDRmLNCXbu/326xK13k3OK2CW0aA7gI1POSYdwCeBEi4FwD6i3NUN0ZS3dFFkJDYRYyv9+HkPI/w==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/filing-cabinet/-/filing-cabinet-2.0.2.tgz", + "integrity": "sha512-W7n/5ufqakk+w+hnZrah57bAxvruOgLnAHSboFdGzVOUrFaSyci4nMfGJmKBEE3STQKnG7t4DnwtVI34gsDDCg==", "dev": true, "requires": { "app-module-path": "^2.2.0", @@ -5572,19 +5510,19 @@ "debug": "^3.1.0", "enhanced-resolve": "^4.1.0", "is-relative-path": "^1.0.2", - "module-definition": "^2.2.4", + "module-definition": "^3.0.0", "module-lookup-amd": "^5.0.1", "resolve": "^1.5.0", "resolve-dependency-path": "^1.0.2", "sass-lookup": "^2.0.0", "stylus-lookup": "^2.0.0", - "typescript": "^2.4.2" + "typescript": "^3.0.3" }, "dependencies": { "debug": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz", - "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { "ms": "^2.1.1" @@ -5595,12 +5533,6 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", "dev": true - }, - "typescript": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.9.2.tgz", - "integrity": "sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w==", - "dev": true } } }, @@ -5995,19 +5927,19 @@ } }, "firebase": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/firebase/-/firebase-5.5.2.tgz", - "integrity": "sha512-XfcmQdt2d3ckoEn8XoqX6LHZlFU+5a+tfXpDULIJx+gIQWjnyDJ5VesGgsYLw8Dklq4jBK8q6CI5qWSX+QgYrQ==", + "version": "5.5.8", + "resolved": "https://registry.npmjs.org/firebase/-/firebase-5.5.8.tgz", + "integrity": "sha512-aT75TO8JLX2bTsPLq/2FrX87sgsvSF7mFDJBKl+hC5yJeaT3fuqrn806lQ56TRGWXFi5oYENYn00hmy/4PR0AQ==", "dev": true, "requires": { "@firebase/app": "0.3.4", - "@firebase/auth": "0.7.7", + "@firebase/auth": "0.7.9", "@firebase/database": "0.3.6", - "@firebase/firestore": "0.8.2", - "@firebase/functions": "0.3.1", + "@firebase/firestore": "0.8.7", + "@firebase/functions": "0.3.2", "@firebase/messaging": "0.3.6", "@firebase/polyfill": "0.3.3", - "@firebase/storage": "0.2.3" + "@firebase/storage": "0.2.4" } }, "firebase-admin": { @@ -6420,13 +6352,13 @@ } }, "flat-cache": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz", - "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.2.tgz", + "integrity": "sha512-KByBY8c98sLUAGpnmjEdWTrtrLZRtZdwds+kAL/ciFXTCb7AZgqKsAnVnYFQj1hxepwO8JKN/8AsRWwLq+RK0A==", "dev": true, "requires": { "circular-json": "^0.3.1", - "del": "^2.0.2", + "del": "^3.0.0", "graceful-fs": "^4.1.2", "write": "^0.2.1" }, @@ -6436,6 +6368,41 @@ "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", "dev": true + }, + "del": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", + "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", + "dev": true, + "requires": { + "globby": "^6.1.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "p-map": "^1.1.1", + "pify": "^3.0.0", + "rimraf": "^2.2.8" + } + }, + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } } } }, @@ -7202,13 +7169,13 @@ } }, "get-amd-module-type": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-amd-module-type/-/get-amd-module-type-2.0.5.tgz", - "integrity": "sha1-5nHsWpatX79To6IqKJ6SOMdy3bA=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-amd-module-type/-/get-amd-module-type-3.0.0.tgz", + "integrity": "sha512-99Q7COuACPfVt18zH9N4VAMyb81S6TUgJm2NgV6ERtkh9VIkAaByZkW530wl3lLN5KTtSrK9jVLxYsoP5hQKsw==", "dev": true, "requires": { "ast-module-types": "^2.3.2", - "node-source-walk": "^3.2.0" + "node-source-walk": "^4.0.0" } }, "get-caller-file": { @@ -7218,9 +7185,9 @@ "dev": true }, "get-own-enumerable-property-symbols": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-2.0.1.tgz", - "integrity": "sha512-TtY/sbOemiMKPRUDDanGCSgBYe7Mf0vbRsWnBZ+9yghpZ1MvcpSpuZFjHdEeY/LZjZy0vdLjS77L6HosisFiug==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.0.tgz", + "integrity": "sha512-CIJYJC4GGF06TakLg8z4GQKvDsx9EMspVxOYih7LerEL/WosUnFIww45CGfxfeKHqlg3twgUrYRT1O3WQqjGCg==", "dev": true }, "get-pkg-repo": { @@ -7465,9 +7432,9 @@ } }, "git-semver-tags": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-2.0.0.tgz", - "integrity": "sha512-lSgFc3zQTul31nFje2Q8XdNcTOI6B4I3mJRPCgFzHQQLfxfqdWTYzdtCaynkK5Xmb2wQlSJoKolhXJ1VhKROnQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-2.0.2.tgz", + "integrity": "sha512-34lMF7Yo1xEmsK2EkbArdoU79umpvm0MfzaDkSNYSJqtM5QLAVTPWgpiXSVI5o/O9EvZPSrP4Zvnec/CqhSd5w==", "dev": true, "requires": { "meow": "^4.0.0", @@ -7756,9 +7723,9 @@ } }, "gonzales-pe": { - "version": "3.4.7", - "resolved": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-3.4.7.tgz", - "integrity": "sha1-F8e+Z61sr/Ynej44esc26YPSgOw=", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-4.2.3.tgz", + "integrity": "sha512-Kjhohco0esHQnOiqqdJeNz/5fyPkOMD/d6XVjwTAoPGUFh0mCollPUTUTa2OZy4dYNAqlPIQdTiNzJTWdd9Htw==", "dev": true, "requires": { "minimist": "1.1.x" @@ -8542,9 +8509,9 @@ } }, "grpc": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/grpc/-/grpc-1.13.1.tgz", - "integrity": "sha512-yl0xChnlUISTefOPU2NQ1cYPh5m/DTatEUV6jdRyQPE9NCrtPq7Gn6J2alMTglN7ufYbJapOd00dvhGurHH6HQ==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/grpc/-/grpc-1.16.0.tgz", + "integrity": "sha512-+p8YRIng7Gihkn2jycAXwXdA9aQ10SikRrcHY+/r3W1Z1Pr9NFIbLcmBZPoaTbzzLDv/ysqwqFEZriAdd8tveQ==", "dev": true, "requires": { "lodash": "^4.17.5", @@ -8784,7 +8751,7 @@ "dev": true }, "needle": { - "version": "2.2.1", + "version": "2.2.2", "bundled": true, "dev": true, "requires": { @@ -8986,7 +8953,7 @@ "dev": true }, "tar": { - "version": "4.4.4", + "version": "4.4.6", "bundled": true, "dev": true, "requires": { @@ -10321,16 +10288,15 @@ } }, "highlight.js": { - "version": "9.12.0", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.12.0.tgz", - "integrity": "sha1-5tnb5Xy+/mB1HwKvM2GVhwyQwB4=", + "version": "9.13.1", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.13.1.tgz", + "integrity": "sha512-Sc28JNQNDzaH6PORtRLMvif9RSn1mYuOoX3omVjnb0+HbpPygU2ALBI0R/wsiqCb4/fcp07Gdo8g+fhtFrQl6A==", "dev": true }, "hoek": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", - "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==", - "dev": true + "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==" }, "home-dir": { "version": "1.0.0", @@ -10402,9 +10368,9 @@ "dev": true }, "htmlparser2": { - "version": "3.9.2", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.2.tgz", - "integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=", + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.0.tgz", + "integrity": "sha512-J1nEUGv+MkXS0weHNWVKJJ+UrLfePxRWpN3C9bEi9fLxL2+ggW94DQvgYVXsaT30PGwYRIZKNZXuyMhp3Di4bQ==", "dev": true, "requires": { "domelementtype": "^1.3.0", @@ -10412,7 +10378,20 @@ "domutils": "^1.5.1", "entities": "^1.1.1", "inherits": "^2.0.1", - "readable-stream": "^2.0.2" + "readable-stream": "^3.0.6" + }, + "dependencies": { + "readable-stream": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.0.6.tgz", + "integrity": "sha512-9E1oLoOWfhSXHGv6QlwXJim7uNzd9EVlWK+21tCU9Ju/kR0/p2AZYPz4qSchgO8PlLIH4FpZYfzwS+rEksZjIg==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } } }, "http-cache-semantics": { @@ -10512,6 +10491,24 @@ "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=", "dev": true }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "dev": true, + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + } + } + }, "import-lazy": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-3.1.0.tgz", @@ -11336,9 +11333,9 @@ } }, "jsesc": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.1.tgz", - "integrity": "sha1-5CGiqOINawgZ3yiQj3glJrlt0f4=", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true }, "json-buffer": { @@ -11507,9 +11504,9 @@ } }, "karma": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/karma/-/karma-3.0.0.tgz", - "integrity": "sha512-ZTjyuDXVXhXsvJ1E4CnZzbCjSxD6sEdzEsFYogLuZM0yqvg/mgz+O+R1jb0J7uAQeuzdY8kJgx6hSNXLwFuHIQ==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/karma/-/karma-3.1.1.tgz", + "integrity": "sha512-NetT3wPCQMNB36uiL9LLyhrOt8SQwrEKt0xD3+KpTCfm0VxVyUJdPL5oTq2Ic5ouemgL/Iz4wqXEbF3zea9kQQ==", "dev": true, "requires": { "bluebird": "^3.3.0", @@ -12160,9 +12157,9 @@ } }, "known-css-properties": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.8.0.tgz", - "integrity": "sha512-pku5zscbIr9YsA6lFU1nhFGSAXsdJtEQ2WilCL40d0YCoDofBlNohMUq32wyt7tpiiaZ09GKyLZFrB1ijx6+WA==", + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.9.0.tgz", + "integrity": "sha512-2G/A/8XPhH6MmuVgl079wYsgdqfXE3cfm62txk/ajS4wvRWo6tEHcgQCJCHOOy12Fse1Sxlbf7/IJBpR9hnVew==", "dev": true }, "latest-version": { @@ -12640,9 +12637,9 @@ } }, "log4js": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/log4js/-/log4js-3.0.5.tgz", - "integrity": "sha512-IX5c3G/7fuTtdr0JjOT2OIR12aTESVhsH6cEsijloYwKgcPRlO6DgOU72v0UFhWcoV1HN6+M3dwT89qVPLXm0w==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-3.0.6.tgz", + "integrity": "sha512-ezXZk6oPJCWL483zj64pNkMuY/NcRX5MPiB0zE6tjZM137aeusrOnW1ecxgF9cmwMWkBMhjteQxBPoZBh9FDxQ==", "dev": true, "requires": { "circular-json": "^0.5.5", @@ -12653,9 +12650,9 @@ }, "dependencies": { "debug": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz", - "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { "ms": "^2.1.1" @@ -12738,21 +12735,21 @@ } }, "madge": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/madge/-/madge-3.2.0.tgz", - "integrity": "sha512-+hD7bd39QGsY4slEiU+ohjy+xqaELIeoN1cBZhv5oRLQyKR6sOJTaFXYfb7ttLjypCHza0KQY3QopljjveQW2A==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/madge/-/madge-3.3.0.tgz", + "integrity": "sha512-AWRUIyir+ufyBgueZL+AfvsHPcATNQcwgndwC2bcdIEb57xK54YXmx3ECKCg9PK1zxp9Uc0LMSE1roO+foX7NQ==", "dev": true, "requires": { "chalk": "^2.4.1", "commander": "^2.15.1", "commondir": "^1.0.1", - "debug": "^3.1.0", + "debug": "^4.0.1", "dependency-tree": "^6.1.0", "graphviz": "^0.0.8", - "ora": "^2.1.0", - "pify": "^3.0.0", + "ora": "^3.0.0", + "pify": "^4.0.0", "pluralize": "^7.0.0", - "pretty-ms": "^3.1.0", + "pretty-ms": "^4.0.0", "rc": "^1.2.7", "walkdir": "^0.0.12" }, @@ -12799,9 +12796,9 @@ "dev": true }, "debug": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz", - "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz", + "integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==", "dev": true, "requires": { "ms": "^2.1.1" @@ -12829,9 +12826,9 @@ } }, "ora": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ora/-/ora-2.1.0.tgz", - "integrity": "sha512-hNNlAd3gfv/iPmsNxYoAPLvxg7HuPozww7fFonMZvL84tP6Ox5igfk5j/+a9rtJJwqMgKK+JgWsAQik5o0HTLA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-3.0.0.tgz", + "integrity": "sha512-LBS97LFe2RV6GJmXBi6OKcETKyklHNMV0xw7BtsVn2MlsgsydyZetSCbCANr+PFLmDyv4KV88nn0eCKza665Mg==", "dev": true, "requires": { "chalk": "^2.3.1", @@ -12842,6 +12839,12 @@ "wcwidth": "^1.0.1" } }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, "restore-cursor": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", @@ -13378,9 +13381,9 @@ } }, "merge2": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.2.tgz", - "integrity": "sha512-bgM8twH86rWni21thii6WCMQMRMmwqqdW3sGWi9IipnVAszdLXRjwDwAnyrVXo6DuP3AjRMMttZKUB48QWIFGg==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.3.tgz", + "integrity": "sha512-gdUU1Fwj5ep4kplwcmftruWofEFt6lfpkkr3h860CXbAB9c3hGb55EOL2ali0Td5oebvW0E1+3Sr+Ur7XfKpRA==", "dev": true }, "methmeth": { @@ -13558,13 +13561,13 @@ "dev": true }, "module-definition": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/module-definition/-/module-definition-2.2.4.tgz", - "integrity": "sha1-wKN3HeWM9rzxKu0kdnBsWWrUsss=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/module-definition/-/module-definition-3.1.0.tgz", + "integrity": "sha512-XtgUeQUi/4UshwxWlCxCjt4SoJC+LJbjHvhGopOskzZOH3GSy2X6KC96APK3rgA9p9hekHcVP87qdwQpSvhNlQ==", "dev": true, "requires": { - "ast-module-types": "^2.3.2", - "node-source-walk": "^3.0.0" + "ast-module-types": "^2.4.0", + "node-source-walk": "^4.0.0" } }, "module-lookup-amd": { @@ -13582,9 +13585,9 @@ }, "dependencies": { "debug": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz", - "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { "ms": "^2.1.1" @@ -13850,9 +13853,9 @@ "dev": true }, "node-releases": { - "version": "1.0.0-alpha.12", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.0.0-alpha.12.tgz", - "integrity": "sha512-VPB4rTPqpVyWKBHbSa4YPFme3+8WHsOSpvbp0Mfj0bWsC8TEjt4HQrLl1hsBDELlp1nB4lflSgSuGTYiuyaP7Q==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.0.3.tgz", + "integrity": "sha512-ZaZWMsbuDcetpHmYeKWPO6e63pSXLb50M7lJgCbcM2nC/nQC3daNifmtp5a2kp7EWwYfhuvH6zLPWkrF8IiDdw==", "dev": true, "requires": { "semver": "^5.3.0" @@ -14118,12 +14121,12 @@ } }, "node-source-walk": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/node-source-walk/-/node-source-walk-3.3.0.tgz", - "integrity": "sha1-rRjjW/2z0Lb34OSv8eePhGo7iHM=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/node-source-walk/-/node-source-walk-4.1.0.tgz", + "integrity": "sha512-aR9GdKa9LT7sk00Z3V0c569Vx71n4KSS13be7EapoZGRFNXby/JNA0/3J+U50GaDOKKISw2HX3A3prunX4EEZw==", "dev": true, "requires": { - "babylon": "^6.17.0" + "@babel/parser": "^7.0.0" } }, "node-status-codes": { @@ -14226,9 +14229,9 @@ "dev": true }, "nunjucks": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/nunjucks/-/nunjucks-3.1.3.tgz", - "integrity": "sha512-UtlKKAzg9vdtvURdNy9DjGhiB7qYf2R7Ez+hsucOQG5gYJexSggXSSZ+9IpSDyKOlWu/4rMVPH2oVoANOSqNKA==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/nunjucks/-/nunjucks-3.1.4.tgz", + "integrity": "sha512-OIbdsl7jAZpw5V6GIa6wJc2AKCC/JSwuVdNKuVpFZ+eB3kYugoGF6OVN/jKNFe52782Uj89n0pT0DiSS1KPbxA==", "dev": true, "requires": { "a-sync-waterfall": "^1.0.0", @@ -14964,6 +14967,12 @@ "p-limit": "^1.1.0" } }, + "p-map": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", + "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==", + "dev": true + }, "p-timeout": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", @@ -15106,9 +15115,9 @@ } }, "parse-ms": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-1.0.1.tgz", - "integrity": "sha1-VjRtR0nXjyNDDKDHE4UK75GqNh0=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-2.0.0.tgz", + "integrity": "sha512-AddiXFSLLCqj+tCRJ9MrUtHZB4DWojO3tk0NVZ+g5MaMQHF2+p2ktqxuoXyPFLljz/aUK0Nfhd/uGWnhXVXEyA==", "dev": true }, "parse-passwd": { @@ -15342,14 +15351,14 @@ "dev": true }, "postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.5.tgz", + "integrity": "sha512-HBNpviAUFCKvEh7NZhw1e8MBPivRszIiUnhrJ+sBFVSYSqubrzwX3KG51mYgcRHX8j/cAgZJedONZcm5jTBdgQ==", "dev": true, "requires": { "chalk": "^2.4.1", "source-map": "^0.6.1", - "supports-color": "^5.4.0" + "supports-color": "^5.5.0" }, "dependencies": { "ansi-styles": { @@ -15399,51 +15408,22 @@ } }, "postcss-jsx": { - "version": "0.34.0", - "resolved": "https://registry.npmjs.org/postcss-jsx/-/postcss-jsx-0.34.0.tgz", - "integrity": "sha512-UJISlEGWH/LeMYudAwq9GeqfyPW9AeRq87GHOlbquxOIakKr0Aqu6l9Cx0Fg20f3A9bKJcX1NGX4/xzIs7PlZQ==", + "version": "0.35.0", + "resolved": "https://registry.npmjs.org/postcss-jsx/-/postcss-jsx-0.35.0.tgz", + "integrity": "sha512-AU2/9QDmHYJRxTiniMt2bJ9fwCzVF6n00VnR4gdnFGHeXRW2mGwoptpuPgYjfivkdI8LlNIuo+w8TyS6a4JhJw==", "dev": true, "requires": { - "@babel/core": "^7.0.0", + "@babel/core": "^7.1.2", "postcss-styled": ">=0.34.0" } }, "postcss-less": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-less/-/postcss-less-2.0.0.tgz", - "integrity": "sha512-pPNsVnpCB13nBMOcl5GVh8JGmB0JGFjqkLUDzKdVpptFFKEe9wFdEzvh2j4lD2AD+7qcrUfw9Ta+oi5+Fw7jjQ==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/postcss-less/-/postcss-less-3.0.2.tgz", + "integrity": "sha512-+JBOampmDnuaf4w8OIEqkCiF+sOm/nWukDsC+1FTrYcIstptOISzGpYZk24Qh+Ewlmzmi53sRyiTbiGvMCDRwA==", "dev": true, "requires": { - "postcss": "^5.2.16" - }, - "dependencies": { - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } + "postcss": "^7.0.3" } }, "postcss-markdown": { @@ -15500,17 +15480,6 @@ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, - "postcss": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.5.tgz", - "integrity": "sha512-HBNpviAUFCKvEh7NZhw1e8MBPivRszIiUnhrJ+sBFVSYSqubrzwX3KG51mYgcRHX8j/cAgZJedONZcm5jTBdgQ==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.5.0" - } - }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -15535,127 +15504,16 @@ "dev": true, "requires": { "postcss": "^7.0.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.0" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "postcss": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.5.tgz", - "integrity": "sha512-HBNpviAUFCKvEh7NZhw1e8MBPivRszIiUnhrJ+sBFVSYSqubrzwX3KG51mYgcRHX8j/cAgZJedONZcm5jTBdgQ==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.5.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-sass": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/postcss-sass/-/postcss-sass-0.3.3.tgz", - "integrity": "sha512-uoRhfwZJHDRI8p2KQniTx4UwzYwKgQUhmFNJ7aysL3+tgFUfmv5TPX8UPnlE5gfrq6KHUUwPJ/nISFtzwxr7iQ==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/postcss-sass/-/postcss-sass-0.3.5.tgz", + "integrity": "sha512-B5z2Kob4xBxFjcufFnhQ2HqJQ2y/Zs/ic5EZbCywCkxKd756Q40cIQ/veRDwSrw1BF6+4wUgmpm0sBASqVi65A==", "dev": true, "requires": { "gonzales-pe": "^4.2.3", "postcss": "^7.0.1" - }, - "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.0" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "gonzales-pe": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-4.2.3.tgz", - "integrity": "sha512-Kjhohco0esHQnOiqqdJeNz/5fyPkOMD/d6XVjwTAoPGUFh0mCollPUTUTa2OZy4dYNAqlPIQdTiNzJTWdd9Htw==", - "dev": true, - "requires": { - "minimist": "1.1.x" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "minimist": { - "version": "1.1.3", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.1.3.tgz", - "integrity": "sha1-O+39kaktOQFvz6ocaB6Pqhoe/ag=", - "dev": true - }, - "postcss": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.5.tgz", - "integrity": "sha512-HBNpviAUFCKvEh7NZhw1e8MBPivRszIiUnhrJ+sBFVSYSqubrzwX3KG51mYgcRHX8j/cAgZJedONZcm5jTBdgQ==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.5.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-scss": { @@ -15665,54 +15523,6 @@ "dev": true, "requires": { "postcss": "^7.0.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.0" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "postcss": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.5.tgz", - "integrity": "sha512-HBNpviAUFCKvEh7NZhw1e8MBPivRszIiUnhrJ+sBFVSYSqubrzwX3KG51mYgcRHX8j/cAgZJedONZcm5jTBdgQ==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.5.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-selector-parser": { @@ -15739,9 +15549,9 @@ "dev": true }, "postcss-value-parser": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz", - "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true }, "postcss-values-parser": { @@ -15882,30 +15692,30 @@ } }, "precinct": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/precinct/-/precinct-4.2.0.tgz", - "integrity": "sha512-8h3qbpa33mE+VAoxo0e9HPw7aBN7iwDqdTts2Jz0hCxWDy9FMBXJTm2WAYsNdfvA3oz1j+FgvPSCvo0ngoXBaQ==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/precinct/-/precinct-5.1.0.tgz", + "integrity": "sha512-nQFQZNtvywHdU2nxf9sYgAbZz2TFo6UHQY0rbwLmQApBQHJ3kthajrvFmSMKqEi46oDCMcuQIiS8nOJiNAoDUw==", "dev": true, "requires": { - "commander": "^2.11.0", - "debug": "^3.0.1", - "detective-amd": "^2.4.0", - "detective-cjs": "^2.0.0", - "detective-es6": "^1.2.0", + "commander": "^2.17.0", + "debug": "^3.1.0", + "detective-amd": "^3.0.0", + "detective-cjs": "^3.1.0", + "detective-es6": "^2.0.0", "detective-less": "^1.0.1", - "detective-postcss": "^2.1.0", - "detective-sass": "^2.0.0", - "detective-scss": "^1.0.0", + "detective-postcss": "^3.0.0", + "detective-sass": "^3.0.0", + "detective-scss": "^2.0.0", "detective-stylus": "^1.0.0", - "detective-typescript": "^2.0.0", - "module-definition": "^2.2.4", - "node-source-walk": "^3.3.0" + "detective-typescript": "^4.0.0", + "module-definition": "^3.1.0", + "node-source-walk": "^4.0.0" }, "dependencies": { "debug": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz", - "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { "ms": "^2.1.1" @@ -15950,12 +15760,12 @@ "dev": true }, "pretty-ms": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-3.2.0.tgz", - "integrity": "sha512-ZypexbfVUGTFxb0v+m1bUyy92DHe5SyYlnyY0msyms5zd3RwyvNgyxZZsXXgoyzlxjx5MiqtXUdhUfvQbe0A2Q==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-4.0.0.tgz", + "integrity": "sha512-qG66ahoLCwpLXD09ZPHSCbUWYTqdosB7SMP4OffgTgL2PBKXMuUsrk5Bwg8q4qPkjTXsKBMr+YK3Ltd/6F9s/Q==", "dev": true, "requires": { - "parse-ms": "^1.0.0" + "parse-ms": "^2.0.0" } }, "process-nextick-args": { @@ -16325,9 +16135,9 @@ "dev": true }, "randomatic": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.0.tgz", - "integrity": "sha512-KnGPVE0lo2WoXxIZ7cPR8YBpiol4gsSuOwDSg410oHh80ZMp5EiypNqL2K4Z77vJn6lB5rap7IkAmcUlalcnBQ==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", + "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", "dev": true, "requires": { "is-number": "^4.0.0", @@ -16777,12 +16587,6 @@ "integrity": "sha512-n+IyV+nGz3+0q3/Yf1ra12KpCyi001bi4XFxSjbiWWjfqb52iTTtpGXmCCAOWWIAn9KEuFZKGqBERHmrtScZ3A==", "dev": true }, - "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", - "dev": true - }, "regex-cache": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", @@ -17836,9 +17640,9 @@ "dev": true }, "shelljs": { - "version": "0.7.8", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.8.tgz", - "integrity": "sha1-3svPh0sNHl+3LhSxZKloMEjprLM=", + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.2.tgz", + "integrity": "sha512-pRXeNrCA2Wd9itwhvLp5LZQvPJ0wU6bcjaTMywHHGX5XWhVN2nzSu7WV0q+oUY7mGK3mgSkDDzP3MgjqdyIgbQ==", "dev": true, "requires": { "glob": "^7.0.0", @@ -18414,9 +18218,9 @@ }, "dependencies": { "debug": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz", - "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { "ms": "^2.1.1" @@ -18503,12 +18307,12 @@ } }, "stringify-object": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.2.2.tgz", - "integrity": "sha512-O696NF21oLiDy8PhpWu8AEqoZHw++QW6mUv0UvKZe8gWSdSvMXkiLufK7OmnP27Dro4GU5kb9U7JIO0mBuCRQg==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", "dev": true, "requires": { - "get-own-enumerable-property-symbols": "^2.0.1", + "get-own-enumerable-property-symbols": "^3.0.0", "is-obj": "^1.0.1", "is-regexp": "^1.0.0" } @@ -18571,9 +18375,9 @@ "dev": true }, "stylelint": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-9.6.0.tgz", - "integrity": "sha512-Q0UcbFPRiC+3FejNyIBAWbMuKwZNAC0kvZtGQbjwA9LMKDod6xMlBsiIigQxmE3ywpmTeFj3mkG5Jj36EfC7XA==", + "version": "9.8.0", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-9.8.0.tgz", + "integrity": "sha512-qYYgP9UnZ6S4uaXrfEGPIMeNv21gP4t3E7BtnYfJIiHKvz7AbrCP0vj1wPgD6OFyxLT5txQxtoznfSkm2vsUkQ==", "dev": true, "requires": { "autoprefixer": "^9.0.0", @@ -18584,31 +18388,32 @@ "execall": "^1.0.0", "file-entry-cache": "^2.0.0", "get-stdin": "^6.0.0", + "global-modules": "^1.0.0", "globby": "^8.0.0", "globjoin": "^0.1.4", "html-tags": "^2.0.0", - "ignore": "^4.0.0", + "ignore": "^5.0.4", "import-lazy": "^3.1.0", "imurmurhash": "^0.1.4", - "known-css-properties": "^0.8.0", + "known-css-properties": "^0.9.0", "leven": "^2.1.0", "lodash": "^4.17.4", "log-symbols": "^2.0.0", "mathml-tag-names": "^2.0.1", "meow": "^5.0.0", - "micromatch": "^2.3.11", + "micromatch": "^3.1.10", "normalize-selector": "^0.2.0", "pify": "^4.0.0", "postcss": "^7.0.0", "postcss-html": "^0.34.0", - "postcss-jsx": "^0.34.0", - "postcss-less": "^2.0.0", + "postcss-jsx": "^0.35.0", + "postcss-less": "^3.0.1", "postcss-markdown": "^0.34.0", "postcss-media-query-parser": "^0.2.3", "postcss-reporter": "^6.0.0", "postcss-resolve-nested-selector": "^0.1.1", "postcss-safe-parser": "^4.0.0", - "postcss-sass": "^0.3.0", + "postcss-sass": "^0.3.5", "postcss-scss": "^2.0.0", "postcss-selector-parser": "^3.1.0", "postcss-styled": "^0.34.0", @@ -18616,6 +18421,7 @@ "postcss-value-parser": "^3.3.0", "resolve-from": "^4.0.0", "signal-exit": "^3.0.2", + "slash": "^2.0.0", "specificity": "^0.4.1", "string-width": "^2.1.0", "style-search": "^0.1.0", @@ -18639,6 +18445,47 @@ "color-convert": "^1.9.0" } }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, "camelcase": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", @@ -18657,38 +18504,265 @@ } }, "debug": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.0.1.tgz", - "integrity": "sha512-K23FHJ/Mt404FSlp6gSZCevIbTMLX0j3fmHhUEhQ3Wq0FMODW3+cUSoLdy1Gx4polAf4t/lphhmHH35BB8cLYw==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz", + "integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==", "dev": true, "requires": { "ms": "^2.1.1" } }, - "get-stdin": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", - "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true - }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "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.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "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.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "get-stdin": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", + "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "ignore": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.0.4.tgz", + "integrity": "sha512-WLsTMEhsQuXpCiG173+f3aymI43SXa+fB1rSfbzyP4GkPP+ZFVuO0/3sFUGNBtifisPeDcl/uD/Y2NxZ7xFq4g==", + "dev": true + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "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.5" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, "meow": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/meow/-/meow-5.0.0.tgz", @@ -18706,6 +18780,27 @@ "yargs-parser": "^10.0.0" } }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, "ms": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", @@ -18713,21 +18808,16 @@ "dev": true }, "pify": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.0.tgz", - "integrity": "sha512-zrSP/KDf9DH3K3VePONoCstgPiYJy9z0SCatZuTpOc7YdnWIqwkWdXOuwlr4uDc7em8QZRsFWsT/685x5InjYg==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true }, - "postcss": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.5.tgz", - "integrity": "sha512-HBNpviAUFCKvEh7NZhw1e8MBPivRszIiUnhrJ+sBFVSYSqubrzwX3KG51mYgcRHX8j/cAgZJedONZcm5jTBdgQ==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.5.0" - } + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true }, "string-width": { "version": "2.1.1", @@ -18779,9 +18869,9 @@ }, "dependencies": { "debug": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz", - "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { "ms": "^2.1.1" @@ -18802,54 +18892,6 @@ "dev": true, "requires": { "postcss": "^7.0.2" - }, - "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.0" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "postcss": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.5.tgz", - "integrity": "sha512-HBNpviAUFCKvEh7NZhw1e8MBPivRszIiUnhrJ+sBFVSYSqubrzwX3KG51mYgcRHX8j/cAgZJedONZcm5jTBdgQ==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.5.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "superstatic": { @@ -19053,9 +19095,9 @@ }, "dependencies": { "ajv": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.4.tgz", - "integrity": "sha512-4Wyjt8+t6YszqaXnLDfMmG/8AlO5Zbcsy3ATHncCzjW/NoPzAId8AK6749Ybjmdt+kUY1gP60fCu46oDxPv/mg==", + "version": "6.5.5", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.5.tgz", + "integrity": "sha512-7q7gtRQDJSyuEHjuVgHoUa2VuemFiCMrfQc9Tc08XTAc4Zj/5U1buQJ0HU6i7fKjXU09SVgSmxa4sLvuvS8Iyg==", "dev": true, "requires": { "fast-deep-equal": "^2.0.1", @@ -19110,9 +19152,9 @@ } }, "tapable": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.0.0.tgz", - "integrity": "sha512-dQRhbNQkRnaqauC7WqSJ21EEksgT0fYZX2lqXzGkpo8JNig9zGZTYoMGvyI2nWmXlE2VSVXVDu7wLVGu/mQEsg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.0.tgz", + "integrity": "sha512-IlqtmLVaZA2qab8epUXbVWRn3aB1imbDMJtjB3nu4X0NqPkcY/JH9ZtCBWKHWPxs8Svi9tyo8w2dBoi07qZbBA==", "dev": true }, "tar": { @@ -19228,12 +19270,12 @@ "optional": true }, "timers-ext": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.5.tgz", - "integrity": "sha512-tsEStd7kmACHENhsUPaxb8Jf8/+GZZxyNFQbZD07HQOyooOa6At1rQqjffgvg7n+dxscQa9cjjMdWhJtsP2sxg==", + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz", + "integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==", "dev": true, "requires": { - "es5-ext": "~0.10.14", + "es5-ext": "~0.10.46", "next-tick": "1" } }, @@ -19696,25 +19738,25 @@ "dev": true }, "typescript": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.1.1.tgz", - "integrity": "sha512-Veu0w4dTc/9wlWNf2jeRInNodKlcdLgemvPsrNpfu5Pq39sgfFjvIIgTsvUHCoLBnMhPoUA+tFxsXjU6VexVRQ==", + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.1.6.tgz", + "integrity": "sha512-tDMYfVtvpb96msS1lDX9MEdHrW4yOuZ4Kdc4Him9oU796XldPYF/t2+uKoX0BBa0hXXwDlqYQbXY5Rzjzc5hBA==", "dev": true }, "typescript-eslint-parser": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/typescript-eslint-parser/-/typescript-eslint-parser-9.0.1.tgz", - "integrity": "sha512-w1jqotvnhLtLukD9H3gQPAlbD0kLf7ZkoQGwiwSIshKIlzRL7i0OY9Y7VIdE1xtytZXThg678eomxMZ1rZXGVQ==", + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/typescript-eslint-parser/-/typescript-eslint-parser-18.0.0.tgz", + "integrity": "sha512-Pn/A/Cw9ysiXSX5U1xjBmPQlxtWGV2o7jDNiH/u7KgBO2yC/y37wNFl2ogSrGZBQFuglLzGq0Xl0Bt31Jv44oA==", "dev": true, "requires": { "lodash.unescape": "4.0.1", - "semver": "5.4.1" + "semver": "5.5.0" }, "dependencies": { "semver": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", - "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", "dev": true } } diff --git a/package.json b/package.json index d582cbbaa..538b41a1c 100644 --- a/package.json +++ b/package.json @@ -28,11 +28,11 @@ "version": "7.0.0-beta.19", "requiredAngularVersion": ">=7.0.0-rc.0", "dependencies": { - "@angular/cdk": "^7.0.0-rc.0", - "@angular/common": "^7.0.0-rc.0", - "@angular/compiler": "^7.0.0-rc.0", - "@angular/core": "^7.0.0-rc.0", - "@angular/platform-browser": "^7.0.0-rc.0", + "@angular/cdk": "^7.0.3", + "@angular/common": "^7.0.3", + "@angular/compiler": "^7.0.3", + "@angular/core": "^7.0.3", + "@angular/platform-browser": "^7.0.3", "core-js": "^2.5.7", "rxjs": "^6.3.0", "systemjs": "0.19.43", @@ -41,36 +41,36 @@ "zone.js": "^0.8.26" }, "devDependencies": { - "@angular/animations": "^7.0.0-rc.0", - "@angular/compiler-cli": "^7.0.0-rc.0", - "@angular/forms": "^7.0.0-rc.0", - "@angular/http": "^7.0.0-rc.0", - "@angular/material": "^7.0.0-rc.0", - "@angular/platform-browser-dynamic": "^7.0.0-rc.0", - "@angular/platform-server": "^7.0.0-rc.0", - "@angular/router": "^7.0.0-rc.0", + "@angular/animations": "^7.0.3", + "@angular/compiler-cli": "^7.0.3", + "@angular/forms": "^7.0.3", + "@angular/http": "^7.0.3", + "@angular/material": "^7.0.3", + "@angular/platform-browser-dynamic": "^7.0.3", + "@angular/platform-server": "^7.0.3", + "@angular/router": "^7.0.3", "@google-cloud/storage": "^1.7.0", "@types/chalk": "^0.4.31", "@types/fs-extra": "^4.0.5", "@types/glob": "^5.0.33", "@types/gulp": "3.8.32", "@types/hammerjs": "^2.0.34", - "@types/jasmine": "^2.8.8", + "@types/jasmine": "^2.8.11", "@types/merge2": "^0.3.30", "@types/minimist": "^1.2.0", - "@types/node": "^7.0.70", + "@types/node": "^7.10.1", "@types/run-sequence": "^0.0.29", "@types/rx": "2.5.33", "axe-webdriverjs": "^1.1.5", "chalk": "^1.1.3", - "cli-color": "^1.3.0", + "cli-color": "^1.4.0", "dgeni": "^0.4.10", - "dgeni-packages": "^0.26.7", - "firebase": "^5.5.2", + "dgeni-packages": "^0.26.12", + "firebase": "^5.5.8", "firebase-admin": "^5.13.1", "firebase-tools": "^4.2.1", "fs-extra": "^3.0.1", - "git-semver-tags": "^2.0.0", + "git-semver-tags": "^2.0.2", "glob": "^7.1.3", "google-closure-compiler": "20170409.0.0", "gulp": "^3.9.1", @@ -89,10 +89,10 @@ "gulp-sass": "^3.2.1", "gulp-transform": "^2.0.0", "hammerjs": "^2.0.8", - "highlight.js": "^9.11.0", + "highlight.js": "^9.13.1", "http-rewrite-middleware": "^0.1.6", "jasmine-core": "^2.8.0", - "karma": "^3.0.0", + "karma": "^3.1.1", "karma-browserstack-launcher": "^1.3.0", "karma-chrome-launcher": "^2.2.0", "karma-coverage": "^1.1.2", @@ -100,9 +100,9 @@ "karma-jasmine": "^1.1.2", "karma-sauce-launcher": "^1.2.0", "karma-sourcemap-loader": "^0.3.7", - "madge": "^3.2.0", + "madge": "^3.3.0", "magic-string": "^0.22.5", - "merge2": "^1.2.2", + "merge2": "^1.2.3", "minimatch": "^3.0.4", "minimist": "^1.2.0", "prompt-sync": "^4.1.6", @@ -116,12 +116,12 @@ "scss-bundle": "^2.4.0", "selenium-webdriver": "^3.6.0", "sorcery": "^0.10.0", - "stylelint": "^9.6.0", + "stylelint": "^9.8.0", "temp": "0.8.3", "ts-node": "^3.0.4", "tsconfig-paths": "^2.3.0", "tslint": "^5.11.0", - "typescript": "~3.1.1", + "typescript": "^3.1.6", "uglify-js": "^2.8.14" } } diff --git a/src/lib/core/style-utils/style-utils.spec.ts b/src/lib/core/style-utils/style-utils.spec.ts index 67000c40d..a832fb2de 100644 --- a/src/lib/core/style-utils/style-utils.spec.ts +++ b/src/lib/core/style-utils/style-utils.spec.ts @@ -39,11 +39,11 @@ describe('styler', () => { describe('testing display styles', () => { - it('should default to "display:block" for
', () => { + it('should not have a default for
', () => { componentWithTemplate(`
`); - expectNativeEl(fixture).toHaveCSS({'display': 'block'}, styler); + expectNativeEl(fixture).not.toHaveStyle({'display': 'block'}, styler); }); it('should find to "display" for inline style
', () => { diff --git a/src/lib/core/style-utils/style-utils.ts b/src/lib/core/style-utils/style-utils.ts index ef237d4a1..5991c94ca 100644 --- a/src/lib/core/style-utils/style-utils.ts +++ b/src/lib/core/style-utils/style-utils.ts @@ -54,9 +54,6 @@ export class StyleUtils { getFlowDirection(target: HTMLElement): [string, string] { const query = 'flex-direction'; let value = this.lookupStyle(target, query); - if (value === FALLBACK_STYLE) { - value = ''; - } const hasInlineValue = this.lookupInlineStyle(target, query) || (isPlatformServer(this._platformId) && this._serverModuleLoaded) ? value : ''; @@ -101,7 +98,7 @@ export class StyleUtils { // Note: 'inline' is the default of all elements, unless UA stylesheet overrides; // in which case getComputedStyle() should determine a valid value. - return value ? value.trim() : FALLBACK_STYLE; + return value.trim(); } /** @@ -176,5 +173,3 @@ export class StyleUtils { * map of property name and value (e.g. {display: 'none', flex-order: 5}) */ export type StyleDefinition = { [property: string]: string | number | null }; - -const FALLBACK_STYLE = 'block'; diff --git a/src/lib/extended/show-hide/hide.spec.ts b/src/lib/extended/show-hide/hide.spec.ts index ae4d906d1..52a88b344 100644 --- a/src/lib/extended/show-hide/hide.spec.ts +++ b/src/lib/extended/show-hide/hide.spec.ts @@ -5,8 +5,8 @@ * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ -import {Component, OnInit, PLATFORM_ID} from '@angular/core'; -import {CommonModule, isPlatformServer} from '@angular/common'; +import {Component, OnInit} from '@angular/core'; +import {CommonModule} from '@angular/common'; import {ComponentFixture, TestBed, inject} from '@angular/core/testing'; import { MatchMedia, @@ -29,15 +29,12 @@ describe('hide directive', () => { let fixture: ComponentFixture; let matchMedia: MockMatchMedia; let styler: StyleUtils; - let platformId: Object; let createTestComponent = (template: string) => { fixture = makeCreateTestComponent(() => TestHideComponent)(template); - inject([MatchMedia, StyleUtils, PLATFORM_ID], - (_matchMedia: MockMatchMedia, _styler: StyleUtils, _platformId: Object) => { + inject([MatchMedia, StyleUtils], (_matchMedia: MockMatchMedia, _styler: StyleUtils) => { matchMedia = _matchMedia; styler = _styler; - platformId = _platformId; })(); return fixture; @@ -80,19 +77,19 @@ describe('hide directive', () => { it('should initial with component visible when set to `false`', () => { createTestComponent(`
`); - expectNativeEl(fixture).toHaveStyle({'display': 'block'}, styler); + expectNativeEl(fixture).not.toHaveStyle({'display': 'none'}, styler); }); it('should initial with component visible when set to `0`', () => { createTestComponent(`
`); - expectNativeEl(fixture, {isVisible: 0}).toHaveStyle({'display': 'block'}, styler); + expectNativeEl(fixture, {isVisible: 0}).not.toHaveStyle({'display': 'none'}, styler); }); it('should update styles with binding changes', () => { createTestComponent(`
`); expectNativeEl(fixture).toHaveStyle({'display': 'none'}, styler); fixture.componentInstance.toggleMenu(); - expectNativeEl(fixture).toHaveStyle({'display': 'block'}, styler); + expectNativeEl(fixture).not.toHaveStyle({'display': 'none'}, styler); fixture.componentInstance.toggleMenu(); expectNativeEl(fixture).toHaveStyle({'display': 'none'}, styler); }); @@ -103,16 +100,15 @@ describe('hide directive', () => { 'display': 'none' }, styler); - // TODO(CaerusKaru): Domino doesn't calculate the right styles here - expectNativeEl(fixture, {isHidden: false}).toHaveStyle({ - 'display': isPlatformServer(platformId) ? 'block' : 'inline-block' + expectNativeEl(fixture, {isHidden: false}).not.toHaveStyle({ + 'display': 'none' }, styler); }); it('should use "flex" display style when the element also has an fxLayout', () => { createTestComponent(`
`); expectNativeEl(fixture, {isHidden: true}).toHaveStyle({'display': 'none'}, styler); - expectNativeEl(fixture, {isHidden: false}).toHaveStyle({'display': 'block'}, styler); + expectNativeEl(fixture, {isHidden: false}).not.toHaveStyle({'display': 'none'}, styler); }); @@ -125,7 +121,7 @@ describe('hide directive', () => { expectNativeEl(fixture).toHaveStyle({'display': 'none'}, styler); matchMedia.activate('xs'); - expectNativeEl(fixture).toHaveStyle({'display': 'block'}, styler); + expectNativeEl(fixture).not.toHaveStyle({'display': 'none'}, styler); matchMedia.activate('md'); expectNativeEl(fixture).toHaveStyle({'display': 'none'}, styler); }); @@ -172,24 +168,24 @@ describe('hide directive', () => { it('should support use of the `media` observable in templates ', () => { createTestComponent(`
`); - expectNativeEl(fixture).toHaveStyle({'display': 'block'}, styler); + expectNativeEl(fixture).not.toHaveStyle({'display': 'none'}, styler); matchMedia.activate('xs'); expectNativeEl(fixture).toHaveStyle({'display': 'none'}, styler); matchMedia.activate('lg'); - expectNativeEl(fixture).toHaveStyle({'display': 'block'}, styler); + expectNativeEl(fixture).not.toHaveStyle({'display': 'none'}, styler); }); it('should support use of the `media` observable in adaptive templates ', () => { createTestComponent(`
`); - expectNativeEl(fixture).toHaveStyle({'display': 'block'}, styler); + expectNativeEl(fixture).not.toHaveStyle({'display': 'none'}, styler); matchMedia.activate('xs'); - expectNativeEl(fixture).toHaveStyle({'display': 'block'}, styler); + expectNativeEl(fixture).not.toHaveStyle({'display': 'none'}, styler); matchMedia.activate('md'); - expectNativeEl(fixture).toHaveStyle({'display': 'block'}, styler); + expectNativeEl(fixture).not.toHaveStyle({'display': 'none'}, styler); }); it('should hide when used with fxLayout and the ".md" breakpoint activates', () => { @@ -211,7 +207,7 @@ describe('hide directive', () => { let expectActivation: any = makeExpectWithActivation(createTestComponent(template), '.hideOnMd'); - expectActivation().toHaveStyle({'display': 'block'}, styler); + expectActivation().not.toHaveStyle({'display': 'none'}, styler); expectActivation('md').toHaveStyle({'display': 'none'}, styler); }); @@ -224,14 +220,9 @@ describe('hide directive', () => { let expectActivation: any = makeExpectWithActivation(createTestComponent(template), '.hideOnXs'); - // TODO(CaerusKaru): the Domino server impl. does not process inline display correctly - expectActivation().toHaveStyle({ - 'display': isPlatformServer(platformId) ? 'block' : 'inline' - }, styler); + expectActivation().not.toHaveStyle({'display': 'none'}, styler); expectActivation('xs').toHaveStyle({'display': 'none'}, styler); - expectActivation('md').toHaveStyle({ - 'display': isPlatformServer(platformId) ? 'block' : 'inline' - }, styler); + expectActivation('md').not.toHaveStyle({'display': 'none'}, styler); }); }); diff --git a/src/lib/extended/show-hide/show-hide.ts b/src/lib/extended/show-hide/show-hide.ts index 6ffc07013..cb57fae78 100644 --- a/src/lib/extended/show-hide/show-hide.ts +++ b/src/lib/extended/show-hide/show-hide.ts @@ -17,19 +17,22 @@ import { Optional, Inject, PLATFORM_ID, + ViewChild, + AfterViewInit, } from '@angular/core'; import {isPlatformServer} from '@angular/common'; import { BaseDirective, + LAYOUT_CONFIG, + LayoutConfigOptions, MediaChange, MediaMonitor, SERVER_TOKEN, StyleUtils, } from '@angular/flex-layout/core'; +import {FlexDirective, LayoutDirective} from '@angular/flex-layout/flex'; import {Subscription} from 'rxjs'; -import {LayoutDirective} from '@angular/flex-layout/flex'; - const FALSY = ['false', false, 0]; /** @@ -59,7 +62,8 @@ export function negativeOf(hide: any) { [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg] ` }) -export class ShowHideDirective extends BaseDirective implements OnInit, OnChanges, OnDestroy { +export class ShowHideDirective extends BaseDirective + implements OnInit, OnChanges, OnDestroy, AfterViewInit { /** * Subscription to the parent flex container's layout changes. @@ -106,22 +110,17 @@ export class ShowHideDirective extends BaseDirective implements OnInit, OnChange @Input('fxHide.gt-lg') set hideGtLg(val: string) {this._cacheInput('showGtLg', negativeOf(val)); }; /* tslint:enable */ + @ViewChild(FlexDirective) protected _flexChild: FlexDirective | null = null; + constructor(monitor: MediaMonitor, @Optional() @Self() protected layout: LayoutDirective, protected elRef: ElementRef, protected styleUtils: StyleUtils, @Inject(PLATFORM_ID) protected platformId: Object, - @Optional() @Inject(SERVER_TOKEN) protected serverModuleLoaded: boolean) { + @Optional() @Inject(SERVER_TOKEN) protected serverModuleLoaded: boolean, + @Inject(LAYOUT_CONFIG) protected layoutConfig: LayoutConfigOptions) { super(monitor, elRef, styleUtils); - - if (layout) { - /** - * The Layout can set the display:flex (and incorrectly affect the Hide/Show directives. - * Whenever Layout [on the same element] resets its CSS, then update the Hide/Show CSS - */ - this._layoutWatcher = layout.layout$.subscribe(() => this._updateWithValue()); - } } // ********************************************* @@ -134,7 +133,8 @@ export class ShowHideDirective extends BaseDirective implements OnInit, OnChange * unless it was already explicitly specified inline or in a CSS stylesheet. */ protected _getDisplayStyle(): string { - return this.layout ? 'flex' : super._getDisplayStyle(); + return (this.layout || (this._flexChild && this.layoutConfig.addFlexToParent)) ? + 'flex' : super._getDisplayStyle(); } @@ -155,14 +155,22 @@ export class ShowHideDirective extends BaseDirective implements OnInit, OnChange */ ngOnInit() { super.ngOnInit(); - this._display = this._getDisplayStyle(); + } + ngAfterViewInit() { + this._display = this._getDisplayStyle(); + if (this.layout) { + /** + * The Layout can set the display:flex (and incorrectly affect the Hide/Show directives. + * Whenever Layout [on the same element] resets its CSS, then update the Hide/Show CSS + */ + this._layoutWatcher = this.layout.layout$.subscribe(() => this._updateWithValue()); + } let value = this._getDefaultVal('show', true); // Build _mqActivation controller this._listenForMediaQueryChanges('show', value, (changes: MediaChange) => { this._updateWithValue(changes.value); }); - this._updateWithValue(); } diff --git a/src/lib/extended/show-hide/show.spec.ts b/src/lib/extended/show-hide/show.spec.ts index 62570abf7..87a8e0e90 100644 --- a/src/lib/extended/show-hide/show.spec.ts +++ b/src/lib/extended/show-hide/show.spec.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ import {Component, OnInit, PLATFORM_ID} from '@angular/core'; -import {CommonModule, isPlatformServer} from '@angular/common'; +import {CommonModule, isPlatformBrowser} from '@angular/common'; import {ComponentFixture, TestBed, inject} from '@angular/core/testing'; import { MatchMedia, @@ -19,7 +19,16 @@ import { import {FlexLayoutModule} from '../../module'; import {customMatchers} from '../../utils/testing/custom-matchers'; -import {makeCreateTestComponent, expectNativeEl} from '../../utils/testing/helpers'; +import { + makeCreateTestComponent, + expectNativeEl, + expectEl, + queryFor, +} from '../../utils/testing/helpers'; +import {MatFormFieldModule} from '@angular/material/form-field'; +import {FormsModule} from '@angular/forms'; +import {MatSelectModule} from '@angular/material/select'; +import {NoopAnimationsModule} from '@angular/platform-browser/animations'; describe('show directive', () => { let fixture: ComponentFixture; @@ -42,7 +51,14 @@ describe('show directive', () => { // Configure testbed to prepare services TestBed.configureTestingModule({ - imports: [CommonModule, FlexLayoutModule], + imports: [ + CommonModule, + FlexLayoutModule, + MatFormFieldModule, + FormsModule, + MatSelectModule, + NoopAnimationsModule, + ], declarations: [TestShowComponent], providers: [ MockMatchMediaProvider, @@ -55,7 +71,7 @@ describe('show directive', () => { it('should initial with component visible as default', () => { createTestComponent(`
`); - expectNativeEl(fixture).toHaveStyle({'display': 'block'}, styler); + expectNativeEl(fixture).not.toHaveStyle({'display': 'none'}, styler); }); it('should initial with component not visible when set to `false`', () => { @@ -68,24 +84,21 @@ describe('show directive', () => { expectNativeEl(fixture).toHaveStyle({'display': 'none'}, styler); fixture.componentInstance.isVisible = true; - expectNativeEl(fixture).toHaveStyle({'display': 'block'}, styler); + expectNativeEl(fixture).not.toHaveStyle({'display': 'none'}, styler); }); it('should update styles with binding changes', () => { createTestComponent(`
`); - expectNativeEl(fixture).toHaveStyle({'display': 'block'}, styler); + expectNativeEl(fixture).not.toHaveStyle({'display': 'none'}, styler); fixture.componentInstance.toggleMenu(); expectNativeEl(fixture).toHaveStyle({'display': 'none'}, styler); fixture.componentInstance.toggleMenu(); - expectNativeEl(fixture).toHaveStyle({'display': 'block'}, styler); + expectNativeEl(fixture).not.toHaveStyle({'display': 'none'}, styler); }); it('should use "block" display style when not explicitly defined', () => { createTestComponent(``); - // TODO(CaerusKaru): the Domino server impl. does not process inline display correctly - expectNativeEl(fixture).toHaveStyle({ - 'display': isPlatformServer(platformId) ? 'block' : 'inline-block' - }, styler); + expectNativeEl(fixture).not.toHaveStyle({'display': 'none'}, styler); }); it('should use "flex" display style when the element also has an fxLayout', () => { @@ -99,18 +112,18 @@ describe('show directive', () => { it('should hide on `xs` viewports only', () => { createTestComponent(`
`); - expectNativeEl(fixture).toHaveStyle({'display': 'block'}, styler); + expectNativeEl(fixture).not.toHaveStyle({'display': 'none'}, styler); matchMedia.activate('xs'); expectNativeEl(fixture).toHaveStyle({'display': 'none'}, styler); matchMedia.activate('md'); - expectNativeEl(fixture).toHaveStyle({'display': 'block'}, styler); + expectNativeEl(fixture).not.toHaveStyle({'display': 'none'}, styler); }); it('should hide when fallbacks are configured to hide on `gt-xs` viewports', () => { createTestComponent(`
`); - expectNativeEl(fixture).toHaveStyle({'display': 'block'}, styler); + expectNativeEl(fixture).not.toHaveStyle({'display': 'none'}, styler); matchMedia.activate('md', true); expectNativeEl(fixture).toHaveStyle({'display': 'none'}, styler); @@ -123,7 +136,7 @@ describe('show directive', () => { expectNativeEl(fixture).toHaveStyle({'display': 'none'}, styler); matchMedia.activate('xs'); - expectNativeEl(fixture).toHaveStyle({'display': 'block'}, styler); + expectNativeEl(fixture).not.toHaveStyle({'display': 'none'}, styler); matchMedia.activate('gt-md'); expectNativeEl(fixture).toHaveStyle({'display': 'none'}, styler); @@ -171,6 +184,21 @@ describe('show directive', () => { expectNativeEl(fixture).toHaveStyle(visibleStyle, styler); }); + it('should work oninit with responsive', () => { + createTestComponent(` +
+ Shown on devices larger than 1200px wide only. +
`); + + matchMedia.activate('gt-lg'); + expectNativeEl(fixture).not.toHaveStyle({'display': 'none'}, styler); + + matchMedia.activate('lg'); + expectNativeEl(fixture).toHaveStyle({'display': 'none'}, styler); + + matchMedia.activate('gt-lg'); + expectNativeEl(fixture).not.toHaveStyle({'display': 'none'}, styler); + }); }); @@ -187,11 +215,79 @@ describe('show directive', () => { expectNativeEl(fixture).toHaveStyle({'display': 'none'}, styler); matchMedia.activate('lg'); - expectNativeEl(fixture).toHaveStyle({'display': 'block'}, styler); + expectNativeEl(fixture).not.toHaveStyle({'display': 'none'}, styler); + + matchMedia.activate('sm'); + expectNativeEl(fixture).toHaveStyle({'display': 'none'}, styler); + }); + + it('should work with responsive and adding flex to parent', () => { + createTestComponent(` +
+
+ This content doesn't get hidden on small screen size! +
+
+ `); + + matchMedia.useOverlaps = true; + expectNativeEl(fixture).toHaveStyle({'display': 'none'}, styler); + + matchMedia.activate('gt-sm'); + expectNativeEl(fixture).toHaveStyle({'display': 'flex'}, styler); matchMedia.activate('sm'); expectNativeEl(fixture).toHaveStyle({'display': 'none'}, styler); }); + + it('should work with unknown elements', () => { + createTestComponent(` + + foo + bar + + + option {{option}} + + + + `); + + let selector = '[el]'; + + matchMedia.useOverlaps = true; + fixture.detectChanges(); + + // NOTE: platform-server can't compute display for unknown elements + if (isPlatformBrowser(platformId)) { + expectEl(queryFor(fixture, selector)[0]).toHaveStyle({ + 'display': 'inline' + }, styler); + } else { + expectEl(queryFor(fixture, selector)[0]).not.toHaveStyle({ + 'display': '*' + }, styler); + } + + matchMedia.activate('xs'); + fixture.detectChanges(); + expectEl(queryFor(fixture, selector)[0]).toHaveStyle({ + 'display': 'none' + }, styler); + + matchMedia.activate('lg'); + fixture.detectChanges(); + // NOTE: platform-server can't compute display for unknown elements + if (isPlatformBrowser(platformId)) { + expectEl(queryFor(fixture, selector)[0]).toHaveStyle({ + 'display': 'inline' + }, styler); + } else { + expectEl(queryFor(fixture, selector)[0]).not.toHaveStyle({ + 'display': '*' + }, styler); + } + }); }); }); diff --git a/src/lib/utils/testing/custom-matchers.ts b/src/lib/utils/testing/custom-matchers.ts index ac872eb25..f23923612 100644 --- a/src/lib/utils/testing/custom-matchers.ts +++ b/src/lib/utils/testing/custom-matchers.ts @@ -252,7 +252,11 @@ function hasPrefixedStyles(actual: HTMLElement, styler: StyleUtils) { const current = {}; - value = value !== '*' ? value.trim() : ''; + if (value === '*') { + return {elHasStyle: styler.lookupStyle(actual, key, inlineOnly) !== '', current}; + } + + value = value.trim(); let elHasStyle = styler.lookupStyle(actual, key, inlineOnly) === value; if (!elHasStyle) { let prefixedStyles = applyCssPrefixes({[key]: value}); diff --git a/test/karma-system-config.js b/test/karma-system-config.js index ba28be7ee..c48310549 100644 --- a/test/karma-system-config.js +++ b/test/karma-system-config.js @@ -35,14 +35,20 @@ System.config({ 'node:@angular/platform-browser-dynamic/bundles/platform-browser-dynamic-testing.umd.js', '@angular/material/button': 'node:@angular/material/bundles/material-button.umd.js', + '@angular/material/form-field': 'node:@angular/material/bundles/material-form-field.umd.js', '@angular/material/core': 'node:@angular/material/bundles/material-core.umd.js', + '@angular/material/select': 'node:@angular/material/bundles/material-select.umd.js', '@angular/cdk': 'node:@angular/cdk/bundles/cdk.umd.js', '@angular/cdk/a11y': 'node:@angular/cdk/bundles/cdk-a11y.umd.js', '@angular/cdk/bidi': 'node:@angular/cdk/bundles/cdk-bidi.umd.js', '@angular/cdk/coercion': 'node:@angular/cdk/bundles/cdk-coercion.umd.js', + '@angular/cdk/collections': 'node:@angular/cdk/bundles/cdk-collections.umd.js', '@angular/cdk/keycodes': 'node:@angular/cdk/bundles/cdk-keycodes.umd.js', '@angular/cdk/observers': 'node:@angular/cdk/bundles/cdk-observers.umd.js', + '@angular/cdk/overlay': 'node:@angular/cdk/bundles/cdk-overlay.umd.js', '@angular/cdk/platform': 'node:@angular/cdk/bundles/cdk-platform.umd.js', + '@angular/cdk/portal': 'node:@angular/cdk/bundles/cdk-portal.umd.js', + '@angular/cdk/scrolling': 'node:@angular/cdk/bundles/cdk-scrolling.umd.js', // Path mappings for local packages that can be imported inside of tests. '@angular/flex-layout': 'dist/packages/flex-layout/index.js', diff --git a/tools/package-tools/rollup-globals.ts b/tools/package-tools/rollup-globals.ts index b1d9e1487..047a0c61b 100644 --- a/tools/package-tools/rollup-globals.ts +++ b/tools/package-tools/rollup-globals.ts @@ -35,6 +35,8 @@ export const rollupGlobals = { '@angular/common/testing': 'ng.common.testing', '@angular/common/http/testing': 'ng.common.http.testing', '@angular/material/button': 'ng.material.button', + '@angular/material/select': 'ng.material.select', + '@angular/material/form-field': 'ng.material.formField', '@angular/cdk/bidi': 'ng.cdk.bidi', '@angular/cdk/coercion': 'ng.cdk.coercion', '@angular/cdk/platform': 'ng.cdk.platform',