BTB-3 Als Benutzer möchte ich, dass die Filtereinstellungen gespeichert werden, damit die Übersichtlichkeit verbessert wird.
diff --git a/package-lock.json b/package-lock.json
index 979b64c..d4524ae 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -281,8 +281,7 @@
"abbrev": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
- "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
- "dev": true
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
},
"accepts": {
"version": "1.3.5",
@@ -396,8 +395,7 @@
"amdefine": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
- "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
- "dev": true
+ "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU="
},
"angular-oauth2-oidc": {
"version": "1.0.20",
@@ -470,8 +468,7 @@
"ansi-regex": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
- "dev": true
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
},
"ansi-styles": {
"version": "3.2.1",
@@ -516,14 +513,12 @@
"aproba": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
- "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
- "dev": true
+ "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw=="
},
"are-we-there-yet": {
"version": "1.1.5",
"resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
"integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
- "dev": true,
"requires": {
"delegates": "^1.0.0",
"readable-stream": "^2.0.6"
@@ -559,8 +554,7 @@
"array-find-index": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
- "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
- "dev": true
+ "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E="
},
"array-flatten": {
"version": "2.1.2",
@@ -617,8 +611,7 @@
"asn1": {
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
- "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=",
- "dev": true
+ "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y="
},
"asn1.js": {
"version": "4.10.1",
@@ -687,15 +680,12 @@
"async-foreach": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz",
- "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=",
- "dev": true,
- "optional": true
+ "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI="
},
"asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
- "dev": true
+ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
},
"atob": {
"version": "2.1.2",
@@ -867,8 +857,7 @@
"balanced-match": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
- "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
- "dev": true
+ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
},
"base": {
"version": "0.11.2",
@@ -952,7 +941,6 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz",
"integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=",
- "dev": true,
"optional": true,
"requires": {
"tweetnacl": "^0.14.3"
@@ -989,8 +977,6 @@
"version": "0.0.9",
"resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz",
"integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=",
- "dev": true,
- "optional": true,
"requires": {
"inherits": "~2.0.0"
}
@@ -1151,7 +1137,6 @@
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dev": true,
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -1313,8 +1298,7 @@
"builtin-modules": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
- "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
- "dev": true
+ "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8="
},
"builtin-status-codes": {
"version": "3.0.0",
@@ -1385,14 +1369,12 @@
"camelcase": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
- "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
- "dev": true
+ "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8="
},
"camelcase-keys": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
"integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
- "dev": true,
"requires": {
"camelcase": "^2.0.0",
"map-obj": "^1.0.0"
@@ -1425,8 +1407,7 @@
"caseless": {
"version": "0.12.0",
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
- "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
- "dev": true
+ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
},
"center-align": {
"version": "0.1.3",
@@ -1496,7 +1477,8 @@
"ansi-regex": {
"version": "2.1.1",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"aproba": {
"version": "1.2.0",
@@ -1517,12 +1499,14 @@
"balanced-match": {
"version": "1.0.0",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"brace-expansion": {
"version": "1.1.11",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -1537,17 +1521,20 @@
"code-point-at": {
"version": "1.1.0",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"concat-map": {
"version": "0.0.1",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"console-control-strings": {
"version": "1.1.0",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"core-util-is": {
"version": "1.0.2",
@@ -1664,7 +1651,8 @@
"inherits": {
"version": "2.0.3",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"ini": {
"version": "1.3.5",
@@ -1676,6 +1664,7 @@
"version": "1.0.0",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"number-is-nan": "^1.0.0"
}
@@ -1690,6 +1679,7 @@
"version": "3.0.4",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"brace-expansion": "^1.1.7"
}
@@ -1697,12 +1687,14 @@
"minimist": {
"version": "0.0.8",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"minipass": {
"version": "2.2.4",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"safe-buffer": "^5.1.1",
"yallist": "^3.0.0"
@@ -1721,6 +1713,7 @@
"version": "0.5.1",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"minimist": "0.0.8"
}
@@ -1801,7 +1794,8 @@
"number-is-nan": {
"version": "1.0.1",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"object-assign": {
"version": "4.1.1",
@@ -1813,6 +1807,7 @@
"version": "1.4.0",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"wrappy": "1"
}
@@ -1898,7 +1893,8 @@
"safe-buffer": {
"version": "5.1.1",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"safer-buffer": {
"version": "2.1.2",
@@ -1934,6 +1930,7 @@
"version": "1.0.2",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0",
@@ -1953,6 +1950,7 @@
"version": "3.0.1",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"ansi-regex": "^2.0.0"
}
@@ -1996,12 +1994,14 @@
"wrappy": {
"version": "1.0.2",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"yallist": {
"version": "3.0.2",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
}
}
}
@@ -2120,7 +2120,6 @@
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
"integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
- "dev": true,
"requires": {
"string-width": "^1.0.1",
"strip-ansi": "^3.0.1",
@@ -2163,8 +2162,7 @@
"code-point-at": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
- "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
- "dev": true
+ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
},
"codelyzer": {
"version": "2.0.1",
@@ -2255,7 +2253,6 @@
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
"integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=",
- "dev": true,
"requires": {
"delayed-stream": "~1.0.0"
}
@@ -2339,8 +2336,7 @@
"concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
- "dev": true
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
},
"concat-stream": {
"version": "1.6.2",
@@ -2398,8 +2394,7 @@
"console-control-strings": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
- "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
- "dev": true
+ "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4="
},
"constants-browserify": {
"version": "1.0.0",
@@ -2503,8 +2498,7 @@
"core-util-is": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
- "dev": true
+ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
},
"cosmiconfig": {
"version": "2.2.2",
@@ -2579,8 +2573,6 @@
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz",
"integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=",
- "dev": true,
- "optional": true,
"requires": {
"lru-cache": "^4.0.1",
"which": "^1.2.9"
@@ -2758,7 +2750,6 @@
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
"integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
- "dev": true,
"requires": {
"array-find-index": "^1.0.1"
}
@@ -2788,7 +2779,6 @@
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
"integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
- "dev": true,
"requires": {
"assert-plus": "^1.0.0"
},
@@ -2796,8 +2786,7 @@
"assert-plus": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
- "dev": true
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
}
}
},
@@ -2819,8 +2808,7 @@
"decamelize": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
- "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
- "dev": true
+ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA="
},
"decode-uri-component": {
"version": "0.2.0",
@@ -2849,6 +2837,14 @@
"strip-bom": "^2.0.0"
}
},
+ "define-properties": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
+ "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
+ "requires": {
+ "object-keys": "^1.0.12"
+ }
+ },
"define-property": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
@@ -2936,14 +2932,12 @@
"delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
- "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
- "dev": true
+ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
},
"delegates": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
- "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
- "dev": true
+ "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o="
},
"denodeify": {
"version": "1.2.1",
@@ -3228,7 +3222,6 @@
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
"integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=",
- "dev": true,
"optional": true,
"requires": {
"jsbn": "~0.1.0"
@@ -3423,11 +3416,39 @@
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz",
"integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=",
- "dev": true,
"requires": {
"is-arrayish": "^0.2.1"
}
},
+ "es-abstract": {
+ "version": "1.18.0-next.1",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz",
+ "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==",
+ "requires": {
+ "es-to-primitive": "^1.2.1",
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.1",
+ "is-callable": "^1.2.2",
+ "is-negative-zero": "^2.0.0",
+ "is-regex": "^1.1.1",
+ "object-inspect": "^1.8.0",
+ "object-keys": "^1.1.1",
+ "object.assign": "^4.1.1",
+ "string.prototype.trimend": "^1.0.1",
+ "string.prototype.trimstart": "^1.0.1"
+ }
+ },
+ "es-to-primitive": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
+ "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
+ "requires": {
+ "is-callable": "^1.1.4",
+ "is-date-object": "^1.0.1",
+ "is-symbol": "^1.0.2"
+ }
+ },
"es5-ext": {
"version": "0.10.46",
"resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.46.tgz",
@@ -3508,8 +3529,7 @@
"escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
- "dev": true
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
},
"escope": {
"version": "3.6.0",
@@ -4014,8 +4034,7 @@
"extsprintf": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
- "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
- "dev": true
+ "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
},
"fast-deep-equal": {
"version": "1.1.0",
@@ -4026,8 +4045,7 @@
"fast-json-stable-stringify": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
- "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
- "dev": true
+ "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I="
},
"fastparse": {
"version": "1.1.1",
@@ -4227,8 +4245,7 @@
"forever-agent": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
- "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
- "dev": true
+ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
},
"form-data": {
"version": "2.1.4",
@@ -4307,8 +4324,7 @@
"fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
- "dev": true
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
},
"fsevents": {
"version": "1.1.3",
@@ -4340,7 +4356,8 @@
"ansi-regex": {
"version": "2.1.1",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"aproba": {
"version": "1.1.1",
@@ -4391,7 +4408,8 @@
"balanced-match": {
"version": "0.4.2",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"bcrypt-pbkdf": {
"version": "1.0.1",
@@ -4406,6 +4424,7 @@
"version": "0.0.9",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"inherits": "~2.0.0"
}
@@ -4414,6 +4433,7 @@
"version": "2.10.1",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"hoek": "2.x.x"
}
@@ -4422,6 +4442,7 @@
"version": "1.1.7",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"balanced-match": "^0.4.1",
"concat-map": "0.0.1"
@@ -4463,7 +4484,8 @@
"concat-map": {
"version": "0.0.1",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"console-control-strings": {
"version": "1.1.0",
@@ -4577,12 +4599,14 @@
"fs.realpath": {
"version": "1.0.0",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"fstream": {
"version": "1.0.11",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"graceful-fs": "^4.1.2",
"inherits": "~2.0.0",
@@ -4638,6 +4662,7 @@
"version": "7.1.2",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
@@ -4650,7 +4675,8 @@
"graceful-fs": {
"version": "4.1.11",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"har-schema": {
"version": "1.0.5",
@@ -4678,6 +4704,7 @@
"version": "3.1.3",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"boom": "2.x.x",
"cryptiles": "2.x.x",
@@ -4688,7 +4715,8 @@
"hoek": {
"version": "2.16.3",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"http-signature": {
"version": "1.1.1",
@@ -4705,6 +4733,7 @@
"version": "1.0.6",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"once": "^1.3.0",
"wrappy": "1"
@@ -4713,7 +4742,8 @@
"inherits": {
"version": "2.0.3",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"ini": {
"version": "1.3.4",
@@ -4829,6 +4859,7 @@
"version": "3.0.4",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"brace-expansion": "1.1.7"
}
@@ -4836,12 +4867,14 @@
"minimist": {
"version": "0.0.8",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"mkdirp": {
"version": "0.5.1",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"minimist": "0.0.8"
}
@@ -4915,6 +4948,7 @@
"version": "1.4.0",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"wrappy": "1"
}
@@ -4944,7 +4978,8 @@
"path-is-absolute": {
"version": "1.0.1",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"performance-now": {
"version": "0.2.0",
@@ -5039,6 +5074,7 @@
"version": "2.6.1",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"glob": "^7.0.5"
}
@@ -5046,7 +5082,8 @@
"safe-buffer": {
"version": "5.0.1",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"semver": {
"version": "5.3.0",
@@ -5130,6 +5167,7 @@
"version": "3.0.1",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"ansi-regex": "^2.0.0"
}
@@ -5144,6 +5182,7 @@
"version": "2.2.1",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"block-stream": "*",
"fstream": "^1.0.2",
@@ -5229,15 +5268,15 @@
"wrappy": {
"version": "1.0.2",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
}
}
},
"fstream": {
- "version": "1.0.11",
- "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz",
- "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=",
- "dev": true,
+ "version": "1.0.12",
+ "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz",
+ "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==",
"requires": {
"graceful-fs": "^4.1.2",
"inherits": "~2.0.0",
@@ -5248,14 +5287,12 @@
"function-bind": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
- "dev": true
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
},
"gauge": {
"version": "2.7.4",
"resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
"integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
- "dev": true,
"requires": {
"aproba": "^1.0.3",
"console-control-strings": "^1.0.0",
@@ -5271,8 +5308,6 @@
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz",
"integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==",
- "dev": true,
- "optional": true,
"requires": {
"globule": "^1.0.0"
}
@@ -5280,14 +5315,12 @@
"get-caller-file": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
- "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==",
- "dev": true
+ "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w=="
},
"get-stdin": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
- "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
- "dev": true
+ "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4="
},
"get-stream": {
"version": "3.0.0",
@@ -5305,7 +5338,6 @@
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
"integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
- "dev": true,
"requires": {
"assert-plus": "^1.0.0"
},
@@ -5313,8 +5345,7 @@
"assert-plus": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
- "dev": true
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
}
}
},
@@ -5322,7 +5353,6 @@
"version": "7.1.2",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
"integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
- "dev": true,
"requires": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
@@ -5419,11 +5449,9 @@
}
},
"globule": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz",
- "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==",
- "dev": true,
- "optional": true,
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.2.tgz",
+ "integrity": "sha512-7IDTQTIu2xzXkT+6mlluidnWo+BypnbSoEVVQCGfzqnl5Ik8d3e1d4wycb8Rj9tWW+Z39uPWsdlquqiqPCd/pA==",
"requires": {
"glob": "~7.1.1",
"lodash": "~4.17.10",
@@ -5431,11 +5459,9 @@
},
"dependencies": {
"lodash": {
- "version": "4.17.11",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
- "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
- "dev": true,
- "optional": true
+ "version": "4.17.20",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz",
+ "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA=="
}
}
},
@@ -5461,8 +5487,7 @@
"graceful-fs": {
"version": "4.1.11",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
- "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
- "dev": true
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg="
},
"handle-thing": {
"version": "1.2.5",
@@ -5584,7 +5609,6 @@
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
"integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "dev": true,
"requires": {
"function-bind": "^1.1.1"
}
@@ -5593,7 +5617,6 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
"integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
- "dev": true,
"requires": {
"ansi-regex": "^2.0.0"
}
@@ -5627,11 +5650,15 @@
"integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
"dev": true
},
+ "has-symbols": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
+ "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg=="
+ },
"has-unicode": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
- "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
- "dev": true
+ "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk="
},
"has-value": {
"version": "1.0.0",
@@ -5723,8 +5750,7 @@
"hosted-git-info": {
"version": "2.7.1",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz",
- "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==",
- "dev": true
+ "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w=="
},
"hpack.js": {
"version": "2.1.6",
@@ -6163,17 +6189,14 @@
"dev": true
},
"in-publish": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz",
- "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=",
- "dev": true,
- "optional": true
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.1.tgz",
+ "integrity": "sha512-oDM0kUSNFC31ShNxHKUyfZKy8ZeXZBWMjMdZHKLOk13uvT27VTL/QzRGfRUcevJhpkZAvlhPYuXkF7eNWrtyxQ=="
},
"indent-string": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
"integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
- "dev": true,
"requires": {
"repeating": "^2.0.0"
}
@@ -6194,7 +6217,6 @@
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
- "dev": true,
"requires": {
"once": "^1.3.0",
"wrappy": "1"
@@ -6203,8 +6225,7 @@
"inherits": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
- "dev": true
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
},
"ini": {
"version": "1.3.5",
@@ -6239,8 +6260,7 @@
"invert-kv": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
- "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
- "dev": true
+ "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY="
},
"ip": {
"version": "1.1.5",
@@ -6283,8 +6303,7 @@
"is-arrayish": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
- "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
- "dev": true
+ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0="
},
"is-binary-path": {
"version": "1.0.1",
@@ -6305,11 +6324,15 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
"integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
- "dev": true,
"requires": {
"builtin-modules": "^1.0.0"
}
},
+ "is-callable": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz",
+ "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA=="
+ },
"is-data-descriptor": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
@@ -6330,6 +6353,11 @@
}
}
},
+ "is-date-object": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz",
+ "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g=="
+ },
"is-descriptor": {
"version": "0.1.6",
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
@@ -6386,7 +6414,6 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
"integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
- "dev": true,
"requires": {
"number-is-nan": "^1.0.0"
}
@@ -6395,7 +6422,6 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
"integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
- "dev": true,
"requires": {
"number-is-nan": "^1.0.0"
}
@@ -6419,6 +6445,11 @@
"is-path-inside": "^1.0.0"
}
},
+ "is-negative-zero": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz",
+ "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE="
+ },
"is-npm": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz",
@@ -6508,6 +6539,14 @@
"integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=",
"dev": true
},
+ "is-regex": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz",
+ "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==",
+ "requires": {
+ "has-symbols": "^1.0.1"
+ }
+ },
"is-retry-allowed": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz",
@@ -6529,17 +6568,23 @@
"html-comment-regex": "^1.1.0"
}
},
+ "is-symbol": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz",
+ "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==",
+ "requires": {
+ "has-symbols": "^1.0.1"
+ }
+ },
"is-typedarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
- "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
- "dev": true
+ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
},
"is-utf8": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
- "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
- "dev": true
+ "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI="
},
"is-windows": {
"version": "1.0.2",
@@ -6556,8 +6601,7 @@
"isarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
},
"isbinaryfile": {
"version": "3.0.2",
@@ -6568,8 +6612,7 @@
"isexe": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
- "dev": true
+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
},
"isobject": {
"version": "3.0.1",
@@ -6580,8 +6623,7 @@
"isstream": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
- "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
- "dev": true
+ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
},
"istanbul-api": {
"version": "1.2.2",
@@ -6802,7 +6844,6 @@
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
"integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
- "dev": true,
"optional": true
},
"jsesc": {
@@ -6820,8 +6861,7 @@
"json-schema": {
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
- "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
- "dev": true
+ "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
},
"json-schema-traverse": {
"version": "0.3.1",
@@ -6841,8 +6881,7 @@
"json-stringify-safe": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
- "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
- "dev": true
+ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
},
"json3": {
"version": "3.3.2",
@@ -6886,7 +6925,6 @@
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
"integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
- "dev": true,
"requires": {
"assert-plus": "1.0.0",
"extsprintf": "1.3.0",
@@ -6897,8 +6935,7 @@
"assert-plus": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
- "dev": true
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
}
}
},
@@ -7175,7 +7212,6 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
"integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
- "dev": true,
"requires": {
"invert-kv": "^1.0.0"
}
@@ -7228,7 +7264,6 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
"integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
- "dev": true,
"requires": {
"graceful-fs": "^4.1.2",
"parse-json": "^2.2.0",
@@ -7240,8 +7275,7 @@
"pify": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
- "dev": true
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
}
}
},
@@ -7275,15 +7309,7 @@
"lodash": {
"version": "4.17.5",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
- "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==",
- "dev": true
- },
- "lodash.assign": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
- "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=",
- "dev": true,
- "optional": true
+ "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw=="
},
"lodash.camelcase": {
"version": "4.3.0",
@@ -7309,13 +7335,6 @@
"integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=",
"dev": true
},
- "lodash.mergewith": {
- "version": "4.6.1",
- "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz",
- "integrity": "sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ==",
- "dev": true,
- "optional": true
- },
"lodash.tail": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/lodash.tail/-/lodash.tail-4.1.1.tgz",
@@ -7395,7 +7414,6 @@
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
"integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
- "dev": true,
"requires": {
"currently-unhandled": "^0.4.1",
"signal-exit": "^3.0.0"
@@ -7417,7 +7435,6 @@
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz",
"integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==",
- "dev": true,
"requires": {
"pseudomap": "^1.0.2",
"yallist": "^2.1.2"
@@ -7456,8 +7473,7 @@
"map-obj": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
- "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
- "dev": true
+ "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0="
},
"map-visit": {
"version": "1.0.0",
@@ -7538,7 +7554,6 @@
"version": "3.7.0",
"resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
"integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
- "dev": true,
"requires": {
"camelcase-keys": "^2.0.0",
"decamelize": "^1.1.2",
@@ -7555,8 +7570,7 @@
"minimist": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
- "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
- "dev": true
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
}
}
},
@@ -7646,7 +7660,6 @@
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
- "dev": true,
"requires": {
"brace-expansion": "^1.1.7"
}
@@ -7654,8 +7667,7 @@
"minimist": {
"version": "0.0.8",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
- "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
- "dev": true
+ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
},
"mississippi": {
"version": "2.0.0",
@@ -7718,7 +7730,6 @@
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
- "dev": true,
"requires": {
"minimist": "0.0.8"
}
@@ -7835,8 +7846,6 @@
"version": "3.8.0",
"resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz",
"integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==",
- "dev": true,
- "optional": true,
"requires": {
"fstream": "^1.0.0",
"glob": "^7.0.3",
@@ -7853,13 +7862,11 @@
},
"dependencies": {
"ajv": {
- "version": "6.6.2",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.2.tgz",
- "integrity": "sha512-FBHEW6Jf5TB9MGBgUUA9XHkTbjXYfAUjY43ACMfmdMRHniyoMHjHjzD50OK8LGDWQwp4rWEsIq5kEqq7rvIM1g==",
- "dev": true,
- "optional": true,
+ "version": "6.12.6",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
"requires": {
- "fast-deep-equal": "^2.0.1",
+ "fast-deep-equal": "^3.1.1",
"fast-json-stable-stringify": "^2.0.0",
"json-schema-traverse": "^0.4.1",
"uri-js": "^4.2.2"
@@ -7868,44 +7875,32 @@
"assert-plus": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
- "dev": true,
- "optional": true
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
},
"aws-sign2": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
- "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
- "dev": true,
- "optional": true
+ "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
},
"aws4": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
- "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==",
- "dev": true,
- "optional": true
+ "version": "1.10.1",
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.1.tgz",
+ "integrity": "sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA=="
},
"extend": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
- "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
- "dev": true,
- "optional": true
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
},
"fast-deep-equal": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
- "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
- "dev": true,
- "optional": true
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
},
"form-data": {
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
"integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
- "dev": true,
- "optional": true,
"requires": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.6",
@@ -7915,18 +7910,14 @@
"har-schema": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
- "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
- "dev": true,
- "optional": true
+ "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
},
"har-validator": {
- "version": "5.1.3",
- "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
- "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
- "dev": true,
- "optional": true,
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
+ "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
"requires": {
- "ajv": "^6.5.5",
+ "ajv": "^6.12.3",
"har-schema": "^2.0.0"
}
},
@@ -7934,8 +7925,6 @@
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
"integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
- "dev": true,
- "optional": true,
"requires": {
"assert-plus": "^1.0.0",
"jsprim": "^1.2.2",
@@ -7945,31 +7934,25 @@
"json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true,
- "optional": true
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
},
"mime-db": {
- "version": "1.37.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz",
- "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==",
- "dev": true
+ "version": "1.44.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz",
+ "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg=="
},
"mime-types": {
- "version": "2.1.21",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz",
- "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==",
- "dev": true,
+ "version": "2.1.27",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz",
+ "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==",
"requires": {
- "mime-db": "~1.37.0"
+ "mime-db": "1.44.0"
}
},
"nopt": {
"version": "3.0.6",
"resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
"integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
- "dev": true,
- "optional": true,
"requires": {
"abbrev": "1"
}
@@ -7977,30 +7960,27 @@
"oauth-sign": {
"version": "0.9.0",
"resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
- "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
- "dev": true,
- "optional": true
+ "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
},
"performance-now": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
- "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
- "dev": true,
- "optional": true
+ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
+ },
+ "punycode": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
},
"qs": {
"version": "6.5.2",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
- "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
- "dev": true,
- "optional": true
+ "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
},
"request": {
- "version": "2.88.0",
- "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
- "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
- "dev": true,
- "optional": true,
+ "version": "2.88.2",
+ "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
+ "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
"requires": {
"aws-sign2": "~0.7.0",
"aws4": "^1.8.0",
@@ -8009,7 +7989,7 @@
"extend": "~3.0.2",
"forever-agent": "~0.6.1",
"form-data": "~2.3.2",
- "har-validator": "~5.1.0",
+ "har-validator": "~5.1.3",
"http-signature": "~1.2.0",
"is-typedarray": "~1.0.0",
"isstream": "~0.1.2",
@@ -8019,42 +7999,34 @@
"performance-now": "^2.1.0",
"qs": "~6.5.2",
"safe-buffer": "^5.1.2",
- "tough-cookie": "~2.4.3",
+ "tough-cookie": "~2.5.0",
"tunnel-agent": "^0.6.0",
"uuid": "^3.3.2"
}
},
"safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true,
- "optional": true
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
},
"semver": {
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
- "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
- "dev": true,
- "optional": true
+ "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8="
},
"tough-cookie": {
- "version": "2.4.3",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
- "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
- "dev": true,
- "optional": true,
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
+ "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
"requires": {
- "psl": "^1.1.24",
- "punycode": "^1.4.1"
+ "psl": "^1.1.28",
+ "punycode": "^2.1.1"
}
},
"uuid": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
- "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==",
- "dev": true,
- "optional": true
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
+ "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="
}
}
},
@@ -8096,11 +8068,9 @@
"dev": true
},
"node-sass": {
- "version": "4.11.0",
- "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.11.0.tgz",
- "integrity": "sha512-bHUdHTphgQJZaF1LASx0kAviPH7sGlcyNhWade4eVIpFp6tsn7SV8xNMTbsQFpEV9VXpnwTTnNYlfsZXgGgmkA==",
- "dev": true,
- "optional": true,
+ "version": "4.12.0",
+ "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.12.0.tgz",
+ "integrity": "sha512-A1Iv4oN+Iel6EPv77/HddXErL2a+gZ4uBeZUy+a8O35CFYTXhgA8MgLCWBtwpGZdCvTvQ9d+bQxX/QC36GDPpQ==",
"requires": {
"async-foreach": "^0.1.3",
"chalk": "^1.1.1",
@@ -8109,12 +8079,10 @@
"get-stdin": "^4.0.1",
"glob": "^7.0.3",
"in-publish": "^2.0.0",
- "lodash.assign": "^4.2.0",
- "lodash.clonedeep": "^4.3.2",
- "lodash.mergewith": "^4.6.0",
+ "lodash": "^4.17.11",
"meow": "^3.7.0",
"mkdirp": "^0.5.1",
- "nan": "^2.10.0",
+ "nan": "^2.13.2",
"node-gyp": "^3.8.0",
"npmlog": "^4.0.0",
"request": "^2.88.0",
@@ -8124,13 +8092,11 @@
},
"dependencies": {
"ajv": {
- "version": "6.6.2",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.2.tgz",
- "integrity": "sha512-FBHEW6Jf5TB9MGBgUUA9XHkTbjXYfAUjY43ACMfmdMRHniyoMHjHjzD50OK8LGDWQwp4rWEsIq5kEqq7rvIM1g==",
- "dev": true,
- "optional": true,
+ "version": "6.12.6",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
"requires": {
- "fast-deep-equal": "^2.0.1",
+ "fast-deep-equal": "^3.1.1",
"fast-json-stable-stringify": "^2.0.0",
"json-schema-traverse": "^0.4.1",
"uri-js": "^4.2.2"
@@ -8139,37 +8105,27 @@
"ansi-styles": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
- "dev": true,
- "optional": true
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
},
"assert-plus": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
- "dev": true,
- "optional": true
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
},
"aws-sign2": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
- "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
- "dev": true,
- "optional": true
+ "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
},
"aws4": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
- "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==",
- "dev": true,
- "optional": true
+ "version": "1.10.1",
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.1.tgz",
+ "integrity": "sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA=="
},
"chalk": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "dev": true,
- "optional": true,
"requires": {
"ansi-styles": "^2.2.1",
"escape-string-regexp": "^1.0.2",
@@ -8181,23 +8137,17 @@
"extend": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
- "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
- "dev": true,
- "optional": true
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
},
"fast-deep-equal": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
- "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
- "dev": true,
- "optional": true
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
},
"form-data": {
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
"integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
- "dev": true,
- "optional": true,
"requires": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.6",
@@ -8207,18 +8157,14 @@
"har-schema": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
- "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
- "dev": true,
- "optional": true
+ "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
},
"har-validator": {
- "version": "5.1.3",
- "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
- "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
- "dev": true,
- "optional": true,
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
+ "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
"requires": {
- "ajv": "^6.5.5",
+ "ajv": "^6.12.3",
"har-schema": "^2.0.0"
}
},
@@ -8226,8 +8172,6 @@
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
"integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
- "dev": true,
- "optional": true,
"requires": {
"assert-plus": "^1.0.0",
"jsprim": "^1.2.2",
@@ -8237,59 +8181,55 @@
"json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true,
- "optional": true
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
+ },
+ "lodash": {
+ "version": "4.17.20",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz",
+ "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA=="
},
"mime-db": {
- "version": "1.37.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz",
- "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==",
- "dev": true
+ "version": "1.44.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz",
+ "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg=="
},
"mime-types": {
- "version": "2.1.21",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz",
- "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==",
- "dev": true,
+ "version": "2.1.27",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz",
+ "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==",
"requires": {
- "mime-db": "~1.37.0"
+ "mime-db": "1.44.0"
}
},
"nan": {
- "version": "2.12.1",
- "resolved": "https://registry.npmjs.org/nan/-/nan-2.12.1.tgz",
- "integrity": "sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw==",
- "dev": true,
- "optional": true
+ "version": "2.14.2",
+ "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz",
+ "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ=="
},
"oauth-sign": {
"version": "0.9.0",
"resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
- "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
- "dev": true,
- "optional": true
+ "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
},
"performance-now": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
- "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
- "dev": true,
- "optional": true
+ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
+ },
+ "punycode": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
},
"qs": {
"version": "6.5.2",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
- "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
- "dev": true,
- "optional": true
+ "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
},
"request": {
- "version": "2.88.0",
- "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
- "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
- "dev": true,
- "optional": true,
+ "version": "2.88.2",
+ "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
+ "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
"requires": {
"aws-sign2": "~0.7.0",
"aws4": "^1.8.0",
@@ -8298,7 +8238,7 @@
"extend": "~3.0.2",
"forever-agent": "~0.6.1",
"form-data": "~2.3.2",
- "har-validator": "~5.1.0",
+ "har-validator": "~5.1.3",
"http-signature": "~1.2.0",
"is-typedarray": "~1.0.0",
"isstream": "~0.1.2",
@@ -8308,42 +8248,34 @@
"performance-now": "^2.1.0",
"qs": "~6.5.2",
"safe-buffer": "^5.1.2",
- "tough-cookie": "~2.4.3",
+ "tough-cookie": "~2.5.0",
"tunnel-agent": "^0.6.0",
"uuid": "^3.3.2"
}
},
"safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true,
- "optional": true
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
},
"supports-color": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
- "dev": true,
- "optional": true
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
},
"tough-cookie": {
- "version": "2.4.3",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
- "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
- "dev": true,
- "optional": true,
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
+ "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
"requires": {
- "psl": "^1.1.24",
- "punycode": "^1.4.1"
+ "psl": "^1.1.28",
+ "punycode": "^2.1.1"
}
},
"uuid": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
- "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==",
- "dev": true,
- "optional": true
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
+ "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="
}
}
},
@@ -8361,7 +8293,6 @@
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
"integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==",
- "dev": true,
"requires": {
"hosted-git-info": "^2.1.4",
"is-builtin-module": "^1.0.0",
@@ -8409,7 +8340,6 @@
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
"integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
- "dev": true,
"requires": {
"are-we-there-yet": "~1.1.2",
"console-control-strings": "~1.1.0",
@@ -8441,8 +8371,7 @@
"number-is-nan": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
- "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
- "dev": true
+ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
},
"oauth-sign": {
"version": "0.8.2",
@@ -8453,8 +8382,7 @@
"object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
- "dev": true
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
},
"object-component": {
"version": "0.0.3",
@@ -8493,6 +8421,16 @@
}
}
},
+ "object-inspect": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz",
+ "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA=="
+ },
+ "object-keys": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
+ "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="
+ },
"object-visit": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
@@ -8502,6 +8440,17 @@
"isobject": "^3.0.0"
}
},
+ "object.assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.1.tgz",
+ "integrity": "sha512-VT/cxmx5yaoHSOTSyrCygIDFco+RsibY2NM0a4RdEeY/4KgqezwFtK1yr3U67xYhqJSlASm2pKhLVzPj2lr4bA==",
+ "requires": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.18.0-next.0",
+ "has-symbols": "^1.0.1",
+ "object-keys": "^1.1.1"
+ }
+ },
"object.omit": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
@@ -8557,7 +8506,6 @@
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
- "dev": true,
"requires": {
"wrappy": "1"
}
@@ -8605,14 +8553,12 @@
"os-homedir": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
- "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
- "dev": true
+ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M="
},
"os-locale": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
"integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
- "dev": true,
"requires": {
"lcid": "^1.0.0"
}
@@ -8620,14 +8566,12 @@
"os-tmpdir": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
- "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
- "dev": true
+ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ="
},
"osenv": {
"version": "0.1.5",
"resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
"integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
- "dev": true,
"requires": {
"os-homedir": "^1.0.0",
"os-tmpdir": "^1.0.0"
@@ -8753,7 +8697,6 @@
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
"integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
- "dev": true,
"requires": {
"error-ex": "^1.2.0"
}
@@ -8818,8 +8761,7 @@
"path-is-absolute": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
- "dev": true
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
},
"path-is-inside": {
"version": "1.0.2",
@@ -8882,14 +8824,12 @@
"pinkie": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
- "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
- "dev": true
+ "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA="
},
"pinkie-promise": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
"integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
- "dev": true,
"requires": {
"pinkie": "^2.0.0"
}
@@ -9576,8 +9516,7 @@
"process-nextick-args": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
- "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
- "dev": true
+ "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw=="
},
"promise": {
"version": "7.3.1",
@@ -9730,14 +9669,12 @@
"pseudomap": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
- "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
- "dev": true
+ "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM="
},
"psl": {
- "version": "1.1.31",
- "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz",
- "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==",
- "dev": true
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
+ "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ=="
},
"public-encrypt": {
"version": "4.0.3",
@@ -9922,7 +9859,6 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
"integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
- "dev": true,
"requires": {
"load-json-file": "^1.0.0",
"normalize-package-data": "^2.3.2",
@@ -9933,7 +9869,6 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
"integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
- "dev": true,
"requires": {
"graceful-fs": "^4.1.2",
"pify": "^2.0.0",
@@ -9943,8 +9878,7 @@
"pify": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
- "dev": true
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
}
}
},
@@ -9952,7 +9886,6 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
"integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
- "dev": true,
"requires": {
"find-up": "^1.0.0",
"read-pkg": "^1.0.0"
@@ -9962,7 +9895,6 @@
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
"integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
- "dev": true,
"requires": {
"path-exists": "^2.0.0",
"pinkie-promise": "^2.0.0"
@@ -9972,7 +9904,6 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
"integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
- "dev": true,
"requires": {
"pinkie-promise": "^2.0.0"
}
@@ -9983,7 +9914,6 @@
"version": "2.3.5",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.5.tgz",
"integrity": "sha512-tK0yDhrkygt/knjowCUiWP9YdV7c5R+8cR0r/kt9ZhBU906Fs6RpQJCEilamRJj1Nx2rWI6LkW9gKqjTkshhEw==",
- "dev": true,
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
@@ -10010,7 +9940,6 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
"integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
- "dev": true,
"requires": {
"indent-string": "^2.1.0",
"strip-indent": "^1.0.1"
@@ -10175,7 +10104,6 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
"integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
- "dev": true,
"requires": {
"is-finite": "^1.0.0"
}
@@ -10213,8 +10141,7 @@
"require-directory": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
- "dev": true
+ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I="
},
"require-from-string": {
"version": "1.2.1",
@@ -10225,8 +10152,7 @@
"require-main-filename": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
- "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
- "dev": true
+ "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE="
},
"requires-port": {
"version": "1.0.0",
@@ -10268,7 +10194,6 @@
"version": "2.6.2",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
"integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
- "dev": true,
"requires": {
"glob": "^7.0.5"
}
@@ -10303,8 +10228,7 @@
"safe-buffer": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
- "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==",
- "dev": true
+ "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg=="
},
"safe-regex": {
"version": "1.1.0",
@@ -10322,11 +10246,9 @@
"dev": true
},
"sass-graph": {
- "version": "2.2.4",
- "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz",
- "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=",
- "dev": true,
- "optional": true,
+ "version": "2.2.6",
+ "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.6.tgz",
+ "integrity": "sha512-MKuEYXFSGuRSi8FZ3A7imN1CeVn9Gpw0/SFJKdL1ejXJneI9a5rwlEZrKejhEFAA3O6yr3eIyl/WuvASvlT36g==",
"requires": {
"glob": "^7.0.0",
"lodash": "^4.0.0",
@@ -10375,8 +10297,6 @@
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz",
"integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=",
- "dev": true,
- "optional": true,
"requires": {
"js-base64": "^2.1.8",
"source-map": "^0.4.2"
@@ -10386,8 +10306,6 @@
"version": "0.4.4",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
"integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
- "dev": true,
- "optional": true,
"requires": {
"amdefine": ">=0.0.4"
}
@@ -10435,8 +10353,7 @@
"semver": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",
- "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==",
- "dev": true
+ "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA=="
},
"semver-diff": {
"version": "2.1.0",
@@ -10527,8 +10444,7 @@
"set-blocking": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
- "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
- "dev": true
+ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc="
},
"set-immediate-shim": {
"version": "1.0.1",
@@ -10627,8 +10543,7 @@
"signal-exit": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
- "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
- "dev": true
+ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0="
},
"silent-error": {
"version": "1.1.1",
@@ -11009,7 +10924,6 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz",
"integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==",
- "dev": true,
"requires": {
"spdx-expression-parse": "^3.0.0",
"spdx-license-ids": "^3.0.0"
@@ -11018,14 +10932,12 @@
"spdx-exceptions": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz",
- "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==",
- "dev": true
+ "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA=="
},
"spdx-expression-parse": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
"integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
- "dev": true,
"requires": {
"spdx-exceptions": "^2.1.0",
"spdx-license-ids": "^3.0.0"
@@ -11034,8 +10946,7 @@
"spdx-license-ids": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.3.tgz",
- "integrity": "sha512-uBIcIl3Ih6Phe3XHK1NqboJLdGfwr1UN3k6wSD1dZpmPsIkb8AGNbZYJ1fOBk834+Gxy8rpfDxrS6XLEMZMY2g==",
- "dev": true
+ "integrity": "sha512-uBIcIl3Ih6Phe3XHK1NqboJLdGfwr1UN3k6wSD1dZpmPsIkb8AGNbZYJ1fOBk834+Gxy8rpfDxrS6XLEMZMY2g=="
},
"spdy": {
"version": "3.4.7",
@@ -11085,7 +10996,6 @@
"version": "1.13.1",
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz",
"integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=",
- "dev": true,
"requires": {
"asn1": "~0.2.3",
"assert-plus": "^1.0.0",
@@ -11100,8 +11010,7 @@
"assert-plus": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
- "dev": true
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
}
}
},
@@ -11145,8 +11054,6 @@
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz",
"integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==",
- "dev": true,
- "optional": true,
"requires": {
"readable-stream": "^2.0.1"
}
@@ -11226,18 +11133,34 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
"integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
- "dev": true,
"requires": {
"code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0",
"strip-ansi": "^3.0.0"
}
},
+ "string.prototype.trimend": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.2.tgz",
+ "integrity": "sha512-8oAG/hi14Z4nOVP0z6mdiVZ/wqjDtWSLygMigTzAb+7aPEDTleeFf+WrF+alzecxIRkckkJVn+dTlwzJXORATw==",
+ "requires": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.18.0-next.1"
+ }
+ },
+ "string.prototype.trimstart": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.2.tgz",
+ "integrity": "sha512-7F6CdBTl5zyu30BJFdzSTlSlLPwODC23Od+iLoVH8X6+3fvDPPuBVVj9iaB1GOsSTSIgVfsfm27R2FGrAPznWg==",
+ "requires": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.18.0-next.1"
+ }
+ },
"string_decoder": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
"integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==",
- "dev": true,
"requires": {
"safe-buffer": "~5.1.0"
}
@@ -11252,7 +11175,6 @@
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
- "dev": true,
"requires": {
"ansi-regex": "^2.0.0"
}
@@ -11261,7 +11183,6 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
"integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
- "dev": true,
"requires": {
"is-utf8": "^0.2.0"
}
@@ -11276,7 +11197,6 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
"integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
- "dev": true,
"requires": {
"get-stdin": "^4.0.1"
}
@@ -11388,14 +11308,12 @@
"dev": true
},
"tar": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
- "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=",
- "dev": true,
- "optional": true,
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz",
+ "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==",
"requires": {
"block-stream": "*",
- "fstream": "^1.0.2",
+ "fstream": "^1.0.12",
"inherits": "2"
}
},
@@ -11564,8 +11482,7 @@
"trim-newlines": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
- "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",
- "dev": true
+ "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM="
},
"trim-right": {
"version": "1.0.1",
@@ -11577,8 +11494,6 @@
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz",
"integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==",
- "dev": true,
- "optional": true,
"requires": {
"glob": "^7.1.2"
}
@@ -11706,7 +11621,6 @@
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
"integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
- "dev": true,
"requires": {
"safe-buffer": "^5.0.1"
}
@@ -11715,7 +11629,6 @@
"version": "0.14.5",
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
"integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
- "dev": true,
"optional": true
},
"type-is": {
@@ -11989,7 +11902,6 @@
"version": "4.2.2",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
"integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
- "dev": true,
"requires": {
"punycode": "^2.1.0"
},
@@ -11997,8 +11909,7 @@
"punycode": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
- "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
- "dev": true
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
}
}
},
@@ -12090,8 +12001,7 @@
"util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
- "dev": true
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
},
"utila": {
"version": "0.4.0",
@@ -12124,7 +12034,6 @@
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
"integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
- "dev": true,
"requires": {
"spdx-correct": "^3.0.0",
"spdx-expression-parse": "^3.0.0"
@@ -12146,7 +12055,6 @@
"version": "1.10.0",
"resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
"integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
- "dev": true,
"requires": {
"assert-plus": "^1.0.0",
"core-util-is": "1.0.2",
@@ -12156,8 +12064,7 @@
"assert-plus": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
- "dev": true
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
}
}
},
@@ -12797,7 +12704,6 @@
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz",
"integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==",
- "dev": true,
"requires": {
"isexe": "^2.0.0"
}
@@ -12805,14 +12711,12 @@
"which-module": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz",
- "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=",
- "dev": true
+ "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8="
},
"wide-align": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
"integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
- "dev": true,
"requires": {
"string-width": "^1.0.2 || 2"
}
@@ -12875,7 +12779,6 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
"integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
- "dev": true,
"requires": {
"string-width": "^1.0.1",
"strip-ansi": "^3.0.1"
@@ -12884,8 +12787,7 @@
"wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
- "dev": true
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
},
"write-file-atomic": {
"version": "2.3.0",
@@ -12971,15 +12873,12 @@
"yallist": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
- "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
- "dev": true
+ "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI="
},
"yargs": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz",
- "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=",
- "dev": true,
- "optional": true,
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.1.tgz",
+ "integrity": "sha512-huO4Fr1f9PmiJJdll5kwoS2e4GqzGSsMT3PPMpOwoVkOK8ckqAewMTZyA6LXVQWflleb/Z8oPBEvNsMft0XE+g==",
"requires": {
"camelcase": "^3.0.0",
"cliui": "^3.2.0",
@@ -12993,41 +12892,34 @@
"string-width": "^1.0.2",
"which-module": "^1.0.0",
"y18n": "^3.2.1",
- "yargs-parser": "^5.0.0"
+ "yargs-parser": "5.0.0-security.0"
},
"dependencies": {
"camelcase": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
- "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
- "dev": true,
- "optional": true
+ "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo="
},
"y18n": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
- "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=",
- "dev": true,
- "optional": true
+ "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE="
}
}
},
"yargs-parser": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz",
- "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=",
- "dev": true,
- "optional": true,
+ "version": "5.0.0-security.0",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0-security.0.tgz",
+ "integrity": "sha512-T69y4Ps64LNesYxeYGYPvfoMTt/7y1XtfpIslUeK4um+9Hu7hlGoRtaDLvdXb7+/tfq4opVa2HRY5xGip022rQ==",
"requires": {
- "camelcase": "^3.0.0"
+ "camelcase": "^3.0.0",
+ "object.assign": "^4.1.0"
},
"dependencies": {
"camelcase": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
- "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
- "dev": true,
- "optional": true
+ "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo="
}
}
},
diff --git a/package.json b/package.json
index 1c13297..90c311c 100644
--- a/package.json
+++ b/package.json
@@ -38,6 +38,7 @@
"jquery": "^3.1.1",
"mdn-polyfills": "^2.1.1",
"ng2-daterangepicker": "^2.0.3",
+ "node-sass": "^4.12.0",
"rxjs": "^5.1.0",
"web-animations-js": "^2.2.2",
"zone.js": "^0.8.4"
diff --git a/src/app/common/globals.ts b/src/app/common/globals.ts
index 3f6bf38..eca474d 100644
--- a/src/app/common/globals.ts
+++ b/src/app/common/globals.ts
@@ -14,6 +14,7 @@
static SESSION_TOKEN_TAG = 'X-XSRF-TOKEN';
static CURRENT_USER = 'CURRENT_USER';
static ALL_USERS = 'ALL_USERS';
+ static USER_SETTINGS = 'USER_SETTINGS';
static BASE_URL = '/elogbook/rest/beservice';
static BRANCHESNAME = 'BRANCHES';
static STATUSES = 'STATUSES';
@@ -56,4 +57,6 @@
static IMPORT_JOB_POLLING_INTERVALL = 8000;
static IMPORT_JOB_POLLING_START_DELAY = 2000;
static SORTING_STATE = 'SORTING_STATE';
+ static SORTING_STATE_GRID_ID_OPEN_NOTS = 'OverviewOpenNot';
+
}
diff --git a/src/app/common/session-context.ts b/src/app/common/session-context.ts
index a14c153..44818f2 100644
--- a/src/app/common/session-context.ts
+++ b/src/app/common/session-context.ts
@@ -26,6 +26,7 @@
import { SortingState } from '../model/sorting-state';
import { JwtPayload } from '../model/jwt-payload';
import { UserMap } from '../common/user-map';
+import { UserSettings } from 'app/model/user-settings';
@Injectable()
export class SessionContext {
@@ -82,13 +83,12 @@
localStorage.setItem(Globals.ALL_USERS, JSON.stringify(allUsr));
}
- setSortingState(gridId: string, sortState: SortingState): void {
- localStorage.setItem(gridId, JSON.stringify(sortState));
+ getUsersSettings(): UserSettings {
+ return this.getSaveFromLocalStorage(Globals.USER_SETTINGS);
}
- getSortingState(gridId: string): SortingState {
- const sortState = localStorage.getItem(gridId);
- return JSON.parse(sortState);
+ setUsersSettings(userSettings: UserSettings) {
+ localStorage.setItem(Globals.USER_SETTINGS, JSON.stringify(userSettings, this.replacer));
}
setBannerMessage(bannerMessageStatus: BannerMessageStatusEn, message: string,
@@ -324,6 +324,7 @@
public getAccessTokenDecoded(): JwtPayload {
const jwtHelper: JwtHelper = new JwtHelper();
const jwtPayload: JwtPayload = new JwtPayload();
+ if (!this.getAccessToken()) return jwtPayload;
const decoded: any = jwtHelper.decodeToken(this.getAccessToken());
jwtPayload.name = decoded.name;
return jwtPayload;
@@ -356,6 +357,27 @@
console.log('WARNING: Try to access LocalStorage key [' + key + '] which is empty!');
return null;
}
- return JSON.parse(retValue);
+ return JSON.parse(retValue, this.reviver);
+ }
+
+ replacer(key, value) {
+ const originalObject = this[key];
+ if(originalObject instanceof Map) {
+ return {
+ dataType: 'Map',
+ value: Array.from(originalObject.entries()), // or with spread: value: [...originalObject]
+ };
+ } else {
+ return value;
+ }
+ }
+
+ reviver(key, value) {
+ if(typeof value === 'object' && value !== null) {
+ if (value.dataType === 'Map') {
+ return new Map(value.value);
+ }
+ }
+ return value;
}
}
diff --git a/src/app/dialogs/shift-change-protocol/shift-change-protocol.component.html b/src/app/dialogs/shift-change-protocol/shift-change-protocol.component.html
index 625958f..04fa644 100644
--- a/src/app/dialogs/shift-change-protocol/shift-change-protocol.component.html
+++ b/src/app/dialogs/shift-change-protocol/shift-change-protocol.component.html
@@ -22,8 +22,8 @@
<div class="panel-body shift-change-protocol-panel-body">
<app-responsibility #respCompVar [responsiblitySelection]="responsibilitiesContainer"></app-responsibility>
<app-future-notifications [withCheckboxes]="false" [withEditButtons]="true" [isCollapsible]="false" [stayHidden]="true" [gridId]="'ShiftChangeFutureNot'" [enforceShowReadOnly]="true" (onLookUpNotification)="openDialogLookUpEntry($event)" ></app-future-notifications>
- <app-open-notifications [withCheckboxes]="false" [withEditButtons]="true" [isCollapsible]="false" [stayHidden]="true" [gridId]="'ShiftChangeFutureNot'" [enforceShowReadOnly]="true" (onLookUpNotification)="openDialogLookUpEntry($event)" ></app-open-notifications>
- <app-finished-notifications [withCheckboxes]="false" [withEditButtons]="true" [isCollapsible]="false" [stayHidden]="true" [gridId]="'ShiftChangeFutureNot'" [enforceShowReadOnly]="true" (onLookUpNotification)="openDialogLookUpEntry($event)" ></app-finished-notifications>
+ <app-open-notifications [withCheckboxes]="false" [withEditButtons]="true" [isCollapsible]="false" [stayHidden]="true" [gridId]="'ShiftChangeOpenNot'" [enforceShowReadOnly]="true" (onLookUpNotification)="openDialogLookUpEntry($event)" ></app-open-notifications>
+ <app-finished-notifications [withCheckboxes]="false" [withEditButtons]="true" [isCollapsible]="false" [stayHidden]="true" [gridId]="'ShiftChangeFinishedNot'" [enforceShowReadOnly]="true" (onLookUpNotification)="openDialogLookUpEntry($event)" ></app-finished-notifications>
</div>
</div>
</div>
diff --git a/src/app/dialogs/shift-change/shift-change.component.spec.ts b/src/app/dialogs/shift-change/shift-change.component.spec.ts
index 2fea391..3023564 100644
--- a/src/app/dialogs/shift-change/shift-change.component.spec.ts
+++ b/src/app/dialogs/shift-change/shift-change.component.spec.ts
@@ -289,9 +289,8 @@
getUsers() {
return this;
};
- }
- let mockUserService: MockUserService;
-
+ }
+
class MockResponsibilityService extends AbstractMockObservableService {
public fetchCalled = false;
getAllResponsibilities() {
@@ -305,6 +304,7 @@
let mockService: MockResponsibilityService;
let sessionContext: SessionContext;
let messageService: MessageService;
+ let mockUserService: MockUserService;
beforeEach(async(() => {
mockUserService = new MockUserService();
diff --git a/src/app/filter/filter.component.html b/src/app/filter/filter.component.html
index 514022d..996f598 100644
--- a/src/app/filter/filter.component.html
+++ b/src/app/filter/filter.component.html
@@ -44,31 +44,31 @@
<td>{{ responsibilityRow.gridTerritoryDescription }}</td>
<td>
<span class="filterCheckbox"><input type="checkbox" *ngIf="responsibilityRow && getResponsiblity(responsibilityRow,'S')"
- (change)="responsibilitiesSelectionChanged()" class="responsibility-checkbox-er" [(ngModel)]="getResponsiblity(responsibilityRow,'S').isActive"></span>
+ (change)="responsibilitiesSelectionChanged(true)" class="responsibility-checkbox-er" [(ngModel)]="getResponsiblity(responsibilityRow,'S').isActive"></span>
<span class="filterUsername" *ngIf="responsibilityRow && getResponsiblity(responsibilityRow,'S')">{{
mapUserName(getResponsiblity(responsibilityRow, 'S').responsibleUser) }}</span>
</td>
<td>
<span class="filterCheckbox"><input type="checkbox" *ngIf="responsibilityRow && getResponsiblity(responsibilityRow,'G')"
- (change)="responsibilitiesSelectionChanged()" class="responsibility-checkbox-gr" [(ngModel)]="getResponsiblity(responsibilityRow,'G').isActive"></span>
+ (change)="responsibilitiesSelectionChanged(true)" class="responsibility-checkbox-gr" [(ngModel)]="getResponsiblity(responsibilityRow,'G').isActive"></span>
<span class="filterUsername" *ngIf="responsibilityRow && getResponsiblity(responsibilityRow,'G')">{{
mapUserName(getResponsiblity(responsibilityRow, 'G').responsibleUser) }}</span>
</td>
<td>
<span class="filterCheckbox"><input type="checkbox" *ngIf="responsibilityRow && getResponsiblity(responsibilityRow,'F')"
- (change)="responsibilitiesSelectionChanged()" class="responsibility-checkbox-dhr" [(ngModel)]="getResponsiblity(responsibilityRow,'F').isActive"></span>
+ (change)="responsibilitiesSelectionChanged(true)" class="responsibility-checkbox-dhr" [(ngModel)]="getResponsiblity(responsibilityRow,'F').isActive"></span>
<span class="filterUsername" *ngIf="responsibilityRow && getResponsiblity(responsibilityRow,'F')">{{
mapUserName(getResponsiblity(responsibilityRow, 'F').responsibleUser) }}</span>
</td>
<td>
<span class="filterCheckbox"><input type="checkbox" *ngIf="responsibilityRow && getResponsiblity(responsibilityRow,'W')"
- (change)="responsibilitiesSelectionChanged()" class="responsibility-checkbox-wr" [(ngModel)]="getResponsiblity(responsibilityRow,'W').isActive"></span>
+ (change)="responsibilitiesSelectionChanged(true)" class="responsibility-checkbox-wr" [(ngModel)]="getResponsiblity(responsibilityRow,'W').isActive"></span>
<span class="filterUsername" *ngIf="responsibilityRow && getResponsiblity(responsibilityRow,'W')">{{
mapUserName(getResponsiblity(responsibilityRow, 'W').responsibleUser) }}</span>
</td>
<td>
<span class="filterCheckbox"><input type="checkbox" *ngIf="responsibilityRow && getResponsiblity(responsibilityRow,'W')"
- (change)="responsibilitiesSelectionChanged()" class="responsibility-checkbox-wr" [(ngModel)]="getResponsiblity(responsibilityRow,'Z').isActive"></span>
+ (change)="responsibilitiesSelectionChanged(true)" class="responsibility-checkbox-wr" [(ngModel)]="getResponsiblity(responsibilityRow,'Z').isActive"></span>
<span class="filterUsername" *ngIf="responsibilityRow && getResponsiblity(responsibilityRow,'Z')">{{
mapUserName(getResponsiblity(responsibilityRow, 'Z').responsibleUser) }}</span>
</td>
@@ -78,6 +78,7 @@
<button id="selectAllButton" class="btn btn-primary btn-sm" (click)="selectAllResponsibilities()">Alle setzen</button>
<button id="deselectAllButton" class="btn btn-primary btn-sm" (click)="deselectAllResponsibilities()">Alle
löschen</button>
+ <button id="resetAllButton" class="btn btn-primary btn-sm" (click)="resetToDefaultAllResponsibilities()">Zurücksetzen</button>
</div>
</div>
</div>
\ No newline at end of file
diff --git a/src/app/filter/filter.component.spec.ts b/src/app/filter/filter.component.spec.ts
index 246738c..357aa01 100644
--- a/src/app/filter/filter.component.spec.ts
+++ b/src/app/filter/filter.component.spec.ts
@@ -25,6 +25,7 @@
import { BrowserDynamicTestingModule, platformBrowserDynamicTesting } from '@angular/platform-browser-dynamic/testing';
import { MessageService } from '../services/message.service';
import { FilterMatrix } from '../model/controller-model/filter-matrix';
+import { UserService } from 'app/services/user.service';
export class FilterMocker {
public static getComponentMocks() {
@@ -37,25 +38,41 @@
}
}
+class MockUserService extends AbstractMockObservableService {
+ getUsers() {
+ return this;
+ };
+
+ getUserSettings() {
+ return this;
+ };
+
+ postUserSettings() {
+ return this;
+ };
+}
+
+class MockBtbService extends AbstractMockObservableService {
+
+ getAllResponsibilities() {
+ return this;
+ }
+}
+
describe('FilterComponent', () => {
let component: FilterComponent;
let fixture: ComponentFixture<FilterComponent>;
let mockService: MockBtbService;
let sessionContext: SessionContext;
let messageService: MessageService;
-
- class MockBtbService extends AbstractMockObservableService {
-
- getAllResponsibilities() {
- return this;
- }
- }
+ let mockUserService;
beforeEach(async(() => {
mockService = new MockBtbService();
messageService = new MessageService();
sessionContext = new SessionContext();
+ mockUserService = new MockUserService();
TestBed.configureTestingModule({
imports: [FormsModule],
@@ -63,6 +80,7 @@
providers: [
{ provide: MessageService, useValue: messageService },
{ provide: ResponsibilityService, useValue: mockService },
+ { provide: UserService, useValue: mockUserService },
{ provide: SessionContext, useClass: SessionContext }
]
}).compileComponents();
diff --git a/src/app/filter/filter.component.ts b/src/app/filter/filter.component.ts
index 2cb40ef..f4acc30 100644
--- a/src/app/filter/filter.component.ts
+++ b/src/app/filter/filter.component.ts
@@ -24,6 +24,8 @@
import { FilterSelection } from '../model/filter-selection';
import { TerritoryBranchContainer } from '../model/territory-branch-container';
import { FilterMatrix } from '../model/controller-model/filter-matrix';
+import { UserService } from 'app/services/user.service';
+import { UserSettings } from 'app/model/user-settings';
@Component({
selector: 'app-filter',
@@ -47,7 +49,8 @@
constructor(
public sessionContext: SessionContext,
private responsibilityService: ResponsibilityService,
- private messageService: MessageService
+ private messageService: MessageService,
+ private userService: UserService
) { }
ngOnChanges(changes: SimpleChanges) {
@@ -81,19 +84,25 @@
this.filterExpanded = true;
}
- initFilterMatrixWithDefaults() {
+ initFilterMatrixWithDefaults() {
this.filterMatrix = this.sessionContext.getfilterMatrix();
if (!this.filterMatrix) {
+ const userSettings: UserSettings = this.sessionContext.getUsersSettings();
this.responsibilityService.getAllResponsibilities().subscribe(resps => {
this.responsibilityContainerMatrix = resps;
for (const responsibilityContainer of this.responsibilityContainerMatrix) {
- for (const responsibility of responsibilityContainer.responsibilityList) {
- responsibility.isActive = responsibility.responsibleUser === this.user.username;
+ for (const responsibility of responsibilityContainer.responsibilityList) {
+ if (userSettings && userSettings.activeFilterRespIds) {
+ responsibility.isActive = userSettings.activeFilterRespIds.indexOf(responsibility.id)>-1;
+ } else {
+ //If no there is no custom user setting, default value will be used
+ responsibility.isActive = responsibility.responsibleUser === this.user.username;
+ }
}
- }
- this.responsibilitiesSelectionChanged();
+ }
+ this.responsibilitiesSelectionChanged(false);
},
error => {
this.messageService.emitError('Filtermatrix', ErrorType.retrieve);
@@ -104,30 +113,24 @@
getSessionFilterMatrix() {
this.filterMatrix = this.sessionContext.getfilterMatrix();
if (this.filterMatrix) {
- const oldResponsibilityContainerMatrix = this.sessionContext.getfilterMatrix().responsibilityContainerMatrix;
- this.getUpdatedResponsibilities(oldResponsibilityContainerMatrix);
+ this.getUpdatedResponsibilities();
}
}
- findResponsibilityById(responsibilityContainerMatrix: TerritoryResponsibility[], respId: number): Responsibility {
- for (const responsibilityContainer of responsibilityContainerMatrix) {
- for (const responsibility of responsibilityContainer.responsibilityList) {
- if (responsibility.id === respId) {
- return responsibility;
- }
- }
- }
- }
-
- getUpdatedResponsibilities(oldMatrix: TerritoryResponsibility[]) {
+ getUpdatedResponsibilities() {
+ const userSettings: UserSettings = this.sessionContext.getUsersSettings();
let updatedMatrix: TerritoryResponsibility[] = [];
this.responsibilityService.getAllResponsibilities().subscribe(resps => {
updatedMatrix = resps;
for (const updatedContainer of updatedMatrix) {
- for (const updatedResp of updatedContainer.responsibilityList) {
- const oldResp = this.findResponsibilityById(oldMatrix, updatedResp.id);
- updatedResp.isActive = oldResp.isActive;
+ for (const updatedResp of updatedContainer.responsibilityList) {
+ if (userSettings && userSettings.activeFilterRespIds) {
+ updatedResp.isActive = userSettings.activeFilterRespIds.indexOf(updatedResp.id)>-1;
+ } else {
+ //If no there is no custom user setting, default value will be used
+ updatedResp.isActive = updatedResp.responsibleUser === this.user.username;
+ }
}
}
@@ -147,7 +150,7 @@
responsibility.isActive = true;
}
}
- this.responsibilitiesSelectionChanged();
+ this.responsibilitiesSelectionChanged(true);
}
deselectAllResponsibilities() {
@@ -156,12 +159,27 @@
responsibility.isActive = false;
}
}
- this.responsibilitiesSelectionChanged();
+ this.responsibilitiesSelectionChanged(true);
+ }
+
+ resetToDefaultAllResponsibilities() {
+ for (const responsibilityContainer of this.responsibilityContainerMatrix) {
+ for (const responsibility of responsibilityContainer.responsibilityList) {
+ responsibility.isActive = responsibility.responsibleUser === this.user.username;
+ }
+ }
+ this.responsibilitiesSelectionChanged(false);
+ this.resetUserSettingsToDefault();
}
- responsibilitiesSelectionChanged() {
+ responsibilitiesSelectionChanged(updateUserSettings: boolean) {
const filterMatrix: FilterMatrix = new FilterMatrix(this.responsibilityContainerMatrix);
this.sessionContext.setfilterMatrix(filterMatrix);
+
+ if (updateUserSettings) {
+ this.updateUserSettingsResponsibilities(filterMatrix.getNumFilterList());
+ }
+
this.messageService.matrixFilterChanged$.emit(filterMatrix.getNumFilterList());
}
@@ -170,4 +188,23 @@
return userMap ? this.sessionContext.getUserMap().findAndRenderUser(shortUsr) : shortUsr;
}
+ updateUserSettingsResponsibilities(numFilterList: number[]){
+ const userSettings: UserSettings = this.sessionContext.getUsersSettings();
+ userSettings.activeFilterRespIds = numFilterList;
+ this.updateUserSettings(userSettings);
+ }
+
+ updateUserSettings(userSettings: UserSettings){
+ this.sessionContext.setUsersSettings(userSettings);
+ this.userService.postUserSettings(userSettings).subscribe(resp => {
+ });
+ }
+
+ resetUserSettingsToDefault(){
+ const userSettings: UserSettings = new UserSettings();
+ this.updateUserSettings(userSettings);
+ }
+
+
+
}
diff --git a/src/app/lists/abstract-list/abstract-list.component.spec.ts b/src/app/lists/abstract-list/abstract-list.component.spec.ts
index c6da055..0996673 100644
--- a/src/app/lists/abstract-list/abstract-list.component.spec.ts
+++ b/src/app/lists/abstract-list/abstract-list.component.spec.ts
@@ -34,6 +34,7 @@
import { NotificationSearchFilter } from '../../model/notification-search-filter';
import { ResponsibilityService } from '../../services/responsibility.service';
import { MessageService } from '../../services/message.service';
+import { UserService } from 'app/services/user.service';
export class AbstractListMocker {
@@ -64,6 +65,19 @@
}
}
+ class MockUserService extends AbstractMockObservableService {
+ getUsers() {
+ return this;
+ };
+
+ getUserSettings() {
+ return this;
+ };
+
+ postUserSettings() {
+ return this;
+ };
+ }
class MockReminderService extends AbstractMockObservableService {
itemChanged$ = new EventEmitter();
@@ -79,12 +93,14 @@
let mockReminderService;
let mockService;
let messageService;
+ let mockUserService;
beforeEach(async(() => {
sessionContext = new SessionContext();
mockService = new MockNotificationService();
mockReminderService = new MockReminderService();
messageService = new MessageService();
+ mockUserService = new MockUserService();
TestBed.configureTestingModule({
imports: [FormsModule],
@@ -99,6 +115,7 @@
{ provide: MessageService, useValue: messageService },
{ provide: NotificationService, useValue: mockService },
{ provide: ReminderService, useValue: mockReminderService },
+ { provide: UserService, useValue: mockUserService },
{ provide: SessionContext, useClass: SessionContext },
{ provide: DaterangepickerConfig, useClass: DaterangepickerConfig }
]
diff --git a/src/app/lists/abstract-list/abstract-list.component.ts b/src/app/lists/abstract-list/abstract-list.component.ts
index 212f69b..039e1e6 100644
--- a/src/app/lists/abstract-list/abstract-list.component.ts
+++ b/src/app/lists/abstract-list/abstract-list.component.ts
@@ -28,6 +28,8 @@
import { MessageService, MessageDefines } from '../../services/message.service';
import { BannerMessage } from '../../common/banner-message';
import { ListHelperTool } from '../../common/list-helper-tool';
+import { UserSettings } from 'app/model/user-settings';
+import { UserService } from 'app/services/user.service';
@Component({
selector: 'app-abstract-list',
@@ -71,7 +73,8 @@
protected notificationService: NotificationService,
protected reminderService: ReminderService,
protected sessionContext: SessionContext,
- protected daterangepickerConfig: DaterangepickerConfig) { }
+ protected daterangepickerConfig: DaterangepickerConfig,
+ protected userService: UserService) { }
ngOnChanges(changes: SimpleChanges) {
if (changes['shiftChangeTransactionId'] !== undefined && changes['shiftChangeTransactionId'].currentValue !== undefined) {
@@ -172,11 +175,33 @@
this.retrieveNotificationVersions(notification);
}
});
- const sortingState = this.sessionContext.getSortingState(this.gridId);
- if (!sortingState) {
- return;
- }
+ this.processSortingState();
+
+ }
+
+ protected processSortingState(){
+
+ const userSettings: UserSettings = this.sessionContext.getUsersSettings();
+ let sortingState;
+ if (userSettings.sortingStateMap){
+ sortingState = userSettings.sortingStateMap.get(this.gridId);
+ }
+
+ //Default for open notifications
+ if (this.gridId === Globals.SORTING_STATE_GRID_ID_OPEN_NOTS && !sortingState) {
+ sortingState = new SortingState();
+ sortingState.column = 'beginDate';
+ sortingState.isDesc = false;
+ sortingState.counter = 2;
+ }
+
+ //Default for others notifications
+ if (!sortingState) {
+ sortingState = new SortingState();
+ sortingState.defaultState = true;
+ }
+
this.sortingState = sortingState;
this.sort(undefined);
}
@@ -269,7 +294,6 @@
public sort(column: string) {
-
if (column) {
this.sortingState.isDesc = !this.sortingState.isDesc;
@@ -283,39 +307,62 @@
}
- const direction = this.sortingState.isDesc ? 1 : -1;
-
-
-
if (this.sortingState.defaultState && !column || this.sortingState.counter > 0 && this.sortingState.counter % 3 === 0) {
this.sortingState.counter = 0;
this.notifications = Object.assign(new Array<Notification>(), this.defaultList);
this.sortingState.defaultState = true;
this.sortingState.isDesc = false;
} else {
- this.sortingState.defaultState = false;
- this.notifications.sort((a, b) => {
-
- const a1 = this.getColumnValue(this.sortingState.column, a);
- const b1 = this.getColumnValue(this.sortingState.column, b);
-
- if (a1 == null) {
- return 1 * direction;
- }
- if (b1 == null) {
- return -1 * direction;
- } else if (a1 < b1) {
- return -1 * direction;
- } else if (a1 > b1) {
- return 1 * direction;
- } else {
- return 0;
- }
- });
+ this.sortingState.defaultState = false;
+ this.sortNotifications();
}
- this.sessionContext.setSortingState(this.gridId, this.sortingState);
+
+ if (!column || !this.gridId) return;
+
+ this.updateUserSettingsSorting();
};
+
+ updateUserSettingsSorting(){
+ console.log("updateUserSettingsSorting: " + this.gridId);
+ const userSettings: UserSettings = this.sessionContext.getUsersSettings();
+
+ if(!userSettings.sortingStateMap) {
+ userSettings.sortingStateMap = new Map();
+ }
+ userSettings.sortingStateMap.set(this.gridId, this.sortingState);
+ this.sessionContext.setUsersSettings(userSettings);
+
+ this.userService.postUserSettings(userSettings).subscribe(resp => {},
+ error => {
+ console.log(error);
+ });
+
+ }
+
+ private sortNotifications() {
+ if(!this.notifications) return;
+ const direction = this.sortingState.isDesc ? 1 : -1;
+ this.notifications.sort((a, b) => {
+
+ const a1 = this.getColumnValue(this.sortingState.column, a);
+ const b1 = this.getColumnValue(this.sortingState.column, b);
+
+ if (a1 == null) {
+ return 1 * direction;
+ }
+ if (b1 == null) {
+ return -1 * direction;
+ } else if (a1 < b1) {
+ return -1 * direction;
+ } else if (a1 > b1) {
+ return 1 * direction;
+ } else {
+ return 0;
+ }
+ });
+ }
+
private getColumnValue(columnName: string, notification: Notification) {
switch (columnName) {
diff --git a/src/app/lists/current-reminders/current-reminders.component.spec.ts b/src/app/lists/current-reminders/current-reminders.component.spec.ts
index 5ae7584..8671bee 100644
--- a/src/app/lists/current-reminders/current-reminders.component.spec.ts
+++ b/src/app/lists/current-reminders/current-reminders.component.spec.ts
@@ -36,6 +36,7 @@
import { FILTER_MATRIX_ALL_SELECTED } from '../../test-data/filter-matrix';
import { LoadingSpinnerComponent } from '../../dialogs/loading-spinner/loading-spinner.component';
import { SortingComponentMocker } from '../../lists/sorting/sorting.component.spec';
+import { UserService } from 'app/services/user.service';
describe('CurrentRemindersComponent', () => {
let component: CurrentRemindersComponent;
@@ -59,14 +60,30 @@
public matrixFilterChanged$: EventEmitter<Number[]> = new EventEmitter< Number[] >();
}
+ class MockUserService extends AbstractMockObservableService {
+ getUsers() {
+ return this;
+ };
+
+ getUserSettings() {
+ return this;
+ };
+
+ postUserSettings() {
+ return this;
+ };
+ }
+
let mockMessageService;
let mockReminderService;
let sessionContext;
+ let mockUserService;
beforeEach(async(() => {
mockReminderService = new MockReminderService();
mockMessageService = new MockMessageService();
sessionContext = new SessionContext();
+ mockUserService = new MockUserService();
TestBed.configureTestingModule({
imports: [FormsModule],
@@ -79,7 +96,8 @@
providers: [
{ provide: ReminderService, useValue: mockReminderService },
{ provide: MessageService, useClass: MessageService },
- { provide: NotificationService, useValue: mockReminderService },
+ { provide: NotificationService, useValue: mockReminderService },
+ { provide: UserService, useValue: mockUserService },
{ provide: SessionContext, useClass: SessionContext },
{ provide: DaterangepickerConfig, useClass: DaterangepickerConfig },
{ provide: ResponsibilityService }
diff --git a/src/app/lists/finished-notifications/finished-notifications.component.spec.ts b/src/app/lists/finished-notifications/finished-notifications.component.spec.ts
index de2c6ff..2ac475b 100644
--- a/src/app/lists/finished-notifications/finished-notifications.component.spec.ts
+++ b/src/app/lists/finished-notifications/finished-notifications.component.spec.ts
@@ -39,6 +39,7 @@
import { DateRange } from '../../model/date-range';
import { LoadingSpinnerComponent } from '../../dialogs/loading-spinner/loading-spinner.component';
import { SortingComponentMocker } from '../../lists/sorting/sorting.component.spec';
+import { UserService } from 'app/services/user.service';
export class FinishedNotificationsMocker {
public static getComponentMocks() {
@@ -76,14 +77,31 @@
return this;
};
}
+
+ class MockUserService extends AbstractMockObservableService {
+ getUsers() {
+ return this;
+ };
+
+ getUserSettings() {
+ return this;
+ };
+
+ postUserSettings() {
+ return this;
+ };
+ }
+
let mockService;
let messageService;
- let sessionContext: SessionContext;
+ let sessionContext: SessionContext;
+ let mockUserService;
beforeEach(async(() => {
mockService = new MockNotificationService();
messageService = new MessageService();
sessionContext = new SessionContext();
+ mockUserService = new MockUserService();
TestBed.configureTestingModule({
imports: [FormsModule],
@@ -101,6 +119,7 @@
{ provide: ReminderService, useValue: mockService },
{ provide: NotificationService, useValue: mockService },
{ provide: SessionContext, useValue: sessionContext },
+ { provide: UserService, useValue: mockUserService },
{ provide: DaterangepickerConfig, useClass: DaterangepickerConfig },
{ provide: ResponsibilityService }
],
diff --git a/src/app/lists/future-notifications/future-notifications.component.spec.ts b/src/app/lists/future-notifications/future-notifications.component.spec.ts
index 0122448..73ad8f4 100644
--- a/src/app/lists/future-notifications/future-notifications.component.spec.ts
+++ b/src/app/lists/future-notifications/future-notifications.component.spec.ts
@@ -38,6 +38,7 @@
import { DateRange } from '../../model/date-range';
import { LoadingSpinnerComponent } from '../../dialogs/loading-spinner/loading-spinner.component';
import { SortingComponentMocker } from '../../lists/sorting/sorting.component.spec';
+import { UserService } from 'app/services/user.service';
export class FutureNotificationsMocker {
public static getComponentMocks() {
@@ -83,14 +84,31 @@
return this;
};
}
+
+ class MockUserService extends AbstractMockObservableService {
+ getUsers() {
+ return this;
+ };
+
+ getUserSettings() {
+ return this;
+ };
+
+ postUserSettings() {
+ return this;
+ };
+ }
+
let mockService;
let messageService;
let sessionContext: SessionContext;
+ let mockUserService;
beforeEach(async(() => {
mockService = new MockNotificationService();
messageService = new MessageService();
sessionContext = new SessionContext();
+ mockUserService = new MockUserService();
TestBed.configureTestingModule({
imports: [FormsModule],
@@ -108,6 +126,7 @@
{ provide: MessageService, useValue: messageService },
{ provide: NotificationService, useValue: mockService },
{ provide: SessionContext, useValue: sessionContext },
+ { provide: UserService, useValue: mockUserService },
{ provide: DaterangepickerConfig, useClass: DaterangepickerConfig },
{ provide: ResponsibilityService }
],
diff --git a/src/app/lists/open-notifications/open-notifications.component.spec.ts b/src/app/lists/open-notifications/open-notifications.component.spec.ts
index b52fc29..ba17355 100644
--- a/src/app/lists/open-notifications/open-notifications.component.spec.ts
+++ b/src/app/lists/open-notifications/open-notifications.component.spec.ts
@@ -35,6 +35,7 @@
import { LoadingSpinnerComponent } from '../../dialogs/loading-spinner/loading-spinner.component';
import { StatusEn } from '../../common/enums';
import { SortingComponentMocker } from '../../lists/sorting/sorting.component.spec';
+import { UserService } from 'app/services/user.service';
export class OpenNotificationsMocker {
public static getComponentMocks(sortingYN: boolean = false) {
@@ -85,14 +86,31 @@
return this;
};
}
+
+ class MockUserService extends AbstractMockObservableService {
+ getUsers() {
+ return this;
+ };
+
+ getUserSettings() {
+ return this;
+ };
+
+ postUserSettings() {
+ return this;
+ };
+ }
+
let mockService;
let messageService;
let sessionContext: SessionContext;
+ let mockUserService;
beforeEach(async(() => {
mockService = new MockNotificationService();
messageService = new MessageService();
sessionContext = new SessionContext();
+ mockUserService = new MockUserService();
TestBed.configureTestingModule({
imports: [FormsModule],
@@ -108,6 +126,7 @@
{ provide: MessageService, useValue: messageService },
{ provide: NotificationService, useValue: mockService },
{ provide: SessionContext, useClass: SessionContext },
+ { provide: UserService, useValue: mockUserService },
{ provide: DaterangepickerConfig, useClass: DaterangepickerConfig },
{ provide: ResponsibilityService }
],
diff --git a/src/app/lists/open-notifications/open-notifications.component.ts b/src/app/lists/open-notifications/open-notifications.component.ts
index 9f59a9b..277555a 100644
--- a/src/app/lists/open-notifications/open-notifications.component.ts
+++ b/src/app/lists/open-notifications/open-notifications.component.ts
@@ -28,11 +28,6 @@
column: string;
protected init() {
- // initialize the sorting
- this.sortingState.column = 'beginDate';
- this.sortingState.isDesc = false;
-
- this.sessionContext.setSortingState(this.gridId, this.sortingState);
super.init();
}
getNotifications(): void {
diff --git a/src/app/lists/search-result-list/search-result-list.component.spec.ts b/src/app/lists/search-result-list/search-result-list.component.spec.ts
index ea06c64..a77e08d 100644
--- a/src/app/lists/search-result-list/search-result-list.component.spec.ts
+++ b/src/app/lists/search-result-list/search-result-list.component.spec.ts
@@ -39,6 +39,8 @@
import { GRIDTERRITORIES } from '../../test-data/gridterritories';
import { STATUSES } from '../../test-data/statuses';
import { SortingComponentMocker } from '../../lists/sorting/sorting.component.spec';
+import { UserService } from 'app/services/user.service';
+import { USERSETTING_1 } from 'app/test-data/user-settings';
describe('SearchResultListComponent', () => {
let component: SearchResultListComponent;
@@ -52,6 +54,20 @@
return this;
};
}
+
+ class MockUserService extends AbstractMockObservableService {
+ getUsers() {
+ return this;
+ };
+
+ getUserSettings() {
+ return this;
+ };
+
+ postUserSettings() {
+ return this;
+ };
+ }
class MockSearchResultService extends AbstractMockObservableService {
@@ -63,12 +79,14 @@
let sessionContext: SessionContext;
let mockService;
let mockSearchResultService;
+ let mockUserService;
beforeEach(async(() => {
messageService = new MessageService();
sessionContext = new SessionContext();
mockService = new MockNotificationService();
mockSearchResultService = new MockSearchResultService();
+ mockUserService = new MockUserService();
TestBed.configureTestingModule({
imports: [FormsModule],
@@ -84,6 +102,7 @@
{ provide: MessageService, useValue: messageService },
{ provide: SearchResultService, useValue: mockSearchResultService },
{ provide: NotificationService, useValue: mockService },
+ { provide: UserService, useValue: mockUserService },
{ provide: SessionContext, useClass: SessionContext },
{ provide: DaterangepickerConfig, useClass: DaterangepickerConfig },
{ provide: ResponsibilityService }
@@ -170,6 +189,7 @@
sessionContext.setBranches(BRANCHES);
sessionContext.setGridTerritories(GRIDTERRITORIES);
sessionContext.setStatuses(STATUSES);
+ sessionContext.setUsersSettings(USERSETTING_1);
fixture.detectChanges();
fixture.whenStable().then(() => {
diff --git a/src/app/lists/search-result-list/search-result-list.component.ts b/src/app/lists/search-result-list/search-result-list.component.ts
index bb5eff9..3ecaf73 100644
--- a/src/app/lists/search-result-list/search-result-list.component.ts
+++ b/src/app/lists/search-result-list/search-result-list.component.ts
@@ -23,6 +23,7 @@
import { DaterangepickerConfig } from 'ng2-daterangepicker'; //TODO remove this from abstract list
import { SessionContext } from '../../common/session-context';
import { LoadingSpinnerComponent } from '../../dialogs/loading-spinner/loading-spinner.component';
+import { UserService } from 'app/services/user.service';
@Component({
selector: 'app-search-result-list',
@@ -43,8 +44,9 @@
protected searchResultService: SearchResultService,
protected notificationService: NotificationService, protected reminderService: ReminderService,
protected sessionContext: SessionContext,
- protected daterangepickerConfig: DaterangepickerConfig) {
- super(messageService, notificationService, reminderService, sessionContext, daterangepickerConfig);
+ protected daterangepickerConfig: DaterangepickerConfig,
+ protected userService: UserService) {
+ super(messageService, notificationService, reminderService, sessionContext, daterangepickerConfig, userService);
}
public isStatusClassFinished(fkRefStatus: number): boolean {
diff --git a/src/app/model/user-settings.ts b/src/app/model/user-settings.ts
new file mode 100644
index 0000000..0ec08dc
--- /dev/null
+++ b/src/app/model/user-settings.ts
@@ -0,0 +1,17 @@
+import { SortingState } from "./sorting-state";
+
+/**
+******************************************************************************
+* Copyright © 2017-2018 PTA GmbH.
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+*
+* http://www.eclipse.org/legal/epl-v10.html
+*
+******************************************************************************
+*/
+export class UserSettings {
+ activeFilterRespIds: number[];
+ sortingStateMap: Map<String, SortingState>;
+}
diff --git a/src/app/pages/reminder/reminder.component.html b/src/app/pages/reminder/reminder.component.html
index 88b1c9a..0a6552c 100644
--- a/src/app/pages/reminder/reminder.component.html
+++ b/src/app/pages/reminder/reminder.component.html
@@ -30,7 +30,7 @@
<app-filter [shiftChangeProtocolConfirmed]="shiftChangeClosed" [shiftChangeProtocolOpened]="shiftChangeOpened" [filterExpanded]="filterExpanded"></app-filter>
<app-current-reminders (onEditNotification)="openDialogEditEntry($event)"
[withCheckboxes]="false" (onLookUpNotification)="openDialogLookUpEntry($event)"
- [withEditButtons]="true" [isCollapsible]="true" > </app-current-reminders>
+ [withEditButtons]="true" [isCollapsible]="true" [gridId]="'CurrentRemindersNot'"> </app-current-reminders>
</div>
</div>
</div>
\ No newline at end of file
diff --git a/src/app/pages/reminder/reminder.component.spec.ts b/src/app/pages/reminder/reminder.component.spec.ts
index b8df4a2..434e5da 100644
--- a/src/app/pages/reminder/reminder.component.spec.ts
+++ b/src/app/pages/reminder/reminder.component.spec.ts
@@ -47,6 +47,7 @@
import { FinishedNotificationsMocker } from 'app/lists/finished-notifications/finished-notifications.component.spec';
import { AbstractListMocker } from 'app/lists/abstract-list/abstract-list.component.spec';
import { SortingComponentMocker } from 'app/lists/sorting/sorting.component.spec';
+import { UserService } from 'app/services/user.service';
class FakeRouter {
navigate(commands: any[]) {
@@ -77,6 +78,20 @@
, name: 'Carlo Cottura', specialUser: true, itemName: this.userName
};
+ class MockUserService extends AbstractMockObservableService {
+ getUsers() {
+ return this;
+ };
+
+ getUserSettings() {
+ return this;
+ };
+
+ postUserSettings() {
+ return this;
+ };
+ }
+
class MockResponsibilityService extends AbstractMockObservableService {
plannedResponsibilities = null;
responsibilities = null;
@@ -129,6 +144,7 @@
}
let mockAuthService;
+ let mockUserService;
beforeEach(async(() => {
messageService = new MessageService();
@@ -137,6 +153,7 @@
mockNotificationService = new MockNotificationService();
mockAuthService = new MockAuthService();
router = new FakeRouter() as any as Router;
+ mockUserService = new MockUserService();
TestBed.overrideModule(BrowserDynamicTestingModule, {
set: {
@@ -196,6 +213,7 @@
{ provide: ReminderService, useClass: ReminderService },
{ provide: ResponsibilityService, useValue: mockRespService },
{ provide: MessageService, useValue: messageService },
+ { provide: UserService, useValue: mockUserService },
{ provide: NotificationService, useValue: mockNotificationService }
]
})
diff --git a/src/app/pages/search/search.component.spec.ts b/src/app/pages/search/search.component.spec.ts
index 2ed831f..2a66dc3 100644
--- a/src/app/pages/search/search.component.spec.ts
+++ b/src/app/pages/search/search.component.spec.ts
@@ -57,6 +57,8 @@
import { FinishedNotificationsMocker } from '../../lists/finished-notifications/finished-notifications.component.spec';
import { SortingComponentMocker } from '../../lists/sorting/sorting.component.spec';
import { AbstractListMocker } from '../../lists/abstract-list/abstract-list.component.spec';
+import { UserService } from 'app/services/user.service';
+import { USERSETTING_1 } from 'app/test-data/user-settings';
class FakeRouter {
navigate(commands: any[]) {
@@ -81,6 +83,7 @@
let mockSearchResultService: MockSearchResultService;
let messageService;
let routerStub: FakeRouter;
+ let mockUserService;
routerStub = {
navigate: jasmine.createSpy('navigate').and.callThrough()
@@ -137,12 +140,26 @@
close() { }
}
+ class MockUserService extends AbstractMockObservableService {
+ getUsers() {
+ return this;
+ };
+
+ getUserSettings() {
+ return this;
+ };
+
+ postUserSettings() {
+ return this;
+ };
+ }
+
beforeEach(async(() => {
messageService = new MessageService();
mockNotificationService = new MockNotificationService();
mockNotificationSearchSortService = new MockNotificationSearchSortService();
mockSearchResultService = new MockSearchResultService();
-
+ mockUserService = new MockUserService();
router = new FakeRouter() as any as Router;
TestBed.overrideModule(BrowserDynamicTestingModule, {
@@ -190,6 +207,7 @@
{ provide: DaterangepickerConfig, useClass: DaterangepickerConfig },
{ provide: NotificationService, useValue: mockNotificationService },
{ provide: SearchResultService, useValue: mockSearchResultService },
+ { provide: UserService, useValue: mockUserService },
{ provide: SessionContext, useClass: SessionContext },
{ provide: ReminderService, useClass: ReminderService },
{ provide: ResponsibilityService, useClass: MockResponsibilityService },
@@ -347,6 +365,7 @@
it('should call search function after search button pressed', async(() => {
spyOn(component, 'search').and.callThrough();
+ sessionContext.setUsersSettings(USERSETTING_1);
fixture.detectChanges();
fixture.whenStable().then(() => {
const currentSearchFilter: GlobalSearchFilter = new GlobalSearchFilter();
diff --git a/src/app/services/jobs/base-data-loader.service.spec.ts b/src/app/services/jobs/base-data-loader.service.spec.ts
index 2ac0459..e3164b9 100644
--- a/src/app/services/jobs/base-data-loader.service.spec.ts
+++ b/src/app/services/jobs/base-data-loader.service.spec.ts
@@ -60,6 +60,15 @@
newService.error = this.userError;
return newService;
}
+
+ getUserSettings() {
+ return this;
+ };
+
+ postUserSettings() {
+ return this;
+ };
+
}
let sessionContext: SessionContext;
let messageService: MessageService;
@@ -78,7 +87,7 @@
}));
- it('should be load the base-data after MSG_LOG_IN_SUCCEEDED-Message "', fakeAsync(() => {
+ fit('should be load the base-data after MSG_LOG_IN_SUCCEEDED-Message "', fakeAsync(() => {
mockDataService.statusList = [{ id: 1, name: 'offen' }];
mockDataService.branchList = [{ id: 1, name: 'W', description: 'Wasser' }];
mockDataService.gridTerritoryList = [{ id: 1, name: 'MA', description: 'Mannheim', fkRefMaster: 1 }];
diff --git a/src/app/services/jobs/base-data-loader.service.ts b/src/app/services/jobs/base-data-loader.service.ts
index 24c90b8..7ddd1a6 100644
--- a/src/app/services/jobs/base-data-loader.service.ts
+++ b/src/app/services/jobs/base-data-loader.service.ts
@@ -60,6 +60,14 @@
error => {
console.log(error);
});
+
+ this.userService.getUserSettings()
+ .subscribe(res => {
+ this.sessionContext.setUsersSettings(res)
+ } ,
+ error => {
+ console.log(error);
+ });
}
}
diff --git a/src/app/services/user.service.ts b/src/app/services/user.service.ts
index 624734d..d102ab4 100644
--- a/src/app/services/user.service.ts
+++ b/src/app/services/user.service.ts
@@ -22,6 +22,7 @@
import { User } from '../model/user';
import { MessageService } from './message.service';
+import { UserSettings } from 'app/model/user-settings';
@Injectable()
export class UserService extends BaseHttpService {
@@ -42,5 +43,45 @@
return super.handleErrorPromise(error);
});
}
+
+ public getUserSettings(): Observable<UserSettings> {
+ const headers = new Headers();
+ this.createCommonHeaders(headers, this._sessionContext);
+ return this._http.get(super.getBaseUrl() + '/user-settings', { headers: headers })
+ .map(res => super.extractData(res, this._sessionContext))
+ .catch(error => {
+ return super.handleErrorPromise(error);
+ });
+ }
+
+ public postUserSettings(userSettings: UserSettings) {
+ const headers = new Headers();
+ const url = super.getBaseUrl() + '/user-settings/';
+ this.createCommonHeaders(headers, this._sessionContext);
+ return this._http.post(url, JSON.stringify(userSettings, this.replacer), { headers: headers })
+ .map(res => super.extractData(res, this._sessionContext))
+ .catch(error => { return super.handleErrorPromise(error); });
+ }
+
+ replacer(key, value) {
+ const originalObject = this[key];
+ if(originalObject instanceof Map) {
+ return {
+ dataType: 'Map',
+ value: Array.from(originalObject.entries()), // or with spread: value: [...originalObject]
+ };
+ } else {
+ return value;
+ }
+ }
+
+ reviver(key, value) {
+ if(typeof value === 'object' && value !== null) {
+ if (value.dataType === 'Map') {
+ return new Map(value.value);
+ }
+ }
+ return value;
+ }
}
diff --git a/src/app/test-data/user-settings.ts b/src/app/test-data/user-settings.ts
new file mode 100644
index 0000000..adb352e
--- /dev/null
+++ b/src/app/test-data/user-settings.ts
@@ -0,0 +1,38 @@
+/**
+******************************************************************************
+* Copyright © 2017-2018 PTA GmbH.
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+*
+* http://www.eclipse.org/legal/epl-v10.html
+*
+******************************************************************************
+*/
+import { TerritoryResponsibility } from '../model/territory-responsibility';
+import { Responsibility } from '../model/responsibility';
+import { HistoricalShiftChanges } from '../model/historical-shift-changes';
+import { HistoricalResponsibility } from '../model/historical-responsibility';
+import { UserSettings } from 'app/model/user-settings';
+import { SortingState } from 'app/model/sorting-state';
+export const USERSETTING_1: UserSettings = {
+
+
+ activeFilterRespIds: [
+ 27,
+ 25,
+ 29,
+ 31,
+ 32
+ ],
+ sortingStateMap: new Map([
+ [ "OverviewOpenNot",
+ {
+ "column": "fkRefNotificationStatus",
+ "isDesc": true,
+ "counter": 1,
+ "defaultState": false
+ }
+ ]
+ ])
+};