aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.eslintrc4
-rw-r--r--jest.config.js3
-rw-r--r--package-lock.json1578
-rw-r--r--package.json4
-rw-r--r--src/features/utils/FeatureStore.js10
-rw-r--r--src/features/utils/FeatureStore.test.js90
6 files changed, 1683 insertions, 6 deletions
diff --git a/.eslintrc b/.eslintrc
index e61d99c20..c85bee1fa 100644
--- a/.eslintrc
+++ b/.eslintrc
@@ -1,6 +1,7 @@
1{ 1{
2 "parser": "babel-eslint", 2 "parser": "babel-eslint",
3 "extends": "eslint-config-airbnb", 3 "extends": "eslint-config-airbnb",
4 "plugins": ["jest"],
4 "rules": { 5 "rules": {
5 "consistent-return": 0, 6 "consistent-return": 0,
6 "no-param-reassign": 0, 7 "no-param-reassign": 0,
@@ -55,5 +56,8 @@
55 "btoa": true, 56 "btoa": true,
56 "ga": true, 57 "ga": true,
57 "mocha": true 58 "mocha": true
59 },
60 "env": {
61 "jest/globals": true
58 } 62 }
59} 63}
diff --git a/jest.config.js b/jest.config.js
new file mode 100644
index 000000000..8c9b59cf5
--- /dev/null
+++ b/jest.config.js
@@ -0,0 +1,3 @@
1module.exports = {
2 roots: ['src'],
3};
diff --git a/package-lock.json b/package-lock.json
index ab505e904..cd43fcda6 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1083,6 +1083,16 @@
1083 "to-fast-properties": "^2.0.0" 1083 "to-fast-properties": "^2.0.0"
1084 } 1084 }
1085 }, 1085 },
1086 "@cnakazawa/watch": {
1087 "version": "1.0.3",
1088 "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.3.tgz",
1089 "integrity": "sha512-r5160ogAvGyHsal38Kux7YYtodEKOj89RGb28ht1jh3SJb08VwRwAKKJL0bGb04Zd/3r9FL3BFIc3bBidYffCA==",
1090 "dev": true,
1091 "requires": {
1092 "exec-sh": "^0.3.2",
1093 "minimist": "^1.2.0"
1094 }
1095 },
1086 "@fimbul/bifrost": { 1096 "@fimbul/bifrost": {
1087 "version": "0.17.0", 1097 "version": "0.17.0",
1088 "resolved": "https://registry.npmjs.org/@fimbul/bifrost/-/bifrost-0.17.0.tgz", 1098 "resolved": "https://registry.npmjs.org/@fimbul/bifrost/-/bifrost-0.17.0.tgz",
@@ -1123,6 +1133,217 @@
1123 "tslib": "^1.8.1" 1133 "tslib": "^1.8.1"
1124 } 1134 }
1125 }, 1135 },
1136 "@jest/console": {
1137 "version": "24.7.1",
1138 "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.7.1.tgz",
1139 "integrity": "sha512-iNhtIy2M8bXlAOULWVTUxmnelTLFneTNEkHCgPmgd+zNwy9zVddJ6oS5rZ9iwoscNdT5mMwUd0C51v/fSlzItg==",
1140 "dev": true,
1141 "requires": {
1142 "@jest/source-map": "^24.3.0",
1143 "chalk": "^2.0.1",
1144 "slash": "^2.0.0"
1145 }
1146 },
1147 "@jest/core": {
1148 "version": "24.7.1",
1149 "resolved": "https://registry.npmjs.org/@jest/core/-/core-24.7.1.tgz",
1150 "integrity": "sha512-ivlZ8HX/FOASfHcb5DJpSPFps8ydfUYzLZfgFFqjkLijYysnIEOieg72YRhO4ZUB32xu40hsSMmaw+IGYeKONA==",
1151 "dev": true,
1152 "requires": {
1153 "@jest/console": "^24.7.1",
1154 "@jest/reporters": "^24.7.1",
1155 "@jest/test-result": "^24.7.1",
1156 "@jest/transform": "^24.7.1",
1157 "@jest/types": "^24.7.0",
1158 "ansi-escapes": "^3.0.0",
1159 "chalk": "^2.0.1",
1160 "exit": "^0.1.2",
1161 "graceful-fs": "^4.1.15",
1162 "jest-changed-files": "^24.7.0",
1163 "jest-config": "^24.7.1",
1164 "jest-haste-map": "^24.7.1",
1165 "jest-message-util": "^24.7.1",
1166 "jest-regex-util": "^24.3.0",
1167 "jest-resolve-dependencies": "^24.7.1",
1168 "jest-runner": "^24.7.1",
1169 "jest-runtime": "^24.7.1",
1170 "jest-snapshot": "^24.7.1",
1171 "jest-util": "^24.7.1",
1172 "jest-validate": "^24.7.0",
1173 "jest-watcher": "^24.7.1",
1174 "micromatch": "^3.1.10",
1175 "p-each-series": "^1.0.0",
1176 "pirates": "^4.0.1",
1177 "realpath-native": "^1.1.0",
1178 "rimraf": "^2.5.4",
1179 "strip-ansi": "^5.0.0"
1180 },
1181 "dependencies": {
1182 "ansi-regex": {
1183 "version": "4.1.0",
1184 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
1185 "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
1186 "dev": true
1187 },
1188 "pirates": {
1189 "version": "4.0.1",
1190 "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz",
1191 "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==",
1192 "dev": true,
1193 "requires": {
1194 "node-modules-regexp": "^1.0.0"
1195 }
1196 },
1197 "strip-ansi": {
1198 "version": "5.2.0",
1199 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
1200 "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
1201 "dev": true,
1202 "requires": {
1203 "ansi-regex": "^4.1.0"
1204 }
1205 }
1206 }
1207 },
1208 "@jest/environment": {
1209 "version": "24.7.1",
1210 "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-24.7.1.tgz",
1211 "integrity": "sha512-wmcTTYc4/KqA+U5h1zQd5FXXynfa7VGP2NfF+c6QeGJ7c+2nStgh65RQWNX62SC716dTtqheTRrZl0j+54oGHw==",
1212 "dev": true,
1213 "requires": {
1214 "@jest/fake-timers": "^24.7.1",
1215 "@jest/transform": "^24.7.1",
1216 "@jest/types": "^24.7.0",
1217 "jest-mock": "^24.7.0"
1218 }
1219 },
1220 "@jest/fake-timers": {
1221 "version": "24.7.1",
1222 "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-24.7.1.tgz",
1223 "integrity": "sha512-4vSQJDKfR2jScOe12L9282uiwuwQv9Lk7mgrCSZHA9evB9efB/qx8i0KJxsAKtp8fgJYBJdYY7ZU6u3F4/pyjA==",
1224 "dev": true,
1225 "requires": {
1226 "@jest/types": "^24.7.0",
1227 "jest-message-util": "^24.7.1",
1228 "jest-mock": "^24.7.0"
1229 }
1230 },
1231 "@jest/reporters": {
1232 "version": "24.7.1",
1233 "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-24.7.1.tgz",
1234 "integrity": "sha512-bO+WYNwHLNhrjB9EbPL4kX/mCCG4ZhhfWmO3m4FSpbgr7N83MFejayz30kKjgqr7smLyeaRFCBQMbXpUgnhAJw==",
1235 "dev": true,
1236 "requires": {
1237 "@jest/environment": "^24.7.1",
1238 "@jest/test-result": "^24.7.1",
1239 "@jest/transform": "^24.7.1",
1240 "@jest/types": "^24.7.0",
1241 "chalk": "^2.0.1",
1242 "exit": "^0.1.2",
1243 "glob": "^7.1.2",
1244 "istanbul-api": "^2.1.1",
1245 "istanbul-lib-coverage": "^2.0.2",
1246 "istanbul-lib-instrument": "^3.0.1",
1247 "istanbul-lib-source-maps": "^3.0.1",
1248 "jest-haste-map": "^24.7.1",
1249 "jest-resolve": "^24.7.1",
1250 "jest-runtime": "^24.7.1",
1251 "jest-util": "^24.7.1",
1252 "jest-worker": "^24.6.0",
1253 "node-notifier": "^5.2.1",
1254 "slash": "^2.0.0",
1255 "source-map": "^0.6.0",
1256 "string-length": "^2.0.0"
1257 }
1258 },
1259 "@jest/source-map": {
1260 "version": "24.3.0",
1261 "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-24.3.0.tgz",
1262 "integrity": "sha512-zALZt1t2ou8le/crCeeiRYzvdnTzaIlpOWaet45lNSqNJUnXbppUUFR4ZUAlzgDmKee4Q5P/tKXypI1RiHwgag==",
1263 "dev": true,
1264 "requires": {
1265 "callsites": "^3.0.0",
1266 "graceful-fs": "^4.1.15",
1267 "source-map": "^0.6.0"
1268 },
1269 "dependencies": {
1270 "callsites": {
1271 "version": "3.1.0",
1272 "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
1273 "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
1274 "dev": true
1275 }
1276 }
1277 },
1278 "@jest/test-result": {
1279 "version": "24.7.1",
1280 "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-24.7.1.tgz",
1281 "integrity": "sha512-3U7wITxstdEc2HMfBX7Yx3JZgiNBubwDqQMh+BXmZXHa3G13YWF3p6cK+5g0hGkN3iufg/vGPl3hLxQXD74Npg==",
1282 "dev": true,
1283 "requires": {
1284 "@jest/console": "^24.7.1",
1285 "@jest/types": "^24.7.0",
1286 "@types/istanbul-lib-coverage": "^2.0.0"
1287 }
1288 },
1289 "@jest/test-sequencer": {
1290 "version": "24.7.1",
1291 "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-24.7.1.tgz",
1292 "integrity": "sha512-84HQkCpVZI/G1zq53gHJvSmhUer4aMYp9tTaffW28Ih5OxfCg8hGr3nTSbL1OhVDRrFZwvF+/R9gY6JRkDUpUA==",
1293 "dev": true,
1294 "requires": {
1295 "@jest/test-result": "^24.7.1",
1296 "jest-haste-map": "^24.7.1",
1297 "jest-runner": "^24.7.1",
1298 "jest-runtime": "^24.7.1"
1299 }
1300 },
1301 "@jest/transform": {
1302 "version": "24.7.1",
1303 "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-24.7.1.tgz",
1304 "integrity": "sha512-EsOUqP9ULuJ66IkZQhI5LufCHlTbi7hrcllRMUEV/tOgqBVQi93+9qEvkX0n8mYpVXQ8VjwmICeRgg58mrtIEw==",
1305 "dev": true,
1306 "requires": {
1307 "@babel/core": "^7.1.0",
1308 "@jest/types": "^24.7.0",
1309 "babel-plugin-istanbul": "^5.1.0",
1310 "chalk": "^2.0.1",
1311 "convert-source-map": "^1.4.0",
1312 "fast-json-stable-stringify": "^2.0.0",
1313 "graceful-fs": "^4.1.15",
1314 "jest-haste-map": "^24.7.1",
1315 "jest-regex-util": "^24.3.0",
1316 "jest-util": "^24.7.1",
1317 "micromatch": "^3.1.10",
1318 "realpath-native": "^1.1.0",
1319 "slash": "^2.0.0",
1320 "source-map": "^0.6.1",
1321 "write-file-atomic": "2.4.1"
1322 },
1323 "dependencies": {
1324 "write-file-atomic": {
1325 "version": "2.4.1",
1326 "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.1.tgz",
1327 "integrity": "sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg==",
1328 "dev": true,
1329 "requires": {
1330 "graceful-fs": "^4.1.11",
1331 "imurmurhash": "^0.1.4",
1332 "signal-exit": "^3.0.2"
1333 }
1334 }
1335 }
1336 },
1337 "@jest/types": {
1338 "version": "24.7.0",
1339 "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.7.0.tgz",
1340 "integrity": "sha512-ipJUa2rFWiKoBqMKP63Myb6h9+iT3FHRTF2M8OR6irxWzItisa8i4dcSg14IbvmXUnBlHBlUQPYUHWyX3UPpYA==",
1341 "dev": true,
1342 "requires": {
1343 "@types/istanbul-lib-coverage": "^2.0.0",
1344 "@types/yargs": "^12.0.9"
1345 }
1346 },
1126 "@lerna/add": { 1347 "@lerna/add": {
1127 "version": "3.11.0", 1348 "version": "3.11.0",
1128 "resolved": "https://registry.npmjs.org/@lerna/add/-/add-3.11.0.tgz", 1349 "resolved": "https://registry.npmjs.org/@lerna/add/-/add-3.11.0.tgz",
@@ -2036,6 +2257,47 @@
2036 "url-template": "^2.0.8" 2257 "url-template": "^2.0.8"
2037 } 2258 }
2038 }, 2259 },
2260 "@types/babel__core": {
2261 "version": "7.1.1",
2262 "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.1.tgz",
2263 "integrity": "sha512-+hjBtgcFPYyCTo0A15+nxrCVJL7aC6Acg87TXd5OW3QhHswdrOLoles+ldL2Uk8q++7yIfl4tURtztccdeeyOw==",
2264 "dev": true,
2265 "requires": {
2266 "@babel/parser": "^7.1.0",
2267 "@babel/types": "^7.0.0",
2268 "@types/babel__generator": "*",
2269 "@types/babel__template": "*",
2270 "@types/babel__traverse": "*"
2271 }
2272 },
2273 "@types/babel__generator": {
2274 "version": "7.0.2",
2275 "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.0.2.tgz",
2276 "integrity": "sha512-NHcOfab3Zw4q5sEE2COkpfXjoE7o+PmqD9DQW4koUT3roNxwziUdXGnRndMat/LJNUtePwn1TlP4do3uoe3KZQ==",
2277 "dev": true,
2278 "requires": {
2279 "@babel/types": "^7.0.0"
2280 }
2281 },
2282 "@types/babel__template": {
2283 "version": "7.0.2",
2284 "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.0.2.tgz",
2285 "integrity": "sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg==",
2286 "dev": true,
2287 "requires": {
2288 "@babel/parser": "^7.1.0",
2289 "@babel/types": "^7.0.0"
2290 }
2291 },
2292 "@types/babel__traverse": {
2293 "version": "7.0.6",
2294 "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.6.tgz",
2295 "integrity": "sha512-XYVgHF2sQ0YblLRMLNPB3CkFMewzFmlDsH/TneZFHUXDlABQgh88uOxuez7ZcXxayLFrqLwtDH1t+FmlFwNZxw==",
2296 "dev": true,
2297 "requires": {
2298 "@babel/types": "^7.3.0"
2299 }
2300 },
2039 "@types/classnames": { 2301 "@types/classnames": {
2040 "version": "2.2.7", 2302 "version": "2.2.7",
2041 "resolved": "https://registry.npmjs.org/@types/classnames/-/classnames-2.2.7.tgz", 2303 "resolved": "https://registry.npmjs.org/@types/classnames/-/classnames-2.2.7.tgz",
@@ -2066,6 +2328,12 @@
2066 "integrity": "sha512-gZ/Rb+MFXF0pXSEQxdRoPMm5jeO3TycjOdvbpbcpHX/B+n9AqaHFe5q6Ga9CsZ7ir/UgIWPfrBzUzn3F19VH/w==", 2328 "integrity": "sha512-gZ/Rb+MFXF0pXSEQxdRoPMm5jeO3TycjOdvbpbcpHX/B+n9AqaHFe5q6Ga9CsZ7ir/UgIWPfrBzUzn3F19VH/w==",
2067 "dev": true 2329 "dev": true
2068 }, 2330 },
2331 "@types/istanbul-lib-coverage": {
2332 "version": "2.0.0",
2333 "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.0.tgz",
2334 "integrity": "sha512-eAtOAFZefEnfJiRFQBGw1eYqa5GTLCZ1y86N0XSI/D6EB+E8z6VPV/UL7Gi5UEclFqoQk+6NRqEDsfmDLXn8sg==",
2335 "dev": true
2336 },
2069 "@types/jss": { 2337 "@types/jss": {
2070 "version": "9.5.7", 2338 "version": "9.5.7",
2071 "resolved": "https://registry.npmjs.org/@types/jss/-/jss-9.5.7.tgz", 2339 "resolved": "https://registry.npmjs.org/@types/jss/-/jss-9.5.7.tgz",
@@ -2125,6 +2393,12 @@
2125 "csstype": "^2.0.0" 2393 "csstype": "^2.0.0"
2126 } 2394 }
2127 }, 2395 },
2396 "@types/stack-utils": {
2397 "version": "1.0.1",
2398 "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz",
2399 "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==",
2400 "dev": true
2401 },
2128 "@types/theming": { 2402 "@types/theming": {
2129 "version": "1.3.2", 2403 "version": "1.3.2",
2130 "resolved": "https://registry.npmjs.org/@types/theming/-/theming-1.3.2.tgz", 2404 "resolved": "https://registry.npmjs.org/@types/theming/-/theming-1.3.2.tgz",
@@ -2143,6 +2417,12 @@
2143 "@types/node": "*" 2417 "@types/node": "*"
2144 } 2418 }
2145 }, 2419 },
2420 "@types/yargs": {
2421 "version": "12.0.12",
2422 "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-12.0.12.tgz",
2423 "integrity": "sha512-SOhuU4wNBxhhTHxYaiG5NY4HBhDIDnJF60GU+2LqHAdKKer86//e4yg69aENCtQ04n0ovz+tq2YPME5t5yp4pw==",
2424 "dev": true
2425 },
2146 "@webassemblyjs/ast": { 2426 "@webassemblyjs/ast": {
2147 "version": "1.7.11", 2427 "version": "1.7.11",
2148 "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.7.11.tgz", 2428 "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.7.11.tgz",
@@ -2337,6 +2617,12 @@
2337 "through": ">=2.2.7 <3" 2617 "through": ">=2.2.7 <3"
2338 } 2618 }
2339 }, 2619 },
2620 "abab": {
2621 "version": "2.0.0",
2622 "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.0.tgz",
2623 "integrity": "sha512-sY5AXXVZv4Y1VACTtR11UJCPHHudgY5i26Qj5TypE6DKlIApbwb5uqhXcJ5UUGbvZNRh7EeIoW+LrJumBsKp7w==",
2624 "dev": true
2625 },
2340 "abbrev": { 2626 "abbrev": {
2341 "version": "1.1.1", 2627 "version": "1.1.1",
2342 "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", 2628 "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
@@ -2384,12 +2670,28 @@
2384 } 2670 }
2385 } 2671 }
2386 }, 2672 },
2673 "acorn-globals": {
2674 "version": "4.3.1",
2675 "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.1.tgz",
2676 "integrity": "sha512-gJSiKY8dBIjV/0jagZIFBdVMtfQyA5QHCvAT48H2q8REQoW8Fs5AOjqBql1LgSXgrMWdevcE+8cdZ33NtVbIBA==",
2677 "dev": true,
2678 "requires": {
2679 "acorn": "^6.0.1",
2680 "acorn-walk": "^6.0.1"
2681 }
2682 },
2387 "acorn-jsx": { 2683 "acorn-jsx": {
2388 "version": "5.0.1", 2684 "version": "5.0.1",
2389 "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.1.tgz", 2685 "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.1.tgz",
2390 "integrity": "sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg==", 2686 "integrity": "sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg==",
2391 "dev": true 2687 "dev": true
2392 }, 2688 },
2689 "acorn-walk": {
2690 "version": "6.1.1",
2691 "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.1.1.tgz",
2692 "integrity": "sha512-OtUw6JUTgxA2QoqqmrmQ7F2NYqiBPi/L2jqHyFtllhOUvXYQXf0Z1CYUinIfyT4bTCGmrA7gX9FvHA81uzCoVw==",
2693 "dev": true
2694 },
2393 "add-stream": { 2695 "add-stream": {
2394 "version": "1.0.0", 2696 "version": "1.0.0",
2395 "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz", 2697 "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz",
@@ -2603,6 +2905,15 @@
2603 "buffer-equal": "^1.0.0" 2905 "buffer-equal": "^1.0.0"
2604 } 2906 }
2605 }, 2907 },
2908 "append-transform": {
2909 "version": "1.0.0",
2910 "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz",
2911 "integrity": "sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==",
2912 "dev": true,
2913 "requires": {
2914 "default-require-extensions": "^2.0.0"
2915 }
2916 },
2606 "applescript": { 2917 "applescript": {
2607 "version": "1.0.0", 2918 "version": "1.0.0",
2608 "resolved": "https://registry.npmjs.org/applescript/-/applescript-1.0.0.tgz", 2919 "resolved": "https://registry.npmjs.org/applescript/-/applescript-1.0.0.tgz",
@@ -2737,6 +3048,12 @@
2737 "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", 3048 "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=",
2738 "dev": true 3049 "dev": true
2739 }, 3050 },
3051 "array-equal": {
3052 "version": "1.0.0",
3053 "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz",
3054 "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=",
3055 "dev": true
3056 },
2740 "array-find-index": { 3057 "array-find-index": {
2741 "version": "1.0.2", 3058 "version": "1.0.2",
2742 "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", 3059 "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
@@ -3115,6 +3432,21 @@
3115 "eslint-visitor-keys": "^1.0.0" 3432 "eslint-visitor-keys": "^1.0.0"
3116 } 3433 }
3117 }, 3434 },
3435 "babel-jest": {
3436 "version": "24.7.1",
3437 "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-24.7.1.tgz",
3438 "integrity": "sha512-GPnLqfk8Mtt0i4OemjWkChi73A3ALs4w2/QbG64uAj8b5mmwzxc7jbJVRZt8NJkxi6FopVHog9S3xX6UJKb2qg==",
3439 "dev": true,
3440 "requires": {
3441 "@jest/transform": "^24.7.1",
3442 "@jest/types": "^24.7.0",
3443 "@types/babel__core": "^7.1.0",
3444 "babel-plugin-istanbul": "^5.1.0",
3445 "babel-preset-jest": "^24.6.0",
3446 "chalk": "^2.4.2",
3447 "slash": "^2.0.0"
3448 }
3449 },
3118 "babel-loader": { 3450 "babel-loader": {
3119 "version": "8.0.5", 3451 "version": "8.0.5",
3120 "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.5.tgz", 3452 "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.5.tgz",
@@ -3149,6 +3481,26 @@
3149 } 3481 }
3150 } 3482 }
3151 }, 3483 },
3484 "babel-plugin-istanbul": {
3485 "version": "5.1.2",
3486 "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-5.1.2.tgz",
3487 "integrity": "sha512-U3ZVajC+Z69Gim7ZzmD4Wcsq76i/1hqDamBfowc1tWzWjybRy70iWfngP2ME+1CrgcgZ/+muIbPY/Yi0dxdIkQ==",
3488 "dev": true,
3489 "requires": {
3490 "find-up": "^3.0.0",
3491 "istanbul-lib-instrument": "^3.2.0",
3492 "test-exclude": "^5.2.2"
3493 }
3494 },
3495 "babel-plugin-jest-hoist": {
3496 "version": "24.6.0",
3497 "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.6.0.tgz",
3498 "integrity": "sha512-3pKNH6hMt9SbOv0F3WVmy5CWQ4uogS3k0GY5XLyQHJ9EGpAT9XWkFd2ZiXXtkwFHdAHa5j7w7kfxSP5lAIwu7w==",
3499 "dev": true,
3500 "requires": {
3501 "@types/babel__traverse": "^7.0.6"
3502 }
3503 },
3152 "babel-plugin-react-intl": { 3504 "babel-plugin-react-intl": {
3153 "version": "3.0.1", 3505 "version": "3.0.1",
3154 "resolved": "https://registry.npmjs.org/babel-plugin-react-intl/-/babel-plugin-react-intl-3.0.1.tgz", 3506 "resolved": "https://registry.npmjs.org/babel-plugin-react-intl/-/babel-plugin-react-intl-3.0.1.tgz",
@@ -3160,6 +3512,16 @@
3160 "mkdirp": "^0.5.1" 3512 "mkdirp": "^0.5.1"
3161 } 3513 }
3162 }, 3514 },
3515 "babel-preset-jest": {
3516 "version": "24.6.0",
3517 "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-24.6.0.tgz",
3518 "integrity": "sha512-pdZqLEdmy1ZK5kyRUfvBb2IfTPb2BUvIJczlPspS8fWmBQslNNDBqVfh7BW5leOVJMDZKzjD8XEyABTk6gQ5yw==",
3519 "dev": true,
3520 "requires": {
3521 "@babel/plugin-syntax-object-rest-spread": "^7.0.0",
3522 "babel-plugin-jest-hoist": "^24.6.0"
3523 }
3524 },
3163 "babel-runtime": { 3525 "babel-runtime": {
3164 "version": "6.26.0", 3526 "version": "6.26.0",
3165 "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", 3527 "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
@@ -3518,6 +3880,29 @@
3518 "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", 3880 "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=",
3519 "dev": true 3881 "dev": true
3520 }, 3882 },
3883 "browser-process-hrtime": {
3884 "version": "0.1.3",
3885 "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz",
3886 "integrity": "sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw==",
3887 "dev": true
3888 },
3889 "browser-resolve": {
3890 "version": "1.11.3",
3891 "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz",
3892 "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==",
3893 "dev": true,
3894 "requires": {
3895 "resolve": "1.1.7"
3896 },
3897 "dependencies": {
3898 "resolve": {
3899 "version": "1.1.7",
3900 "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
3901 "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
3902 "dev": true
3903 }
3904 }
3905 },
3521 "browser-stdout": { 3906 "browser-stdout": {
3522 "version": "1.3.1", 3907 "version": "1.3.1",
3523 "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", 3908 "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
@@ -3606,6 +3991,15 @@
3606 "node-releases": "^1.1.3" 3991 "node-releases": "^1.1.3"
3607 } 3992 }
3608 }, 3993 },
3994 "bser": {
3995 "version": "2.0.0",
3996 "resolved": "https://registry.npmjs.org/bser/-/bser-2.0.0.tgz",
3997 "integrity": "sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk=",
3998 "dev": true,
3999 "requires": {
4000 "node-int64": "^0.4.0"
4001 }
4002 },
3609 "btoa-lite": { 4003 "btoa-lite": {
3610 "version": "1.0.0", 4004 "version": "1.0.0",
3611 "resolved": "https://registry.npmjs.org/btoa-lite/-/btoa-lite-1.0.0.tgz", 4005 "resolved": "https://registry.npmjs.org/btoa-lite/-/btoa-lite-1.0.0.tgz",
@@ -3912,6 +4306,15 @@
3912 "integrity": "sha512-ekW8NQ3/FvokviDxhdKLZZAx7PptXNwxKgXtnR5y+PR3hckwuP3yJ1Ir+4/c97dsHNqtAyfKUGdw8P4EYzBNgw==", 4306 "integrity": "sha512-ekW8NQ3/FvokviDxhdKLZZAx7PptXNwxKgXtnR5y+PR3hckwuP3yJ1Ir+4/c97dsHNqtAyfKUGdw8P4EYzBNgw==",
3913 "dev": true 4307 "dev": true
3914 }, 4308 },
4309 "capture-exit": {
4310 "version": "2.0.0",
4311 "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz",
4312 "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==",
4313 "dev": true,
4314 "requires": {
4315 "rsvp": "^4.8.4"
4316 }
4317 },
3915 "capture-stack-trace": { 4318 "capture-stack-trace": {
3916 "version": "1.0.1", 4319 "version": "1.0.1",
3917 "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz", 4320 "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz",
@@ -4198,6 +4601,12 @@
4198 "mkdirp": "~0.5.0" 4601 "mkdirp": "~0.5.0"
4199 } 4602 }
4200 }, 4603 },
4604 "co": {
4605 "version": "4.6.0",
4606 "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
4607 "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
4608 "dev": true
4609 },
4201 "code-point-at": { 4610 "code-point-at": {
4202 "version": "1.1.0", 4611 "version": "1.1.0",
4203 "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", 4612 "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
@@ -4332,6 +4741,12 @@
4332 "integrity": "sha1-AWLsLZNR9d3VmpICy6k1NmpyUIA=", 4741 "integrity": "sha1-AWLsLZNR9d3VmpICy6k1NmpyUIA=",
4333 "dev": true 4742 "dev": true
4334 }, 4743 },
4744 "compare-versions": {
4745 "version": "3.4.0",
4746 "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.4.0.tgz",
4747 "integrity": "sha512-tK69D7oNXXqUW3ZNo/z7NXTEz22TCF0pTE+YF9cxvaAM9XnkLo1fV621xCLrRR6aevJlKxExkss0vWqUCUpqdg==",
4748 "dev": true
4749 },
4335 "component-bind": { 4750 "component-bind": {
4336 "version": "1.0.0", 4751 "version": "1.0.0",
4337 "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", 4752 "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz",
@@ -5092,6 +5507,21 @@
5092 "integrity": "sha512-wan8dMWQ0GUeF7DGEPVjhHemVW/vy6xUYmFzRY8RYqgA0JtXC9rJmbScBjqSu6dg9q0lwPQy6ZAmJVr3PPTvqQ==", 5507 "integrity": "sha512-wan8dMWQ0GUeF7DGEPVjhHemVW/vy6xUYmFzRY8RYqgA0JtXC9rJmbScBjqSu6dg9q0lwPQy6ZAmJVr3PPTvqQ==",
5093 "dev": true 5508 "dev": true
5094 }, 5509 },
5510 "cssom": {
5511 "version": "0.3.6",
5512 "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.6.tgz",
5513 "integrity": "sha512-DtUeseGk9/GBW0hl0vVPpU22iHL6YB5BUX7ml1hB+GMpo0NX5G4voX3kdWiMSEguFtcW3Vh3djqNF4aIe6ne0A==",
5514 "dev": true
5515 },
5516 "cssstyle": {
5517 "version": "1.2.2",
5518 "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.2.2.tgz",
5519 "integrity": "sha512-43wY3kl1CVQSvL7wUY1qXkxVGkStjpkDmVjiIKX8R97uhajy8Bybay78uOtqvh7Q5GK75dNPfW0geWjE6qQQow==",
5520 "dev": true,
5521 "requires": {
5522 "cssom": "0.3.x"
5523 }
5524 },
5095 "csstype": { 5525 "csstype": {
5096 "version": "2.6.2", 5526 "version": "2.6.2",
5097 "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.2.tgz", 5527 "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.2.tgz",
@@ -5159,6 +5589,17 @@
5159 "assert-plus": "^1.0.0" 5589 "assert-plus": "^1.0.0"
5160 } 5590 }
5161 }, 5591 },
5592 "data-urls": {
5593 "version": "1.1.0",
5594 "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz",
5595 "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==",
5596 "dev": true,
5597 "requires": {
5598 "abab": "^2.0.0",
5599 "whatwg-mimetype": "^2.2.0",
5600 "whatwg-url": "^7.0.0"
5601 }
5602 },
5162 "date-fns": { 5603 "date-fns": {
5163 "version": "1.30.1", 5604 "version": "1.30.1",
5164 "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz", 5605 "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz",
@@ -5309,6 +5750,15 @@
5309 } 5750 }
5310 } 5751 }
5311 }, 5752 },
5753 "default-require-extensions": {
5754 "version": "2.0.0",
5755 "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz",
5756 "integrity": "sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc=",
5757 "dev": true,
5758 "requires": {
5759 "strip-bom": "^3.0.0"
5760 }
5761 },
5312 "default-resolution": { 5762 "default-resolution": {
5313 "version": "2.0.0", 5763 "version": "2.0.0",
5314 "resolved": "https://registry.npmjs.org/default-resolution/-/default-resolution-2.0.0.tgz", 5764 "resolved": "https://registry.npmjs.org/default-resolution/-/default-resolution-2.0.0.tgz",
@@ -5463,6 +5913,12 @@
5463 "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", 5913 "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=",
5464 "dev": true 5914 "dev": true
5465 }, 5915 },
5916 "detect-newline": {
5917 "version": "2.1.0",
5918 "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz",
5919 "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=",
5920 "dev": true
5921 },
5466 "detect-node": { 5922 "detect-node": {
5467 "version": "2.0.4", 5923 "version": "2.0.4",
5468 "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", 5924 "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz",
@@ -5485,6 +5941,12 @@
5485 "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", 5941 "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==",
5486 "dev": true 5942 "dev": true
5487 }, 5943 },
5944 "diff-sequences": {
5945 "version": "24.3.0",
5946 "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.3.0.tgz",
5947 "integrity": "sha512-xLqpez+Zj9GKSnPWS0WZw1igGocZ+uua8+y+5dDNTT934N3QuY1sp2LkHzwiaYQGz60hMq0pjAshdeXm5VUOEw==",
5948 "dev": true
5949 },
5488 "diffie-hellman": { 5950 "diffie-hellman": {
5489 "version": "5.0.3", 5951 "version": "5.0.3",
5490 "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", 5952 "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
@@ -5600,6 +6062,15 @@
5600 "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", 6062 "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz",
5601 "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" 6063 "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w=="
5602 }, 6064 },
6065 "domexception": {
6066 "version": "1.0.1",
6067 "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz",
6068 "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==",
6069 "dev": true,
6070 "requires": {
6071 "webidl-conversions": "^4.0.2"
6072 }
6073 },
5603 "domhandler": { 6074 "domhandler": {
5604 "version": "2.4.2", 6075 "version": "2.4.2",
5605 "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", 6076 "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz",
@@ -6754,6 +7225,27 @@
6754 "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 7225 "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
6755 "dev": true 7226 "dev": true
6756 }, 7227 },
7228 "escodegen": {
7229 "version": "1.11.1",
7230 "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.11.1.tgz",
7231 "integrity": "sha512-JwiqFD9KdGVVpeuRa68yU3zZnBEOcPs0nKW7wZzXky8Z7tffdYUHbe11bPCV5jYlK6DVdKLWLm0f5I/QlL0Kmw==",
7232 "dev": true,
7233 "requires": {
7234 "esprima": "^3.1.3",
7235 "estraverse": "^4.2.0",
7236 "esutils": "^2.0.2",
7237 "optionator": "^0.8.1",
7238 "source-map": "~0.6.1"
7239 },
7240 "dependencies": {
7241 "esprima": {
7242 "version": "3.1.3",
7243 "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz",
7244 "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=",
7245 "dev": true
7246 }
7247 }
7248 },
6757 "eslint": { 7249 "eslint": {
6758 "version": "5.10.0", 7250 "version": "5.10.0",
6759 "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.10.0.tgz", 7251 "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.10.0.tgz",
@@ -7020,6 +7512,12 @@
7020 } 7512 }
7021 } 7513 }
7022 }, 7514 },
7515 "eslint-plugin-jest": {
7516 "version": "22.4.1",
7517 "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-22.4.1.tgz",
7518 "integrity": "sha512-gcLfn6P2PrFAVx3AobaOzlIEevpAEf9chTpFZz7bYfc7pz8XRv7vuKTIE4hxPKZSha6XWKKplDQ0x9Pq8xX2mg==",
7519 "dev": true
7520 },
7023 "eslint-plugin-jsx-a11y": { 7521 "eslint-plugin-jsx-a11y": {
7024 "version": "6.1.2", 7522 "version": "6.1.2",
7025 "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.1.2.tgz", 7523 "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.1.2.tgz",
@@ -7167,6 +7665,12 @@
7167 "safe-buffer": "^5.1.1" 7665 "safe-buffer": "^5.1.1"
7168 } 7666 }
7169 }, 7667 },
7668 "exec-sh": {
7669 "version": "0.3.2",
7670 "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.2.tgz",
7671 "integrity": "sha512-9sLAvzhI5nc8TpuQUh4ahMdCrWT00wPWz7j47/emR5+2qEfoZP5zzUXvx+vdx+H6ohhnsYC31iX04QLYJK8zTg==",
7672 "dev": true
7673 },
7170 "execa": { 7674 "execa": {
7171 "version": "1.0.0", 7675 "version": "1.0.0",
7172 "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", 7676 "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
@@ -7187,6 +7691,12 @@
7187 "resolved": "https://registry.npmjs.org/exenv/-/exenv-1.2.2.tgz", 7691 "resolved": "https://registry.npmjs.org/exenv/-/exenv-1.2.2.tgz",
7188 "integrity": "sha1-KueOhdmJQVhnCwPUe+wfA72Ru50=" 7692 "integrity": "sha1-KueOhdmJQVhnCwPUe+wfA72Ru50="
7189 }, 7693 },
7694 "exit": {
7695 "version": "0.1.2",
7696 "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
7697 "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
7698 "dev": true
7699 },
7190 "expand-brackets": { 7700 "expand-brackets": {
7191 "version": "2.1.4", 7701 "version": "2.1.4",
7192 "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", 7702 "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
@@ -7317,6 +7827,20 @@
7317 "homedir-polyfill": "^1.0.1" 7827 "homedir-polyfill": "^1.0.1"
7318 } 7828 }
7319 }, 7829 },
7830 "expect": {
7831 "version": "24.7.1",
7832 "resolved": "https://registry.npmjs.org/expect/-/expect-24.7.1.tgz",
7833 "integrity": "sha512-mGfvMTPduksV3xoI0xur56pQsg2vJjNf5+a+bXOjqCkiCBbmCayrBbHS/75y9K430cfqyocPr2ZjiNiRx4SRKw==",
7834 "dev": true,
7835 "requires": {
7836 "@jest/types": "^24.7.0",
7837 "ansi-styles": "^3.2.0",
7838 "jest-get-type": "^24.3.0",
7839 "jest-matcher-utils": "^24.7.0",
7840 "jest-message-util": "^24.7.1",
7841 "jest-regex-util": "^24.3.0"
7842 }
7843 },
7320 "expect.js": { 7844 "expect.js": {
7321 "version": "0.3.1", 7845 "version": "0.3.1",
7322 "resolved": "https://registry.npmjs.org/expect.js/-/expect.js-0.3.1.tgz", 7846 "resolved": "https://registry.npmjs.org/expect.js/-/expect.js-0.3.1.tgz",
@@ -7698,6 +8222,15 @@
7698 "websocket-driver": ">=0.5.1" 8222 "websocket-driver": ">=0.5.1"
7699 } 8223 }
7700 }, 8224 },
8225 "fb-watchman": {
8226 "version": "2.0.0",
8227 "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz",
8228 "integrity": "sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg=",
8229 "dev": true,
8230 "requires": {
8231 "bser": "^2.0.0"
8232 }
8233 },
7701 "fbjs": { 8234 "fbjs": {
7702 "version": "0.8.17", 8235 "version": "0.8.17",
7703 "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz", 8236 "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz",
@@ -7764,6 +8297,16 @@
7764 "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", 8297 "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=",
7765 "dev": true 8298 "dev": true
7766 }, 8299 },
8300 "fileset": {
8301 "version": "2.0.3",
8302 "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz",
8303 "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=",
8304 "dev": true,
8305 "requires": {
8306 "glob": "^7.0.3",
8307 "minimatch": "^3.0.3"
8308 }
8309 },
7767 "fill-range": { 8310 "fill-range": {
7768 "version": "4.0.0", 8311 "version": "4.0.0",
7769 "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", 8312 "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
@@ -8986,6 +9529,12 @@
8986 "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", 9529 "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==",
8987 "dev": true 9530 "dev": true
8988 }, 9531 },
9532 "growly": {
9533 "version": "1.3.0",
9534 "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz",
9535 "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=",
9536 "dev": true
9537 },
8989 "gulp": { 9538 "gulp": {
8990 "version": "4.0.0", 9539 "version": "4.0.0",
8991 "resolved": "https://registry.npmjs.org/gulp/-/gulp-4.0.0.tgz", 9540 "resolved": "https://registry.npmjs.org/gulp/-/gulp-4.0.0.tgz",
@@ -10290,6 +10839,15 @@
10290 "resolved": "https://registry.npmjs.org/html-element-attributes/-/html-element-attributes-1.3.1.tgz", 10839 "resolved": "https://registry.npmjs.org/html-element-attributes/-/html-element-attributes-1.3.1.tgz",
10291 "integrity": "sha512-UrRKgp5sQmRnDy4TEwAUsu14XBUlzKB8U3hjIYDjcZ3Hbp86Jtftzxfgrv6E/ii/h78tsaZwAnAE8HwnHr0dPA==" 10840 "integrity": "sha512-UrRKgp5sQmRnDy4TEwAUsu14XBUlzKB8U3hjIYDjcZ3Hbp86Jtftzxfgrv6E/ii/h78tsaZwAnAE8HwnHr0dPA=="
10292 }, 10841 },
10842 "html-encoding-sniffer": {
10843 "version": "1.0.2",
10844 "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz",
10845 "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==",
10846 "dev": true,
10847 "requires": {
10848 "whatwg-encoding": "^1.0.1"
10849 }
10850 },
10293 "html-entities": { 10851 "html-entities": {
10294 "version": "1.2.1", 10852 "version": "1.2.1",
10295 "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz", 10853 "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz",
@@ -10974,6 +11532,12 @@
10974 "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz", 11532 "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz",
10975 "integrity": "sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU=" 11533 "integrity": "sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU="
10976 }, 11534 },
11535 "is-generator-fn": {
11536 "version": "2.1.0",
11537 "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz",
11538 "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==",
11539 "dev": true
11540 },
10977 "is-glob": { 11541 "is-glob": {
10978 "version": "4.0.0", 11542 "version": "4.0.0",
10979 "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", 11543 "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
@@ -11238,6 +11802,665 @@
11238 "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", 11802 "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
11239 "dev": true 11803 "dev": true
11240 }, 11804 },
11805 "istanbul-api": {
11806 "version": "2.1.4",
11807 "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-2.1.4.tgz",
11808 "integrity": "sha512-aAFQL0HA2BLUl18XmTQ7H7CGKI58DtZFvvfmg6e+rA3iNFergvpi16czLV4CpI7HOImMeZ5mqI62dvSNVtUQVA==",
11809 "dev": true,
11810 "requires": {
11811 "async": "^2.6.1",
11812 "compare-versions": "^3.2.1",
11813 "fileset": "^2.0.3",
11814 "istanbul-lib-coverage": "^2.0.4",
11815 "istanbul-lib-hook": "^2.0.6",
11816 "istanbul-lib-instrument": "^3.2.0",
11817 "istanbul-lib-report": "^2.0.7",
11818 "istanbul-lib-source-maps": "^3.0.5",
11819 "istanbul-reports": "^2.2.2",
11820 "js-yaml": "^3.13.0",
11821 "make-dir": "^2.1.0",
11822 "minimatch": "^3.0.4",
11823 "once": "^1.4.0"
11824 },
11825 "dependencies": {
11826 "async": {
11827 "version": "2.6.2",
11828 "resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz",
11829 "integrity": "sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==",
11830 "dev": true,
11831 "requires": {
11832 "lodash": "^4.17.11"
11833 }
11834 },
11835 "js-yaml": {
11836 "version": "3.13.1",
11837 "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
11838 "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
11839 "dev": true,
11840 "requires": {
11841 "argparse": "^1.0.7",
11842 "esprima": "^4.0.0"
11843 }
11844 },
11845 "make-dir": {
11846 "version": "2.1.0",
11847 "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
11848 "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
11849 "dev": true,
11850 "requires": {
11851 "pify": "^4.0.1",
11852 "semver": "^5.6.0"
11853 }
11854 },
11855 "pify": {
11856 "version": "4.0.1",
11857 "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
11858 "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
11859 "dev": true
11860 }
11861 }
11862 },
11863 "istanbul-lib-coverage": {
11864 "version": "2.0.4",
11865 "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz",
11866 "integrity": "sha512-LXTBICkMARVgo579kWDm8SqfB6nvSDKNqIOBEjmJRnL04JvoMHCYGWaMddQnseJYtkEuEvO/sIcOxPLk9gERug==",
11867 "dev": true
11868 },
11869 "istanbul-lib-hook": {
11870 "version": "2.0.6",
11871 "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-2.0.6.tgz",
11872 "integrity": "sha512-829DKONApZ7UCiPXcOYWSgkFXa4+vNYoNOt3F+4uDJLKL1OotAoVwvThoEj1i8jmOj7odbYcR3rnaHu+QroaXg==",
11873 "dev": true,
11874 "requires": {
11875 "append-transform": "^1.0.0"
11876 }
11877 },
11878 "istanbul-lib-instrument": {
11879 "version": "3.2.0",
11880 "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.2.0.tgz",
11881 "integrity": "sha512-06IM3xShbNW4NgZv5AP4QH0oHqf1/ivFo8eFys0ZjPXHGldHJQWb3riYOKXqmOqfxXBfxu4B+g/iuhOPZH0RJg==",
11882 "dev": true,
11883 "requires": {
11884 "@babel/generator": "^7.0.0",
11885 "@babel/parser": "^7.0.0",
11886 "@babel/template": "^7.0.0",
11887 "@babel/traverse": "^7.0.0",
11888 "@babel/types": "^7.0.0",
11889 "istanbul-lib-coverage": "^2.0.4",
11890 "semver": "^6.0.0"
11891 },
11892 "dependencies": {
11893 "semver": {
11894 "version": "6.0.0",
11895 "resolved": "https://registry.npmjs.org/semver/-/semver-6.0.0.tgz",
11896 "integrity": "sha512-0UewU+9rFapKFnlbirLi3byoOuhrSsli/z/ihNnvM24vgF+8sNBiI1LZPBSH9wJKUwaUbw+s3hToDLCXkrghrQ==",
11897 "dev": true
11898 }
11899 }
11900 },
11901 "istanbul-lib-report": {
11902 "version": "2.0.7",
11903 "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.7.tgz",
11904 "integrity": "sha512-wLH6beJBFbRBLiTlMOBxmb85cnVM1Vyl36N48e4e/aTKSM3WbOx7zbVIH1SQ537fhhsPbX0/C5JB4qsmyRXXyA==",
11905 "dev": true,
11906 "requires": {
11907 "istanbul-lib-coverage": "^2.0.4",
11908 "make-dir": "^2.1.0",
11909 "supports-color": "^6.0.0"
11910 },
11911 "dependencies": {
11912 "make-dir": {
11913 "version": "2.1.0",
11914 "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
11915 "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
11916 "dev": true,
11917 "requires": {
11918 "pify": "^4.0.1",
11919 "semver": "^5.6.0"
11920 }
11921 },
11922 "pify": {
11923 "version": "4.0.1",
11924 "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
11925 "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
11926 "dev": true
11927 },
11928 "supports-color": {
11929 "version": "6.1.0",
11930 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
11931 "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
11932 "dev": true,
11933 "requires": {
11934 "has-flag": "^3.0.0"
11935 }
11936 }
11937 }
11938 },
11939 "istanbul-lib-source-maps": {
11940 "version": "3.0.5",
11941 "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.5.tgz",
11942 "integrity": "sha512-eDhZ7r6r1d1zQPVZehLc3D0K14vRba/eBYkz3rw16DLOrrTzve9RmnkcwrrkWVgO1FL3EK5knujVe5S8QHE9xw==",
11943 "dev": true,
11944 "requires": {
11945 "debug": "^4.1.1",
11946 "istanbul-lib-coverage": "^2.0.4",
11947 "make-dir": "^2.1.0",
11948 "rimraf": "^2.6.2",
11949 "source-map": "^0.6.1"
11950 },
11951 "dependencies": {
11952 "debug": {
11953 "version": "4.1.1",
11954 "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
11955 "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
11956 "dev": true,
11957 "requires": {
11958 "ms": "^2.1.1"
11959 }
11960 },
11961 "make-dir": {
11962 "version": "2.1.0",
11963 "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
11964 "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
11965 "dev": true,
11966 "requires": {
11967 "pify": "^4.0.1",
11968 "semver": "^5.6.0"
11969 }
11970 },
11971 "pify": {
11972 "version": "4.0.1",
11973 "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
11974 "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
11975 "dev": true
11976 }
11977 }
11978 },
11979 "istanbul-reports": {
11980 "version": "2.2.2",
11981 "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.2.tgz",
11982 "integrity": "sha512-ZFuTdBQ3PSaPnm02aEA4R6mzQ2AF9w03CYiXADzWbbE48v/EFOWF4MaX4FT0NRdqIk48I7o0RPi+S8TMswaCbQ==",
11983 "dev": true,
11984 "requires": {
11985 "handlebars": "^4.1.0"
11986 }
11987 },
11988 "jest": {
11989 "version": "24.7.1",
11990 "resolved": "https://registry.npmjs.org/jest/-/jest-24.7.1.tgz",
11991 "integrity": "sha512-AbvRar5r++izmqo5gdbAjTeA6uNRGoNRuj5vHB0OnDXo2DXWZJVuaObiGgtlvhKb+cWy2oYbQSfxv7Q7GjnAtA==",
11992 "dev": true,
11993 "requires": {
11994 "import-local": "^2.0.0",
11995 "jest-cli": "^24.7.1"
11996 },
11997 "dependencies": {
11998 "import-local": {
11999 "version": "2.0.0",
12000 "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz",
12001 "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==",
12002 "dev": true,
12003 "requires": {
12004 "pkg-dir": "^3.0.0",
12005 "resolve-cwd": "^2.0.0"
12006 }
12007 },
12008 "jest-cli": {
12009 "version": "24.7.1",
12010 "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-24.7.1.tgz",
12011 "integrity": "sha512-32OBoSCVPzcTslGFl6yVCMzB2SqX3IrWwZCY5mZYkb0D2WsogmU3eV2o8z7+gRQa4o4sZPX/k7GU+II7CxM6WQ==",
12012 "dev": true,
12013 "requires": {
12014 "@jest/core": "^24.7.1",
12015 "@jest/test-result": "^24.7.1",
12016 "@jest/types": "^24.7.0",
12017 "chalk": "^2.0.1",
12018 "exit": "^0.1.2",
12019 "import-local": "^2.0.0",
12020 "is-ci": "^2.0.0",
12021 "jest-config": "^24.7.1",
12022 "jest-util": "^24.7.1",
12023 "jest-validate": "^24.7.0",
12024 "prompts": "^2.0.1",
12025 "realpath-native": "^1.1.0",
12026 "yargs": "^12.0.2"
12027 }
12028 },
12029 "pkg-dir": {
12030 "version": "3.0.0",
12031 "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
12032 "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
12033 "dev": true,
12034 "requires": {
12035 "find-up": "^3.0.0"
12036 }
12037 }
12038 }
12039 },
12040 "jest-changed-files": {
12041 "version": "24.7.0",
12042 "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-24.7.0.tgz",
12043 "integrity": "sha512-33BgewurnwSfJrW7T5/ZAXGE44o7swLslwh8aUckzq2e17/2Os1V0QU506ZNik3hjs8MgnEMKNkcud442NCDTw==",
12044 "dev": true,
12045 "requires": {
12046 "@jest/types": "^24.7.0",
12047 "execa": "^1.0.0",
12048 "throat": "^4.0.0"
12049 }
12050 },
12051 "jest-config": {
12052 "version": "24.7.1",
12053 "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-24.7.1.tgz",
12054 "integrity": "sha512-8FlJNLI+X+MU37j7j8RE4DnJkvAghXmBWdArVzypW6WxfGuxiL/CCkzBg0gHtXhD2rxla3IMOSUAHylSKYJ83g==",
12055 "dev": true,
12056 "requires": {
12057 "@babel/core": "^7.1.0",
12058 "@jest/test-sequencer": "^24.7.1",
12059 "@jest/types": "^24.7.0",
12060 "babel-jest": "^24.7.1",
12061 "chalk": "^2.0.1",
12062 "glob": "^7.1.1",
12063 "jest-environment-jsdom": "^24.7.1",
12064 "jest-environment-node": "^24.7.1",
12065 "jest-get-type": "^24.3.0",
12066 "jest-jasmine2": "^24.7.1",
12067 "jest-regex-util": "^24.3.0",
12068 "jest-resolve": "^24.7.1",
12069 "jest-util": "^24.7.1",
12070 "jest-validate": "^24.7.0",
12071 "micromatch": "^3.1.10",
12072 "pretty-format": "^24.7.0",
12073 "realpath-native": "^1.1.0"
12074 }
12075 },
12076 "jest-diff": {
12077 "version": "24.7.0",
12078 "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.7.0.tgz",
12079 "integrity": "sha512-ULQZ5B1lWpH70O4xsANC4tf4Ko6RrpwhE3PtG6ERjMg1TiYTC2Wp4IntJVGro6a8HG9luYHhhmF4grF0Pltckg==",
12080 "dev": true,
12081 "requires": {
12082 "chalk": "^2.0.1",
12083 "diff-sequences": "^24.3.0",
12084 "jest-get-type": "^24.3.0",
12085 "pretty-format": "^24.7.0"
12086 }
12087 },
12088 "jest-docblock": {
12089 "version": "24.3.0",
12090 "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-24.3.0.tgz",
12091 "integrity": "sha512-nlANmF9Yq1dufhFlKG9rasfQlrY7wINJbo3q01tu56Jv5eBU5jirylhF2O5ZBnLxzOVBGRDz/9NAwNyBtG4Nyg==",
12092 "dev": true,
12093 "requires": {
12094 "detect-newline": "^2.1.0"
12095 }
12096 },
12097 "jest-each": {
12098 "version": "24.7.1",
12099 "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-24.7.1.tgz",
12100 "integrity": "sha512-4fsS8fEfLa3lfnI1Jw6NxjhyRTgfpuOVTeUZZFyVYqeTa4hPhr2YkToUhouuLTrL2eMGOfpbdMyRx0GQ/VooKA==",
12101 "dev": true,
12102 "requires": {
12103 "@jest/types": "^24.7.0",
12104 "chalk": "^2.0.1",
12105 "jest-get-type": "^24.3.0",
12106 "jest-util": "^24.7.1",
12107 "pretty-format": "^24.7.0"
12108 }
12109 },
12110 "jest-environment-jsdom": {
12111 "version": "24.7.1",
12112 "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-24.7.1.tgz",
12113 "integrity": "sha512-Gnhb+RqE2JuQGb3kJsLF8vfqjt3PHKSstq4Xc8ic+ax7QKo4Z0RWGucU3YV+DwKR3T9SYc+3YCUQEJs8r7+Jxg==",
12114 "dev": true,
12115 "requires": {
12116 "@jest/environment": "^24.7.1",
12117 "@jest/fake-timers": "^24.7.1",
12118 "@jest/types": "^24.7.0",
12119 "jest-mock": "^24.7.0",
12120 "jest-util": "^24.7.1",
12121 "jsdom": "^11.5.1"
12122 }
12123 },
12124 "jest-environment-node": {
12125 "version": "24.7.1",
12126 "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-24.7.1.tgz",
12127 "integrity": "sha512-GJJQt1p9/C6aj6yNZMvovZuxTUd+BEJprETdvTKSb4kHcw4mFj8777USQV0FJoJ4V3djpOwA5eWyPwfq//PFBA==",
12128 "dev": true,
12129 "requires": {
12130 "@jest/environment": "^24.7.1",
12131 "@jest/fake-timers": "^24.7.1",
12132 "@jest/types": "^24.7.0",
12133 "jest-mock": "^24.7.0",
12134 "jest-util": "^24.7.1"
12135 }
12136 },
12137 "jest-get-type": {
12138 "version": "24.3.0",
12139 "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.3.0.tgz",
12140 "integrity": "sha512-HYF6pry72YUlVcvUx3sEpMRwXEWGEPlJ0bSPVnB3b3n++j4phUEoSPcS6GC0pPJ9rpyPSe4cb5muFo6D39cXow==",
12141 "dev": true
12142 },
12143 "jest-haste-map": {
12144 "version": "24.7.1",
12145 "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-24.7.1.tgz",
12146 "integrity": "sha512-g0tWkzjpHD2qa03mTKhlydbmmYiA2KdcJe762SbfFo/7NIMgBWAA0XqQlApPwkWOF7Cxoi/gUqL0i6DIoLpMBw==",
12147 "dev": true,
12148 "requires": {
12149 "@jest/types": "^24.7.0",
12150 "anymatch": "^2.0.0",
12151 "fb-watchman": "^2.0.0",
12152 "fsevents": "^1.2.7",
12153 "graceful-fs": "^4.1.15",
12154 "invariant": "^2.2.4",
12155 "jest-serializer": "^24.4.0",
12156 "jest-util": "^24.7.1",
12157 "jest-worker": "^24.6.0",
12158 "micromatch": "^3.1.10",
12159 "sane": "^4.0.3",
12160 "walker": "^1.0.7"
12161 }
12162 },
12163 "jest-jasmine2": {
12164 "version": "24.7.1",
12165 "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-24.7.1.tgz",
12166 "integrity": "sha512-Y/9AOJDV1XS44wNwCaThq4Pw3gBPiOv/s6NcbOAkVRRUEPu+36L2xoPsqQXsDrxoBerqeyslpn2TpCI8Zr6J2w==",
12167 "dev": true,
12168 "requires": {
12169 "@babel/traverse": "^7.1.0",
12170 "@jest/environment": "^24.7.1",
12171 "@jest/test-result": "^24.7.1",
12172 "@jest/types": "^24.7.0",
12173 "chalk": "^2.0.1",
12174 "co": "^4.6.0",
12175 "expect": "^24.7.1",
12176 "is-generator-fn": "^2.0.0",
12177 "jest-each": "^24.7.1",
12178 "jest-matcher-utils": "^24.7.0",
12179 "jest-message-util": "^24.7.1",
12180 "jest-runtime": "^24.7.1",
12181 "jest-snapshot": "^24.7.1",
12182 "jest-util": "^24.7.1",
12183 "pretty-format": "^24.7.0",
12184 "throat": "^4.0.0"
12185 }
12186 },
12187 "jest-leak-detector": {
12188 "version": "24.7.0",
12189 "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-24.7.0.tgz",
12190 "integrity": "sha512-zV0qHKZGXtmPVVzT99CVEcHE9XDf+8LwiE0Ob7jjezERiGVljmqKFWpV2IkG+rkFIEUHFEkMiICu7wnoPM/RoQ==",
12191 "dev": true,
12192 "requires": {
12193 "pretty-format": "^24.7.0"
12194 }
12195 },
12196 "jest-matcher-utils": {
12197 "version": "24.7.0",
12198 "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.7.0.tgz",
12199 "integrity": "sha512-158ieSgk3LNXeUhbVJYRXyTPSCqNgVXOp/GT7O94mYd3pk/8+odKTyR1JLtNOQSPzNi8NFYVONtvSWA/e1RDXg==",
12200 "dev": true,
12201 "requires": {
12202 "chalk": "^2.0.1",
12203 "jest-diff": "^24.7.0",
12204 "jest-get-type": "^24.3.0",
12205 "pretty-format": "^24.7.0"
12206 }
12207 },
12208 "jest-message-util": {
12209 "version": "24.7.1",
12210 "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.7.1.tgz",
12211 "integrity": "sha512-dk0gqVtyqezCHbcbk60CdIf+8UHgD+lmRHifeH3JRcnAqh4nEyPytSc9/L1+cQyxC+ceaeP696N4ATe7L+omcg==",
12212 "dev": true,
12213 "requires": {
12214 "@babel/code-frame": "^7.0.0",
12215 "@jest/test-result": "^24.7.1",
12216 "@jest/types": "^24.7.0",
12217 "@types/stack-utils": "^1.0.1",
12218 "chalk": "^2.0.1",
12219 "micromatch": "^3.1.10",
12220 "slash": "^2.0.0",
12221 "stack-utils": "^1.0.1"
12222 }
12223 },
12224 "jest-mock": {
12225 "version": "24.7.0",
12226 "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-24.7.0.tgz",
12227 "integrity": "sha512-6taW4B4WUcEiT2V9BbOmwyGuwuAFT2G8yghF7nyNW1/2gq5+6aTqSPcS9lS6ArvEkX55vbPAS/Jarx5LSm4Fng==",
12228 "dev": true,
12229 "requires": {
12230 "@jest/types": "^24.7.0"
12231 }
12232 },
12233 "jest-pnp-resolver": {
12234 "version": "1.2.1",
12235 "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz",
12236 "integrity": "sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ==",
12237 "dev": true
12238 },
12239 "jest-regex-util": {
12240 "version": "24.3.0",
12241 "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.3.0.tgz",
12242 "integrity": "sha512-tXQR1NEOyGlfylyEjg1ImtScwMq8Oh3iJbGTjN7p0J23EuVX1MA8rwU69K4sLbCmwzgCUbVkm0FkSF9TdzOhtg==",
12243 "dev": true
12244 },
12245 "jest-resolve": {
12246 "version": "24.7.1",
12247 "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.7.1.tgz",
12248 "integrity": "sha512-Bgrc+/UUZpGJ4323sQyj85hV9d+ANyPNu6XfRDUcyFNX1QrZpSoM0kE4Mb2vZMAYTJZsBFzYe8X1UaOkOELSbw==",
12249 "dev": true,
12250 "requires": {
12251 "@jest/types": "^24.7.0",
12252 "browser-resolve": "^1.11.3",
12253 "chalk": "^2.0.1",
12254 "jest-pnp-resolver": "^1.2.1",
12255 "realpath-native": "^1.1.0"
12256 }
12257 },
12258 "jest-resolve-dependencies": {
12259 "version": "24.7.1",
12260 "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-24.7.1.tgz",
12261 "integrity": "sha512-2Eyh5LJB2liNzfk4eo7bD1ZyBbqEJIyyrFtZG555cSWW9xVHxII2NuOkSl1yUYTAYCAmM2f2aIT5A7HzNmubyg==",
12262 "dev": true,
12263 "requires": {
12264 "@jest/types": "^24.7.0",
12265 "jest-regex-util": "^24.3.0",
12266 "jest-snapshot": "^24.7.1"
12267 }
12268 },
12269 "jest-runner": {
12270 "version": "24.7.1",
12271 "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-24.7.1.tgz",
12272 "integrity": "sha512-aNFc9liWU/xt+G9pobdKZ4qTeG/wnJrJna3VqunziDNsWT3EBpmxXZRBMKCsNMyfy+A/XHiV+tsMLufdsNdgCw==",
12273 "dev": true,
12274 "requires": {
12275 "@jest/console": "^24.7.1",
12276 "@jest/environment": "^24.7.1",
12277 "@jest/test-result": "^24.7.1",
12278 "@jest/types": "^24.7.0",
12279 "chalk": "^2.4.2",
12280 "exit": "^0.1.2",
12281 "graceful-fs": "^4.1.15",
12282 "jest-config": "^24.7.1",
12283 "jest-docblock": "^24.3.0",
12284 "jest-haste-map": "^24.7.1",
12285 "jest-jasmine2": "^24.7.1",
12286 "jest-leak-detector": "^24.7.0",
12287 "jest-message-util": "^24.7.1",
12288 "jest-resolve": "^24.7.1",
12289 "jest-runtime": "^24.7.1",
12290 "jest-util": "^24.7.1",
12291 "jest-worker": "^24.6.0",
12292 "source-map-support": "^0.5.6",
12293 "throat": "^4.0.0"
12294 }
12295 },
12296 "jest-runtime": {
12297 "version": "24.7.1",
12298 "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-24.7.1.tgz",
12299 "integrity": "sha512-0VAbyBy7tll3R+82IPJpf6QZkokzXPIS71aDeqh+WzPRXRCNz6StQ45otFariPdJ4FmXpDiArdhZrzNAC3sj6A==",
12300 "dev": true,
12301 "requires": {
12302 "@jest/console": "^24.7.1",
12303 "@jest/environment": "^24.7.1",
12304 "@jest/source-map": "^24.3.0",
12305 "@jest/transform": "^24.7.1",
12306 "@jest/types": "^24.7.0",
12307 "@types/yargs": "^12.0.2",
12308 "chalk": "^2.0.1",
12309 "exit": "^0.1.2",
12310 "glob": "^7.1.3",
12311 "graceful-fs": "^4.1.15",
12312 "jest-config": "^24.7.1",
12313 "jest-haste-map": "^24.7.1",
12314 "jest-message-util": "^24.7.1",
12315 "jest-mock": "^24.7.0",
12316 "jest-regex-util": "^24.3.0",
12317 "jest-resolve": "^24.7.1",
12318 "jest-snapshot": "^24.7.1",
12319 "jest-util": "^24.7.1",
12320 "jest-validate": "^24.7.0",
12321 "realpath-native": "^1.1.0",
12322 "slash": "^2.0.0",
12323 "strip-bom": "^3.0.0",
12324 "yargs": "^12.0.2"
12325 }
12326 },
12327 "jest-serializer": {
12328 "version": "24.4.0",
12329 "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-24.4.0.tgz",
12330 "integrity": "sha512-k//0DtglVstc1fv+GY/VHDIjrtNjdYvYjMlbLUed4kxrE92sIUewOi5Hj3vrpB8CXfkJntRPDRjCrCvUhBdL8Q==",
12331 "dev": true
12332 },
12333 "jest-snapshot": {
12334 "version": "24.7.1",
12335 "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-24.7.1.tgz",
12336 "integrity": "sha512-8Xk5O4p+JsZZn4RCNUS3pxA+ORKpEKepE+a5ejIKrId9CwrVN0NY+vkqEkXqlstA5NMBkNahXkR/4qEBy0t5yA==",
12337 "dev": true,
12338 "requires": {
12339 "@babel/types": "^7.0.0",
12340 "@jest/types": "^24.7.0",
12341 "chalk": "^2.0.1",
12342 "expect": "^24.7.1",
12343 "jest-diff": "^24.7.0",
12344 "jest-matcher-utils": "^24.7.0",
12345 "jest-message-util": "^24.7.1",
12346 "jest-resolve": "^24.7.1",
12347 "mkdirp": "^0.5.1",
12348 "natural-compare": "^1.4.0",
12349 "pretty-format": "^24.7.0",
12350 "semver": "^5.5.0"
12351 }
12352 },
12353 "jest-util": {
12354 "version": "24.7.1",
12355 "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-24.7.1.tgz",
12356 "integrity": "sha512-/KilOue2n2rZ5AnEBYoxOXkeTu6vi7cjgQ8MXEkih0oeAXT6JkS3fr7/j8+engCjciOU1Nq5loMSKe0A1oeX0A==",
12357 "dev": true,
12358 "requires": {
12359 "@jest/console": "^24.7.1",
12360 "@jest/fake-timers": "^24.7.1",
12361 "@jest/source-map": "^24.3.0",
12362 "@jest/test-result": "^24.7.1",
12363 "@jest/types": "^24.7.0",
12364 "callsites": "^3.0.0",
12365 "chalk": "^2.0.1",
12366 "graceful-fs": "^4.1.15",
12367 "is-ci": "^2.0.0",
12368 "mkdirp": "^0.5.1",
12369 "slash": "^2.0.0",
12370 "source-map": "^0.6.0"
12371 },
12372 "dependencies": {
12373 "callsites": {
12374 "version": "3.1.0",
12375 "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
12376 "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
12377 "dev": true
12378 }
12379 }
12380 },
12381 "jest-validate": {
12382 "version": "24.7.0",
12383 "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-24.7.0.tgz",
12384 "integrity": "sha512-cgai/gts9B2chz1rqVdmLhzYxQbgQurh1PEQSvSgPZ8KGa1AqXsqC45W5wKEwzxKrWqypuQrQxnF4+G9VejJJA==",
12385 "dev": true,
12386 "requires": {
12387 "@jest/types": "^24.7.0",
12388 "camelcase": "^5.0.0",
12389 "chalk": "^2.0.1",
12390 "jest-get-type": "^24.3.0",
12391 "leven": "^2.1.0",
12392 "pretty-format": "^24.7.0"
12393 }
12394 },
12395 "jest-watcher": {
12396 "version": "24.7.1",
12397 "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-24.7.1.tgz",
12398 "integrity": "sha512-Wd6TepHLRHVKLNPacEsBwlp9raeBIO+01xrN24Dek4ggTS8HHnOzYSFnvp+6MtkkJ3KfMzy220KTi95e2rRkrw==",
12399 "dev": true,
12400 "requires": {
12401 "@jest/test-result": "^24.7.1",
12402 "@jest/types": "^24.7.0",
12403 "@types/yargs": "^12.0.9",
12404 "ansi-escapes": "^3.0.0",
12405 "chalk": "^2.0.1",
12406 "jest-util": "^24.7.1",
12407 "string-length": "^2.0.0"
12408 }
12409 },
12410 "jest-worker": {
12411 "version": "24.6.0",
12412 "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.6.0.tgz",
12413 "integrity": "sha512-jDwgW5W9qGNvpI1tNnvajh0a5IE/PuGLFmHk6aR/BZFz8tSgGw17GsDPXAJ6p91IvYDjOw8GpFbvvZGAK+DPQQ==",
12414 "dev": true,
12415 "requires": {
12416 "merge-stream": "^1.0.1",
12417 "supports-color": "^6.1.0"
12418 },
12419 "dependencies": {
12420 "merge-stream": {
12421 "version": "1.0.1",
12422 "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz",
12423 "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=",
12424 "dev": true,
12425 "requires": {
12426 "readable-stream": "^2.0.1"
12427 }
12428 },
12429 "readable-stream": {
12430 "version": "2.3.6",
12431 "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
12432 "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
12433 "dev": true,
12434 "requires": {
12435 "core-util-is": "~1.0.0",
12436 "inherits": "~2.0.3",
12437 "isarray": "~1.0.0",
12438 "process-nextick-args": "~2.0.0",
12439 "safe-buffer": "~5.1.1",
12440 "string_decoder": "~1.1.1",
12441 "util-deprecate": "~1.0.1"
12442 }
12443 },
12444 "string_decoder": {
12445 "version": "1.1.1",
12446 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
12447 "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
12448 "dev": true,
12449 "requires": {
12450 "safe-buffer": "~5.1.0"
12451 }
12452 },
12453 "supports-color": {
12454 "version": "6.1.0",
12455 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
12456 "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
12457 "dev": true,
12458 "requires": {
12459 "has-flag": "^3.0.0"
12460 }
12461 }
12462 }
12463 },
11241 "js-base64": { 12464 "js-base64": {
11242 "version": "2.5.1", 12465 "version": "2.5.1",
11243 "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.1.tgz", 12466 "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.1.tgz",
@@ -11270,6 +12493,68 @@
11270 "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", 12493 "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
11271 "dev": true 12494 "dev": true
11272 }, 12495 },
12496 "jsdom": {
12497 "version": "11.12.0",
12498 "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz",
12499 "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==",
12500 "dev": true,
12501 "requires": {
12502 "abab": "^2.0.0",
12503 "acorn": "^5.5.3",
12504 "acorn-globals": "^4.1.0",
12505 "array-equal": "^1.0.0",
12506 "cssom": ">= 0.3.2 < 0.4.0",
12507 "cssstyle": "^1.0.0",
12508 "data-urls": "^1.0.0",
12509 "domexception": "^1.0.1",
12510 "escodegen": "^1.9.1",
12511 "html-encoding-sniffer": "^1.0.2",
12512 "left-pad": "^1.3.0",
12513 "nwsapi": "^2.0.7",
12514 "parse5": "4.0.0",
12515 "pn": "^1.1.0",
12516 "request": "^2.87.0",
12517 "request-promise-native": "^1.0.5",
12518 "sax": "^1.2.4",
12519 "symbol-tree": "^3.2.2",
12520 "tough-cookie": "^2.3.4",
12521 "w3c-hr-time": "^1.0.1",
12522 "webidl-conversions": "^4.0.2",
12523 "whatwg-encoding": "^1.0.3",
12524 "whatwg-mimetype": "^2.1.0",
12525 "whatwg-url": "^6.4.1",
12526 "ws": "^5.2.0",
12527 "xml-name-validator": "^3.0.0"
12528 },
12529 "dependencies": {
12530 "acorn": {
12531 "version": "5.7.3",
12532 "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz",
12533 "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==",
12534 "dev": true
12535 },
12536 "whatwg-url": {
12537 "version": "6.5.0",
12538 "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz",
12539 "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==",
12540 "dev": true,
12541 "requires": {
12542 "lodash.sortby": "^4.7.0",
12543 "tr46": "^1.0.1",
12544 "webidl-conversions": "^4.0.2"
12545 }
12546 },
12547 "ws": {
12548 "version": "5.2.2",
12549 "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz",
12550 "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==",
12551 "dev": true,
12552 "requires": {
12553 "async-limiter": "~1.0.0"
12554 }
12555 }
12556 }
12557 },
11273 "jsesc": { 12558 "jsesc": {
11274 "version": "2.5.2", 12559 "version": "2.5.2",
11275 "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", 12560 "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
@@ -11526,6 +12811,12 @@
11526 "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", 12811 "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
11527 "dev": true 12812 "dev": true
11528 }, 12813 },
12814 "kleur": {
12815 "version": "3.0.3",
12816 "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz",
12817 "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==",
12818 "dev": true
12819 },
11529 "last-run": { 12820 "last-run": {
11530 "version": "1.1.1", 12821 "version": "1.1.1",
11531 "resolved": "https://registry.npmjs.org/last-run/-/last-run-1.1.1.tgz", 12822 "resolved": "https://registry.npmjs.org/last-run/-/last-run-1.1.1.tgz",
@@ -11603,6 +12894,12 @@
11603 "flush-write-stream": "^1.0.2" 12894 "flush-write-stream": "^1.0.2"
11604 } 12895 }
11605 }, 12896 },
12897 "left-pad": {
12898 "version": "1.3.0",
12899 "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz",
12900 "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==",
12901 "dev": true
12902 },
11606 "lerna": { 12903 "lerna": {
11607 "version": "3.11.1", 12904 "version": "3.11.1",
11608 "resolved": "https://registry.npmjs.org/lerna/-/lerna-3.11.1.tgz", 12905 "resolved": "https://registry.npmjs.org/lerna/-/lerna-3.11.1.tgz",
@@ -11628,6 +12925,12 @@
11628 "npmlog": "^4.1.2" 12925 "npmlog": "^4.1.2"
11629 } 12926 }
11630 }, 12927 },
12928 "leven": {
12929 "version": "2.1.0",
12930 "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz",
12931 "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=",
12932 "dev": true
12933 },
11631 "levn": { 12934 "levn": {
11632 "version": "0.3.0", 12935 "version": "0.3.0",
11633 "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", 12936 "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
@@ -12142,6 +13445,15 @@
12142 "kind-of": "^6.0.2" 13445 "kind-of": "^6.0.2"
12143 } 13446 }
12144 }, 13447 },
13448 "makeerror": {
13449 "version": "1.0.11",
13450 "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz",
13451 "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=",
13452 "dev": true,
13453 "requires": {
13454 "tmpl": "1.0.x"
13455 }
13456 },
12145 "map-age-cleaner": { 13457 "map-age-cleaner": {
12146 "version": "0.1.3", 13458 "version": "0.1.3",
12147 "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", 13459 "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz",
@@ -12872,6 +14184,12 @@
12872 } 14184 }
12873 } 14185 }
12874 }, 14186 },
14187 "node-int64": {
14188 "version": "0.4.0",
14189 "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
14190 "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=",
14191 "dev": true
14192 },
12875 "node-libs-browser": { 14193 "node-libs-browser": {
12876 "version": "2.2.0", 14194 "version": "2.2.0",
12877 "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.0.tgz", 14195 "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.0.tgz",
@@ -12943,6 +14261,19 @@
12943 "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", 14261 "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=",
12944 "dev": true 14262 "dev": true
12945 }, 14263 },
14264 "node-notifier": {
14265 "version": "5.4.0",
14266 "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.0.tgz",
14267 "integrity": "sha512-SUDEb+o71XR5lXSTyivXd9J7fCloE3SyP4lSgt3lU2oSANiox+SxlNRGPjDKrwU1YN3ix2KN/VGGCg0t01rttQ==",
14268 "dev": true,
14269 "requires": {
14270 "growly": "^1.3.0",
14271 "is-wsl": "^1.1.0",
14272 "semver": "^5.5.0",
14273 "shellwords": "^0.1.1",
14274 "which": "^1.3.0"
14275 }
14276 },
12946 "node-pre-gyp": { 14277 "node-pre-gyp": {
12947 "version": "0.10.3", 14278 "version": "0.10.3",
12948 "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.10.3.tgz", 14279 "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.10.3.tgz",
@@ -13589,6 +14920,12 @@
13589 "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", 14920 "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
13590 "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" 14921 "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
13591 }, 14922 },
14923 "nwsapi": {
14924 "version": "2.1.3",
14925 "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.1.3.tgz",
14926 "integrity": "sha512-RowAaJGEgYXEZfQ7tvvdtAQUKPyTR6T6wNu0fwlNsGQYr/h3yQc6oI8WnVZh3Y/Sylwc+dtAlvPqfFZjhTyk3A==",
14927 "dev": true
14928 },
13592 "oauth-sign": { 14929 "oauth-sign": {
13593 "version": "0.9.0", 14930 "version": "0.9.0",
13594 "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", 14931 "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
@@ -14000,6 +15337,15 @@
14000 "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", 15337 "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=",
14001 "dev": true 15338 "dev": true
14002 }, 15339 },
15340 "p-each-series": {
15341 "version": "1.0.0",
15342 "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-1.0.0.tgz",
15343 "integrity": "sha1-kw89Et0fUOdDRFeiLNbwSsatf3E=",
15344 "dev": true,
15345 "requires": {
15346 "p-reduce": "^1.0.0"
15347 }
15348 },
14003 "p-finally": { 15349 "p-finally": {
14004 "version": "1.0.0", 15350 "version": "1.0.0",
14005 "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", 15351 "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
@@ -14310,6 +15656,12 @@
14310 } 15656 }
14311 } 15657 }
14312 }, 15658 },
15659 "parse5": {
15660 "version": "4.0.0",
15661 "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz",
15662 "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==",
15663 "dev": true
15664 },
14313 "parsejson": { 15665 "parsejson": {
14314 "version": "0.0.3", 15666 "version": "0.0.3",
14315 "resolved": "https://registry.npmjs.org/parsejson/-/parsejson-0.0.3.tgz", 15667 "resolved": "https://registry.npmjs.org/parsejson/-/parsejson-0.0.3.tgz",
@@ -14565,6 +15917,12 @@
14565 "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", 15917 "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==",
14566 "dev": true 15918 "dev": true
14567 }, 15919 },
15920 "pn": {
15921 "version": "1.1.0",
15922 "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz",
15923 "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==",
15924 "dev": true
15925 },
14568 "portfinder": { 15926 "portfinder": {
14569 "version": "1.0.20", 15927 "version": "1.0.20",
14570 "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.20.tgz", 15928 "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.20.tgz",
@@ -14628,6 +15986,32 @@
14628 "utila": "~0.4" 15986 "utila": "~0.4"
14629 } 15987 }
14630 }, 15988 },
15989 "pretty-format": {
15990 "version": "24.7.0",
15991 "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.7.0.tgz",
15992 "integrity": "sha512-apen5cjf/U4dj7tHetpC7UEFCvtAgnNZnBDkfPv3fokzIqyOJckAG9OlAPC1BlFALnqT/lGB2tl9EJjlK6eCsA==",
15993 "dev": true,
15994 "requires": {
15995 "@jest/types": "^24.7.0",
15996 "ansi-regex": "^4.0.0",
15997 "ansi-styles": "^3.2.0",
15998 "react-is": "^16.8.4"
15999 },
16000 "dependencies": {
16001 "ansi-regex": {
16002 "version": "4.1.0",
16003 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
16004 "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
16005 "dev": true
16006 },
16007 "react-is": {
16008 "version": "16.8.6",
16009 "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.8.6.tgz",
16010 "integrity": "sha512-aUk3bHfZ2bRSVFFbbeVS4i+lNPZr3/WM5jT2J5omUVV1zzcs1nAaf3l51ctA5FFvCRbhrH0bdAsRRQddFJZPtA==",
16011 "dev": true
16012 }
16013 }
16014 },
14631 "pretty-hrtime": { 16015 "pretty-hrtime": {
14632 "version": "1.0.3", 16016 "version": "1.0.3",
14633 "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", 16017 "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz",
@@ -14743,6 +16127,16 @@
14743 "retry": "^0.10.0" 16127 "retry": "^0.10.0"
14744 } 16128 }
14745 }, 16129 },
16130 "prompts": {
16131 "version": "2.0.4",
16132 "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.0.4.tgz",
16133 "integrity": "sha512-HTzM3UWp/99A0gk51gAegwo1QRYA7xjcZufMNe33rCclFszUYAuHe1fIN/3ZmiHeGPkUsNaRyQm1hHOfM0PKxA==",
16134 "dev": true,
16135 "requires": {
16136 "kleur": "^3.0.2",
16137 "sisteransi": "^1.0.0"
16138 }
16139 },
14746 "promzard": { 16140 "promzard": {
14747 "version": "0.3.0", 16141 "version": "0.3.0",
14748 "resolved": "https://registry.npmjs.org/promzard/-/promzard-0.3.0.tgz", 16142 "resolved": "https://registry.npmjs.org/promzard/-/promzard-0.3.0.tgz",
@@ -15418,6 +16812,15 @@
15418 } 16812 }
15419 } 16813 }
15420 }, 16814 },
16815 "realpath-native": {
16816 "version": "1.1.0",
16817 "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.1.0.tgz",
16818 "integrity": "sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA==",
16819 "dev": true,
16820 "requires": {
16821 "util.promisify": "^1.0.0"
16822 }
16823 },
15421 "rechoir": { 16824 "rechoir": {
15422 "version": "0.6.2", 16825 "version": "0.6.2",
15423 "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", 16826 "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
@@ -15751,6 +17154,26 @@
15751 "uuid": "^3.3.2" 17154 "uuid": "^3.3.2"
15752 } 17155 }
15753 }, 17156 },
17157 "request-promise-core": {
17158 "version": "1.1.2",
17159 "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.2.tgz",
17160 "integrity": "sha512-UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==",
17161 "dev": true,
17162 "requires": {
17163 "lodash": "^4.17.11"
17164 }
17165 },
17166 "request-promise-native": {
17167 "version": "1.0.7",
17168 "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.7.tgz",
17169 "integrity": "sha512-rIMnbBdgNViL37nZ1b3L/VfPOpSi0TqVDQPAvO6U14lMzOLrt5nilxCQqtDKhZeDiW0/hkCXGoQjhgJd/tCh6w==",
17170 "dev": true,
17171 "requires": {
17172 "request-promise-core": "1.1.2",
17173 "stealthy-require": "^1.1.1",
17174 "tough-cookie": "^2.3.3"
17175 }
17176 },
15754 "require-directory": { 17177 "require-directory": {
15755 "version": "2.1.1", 17178 "version": "2.1.1",
15756 "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", 17179 "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
@@ -15887,6 +17310,12 @@
15887 "resolved": "https://registry.npmjs.org/route-parser/-/route-parser-0.0.5.tgz", 17310 "resolved": "https://registry.npmjs.org/route-parser/-/route-parser-0.0.5.tgz",
15888 "integrity": "sha1-fR0J0zXkkJQDHqFpkaSnmwG74fQ=" 17311 "integrity": "sha1-fR0J0zXkkJQDHqFpkaSnmwG74fQ="
15889 }, 17312 },
17313 "rsvp": {
17314 "version": "4.8.4",
17315 "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.4.tgz",
17316 "integrity": "sha512-6FomvYPfs+Jy9TfXmBpBuMWNH94SgCsZmJKcanySzgNNP6LjWxBvyLTa9KaMfDDM5oxRfrKDB0r/qeRsLwnBfA==",
17317 "dev": true
17318 },
15890 "run-async": { 17319 "run-async": {
15891 "version": "2.3.0", 17320 "version": "2.3.0",
15892 "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", 17321 "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
@@ -15945,6 +17374,23 @@
15945 "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 17374 "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
15946 "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" 17375 "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
15947 }, 17376 },
17377 "sane": {
17378 "version": "4.1.0",
17379 "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz",
17380 "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==",
17381 "dev": true,
17382 "requires": {
17383 "@cnakazawa/watch": "^1.0.3",
17384 "anymatch": "^2.0.0",
17385 "capture-exit": "^2.0.0",
17386 "exec-sh": "^0.3.2",
17387 "execa": "^1.0.0",
17388 "fb-watchman": "^2.0.0",
17389 "micromatch": "^3.1.4",
17390 "minimist": "^1.1.1",
17391 "walker": "~1.0.5"
17392 }
17393 },
15948 "sanitize-filename": { 17394 "sanitize-filename": {
15949 "version": "1.6.1", 17395 "version": "1.6.1",
15950 "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.1.tgz", 17396 "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.1.tgz",
@@ -16408,6 +17854,12 @@
16408 "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", 17854 "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
16409 "dev": true 17855 "dev": true
16410 }, 17856 },
17857 "shellwords": {
17858 "version": "0.1.1",
17859 "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz",
17860 "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==",
17861 "dev": true
17862 },
16411 "sigmund": { 17863 "sigmund": {
16412 "version": "1.0.1", 17864 "version": "1.0.1",
16413 "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", 17865 "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz",
@@ -16472,6 +17924,12 @@
16472 } 17924 }
16473 } 17925 }
16474 }, 17926 },
17927 "sisteransi": {
17928 "version": "1.0.0",
17929 "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.0.tgz",
17930 "integrity": "sha512-N+z4pHB4AmUv0SjveWRd6q1Nj5w62m5jodv+GD8lvmbY/83T/rpbJGZOnK5T149OldDj4Db07BSv9xY4K6NTPQ==",
17931 "dev": true
17932 },
16475 "slash": { 17933 "slash": {
16476 "version": "2.0.0", 17934 "version": "2.0.0",
16477 "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", 17935 "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz",
@@ -17080,6 +18538,12 @@
17080 "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", 18538 "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=",
17081 "dev": true 18539 "dev": true
17082 }, 18540 },
18541 "stack-utils": {
18542 "version": "1.0.2",
18543 "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz",
18544 "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==",
18545 "dev": true
18546 },
17083 "stat-mode": { 18547 "stat-mode": {
17084 "version": "0.2.2", 18548 "version": "0.2.2",
17085 "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-0.2.2.tgz", 18549 "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-0.2.2.tgz",
@@ -17148,6 +18612,12 @@
17148 } 18612 }
17149 } 18613 }
17150 }, 18614 },
18615 "stealthy-require": {
18616 "version": "1.1.1",
18617 "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz",
18618 "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=",
18619 "dev": true
18620 },
17151 "stream-browserify": { 18621 "stream-browserify": {
17152 "version": "2.0.2", 18622 "version": "2.0.2",
17153 "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", 18623 "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz",
@@ -17250,6 +18720,16 @@
17250 "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", 18720 "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz",
17251 "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" 18721 "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM="
17252 }, 18722 },
18723 "string-length": {
18724 "version": "2.0.0",
18725 "resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz",
18726 "integrity": "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=",
18727 "dev": true,
18728 "requires": {
18729 "astral-regex": "^1.0.0",
18730 "strip-ansi": "^4.0.0"
18731 }
18732 },
17253 "string-width": { 18733 "string-width": {
17254 "version": "2.1.1", 18734 "version": "2.1.1",
17255 "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", 18735 "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
@@ -17343,6 +18823,12 @@
17343 "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", 18823 "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz",
17344 "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" 18824 "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ=="
17345 }, 18825 },
18826 "symbol-tree": {
18827 "version": "3.2.2",
18828 "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz",
18829 "integrity": "sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=",
18830 "dev": true
18831 },
17346 "table": { 18832 "table": {
17347 "version": "5.2.3", 18833 "version": "5.2.3",
17348 "resolved": "https://registry.npmjs.org/table/-/table-5.2.3.tgz", 18834 "resolved": "https://registry.npmjs.org/table/-/table-5.2.3.tgz",
@@ -17552,6 +19038,47 @@
17552 } 19038 }
17553 } 19039 }
17554 }, 19040 },
19041 "test-exclude": {
19042 "version": "5.2.2",
19043 "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.2.tgz",
19044 "integrity": "sha512-N2pvaLpT8guUpb5Fe1GJlmvmzH3x+DAKmmyEQmFP792QcLYoGE1syxztSvPD1V8yPe6VrcCt6YGQVjSRjCASsA==",
19045 "dev": true,
19046 "requires": {
19047 "glob": "^7.1.3",
19048 "minimatch": "^3.0.4",
19049 "read-pkg-up": "^4.0.0",
19050 "require-main-filename": "^2.0.0"
19051 },
19052 "dependencies": {
19053 "read-pkg": {
19054 "version": "3.0.0",
19055 "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
19056 "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
19057 "dev": true,
19058 "requires": {
19059 "load-json-file": "^4.0.0",
19060 "normalize-package-data": "^2.3.2",
19061 "path-type": "^3.0.0"
19062 }
19063 },
19064 "read-pkg-up": {
19065 "version": "4.0.0",
19066 "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz",
19067 "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==",
19068 "dev": true,
19069 "requires": {
19070 "find-up": "^3.0.0",
19071 "read-pkg": "^3.0.0"
19072 }
19073 },
19074 "require-main-filename": {
19075 "version": "2.0.0",
19076 "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
19077 "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
19078 "dev": true
19079 }
19080 }
19081 },
17555 "text-extensions": { 19082 "text-extensions": {
17556 "version": "1.9.0", 19083 "version": "1.9.0",
17557 "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", 19084 "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz",
@@ -17575,6 +19102,12 @@
17575 "prop-types": "^15.5.8" 19102 "prop-types": "^15.5.8"
17576 } 19103 }
17577 }, 19104 },
19105 "throat": {
19106 "version": "4.1.0",
19107 "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz",
19108 "integrity": "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=",
19109 "dev": true
19110 },
17578 "throttleit": { 19111 "throttleit": {
17579 "version": "0.0.2", 19112 "version": "0.0.2",
17580 "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-0.0.2.tgz", 19113 "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-0.0.2.tgz",
@@ -17678,6 +19211,12 @@
17678 "os-tmpdir": "~1.0.2" 19211 "os-tmpdir": "~1.0.2"
17679 } 19212 }
17680 }, 19213 },
19214 "tmpl": {
19215 "version": "1.0.4",
19216 "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz",
19217 "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=",
19218 "dev": true
19219 },
17681 "to-absolute-glob": { 19220 "to-absolute-glob": {
17682 "version": "2.0.2", 19221 "version": "2.0.2",
17683 "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz", 19222 "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz",
@@ -18614,6 +20153,15 @@
18614 "indexof": "0.0.1" 20153 "indexof": "0.0.1"
18615 } 20154 }
18616 }, 20155 },
20156 "w3c-hr-time": {
20157 "version": "1.0.1",
20158 "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz",
20159 "integrity": "sha1-gqwr/2PZUOqeMYmlimViX+3xkEU=",
20160 "dev": true,
20161 "requires": {
20162 "browser-process-hrtime": "^0.1.2"
20163 }
20164 },
18617 "wait-on": { 20165 "wait-on": {
18618 "version": "3.2.0", 20166 "version": "3.2.0",
18619 "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-3.2.0.tgz", 20167 "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-3.2.0.tgz",
@@ -18672,6 +20220,15 @@
18672 } 20220 }
18673 } 20221 }
18674 }, 20222 },
20223 "walker": {
20224 "version": "1.0.7",
20225 "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz",
20226 "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=",
20227 "dev": true,
20228 "requires": {
20229 "makeerror": "1.0.x"
20230 }
20231 },
18675 "warning": { 20232 "warning": {
18676 "version": "3.0.0", 20233 "version": "3.0.0",
18677 "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", 20234 "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz",
@@ -19072,11 +20629,26 @@
19072 "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==", 20629 "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==",
19073 "dev": true 20630 "dev": true
19074 }, 20631 },
20632 "whatwg-encoding": {
20633 "version": "1.0.5",
20634 "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz",
20635 "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==",
20636 "dev": true,
20637 "requires": {
20638 "iconv-lite": "0.4.24"
20639 }
20640 },
19075 "whatwg-fetch": { 20641 "whatwg-fetch": {
19076 "version": "3.0.0", 20642 "version": "3.0.0",
19077 "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz", 20643 "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz",
19078 "integrity": "sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q==" 20644 "integrity": "sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q=="
19079 }, 20645 },
20646 "whatwg-mimetype": {
20647 "version": "2.3.0",
20648 "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz",
20649 "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==",
20650 "dev": true
20651 },
19080 "whatwg-url": { 20652 "whatwg-url": {
19081 "version": "7.0.0", 20653 "version": "7.0.0",
19082 "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.0.0.tgz", 20654 "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.0.0.tgz",
@@ -19349,6 +20921,12 @@
19349 "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=", 20921 "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=",
19350 "dev": true 20922 "dev": true
19351 }, 20923 },
20924 "xml-name-validator": {
20925 "version": "3.0.0",
20926 "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz",
20927 "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==",
20928 "dev": true
20929 },
19352 "xmlbuilder": { 20930 "xmlbuilder": {
19353 "version": "9.0.7", 20931 "version": "9.0.7",
19354 "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", 20932 "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz",
diff --git a/package.json b/package.json
index 948e4b6cc..ab1d72751 100644
--- a/package.json
+++ b/package.json
@@ -15,6 +15,8 @@
15 "start:local": "cross-env LOCAL_API=1 npm start", 15 "start:local": "cross-env LOCAL_API=1 npm start",
16 "start:live": "cross-env LIVE_API=1 npm start", 16 "start:live": "cross-env LIVE_API=1 npm start",
17 "dev": "cross-env NODE_ENV=development gulp dev", 17 "dev": "cross-env NODE_ENV=development gulp dev",
18 "test": "jest",
19 "test:watch": "jest --watch",
18 "lint": "eslint src", 20 "lint": "eslint src",
19 "manage-translations": "node ./src/i18n/manage-translations.js", 21 "manage-translations": "node ./src/i18n/manage-translations.js",
20 "sign": "gulp sign", 22 "sign": "gulp sign",
@@ -122,6 +124,7 @@
122 "eslint-config-airbnb": "17.1.0", 124 "eslint-config-airbnb": "17.1.0",
123 "eslint-loader": "^1.9.0", 125 "eslint-loader": "^1.9.0",
124 "eslint-plugin-import": "2.14.0", 126 "eslint-plugin-import": "2.14.0",
127 "eslint-plugin-jest": "22.4.1",
125 "eslint-plugin-jsx-a11y": "6.1.2", 128 "eslint-plugin-jsx-a11y": "6.1.2",
126 "eslint-plugin-react": "7.11.1", 129 "eslint-plugin-react": "7.11.1",
127 "expect.js": "0.3.1", 130 "expect.js": "0.3.1",
@@ -134,6 +137,7 @@
134 "hex-rgb": "3.0.0", 137 "hex-rgb": "3.0.0",
135 "html-webpack-plugin": "4.0.0-beta.5", 138 "html-webpack-plugin": "4.0.0-beta.5",
136 "husky": "^1.1.4", 139 "husky": "^1.1.4",
140 "jest": "24.7.1",
137 "kebab-case": "1.0.0", 141 "kebab-case": "1.0.0",
138 "lerna": "^3.8.0", 142 "lerna": "^3.8.0",
139 "mobx-react-devtools": "6.0.3", 143 "mobx-react-devtools": "6.0.3",
diff --git a/src/features/utils/FeatureStore.js b/src/features/utils/FeatureStore.js
index b6e0fbce3..0bc10e176 100644
--- a/src/features/utils/FeatureStore.js
+++ b/src/features/utils/FeatureStore.js
@@ -1,9 +1,7 @@
1import { union } from 'lodash';
2
3export class FeatureStore { 1export class FeatureStore {
4 _actions = null; 2 _actions = [];
5 3
6 _reactions = null; 4 _reactions = [];
7 5
8 stop() { 6 stop() {
9 this._stopActions(); 7 this._stopActions();
@@ -13,7 +11,7 @@ export class FeatureStore {
13 // ACTIONS 11 // ACTIONS
14 12
15 _registerActions(actions) { 13 _registerActions(actions) {
16 this._actions = union(this._actions, actions); 14 this._actions = actions;
17 this._startActions(); 15 this._startActions();
18 } 16 }
19 17
@@ -28,7 +26,7 @@ export class FeatureStore {
28 // REACTIONS 26 // REACTIONS
29 27
30 _registerReactions(reactions) { 28 _registerReactions(reactions) {
31 this._reactions = union(this._reactions, reactions); 29 this._reactions = reactions;
32 this._startReactions(); 30 this._startReactions();
33 } 31 }
34 32
diff --git a/src/features/utils/FeatureStore.test.js b/src/features/utils/FeatureStore.test.js
new file mode 100644
index 000000000..b618b0a14
--- /dev/null
+++ b/src/features/utils/FeatureStore.test.js
@@ -0,0 +1,90 @@
1import PropTypes from 'prop-types';
2import { observable } from 'mobx';
3import { FeatureStore } from './FeatureStore';
4import { createActionsFromDefinitions } from '../../actions/lib/actions';
5
6const actions = createActionsFromDefinitions({
7 countUp: {},
8}, PropTypes.checkPropTypes);
9
10class TestFeatureStore extends FeatureStore {
11 @observable count = 0;
12
13 reactionInvokedCount = 0;
14
15 start() {
16 this._registerActions([
17 [actions.countUp, this._countUp],
18 ]);
19 this._registerReactions([
20 this._countReaction,
21 ]);
22 }
23
24 _countUp = () => {
25 this.count += 1;
26 };
27
28 _countReaction = () => {
29 this.reactionInvokedCount += 1;
30 }
31}
32
33describe('FeatureStore', () => {
34 let store = null;
35
36 beforeEach(() => {
37 store = new TestFeatureStore();
38 });
39
40 describe('registering actions', () => {
41 it('starts the actions', () => {
42 store.start();
43 actions.countUp();
44 expect(store.count).toBe(1);
45 });
46 it('starts the reactions', () => {
47 store.start();
48 actions.countUp();
49 expect(store.reactionInvokedCount).toBe(1);
50 });
51 });
52
53 describe('stopping the store', () => {
54 it('stops the actions', () => {
55 store.start();
56 actions.countUp();
57 store.stop();
58 actions.countUp();
59 expect(store.count).toBe(1);
60 });
61 it('stops the reactions', () => {
62 store.start();
63 actions.countUp();
64 store.stop();
65 store.count += 1;
66 expect(store.reactionInvokedCount).toBe(1);
67 });
68 });
69
70 describe('toggling the store', () => {
71 it('restarts the actions correctly', () => {
72 store.start();
73 actions.countUp();
74 store.stop();
75 actions.countUp();
76 store.start();
77 actions.countUp();
78 expect(store.count).toBe(2);
79 });
80 it('restarts the reactions correctly', () => {
81 store.start();
82 actions.countUp();
83 store.stop();
84 actions.countUp();
85 store.start();
86 actions.countUp();
87 expect(store.count).toBe(2);
88 });
89 });
90});