├── .gitignore ├── .travis.yml ├── LICENSE ├── package-lock.json ├── package.json ├── readme.md ├── src ├── diff-lists.js ├── diff-numbers.js ├── diff-strings.js └── diff.js └── test ├── diff-lists.js ├── diff-numbers.js ├── diff-strings.js └── diff.js /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .nyc_output 3 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "8" 4 | - "10" 5 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 Bart Veneman 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "css-analyzer-diff", 3 | "version": "2.0.0", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "@ava/babel-plugin-throws-helper": { 8 | "version": "4.0.0", 9 | "resolved": "https://registry.npmjs.org/@ava/babel-plugin-throws-helper/-/babel-plugin-throws-helper-4.0.0.tgz", 10 | "integrity": "sha512-3diBLIVBPPh3j4+hb5lo0I1D+S/O/VDJPI4Y502apBxmwEqjyXG4gTSPFUlm41sSZeZzMarT/Gzovw9kV7An0w==", 11 | "dev": true 12 | }, 13 | "@ava/babel-preset-stage-4": { 14 | "version": "4.0.0", 15 | "resolved": "https://registry.npmjs.org/@ava/babel-preset-stage-4/-/babel-preset-stage-4-4.0.0.tgz", 16 | "integrity": "sha512-lZEV1ZANzfzSYBU6WHSErsy7jLPbD1iIgAboASPMcKo7woVni5/5IKWeT0RxC8rY802MFktur3OKEw2JY1Tv2w==", 17 | "dev": true, 18 | "requires": { 19 | "@babel/plugin-proposal-async-generator-functions": "^7.2.0", 20 | "@babel/plugin-proposal-dynamic-import": "^7.5.0", 21 | "@babel/plugin-proposal-optional-catch-binding": "^7.2.0", 22 | "@babel/plugin-transform-dotall-regex": "^7.4.4", 23 | "@babel/plugin-transform-modules-commonjs": "^7.5.0" 24 | } 25 | }, 26 | "@ava/babel-preset-transform-test-files": { 27 | "version": "6.0.0", 28 | "resolved": "https://registry.npmjs.org/@ava/babel-preset-transform-test-files/-/babel-preset-transform-test-files-6.0.0.tgz", 29 | "integrity": "sha512-8eKhFzZp7Qcq1VLfoC75ggGT8nQs9q8fIxltU47yCB7Wi7Y8Qf6oqY1Bm0z04fIec24vEgr0ENhDHEOUGVDqnA==", 30 | "dev": true, 31 | "requires": { 32 | "@ava/babel-plugin-throws-helper": "^4.0.0", 33 | "babel-plugin-espower": "^3.0.1" 34 | } 35 | }, 36 | "@babel/code-frame": { 37 | "version": "7.5.5", 38 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", 39 | "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", 40 | "dev": true, 41 | "requires": { 42 | "@babel/highlight": "^7.0.0" 43 | } 44 | }, 45 | "@babel/core": { 46 | "version": "7.5.5", 47 | "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.5.5.tgz", 48 | "integrity": "sha512-i4qoSr2KTtce0DmkuuQBV4AuQgGPUcPXMr9L5MyYAtk06z068lQ10a4O009fe5OB/DfNV+h+qqT7ddNV8UnRjg==", 49 | "dev": true, 50 | "requires": { 51 | "@babel/code-frame": "^7.5.5", 52 | "@babel/generator": "^7.5.5", 53 | "@babel/helpers": "^7.5.5", 54 | "@babel/parser": "^7.5.5", 55 | "@babel/template": "^7.4.4", 56 | "@babel/traverse": "^7.5.5", 57 | "@babel/types": "^7.5.5", 58 | "convert-source-map": "^1.1.0", 59 | "debug": "^4.1.0", 60 | "json5": "^2.1.0", 61 | "lodash": "^4.17.13", 62 | "resolve": "^1.3.2", 63 | "semver": "^5.4.1", 64 | "source-map": "^0.5.0" 65 | } 66 | }, 67 | "@babel/generator": { 68 | "version": "7.5.5", 69 | "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.5.5.tgz", 70 | "integrity": "sha512-ETI/4vyTSxTzGnU2c49XHv2zhExkv9JHLTwDAFz85kmcwuShvYG2H08FwgIguQf4JC75CBnXAUM5PqeF4fj0nQ==", 71 | "dev": true, 72 | "requires": { 73 | "@babel/types": "^7.5.5", 74 | "jsesc": "^2.5.1", 75 | "lodash": "^4.17.13", 76 | "source-map": "^0.5.0", 77 | "trim-right": "^1.0.1" 78 | } 79 | }, 80 | "@babel/helper-annotate-as-pure": { 81 | "version": "7.0.0", 82 | "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", 83 | "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", 84 | "dev": true, 85 | "requires": { 86 | "@babel/types": "^7.0.0" 87 | } 88 | }, 89 | "@babel/helper-function-name": { 90 | "version": "7.1.0", 91 | "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", 92 | "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", 93 | "dev": true, 94 | "requires": { 95 | "@babel/helper-get-function-arity": "^7.0.0", 96 | "@babel/template": "^7.1.0", 97 | "@babel/types": "^7.0.0" 98 | } 99 | }, 100 | "@babel/helper-get-function-arity": { 101 | "version": "7.0.0", 102 | "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", 103 | "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", 104 | "dev": true, 105 | "requires": { 106 | "@babel/types": "^7.0.0" 107 | } 108 | }, 109 | "@babel/helper-module-imports": { 110 | "version": "7.0.0", 111 | "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz", 112 | "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==", 113 | "dev": true, 114 | "requires": { 115 | "@babel/types": "^7.0.0" 116 | } 117 | }, 118 | "@babel/helper-module-transforms": { 119 | "version": "7.5.5", 120 | "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.5.5.tgz", 121 | "integrity": "sha512-jBeCvETKuJqeiaCdyaheF40aXnnU1+wkSiUs/IQg3tB85up1LyL8x77ClY8qJpuRJUcXQo+ZtdNESmZl4j56Pw==", 122 | "dev": true, 123 | "requires": { 124 | "@babel/helper-module-imports": "^7.0.0", 125 | "@babel/helper-simple-access": "^7.1.0", 126 | "@babel/helper-split-export-declaration": "^7.4.4", 127 | "@babel/template": "^7.4.4", 128 | "@babel/types": "^7.5.5", 129 | "lodash": "^4.17.13" 130 | } 131 | }, 132 | "@babel/helper-plugin-utils": { 133 | "version": "7.0.0", 134 | "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", 135 | "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==", 136 | "dev": true 137 | }, 138 | "@babel/helper-regex": { 139 | "version": "7.5.5", 140 | "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.5.5.tgz", 141 | "integrity": "sha512-CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw==", 142 | "dev": true, 143 | "requires": { 144 | "lodash": "^4.17.13" 145 | } 146 | }, 147 | "@babel/helper-remap-async-to-generator": { 148 | "version": "7.1.0", 149 | "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz", 150 | "integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==", 151 | "dev": true, 152 | "requires": { 153 | "@babel/helper-annotate-as-pure": "^7.0.0", 154 | "@babel/helper-wrap-function": "^7.1.0", 155 | "@babel/template": "^7.1.0", 156 | "@babel/traverse": "^7.1.0", 157 | "@babel/types": "^7.0.0" 158 | } 159 | }, 160 | "@babel/helper-simple-access": { 161 | "version": "7.1.0", 162 | "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz", 163 | "integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==", 164 | "dev": true, 165 | "requires": { 166 | "@babel/template": "^7.1.0", 167 | "@babel/types": "^7.0.0" 168 | } 169 | }, 170 | "@babel/helper-split-export-declaration": { 171 | "version": "7.4.4", 172 | "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz", 173 | "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==", 174 | "dev": true, 175 | "requires": { 176 | "@babel/types": "^7.4.4" 177 | } 178 | }, 179 | "@babel/helper-wrap-function": { 180 | "version": "7.2.0", 181 | "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz", 182 | "integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==", 183 | "dev": true, 184 | "requires": { 185 | "@babel/helper-function-name": "^7.1.0", 186 | "@babel/template": "^7.1.0", 187 | "@babel/traverse": "^7.1.0", 188 | "@babel/types": "^7.2.0" 189 | } 190 | }, 191 | "@babel/helpers": { 192 | "version": "7.5.5", 193 | "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.5.5.tgz", 194 | "integrity": "sha512-nRq2BUhxZFnfEn/ciJuhklHvFOqjJUD5wpx+1bxUF2axL9C+v4DE/dmp5sT2dKnpOs4orZWzpAZqlCy8QqE/7g==", 195 | "dev": true, 196 | "requires": { 197 | "@babel/template": "^7.4.4", 198 | "@babel/traverse": "^7.5.5", 199 | "@babel/types": "^7.5.5" 200 | } 201 | }, 202 | "@babel/highlight": { 203 | "version": "7.5.0", 204 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz", 205 | "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", 206 | "dev": true, 207 | "requires": { 208 | "chalk": "^2.0.0", 209 | "esutils": "^2.0.2", 210 | "js-tokens": "^4.0.0" 211 | } 212 | }, 213 | "@babel/parser": { 214 | "version": "7.5.5", 215 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.5.5.tgz", 216 | "integrity": "sha512-E5BN68cqR7dhKan1SfqgPGhQ178bkVKpXTPEXnFJBrEt8/DKRZlybmy+IgYLTeN7tp1R5Ccmbm2rBk17sHYU3g==", 217 | "dev": true 218 | }, 219 | "@babel/plugin-proposal-async-generator-functions": { 220 | "version": "7.2.0", 221 | "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz", 222 | "integrity": "sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ==", 223 | "dev": true, 224 | "requires": { 225 | "@babel/helper-plugin-utils": "^7.0.0", 226 | "@babel/helper-remap-async-to-generator": "^7.1.0", 227 | "@babel/plugin-syntax-async-generators": "^7.2.0" 228 | } 229 | }, 230 | "@babel/plugin-proposal-dynamic-import": { 231 | "version": "7.5.0", 232 | "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.5.0.tgz", 233 | "integrity": "sha512-x/iMjggsKTFHYC6g11PL7Qy58IK8H5zqfm9e6hu4z1iH2IRyAp9u9dL80zA6R76yFovETFLKz2VJIC2iIPBuFw==", 234 | "dev": true, 235 | "requires": { 236 | "@babel/helper-plugin-utils": "^7.0.0", 237 | "@babel/plugin-syntax-dynamic-import": "^7.2.0" 238 | } 239 | }, 240 | "@babel/plugin-proposal-optional-catch-binding": { 241 | "version": "7.2.0", 242 | "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz", 243 | "integrity": "sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==", 244 | "dev": true, 245 | "requires": { 246 | "@babel/helper-plugin-utils": "^7.0.0", 247 | "@babel/plugin-syntax-optional-catch-binding": "^7.2.0" 248 | } 249 | }, 250 | "@babel/plugin-syntax-async-generators": { 251 | "version": "7.2.0", 252 | "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz", 253 | "integrity": "sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==", 254 | "dev": true, 255 | "requires": { 256 | "@babel/helper-plugin-utils": "^7.0.0" 257 | } 258 | }, 259 | "@babel/plugin-syntax-dynamic-import": { 260 | "version": "7.2.0", 261 | "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz", 262 | "integrity": "sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w==", 263 | "dev": true, 264 | "requires": { 265 | "@babel/helper-plugin-utils": "^7.0.0" 266 | } 267 | }, 268 | "@babel/plugin-syntax-optional-catch-binding": { 269 | "version": "7.2.0", 270 | "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz", 271 | "integrity": "sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==", 272 | "dev": true, 273 | "requires": { 274 | "@babel/helper-plugin-utils": "^7.0.0" 275 | } 276 | }, 277 | "@babel/plugin-transform-dotall-regex": { 278 | "version": "7.4.4", 279 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.4.tgz", 280 | "integrity": "sha512-P05YEhRc2h53lZDjRPk/OektxCVevFzZs2Gfjd545Wde3k+yFDbXORgl2e0xpbq8mLcKJ7Idss4fAg0zORN/zg==", 281 | "dev": true, 282 | "requires": { 283 | "@babel/helper-plugin-utils": "^7.0.0", 284 | "@babel/helper-regex": "^7.4.4", 285 | "regexpu-core": "^4.5.4" 286 | } 287 | }, 288 | "@babel/plugin-transform-modules-commonjs": { 289 | "version": "7.5.0", 290 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.5.0.tgz", 291 | "integrity": "sha512-xmHq0B+ytyrWJvQTc5OWAC4ii6Dhr0s22STOoydokG51JjWhyYo5mRPXoi+ZmtHQhZZwuXNN+GG5jy5UZZJxIQ==", 292 | "dev": true, 293 | "requires": { 294 | "@babel/helper-module-transforms": "^7.4.4", 295 | "@babel/helper-plugin-utils": "^7.0.0", 296 | "@babel/helper-simple-access": "^7.1.0", 297 | "babel-plugin-dynamic-import-node": "^2.3.0" 298 | } 299 | }, 300 | "@babel/template": { 301 | "version": "7.4.4", 302 | "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.4.4.tgz", 303 | "integrity": "sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw==", 304 | "dev": true, 305 | "requires": { 306 | "@babel/code-frame": "^7.0.0", 307 | "@babel/parser": "^7.4.4", 308 | "@babel/types": "^7.4.4" 309 | } 310 | }, 311 | "@babel/traverse": { 312 | "version": "7.5.5", 313 | "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.5.5.tgz", 314 | "integrity": "sha512-MqB0782whsfffYfSjH4TM+LMjrJnhCNEDMDIjeTpl+ASaUvxcjoiVCo/sM1GhS1pHOXYfWVCYneLjMckuUxDaQ==", 315 | "dev": true, 316 | "requires": { 317 | "@babel/code-frame": "^7.5.5", 318 | "@babel/generator": "^7.5.5", 319 | "@babel/helper-function-name": "^7.1.0", 320 | "@babel/helper-split-export-declaration": "^7.4.4", 321 | "@babel/parser": "^7.5.5", 322 | "@babel/types": "^7.5.5", 323 | "debug": "^4.1.0", 324 | "globals": "^11.1.0", 325 | "lodash": "^4.17.13" 326 | } 327 | }, 328 | "@babel/types": { 329 | "version": "7.5.5", 330 | "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.5.5.tgz", 331 | "integrity": "sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw==", 332 | "dev": true, 333 | "requires": { 334 | "esutils": "^2.0.2", 335 | "lodash": "^4.17.13", 336 | "to-fast-properties": "^2.0.0" 337 | } 338 | }, 339 | "@bartveneman/eslint-config-bv": { 340 | "version": "0.0.2", 341 | "resolved": "https://registry.npmjs.org/@bartveneman/eslint-config-bv/-/eslint-config-bv-0.0.2.tgz", 342 | "integrity": "sha512-LaVGEOaT5DoPjyaunIcxXtS++XExWWtGhNqvPKm3nKd2G15EAj0ZhQGmSRcjYNaHKjTfIDm5VbVBiWjcFR0fYQ==", 343 | "dev": true, 344 | "requires": { 345 | "eslint-config-xo": "^0.26.0" 346 | } 347 | }, 348 | "@concordance/react": { 349 | "version": "2.0.0", 350 | "resolved": "https://registry.npmjs.org/@concordance/react/-/react-2.0.0.tgz", 351 | "integrity": "sha512-huLSkUuM2/P+U0uy2WwlKuixMsTODD8p4JVQBI4VKeopkiN0C7M3N9XYVawb4M+4spN5RrO/eLhk7KoQX6nsfA==", 352 | "dev": true, 353 | "requires": { 354 | "arrify": "^1.0.1" 355 | }, 356 | "dependencies": { 357 | "arrify": { 358 | "version": "1.0.1", 359 | "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", 360 | "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", 361 | "dev": true 362 | } 363 | } 364 | }, 365 | "@nodelib/fs.scandir": { 366 | "version": "2.1.2", 367 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.2.tgz", 368 | "integrity": "sha512-wrIBsjA5pl13f0RN4Zx4FNWmU71lv03meGKnqRUoCyan17s4V3WL92f3w3AIuWbNnpcrQyFBU5qMavJoB8d27w==", 369 | "dev": true, 370 | "requires": { 371 | "@nodelib/fs.stat": "2.0.2", 372 | "run-parallel": "^1.1.9" 373 | } 374 | }, 375 | "@nodelib/fs.stat": { 376 | "version": "2.0.2", 377 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.2.tgz", 378 | "integrity": "sha512-z8+wGWV2dgUhLqrtRYa03yDx4HWMvXKi1z8g3m2JyxAx8F7xk74asqPk5LAETjqDSGLFML/6CDl0+yFunSYicw==", 379 | "dev": true 380 | }, 381 | "@nodelib/fs.walk": { 382 | "version": "1.2.3", 383 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.3.tgz", 384 | "integrity": "sha512-l6t8xEhfK9Sa4YO5mIRdau7XSOADfmh3jCr0evNHdY+HNkW6xuQhgMH7D73VV6WpZOagrW0UludvMTiifiwTfA==", 385 | "dev": true, 386 | "requires": { 387 | "@nodelib/fs.scandir": "2.1.2", 388 | "fastq": "^1.6.0" 389 | } 390 | }, 391 | "@sindresorhus/is": { 392 | "version": "0.14.0", 393 | "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", 394 | "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", 395 | "dev": true 396 | }, 397 | "@szmarczak/http-timer": { 398 | "version": "1.1.2", 399 | "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", 400 | "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", 401 | "dev": true, 402 | "requires": { 403 | "defer-to-connect": "^1.0.1" 404 | } 405 | }, 406 | "@types/events": { 407 | "version": "3.0.0", 408 | "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", 409 | "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==", 410 | "dev": true 411 | }, 412 | "@types/glob": { 413 | "version": "7.1.1", 414 | "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz", 415 | "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==", 416 | "dev": true, 417 | "requires": { 418 | "@types/events": "*", 419 | "@types/minimatch": "*", 420 | "@types/node": "*" 421 | } 422 | }, 423 | "@types/minimatch": { 424 | "version": "3.0.3", 425 | "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", 426 | "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", 427 | "dev": true 428 | }, 429 | "@types/node": { 430 | "version": "12.7.3", 431 | "resolved": "https://registry.npmjs.org/@types/node/-/node-12.7.3.tgz", 432 | "integrity": "sha512-3SiLAIBkDWDg6vFo0+5YJyHPWU9uwu40Qe+v+0MH8wRKYBimHvvAOyk3EzMrD/TrIlLYfXrqDqrg913PynrMJQ==", 433 | "dev": true 434 | }, 435 | "acorn": { 436 | "version": "7.1.1", 437 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.1.tgz", 438 | "integrity": "sha512-add7dgA5ppRPxCFJoAGfMDi7PIBXq1RtGo7BhbLaxwrXPOmw8gq48Y9ozT01hUKy9byMjlR20EJhu5zlkErEkg==", 439 | "dev": true 440 | }, 441 | "acorn-jsx": { 442 | "version": "5.0.2", 443 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.2.tgz", 444 | "integrity": "sha512-tiNTrP1MP0QrChmD2DdupCr6HWSFeKVw5d/dHTu4Y7rkAkRhU/Dt7dphAfIUyxtHpl/eBVip5uTNSpQJHylpAw==", 445 | "dev": true 446 | }, 447 | "ajv": { 448 | "version": "6.10.2", 449 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", 450 | "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", 451 | "dev": true, 452 | "requires": { 453 | "fast-deep-equal": "^2.0.1", 454 | "fast-json-stable-stringify": "^2.0.0", 455 | "json-schema-traverse": "^0.4.1", 456 | "uri-js": "^4.2.2" 457 | } 458 | }, 459 | "ansi-align": { 460 | "version": "3.0.0", 461 | "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz", 462 | "integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==", 463 | "dev": true, 464 | "requires": { 465 | "string-width": "^3.0.0" 466 | }, 467 | "dependencies": { 468 | "emoji-regex": { 469 | "version": "7.0.3", 470 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", 471 | "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", 472 | "dev": true 473 | }, 474 | "string-width": { 475 | "version": "3.1.0", 476 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", 477 | "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", 478 | "dev": true, 479 | "requires": { 480 | "emoji-regex": "^7.0.1", 481 | "is-fullwidth-code-point": "^2.0.0", 482 | "strip-ansi": "^5.1.0" 483 | } 484 | } 485 | } 486 | }, 487 | "ansi-escapes": { 488 | "version": "4.2.1", 489 | "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.2.1.tgz", 490 | "integrity": "sha512-Cg3ymMAdN10wOk/VYfLV7KCQyv7EDirJ64500sU7n9UlmioEtDuU5Gd+hj73hXSU/ex7tHJSssmyftDdkMLO8Q==", 491 | "dev": true, 492 | "requires": { 493 | "type-fest": "^0.5.2" 494 | } 495 | }, 496 | "ansi-regex": { 497 | "version": "4.1.0", 498 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", 499 | "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", 500 | "dev": true 501 | }, 502 | "ansi-styles": { 503 | "version": "4.1.0", 504 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.1.0.tgz", 505 | "integrity": "sha512-Qts4KCLKG+waHc9C4m07weIY8qyeixoS0h6RnbsNVD6Fw+pEZGW3vTyObL3WXpE09Mq4Oi7/lBEyLmOiLtlYWQ==", 506 | "dev": true, 507 | "requires": { 508 | "color-convert": "^2.0.1" 509 | }, 510 | "dependencies": { 511 | "color-convert": { 512 | "version": "2.0.1", 513 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 514 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 515 | "dev": true, 516 | "requires": { 517 | "color-name": "~1.1.4" 518 | } 519 | }, 520 | "color-name": { 521 | "version": "1.1.4", 522 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 523 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 524 | "dev": true 525 | } 526 | } 527 | }, 528 | "anymatch": { 529 | "version": "3.1.0", 530 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.0.tgz", 531 | "integrity": "sha512-Ozz7l4ixzI7Oxj2+cw+p0tVUt27BpaJ+1+q1TCeANWxHpvyn2+Un+YamBdfKu0uh8xLodGhoa1v7595NhKDAuA==", 532 | "dev": true, 533 | "requires": { 534 | "normalize-path": "^3.0.0", 535 | "picomatch": "^2.0.4" 536 | } 537 | }, 538 | "append-transform": { 539 | "version": "1.0.0", 540 | "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz", 541 | "integrity": "sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==", 542 | "dev": true, 543 | "requires": { 544 | "default-require-extensions": "^2.0.0" 545 | } 546 | }, 547 | "archy": { 548 | "version": "1.0.0", 549 | "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", 550 | "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", 551 | "dev": true 552 | }, 553 | "argparse": { 554 | "version": "1.0.10", 555 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", 556 | "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", 557 | "dev": true, 558 | "requires": { 559 | "sprintf-js": "~1.0.2" 560 | } 561 | }, 562 | "arr-flatten": { 563 | "version": "1.1.0", 564 | "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", 565 | "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", 566 | "dev": true 567 | }, 568 | "array-find-index": { 569 | "version": "1.0.2", 570 | "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", 571 | "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", 572 | "dev": true 573 | }, 574 | "array-union": { 575 | "version": "2.1.0", 576 | "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", 577 | "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", 578 | "dev": true 579 | }, 580 | "array-uniq": { 581 | "version": "2.1.0", 582 | "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-2.1.0.tgz", 583 | "integrity": "sha512-bdHxtev7FN6+MXI1YFW0Q8mQ8dTJc2S8AMfju+ZR77pbg2yAdVyDlwkaUI7Har0LyOMRFPHrJ9lYdyjZZswdlQ==", 584 | "dev": true 585 | }, 586 | "arrify": { 587 | "version": "2.0.1", 588 | "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", 589 | "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", 590 | "dev": true 591 | }, 592 | "astral-regex": { 593 | "version": "1.0.0", 594 | "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", 595 | "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", 596 | "dev": true 597 | }, 598 | "ava": { 599 | "version": "2.3.0", 600 | "resolved": "https://registry.npmjs.org/ava/-/ava-2.3.0.tgz", 601 | "integrity": "sha512-4VaaSnl13vpTZmqW3aMqioSolT0/ozRkjQxTLi3p8wtyRONuX/uLKL3uF0j50w2BNRoLsJqztnkX2h8xeVp2lg==", 602 | "dev": true, 603 | "requires": { 604 | "@ava/babel-preset-stage-4": "^4.0.0", 605 | "@ava/babel-preset-transform-test-files": "^6.0.0", 606 | "@babel/core": "^7.5.5", 607 | "@babel/generator": "^7.5.5", 608 | "@concordance/react": "^2.0.0", 609 | "ansi-escapes": "^4.2.1", 610 | "ansi-styles": "^4.0.0", 611 | "arr-flatten": "^1.1.0", 612 | "array-union": "^2.1.0", 613 | "array-uniq": "^2.1.0", 614 | "arrify": "^2.0.1", 615 | "bluebird": "^3.5.5", 616 | "chalk": "^2.4.2", 617 | "chokidar": "^3.0.2", 618 | "chunkd": "^1.0.0", 619 | "ci-parallel-vars": "^1.0.0", 620 | "clean-stack": "^2.2.0", 621 | "clean-yaml-object": "^0.1.0", 622 | "cli-cursor": "^3.1.0", 623 | "cli-truncate": "^2.0.0", 624 | "code-excerpt": "^2.1.1", 625 | "common-path-prefix": "^1.0.0", 626 | "concordance": "^4.0.0", 627 | "convert-source-map": "^1.6.0", 628 | "currently-unhandled": "^0.4.1", 629 | "debug": "^4.1.1", 630 | "del": "^4.1.1", 631 | "dot-prop": "^5.1.0", 632 | "emittery": "^0.4.1", 633 | "empower-core": "^1.2.0", 634 | "equal-length": "^1.0.0", 635 | "escape-string-regexp": "^2.0.0", 636 | "esm": "^3.2.25", 637 | "figures": "^3.0.0", 638 | "find-up": "^4.1.0", 639 | "get-port": "^5.0.0", 640 | "globby": "^10.0.1", 641 | "ignore-by-default": "^1.0.0", 642 | "import-local": "^3.0.2", 643 | "indent-string": "^4.0.0", 644 | "is-ci": "^2.0.0", 645 | "is-error": "^2.2.2", 646 | "is-observable": "^2.0.0", 647 | "is-plain-object": "^3.0.0", 648 | "is-promise": "^2.1.0", 649 | "lodash": "^4.17.15", 650 | "loud-rejection": "^2.1.0", 651 | "make-dir": "^3.0.0", 652 | "matcher": "^2.0.0", 653 | "md5-hex": "^3.0.1", 654 | "meow": "^5.0.0", 655 | "micromatch": "^4.0.2", 656 | "ms": "^2.1.2", 657 | "observable-to-promise": "^1.0.0", 658 | "ora": "^3.4.0", 659 | "package-hash": "^4.0.0", 660 | "pkg-conf": "^3.1.0", 661 | "plur": "^3.1.1", 662 | "pretty-ms": "^5.0.0", 663 | "require-precompiled": "^0.1.0", 664 | "resolve-cwd": "^3.0.0", 665 | "slash": "^3.0.0", 666 | "source-map-support": "^0.5.13", 667 | "stack-utils": "^1.0.2", 668 | "strip-ansi": "^5.2.0", 669 | "strip-bom-buf": "^2.0.0", 670 | "supertap": "^1.0.0", 671 | "supports-color": "^7.0.0", 672 | "trim-off-newlines": "^1.0.1", 673 | "trim-right": "^1.0.1", 674 | "unique-temp-dir": "^1.0.0", 675 | "update-notifier": "^3.0.1", 676 | "write-file-atomic": "^3.0.0" 677 | } 678 | }, 679 | "babel-plugin-dynamic-import-node": { 680 | "version": "2.3.0", 681 | "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz", 682 | "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==", 683 | "dev": true, 684 | "requires": { 685 | "object.assign": "^4.1.0" 686 | } 687 | }, 688 | "babel-plugin-espower": { 689 | "version": "3.0.1", 690 | "resolved": "https://registry.npmjs.org/babel-plugin-espower/-/babel-plugin-espower-3.0.1.tgz", 691 | "integrity": "sha512-Ms49U7VIAtQ/TtcqRbD6UBmJBUCSxiC3+zPc+eGqxKUIFO1lTshyEDRUjhoAbd2rWfwYf3cZ62oXozrd8W6J0A==", 692 | "dev": true, 693 | "requires": { 694 | "@babel/generator": "^7.0.0", 695 | "@babel/parser": "^7.0.0", 696 | "call-matcher": "^1.0.0", 697 | "core-js": "^2.0.0", 698 | "espower-location-detector": "^1.0.0", 699 | "espurify": "^1.6.0", 700 | "estraverse": "^4.1.1" 701 | } 702 | }, 703 | "balanced-match": { 704 | "version": "1.0.0", 705 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", 706 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", 707 | "dev": true 708 | }, 709 | "binary-extensions": { 710 | "version": "2.0.0", 711 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", 712 | "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==", 713 | "dev": true 714 | }, 715 | "bluebird": { 716 | "version": "3.5.5", 717 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz", 718 | "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==", 719 | "dev": true 720 | }, 721 | "blueimp-md5": { 722 | "version": "2.12.0", 723 | "resolved": "https://registry.npmjs.org/blueimp-md5/-/blueimp-md5-2.12.0.tgz", 724 | "integrity": "sha512-zo+HIdIhzojv6F1siQPqPFROyVy7C50KzHv/k/Iz+BtvtVzSHXiMXOpq2wCfNkeBqdCv+V8XOV96tsEt2W/3rQ==", 725 | "dev": true 726 | }, 727 | "boxen": { 728 | "version": "3.2.0", 729 | "resolved": "https://registry.npmjs.org/boxen/-/boxen-3.2.0.tgz", 730 | "integrity": "sha512-cU4J/+NodM3IHdSL2yN8bqYqnmlBTidDR4RC7nJs61ZmtGz8VZzM3HLQX0zY5mrSmPtR3xWwsq2jOUQqFZN8+A==", 731 | "dev": true, 732 | "requires": { 733 | "ansi-align": "^3.0.0", 734 | "camelcase": "^5.3.1", 735 | "chalk": "^2.4.2", 736 | "cli-boxes": "^2.2.0", 737 | "string-width": "^3.0.0", 738 | "term-size": "^1.2.0", 739 | "type-fest": "^0.3.0", 740 | "widest-line": "^2.0.0" 741 | }, 742 | "dependencies": { 743 | "camelcase": { 744 | "version": "5.3.1", 745 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", 746 | "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", 747 | "dev": true 748 | }, 749 | "emoji-regex": { 750 | "version": "7.0.3", 751 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", 752 | "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", 753 | "dev": true 754 | }, 755 | "string-width": { 756 | "version": "3.1.0", 757 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", 758 | "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", 759 | "dev": true, 760 | "requires": { 761 | "emoji-regex": "^7.0.1", 762 | "is-fullwidth-code-point": "^2.0.0", 763 | "strip-ansi": "^5.1.0" 764 | } 765 | }, 766 | "type-fest": { 767 | "version": "0.3.1", 768 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", 769 | "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==", 770 | "dev": true 771 | } 772 | } 773 | }, 774 | "brace-expansion": { 775 | "version": "1.1.11", 776 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 777 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 778 | "dev": true, 779 | "requires": { 780 | "balanced-match": "^1.0.0", 781 | "concat-map": "0.0.1" 782 | } 783 | }, 784 | "braces": { 785 | "version": "3.0.2", 786 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", 787 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", 788 | "dev": true, 789 | "requires": { 790 | "fill-range": "^7.0.1" 791 | } 792 | }, 793 | "buffer-from": { 794 | "version": "1.1.1", 795 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", 796 | "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", 797 | "dev": true 798 | }, 799 | "cacheable-request": { 800 | "version": "6.1.0", 801 | "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", 802 | "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", 803 | "dev": true, 804 | "requires": { 805 | "clone-response": "^1.0.2", 806 | "get-stream": "^5.1.0", 807 | "http-cache-semantics": "^4.0.0", 808 | "keyv": "^3.0.0", 809 | "lowercase-keys": "^2.0.0", 810 | "normalize-url": "^4.1.0", 811 | "responselike": "^1.0.2" 812 | }, 813 | "dependencies": { 814 | "get-stream": { 815 | "version": "5.1.0", 816 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", 817 | "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", 818 | "dev": true, 819 | "requires": { 820 | "pump": "^3.0.0" 821 | } 822 | }, 823 | "lowercase-keys": { 824 | "version": "2.0.0", 825 | "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", 826 | "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", 827 | "dev": true 828 | } 829 | } 830 | }, 831 | "caching-transform": { 832 | "version": "3.0.2", 833 | "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-3.0.2.tgz", 834 | "integrity": "sha512-Mtgcv3lh3U0zRii/6qVgQODdPA4G3zhG+jtbCWj39RXuUFTMzH0vcdMtaJS1jPowd+It2Pqr6y3NJMQqOqCE2w==", 835 | "dev": true, 836 | "requires": { 837 | "hasha": "^3.0.0", 838 | "make-dir": "^2.0.0", 839 | "package-hash": "^3.0.0", 840 | "write-file-atomic": "^2.4.2" 841 | }, 842 | "dependencies": { 843 | "hasha": { 844 | "version": "3.0.0", 845 | "resolved": "https://registry.npmjs.org/hasha/-/hasha-3.0.0.tgz", 846 | "integrity": "sha1-UqMvq4Vp1BymmmH/GiFPjrfIvTk=", 847 | "dev": true, 848 | "requires": { 849 | "is-stream": "^1.0.1" 850 | } 851 | }, 852 | "make-dir": { 853 | "version": "2.1.0", 854 | "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", 855 | "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", 856 | "dev": true, 857 | "requires": { 858 | "pify": "^4.0.1", 859 | "semver": "^5.6.0" 860 | } 861 | }, 862 | "package-hash": { 863 | "version": "3.0.0", 864 | "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-3.0.0.tgz", 865 | "integrity": "sha512-lOtmukMDVvtkL84rJHI7dpTYq+0rli8N2wlnqUcBuDWCfVhRUfOmnR9SsoHFMLpACvEV60dX7rd0rFaYDZI+FA==", 866 | "dev": true, 867 | "requires": { 868 | "graceful-fs": "^4.1.15", 869 | "hasha": "^3.0.0", 870 | "lodash.flattendeep": "^4.4.0", 871 | "release-zalgo": "^1.0.0" 872 | } 873 | }, 874 | "write-file-atomic": { 875 | "version": "2.4.3", 876 | "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", 877 | "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", 878 | "dev": true, 879 | "requires": { 880 | "graceful-fs": "^4.1.11", 881 | "imurmurhash": "^0.1.4", 882 | "signal-exit": "^3.0.2" 883 | } 884 | } 885 | } 886 | }, 887 | "call-matcher": { 888 | "version": "1.1.0", 889 | "resolved": "https://registry.npmjs.org/call-matcher/-/call-matcher-1.1.0.tgz", 890 | "integrity": "sha512-IoQLeNwwf9KTNbtSA7aEBb1yfDbdnzwjCetjkC8io5oGeOmK2CBNdg0xr+tadRYKO0p7uQyZzvon0kXlZbvGrw==", 891 | "dev": true, 892 | "requires": { 893 | "core-js": "^2.0.0", 894 | "deep-equal": "^1.0.0", 895 | "espurify": "^1.6.0", 896 | "estraverse": "^4.0.0" 897 | } 898 | }, 899 | "call-signature": { 900 | "version": "0.0.2", 901 | "resolved": "https://registry.npmjs.org/call-signature/-/call-signature-0.0.2.tgz", 902 | "integrity": "sha1-qEq8glpV70yysCi9dOIFpluaSZY=", 903 | "dev": true 904 | }, 905 | "callsites": { 906 | "version": "3.1.0", 907 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", 908 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", 909 | "dev": true 910 | }, 911 | "camelcase": { 912 | "version": "4.1.0", 913 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", 914 | "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", 915 | "dev": true 916 | }, 917 | "camelcase-keys": { 918 | "version": "4.2.0", 919 | "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", 920 | "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", 921 | "dev": true, 922 | "requires": { 923 | "camelcase": "^4.1.0", 924 | "map-obj": "^2.0.0", 925 | "quick-lru": "^1.0.0" 926 | } 927 | }, 928 | "chalk": { 929 | "version": "2.4.2", 930 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 931 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 932 | "dev": true, 933 | "requires": { 934 | "ansi-styles": "^3.2.1", 935 | "escape-string-regexp": "^1.0.5", 936 | "supports-color": "^5.3.0" 937 | }, 938 | "dependencies": { 939 | "ansi-styles": { 940 | "version": "3.2.1", 941 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 942 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 943 | "dev": true, 944 | "requires": { 945 | "color-convert": "^1.9.0" 946 | } 947 | }, 948 | "escape-string-regexp": { 949 | "version": "1.0.5", 950 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 951 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 952 | "dev": true 953 | }, 954 | "supports-color": { 955 | "version": "5.5.0", 956 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 957 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 958 | "dev": true, 959 | "requires": { 960 | "has-flag": "^3.0.0" 961 | } 962 | } 963 | } 964 | }, 965 | "chardet": { 966 | "version": "0.7.0", 967 | "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", 968 | "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", 969 | "dev": true 970 | }, 971 | "chokidar": { 972 | "version": "3.0.2", 973 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.0.2.tgz", 974 | "integrity": "sha512-c4PR2egjNjI1um6bamCQ6bUNPDiyofNQruHvKgHQ4gDUP/ITSVSzNsiI5OWtHOsX323i5ha/kk4YmOZ1Ktg7KA==", 975 | "dev": true, 976 | "requires": { 977 | "anymatch": "^3.0.1", 978 | "braces": "^3.0.2", 979 | "fsevents": "^2.0.6", 980 | "glob-parent": "^5.0.0", 981 | "is-binary-path": "^2.1.0", 982 | "is-glob": "^4.0.1", 983 | "normalize-path": "^3.0.0", 984 | "readdirp": "^3.1.1" 985 | } 986 | }, 987 | "chunkd": { 988 | "version": "1.0.0", 989 | "resolved": "https://registry.npmjs.org/chunkd/-/chunkd-1.0.0.tgz", 990 | "integrity": "sha512-xx3Pb5VF9QaqCotolyZ1ywFBgyuJmu6+9dLiqBxgelEse9Xsr3yUlpoX3O4Oh11M00GT2kYMsRByTKIMJW2Lkg==", 991 | "dev": true 992 | }, 993 | "ci-info": { 994 | "version": "2.0.0", 995 | "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", 996 | "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", 997 | "dev": true 998 | }, 999 | "ci-parallel-vars": { 1000 | "version": "1.0.0", 1001 | "resolved": "https://registry.npmjs.org/ci-parallel-vars/-/ci-parallel-vars-1.0.0.tgz", 1002 | "integrity": "sha512-u6dx20FBXm+apMi+5x7UVm6EH7BL1gc4XrcnQewjcB7HWRcor/V5qWc3RG2HwpgDJ26gIi2DSEu3B7sXynAw/g==", 1003 | "dev": true 1004 | }, 1005 | "clean-stack": { 1006 | "version": "2.2.0", 1007 | "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", 1008 | "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", 1009 | "dev": true 1010 | }, 1011 | "clean-yaml-object": { 1012 | "version": "0.1.0", 1013 | "resolved": "https://registry.npmjs.org/clean-yaml-object/-/clean-yaml-object-0.1.0.tgz", 1014 | "integrity": "sha1-Y/sRDcLOGoTcIfbZM0h20BCui2g=", 1015 | "dev": true 1016 | }, 1017 | "cli-boxes": { 1018 | "version": "2.2.0", 1019 | "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.0.tgz", 1020 | "integrity": "sha512-gpaBrMAizVEANOpfZp/EEUixTXDyGt7DFzdK5hU+UbWt/J0lB0w20ncZj59Z9a93xHb9u12zF5BS6i9RKbtg4w==", 1021 | "dev": true 1022 | }, 1023 | "cli-cursor": { 1024 | "version": "3.1.0", 1025 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", 1026 | "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", 1027 | "dev": true, 1028 | "requires": { 1029 | "restore-cursor": "^3.1.0" 1030 | } 1031 | }, 1032 | "cli-spinners": { 1033 | "version": "2.2.0", 1034 | "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.2.0.tgz", 1035 | "integrity": "sha512-tgU3fKwzYjiLEQgPMD9Jt+JjHVL9kW93FiIMX/l7rivvOD4/LL0Mf7gda3+4U2KJBloybwgj5KEoQgGRioMiKQ==", 1036 | "dev": true 1037 | }, 1038 | "cli-truncate": { 1039 | "version": "2.0.0", 1040 | "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.0.0.tgz", 1041 | "integrity": "sha512-C4hp+8GCIFVsUUiXcw+ce+7wexVWImw8rQrgMBFsqerx9LvvcGlwm6sMjQYAEmV/Xb87xc1b5Ttx505MSpZVqg==", 1042 | "dev": true, 1043 | "requires": { 1044 | "slice-ansi": "^2.1.0", 1045 | "string-width": "^4.1.0" 1046 | } 1047 | }, 1048 | "cli-width": { 1049 | "version": "2.2.0", 1050 | "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", 1051 | "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", 1052 | "dev": true 1053 | }, 1054 | "cliui": { 1055 | "version": "5.0.0", 1056 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", 1057 | "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", 1058 | "dev": true, 1059 | "requires": { 1060 | "string-width": "^3.1.0", 1061 | "strip-ansi": "^5.2.0", 1062 | "wrap-ansi": "^5.1.0" 1063 | }, 1064 | "dependencies": { 1065 | "emoji-regex": { 1066 | "version": "7.0.3", 1067 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", 1068 | "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", 1069 | "dev": true 1070 | }, 1071 | "string-width": { 1072 | "version": "3.1.0", 1073 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", 1074 | "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", 1075 | "dev": true, 1076 | "requires": { 1077 | "emoji-regex": "^7.0.1", 1078 | "is-fullwidth-code-point": "^2.0.0", 1079 | "strip-ansi": "^5.1.0" 1080 | } 1081 | } 1082 | } 1083 | }, 1084 | "clone": { 1085 | "version": "1.0.4", 1086 | "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", 1087 | "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", 1088 | "dev": true 1089 | }, 1090 | "clone-response": { 1091 | "version": "1.0.2", 1092 | "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", 1093 | "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", 1094 | "dev": true, 1095 | "requires": { 1096 | "mimic-response": "^1.0.0" 1097 | } 1098 | }, 1099 | "code-excerpt": { 1100 | "version": "2.1.1", 1101 | "resolved": "https://registry.npmjs.org/code-excerpt/-/code-excerpt-2.1.1.tgz", 1102 | "integrity": "sha512-tJLhH3EpFm/1x7heIW0hemXJTUU5EWl2V0EIX558jp05Mt1U6DVryCgkp3l37cxqs+DNbNgxG43SkwJXpQ14Jw==", 1103 | "dev": true, 1104 | "requires": { 1105 | "convert-to-spaces": "^1.0.1" 1106 | } 1107 | }, 1108 | "color-convert": { 1109 | "version": "1.9.3", 1110 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 1111 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 1112 | "dev": true, 1113 | "requires": { 1114 | "color-name": "1.1.3" 1115 | } 1116 | }, 1117 | "color-name": { 1118 | "version": "1.1.3", 1119 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 1120 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", 1121 | "dev": true 1122 | }, 1123 | "color-sorter": { 1124 | "version": "3.0.0", 1125 | "resolved": "https://registry.npmjs.org/color-sorter/-/color-sorter-3.0.0.tgz", 1126 | "integrity": "sha512-PyAJq7V2kzzNKK5gHLyyEemPlYMawC0fqDcHRW3625e4sYbjBFYK69M3IH+cgnjqhXPobzNIVFknf1vkEZ2Jbw==", 1127 | "requires": { 1128 | "tinycolor2": "^1.4.1" 1129 | } 1130 | }, 1131 | "commander": { 1132 | "version": "2.20.0", 1133 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", 1134 | "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==", 1135 | "dev": true, 1136 | "optional": true 1137 | }, 1138 | "common-path-prefix": { 1139 | "version": "1.0.0", 1140 | "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-1.0.0.tgz", 1141 | "integrity": "sha1-zVL28HEuC6q5fW+XModPIvR3UsA=", 1142 | "dev": true 1143 | }, 1144 | "commondir": { 1145 | "version": "1.0.1", 1146 | "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", 1147 | "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", 1148 | "dev": true 1149 | }, 1150 | "concat-map": { 1151 | "version": "0.0.1", 1152 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 1153 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 1154 | "dev": true 1155 | }, 1156 | "concordance": { 1157 | "version": "4.0.0", 1158 | "resolved": "https://registry.npmjs.org/concordance/-/concordance-4.0.0.tgz", 1159 | "integrity": "sha512-l0RFuB8RLfCS0Pt2Id39/oCPykE01pyxgAFypWTlaGRgvLkZrtczZ8atEHpTeEIW+zYWXTBuA9cCSeEOScxReQ==", 1160 | "dev": true, 1161 | "requires": { 1162 | "date-time": "^2.1.0", 1163 | "esutils": "^2.0.2", 1164 | "fast-diff": "^1.1.2", 1165 | "js-string-escape": "^1.0.1", 1166 | "lodash.clonedeep": "^4.5.0", 1167 | "lodash.flattendeep": "^4.4.0", 1168 | "lodash.islength": "^4.0.1", 1169 | "lodash.merge": "^4.6.1", 1170 | "md5-hex": "^2.0.0", 1171 | "semver": "^5.5.1", 1172 | "well-known-symbols": "^2.0.0" 1173 | }, 1174 | "dependencies": { 1175 | "md5-hex": { 1176 | "version": "2.0.0", 1177 | "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-2.0.0.tgz", 1178 | "integrity": "sha1-0FiOnxx0lUSS7NJKwKxs6ZfZLjM=", 1179 | "dev": true, 1180 | "requires": { 1181 | "md5-o-matic": "^0.1.1" 1182 | } 1183 | } 1184 | } 1185 | }, 1186 | "configstore": { 1187 | "version": "4.0.0", 1188 | "resolved": "https://registry.npmjs.org/configstore/-/configstore-4.0.0.tgz", 1189 | "integrity": "sha512-CmquAXFBocrzaSM8mtGPMM/HiWmyIpr4CcJl/rgY2uCObZ/S7cKU0silxslqJejl+t/T9HS8E0PUNQD81JGUEQ==", 1190 | "dev": true, 1191 | "requires": { 1192 | "dot-prop": "^4.1.0", 1193 | "graceful-fs": "^4.1.2", 1194 | "make-dir": "^1.0.0", 1195 | "unique-string": "^1.0.0", 1196 | "write-file-atomic": "^2.0.0", 1197 | "xdg-basedir": "^3.0.0" 1198 | }, 1199 | "dependencies": { 1200 | "dot-prop": { 1201 | "version": "4.2.1", 1202 | "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.1.tgz", 1203 | "integrity": "sha512-l0p4+mIuJIua0mhxGoh4a+iNL9bmeK5DvnSVQa6T0OhrVmaEa1XScX5Etc673FePCJOArq/4Pa2cLGODUWTPOQ==", 1204 | "dev": true, 1205 | "requires": { 1206 | "is-obj": "^1.0.0" 1207 | } 1208 | }, 1209 | "is-obj": { 1210 | "version": "1.0.1", 1211 | "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", 1212 | "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", 1213 | "dev": true 1214 | }, 1215 | "make-dir": { 1216 | "version": "1.3.0", 1217 | "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", 1218 | "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", 1219 | "dev": true, 1220 | "requires": { 1221 | "pify": "^3.0.0" 1222 | } 1223 | }, 1224 | "pify": { 1225 | "version": "3.0.0", 1226 | "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", 1227 | "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", 1228 | "dev": true 1229 | }, 1230 | "write-file-atomic": { 1231 | "version": "2.4.3", 1232 | "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", 1233 | "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", 1234 | "dev": true, 1235 | "requires": { 1236 | "graceful-fs": "^4.1.11", 1237 | "imurmurhash": "^0.1.4", 1238 | "signal-exit": "^3.0.2" 1239 | } 1240 | } 1241 | } 1242 | }, 1243 | "convert-source-map": { 1244 | "version": "1.6.0", 1245 | "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", 1246 | "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", 1247 | "dev": true, 1248 | "requires": { 1249 | "safe-buffer": "~5.1.1" 1250 | } 1251 | }, 1252 | "convert-to-spaces": { 1253 | "version": "1.0.2", 1254 | "resolved": "https://registry.npmjs.org/convert-to-spaces/-/convert-to-spaces-1.0.2.tgz", 1255 | "integrity": "sha1-fj5Iu+bZl7FBfdyihoIEtNPYVxU=", 1256 | "dev": true 1257 | }, 1258 | "core-js": { 1259 | "version": "2.6.9", 1260 | "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", 1261 | "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==", 1262 | "dev": true 1263 | }, 1264 | "cp-file": { 1265 | "version": "6.2.0", 1266 | "resolved": "https://registry.npmjs.org/cp-file/-/cp-file-6.2.0.tgz", 1267 | "integrity": "sha512-fmvV4caBnofhPe8kOcitBwSn2f39QLjnAnGq3gO9dfd75mUytzKNZB1hde6QHunW2Rt+OwuBOMc3i1tNElbszA==", 1268 | "dev": true, 1269 | "requires": { 1270 | "graceful-fs": "^4.1.2", 1271 | "make-dir": "^2.0.0", 1272 | "nested-error-stacks": "^2.0.0", 1273 | "pify": "^4.0.1", 1274 | "safe-buffer": "^5.0.1" 1275 | }, 1276 | "dependencies": { 1277 | "make-dir": { 1278 | "version": "2.1.0", 1279 | "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", 1280 | "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", 1281 | "dev": true, 1282 | "requires": { 1283 | "pify": "^4.0.1", 1284 | "semver": "^5.6.0" 1285 | } 1286 | } 1287 | } 1288 | }, 1289 | "cross-spawn": { 1290 | "version": "5.1.0", 1291 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", 1292 | "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", 1293 | "dev": true, 1294 | "requires": { 1295 | "lru-cache": "^4.0.1", 1296 | "shebang-command": "^1.2.0", 1297 | "which": "^1.2.9" 1298 | } 1299 | }, 1300 | "crypto-random-string": { 1301 | "version": "1.0.0", 1302 | "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", 1303 | "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=", 1304 | "dev": true 1305 | }, 1306 | "css-unit-sort": { 1307 | "version": "1.1.1", 1308 | "resolved": "https://registry.npmjs.org/css-unit-sort/-/css-unit-sort-1.1.1.tgz", 1309 | "integrity": "sha1-+yc4rBab/yxJ4fMjl2wfWfnemh4=" 1310 | }, 1311 | "currently-unhandled": { 1312 | "version": "0.4.1", 1313 | "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", 1314 | "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", 1315 | "dev": true, 1316 | "requires": { 1317 | "array-find-index": "^1.0.1" 1318 | } 1319 | }, 1320 | "date-time": { 1321 | "version": "2.1.0", 1322 | "resolved": "https://registry.npmjs.org/date-time/-/date-time-2.1.0.tgz", 1323 | "integrity": "sha512-/9+C44X7lot0IeiyfgJmETtRMhBidBYM2QFFIkGa0U1k+hSyY87Nw7PY3eDqpvCBm7I3WCSfPeZskW/YYq6m4g==", 1324 | "dev": true, 1325 | "requires": { 1326 | "time-zone": "^1.0.0" 1327 | } 1328 | }, 1329 | "debug": { 1330 | "version": "4.1.1", 1331 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", 1332 | "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", 1333 | "dev": true, 1334 | "requires": { 1335 | "ms": "^2.1.1" 1336 | } 1337 | }, 1338 | "decamelize": { 1339 | "version": "1.2.0", 1340 | "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", 1341 | "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", 1342 | "dev": true 1343 | }, 1344 | "decamelize-keys": { 1345 | "version": "1.1.0", 1346 | "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", 1347 | "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", 1348 | "dev": true, 1349 | "requires": { 1350 | "decamelize": "^1.1.0", 1351 | "map-obj": "^1.0.0" 1352 | }, 1353 | "dependencies": { 1354 | "map-obj": { 1355 | "version": "1.0.1", 1356 | "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", 1357 | "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", 1358 | "dev": true 1359 | } 1360 | } 1361 | }, 1362 | "decompress-response": { 1363 | "version": "3.3.0", 1364 | "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", 1365 | "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", 1366 | "dev": true, 1367 | "requires": { 1368 | "mimic-response": "^1.0.0" 1369 | } 1370 | }, 1371 | "deep-equal": { 1372 | "version": "1.1.0", 1373 | "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.0.tgz", 1374 | "integrity": "sha512-ZbfWJq/wN1Z273o7mUSjILYqehAktR2NVoSrOukDkU9kg2v/Uv89yU4Cvz8seJeAmtN5oqiefKq8FPuXOboqLw==", 1375 | "dev": true, 1376 | "requires": { 1377 | "is-arguments": "^1.0.4", 1378 | "is-date-object": "^1.0.1", 1379 | "is-regex": "^1.0.4", 1380 | "object-is": "^1.0.1", 1381 | "object-keys": "^1.1.1", 1382 | "regexp.prototype.flags": "^1.2.0" 1383 | } 1384 | }, 1385 | "deep-extend": { 1386 | "version": "0.6.0", 1387 | "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", 1388 | "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", 1389 | "dev": true 1390 | }, 1391 | "deep-is": { 1392 | "version": "0.1.3", 1393 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", 1394 | "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", 1395 | "dev": true 1396 | }, 1397 | "default-require-extensions": { 1398 | "version": "2.0.0", 1399 | "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz", 1400 | "integrity": "sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc=", 1401 | "dev": true, 1402 | "requires": { 1403 | "strip-bom": "^3.0.0" 1404 | } 1405 | }, 1406 | "defaults": { 1407 | "version": "1.0.3", 1408 | "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", 1409 | "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", 1410 | "dev": true, 1411 | "requires": { 1412 | "clone": "^1.0.2" 1413 | } 1414 | }, 1415 | "defer-to-connect": { 1416 | "version": "1.0.2", 1417 | "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.0.2.tgz", 1418 | "integrity": "sha512-k09hcQcTDY+cwgiwa6PYKLm3jlagNzQ+RSvhjzESOGOx+MNOuXkxTfEvPrO1IOQ81tArCFYQgi631clB70RpQw==", 1419 | "dev": true 1420 | }, 1421 | "define-properties": { 1422 | "version": "1.1.3", 1423 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", 1424 | "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", 1425 | "dev": true, 1426 | "requires": { 1427 | "object-keys": "^1.0.12" 1428 | } 1429 | }, 1430 | "del": { 1431 | "version": "4.1.1", 1432 | "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", 1433 | "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", 1434 | "dev": true, 1435 | "requires": { 1436 | "@types/glob": "^7.1.1", 1437 | "globby": "^6.1.0", 1438 | "is-path-cwd": "^2.0.0", 1439 | "is-path-in-cwd": "^2.0.0", 1440 | "p-map": "^2.0.0", 1441 | "pify": "^4.0.1", 1442 | "rimraf": "^2.6.3" 1443 | }, 1444 | "dependencies": { 1445 | "array-union": { 1446 | "version": "1.0.2", 1447 | "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", 1448 | "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", 1449 | "dev": true, 1450 | "requires": { 1451 | "array-uniq": "^1.0.1" 1452 | } 1453 | }, 1454 | "array-uniq": { 1455 | "version": "1.0.3", 1456 | "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", 1457 | "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", 1458 | "dev": true 1459 | }, 1460 | "globby": { 1461 | "version": "6.1.0", 1462 | "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", 1463 | "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", 1464 | "dev": true, 1465 | "requires": { 1466 | "array-union": "^1.0.1", 1467 | "glob": "^7.0.3", 1468 | "object-assign": "^4.0.1", 1469 | "pify": "^2.0.0", 1470 | "pinkie-promise": "^2.0.0" 1471 | }, 1472 | "dependencies": { 1473 | "pify": { 1474 | "version": "2.3.0", 1475 | "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", 1476 | "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", 1477 | "dev": true 1478 | } 1479 | } 1480 | } 1481 | } 1482 | }, 1483 | "dir-glob": { 1484 | "version": "3.0.1", 1485 | "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", 1486 | "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", 1487 | "dev": true, 1488 | "requires": { 1489 | "path-type": "^4.0.0" 1490 | } 1491 | }, 1492 | "doctrine": { 1493 | "version": "3.0.0", 1494 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", 1495 | "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", 1496 | "dev": true, 1497 | "requires": { 1498 | "esutils": "^2.0.2" 1499 | } 1500 | }, 1501 | "dot-prop": { 1502 | "version": "5.3.0", 1503 | "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", 1504 | "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", 1505 | "dev": true, 1506 | "requires": { 1507 | "is-obj": "^2.0.0" 1508 | } 1509 | }, 1510 | "duplexer3": { 1511 | "version": "0.1.4", 1512 | "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", 1513 | "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", 1514 | "dev": true 1515 | }, 1516 | "emittery": { 1517 | "version": "0.4.1", 1518 | "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.4.1.tgz", 1519 | "integrity": "sha512-r4eRSeStEGf6M5SKdrQhhLK5bOwOBxQhIE3YSTnZE3GpKiLfnnhE+tPtrJE79+eDJgm39BM6LSoI8SCx4HbwlQ==", 1520 | "dev": true 1521 | }, 1522 | "emoji-regex": { 1523 | "version": "8.0.0", 1524 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 1525 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 1526 | "dev": true 1527 | }, 1528 | "empower-core": { 1529 | "version": "1.2.0", 1530 | "resolved": "https://registry.npmjs.org/empower-core/-/empower-core-1.2.0.tgz", 1531 | "integrity": "sha512-g6+K6Geyc1o6FdXs9HwrXleCFan7d66G5xSCfSF7x1mJDCes6t0om9lFQG3zOrzh3Bkb/45N0cZ5Gqsf7YrzGQ==", 1532 | "dev": true, 1533 | "requires": { 1534 | "call-signature": "0.0.2", 1535 | "core-js": "^2.0.0" 1536 | } 1537 | }, 1538 | "end-of-stream": { 1539 | "version": "1.4.1", 1540 | "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", 1541 | "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", 1542 | "dev": true, 1543 | "requires": { 1544 | "once": "^1.4.0" 1545 | } 1546 | }, 1547 | "equal-length": { 1548 | "version": "1.0.1", 1549 | "resolved": "https://registry.npmjs.org/equal-length/-/equal-length-1.0.1.tgz", 1550 | "integrity": "sha1-IcoRLUirJLTh5//A5TOdMf38J0w=", 1551 | "dev": true 1552 | }, 1553 | "error-ex": { 1554 | "version": "1.3.2", 1555 | "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", 1556 | "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", 1557 | "dev": true, 1558 | "requires": { 1559 | "is-arrayish": "^0.2.1" 1560 | } 1561 | }, 1562 | "es6-error": { 1563 | "version": "4.1.1", 1564 | "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", 1565 | "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", 1566 | "dev": true 1567 | }, 1568 | "escape-string-regexp": { 1569 | "version": "2.0.0", 1570 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", 1571 | "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", 1572 | "dev": true 1573 | }, 1574 | "eslint": { 1575 | "version": "6.3.0", 1576 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.3.0.tgz", 1577 | "integrity": "sha512-ZvZTKaqDue+N8Y9g0kp6UPZtS4FSY3qARxBs7p4f0H0iof381XHduqVerFWtK8DPtKmemqbqCFENWSQgPR/Gow==", 1578 | "dev": true, 1579 | "requires": { 1580 | "@babel/code-frame": "^7.0.0", 1581 | "ajv": "^6.10.0", 1582 | "chalk": "^2.1.0", 1583 | "cross-spawn": "^6.0.5", 1584 | "debug": "^4.0.1", 1585 | "doctrine": "^3.0.0", 1586 | "eslint-scope": "^5.0.0", 1587 | "eslint-utils": "^1.4.2", 1588 | "eslint-visitor-keys": "^1.1.0", 1589 | "espree": "^6.1.1", 1590 | "esquery": "^1.0.1", 1591 | "esutils": "^2.0.2", 1592 | "file-entry-cache": "^5.0.1", 1593 | "functional-red-black-tree": "^1.0.1", 1594 | "glob-parent": "^5.0.0", 1595 | "globals": "^11.7.0", 1596 | "ignore": "^4.0.6", 1597 | "import-fresh": "^3.0.0", 1598 | "imurmurhash": "^0.1.4", 1599 | "inquirer": "^6.4.1", 1600 | "is-glob": "^4.0.0", 1601 | "js-yaml": "^3.13.1", 1602 | "json-stable-stringify-without-jsonify": "^1.0.1", 1603 | "levn": "^0.3.0", 1604 | "lodash": "^4.17.14", 1605 | "minimatch": "^3.0.4", 1606 | "mkdirp": "^0.5.1", 1607 | "natural-compare": "^1.4.0", 1608 | "optionator": "^0.8.2", 1609 | "progress": "^2.0.0", 1610 | "regexpp": "^2.0.1", 1611 | "semver": "^6.1.2", 1612 | "strip-ansi": "^5.2.0", 1613 | "strip-json-comments": "^3.0.1", 1614 | "table": "^5.2.3", 1615 | "text-table": "^0.2.0", 1616 | "v8-compile-cache": "^2.0.3" 1617 | }, 1618 | "dependencies": { 1619 | "cross-spawn": { 1620 | "version": "6.0.5", 1621 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", 1622 | "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", 1623 | "dev": true, 1624 | "requires": { 1625 | "nice-try": "^1.0.4", 1626 | "path-key": "^2.0.1", 1627 | "semver": "^5.5.0", 1628 | "shebang-command": "^1.2.0", 1629 | "which": "^1.2.9" 1630 | }, 1631 | "dependencies": { 1632 | "semver": { 1633 | "version": "5.7.1", 1634 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", 1635 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", 1636 | "dev": true 1637 | } 1638 | } 1639 | }, 1640 | "ignore": { 1641 | "version": "4.0.6", 1642 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", 1643 | "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", 1644 | "dev": true 1645 | }, 1646 | "semver": { 1647 | "version": "6.3.0", 1648 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", 1649 | "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", 1650 | "dev": true 1651 | }, 1652 | "strip-json-comments": { 1653 | "version": "3.0.1", 1654 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz", 1655 | "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==", 1656 | "dev": true 1657 | } 1658 | } 1659 | }, 1660 | "eslint-config-xo": { 1661 | "version": "0.26.0", 1662 | "resolved": "https://registry.npmjs.org/eslint-config-xo/-/eslint-config-xo-0.26.0.tgz", 1663 | "integrity": "sha512-l+93kmBSNr5rMrsqwC6xVWsi8LI4He3z6jSk38e9bAkMNsVsQ8XYO+qzXfJFgFX4i/+hiTswyHtl+nDut9rPaA==", 1664 | "dev": true 1665 | }, 1666 | "eslint-scope": { 1667 | "version": "5.0.0", 1668 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz", 1669 | "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==", 1670 | "dev": true, 1671 | "requires": { 1672 | "esrecurse": "^4.1.0", 1673 | "estraverse": "^4.1.1" 1674 | } 1675 | }, 1676 | "eslint-utils": { 1677 | "version": "1.4.2", 1678 | "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.2.tgz", 1679 | "integrity": "sha512-eAZS2sEUMlIeCjBeubdj45dmBHQwPHWyBcT1VSYB7o9x9WRRqKxyUoiXlRjyAwzN7YEzHJlYg0NmzDRWx6GP4Q==", 1680 | "dev": true, 1681 | "requires": { 1682 | "eslint-visitor-keys": "^1.0.0" 1683 | } 1684 | }, 1685 | "eslint-visitor-keys": { 1686 | "version": "1.1.0", 1687 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", 1688 | "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==", 1689 | "dev": true 1690 | }, 1691 | "esm": { 1692 | "version": "3.2.25", 1693 | "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", 1694 | "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==", 1695 | "dev": true 1696 | }, 1697 | "espower-location-detector": { 1698 | "version": "1.0.0", 1699 | "resolved": "https://registry.npmjs.org/espower-location-detector/-/espower-location-detector-1.0.0.tgz", 1700 | "integrity": "sha1-oXt+zFnTDheeK+9z+0E3cEyzMbU=", 1701 | "dev": true, 1702 | "requires": { 1703 | "is-url": "^1.2.1", 1704 | "path-is-absolute": "^1.0.0", 1705 | "source-map": "^0.5.0", 1706 | "xtend": "^4.0.0" 1707 | } 1708 | }, 1709 | "espree": { 1710 | "version": "6.1.1", 1711 | "resolved": "https://registry.npmjs.org/espree/-/espree-6.1.1.tgz", 1712 | "integrity": "sha512-EYbr8XZUhWbYCqQRW0duU5LxzL5bETN6AjKBGy1302qqzPaCH10QbRg3Wvco79Z8x9WbiE8HYB4e75xl6qUYvQ==", 1713 | "dev": true, 1714 | "requires": { 1715 | "acorn": "^7.0.0", 1716 | "acorn-jsx": "^5.0.2", 1717 | "eslint-visitor-keys": "^1.1.0" 1718 | } 1719 | }, 1720 | "esprima": { 1721 | "version": "4.0.1", 1722 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", 1723 | "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", 1724 | "dev": true 1725 | }, 1726 | "espurify": { 1727 | "version": "1.8.1", 1728 | "resolved": "https://registry.npmjs.org/espurify/-/espurify-1.8.1.tgz", 1729 | "integrity": "sha512-ZDko6eY/o+D/gHCWyHTU85mKDgYcS4FJj7S+YD6WIInm7GQ6AnOjmcL4+buFV/JOztVLELi/7MmuGU5NHta0Mg==", 1730 | "dev": true, 1731 | "requires": { 1732 | "core-js": "^2.0.0" 1733 | } 1734 | }, 1735 | "esquery": { 1736 | "version": "1.0.1", 1737 | "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", 1738 | "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", 1739 | "dev": true, 1740 | "requires": { 1741 | "estraverse": "^4.0.0" 1742 | } 1743 | }, 1744 | "esrecurse": { 1745 | "version": "4.2.1", 1746 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", 1747 | "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", 1748 | "dev": true, 1749 | "requires": { 1750 | "estraverse": "^4.1.0" 1751 | } 1752 | }, 1753 | "estraverse": { 1754 | "version": "4.3.0", 1755 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", 1756 | "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", 1757 | "dev": true 1758 | }, 1759 | "esutils": { 1760 | "version": "2.0.3", 1761 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", 1762 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", 1763 | "dev": true 1764 | }, 1765 | "execa": { 1766 | "version": "0.7.0", 1767 | "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", 1768 | "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", 1769 | "dev": true, 1770 | "requires": { 1771 | "cross-spawn": "^5.0.1", 1772 | "get-stream": "^3.0.0", 1773 | "is-stream": "^1.1.0", 1774 | "npm-run-path": "^2.0.0", 1775 | "p-finally": "^1.0.0", 1776 | "signal-exit": "^3.0.0", 1777 | "strip-eof": "^1.0.0" 1778 | } 1779 | }, 1780 | "external-editor": { 1781 | "version": "3.1.0", 1782 | "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", 1783 | "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", 1784 | "dev": true, 1785 | "requires": { 1786 | "chardet": "^0.7.0", 1787 | "iconv-lite": "^0.4.24", 1788 | "tmp": "^0.0.33" 1789 | } 1790 | }, 1791 | "fast-deep-equal": { 1792 | "version": "2.0.1", 1793 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", 1794 | "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", 1795 | "dev": true 1796 | }, 1797 | "fast-diff": { 1798 | "version": "1.2.0", 1799 | "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", 1800 | "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", 1801 | "dev": true 1802 | }, 1803 | "fast-glob": { 1804 | "version": "3.0.4", 1805 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.0.4.tgz", 1806 | "integrity": "sha512-wkIbV6qg37xTJwqSsdnIphL1e+LaGz4AIQqr00mIubMaEhv1/HEmJ0uuCGZRNRUkZZmOB5mJKO0ZUTVq+SxMQg==", 1807 | "dev": true, 1808 | "requires": { 1809 | "@nodelib/fs.stat": "^2.0.1", 1810 | "@nodelib/fs.walk": "^1.2.1", 1811 | "glob-parent": "^5.0.0", 1812 | "is-glob": "^4.0.1", 1813 | "merge2": "^1.2.3", 1814 | "micromatch": "^4.0.2" 1815 | } 1816 | }, 1817 | "fast-json-stable-stringify": { 1818 | "version": "2.0.0", 1819 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", 1820 | "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", 1821 | "dev": true 1822 | }, 1823 | "fast-levenshtein": { 1824 | "version": "2.0.6", 1825 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 1826 | "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", 1827 | "dev": true 1828 | }, 1829 | "fastq": { 1830 | "version": "1.6.0", 1831 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.6.0.tgz", 1832 | "integrity": "sha512-jmxqQ3Z/nXoeyDmWAzF9kH1aGZSis6e/SbfPmJpUnyZ0ogr6iscHQaml4wsEepEWSdtmpy+eVXmCRIMpxaXqOA==", 1833 | "dev": true, 1834 | "requires": { 1835 | "reusify": "^1.0.0" 1836 | } 1837 | }, 1838 | "figures": { 1839 | "version": "3.0.0", 1840 | "resolved": "https://registry.npmjs.org/figures/-/figures-3.0.0.tgz", 1841 | "integrity": "sha512-HKri+WoWoUgr83pehn/SIgLOMZ9nAWC6dcGj26RY2R4F50u4+RTUz0RCrUlOV3nKRAICW1UGzyb+kcX2qK1S/g==", 1842 | "dev": true, 1843 | "requires": { 1844 | "escape-string-regexp": "^1.0.5" 1845 | }, 1846 | "dependencies": { 1847 | "escape-string-regexp": { 1848 | "version": "1.0.5", 1849 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 1850 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 1851 | "dev": true 1852 | } 1853 | } 1854 | }, 1855 | "file-entry-cache": { 1856 | "version": "5.0.1", 1857 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", 1858 | "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", 1859 | "dev": true, 1860 | "requires": { 1861 | "flat-cache": "^2.0.1" 1862 | } 1863 | }, 1864 | "fill-range": { 1865 | "version": "7.0.1", 1866 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", 1867 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", 1868 | "dev": true, 1869 | "requires": { 1870 | "to-regex-range": "^5.0.1" 1871 | } 1872 | }, 1873 | "find-cache-dir": { 1874 | "version": "2.1.0", 1875 | "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", 1876 | "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", 1877 | "dev": true, 1878 | "requires": { 1879 | "commondir": "^1.0.1", 1880 | "make-dir": "^2.0.0", 1881 | "pkg-dir": "^3.0.0" 1882 | }, 1883 | "dependencies": { 1884 | "find-up": { 1885 | "version": "3.0.0", 1886 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", 1887 | "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", 1888 | "dev": true, 1889 | "requires": { 1890 | "locate-path": "^3.0.0" 1891 | } 1892 | }, 1893 | "locate-path": { 1894 | "version": "3.0.0", 1895 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", 1896 | "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", 1897 | "dev": true, 1898 | "requires": { 1899 | "p-locate": "^3.0.0", 1900 | "path-exists": "^3.0.0" 1901 | } 1902 | }, 1903 | "make-dir": { 1904 | "version": "2.1.0", 1905 | "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", 1906 | "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", 1907 | "dev": true, 1908 | "requires": { 1909 | "pify": "^4.0.1", 1910 | "semver": "^5.6.0" 1911 | } 1912 | }, 1913 | "p-locate": { 1914 | "version": "3.0.0", 1915 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", 1916 | "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", 1917 | "dev": true, 1918 | "requires": { 1919 | "p-limit": "^2.0.0" 1920 | } 1921 | }, 1922 | "path-exists": { 1923 | "version": "3.0.0", 1924 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", 1925 | "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", 1926 | "dev": true 1927 | }, 1928 | "pkg-dir": { 1929 | "version": "3.0.0", 1930 | "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", 1931 | "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", 1932 | "dev": true, 1933 | "requires": { 1934 | "find-up": "^3.0.0" 1935 | } 1936 | } 1937 | } 1938 | }, 1939 | "find-up": { 1940 | "version": "4.1.0", 1941 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", 1942 | "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", 1943 | "dev": true, 1944 | "requires": { 1945 | "locate-path": "^5.0.0", 1946 | "path-exists": "^4.0.0" 1947 | } 1948 | }, 1949 | "flat-cache": { 1950 | "version": "2.0.1", 1951 | "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", 1952 | "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", 1953 | "dev": true, 1954 | "requires": { 1955 | "flatted": "^2.0.0", 1956 | "rimraf": "2.6.3", 1957 | "write": "1.0.3" 1958 | }, 1959 | "dependencies": { 1960 | "rimraf": { 1961 | "version": "2.6.3", 1962 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", 1963 | "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", 1964 | "dev": true, 1965 | "requires": { 1966 | "glob": "^7.1.3" 1967 | } 1968 | } 1969 | } 1970 | }, 1971 | "flatted": { 1972 | "version": "2.0.1", 1973 | "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz", 1974 | "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==", 1975 | "dev": true 1976 | }, 1977 | "foreground-child": { 1978 | "version": "1.5.6", 1979 | "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", 1980 | "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", 1981 | "dev": true, 1982 | "requires": { 1983 | "cross-spawn": "^4", 1984 | "signal-exit": "^3.0.0" 1985 | }, 1986 | "dependencies": { 1987 | "cross-spawn": { 1988 | "version": "4.0.2", 1989 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", 1990 | "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", 1991 | "dev": true, 1992 | "requires": { 1993 | "lru-cache": "^4.0.1", 1994 | "which": "^1.2.9" 1995 | } 1996 | } 1997 | } 1998 | }, 1999 | "fs.realpath": { 2000 | "version": "1.0.0", 2001 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 2002 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 2003 | "dev": true 2004 | }, 2005 | "fsevents": { 2006 | "version": "2.0.7", 2007 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.0.7.tgz", 2008 | "integrity": "sha512-a7YT0SV3RB+DjYcppwVDLtn13UQnmg0SWZS7ezZD0UjnLwXmy8Zm21GMVGLaFGimIqcvyMQaOJBrop8MyOp1kQ==", 2009 | "dev": true, 2010 | "optional": true 2011 | }, 2012 | "function-bind": { 2013 | "version": "1.1.1", 2014 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 2015 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", 2016 | "dev": true 2017 | }, 2018 | "functional-red-black-tree": { 2019 | "version": "1.0.1", 2020 | "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", 2021 | "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", 2022 | "dev": true 2023 | }, 2024 | "get-caller-file": { 2025 | "version": "2.0.5", 2026 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", 2027 | "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", 2028 | "dev": true 2029 | }, 2030 | "get-port": { 2031 | "version": "5.0.0", 2032 | "resolved": "https://registry.npmjs.org/get-port/-/get-port-5.0.0.tgz", 2033 | "integrity": "sha512-imzMU0FjsZqNa6BqOjbbW6w5BivHIuQKopjpPqcnx0AVHJQKCxK1O+Ab3OrVXhrekqfVMjwA9ZYu062R+KcIsQ==", 2034 | "dev": true, 2035 | "requires": { 2036 | "type-fest": "^0.3.0" 2037 | }, 2038 | "dependencies": { 2039 | "type-fest": { 2040 | "version": "0.3.1", 2041 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", 2042 | "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==", 2043 | "dev": true 2044 | } 2045 | } 2046 | }, 2047 | "get-stream": { 2048 | "version": "3.0.0", 2049 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", 2050 | "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", 2051 | "dev": true 2052 | }, 2053 | "glob": { 2054 | "version": "7.1.4", 2055 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", 2056 | "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", 2057 | "dev": true, 2058 | "requires": { 2059 | "fs.realpath": "^1.0.0", 2060 | "inflight": "^1.0.4", 2061 | "inherits": "2", 2062 | "minimatch": "^3.0.4", 2063 | "once": "^1.3.0", 2064 | "path-is-absolute": "^1.0.0" 2065 | } 2066 | }, 2067 | "glob-parent": { 2068 | "version": "5.1.2", 2069 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 2070 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 2071 | "dev": true, 2072 | "requires": { 2073 | "is-glob": "^4.0.1" 2074 | } 2075 | }, 2076 | "global-dirs": { 2077 | "version": "0.1.1", 2078 | "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", 2079 | "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", 2080 | "dev": true, 2081 | "requires": { 2082 | "ini": "^1.3.4" 2083 | } 2084 | }, 2085 | "globals": { 2086 | "version": "11.12.0", 2087 | "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", 2088 | "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", 2089 | "dev": true 2090 | }, 2091 | "globby": { 2092 | "version": "10.0.1", 2093 | "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.1.tgz", 2094 | "integrity": "sha512-sSs4inE1FB2YQiymcmTv6NWENryABjUNPeWhOvmn4SjtKybglsyPZxFB3U1/+L1bYi0rNZDqCLlHyLYDl1Pq5A==", 2095 | "dev": true, 2096 | "requires": { 2097 | "@types/glob": "^7.1.1", 2098 | "array-union": "^2.1.0", 2099 | "dir-glob": "^3.0.1", 2100 | "fast-glob": "^3.0.3", 2101 | "glob": "^7.1.3", 2102 | "ignore": "^5.1.1", 2103 | "merge2": "^1.2.3", 2104 | "slash": "^3.0.0" 2105 | } 2106 | }, 2107 | "got": { 2108 | "version": "9.6.0", 2109 | "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", 2110 | "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", 2111 | "dev": true, 2112 | "requires": { 2113 | "@sindresorhus/is": "^0.14.0", 2114 | "@szmarczak/http-timer": "^1.1.2", 2115 | "cacheable-request": "^6.0.0", 2116 | "decompress-response": "^3.3.0", 2117 | "duplexer3": "^0.1.4", 2118 | "get-stream": "^4.1.0", 2119 | "lowercase-keys": "^1.0.1", 2120 | "mimic-response": "^1.0.1", 2121 | "p-cancelable": "^1.0.0", 2122 | "to-readable-stream": "^1.0.0", 2123 | "url-parse-lax": "^3.0.0" 2124 | }, 2125 | "dependencies": { 2126 | "get-stream": { 2127 | "version": "4.1.0", 2128 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", 2129 | "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", 2130 | "dev": true, 2131 | "requires": { 2132 | "pump": "^3.0.0" 2133 | } 2134 | } 2135 | } 2136 | }, 2137 | "graceful-fs": { 2138 | "version": "4.2.2", 2139 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz", 2140 | "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==", 2141 | "dev": true 2142 | }, 2143 | "handlebars": { 2144 | "version": "4.5.3", 2145 | "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.5.3.tgz", 2146 | "integrity": "sha512-3yPecJoJHK/4c6aZhSvxOyG4vJKDshV36VHp0iVCDVh7o9w2vwi3NSnL2MMPj3YdduqaBcu7cGbggJQM0br9xA==", 2147 | "dev": true, 2148 | "requires": { 2149 | "neo-async": "^2.6.0", 2150 | "optimist": "^0.6.1", 2151 | "source-map": "^0.6.1", 2152 | "uglify-js": "^3.1.4" 2153 | }, 2154 | "dependencies": { 2155 | "source-map": { 2156 | "version": "0.6.1", 2157 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 2158 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 2159 | "dev": true 2160 | } 2161 | } 2162 | }, 2163 | "has": { 2164 | "version": "1.0.3", 2165 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 2166 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 2167 | "dev": true, 2168 | "requires": { 2169 | "function-bind": "^1.1.1" 2170 | } 2171 | }, 2172 | "has-flag": { 2173 | "version": "3.0.0", 2174 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 2175 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", 2176 | "dev": true 2177 | }, 2178 | "has-symbols": { 2179 | "version": "1.0.0", 2180 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", 2181 | "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", 2182 | "dev": true 2183 | }, 2184 | "has-yarn": { 2185 | "version": "2.1.0", 2186 | "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", 2187 | "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==", 2188 | "dev": true 2189 | }, 2190 | "hasha": { 2191 | "version": "5.0.0", 2192 | "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.0.0.tgz", 2193 | "integrity": "sha512-PqWdhnQhq6tqD32hZv+l1e5mJHNSudjnaAzgAHfkGiU0ABN6lmbZF8abJIulQHbZ7oiHhP8yL6O910ICMc+5pw==", 2194 | "dev": true, 2195 | "requires": { 2196 | "is-stream": "^1.1.0", 2197 | "type-fest": "^0.3.0" 2198 | }, 2199 | "dependencies": { 2200 | "type-fest": { 2201 | "version": "0.3.1", 2202 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", 2203 | "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==", 2204 | "dev": true 2205 | } 2206 | } 2207 | }, 2208 | "hosted-git-info": { 2209 | "version": "2.8.4", 2210 | "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.4.tgz", 2211 | "integrity": "sha512-pzXIvANXEFrc5oFFXRMkbLPQ2rXRoDERwDLyrcUxGhaZhgP54BBSl9Oheh7Vv0T090cszWBxPjkQQ5Sq1PbBRQ==", 2212 | "dev": true 2213 | }, 2214 | "http-cache-semantics": { 2215 | "version": "4.0.3", 2216 | "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz", 2217 | "integrity": "sha512-TcIMG3qeVLgDr1TEd2XvHaTnMPwYQUQMIBLy+5pLSDKYFc7UIqj39w8EGzZkaxoLv/l2K8HaI0t5AVA+YYgUew==", 2218 | "dev": true 2219 | }, 2220 | "iconv-lite": { 2221 | "version": "0.4.24", 2222 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", 2223 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", 2224 | "dev": true, 2225 | "requires": { 2226 | "safer-buffer": ">= 2.1.2 < 3" 2227 | } 2228 | }, 2229 | "ignore": { 2230 | "version": "5.1.4", 2231 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz", 2232 | "integrity": "sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A==", 2233 | "dev": true 2234 | }, 2235 | "ignore-by-default": { 2236 | "version": "1.0.1", 2237 | "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", 2238 | "integrity": "sha1-SMptcvbGo68Aqa1K5odr44ieKwk=", 2239 | "dev": true 2240 | }, 2241 | "import-fresh": { 2242 | "version": "3.1.0", 2243 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.1.0.tgz", 2244 | "integrity": "sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ==", 2245 | "dev": true, 2246 | "requires": { 2247 | "parent-module": "^1.0.0", 2248 | "resolve-from": "^4.0.0" 2249 | }, 2250 | "dependencies": { 2251 | "resolve-from": { 2252 | "version": "4.0.0", 2253 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", 2254 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", 2255 | "dev": true 2256 | } 2257 | } 2258 | }, 2259 | "import-lazy": { 2260 | "version": "2.1.0", 2261 | "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", 2262 | "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", 2263 | "dev": true 2264 | }, 2265 | "import-local": { 2266 | "version": "3.0.2", 2267 | "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", 2268 | "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", 2269 | "dev": true, 2270 | "requires": { 2271 | "pkg-dir": "^4.2.0", 2272 | "resolve-cwd": "^3.0.0" 2273 | } 2274 | }, 2275 | "imurmurhash": { 2276 | "version": "0.1.4", 2277 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 2278 | "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", 2279 | "dev": true 2280 | }, 2281 | "indent-string": { 2282 | "version": "4.0.0", 2283 | "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", 2284 | "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", 2285 | "dev": true 2286 | }, 2287 | "inflight": { 2288 | "version": "1.0.6", 2289 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 2290 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 2291 | "dev": true, 2292 | "requires": { 2293 | "once": "^1.3.0", 2294 | "wrappy": "1" 2295 | } 2296 | }, 2297 | "inherits": { 2298 | "version": "2.0.4", 2299 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 2300 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 2301 | "dev": true 2302 | }, 2303 | "ini": { 2304 | "version": "1.3.7", 2305 | "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.7.tgz", 2306 | "integrity": "sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==", 2307 | "dev": true 2308 | }, 2309 | "inquirer": { 2310 | "version": "6.5.2", 2311 | "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", 2312 | "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", 2313 | "dev": true, 2314 | "requires": { 2315 | "ansi-escapes": "^3.2.0", 2316 | "chalk": "^2.4.2", 2317 | "cli-cursor": "^2.1.0", 2318 | "cli-width": "^2.0.0", 2319 | "external-editor": "^3.0.3", 2320 | "figures": "^2.0.0", 2321 | "lodash": "^4.17.12", 2322 | "mute-stream": "0.0.7", 2323 | "run-async": "^2.2.0", 2324 | "rxjs": "^6.4.0", 2325 | "string-width": "^2.1.0", 2326 | "strip-ansi": "^5.1.0", 2327 | "through": "^2.3.6" 2328 | }, 2329 | "dependencies": { 2330 | "ansi-escapes": { 2331 | "version": "3.2.0", 2332 | "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", 2333 | "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", 2334 | "dev": true 2335 | }, 2336 | "ansi-regex": { 2337 | "version": "3.0.0", 2338 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", 2339 | "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", 2340 | "dev": true 2341 | }, 2342 | "cli-cursor": { 2343 | "version": "2.1.0", 2344 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", 2345 | "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", 2346 | "dev": true, 2347 | "requires": { 2348 | "restore-cursor": "^2.0.0" 2349 | } 2350 | }, 2351 | "escape-string-regexp": { 2352 | "version": "1.0.5", 2353 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 2354 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 2355 | "dev": true 2356 | }, 2357 | "figures": { 2358 | "version": "2.0.0", 2359 | "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", 2360 | "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", 2361 | "dev": true, 2362 | "requires": { 2363 | "escape-string-regexp": "^1.0.5" 2364 | } 2365 | }, 2366 | "mimic-fn": { 2367 | "version": "1.2.0", 2368 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", 2369 | "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", 2370 | "dev": true 2371 | }, 2372 | "onetime": { 2373 | "version": "2.0.1", 2374 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", 2375 | "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", 2376 | "dev": true, 2377 | "requires": { 2378 | "mimic-fn": "^1.0.0" 2379 | } 2380 | }, 2381 | "restore-cursor": { 2382 | "version": "2.0.0", 2383 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", 2384 | "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", 2385 | "dev": true, 2386 | "requires": { 2387 | "onetime": "^2.0.0", 2388 | "signal-exit": "^3.0.2" 2389 | } 2390 | }, 2391 | "string-width": { 2392 | "version": "2.1.1", 2393 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", 2394 | "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", 2395 | "dev": true, 2396 | "requires": { 2397 | "is-fullwidth-code-point": "^2.0.0", 2398 | "strip-ansi": "^4.0.0" 2399 | }, 2400 | "dependencies": { 2401 | "strip-ansi": { 2402 | "version": "4.0.0", 2403 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", 2404 | "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", 2405 | "dev": true, 2406 | "requires": { 2407 | "ansi-regex": "^3.0.0" 2408 | } 2409 | } 2410 | } 2411 | } 2412 | } 2413 | }, 2414 | "irregular-plurals": { 2415 | "version": "2.0.0", 2416 | "resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-2.0.0.tgz", 2417 | "integrity": "sha512-Y75zBYLkh0lJ9qxeHlMjQ7bSbyiSqNW/UOPWDmzC7cXskL1hekSITh1Oc6JV0XCWWZ9DE8VYSB71xocLk3gmGw==", 2418 | "dev": true 2419 | }, 2420 | "is-arguments": { 2421 | "version": "1.0.4", 2422 | "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", 2423 | "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==", 2424 | "dev": true 2425 | }, 2426 | "is-arrayish": { 2427 | "version": "0.2.1", 2428 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", 2429 | "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", 2430 | "dev": true 2431 | }, 2432 | "is-binary-path": { 2433 | "version": "2.1.0", 2434 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", 2435 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", 2436 | "dev": true, 2437 | "requires": { 2438 | "binary-extensions": "^2.0.0" 2439 | } 2440 | }, 2441 | "is-ci": { 2442 | "version": "2.0.0", 2443 | "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", 2444 | "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", 2445 | "dev": true, 2446 | "requires": { 2447 | "ci-info": "^2.0.0" 2448 | } 2449 | }, 2450 | "is-date-object": { 2451 | "version": "1.0.1", 2452 | "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", 2453 | "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", 2454 | "dev": true 2455 | }, 2456 | "is-error": { 2457 | "version": "2.2.2", 2458 | "resolved": "https://registry.npmjs.org/is-error/-/is-error-2.2.2.tgz", 2459 | "integrity": "sha512-IOQqts/aHWbiisY5DuPJQ0gcbvaLFCa7fBa9xoLfxBZvQ+ZI/Zh9xoI7Gk+G64N0FdK4AbibytHht2tWgpJWLg==", 2460 | "dev": true 2461 | }, 2462 | "is-extglob": { 2463 | "version": "2.1.1", 2464 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 2465 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", 2466 | "dev": true 2467 | }, 2468 | "is-fullwidth-code-point": { 2469 | "version": "2.0.0", 2470 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", 2471 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", 2472 | "dev": true 2473 | }, 2474 | "is-glob": { 2475 | "version": "4.0.1", 2476 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", 2477 | "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", 2478 | "dev": true, 2479 | "requires": { 2480 | "is-extglob": "^2.1.1" 2481 | } 2482 | }, 2483 | "is-installed-globally": { 2484 | "version": "0.1.0", 2485 | "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", 2486 | "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", 2487 | "dev": true, 2488 | "requires": { 2489 | "global-dirs": "^0.1.0", 2490 | "is-path-inside": "^1.0.0" 2491 | }, 2492 | "dependencies": { 2493 | "is-path-inside": { 2494 | "version": "1.0.1", 2495 | "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", 2496 | "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", 2497 | "dev": true, 2498 | "requires": { 2499 | "path-is-inside": "^1.0.1" 2500 | } 2501 | } 2502 | } 2503 | }, 2504 | "is-npm": { 2505 | "version": "3.0.0", 2506 | "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-3.0.0.tgz", 2507 | "integrity": "sha512-wsigDr1Kkschp2opC4G3yA6r9EgVA6NjRpWzIi9axXqeIaAATPRJc4uLujXe3Nd9uO8KoDyA4MD6aZSeXTADhA==", 2508 | "dev": true 2509 | }, 2510 | "is-number": { 2511 | "version": "7.0.0", 2512 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 2513 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 2514 | "dev": true 2515 | }, 2516 | "is-obj": { 2517 | "version": "2.0.0", 2518 | "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", 2519 | "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", 2520 | "dev": true 2521 | }, 2522 | "is-observable": { 2523 | "version": "2.0.0", 2524 | "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-2.0.0.tgz", 2525 | "integrity": "sha512-fhBZv3eFKUbyHXZ1oHujdo2tZ+CNbdpdzzlENgCGZUC8keoGxUew2jYFLYcUB4qo7LDD03o4KK11m/QYD7kEjg==", 2526 | "dev": true 2527 | }, 2528 | "is-path-cwd": { 2529 | "version": "2.2.0", 2530 | "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", 2531 | "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", 2532 | "dev": true 2533 | }, 2534 | "is-path-in-cwd": { 2535 | "version": "2.1.0", 2536 | "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", 2537 | "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", 2538 | "dev": true, 2539 | "requires": { 2540 | "is-path-inside": "^2.1.0" 2541 | } 2542 | }, 2543 | "is-path-inside": { 2544 | "version": "2.1.0", 2545 | "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", 2546 | "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", 2547 | "dev": true, 2548 | "requires": { 2549 | "path-is-inside": "^1.0.2" 2550 | } 2551 | }, 2552 | "is-plain-obj": { 2553 | "version": "1.1.0", 2554 | "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", 2555 | "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", 2556 | "dev": true 2557 | }, 2558 | "is-plain-object": { 2559 | "version": "3.0.0", 2560 | "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.0.tgz", 2561 | "integrity": "sha512-tZIpofR+P05k8Aocp7UI/2UTa9lTJSebCXpFFoR9aibpokDj/uXBsJ8luUu0tTVYKkMU6URDUuOfJZ7koewXvg==", 2562 | "dev": true, 2563 | "requires": { 2564 | "isobject": "^4.0.0" 2565 | } 2566 | }, 2567 | "is-promise": { 2568 | "version": "2.1.0", 2569 | "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", 2570 | "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", 2571 | "dev": true 2572 | }, 2573 | "is-regex": { 2574 | "version": "1.0.4", 2575 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", 2576 | "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", 2577 | "dev": true, 2578 | "requires": { 2579 | "has": "^1.0.1" 2580 | } 2581 | }, 2582 | "is-stream": { 2583 | "version": "1.1.0", 2584 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", 2585 | "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", 2586 | "dev": true 2587 | }, 2588 | "is-typedarray": { 2589 | "version": "1.0.0", 2590 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", 2591 | "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", 2592 | "dev": true 2593 | }, 2594 | "is-url": { 2595 | "version": "1.2.4", 2596 | "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", 2597 | "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==", 2598 | "dev": true 2599 | }, 2600 | "is-utf8": { 2601 | "version": "0.2.1", 2602 | "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", 2603 | "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", 2604 | "dev": true 2605 | }, 2606 | "is-yarn-global": { 2607 | "version": "0.3.0", 2608 | "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", 2609 | "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==", 2610 | "dev": true 2611 | }, 2612 | "isexe": { 2613 | "version": "2.0.0", 2614 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 2615 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", 2616 | "dev": true 2617 | }, 2618 | "isobject": { 2619 | "version": "4.0.0", 2620 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-4.0.0.tgz", 2621 | "integrity": "sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==", 2622 | "dev": true 2623 | }, 2624 | "istanbul-lib-coverage": { 2625 | "version": "2.0.5", 2626 | "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", 2627 | "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", 2628 | "dev": true 2629 | }, 2630 | "istanbul-lib-hook": { 2631 | "version": "2.0.7", 2632 | "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz", 2633 | "integrity": "sha512-vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA==", 2634 | "dev": true, 2635 | "requires": { 2636 | "append-transform": "^1.0.0" 2637 | } 2638 | }, 2639 | "istanbul-lib-instrument": { 2640 | "version": "3.3.0", 2641 | "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", 2642 | "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", 2643 | "dev": true, 2644 | "requires": { 2645 | "@babel/generator": "^7.4.0", 2646 | "@babel/parser": "^7.4.3", 2647 | "@babel/template": "^7.4.0", 2648 | "@babel/traverse": "^7.4.3", 2649 | "@babel/types": "^7.4.0", 2650 | "istanbul-lib-coverage": "^2.0.5", 2651 | "semver": "^6.0.0" 2652 | }, 2653 | "dependencies": { 2654 | "semver": { 2655 | "version": "6.3.0", 2656 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", 2657 | "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", 2658 | "dev": true 2659 | } 2660 | } 2661 | }, 2662 | "istanbul-lib-report": { 2663 | "version": "2.0.8", 2664 | "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz", 2665 | "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==", 2666 | "dev": true, 2667 | "requires": { 2668 | "istanbul-lib-coverage": "^2.0.5", 2669 | "make-dir": "^2.1.0", 2670 | "supports-color": "^6.1.0" 2671 | }, 2672 | "dependencies": { 2673 | "make-dir": { 2674 | "version": "2.1.0", 2675 | "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", 2676 | "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", 2677 | "dev": true, 2678 | "requires": { 2679 | "pify": "^4.0.1", 2680 | "semver": "^5.6.0" 2681 | } 2682 | }, 2683 | "supports-color": { 2684 | "version": "6.1.0", 2685 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", 2686 | "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", 2687 | "dev": true, 2688 | "requires": { 2689 | "has-flag": "^3.0.0" 2690 | } 2691 | } 2692 | } 2693 | }, 2694 | "istanbul-lib-source-maps": { 2695 | "version": "3.0.6", 2696 | "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz", 2697 | "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==", 2698 | "dev": true, 2699 | "requires": { 2700 | "debug": "^4.1.1", 2701 | "istanbul-lib-coverage": "^2.0.5", 2702 | "make-dir": "^2.1.0", 2703 | "rimraf": "^2.6.3", 2704 | "source-map": "^0.6.1" 2705 | }, 2706 | "dependencies": { 2707 | "make-dir": { 2708 | "version": "2.1.0", 2709 | "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", 2710 | "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", 2711 | "dev": true, 2712 | "requires": { 2713 | "pify": "^4.0.1", 2714 | "semver": "^5.6.0" 2715 | } 2716 | }, 2717 | "source-map": { 2718 | "version": "0.6.1", 2719 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 2720 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 2721 | "dev": true 2722 | } 2723 | } 2724 | }, 2725 | "istanbul-reports": { 2726 | "version": "2.2.6", 2727 | "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.6.tgz", 2728 | "integrity": "sha512-SKi4rnMyLBKe0Jy2uUdx28h8oG7ph2PPuQPvIAh31d+Ci+lSiEu4C+h3oBPuJ9+mPKhOyW0M8gY4U5NM1WLeXA==", 2729 | "dev": true, 2730 | "requires": { 2731 | "handlebars": "^4.1.2" 2732 | } 2733 | }, 2734 | "js-string-escape": { 2735 | "version": "1.0.1", 2736 | "resolved": "https://registry.npmjs.org/js-string-escape/-/js-string-escape-1.0.1.tgz", 2737 | "integrity": "sha1-4mJbrbwNZ8dTPp7cEGjFh65BN+8=", 2738 | "dev": true 2739 | }, 2740 | "js-tokens": { 2741 | "version": "4.0.0", 2742 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 2743 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", 2744 | "dev": true 2745 | }, 2746 | "js-yaml": { 2747 | "version": "3.13.1", 2748 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", 2749 | "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", 2750 | "dev": true, 2751 | "requires": { 2752 | "argparse": "^1.0.7", 2753 | "esprima": "^4.0.0" 2754 | } 2755 | }, 2756 | "jsesc": { 2757 | "version": "2.5.2", 2758 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", 2759 | "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", 2760 | "dev": true 2761 | }, 2762 | "json-buffer": { 2763 | "version": "3.0.0", 2764 | "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", 2765 | "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", 2766 | "dev": true 2767 | }, 2768 | "json-parse-better-errors": { 2769 | "version": "1.0.2", 2770 | "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", 2771 | "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", 2772 | "dev": true 2773 | }, 2774 | "json-schema-traverse": { 2775 | "version": "0.4.1", 2776 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 2777 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", 2778 | "dev": true 2779 | }, 2780 | "json-stable-stringify-without-jsonify": { 2781 | "version": "1.0.1", 2782 | "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", 2783 | "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", 2784 | "dev": true 2785 | }, 2786 | "json5": { 2787 | "version": "2.1.0", 2788 | "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", 2789 | "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", 2790 | "dev": true, 2791 | "requires": { 2792 | "minimist": "^1.2.0" 2793 | } 2794 | }, 2795 | "keyv": { 2796 | "version": "3.1.0", 2797 | "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", 2798 | "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", 2799 | "dev": true, 2800 | "requires": { 2801 | "json-buffer": "3.0.0" 2802 | } 2803 | }, 2804 | "latest-version": { 2805 | "version": "5.1.0", 2806 | "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", 2807 | "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", 2808 | "dev": true, 2809 | "requires": { 2810 | "package-json": "^6.3.0" 2811 | } 2812 | }, 2813 | "levn": { 2814 | "version": "0.3.0", 2815 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", 2816 | "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", 2817 | "dev": true, 2818 | "requires": { 2819 | "prelude-ls": "~1.1.2", 2820 | "type-check": "~0.3.2" 2821 | } 2822 | }, 2823 | "load-json-file": { 2824 | "version": "4.0.0", 2825 | "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", 2826 | "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", 2827 | "dev": true, 2828 | "requires": { 2829 | "graceful-fs": "^4.1.2", 2830 | "parse-json": "^4.0.0", 2831 | "pify": "^3.0.0", 2832 | "strip-bom": "^3.0.0" 2833 | }, 2834 | "dependencies": { 2835 | "pify": { 2836 | "version": "3.0.0", 2837 | "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", 2838 | "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", 2839 | "dev": true 2840 | } 2841 | } 2842 | }, 2843 | "locate-path": { 2844 | "version": "5.0.0", 2845 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", 2846 | "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", 2847 | "dev": true, 2848 | "requires": { 2849 | "p-locate": "^4.1.0" 2850 | } 2851 | }, 2852 | "lodash": { 2853 | "version": "4.17.19", 2854 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", 2855 | "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==", 2856 | "dev": true 2857 | }, 2858 | "lodash.clonedeep": { 2859 | "version": "4.5.0", 2860 | "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", 2861 | "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", 2862 | "dev": true 2863 | }, 2864 | "lodash.flattendeep": { 2865 | "version": "4.4.0", 2866 | "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", 2867 | "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", 2868 | "dev": true 2869 | }, 2870 | "lodash.islength": { 2871 | "version": "4.0.1", 2872 | "resolved": "https://registry.npmjs.org/lodash.islength/-/lodash.islength-4.0.1.tgz", 2873 | "integrity": "sha1-Tpho1FJXXXUK/9NYyXlUPcIO1Xc=", 2874 | "dev": true 2875 | }, 2876 | "lodash.merge": { 2877 | "version": "4.6.2", 2878 | "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", 2879 | "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", 2880 | "dev": true 2881 | }, 2882 | "log-symbols": { 2883 | "version": "2.2.0", 2884 | "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", 2885 | "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", 2886 | "dev": true, 2887 | "requires": { 2888 | "chalk": "^2.0.1" 2889 | } 2890 | }, 2891 | "loud-rejection": { 2892 | "version": "2.1.0", 2893 | "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-2.1.0.tgz", 2894 | "integrity": "sha512-g/6MQxUXYHeVqZ4PGpPL1fS1fOvlXoi7bay0pizmjAd/3JhyXwxzwrnr74yzdmhuerlslbRJ3x7IOXzFz0cE5w==", 2895 | "dev": true, 2896 | "requires": { 2897 | "currently-unhandled": "^0.4.1", 2898 | "signal-exit": "^3.0.2" 2899 | } 2900 | }, 2901 | "lowercase-keys": { 2902 | "version": "1.0.1", 2903 | "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", 2904 | "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", 2905 | "dev": true 2906 | }, 2907 | "lru-cache": { 2908 | "version": "4.1.5", 2909 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", 2910 | "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", 2911 | "dev": true, 2912 | "requires": { 2913 | "pseudomap": "^1.0.2", 2914 | "yallist": "^2.1.2" 2915 | } 2916 | }, 2917 | "make-dir": { 2918 | "version": "3.0.0", 2919 | "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.0.0.tgz", 2920 | "integrity": "sha512-grNJDhb8b1Jm1qeqW5R/O63wUo4UXo2v2HMic6YT9i/HBlF93S8jkMgH7yugvY9ABDShH4VZMn8I+U8+fCNegw==", 2921 | "dev": true, 2922 | "requires": { 2923 | "semver": "^6.0.0" 2924 | }, 2925 | "dependencies": { 2926 | "semver": { 2927 | "version": "6.3.0", 2928 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", 2929 | "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", 2930 | "dev": true 2931 | } 2932 | } 2933 | }, 2934 | "map-obj": { 2935 | "version": "2.0.0", 2936 | "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", 2937 | "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=", 2938 | "dev": true 2939 | }, 2940 | "matcher": { 2941 | "version": "2.0.0", 2942 | "resolved": "https://registry.npmjs.org/matcher/-/matcher-2.0.0.tgz", 2943 | "integrity": "sha512-nlmfSlgHBFx36j/Pl/KQPbIaqE8Zf0TqmSMjsuddHDg6PMSVgmyW9HpkLs0o0M1n2GIZ/S2BZBLIww/xjhiGng==", 2944 | "dev": true, 2945 | "requires": { 2946 | "escape-string-regexp": "^2.0.0" 2947 | } 2948 | }, 2949 | "md5-hex": { 2950 | "version": "3.0.1", 2951 | "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-3.0.1.tgz", 2952 | "integrity": "sha512-BUiRtTtV39LIJwinWBjqVsU9xhdnz7/i889V859IBFpuqGAj6LuOvHv5XLbgZ2R7ptJoJaEcxkv88/h25T7Ciw==", 2953 | "dev": true, 2954 | "requires": { 2955 | "blueimp-md5": "^2.10.0" 2956 | } 2957 | }, 2958 | "md5-o-matic": { 2959 | "version": "0.1.1", 2960 | "resolved": "https://registry.npmjs.org/md5-o-matic/-/md5-o-matic-0.1.1.tgz", 2961 | "integrity": "sha1-givM1l4RfFFPqxdrJZRdVBAKA8M=", 2962 | "dev": true 2963 | }, 2964 | "meow": { 2965 | "version": "5.0.0", 2966 | "resolved": "https://registry.npmjs.org/meow/-/meow-5.0.0.tgz", 2967 | "integrity": "sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig==", 2968 | "dev": true, 2969 | "requires": { 2970 | "camelcase-keys": "^4.0.0", 2971 | "decamelize-keys": "^1.0.0", 2972 | "loud-rejection": "^1.0.0", 2973 | "minimist-options": "^3.0.1", 2974 | "normalize-package-data": "^2.3.4", 2975 | "read-pkg-up": "^3.0.0", 2976 | "redent": "^2.0.0", 2977 | "trim-newlines": "^2.0.0", 2978 | "yargs-parser": "^10.0.0" 2979 | }, 2980 | "dependencies": { 2981 | "loud-rejection": { 2982 | "version": "1.6.0", 2983 | "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", 2984 | "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", 2985 | "dev": true, 2986 | "requires": { 2987 | "currently-unhandled": "^0.4.1", 2988 | "signal-exit": "^3.0.0" 2989 | } 2990 | } 2991 | } 2992 | }, 2993 | "merge-source-map": { 2994 | "version": "1.1.0", 2995 | "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", 2996 | "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", 2997 | "dev": true, 2998 | "requires": { 2999 | "source-map": "^0.6.1" 3000 | }, 3001 | "dependencies": { 3002 | "source-map": { 3003 | "version": "0.6.1", 3004 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 3005 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 3006 | "dev": true 3007 | } 3008 | } 3009 | }, 3010 | "merge2": { 3011 | "version": "1.2.4", 3012 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.4.tgz", 3013 | "integrity": "sha512-FYE8xI+6pjFOhokZu0We3S5NKCirLbCzSh2Usf3qEyr4X8U+0jNg9P8RZ4qz+V2UoECLVwSyzU3LxXBaLGtD3A==", 3014 | "dev": true 3015 | }, 3016 | "micromatch": { 3017 | "version": "4.0.2", 3018 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", 3019 | "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", 3020 | "dev": true, 3021 | "requires": { 3022 | "braces": "^3.0.1", 3023 | "picomatch": "^2.0.5" 3024 | } 3025 | }, 3026 | "mimic-fn": { 3027 | "version": "2.1.0", 3028 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", 3029 | "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", 3030 | "dev": true 3031 | }, 3032 | "mimic-response": { 3033 | "version": "1.0.1", 3034 | "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", 3035 | "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", 3036 | "dev": true 3037 | }, 3038 | "minimatch": { 3039 | "version": "3.0.4", 3040 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 3041 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", 3042 | "dev": true, 3043 | "requires": { 3044 | "brace-expansion": "^1.1.7" 3045 | } 3046 | }, 3047 | "minimist": { 3048 | "version": "1.2.0", 3049 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", 3050 | "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", 3051 | "dev": true 3052 | }, 3053 | "minimist-options": { 3054 | "version": "3.0.2", 3055 | "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz", 3056 | "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", 3057 | "dev": true, 3058 | "requires": { 3059 | "arrify": "^1.0.1", 3060 | "is-plain-obj": "^1.1.0" 3061 | }, 3062 | "dependencies": { 3063 | "arrify": { 3064 | "version": "1.0.1", 3065 | "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", 3066 | "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", 3067 | "dev": true 3068 | } 3069 | } 3070 | }, 3071 | "mkdirp": { 3072 | "version": "0.5.1", 3073 | "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", 3074 | "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", 3075 | "dev": true, 3076 | "requires": { 3077 | "minimist": "0.0.8" 3078 | }, 3079 | "dependencies": { 3080 | "minimist": { 3081 | "version": "0.0.8", 3082 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", 3083 | "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", 3084 | "dev": true 3085 | } 3086 | } 3087 | }, 3088 | "ms": { 3089 | "version": "2.1.2", 3090 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 3091 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", 3092 | "dev": true 3093 | }, 3094 | "mute-stream": { 3095 | "version": "0.0.7", 3096 | "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", 3097 | "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", 3098 | "dev": true 3099 | }, 3100 | "natural-compare": { 3101 | "version": "1.4.0", 3102 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", 3103 | "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", 3104 | "dev": true 3105 | }, 3106 | "neo-async": { 3107 | "version": "2.6.1", 3108 | "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", 3109 | "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", 3110 | "dev": true 3111 | }, 3112 | "nested-error-stacks": { 3113 | "version": "2.1.0", 3114 | "resolved": "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.1.0.tgz", 3115 | "integrity": "sha512-AO81vsIO1k1sM4Zrd6Hu7regmJN1NSiAja10gc4bX3F0wd+9rQmcuHQaHVQCYIEC8iFXnE+mavh23GOt7wBgug==", 3116 | "dev": true 3117 | }, 3118 | "nice-try": { 3119 | "version": "1.0.5", 3120 | "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", 3121 | "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", 3122 | "dev": true 3123 | }, 3124 | "normalize-package-data": { 3125 | "version": "2.5.0", 3126 | "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", 3127 | "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", 3128 | "dev": true, 3129 | "requires": { 3130 | "hosted-git-info": "^2.1.4", 3131 | "resolve": "^1.10.0", 3132 | "semver": "2 || 3 || 4 || 5", 3133 | "validate-npm-package-license": "^3.0.1" 3134 | } 3135 | }, 3136 | "normalize-path": { 3137 | "version": "3.0.0", 3138 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 3139 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 3140 | "dev": true 3141 | }, 3142 | "normalize-url": { 3143 | "version": "4.5.1", 3144 | "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", 3145 | "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", 3146 | "dev": true 3147 | }, 3148 | "npm-run-path": { 3149 | "version": "2.0.2", 3150 | "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", 3151 | "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", 3152 | "dev": true, 3153 | "requires": { 3154 | "path-key": "^2.0.0" 3155 | } 3156 | }, 3157 | "nyc": { 3158 | "version": "14.1.1", 3159 | "resolved": "https://registry.npmjs.org/nyc/-/nyc-14.1.1.tgz", 3160 | "integrity": "sha512-OI0vm6ZGUnoGZv/tLdZ2esSVzDwUC88SNs+6JoSOMVxA+gKMB8Tk7jBwgemLx4O40lhhvZCVw1C+OYLOBOPXWw==", 3161 | "dev": true, 3162 | "requires": { 3163 | "archy": "^1.0.0", 3164 | "caching-transform": "^3.0.2", 3165 | "convert-source-map": "^1.6.0", 3166 | "cp-file": "^6.2.0", 3167 | "find-cache-dir": "^2.1.0", 3168 | "find-up": "^3.0.0", 3169 | "foreground-child": "^1.5.6", 3170 | "glob": "^7.1.3", 3171 | "istanbul-lib-coverage": "^2.0.5", 3172 | "istanbul-lib-hook": "^2.0.7", 3173 | "istanbul-lib-instrument": "^3.3.0", 3174 | "istanbul-lib-report": "^2.0.8", 3175 | "istanbul-lib-source-maps": "^3.0.6", 3176 | "istanbul-reports": "^2.2.4", 3177 | "js-yaml": "^3.13.1", 3178 | "make-dir": "^2.1.0", 3179 | "merge-source-map": "^1.1.0", 3180 | "resolve-from": "^4.0.0", 3181 | "rimraf": "^2.6.3", 3182 | "signal-exit": "^3.0.2", 3183 | "spawn-wrap": "^1.4.2", 3184 | "test-exclude": "^5.2.3", 3185 | "uuid": "^3.3.2", 3186 | "yargs": "^13.2.2", 3187 | "yargs-parser": "^13.0.0" 3188 | }, 3189 | "dependencies": { 3190 | "camelcase": { 3191 | "version": "5.3.1", 3192 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", 3193 | "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", 3194 | "dev": true 3195 | }, 3196 | "find-up": { 3197 | "version": "3.0.0", 3198 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", 3199 | "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", 3200 | "dev": true, 3201 | "requires": { 3202 | "locate-path": "^3.0.0" 3203 | } 3204 | }, 3205 | "locate-path": { 3206 | "version": "3.0.0", 3207 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", 3208 | "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", 3209 | "dev": true, 3210 | "requires": { 3211 | "p-locate": "^3.0.0", 3212 | "path-exists": "^3.0.0" 3213 | } 3214 | }, 3215 | "make-dir": { 3216 | "version": "2.1.0", 3217 | "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", 3218 | "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", 3219 | "dev": true, 3220 | "requires": { 3221 | "pify": "^4.0.1", 3222 | "semver": "^5.6.0" 3223 | } 3224 | }, 3225 | "p-locate": { 3226 | "version": "3.0.0", 3227 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", 3228 | "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", 3229 | "dev": true, 3230 | "requires": { 3231 | "p-limit": "^2.0.0" 3232 | } 3233 | }, 3234 | "path-exists": { 3235 | "version": "3.0.0", 3236 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", 3237 | "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", 3238 | "dev": true 3239 | }, 3240 | "resolve-from": { 3241 | "version": "4.0.0", 3242 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", 3243 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", 3244 | "dev": true 3245 | }, 3246 | "yargs-parser": { 3247 | "version": "13.1.1", 3248 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", 3249 | "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", 3250 | "dev": true, 3251 | "requires": { 3252 | "camelcase": "^5.0.0", 3253 | "decamelize": "^1.2.0" 3254 | } 3255 | } 3256 | } 3257 | }, 3258 | "object-assign": { 3259 | "version": "4.1.1", 3260 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 3261 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", 3262 | "dev": true 3263 | }, 3264 | "object-is": { 3265 | "version": "1.0.1", 3266 | "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.0.1.tgz", 3267 | "integrity": "sha1-CqYOyZiaCz7Xlc9NBvYs8a1lObY=", 3268 | "dev": true 3269 | }, 3270 | "object-keys": { 3271 | "version": "1.1.1", 3272 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", 3273 | "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", 3274 | "dev": true 3275 | }, 3276 | "object.assign": { 3277 | "version": "4.1.0", 3278 | "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", 3279 | "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", 3280 | "dev": true, 3281 | "requires": { 3282 | "define-properties": "^1.1.2", 3283 | "function-bind": "^1.1.1", 3284 | "has-symbols": "^1.0.0", 3285 | "object-keys": "^1.0.11" 3286 | } 3287 | }, 3288 | "observable-to-promise": { 3289 | "version": "1.0.0", 3290 | "resolved": "https://registry.npmjs.org/observable-to-promise/-/observable-to-promise-1.0.0.tgz", 3291 | "integrity": "sha512-cqnGUrNsE6vdVDTPAX9/WeVzwy/z37vdxupdQXU8vgTXRFH72KCZiZga8aca2ulRPIeem8W3vW9rQHBwfIl2WA==", 3292 | "dev": true, 3293 | "requires": { 3294 | "is-observable": "^2.0.0", 3295 | "symbol-observable": "^1.0.4" 3296 | } 3297 | }, 3298 | "once": { 3299 | "version": "1.4.0", 3300 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 3301 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 3302 | "dev": true, 3303 | "requires": { 3304 | "wrappy": "1" 3305 | } 3306 | }, 3307 | "onetime": { 3308 | "version": "5.1.0", 3309 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", 3310 | "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", 3311 | "dev": true, 3312 | "requires": { 3313 | "mimic-fn": "^2.1.0" 3314 | } 3315 | }, 3316 | "optimist": { 3317 | "version": "0.6.1", 3318 | "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", 3319 | "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", 3320 | "dev": true, 3321 | "requires": { 3322 | "minimist": "~0.0.1", 3323 | "wordwrap": "~0.0.2" 3324 | }, 3325 | "dependencies": { 3326 | "minimist": { 3327 | "version": "0.0.10", 3328 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", 3329 | "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", 3330 | "dev": true 3331 | }, 3332 | "wordwrap": { 3333 | "version": "0.0.3", 3334 | "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", 3335 | "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", 3336 | "dev": true 3337 | } 3338 | } 3339 | }, 3340 | "optionator": { 3341 | "version": "0.8.2", 3342 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", 3343 | "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", 3344 | "dev": true, 3345 | "requires": { 3346 | "deep-is": "~0.1.3", 3347 | "fast-levenshtein": "~2.0.4", 3348 | "levn": "~0.3.0", 3349 | "prelude-ls": "~1.1.2", 3350 | "type-check": "~0.3.2", 3351 | "wordwrap": "~1.0.0" 3352 | } 3353 | }, 3354 | "ora": { 3355 | "version": "3.4.0", 3356 | "resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz", 3357 | "integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==", 3358 | "dev": true, 3359 | "requires": { 3360 | "chalk": "^2.4.2", 3361 | "cli-cursor": "^2.1.0", 3362 | "cli-spinners": "^2.0.0", 3363 | "log-symbols": "^2.2.0", 3364 | "strip-ansi": "^5.2.0", 3365 | "wcwidth": "^1.0.1" 3366 | }, 3367 | "dependencies": { 3368 | "cli-cursor": { 3369 | "version": "2.1.0", 3370 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", 3371 | "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", 3372 | "dev": true, 3373 | "requires": { 3374 | "restore-cursor": "^2.0.0" 3375 | } 3376 | }, 3377 | "mimic-fn": { 3378 | "version": "1.2.0", 3379 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", 3380 | "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", 3381 | "dev": true 3382 | }, 3383 | "onetime": { 3384 | "version": "2.0.1", 3385 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", 3386 | "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", 3387 | "dev": true, 3388 | "requires": { 3389 | "mimic-fn": "^1.0.0" 3390 | } 3391 | }, 3392 | "restore-cursor": { 3393 | "version": "2.0.0", 3394 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", 3395 | "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", 3396 | "dev": true, 3397 | "requires": { 3398 | "onetime": "^2.0.0", 3399 | "signal-exit": "^3.0.2" 3400 | } 3401 | } 3402 | } 3403 | }, 3404 | "os-homedir": { 3405 | "version": "1.0.2", 3406 | "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", 3407 | "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", 3408 | "dev": true 3409 | }, 3410 | "os-tmpdir": { 3411 | "version": "1.0.2", 3412 | "resolved": "http://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", 3413 | "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", 3414 | "dev": true 3415 | }, 3416 | "p-cancelable": { 3417 | "version": "1.1.0", 3418 | "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", 3419 | "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", 3420 | "dev": true 3421 | }, 3422 | "p-finally": { 3423 | "version": "1.0.0", 3424 | "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", 3425 | "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", 3426 | "dev": true 3427 | }, 3428 | "p-limit": { 3429 | "version": "2.2.1", 3430 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", 3431 | "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", 3432 | "dev": true, 3433 | "requires": { 3434 | "p-try": "^2.0.0" 3435 | } 3436 | }, 3437 | "p-locate": { 3438 | "version": "4.1.0", 3439 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", 3440 | "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", 3441 | "dev": true, 3442 | "requires": { 3443 | "p-limit": "^2.2.0" 3444 | } 3445 | }, 3446 | "p-map": { 3447 | "version": "2.1.0", 3448 | "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", 3449 | "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", 3450 | "dev": true 3451 | }, 3452 | "p-try": { 3453 | "version": "2.2.0", 3454 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", 3455 | "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", 3456 | "dev": true 3457 | }, 3458 | "package-hash": { 3459 | "version": "4.0.0", 3460 | "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", 3461 | "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", 3462 | "dev": true, 3463 | "requires": { 3464 | "graceful-fs": "^4.1.15", 3465 | "hasha": "^5.0.0", 3466 | "lodash.flattendeep": "^4.4.0", 3467 | "release-zalgo": "^1.0.0" 3468 | } 3469 | }, 3470 | "package-json": { 3471 | "version": "6.5.0", 3472 | "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", 3473 | "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", 3474 | "dev": true, 3475 | "requires": { 3476 | "got": "^9.6.0", 3477 | "registry-auth-token": "^4.0.0", 3478 | "registry-url": "^5.0.0", 3479 | "semver": "^6.2.0" 3480 | }, 3481 | "dependencies": { 3482 | "semver": { 3483 | "version": "6.3.0", 3484 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", 3485 | "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", 3486 | "dev": true 3487 | } 3488 | } 3489 | }, 3490 | "parent-module": { 3491 | "version": "1.0.1", 3492 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", 3493 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", 3494 | "dev": true, 3495 | "requires": { 3496 | "callsites": "^3.0.0" 3497 | } 3498 | }, 3499 | "parse-json": { 3500 | "version": "4.0.0", 3501 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", 3502 | "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", 3503 | "dev": true, 3504 | "requires": { 3505 | "error-ex": "^1.3.1", 3506 | "json-parse-better-errors": "^1.0.1" 3507 | } 3508 | }, 3509 | "parse-ms": { 3510 | "version": "2.1.0", 3511 | "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-2.1.0.tgz", 3512 | "integrity": "sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==", 3513 | "dev": true 3514 | }, 3515 | "path-exists": { 3516 | "version": "4.0.0", 3517 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", 3518 | "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", 3519 | "dev": true 3520 | }, 3521 | "path-is-absolute": { 3522 | "version": "1.0.1", 3523 | "resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 3524 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 3525 | "dev": true 3526 | }, 3527 | "path-is-inside": { 3528 | "version": "1.0.2", 3529 | "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", 3530 | "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", 3531 | "dev": true 3532 | }, 3533 | "path-key": { 3534 | "version": "2.0.1", 3535 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", 3536 | "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", 3537 | "dev": true 3538 | }, 3539 | "path-parse": { 3540 | "version": "1.0.7", 3541 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 3542 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 3543 | "dev": true 3544 | }, 3545 | "path-type": { 3546 | "version": "4.0.0", 3547 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", 3548 | "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", 3549 | "dev": true 3550 | }, 3551 | "picomatch": { 3552 | "version": "2.0.7", 3553 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.0.7.tgz", 3554 | "integrity": "sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA==", 3555 | "dev": true 3556 | }, 3557 | "pify": { 3558 | "version": "4.0.1", 3559 | "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", 3560 | "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", 3561 | "dev": true 3562 | }, 3563 | "pinkie": { 3564 | "version": "2.0.4", 3565 | "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", 3566 | "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", 3567 | "dev": true 3568 | }, 3569 | "pinkie-promise": { 3570 | "version": "2.0.1", 3571 | "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", 3572 | "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", 3573 | "dev": true, 3574 | "requires": { 3575 | "pinkie": "^2.0.0" 3576 | } 3577 | }, 3578 | "pkg-conf": { 3579 | "version": "3.1.0", 3580 | "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-3.1.0.tgz", 3581 | "integrity": "sha512-m0OTbR/5VPNPqO1ph6Fqbj7Hv6QU7gR/tQW40ZqrL1rjgCU85W6C1bJn0BItuJqnR98PWzw7Z8hHeChD1WrgdQ==", 3582 | "dev": true, 3583 | "requires": { 3584 | "find-up": "^3.0.0", 3585 | "load-json-file": "^5.2.0" 3586 | }, 3587 | "dependencies": { 3588 | "find-up": { 3589 | "version": "3.0.0", 3590 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", 3591 | "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", 3592 | "dev": true, 3593 | "requires": { 3594 | "locate-path": "^3.0.0" 3595 | } 3596 | }, 3597 | "load-json-file": { 3598 | "version": "5.3.0", 3599 | "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-5.3.0.tgz", 3600 | "integrity": "sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==", 3601 | "dev": true, 3602 | "requires": { 3603 | "graceful-fs": "^4.1.15", 3604 | "parse-json": "^4.0.0", 3605 | "pify": "^4.0.1", 3606 | "strip-bom": "^3.0.0", 3607 | "type-fest": "^0.3.0" 3608 | } 3609 | }, 3610 | "locate-path": { 3611 | "version": "3.0.0", 3612 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", 3613 | "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", 3614 | "dev": true, 3615 | "requires": { 3616 | "p-locate": "^3.0.0", 3617 | "path-exists": "^3.0.0" 3618 | } 3619 | }, 3620 | "p-locate": { 3621 | "version": "3.0.0", 3622 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", 3623 | "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", 3624 | "dev": true, 3625 | "requires": { 3626 | "p-limit": "^2.0.0" 3627 | } 3628 | }, 3629 | "path-exists": { 3630 | "version": "3.0.0", 3631 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", 3632 | "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", 3633 | "dev": true 3634 | }, 3635 | "type-fest": { 3636 | "version": "0.3.1", 3637 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", 3638 | "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==", 3639 | "dev": true 3640 | } 3641 | } 3642 | }, 3643 | "pkg-dir": { 3644 | "version": "4.2.0", 3645 | "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", 3646 | "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", 3647 | "dev": true, 3648 | "requires": { 3649 | "find-up": "^4.0.0" 3650 | } 3651 | }, 3652 | "plur": { 3653 | "version": "3.1.1", 3654 | "resolved": "https://registry.npmjs.org/plur/-/plur-3.1.1.tgz", 3655 | "integrity": "sha512-t1Ax8KUvV3FFII8ltczPn2tJdjqbd1sIzu6t4JL7nQ3EyeL/lTrj5PWKb06ic5/6XYDr65rQ4uzQEGN70/6X5w==", 3656 | "dev": true, 3657 | "requires": { 3658 | "irregular-plurals": "^2.0.0" 3659 | } 3660 | }, 3661 | "prelude-ls": { 3662 | "version": "1.1.2", 3663 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", 3664 | "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", 3665 | "dev": true 3666 | }, 3667 | "prepend-http": { 3668 | "version": "2.0.0", 3669 | "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", 3670 | "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", 3671 | "dev": true 3672 | }, 3673 | "pretty-ms": { 3674 | "version": "5.0.0", 3675 | "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-5.0.0.tgz", 3676 | "integrity": "sha512-94VRYjL9k33RzfKiGokPBPpsmloBYSf5Ri+Pq19zlsEcUKFob+admeXr5eFDRuPjFmEOcjJvPGdillYOJyvZ7Q==", 3677 | "dev": true, 3678 | "requires": { 3679 | "parse-ms": "^2.1.0" 3680 | } 3681 | }, 3682 | "progress": { 3683 | "version": "2.0.3", 3684 | "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", 3685 | "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", 3686 | "dev": true 3687 | }, 3688 | "pseudomap": { 3689 | "version": "1.0.2", 3690 | "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", 3691 | "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", 3692 | "dev": true 3693 | }, 3694 | "pump": { 3695 | "version": "3.0.0", 3696 | "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", 3697 | "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", 3698 | "dev": true, 3699 | "requires": { 3700 | "end-of-stream": "^1.1.0", 3701 | "once": "^1.3.1" 3702 | } 3703 | }, 3704 | "punycode": { 3705 | "version": "2.1.1", 3706 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", 3707 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", 3708 | "dev": true 3709 | }, 3710 | "quick-lru": { 3711 | "version": "1.1.0", 3712 | "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", 3713 | "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=", 3714 | "dev": true 3715 | }, 3716 | "rc": { 3717 | "version": "1.2.8", 3718 | "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", 3719 | "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", 3720 | "dev": true, 3721 | "requires": { 3722 | "deep-extend": "^0.6.0", 3723 | "ini": "~1.3.0", 3724 | "minimist": "^1.2.0", 3725 | "strip-json-comments": "~2.0.1" 3726 | } 3727 | }, 3728 | "read-pkg": { 3729 | "version": "3.0.0", 3730 | "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", 3731 | "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", 3732 | "dev": true, 3733 | "requires": { 3734 | "load-json-file": "^4.0.0", 3735 | "normalize-package-data": "^2.3.2", 3736 | "path-type": "^3.0.0" 3737 | }, 3738 | "dependencies": { 3739 | "path-type": { 3740 | "version": "3.0.0", 3741 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", 3742 | "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", 3743 | "dev": true, 3744 | "requires": { 3745 | "pify": "^3.0.0" 3746 | } 3747 | }, 3748 | "pify": { 3749 | "version": "3.0.0", 3750 | "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", 3751 | "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", 3752 | "dev": true 3753 | } 3754 | } 3755 | }, 3756 | "read-pkg-up": { 3757 | "version": "3.0.0", 3758 | "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", 3759 | "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", 3760 | "dev": true, 3761 | "requires": { 3762 | "find-up": "^2.0.0", 3763 | "read-pkg": "^3.0.0" 3764 | }, 3765 | "dependencies": { 3766 | "find-up": { 3767 | "version": "2.1.0", 3768 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", 3769 | "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", 3770 | "dev": true, 3771 | "requires": { 3772 | "locate-path": "^2.0.0" 3773 | } 3774 | }, 3775 | "locate-path": { 3776 | "version": "2.0.0", 3777 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", 3778 | "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", 3779 | "dev": true, 3780 | "requires": { 3781 | "p-locate": "^2.0.0", 3782 | "path-exists": "^3.0.0" 3783 | } 3784 | }, 3785 | "p-limit": { 3786 | "version": "1.3.0", 3787 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", 3788 | "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", 3789 | "dev": true, 3790 | "requires": { 3791 | "p-try": "^1.0.0" 3792 | } 3793 | }, 3794 | "p-locate": { 3795 | "version": "2.0.0", 3796 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", 3797 | "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", 3798 | "dev": true, 3799 | "requires": { 3800 | "p-limit": "^1.1.0" 3801 | } 3802 | }, 3803 | "p-try": { 3804 | "version": "1.0.0", 3805 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", 3806 | "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", 3807 | "dev": true 3808 | }, 3809 | "path-exists": { 3810 | "version": "3.0.0", 3811 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", 3812 | "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", 3813 | "dev": true 3814 | } 3815 | } 3816 | }, 3817 | "readdirp": { 3818 | "version": "3.1.2", 3819 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.1.2.tgz", 3820 | "integrity": "sha512-8rhl0xs2cxfVsqzreYCvs8EwBfn/DhVdqtoLmw19uI3SC5avYX9teCurlErfpPXGmYtMHReGaP2RsLnFvz/lnw==", 3821 | "dev": true, 3822 | "requires": { 3823 | "picomatch": "^2.0.4" 3824 | } 3825 | }, 3826 | "redent": { 3827 | "version": "2.0.0", 3828 | "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", 3829 | "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=", 3830 | "dev": true, 3831 | "requires": { 3832 | "indent-string": "^3.0.0", 3833 | "strip-indent": "^2.0.0" 3834 | }, 3835 | "dependencies": { 3836 | "indent-string": { 3837 | "version": "3.2.0", 3838 | "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", 3839 | "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", 3840 | "dev": true 3841 | } 3842 | } 3843 | }, 3844 | "regenerate": { 3845 | "version": "1.4.0", 3846 | "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", 3847 | "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", 3848 | "dev": true 3849 | }, 3850 | "regenerate-unicode-properties": { 3851 | "version": "8.1.0", 3852 | "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz", 3853 | "integrity": "sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==", 3854 | "dev": true, 3855 | "requires": { 3856 | "regenerate": "^1.4.0" 3857 | } 3858 | }, 3859 | "regexp.prototype.flags": { 3860 | "version": "1.2.0", 3861 | "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz", 3862 | "integrity": "sha512-ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA==", 3863 | "dev": true, 3864 | "requires": { 3865 | "define-properties": "^1.1.2" 3866 | } 3867 | }, 3868 | "regexpp": { 3869 | "version": "2.0.1", 3870 | "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", 3871 | "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", 3872 | "dev": true 3873 | }, 3874 | "regexpu-core": { 3875 | "version": "4.5.5", 3876 | "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.5.5.tgz", 3877 | "integrity": "sha512-FpI67+ky9J+cDizQUJlIlNZFKual/lUkFr1AG6zOCpwZ9cLrg8UUVakyUQJD7fCDIe9Z2nwTQJNPyonatNmDFQ==", 3878 | "dev": true, 3879 | "requires": { 3880 | "regenerate": "^1.4.0", 3881 | "regenerate-unicode-properties": "^8.1.0", 3882 | "regjsgen": "^0.5.0", 3883 | "regjsparser": "^0.6.0", 3884 | "unicode-match-property-ecmascript": "^1.0.4", 3885 | "unicode-match-property-value-ecmascript": "^1.1.0" 3886 | } 3887 | }, 3888 | "registry-auth-token": { 3889 | "version": "4.0.0", 3890 | "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.0.0.tgz", 3891 | "integrity": "sha512-lpQkHxd9UL6tb3k/aHAVfnVtn+Bcs9ob5InuFLLEDqSqeq+AljB8GZW9xY0x7F+xYwEcjKe07nyoxzEYz6yvkw==", 3892 | "dev": true, 3893 | "requires": { 3894 | "rc": "^1.2.8", 3895 | "safe-buffer": "^5.0.1" 3896 | } 3897 | }, 3898 | "registry-url": { 3899 | "version": "5.1.0", 3900 | "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", 3901 | "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", 3902 | "dev": true, 3903 | "requires": { 3904 | "rc": "^1.2.8" 3905 | } 3906 | }, 3907 | "regjsgen": { 3908 | "version": "0.5.0", 3909 | "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz", 3910 | "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==", 3911 | "dev": true 3912 | }, 3913 | "regjsparser": { 3914 | "version": "0.6.0", 3915 | "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz", 3916 | "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==", 3917 | "dev": true, 3918 | "requires": { 3919 | "jsesc": "~0.5.0" 3920 | }, 3921 | "dependencies": { 3922 | "jsesc": { 3923 | "version": "0.5.0", 3924 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", 3925 | "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", 3926 | "dev": true 3927 | } 3928 | } 3929 | }, 3930 | "release-zalgo": { 3931 | "version": "1.0.0", 3932 | "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", 3933 | "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", 3934 | "dev": true, 3935 | "requires": { 3936 | "es6-error": "^4.0.1" 3937 | } 3938 | }, 3939 | "require-directory": { 3940 | "version": "2.1.1", 3941 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", 3942 | "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", 3943 | "dev": true 3944 | }, 3945 | "require-main-filename": { 3946 | "version": "2.0.0", 3947 | "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", 3948 | "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", 3949 | "dev": true 3950 | }, 3951 | "require-precompiled": { 3952 | "version": "0.1.0", 3953 | "resolved": "https://registry.npmjs.org/require-precompiled/-/require-precompiled-0.1.0.tgz", 3954 | "integrity": "sha1-WhtS63Dr7UPrmC6XTIWrWVceVvo=", 3955 | "dev": true 3956 | }, 3957 | "resolve": { 3958 | "version": "1.12.0", 3959 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz", 3960 | "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==", 3961 | "dev": true, 3962 | "requires": { 3963 | "path-parse": "^1.0.6" 3964 | } 3965 | }, 3966 | "resolve-cwd": { 3967 | "version": "3.0.0", 3968 | "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", 3969 | "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", 3970 | "dev": true, 3971 | "requires": { 3972 | "resolve-from": "^5.0.0" 3973 | } 3974 | }, 3975 | "resolve-from": { 3976 | "version": "5.0.0", 3977 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", 3978 | "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", 3979 | "dev": true 3980 | }, 3981 | "responselike": { 3982 | "version": "1.0.2", 3983 | "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", 3984 | "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", 3985 | "dev": true, 3986 | "requires": { 3987 | "lowercase-keys": "^1.0.0" 3988 | } 3989 | }, 3990 | "restore-cursor": { 3991 | "version": "3.1.0", 3992 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", 3993 | "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", 3994 | "dev": true, 3995 | "requires": { 3996 | "onetime": "^5.1.0", 3997 | "signal-exit": "^3.0.2" 3998 | } 3999 | }, 4000 | "reusify": { 4001 | "version": "1.0.4", 4002 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 4003 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 4004 | "dev": true 4005 | }, 4006 | "rimraf": { 4007 | "version": "2.7.1", 4008 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", 4009 | "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", 4010 | "dev": true, 4011 | "requires": { 4012 | "glob": "^7.1.3" 4013 | } 4014 | }, 4015 | "run-async": { 4016 | "version": "2.3.0", 4017 | "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", 4018 | "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", 4019 | "dev": true, 4020 | "requires": { 4021 | "is-promise": "^2.1.0" 4022 | } 4023 | }, 4024 | "run-parallel": { 4025 | "version": "1.1.9", 4026 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz", 4027 | "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==", 4028 | "dev": true 4029 | }, 4030 | "rxjs": { 4031 | "version": "6.5.3", 4032 | "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz", 4033 | "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==", 4034 | "dev": true, 4035 | "requires": { 4036 | "tslib": "^1.9.0" 4037 | } 4038 | }, 4039 | "safe-buffer": { 4040 | "version": "5.1.2", 4041 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 4042 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", 4043 | "dev": true 4044 | }, 4045 | "safer-buffer": { 4046 | "version": "2.1.2", 4047 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 4048 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", 4049 | "dev": true 4050 | }, 4051 | "semver": { 4052 | "version": "5.7.1", 4053 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", 4054 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", 4055 | "dev": true 4056 | }, 4057 | "semver-diff": { 4058 | "version": "2.1.0", 4059 | "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", 4060 | "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", 4061 | "dev": true, 4062 | "requires": { 4063 | "semver": "^5.0.3" 4064 | } 4065 | }, 4066 | "serialize-error": { 4067 | "version": "2.1.0", 4068 | "resolved": "http://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", 4069 | "integrity": "sha1-ULZ51WNc34Rme9yOWa9OW4HV9go=", 4070 | "dev": true 4071 | }, 4072 | "set-blocking": { 4073 | "version": "2.0.0", 4074 | "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", 4075 | "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", 4076 | "dev": true 4077 | }, 4078 | "shebang-command": { 4079 | "version": "1.2.0", 4080 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", 4081 | "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", 4082 | "dev": true, 4083 | "requires": { 4084 | "shebang-regex": "^1.0.0" 4085 | } 4086 | }, 4087 | "shebang-regex": { 4088 | "version": "1.0.0", 4089 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", 4090 | "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", 4091 | "dev": true 4092 | }, 4093 | "signal-exit": { 4094 | "version": "3.0.2", 4095 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", 4096 | "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", 4097 | "dev": true 4098 | }, 4099 | "slash": { 4100 | "version": "3.0.0", 4101 | "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", 4102 | "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", 4103 | "dev": true 4104 | }, 4105 | "slice-ansi": { 4106 | "version": "2.1.0", 4107 | "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", 4108 | "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", 4109 | "dev": true, 4110 | "requires": { 4111 | "ansi-styles": "^3.2.0", 4112 | "astral-regex": "^1.0.0", 4113 | "is-fullwidth-code-point": "^2.0.0" 4114 | }, 4115 | "dependencies": { 4116 | "ansi-styles": { 4117 | "version": "3.2.1", 4118 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 4119 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 4120 | "dev": true, 4121 | "requires": { 4122 | "color-convert": "^1.9.0" 4123 | } 4124 | } 4125 | } 4126 | }, 4127 | "source-map": { 4128 | "version": "0.5.7", 4129 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 4130 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 4131 | "dev": true 4132 | }, 4133 | "source-map-support": { 4134 | "version": "0.5.13", 4135 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", 4136 | "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", 4137 | "dev": true, 4138 | "requires": { 4139 | "buffer-from": "^1.0.0", 4140 | "source-map": "^0.6.0" 4141 | }, 4142 | "dependencies": { 4143 | "source-map": { 4144 | "version": "0.6.1", 4145 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 4146 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 4147 | "dev": true 4148 | } 4149 | } 4150 | }, 4151 | "spawn-wrap": { 4152 | "version": "1.4.3", 4153 | "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-1.4.3.tgz", 4154 | "integrity": "sha512-IgB8md0QW/+tWqcavuFgKYR/qIRvJkRLPJDFaoXtLLUaVcCDK0+HeFTkmQHj3eprcYhc+gOl0aEA1w7qZlYezw==", 4155 | "dev": true, 4156 | "requires": { 4157 | "foreground-child": "^1.5.6", 4158 | "mkdirp": "^0.5.0", 4159 | "os-homedir": "^1.0.1", 4160 | "rimraf": "^2.6.2", 4161 | "signal-exit": "^3.0.2", 4162 | "which": "^1.3.0" 4163 | } 4164 | }, 4165 | "spdx-correct": { 4166 | "version": "3.1.0", 4167 | "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", 4168 | "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", 4169 | "dev": true, 4170 | "requires": { 4171 | "spdx-expression-parse": "^3.0.0", 4172 | "spdx-license-ids": "^3.0.0" 4173 | } 4174 | }, 4175 | "spdx-exceptions": { 4176 | "version": "2.2.0", 4177 | "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", 4178 | "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", 4179 | "dev": true 4180 | }, 4181 | "spdx-expression-parse": { 4182 | "version": "3.0.0", 4183 | "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", 4184 | "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", 4185 | "dev": true, 4186 | "requires": { 4187 | "spdx-exceptions": "^2.1.0", 4188 | "spdx-license-ids": "^3.0.0" 4189 | } 4190 | }, 4191 | "spdx-license-ids": { 4192 | "version": "3.0.5", 4193 | "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", 4194 | "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", 4195 | "dev": true 4196 | }, 4197 | "sprintf-js": { 4198 | "version": "1.0.3", 4199 | "resolved": "http://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", 4200 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", 4201 | "dev": true 4202 | }, 4203 | "stack-utils": { 4204 | "version": "1.0.2", 4205 | "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz", 4206 | "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==", 4207 | "dev": true 4208 | }, 4209 | "string-natural-compare": { 4210 | "version": "2.0.3", 4211 | "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-2.0.3.tgz", 4212 | "integrity": "sha512-4Kcl12rNjc+6EKhY8QyDVuQTAlMWwRiNbsxnVwBUKFr7dYPQuXVrtNU4sEkjF9LHY0AY6uVbB3ktbkIH4LC+BQ==" 4213 | }, 4214 | "string-width": { 4215 | "version": "4.1.0", 4216 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.1.0.tgz", 4217 | "integrity": "sha512-NrX+1dVVh+6Y9dnQ19pR0pP4FiEIlUvdTGn8pw6CKTNq5sgib2nIhmUNT5TAmhWmvKr3WcxBcP3E8nWezuipuQ==", 4218 | "dev": true, 4219 | "requires": { 4220 | "emoji-regex": "^8.0.0", 4221 | "is-fullwidth-code-point": "^3.0.0", 4222 | "strip-ansi": "^5.2.0" 4223 | }, 4224 | "dependencies": { 4225 | "is-fullwidth-code-point": { 4226 | "version": "3.0.0", 4227 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 4228 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 4229 | "dev": true 4230 | } 4231 | } 4232 | }, 4233 | "strip-ansi": { 4234 | "version": "5.2.0", 4235 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", 4236 | "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", 4237 | "dev": true, 4238 | "requires": { 4239 | "ansi-regex": "^4.1.0" 4240 | } 4241 | }, 4242 | "strip-bom": { 4243 | "version": "3.0.0", 4244 | "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", 4245 | "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", 4246 | "dev": true 4247 | }, 4248 | "strip-bom-buf": { 4249 | "version": "2.0.0", 4250 | "resolved": "https://registry.npmjs.org/strip-bom-buf/-/strip-bom-buf-2.0.0.tgz", 4251 | "integrity": "sha512-gLFNHucd6gzb8jMsl5QmZ3QgnUJmp7qn4uUSHNwEXumAp7YizoGYw19ZUVfuq4aBOQUtyn2k8X/CwzWB73W2lQ==", 4252 | "dev": true, 4253 | "requires": { 4254 | "is-utf8": "^0.2.1" 4255 | } 4256 | }, 4257 | "strip-eof": { 4258 | "version": "1.0.0", 4259 | "resolved": "http://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", 4260 | "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", 4261 | "dev": true 4262 | }, 4263 | "strip-indent": { 4264 | "version": "2.0.0", 4265 | "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", 4266 | "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", 4267 | "dev": true 4268 | }, 4269 | "strip-json-comments": { 4270 | "version": "2.0.1", 4271 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", 4272 | "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", 4273 | "dev": true 4274 | }, 4275 | "supertap": { 4276 | "version": "1.0.0", 4277 | "resolved": "https://registry.npmjs.org/supertap/-/supertap-1.0.0.tgz", 4278 | "integrity": "sha512-HZJ3geIMPgVwKk2VsmO5YHqnnJYl6bV5A9JW2uzqV43WmpgliNEYbuvukfor7URpaqpxuw3CfZ3ONdVbZjCgIA==", 4279 | "dev": true, 4280 | "requires": { 4281 | "arrify": "^1.0.1", 4282 | "indent-string": "^3.2.0", 4283 | "js-yaml": "^3.10.0", 4284 | "serialize-error": "^2.1.0", 4285 | "strip-ansi": "^4.0.0" 4286 | }, 4287 | "dependencies": { 4288 | "ansi-regex": { 4289 | "version": "3.0.0", 4290 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", 4291 | "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", 4292 | "dev": true 4293 | }, 4294 | "arrify": { 4295 | "version": "1.0.1", 4296 | "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", 4297 | "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", 4298 | "dev": true 4299 | }, 4300 | "indent-string": { 4301 | "version": "3.2.0", 4302 | "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", 4303 | "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", 4304 | "dev": true 4305 | }, 4306 | "strip-ansi": { 4307 | "version": "4.0.0", 4308 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", 4309 | "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", 4310 | "dev": true, 4311 | "requires": { 4312 | "ansi-regex": "^3.0.0" 4313 | } 4314 | } 4315 | } 4316 | }, 4317 | "supports-color": { 4318 | "version": "7.0.0", 4319 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.0.0.tgz", 4320 | "integrity": "sha512-WRt32iTpYEZWYOpcetGm0NPeSvaebccx7hhS/5M6sAiqnhedtFCHFxkjzZlJvFNCPowiKSFGiZk5USQDFy83vQ==", 4321 | "dev": true, 4322 | "requires": { 4323 | "has-flag": "^4.0.0" 4324 | }, 4325 | "dependencies": { 4326 | "has-flag": { 4327 | "version": "4.0.0", 4328 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 4329 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 4330 | "dev": true 4331 | } 4332 | } 4333 | }, 4334 | "symbol-observable": { 4335 | "version": "1.2.0", 4336 | "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", 4337 | "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", 4338 | "dev": true 4339 | }, 4340 | "table": { 4341 | "version": "5.4.6", 4342 | "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", 4343 | "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", 4344 | "dev": true, 4345 | "requires": { 4346 | "ajv": "^6.10.2", 4347 | "lodash": "^4.17.14", 4348 | "slice-ansi": "^2.1.0", 4349 | "string-width": "^3.0.0" 4350 | }, 4351 | "dependencies": { 4352 | "emoji-regex": { 4353 | "version": "7.0.3", 4354 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", 4355 | "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", 4356 | "dev": true 4357 | }, 4358 | "string-width": { 4359 | "version": "3.1.0", 4360 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", 4361 | "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", 4362 | "dev": true, 4363 | "requires": { 4364 | "emoji-regex": "^7.0.1", 4365 | "is-fullwidth-code-point": "^2.0.0", 4366 | "strip-ansi": "^5.1.0" 4367 | } 4368 | } 4369 | } 4370 | }, 4371 | "term-size": { 4372 | "version": "1.2.0", 4373 | "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", 4374 | "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", 4375 | "dev": true, 4376 | "requires": { 4377 | "execa": "^0.7.0" 4378 | } 4379 | }, 4380 | "test-exclude": { 4381 | "version": "5.2.3", 4382 | "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz", 4383 | "integrity": "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==", 4384 | "dev": true, 4385 | "requires": { 4386 | "glob": "^7.1.3", 4387 | "minimatch": "^3.0.4", 4388 | "read-pkg-up": "^4.0.0", 4389 | "require-main-filename": "^2.0.0" 4390 | }, 4391 | "dependencies": { 4392 | "find-up": { 4393 | "version": "3.0.0", 4394 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", 4395 | "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", 4396 | "dev": true, 4397 | "requires": { 4398 | "locate-path": "^3.0.0" 4399 | } 4400 | }, 4401 | "locate-path": { 4402 | "version": "3.0.0", 4403 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", 4404 | "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", 4405 | "dev": true, 4406 | "requires": { 4407 | "p-locate": "^3.0.0", 4408 | "path-exists": "^3.0.0" 4409 | } 4410 | }, 4411 | "p-locate": { 4412 | "version": "3.0.0", 4413 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", 4414 | "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", 4415 | "dev": true, 4416 | "requires": { 4417 | "p-limit": "^2.0.0" 4418 | } 4419 | }, 4420 | "path-exists": { 4421 | "version": "3.0.0", 4422 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", 4423 | "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", 4424 | "dev": true 4425 | }, 4426 | "read-pkg-up": { 4427 | "version": "4.0.0", 4428 | "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", 4429 | "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", 4430 | "dev": true, 4431 | "requires": { 4432 | "find-up": "^3.0.0", 4433 | "read-pkg": "^3.0.0" 4434 | } 4435 | } 4436 | } 4437 | }, 4438 | "text-table": { 4439 | "version": "0.2.0", 4440 | "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", 4441 | "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", 4442 | "dev": true 4443 | }, 4444 | "through": { 4445 | "version": "2.3.8", 4446 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", 4447 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", 4448 | "dev": true 4449 | }, 4450 | "time-zone": { 4451 | "version": "1.0.0", 4452 | "resolved": "https://registry.npmjs.org/time-zone/-/time-zone-1.0.0.tgz", 4453 | "integrity": "sha1-mcW/VZWJZq9tBtg73zgA3IL67F0=", 4454 | "dev": true 4455 | }, 4456 | "tinycolor2": { 4457 | "version": "1.4.1", 4458 | "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.1.tgz", 4459 | "integrity": "sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g=" 4460 | }, 4461 | "tmp": { 4462 | "version": "0.0.33", 4463 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", 4464 | "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", 4465 | "dev": true, 4466 | "requires": { 4467 | "os-tmpdir": "~1.0.2" 4468 | } 4469 | }, 4470 | "to-fast-properties": { 4471 | "version": "2.0.0", 4472 | "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", 4473 | "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", 4474 | "dev": true 4475 | }, 4476 | "to-readable-stream": { 4477 | "version": "1.0.0", 4478 | "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", 4479 | "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", 4480 | "dev": true 4481 | }, 4482 | "to-regex-range": { 4483 | "version": "5.0.1", 4484 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 4485 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 4486 | "dev": true, 4487 | "requires": { 4488 | "is-number": "^7.0.0" 4489 | } 4490 | }, 4491 | "trim-newlines": { 4492 | "version": "2.0.0", 4493 | "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", 4494 | "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=", 4495 | "dev": true 4496 | }, 4497 | "trim-off-newlines": { 4498 | "version": "1.0.1", 4499 | "resolved": "https://registry.npmjs.org/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz", 4500 | "integrity": "sha1-n5up2e+odkw4dpi8v+sshI8RrbM=", 4501 | "dev": true 4502 | }, 4503 | "trim-right": { 4504 | "version": "1.0.1", 4505 | "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", 4506 | "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", 4507 | "dev": true 4508 | }, 4509 | "tslib": { 4510 | "version": "1.10.0", 4511 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", 4512 | "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", 4513 | "dev": true 4514 | }, 4515 | "type-check": { 4516 | "version": "0.3.2", 4517 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", 4518 | "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", 4519 | "dev": true, 4520 | "requires": { 4521 | "prelude-ls": "~1.1.2" 4522 | } 4523 | }, 4524 | "type-fest": { 4525 | "version": "0.5.2", 4526 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.5.2.tgz", 4527 | "integrity": "sha512-DWkS49EQKVX//Tbupb9TFa19c7+MK1XmzkrZUR8TAktmE/DizXoaoJV6TZ/tSIPXipqNiRI6CyAe7x69Jb6RSw==", 4528 | "dev": true 4529 | }, 4530 | "typedarray-to-buffer": { 4531 | "version": "3.1.5", 4532 | "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", 4533 | "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", 4534 | "dev": true, 4535 | "requires": { 4536 | "is-typedarray": "^1.0.0" 4537 | } 4538 | }, 4539 | "uglify-js": { 4540 | "version": "3.6.0", 4541 | "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.0.tgz", 4542 | "integrity": "sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg==", 4543 | "dev": true, 4544 | "optional": true, 4545 | "requires": { 4546 | "commander": "~2.20.0", 4547 | "source-map": "~0.6.1" 4548 | }, 4549 | "dependencies": { 4550 | "source-map": { 4551 | "version": "0.6.1", 4552 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 4553 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 4554 | "dev": true, 4555 | "optional": true 4556 | } 4557 | } 4558 | }, 4559 | "uid2": { 4560 | "version": "0.0.3", 4561 | "resolved": "https://registry.npmjs.org/uid2/-/uid2-0.0.3.tgz", 4562 | "integrity": "sha1-SDEm4Rd03y9xuLY53NeZw3YWK4I=", 4563 | "dev": true 4564 | }, 4565 | "unicode-canonical-property-names-ecmascript": { 4566 | "version": "1.0.4", 4567 | "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", 4568 | "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", 4569 | "dev": true 4570 | }, 4571 | "unicode-match-property-ecmascript": { 4572 | "version": "1.0.4", 4573 | "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", 4574 | "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", 4575 | "dev": true, 4576 | "requires": { 4577 | "unicode-canonical-property-names-ecmascript": "^1.0.4", 4578 | "unicode-property-aliases-ecmascript": "^1.0.4" 4579 | } 4580 | }, 4581 | "unicode-match-property-value-ecmascript": { 4582 | "version": "1.1.0", 4583 | "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz", 4584 | "integrity": "sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==", 4585 | "dev": true 4586 | }, 4587 | "unicode-property-aliases-ecmascript": { 4588 | "version": "1.0.5", 4589 | "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz", 4590 | "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==", 4591 | "dev": true 4592 | }, 4593 | "unique-string": { 4594 | "version": "1.0.0", 4595 | "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", 4596 | "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", 4597 | "dev": true, 4598 | "requires": { 4599 | "crypto-random-string": "^1.0.0" 4600 | } 4601 | }, 4602 | "unique-temp-dir": { 4603 | "version": "1.0.0", 4604 | "resolved": "https://registry.npmjs.org/unique-temp-dir/-/unique-temp-dir-1.0.0.tgz", 4605 | "integrity": "sha1-bc6VsmgcoAPuv7MEpBX5y6vMU4U=", 4606 | "dev": true, 4607 | "requires": { 4608 | "mkdirp": "^0.5.1", 4609 | "os-tmpdir": "^1.0.1", 4610 | "uid2": "0.0.3" 4611 | } 4612 | }, 4613 | "update-notifier": { 4614 | "version": "3.0.1", 4615 | "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-3.0.1.tgz", 4616 | "integrity": "sha512-grrmrB6Zb8DUiyDIaeRTBCkgISYUgETNe7NglEbVsrLWXeESnlCSP50WfRSj/GmzMPl6Uchj24S/p80nP/ZQrQ==", 4617 | "dev": true, 4618 | "requires": { 4619 | "boxen": "^3.0.0", 4620 | "chalk": "^2.0.1", 4621 | "configstore": "^4.0.0", 4622 | "has-yarn": "^2.1.0", 4623 | "import-lazy": "^2.1.0", 4624 | "is-ci": "^2.0.0", 4625 | "is-installed-globally": "^0.1.0", 4626 | "is-npm": "^3.0.0", 4627 | "is-yarn-global": "^0.3.0", 4628 | "latest-version": "^5.0.0", 4629 | "semver-diff": "^2.0.0", 4630 | "xdg-basedir": "^3.0.0" 4631 | } 4632 | }, 4633 | "uri-js": { 4634 | "version": "4.2.2", 4635 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", 4636 | "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", 4637 | "dev": true, 4638 | "requires": { 4639 | "punycode": "^2.1.0" 4640 | } 4641 | }, 4642 | "url-parse-lax": { 4643 | "version": "3.0.0", 4644 | "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", 4645 | "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", 4646 | "dev": true, 4647 | "requires": { 4648 | "prepend-http": "^2.0.0" 4649 | } 4650 | }, 4651 | "uuid": { 4652 | "version": "3.3.3", 4653 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz", 4654 | "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==", 4655 | "dev": true 4656 | }, 4657 | "v8-compile-cache": { 4658 | "version": "2.1.0", 4659 | "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz", 4660 | "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==", 4661 | "dev": true 4662 | }, 4663 | "validate-npm-package-license": { 4664 | "version": "3.0.4", 4665 | "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", 4666 | "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", 4667 | "dev": true, 4668 | "requires": { 4669 | "spdx-correct": "^3.0.0", 4670 | "spdx-expression-parse": "^3.0.0" 4671 | } 4672 | }, 4673 | "wcwidth": { 4674 | "version": "1.0.1", 4675 | "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", 4676 | "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", 4677 | "dev": true, 4678 | "requires": { 4679 | "defaults": "^1.0.3" 4680 | } 4681 | }, 4682 | "well-known-symbols": { 4683 | "version": "2.0.0", 4684 | "resolved": "https://registry.npmjs.org/well-known-symbols/-/well-known-symbols-2.0.0.tgz", 4685 | "integrity": "sha512-ZMjC3ho+KXo0BfJb7JgtQ5IBuvnShdlACNkKkdsqBmYw3bPAaJfPeYUo6tLUaT5tG/Gkh7xkpBhKRQ9e7pyg9Q==", 4686 | "dev": true 4687 | }, 4688 | "which": { 4689 | "version": "1.3.1", 4690 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", 4691 | "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", 4692 | "dev": true, 4693 | "requires": { 4694 | "isexe": "^2.0.0" 4695 | } 4696 | }, 4697 | "which-module": { 4698 | "version": "2.0.0", 4699 | "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", 4700 | "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", 4701 | "dev": true 4702 | }, 4703 | "widest-line": { 4704 | "version": "2.0.1", 4705 | "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", 4706 | "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", 4707 | "dev": true, 4708 | "requires": { 4709 | "string-width": "^2.1.1" 4710 | }, 4711 | "dependencies": { 4712 | "ansi-regex": { 4713 | "version": "3.0.0", 4714 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", 4715 | "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", 4716 | "dev": true 4717 | }, 4718 | "string-width": { 4719 | "version": "2.1.1", 4720 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", 4721 | "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", 4722 | "dev": true, 4723 | "requires": { 4724 | "is-fullwidth-code-point": "^2.0.0", 4725 | "strip-ansi": "^4.0.0" 4726 | } 4727 | }, 4728 | "strip-ansi": { 4729 | "version": "4.0.0", 4730 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", 4731 | "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", 4732 | "dev": true, 4733 | "requires": { 4734 | "ansi-regex": "^3.0.0" 4735 | } 4736 | } 4737 | } 4738 | }, 4739 | "wordwrap": { 4740 | "version": "1.0.0", 4741 | "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", 4742 | "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", 4743 | "dev": true 4744 | }, 4745 | "wrap-ansi": { 4746 | "version": "5.1.0", 4747 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", 4748 | "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", 4749 | "dev": true, 4750 | "requires": { 4751 | "ansi-styles": "^3.2.0", 4752 | "string-width": "^3.0.0", 4753 | "strip-ansi": "^5.0.0" 4754 | }, 4755 | "dependencies": { 4756 | "ansi-styles": { 4757 | "version": "3.2.1", 4758 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 4759 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 4760 | "dev": true, 4761 | "requires": { 4762 | "color-convert": "^1.9.0" 4763 | } 4764 | }, 4765 | "emoji-regex": { 4766 | "version": "7.0.3", 4767 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", 4768 | "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", 4769 | "dev": true 4770 | }, 4771 | "string-width": { 4772 | "version": "3.1.0", 4773 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", 4774 | "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", 4775 | "dev": true, 4776 | "requires": { 4777 | "emoji-regex": "^7.0.1", 4778 | "is-fullwidth-code-point": "^2.0.0", 4779 | "strip-ansi": "^5.1.0" 4780 | } 4781 | } 4782 | } 4783 | }, 4784 | "wrappy": { 4785 | "version": "1.0.2", 4786 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 4787 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 4788 | "dev": true 4789 | }, 4790 | "write": { 4791 | "version": "1.0.3", 4792 | "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", 4793 | "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", 4794 | "dev": true, 4795 | "requires": { 4796 | "mkdirp": "^0.5.1" 4797 | } 4798 | }, 4799 | "write-file-atomic": { 4800 | "version": "3.0.0", 4801 | "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.0.tgz", 4802 | "integrity": "sha512-EIgkf60l2oWsffja2Sf2AL384dx328c0B+cIYPTQq5q2rOYuDV00/iPFBOUiDKKwKMOhkymH8AidPaRvzfxY+Q==", 4803 | "dev": true, 4804 | "requires": { 4805 | "imurmurhash": "^0.1.4", 4806 | "is-typedarray": "^1.0.0", 4807 | "signal-exit": "^3.0.2", 4808 | "typedarray-to-buffer": "^3.1.5" 4809 | } 4810 | }, 4811 | "xdg-basedir": { 4812 | "version": "3.0.0", 4813 | "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", 4814 | "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=", 4815 | "dev": true 4816 | }, 4817 | "xtend": { 4818 | "version": "4.0.2", 4819 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", 4820 | "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", 4821 | "dev": true 4822 | }, 4823 | "y18n": { 4824 | "version": "4.0.0", 4825 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", 4826 | "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", 4827 | "dev": true 4828 | }, 4829 | "yallist": { 4830 | "version": "2.1.2", 4831 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", 4832 | "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", 4833 | "dev": true 4834 | }, 4835 | "yargs": { 4836 | "version": "13.3.0", 4837 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz", 4838 | "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==", 4839 | "dev": true, 4840 | "requires": { 4841 | "cliui": "^5.0.0", 4842 | "find-up": "^3.0.0", 4843 | "get-caller-file": "^2.0.1", 4844 | "require-directory": "^2.1.1", 4845 | "require-main-filename": "^2.0.0", 4846 | "set-blocking": "^2.0.0", 4847 | "string-width": "^3.0.0", 4848 | "which-module": "^2.0.0", 4849 | "y18n": "^4.0.0", 4850 | "yargs-parser": "^13.1.1" 4851 | }, 4852 | "dependencies": { 4853 | "camelcase": { 4854 | "version": "5.3.1", 4855 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", 4856 | "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", 4857 | "dev": true 4858 | }, 4859 | "emoji-regex": { 4860 | "version": "7.0.3", 4861 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", 4862 | "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", 4863 | "dev": true 4864 | }, 4865 | "find-up": { 4866 | "version": "3.0.0", 4867 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", 4868 | "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", 4869 | "dev": true, 4870 | "requires": { 4871 | "locate-path": "^3.0.0" 4872 | } 4873 | }, 4874 | "locate-path": { 4875 | "version": "3.0.0", 4876 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", 4877 | "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", 4878 | "dev": true, 4879 | "requires": { 4880 | "p-locate": "^3.0.0", 4881 | "path-exists": "^3.0.0" 4882 | } 4883 | }, 4884 | "p-locate": { 4885 | "version": "3.0.0", 4886 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", 4887 | "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", 4888 | "dev": true, 4889 | "requires": { 4890 | "p-limit": "^2.0.0" 4891 | } 4892 | }, 4893 | "path-exists": { 4894 | "version": "3.0.0", 4895 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", 4896 | "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", 4897 | "dev": true 4898 | }, 4899 | "string-width": { 4900 | "version": "3.1.0", 4901 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", 4902 | "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", 4903 | "dev": true, 4904 | "requires": { 4905 | "emoji-regex": "^7.0.1", 4906 | "is-fullwidth-code-point": "^2.0.0", 4907 | "strip-ansi": "^5.1.0" 4908 | } 4909 | }, 4910 | "yargs-parser": { 4911 | "version": "13.1.1", 4912 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", 4913 | "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", 4914 | "dev": true, 4915 | "requires": { 4916 | "camelcase": "^5.0.0", 4917 | "decamelize": "^1.2.0" 4918 | } 4919 | } 4920 | } 4921 | }, 4922 | "yargs-parser": { 4923 | "version": "10.1.0", 4924 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", 4925 | "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", 4926 | "dev": true, 4927 | "requires": { 4928 | "camelcase": "^4.1.0" 4929 | } 4930 | } 4931 | } 4932 | } 4933 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "css-analyzer-diff", 3 | "version": "2.0.0", 4 | "description": "Calculate the difference between two sets of CSS stats ", 5 | "main": "src/diff.js", 6 | "engines": { 7 | "node": ">= 8" 8 | }, 9 | "scripts": { 10 | "test": "eslint ./src ./test && nyc ava" 11 | }, 12 | "repository": "bartveneman/css-analyzer-diff", 13 | "keywords": [ 14 | "css", 15 | "stats", 16 | "diff", 17 | "stylesheets", 18 | "analytics", 19 | "analysis", 20 | "statistics", 21 | "cli", 22 | "cli-app", 23 | "cssstats", 24 | "parker", 25 | "stylestats", 26 | "projectwallace", 27 | "wallace", 28 | "performance", 29 | "property" 30 | ], 31 | "author": "Bart Veneman", 32 | "license": "MIT", 33 | "bugs": { 34 | "url": "https://github.com/bartveneman/css-analyzer-diff/issues" 35 | }, 36 | "homepage": "https://github.com/bartveneman/css-analyzer-diff#readme", 37 | "dependencies": { 38 | "color-sorter": "^3.0.0", 39 | "css-unit-sort": "^1.1.1", 40 | "string-natural-compare": "^2.0.3" 41 | }, 42 | "devDependencies": { 43 | "@bartveneman/eslint-config-bv": "0.0.2", 44 | "ava": "^2.3.0", 45 | "eslint": "^6.3.0", 46 | "nyc": "^14.1.1" 47 | }, 48 | "eslintConfig": { 49 | "extends": "@bartveneman/eslint-config-bv" 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # css-analyzer-diff 2 | 3 | [![NPM Version](https://img.shields.io/npm/v/css-analyzer-diff.svg)](https://www.npmjs.com/package/css-analyzer-diff) 4 | [![Build Status](https://travis-ci.org/bartveneman/css-analyzer-diff.svg?branch=master)](https://travis-ci.org/bartveneman/css-analyzer-diff) 5 | [![Known Vulnerabilities](https://snyk.io/test/github/bartveneman/css-analyzer-diff/badge.svg)](https://snyk.io/test/github/bartveneman/css-analyzer-diff) 6 | ![Dependencies Status](https://img.shields.io/david/bartveneman/css-analyzer-diff.svg) 7 | ![Dependencies Status](https://img.shields.io/david/dev/bartveneman/css-analyzer-diff.svg) 8 | [![XO code style](https://img.shields.io/badge/code_style-XO-5ed9c7.svg)](https://github.com/sindresorhus/xo) 9 | [![Project: Wallace](https://img.shields.io/badge/Project-Wallace-29c87d.svg)](https://www.projectwallace.com/oss) 10 | 11 | Calculate the difference between two sets of [CSS stats](https://github.com/projectwallace/css-analyzer). 12 | 13 | ## Usage 14 | 15 | ```js 16 | const differ = require("css-analyzer-diff"); 17 | const analyzeCss = require("@projectwallace/css-analyzer"); 18 | 19 | const [firstStats, secondStats] = await Promise.all([ 20 | analyzeCss(".cat { color: brown; }"), 21 | analyzeCss(".cat { color: red; }") 22 | ]); 23 | const changes = differ(firstStats, secondStats); 24 | 25 | //=> Returns an object with all changes 26 | // { 27 | // 'values.colors.unique': [ 28 | // { 29 | // value: 'brown', 30 | // removed: true, 31 | // added: false, 32 | // changed: true 33 | // }, 34 | // { 35 | // value: 'red', 36 | // removed: false, 37 | // added: true, 38 | // changed: true 39 | // } 40 | // ], 41 | // 42 | // ... many more ... 43 | // 44 | // } 45 | ``` 46 | -------------------------------------------------------------------------------- /src/diff-lists.js: -------------------------------------------------------------------------------- 1 | const cssUnitSort = require('css-unit-sort') 2 | const cssColorSort = require('color-sorter') 3 | const { 4 | caseInsensitive: caseInsensitiveCompare 5 | } = require('string-natural-compare') 6 | 7 | const METRICS_SORTED_BY_CSS_UNIT = ['values.fontsizes.unique'] 8 | const METRICS_SORTED_BY_COLOR = [ 9 | 'values.colors.unique', 10 | 'values.colors.duplicates' 11 | ] 12 | const METRICS_SORTED_BY_INTEGER = ['values.zindexes.unique'] 13 | 14 | function getSortingFnByKey(key) { 15 | if (METRICS_SORTED_BY_CSS_UNIT.includes(key)) { 16 | return (a, b) => cssUnitSort.sortFn(a, b) * -1 17 | } 18 | 19 | if (METRICS_SORTED_BY_COLOR.includes(key)) { 20 | return cssColorSort.sortFn 21 | } 22 | 23 | if (METRICS_SORTED_BY_INTEGER.includes(key)) { 24 | return (a, b) => a - b 25 | } 26 | 27 | return (a, b) => caseInsensitiveCompare(a, b) 28 | } 29 | 30 | function mergeLists(listA, listB, key) { 31 | // Create a single list out of both lists that will take their 32 | // unique values 33 | return ( 34 | listA 35 | .concat(listB) 36 | // Remove duplicate items 37 | .filter((value, index, self) => { 38 | return self.lastIndexOf(value) === index 39 | }) 40 | // Re-sort the items 41 | .sort(getSortingFnByKey(key)) 42 | ) 43 | } 44 | 45 | function diffLists(listA, listB, key) { 46 | if (typeof listB === 'undefined') { 47 | listB = listA 48 | listA = undefined 49 | } 50 | 51 | listA = Array.isArray(listA) ? listA : [] 52 | listB = Array.isArray(listB) ? listB : [] 53 | 54 | // The diff will be the combined list with an indication per item 55 | // whether it was added, removed or changed 56 | const diff = mergeLists(listA, listB, key).map(item => { 57 | const itemExistsInA = listA.includes(item) 58 | const itemExistsInB = listB.includes(item) 59 | 60 | const isAdded = !itemExistsInA && itemExistsInB 61 | const isRemoved = itemExistsInA && !itemExistsInB 62 | 63 | return { 64 | value: item, 65 | added: isAdded, 66 | removed: isRemoved, 67 | changed: isAdded || isRemoved 68 | } 69 | }) 70 | 71 | return { 72 | diff, 73 | changed: diff.some(item => item.changed) 74 | } 75 | } 76 | 77 | module.exports = diffLists 78 | -------------------------------------------------------------------------------- /src/diff-numbers.js: -------------------------------------------------------------------------------- 1 | function diffNumbers(numberA, numberB) { 2 | // Make sure the first number is undefined if one of them is undefined 3 | if (typeof numberB === 'undefined') { 4 | numberB = numberA 5 | numberA = undefined 6 | } 7 | 8 | if (typeof numberA === 'undefined') { 9 | numberA = null 10 | } 11 | 12 | const diff = { 13 | oldValue: numberA, 14 | newValue: numberB, 15 | changed: numberA !== numberB, 16 | diff: { 17 | absolute: numberB - numberA, 18 | relative: (numberB - numberA) / numberA 19 | } 20 | } 21 | 22 | if (numberA === 0) { 23 | diff.diff.relative = 1 24 | } 25 | 26 | if (numberA === null) { 27 | diff.diff.absolute = numberB 28 | diff.diff.relative = 1 29 | } 30 | 31 | return diff 32 | } 33 | 34 | module.exports = diffNumbers 35 | -------------------------------------------------------------------------------- /src/diff-strings.js: -------------------------------------------------------------------------------- 1 | function diffStrings(stringA, stringB) { 2 | // Make sure the first string is undefined if one of them is undefined 3 | if (typeof stringB === 'undefined') { 4 | stringB = stringA 5 | stringA = undefined 6 | } 7 | 8 | if (typeof stringA === 'undefined') { 9 | stringA = null 10 | } 11 | 12 | const diff = { 13 | oldValue: stringA, 14 | newValue: stringB, 15 | changed: stringA !== stringB 16 | } 17 | 18 | return diff 19 | } 20 | 21 | module.exports = diffStrings 22 | -------------------------------------------------------------------------------- /src/diff.js: -------------------------------------------------------------------------------- 1 | const diffNumbers = require('./diff-numbers.js') 2 | const diffLists = require('./diff-lists.js') 3 | const diffStrings = require('./diff-strings.js') 4 | 5 | function diffStats(statsA, statsB) { 6 | // This assumes that the statsB is newer than statsA 7 | return Object.entries(statsB).reduce((diff, [key, value]) => { 8 | diff[key] = diffStat(statsA[key], value, key) 9 | return diff 10 | }, {}) 11 | } 12 | 13 | function diffStat(statA, statB, key) { 14 | if (typeof statB === 'undefined') { 15 | statB = statA 16 | statA = undefined 17 | } 18 | 19 | if (typeof statA === 'undefined') { 20 | statA = null 21 | } 22 | 23 | // Abort if the types are not compatible 24 | // A must have the same type as B, or A must be null 25 | if (typeof statA !== typeof statB && statA !== null) { 26 | throw new TypeError( 27 | `Stat types do not match. ${typeof statA} is not compatible to compare with ${typeof statB}` 28 | ) 29 | } 30 | 31 | if (!Number.isNaN(statB) && Number.isFinite(statB)) { 32 | return diffNumbers(statA, statB) 33 | } 34 | 35 | if (Array.isArray(statB)) { 36 | statA = statA === null ? [] : statA 37 | return diffLists(statA, statB, key) 38 | } 39 | 40 | if (typeof statB === 'string') { 41 | return diffStrings(statA, statB) 42 | } 43 | 44 | return null 45 | } 46 | 47 | module.exports = diffStats 48 | -------------------------------------------------------------------------------- /test/diff-lists.js: -------------------------------------------------------------------------------- 1 | const test = require('ava') 2 | const diff = require('../src/diff-lists.js') 3 | 4 | // Numeric stats 5 | test('The diff for listable stats is formatted correctly', t => { 6 | const result = diff(['item1', 'item2'], ['item1', 'item-new']) 7 | 8 | // The diff 9 | t.is('object', typeof result) 10 | 11 | // The diff's diff 12 | t.true(Array.isArray(result.diff)) 13 | t.is(3, result.diff.length) 14 | 15 | // Item inside the diff 16 | const [item] = result.diff 17 | t.is('object', typeof item) 18 | t.is('boolean', typeof item.added) 19 | t.is('boolean', typeof item.changed) 20 | t.is('boolean', typeof item.removed) 21 | t.is('item-new', item.value) 22 | 23 | // Changed 24 | t.is('boolean', typeof result.changed) 25 | }) 26 | 27 | test('It calculates the diff for two different stats correctly', t => { 28 | const result = diff( 29 | ['unchangedValue', 'removedValue'], 30 | ['addedValue', 'unchangedValue'] 31 | ) 32 | const expected = [ 33 | { 34 | value: 'addedValue', 35 | removed: false, 36 | added: true, 37 | changed: true 38 | }, 39 | { 40 | value: 'removedValue', 41 | removed: true, 42 | added: false, 43 | changed: true 44 | }, 45 | { 46 | value: 'unchangedValue', 47 | removed: false, 48 | added: false, 49 | changed: false 50 | } 51 | ] 52 | 53 | t.true(result.changed) 54 | t.is(3, result.diff.length) 55 | t.deepEqual(result.diff, expected) 56 | }) 57 | 58 | test('It calculates the diff correctly for two exact same stats', t => { 59 | const result = diff(['item1', 'item2'], ['item1', 'item2']) 60 | const expected = [ 61 | { 62 | value: 'item1', 63 | removed: false, 64 | added: false, 65 | changed: false 66 | }, 67 | { 68 | value: 'item2', 69 | removed: false, 70 | added: false, 71 | changed: false 72 | } 73 | ] 74 | 75 | t.false(result.changed) 76 | t.is(2, result.diff.length) 77 | t.deepEqual(result.diff, expected) 78 | }) 79 | 80 | test('It handles the first listable stat being absent in one of the stats', t => { 81 | const actual = diff(undefined, ['cat', 'dog']) 82 | const expected = { 83 | changed: true, 84 | diff: [ 85 | { 86 | value: 'cat', 87 | removed: false, 88 | added: true, 89 | changed: true 90 | }, 91 | { 92 | value: 'dog', 93 | removed: false, 94 | added: true, 95 | changed: true 96 | } 97 | ] 98 | } 99 | 100 | t.deepEqual(actual, expected) 101 | }) 102 | 103 | test('It handles the second listable stat being absent in one of the stats', t => { 104 | const actual = diff(['cat', 'dog'], undefined) 105 | const expected = { 106 | changed: true, 107 | diff: [ 108 | { 109 | value: 'cat', 110 | removed: false, 111 | added: true, 112 | changed: true 113 | }, 114 | { 115 | value: 'dog', 116 | removed: false, 117 | added: true, 118 | changed: true 119 | } 120 | ] 121 | } 122 | 123 | t.deepEqual(actual, expected) 124 | }) 125 | 126 | test('It sorts selectors/values/properties correctly', t => { 127 | const actual = diff( 128 | ['a:after', 'a:before'], 129 | ['a:after', 'aa:before', 'b:before'] 130 | ) 131 | const expected = { 132 | changed: true, 133 | diff: [ 134 | { 135 | value: 'a:after', 136 | changed: false, 137 | removed: false, 138 | added: false 139 | }, 140 | { 141 | value: 'a:before', 142 | changed: true, 143 | removed: true, 144 | added: false 145 | }, 146 | { 147 | value: 'aa:before', 148 | added: true, 149 | changed: true, 150 | removed: false 151 | }, 152 | { 153 | value: 'b:before', 154 | added: true, 155 | changed: true, 156 | removed: false 157 | } 158 | ] 159 | } 160 | 161 | t.deepEqual(actual, expected) 162 | }) 163 | 164 | test('It sorts fontsizes correctly after comparing them', t => { 165 | const actual = diff( 166 | ['0', '32px', '4em'], 167 | ['0', '.5em', '1em', '3rem'], 168 | 'values.fontsizes.unique' 169 | ) 170 | const expected = { 171 | changed: true, 172 | diff: [ 173 | { 174 | value: '0', 175 | removed: false, 176 | added: false, 177 | changed: false 178 | }, 179 | { 180 | value: '.5em', 181 | removed: false, 182 | added: true, 183 | changed: true 184 | }, 185 | { 186 | value: '1em', 187 | removed: false, 188 | added: true, 189 | changed: true 190 | }, 191 | { 192 | value: '32px', 193 | removed: true, 194 | added: false, 195 | changed: true 196 | }, 197 | { 198 | value: '3rem', 199 | removed: false, 200 | added: true, 201 | changed: true 202 | }, 203 | { 204 | value: '4em', 205 | removed: true, 206 | added: false, 207 | changed: true 208 | } 209 | ] 210 | } 211 | 212 | t.deepEqual(actual, expected) 213 | }) 214 | 215 | test('It sorts colors correctly after comparing them', t => { 216 | const actual = diff( 217 | ['red', 'orange', 'green', 'purple'], 218 | ['red', 'yellow', 'green', 'blue', 'purple'], 219 | 'values.colors.unique' 220 | ) 221 | const expected = { 222 | changed: true, 223 | diff: [ 224 | { 225 | value: 'red', 226 | changed: false, 227 | added: false, 228 | removed: false 229 | }, 230 | { 231 | value: 'orange', 232 | changed: true, 233 | added: false, 234 | removed: true 235 | }, 236 | { 237 | value: 'yellow', 238 | changed: true, 239 | added: true, 240 | removed: false 241 | }, 242 | { 243 | value: 'green', 244 | changed: false, 245 | added: false, 246 | removed: false 247 | }, 248 | { 249 | value: 'blue', 250 | changed: true, 251 | added: true, 252 | removed: false 253 | }, 254 | { 255 | value: 'purple', 256 | changed: false, 257 | added: false, 258 | removed: false 259 | } 260 | ] 261 | } 262 | 263 | t.deepEqual(actual, expected) 264 | }) 265 | 266 | test('it sorts zindexes correctly after comparing them', t => { 267 | const actual = diff( 268 | [-100, -1, 0, 1, 999], 269 | [-100, 0, 1, 999], 270 | 'values.zindexes.unique' 271 | ) 272 | const expected = { 273 | changed: true, 274 | diff: [ 275 | { 276 | value: -100, 277 | changed: false, 278 | added: false, 279 | removed: false 280 | }, 281 | { 282 | value: -1, 283 | changed: true, 284 | added: false, 285 | removed: true 286 | }, 287 | { 288 | value: 0, 289 | changed: false, 290 | added: false, 291 | removed: false 292 | }, 293 | { 294 | value: 1, 295 | changed: false, 296 | added: false, 297 | removed: false 298 | }, 299 | { 300 | value: 999, 301 | changed: false, 302 | added: false, 303 | removed: false 304 | } 305 | ] 306 | } 307 | 308 | t.deepEqual(actual, expected) 309 | }) 310 | -------------------------------------------------------------------------------- /test/diff-numbers.js: -------------------------------------------------------------------------------- 1 | const test = require('ava') 2 | const diff = require('../src/diff-numbers.js') 3 | 4 | test('It structures the diff for numeric stats correctly', t => { 5 | const result = diff(1, 2) 6 | 7 | // Old and new values 8 | t.true(Number.isFinite(result.oldValue)) 9 | t.true(Number.isFinite(result.newValue)) 10 | 11 | // Diff 12 | t.is('object', typeof result.diff) 13 | t.true(Number.isFinite(result.diff.absolute)) 14 | t.true(Number.isFinite(result.diff.relative)) 15 | 16 | // Changed 17 | t.is('boolean', typeof result.changed) 18 | }) 19 | 20 | test('Numeric stats with integers are correctly compared', t => { 21 | const actual = diff(2, 4) 22 | const expected = { 23 | oldValue: 2, 24 | newValue: 4, 25 | diff: {absolute: 2, relative: 1}, 26 | changed: true 27 | } 28 | 29 | t.deepEqual(actual, expected) 30 | }) 31 | 32 | test('Numeric stats with floats are correctly compared', t => { 33 | const actual = diff(0.123, 1.234) 34 | const expected = { 35 | oldValue: 0.123, 36 | newValue: 1.234, 37 | diff: {absolute: 1.111, relative: 9.032520325203253}, 38 | changed: true 39 | } 40 | 41 | t.deepEqual(actual, expected) 42 | }) 43 | 44 | test('Numeric stats will be calculated correctly, preventing DivideByZeroExceptions', t => { 45 | const actual = diff(0, 2) 46 | const expected = { 47 | oldValue: 0, 48 | newValue: 2, 49 | diff: {absolute: 2, relative: 1}, 50 | changed: true 51 | } 52 | 53 | t.deepEqual(actual, expected) 54 | }) 55 | 56 | test('Numeric stats will be calculated correctly when the second value is negative', t => { 57 | const actual = diff(4, 2) 58 | const expected = { 59 | oldValue: 4, 60 | newValue: 2, 61 | diff: {absolute: -2, relative: -0.5}, 62 | changed: true 63 | } 64 | 65 | t.deepEqual(actual, expected) 66 | }) 67 | 68 | test('Numeric stats will be calculated correctly when there are no changes', t => { 69 | const actual = diff(1, 1) 70 | const expected = { 71 | oldValue: 1, 72 | newValue: 1, 73 | diff: {absolute: 0, relative: 0}, 74 | changed: false 75 | } 76 | 77 | t.deepEqual(actual, expected) 78 | }) 79 | 80 | test('It handles the first numeric stat being absent', t => { 81 | const actual = diff(undefined, 1) 82 | const expected = { 83 | oldValue: null, 84 | newValue: 1, 85 | diff: {absolute: 1, relative: 1}, 86 | changed: true 87 | } 88 | 89 | t.deepEqual(actual, expected) 90 | }) 91 | 92 | test('It handles the second numeric stat being absent', t => { 93 | const actual = diff(1, undefined) 94 | const expected = { 95 | oldValue: null, 96 | newValue: 1, 97 | diff: {absolute: 1, relative: 1}, 98 | changed: true 99 | } 100 | 101 | t.deepEqual(actual, expected) 102 | }) 103 | -------------------------------------------------------------------------------- /test/diff-strings.js: -------------------------------------------------------------------------------- 1 | const test = require('ava') 2 | const diff = require('../src/diff-strings.js') 3 | 4 | test('It structures the diff for string stats correctly', t => { 5 | const result = diff('a', 'b') 6 | 7 | // Old and new values 8 | t.true(typeof result.oldValue === 'string') 9 | t.true(typeof result.newValue === 'string') 10 | 11 | // Changed 12 | t.is('boolean', typeof result.changed) 13 | }) 14 | 15 | test('It handles the first string stat being absent', t => { 16 | const actual = diff(undefined, 'a') 17 | const expected = { 18 | oldValue: null, 19 | newValue: 'a', 20 | changed: true 21 | } 22 | 23 | t.deepEqual(actual, expected) 24 | }) 25 | 26 | test('It handles the second numeric stat being absent', t => { 27 | const actual = diff('a', undefined) 28 | const expected = { 29 | oldValue: null, 30 | newValue: 'a', 31 | changed: true 32 | } 33 | 34 | t.deepEqual(actual, expected) 35 | }) 36 | 37 | test('it handles correctly when there are no changes', t => { 38 | const actual = diff('a', 'a') 39 | const expected = { 40 | oldValue: 'a', 41 | newValue: 'a', 42 | changed: false 43 | } 44 | 45 | t.deepEqual(actual, expected) 46 | }) 47 | -------------------------------------------------------------------------------- /test/diff.js: -------------------------------------------------------------------------------- 1 | const test = require('ava') 2 | const diff = require('..') 3 | 4 | const defaultFixture = {a: 1, b: 2} 5 | const fixtureWithUpdatedValues = {a: 3, b: 4} 6 | const fixtureWithAddedProp = {a: 1, b: 2, c: 3} 7 | const fixtureWithIncompatibleProps = {a: 1, b: true} 8 | 9 | test('It does not throw errors when passing simple, valid input', t => { 10 | t.notThrows(() => { 11 | return diff(defaultFixture, fixtureWithUpdatedValues) 12 | }) 13 | }) 14 | 15 | test('An error is thrown if incompatible stat types are given', t => { 16 | t.throws(() => { 17 | return diff(defaultFixture, fixtureWithIncompatibleProps) 18 | }) 19 | }) 20 | 21 | // Shallow testing of result structure. More in-depth testing 22 | // of the structure is done in other tests 23 | test('It should return the correct structure', t => { 24 | const result = diff(defaultFixture, fixtureWithUpdatedValues) 25 | t.is('object', typeof result) 26 | t.deepEqual(['a', 'b'], Object.keys(result)) 27 | 28 | Object.values(result).forEach(stat => { 29 | t.is('boolean', typeof stat.changed) 30 | }) 31 | }) 32 | 33 | test('It should return the correct structure when new props are added', t => { 34 | const result = diff(defaultFixture, fixtureWithAddedProp) 35 | t.deepEqual(['a', 'b', 'c'], Object.keys(result)) 36 | }) 37 | 38 | test('It should diff strings correctly after they are introduced in css-analyzer v2.0.0', t => { 39 | t.deepEqual(diff({}, {'selectors.identifiers.max.value': '.my-selector'}), { 40 | 'selectors.identifiers.max.value': { 41 | changed: true, 42 | oldValue: null, 43 | newValue: '.my-selector' 44 | } 45 | }) 46 | }) 47 | --------------------------------------------------------------------------------