├── .gitignore ├── .prettierignore ├── .prettierrc ├── README.md ├── package-lock.json ├── package.json ├── src └── codeowners-utils.ts ├── test └── codeowners-utils.test.ts └── tsconfig.json /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | *.log 3 | dist 4 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | *.log 3 | dist 4 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "semi": false, 3 | "trailingComma": "all", 4 | "useTabs": true 5 | } 6 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # codeowners-utils 2 | 3 | > Utilities for working with CODEOWNERS files 4 | 5 | ## Install 6 | 7 | ```sh 8 | npm install --save codeowners-utils 9 | ``` 10 | 11 | ## API 12 | 13 | From the generated `dist/codeowners-utils.d.ts` file: 14 | 15 | ```ts 16 | /** 17 | * An individual entry from a CODEOWNERS file 18 | */ 19 | export interface CodeOwnersEntry { 20 | pattern: string 21 | owners: Array 22 | } 23 | 24 | /** 25 | * Parse a CODEOWNERS file into an array of entries (will be in reverse order 26 | * of the file). 27 | */ 28 | export declare function parse(str: string): Array 29 | 30 | /** 31 | * Standard locations to search for the CODEOWNERS file in priority order 32 | * (Note: This comes from GitHub). 33 | */ 34 | export declare let CODEOWNERS_PATHS: string[] 35 | 36 | /** 37 | * Find the path of the CODEOWNERS file from the current working directory. 38 | */ 39 | export declare function findOwnersPath(cwd: string): Promise 40 | 41 | /** 42 | * Find, load, and parse the CODEOWNERS file (if it exists) from the current 43 | * working directory. 44 | */ 45 | export declare function loadOwners( 46 | cwd: string, 47 | ): Promise | null> 48 | 49 | /** 50 | * Match a filename against a glob pattern (while respecting .gitignore rules) 51 | */ 52 | export declare function matchPattern(filename: string, pattern: string): boolean 53 | 54 | /** 55 | * Match a filename against CODEOWNERS entries to determine which (if any) it 56 | * matches. 57 | */ 58 | export declare function matchFile( 59 | filename: string, 60 | entries: Array, 61 | ): CodeOwnersEntry | null 62 | 63 | /** 64 | * Given a set of files and CODEOWNERS entries, return the set of files which 65 | * are not matched to any CODEOWNERS entries. 66 | */ 67 | export declare function filterUnmatchedFiles( 68 | files: Array, 69 | entries: Array, 70 | ): string[] 71 | 72 | /** 73 | * Find all of the files in a git repository which are not matched by any code 74 | * owners using a set of CODEOWNERS entries. 75 | */ 76 | export declare function findUnmatchedFilesFromEntries( 77 | entries: Array, 78 | cwd: string, 79 | ): Promise> 80 | 81 | /** 82 | * Find all of the files in a git repository which are not matched by any code 83 | * owners. 84 | */ 85 | export declare function findUnmatchedFiles( 86 | cwd: string, 87 | ): Promise | null> 88 | ``` 89 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "codeowners-utils", 3 | "version": "1.0.2", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "@ava/babel": { 8 | "version": "1.0.1", 9 | "resolved": "https://registry.npmjs.org/@ava/babel/-/babel-1.0.1.tgz", 10 | "integrity": "sha512-mGKpGeT6J4UjK2sxPjvwWl/GtsF9+eNyn2HHa7OknWWWYuw+rof/UaTAn1CA0z4sTw4Mruik/ihEasMw+JM6aQ==", 11 | "dev": true, 12 | "requires": { 13 | "@ava/require-precompiled": "^1.0.0", 14 | "@babel/core": "^7.8.4", 15 | "@babel/generator": "^7.8.4", 16 | "@babel/plugin-proposal-dynamic-import": "^7.8.3", 17 | "@babel/plugin-proposal-nullish-coalescing-operator": "^7.8.3", 18 | "@babel/plugin-proposal-optional-chaining": "^7.8.3", 19 | "@babel/plugin-transform-modules-commonjs": "^7.8.3", 20 | "babel-plugin-espower": "^3.0.1", 21 | "concordance": "^4.0.0", 22 | "convert-source-map": "^1.7.0", 23 | "dot-prop": "^5.2.0", 24 | "empower-core": "^1.2.0", 25 | "escape-string-regexp": "^2.0.0", 26 | "find-up": "^4.1.0", 27 | "is-plain-object": "^3.0.0", 28 | "md5-hex": "^3.0.1", 29 | "package-hash": "^4.0.0", 30 | "pkg-conf": "^3.1.0", 31 | "source-map-support": "^0.5.16", 32 | "strip-bom-buf": "^2.0.0", 33 | "write-file-atomic": "^3.0.1" 34 | }, 35 | "dependencies": { 36 | "escape-string-regexp": { 37 | "version": "2.0.0", 38 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", 39 | "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", 40 | "dev": true 41 | } 42 | } 43 | }, 44 | "@ava/require-precompiled": { 45 | "version": "1.0.0", 46 | "resolved": "https://registry.npmjs.org/@ava/require-precompiled/-/require-precompiled-1.0.0.tgz", 47 | "integrity": "sha512-N7w4g+P/SUL8SF+HC4Z4e/ctV6nQ5AERC90K90r4xZQ8WVrJux9albvfyYAzygyU47CSqMWh6yJwFs8DYaeWmg==", 48 | "dev": true 49 | }, 50 | "@babel/code-frame": { 51 | "version": "7.8.3", 52 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", 53 | "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", 54 | "dev": true, 55 | "requires": { 56 | "@babel/highlight": "^7.8.3" 57 | } 58 | }, 59 | "@babel/core": { 60 | "version": "7.9.6", 61 | "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.9.6.tgz", 62 | "integrity": "sha512-nD3deLvbsApbHAHttzIssYqgb883yU/d9roe4RZymBCDaZryMJDbptVpEpeQuRh4BJ+SYI8le9YGxKvFEvl1Wg==", 63 | "dev": true, 64 | "requires": { 65 | "@babel/code-frame": "^7.8.3", 66 | "@babel/generator": "^7.9.6", 67 | "@babel/helper-module-transforms": "^7.9.0", 68 | "@babel/helpers": "^7.9.6", 69 | "@babel/parser": "^7.9.6", 70 | "@babel/template": "^7.8.6", 71 | "@babel/traverse": "^7.9.6", 72 | "@babel/types": "^7.9.6", 73 | "convert-source-map": "^1.7.0", 74 | "debug": "^4.1.0", 75 | "gensync": "^1.0.0-beta.1", 76 | "json5": "^2.1.2", 77 | "lodash": "^4.17.13", 78 | "resolve": "^1.3.2", 79 | "semver": "^5.4.1", 80 | "source-map": "^0.5.0" 81 | }, 82 | "dependencies": { 83 | "source-map": { 84 | "version": "0.5.7", 85 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 86 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 87 | "dev": true 88 | } 89 | } 90 | }, 91 | "@babel/generator": { 92 | "version": "7.9.6", 93 | "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.9.6.tgz", 94 | "integrity": "sha512-+htwWKJbH2bL72HRluF8zumBxzuX0ZZUFl3JLNyoUjM/Ho8wnVpPXM6aUz8cfKDqQ/h7zHqKt4xzJteUosckqQ==", 95 | "dev": true, 96 | "requires": { 97 | "@babel/types": "^7.9.6", 98 | "jsesc": "^2.5.1", 99 | "lodash": "^4.17.13", 100 | "source-map": "^0.5.0" 101 | }, 102 | "dependencies": { 103 | "source-map": { 104 | "version": "0.5.7", 105 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 106 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 107 | "dev": true 108 | } 109 | } 110 | }, 111 | "@babel/helper-function-name": { 112 | "version": "7.9.5", 113 | "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.9.5.tgz", 114 | "integrity": "sha512-JVcQZeXM59Cd1qanDUxv9fgJpt3NeKUaqBqUEvfmQ+BCOKq2xUgaWZW2hr0dkbyJgezYuplEoh5knmrnS68efw==", 115 | "dev": true, 116 | "requires": { 117 | "@babel/helper-get-function-arity": "^7.8.3", 118 | "@babel/template": "^7.8.3", 119 | "@babel/types": "^7.9.5" 120 | } 121 | }, 122 | "@babel/helper-get-function-arity": { 123 | "version": "7.8.3", 124 | "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", 125 | "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", 126 | "dev": true, 127 | "requires": { 128 | "@babel/types": "^7.8.3" 129 | } 130 | }, 131 | "@babel/helper-member-expression-to-functions": { 132 | "version": "7.8.3", 133 | "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz", 134 | "integrity": "sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA==", 135 | "dev": true, 136 | "requires": { 137 | "@babel/types": "^7.8.3" 138 | } 139 | }, 140 | "@babel/helper-module-imports": { 141 | "version": "7.8.3", 142 | "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz", 143 | "integrity": "sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==", 144 | "dev": true, 145 | "requires": { 146 | "@babel/types": "^7.8.3" 147 | } 148 | }, 149 | "@babel/helper-module-transforms": { 150 | "version": "7.9.0", 151 | "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.9.0.tgz", 152 | "integrity": "sha512-0FvKyu0gpPfIQ8EkxlrAydOWROdHpBmiCiRwLkUiBGhCUPRRbVD2/tm3sFr/c/GWFrQ/ffutGUAnx7V0FzT2wA==", 153 | "dev": true, 154 | "requires": { 155 | "@babel/helper-module-imports": "^7.8.3", 156 | "@babel/helper-replace-supers": "^7.8.6", 157 | "@babel/helper-simple-access": "^7.8.3", 158 | "@babel/helper-split-export-declaration": "^7.8.3", 159 | "@babel/template": "^7.8.6", 160 | "@babel/types": "^7.9.0", 161 | "lodash": "^4.17.13" 162 | } 163 | }, 164 | "@babel/helper-optimise-call-expression": { 165 | "version": "7.8.3", 166 | "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz", 167 | "integrity": "sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ==", 168 | "dev": true, 169 | "requires": { 170 | "@babel/types": "^7.8.3" 171 | } 172 | }, 173 | "@babel/helper-plugin-utils": { 174 | "version": "7.8.3", 175 | "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", 176 | "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", 177 | "dev": true 178 | }, 179 | "@babel/helper-replace-supers": { 180 | "version": "7.9.6", 181 | "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.9.6.tgz", 182 | "integrity": "sha512-qX+chbxkbArLyCImk3bWV+jB5gTNU/rsze+JlcF6Nf8tVTigPJSI1o1oBow/9Resa1yehUO9lIipsmu9oG4RzA==", 183 | "dev": true, 184 | "requires": { 185 | "@babel/helper-member-expression-to-functions": "^7.8.3", 186 | "@babel/helper-optimise-call-expression": "^7.8.3", 187 | "@babel/traverse": "^7.9.6", 188 | "@babel/types": "^7.9.6" 189 | } 190 | }, 191 | "@babel/helper-simple-access": { 192 | "version": "7.8.3", 193 | "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz", 194 | "integrity": "sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw==", 195 | "dev": true, 196 | "requires": { 197 | "@babel/template": "^7.8.3", 198 | "@babel/types": "^7.8.3" 199 | } 200 | }, 201 | "@babel/helper-split-export-declaration": { 202 | "version": "7.8.3", 203 | "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", 204 | "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", 205 | "dev": true, 206 | "requires": { 207 | "@babel/types": "^7.8.3" 208 | } 209 | }, 210 | "@babel/helper-validator-identifier": { 211 | "version": "7.9.5", 212 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz", 213 | "integrity": "sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==", 214 | "dev": true 215 | }, 216 | "@babel/helpers": { 217 | "version": "7.9.6", 218 | "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.9.6.tgz", 219 | "integrity": "sha512-tI4bUbldloLcHWoRUMAj4g1bF313M/o6fBKhIsb3QnGVPwRm9JsNf/gqMkQ7zjqReABiffPV6RWj7hEglID5Iw==", 220 | "dev": true, 221 | "requires": { 222 | "@babel/template": "^7.8.3", 223 | "@babel/traverse": "^7.9.6", 224 | "@babel/types": "^7.9.6" 225 | } 226 | }, 227 | "@babel/highlight": { 228 | "version": "7.9.0", 229 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz", 230 | "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==", 231 | "dev": true, 232 | "requires": { 233 | "@babel/helper-validator-identifier": "^7.9.0", 234 | "chalk": "^2.0.0", 235 | "js-tokens": "^4.0.0" 236 | }, 237 | "dependencies": { 238 | "ansi-styles": { 239 | "version": "3.2.1", 240 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 241 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 242 | "dev": true, 243 | "requires": { 244 | "color-convert": "^1.9.0" 245 | } 246 | }, 247 | "chalk": { 248 | "version": "2.4.2", 249 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 250 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 251 | "dev": true, 252 | "requires": { 253 | "ansi-styles": "^3.2.1", 254 | "escape-string-regexp": "^1.0.5", 255 | "supports-color": "^5.3.0" 256 | } 257 | }, 258 | "color-convert": { 259 | "version": "1.9.3", 260 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 261 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 262 | "dev": true, 263 | "requires": { 264 | "color-name": "1.1.3" 265 | } 266 | }, 267 | "color-name": { 268 | "version": "1.1.3", 269 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 270 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", 271 | "dev": true 272 | }, 273 | "has-flag": { 274 | "version": "3.0.0", 275 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 276 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", 277 | "dev": true 278 | }, 279 | "supports-color": { 280 | "version": "5.5.0", 281 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 282 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 283 | "dev": true, 284 | "requires": { 285 | "has-flag": "^3.0.0" 286 | } 287 | } 288 | } 289 | }, 290 | "@babel/parser": { 291 | "version": "7.9.6", 292 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.9.6.tgz", 293 | "integrity": "sha512-AoeIEJn8vt+d/6+PXDRPaksYhnlbMIiejioBZvvMQsOjW/JYK6k/0dKnvvP3EhK5GfMBWDPtrxRtegWdAcdq9Q==", 294 | "dev": true 295 | }, 296 | "@babel/plugin-proposal-dynamic-import": { 297 | "version": "7.8.3", 298 | "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.8.3.tgz", 299 | "integrity": "sha512-NyaBbyLFXFLT9FP+zk0kYlUlA8XtCUbehs67F0nnEg7KICgMc2mNkIeu9TYhKzyXMkrapZFwAhXLdnt4IYHy1w==", 300 | "dev": true, 301 | "requires": { 302 | "@babel/helper-plugin-utils": "^7.8.3", 303 | "@babel/plugin-syntax-dynamic-import": "^7.8.0" 304 | } 305 | }, 306 | "@babel/plugin-proposal-nullish-coalescing-operator": { 307 | "version": "7.8.3", 308 | "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.8.3.tgz", 309 | "integrity": "sha512-TS9MlfzXpXKt6YYomudb/KU7nQI6/xnapG6in1uZxoxDghuSMZsPb6D2fyUwNYSAp4l1iR7QtFOjkqcRYcUsfw==", 310 | "dev": true, 311 | "requires": { 312 | "@babel/helper-plugin-utils": "^7.8.3", 313 | "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" 314 | } 315 | }, 316 | "@babel/plugin-proposal-optional-chaining": { 317 | "version": "7.9.0", 318 | "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.9.0.tgz", 319 | "integrity": "sha512-NDn5tu3tcv4W30jNhmc2hyD5c56G6cXx4TesJubhxrJeCvuuMpttxr0OnNCqbZGhFjLrg+NIhxxC+BK5F6yS3w==", 320 | "dev": true, 321 | "requires": { 322 | "@babel/helper-plugin-utils": "^7.8.3", 323 | "@babel/plugin-syntax-optional-chaining": "^7.8.0" 324 | } 325 | }, 326 | "@babel/plugin-syntax-dynamic-import": { 327 | "version": "7.8.3", 328 | "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", 329 | "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", 330 | "dev": true, 331 | "requires": { 332 | "@babel/helper-plugin-utils": "^7.8.0" 333 | } 334 | }, 335 | "@babel/plugin-syntax-nullish-coalescing-operator": { 336 | "version": "7.8.3", 337 | "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", 338 | "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", 339 | "dev": true, 340 | "requires": { 341 | "@babel/helper-plugin-utils": "^7.8.0" 342 | } 343 | }, 344 | "@babel/plugin-syntax-optional-chaining": { 345 | "version": "7.8.3", 346 | "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", 347 | "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", 348 | "dev": true, 349 | "requires": { 350 | "@babel/helper-plugin-utils": "^7.8.0" 351 | } 352 | }, 353 | "@babel/plugin-transform-modules-commonjs": { 354 | "version": "7.9.6", 355 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.9.6.tgz", 356 | "integrity": "sha512-7H25fSlLcn+iYimmsNe3uK1at79IE6SKW9q0/QeEHTMC9MdOZ+4bA+T1VFB5fgOqBWoqlifXRzYD0JPdmIrgSQ==", 357 | "dev": true, 358 | "requires": { 359 | "@babel/helper-module-transforms": "^7.9.0", 360 | "@babel/helper-plugin-utils": "^7.8.3", 361 | "@babel/helper-simple-access": "^7.8.3", 362 | "babel-plugin-dynamic-import-node": "^2.3.3" 363 | } 364 | }, 365 | "@babel/template": { 366 | "version": "7.8.6", 367 | "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", 368 | "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", 369 | "dev": true, 370 | "requires": { 371 | "@babel/code-frame": "^7.8.3", 372 | "@babel/parser": "^7.8.6", 373 | "@babel/types": "^7.8.6" 374 | } 375 | }, 376 | "@babel/traverse": { 377 | "version": "7.9.6", 378 | "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.9.6.tgz", 379 | "integrity": "sha512-b3rAHSjbxy6VEAvlxM8OV/0X4XrG72zoxme6q1MOoe2vd0bEc+TwayhuC1+Dfgqh1QEG+pj7atQqvUprHIccsg==", 380 | "dev": true, 381 | "requires": { 382 | "@babel/code-frame": "^7.8.3", 383 | "@babel/generator": "^7.9.6", 384 | "@babel/helper-function-name": "^7.9.5", 385 | "@babel/helper-split-export-declaration": "^7.8.3", 386 | "@babel/parser": "^7.9.6", 387 | "@babel/types": "^7.9.6", 388 | "debug": "^4.1.0", 389 | "globals": "^11.1.0", 390 | "lodash": "^4.17.13" 391 | } 392 | }, 393 | "@babel/types": { 394 | "version": "7.9.6", 395 | "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.6.tgz", 396 | "integrity": "sha512-qxXzvBO//jO9ZnoasKF1uJzHd2+M6Q2ZPIVfnFps8JJvXy0ZBbwbNOmE6SGIY5XOY6d1Bo5lb9d9RJ8nv3WSeA==", 397 | "dev": true, 398 | "requires": { 399 | "@babel/helper-validator-identifier": "^7.9.5", 400 | "lodash": "^4.17.13", 401 | "to-fast-properties": "^2.0.0" 402 | } 403 | }, 404 | "@concordance/react": { 405 | "version": "2.0.0", 406 | "resolved": "https://registry.npmjs.org/@concordance/react/-/react-2.0.0.tgz", 407 | "integrity": "sha512-huLSkUuM2/P+U0uy2WwlKuixMsTODD8p4JVQBI4VKeopkiN0C7M3N9XYVawb4M+4spN5RrO/eLhk7KoQX6nsfA==", 408 | "dev": true, 409 | "requires": { 410 | "arrify": "^1.0.1" 411 | }, 412 | "dependencies": { 413 | "arrify": { 414 | "version": "1.0.1", 415 | "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", 416 | "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", 417 | "dev": true 418 | } 419 | } 420 | }, 421 | "@nodelib/fs.scandir": { 422 | "version": "2.1.3", 423 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", 424 | "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==", 425 | "dev": true, 426 | "requires": { 427 | "@nodelib/fs.stat": "2.0.3", 428 | "run-parallel": "^1.1.9" 429 | } 430 | }, 431 | "@nodelib/fs.stat": { 432 | "version": "2.0.3", 433 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", 434 | "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==", 435 | "dev": true 436 | }, 437 | "@nodelib/fs.walk": { 438 | "version": "1.2.4", 439 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz", 440 | "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==", 441 | "dev": true, 442 | "requires": { 443 | "@nodelib/fs.scandir": "2.1.3", 444 | "fastq": "^1.6.0" 445 | } 446 | }, 447 | "@sindresorhus/is": { 448 | "version": "0.14.0", 449 | "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", 450 | "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", 451 | "dev": true 452 | }, 453 | "@szmarczak/http-timer": { 454 | "version": "1.1.2", 455 | "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", 456 | "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", 457 | "dev": true, 458 | "requires": { 459 | "defer-to-connect": "^1.0.1" 460 | } 461 | }, 462 | "@types/color-name": { 463 | "version": "1.1.1", 464 | "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", 465 | "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", 466 | "dev": true 467 | }, 468 | "@types/cross-spawn": { 469 | "version": "6.0.1", 470 | "resolved": "https://registry.npmjs.org/@types/cross-spawn/-/cross-spawn-6.0.1.tgz", 471 | "integrity": "sha512-MtN1pDYdI6D6QFDzy39Q+6c9rl2o/xN7aWGe6oZuzqq5N6+YuwFsWiEAv3dNzvzN9YzU+itpN8lBzFpphQKLAw==", 472 | "dev": true, 473 | "requires": { 474 | "@types/node": "*" 475 | } 476 | }, 477 | "@types/events": { 478 | "version": "3.0.0", 479 | "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", 480 | "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==", 481 | "dev": true 482 | }, 483 | "@types/glob": { 484 | "version": "7.1.1", 485 | "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz", 486 | "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==", 487 | "dev": true, 488 | "requires": { 489 | "@types/events": "*", 490 | "@types/minimatch": "*", 491 | "@types/node": "*" 492 | } 493 | }, 494 | "@types/minimatch": { 495 | "version": "3.0.3", 496 | "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", 497 | "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", 498 | "dev": true 499 | }, 500 | "@types/node": { 501 | "version": "10.12.18", 502 | "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.18.tgz", 503 | "integrity": "sha512-fh+pAqt4xRzPfqA6eh3Z2y6fyZavRIumvjhaCL753+TVkGKGhpPeyrJG2JftD0T9q4GF00KjefsQ+PQNDdWQaQ==", 504 | "dev": true 505 | }, 506 | "@types/normalize-package-data": { 507 | "version": "2.4.0", 508 | "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", 509 | "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", 510 | "dev": true 511 | }, 512 | "acorn": { 513 | "version": "7.1.1", 514 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.1.tgz", 515 | "integrity": "sha512-add7dgA5ppRPxCFJoAGfMDi7PIBXq1RtGo7BhbLaxwrXPOmw8gq48Y9ozT01hUKy9byMjlR20EJhu5zlkErEkg==", 516 | "dev": true 517 | }, 518 | "acorn-walk": { 519 | "version": "7.1.1", 520 | "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.1.1.tgz", 521 | "integrity": "sha512-wdlPY2tm/9XBr7QkKlq0WQVgiuGTX6YWPyRyBviSoScBuLfTVQhvwg6wJ369GJ/1nPfTLMfnrFIfjqVg6d+jQQ==", 522 | "dev": true 523 | }, 524 | "aggregate-error": { 525 | "version": "3.0.1", 526 | "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz", 527 | "integrity": "sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==", 528 | "dev": true, 529 | "requires": { 530 | "clean-stack": "^2.0.0", 531 | "indent-string": "^4.0.0" 532 | } 533 | }, 534 | "ansi-align": { 535 | "version": "3.0.0", 536 | "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz", 537 | "integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==", 538 | "dev": true, 539 | "requires": { 540 | "string-width": "^3.0.0" 541 | }, 542 | "dependencies": { 543 | "ansi-regex": { 544 | "version": "4.1.0", 545 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", 546 | "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", 547 | "dev": true 548 | }, 549 | "emoji-regex": { 550 | "version": "7.0.3", 551 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", 552 | "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", 553 | "dev": true 554 | }, 555 | "is-fullwidth-code-point": { 556 | "version": "2.0.0", 557 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", 558 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", 559 | "dev": true 560 | }, 561 | "string-width": { 562 | "version": "3.1.0", 563 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", 564 | "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", 565 | "dev": true, 566 | "requires": { 567 | "emoji-regex": "^7.0.1", 568 | "is-fullwidth-code-point": "^2.0.0", 569 | "strip-ansi": "^5.1.0" 570 | } 571 | }, 572 | "strip-ansi": { 573 | "version": "5.2.0", 574 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", 575 | "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", 576 | "dev": true, 577 | "requires": { 578 | "ansi-regex": "^4.1.0" 579 | } 580 | } 581 | } 582 | }, 583 | "ansi-regex": { 584 | "version": "5.0.0", 585 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", 586 | "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", 587 | "dev": true 588 | }, 589 | "ansi-styles": { 590 | "version": "4.2.1", 591 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", 592 | "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", 593 | "dev": true, 594 | "requires": { 595 | "@types/color-name": "^1.1.1", 596 | "color-convert": "^2.0.1" 597 | } 598 | }, 599 | "anymatch": { 600 | "version": "3.1.1", 601 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", 602 | "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", 603 | "dev": true, 604 | "requires": { 605 | "normalize-path": "^3.0.0", 606 | "picomatch": "^2.0.4" 607 | } 608 | }, 609 | "arg": { 610 | "version": "4.1.3", 611 | "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", 612 | "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", 613 | "dev": true 614 | }, 615 | "argparse": { 616 | "version": "1.0.10", 617 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", 618 | "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", 619 | "dev": true, 620 | "requires": { 621 | "sprintf-js": "~1.0.2" 622 | } 623 | }, 624 | "array-find-index": { 625 | "version": "1.0.2", 626 | "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", 627 | "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", 628 | "dev": true 629 | }, 630 | "array-union": { 631 | "version": "2.1.0", 632 | "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", 633 | "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", 634 | "dev": true 635 | }, 636 | "arrgv": { 637 | "version": "1.0.2", 638 | "resolved": "https://registry.npmjs.org/arrgv/-/arrgv-1.0.2.tgz", 639 | "integrity": "sha512-a4eg4yhp7mmruZDQFqVMlxNRFGi/i1r87pt8SDHy0/I8PqSXoUTlWZRdAZo0VXgvEARcujbtTk8kiZRi1uDGRw==", 640 | "dev": true 641 | }, 642 | "arrify": { 643 | "version": "2.0.1", 644 | "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", 645 | "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", 646 | "dev": true 647 | }, 648 | "astral-regex": { 649 | "version": "2.0.0", 650 | "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", 651 | "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", 652 | "dev": true 653 | }, 654 | "ava": { 655 | "version": "3.8.1", 656 | "resolved": "https://registry.npmjs.org/ava/-/ava-3.8.1.tgz", 657 | "integrity": "sha512-OPWrTxcf1EbtAaGGFQPLbx4AaVqPrFMumKOKn2SzIRo+RTKb33lF2aoVnWqBeZaJ68uSc9R6jqIE7qkG6O33uQ==", 658 | "dev": true, 659 | "requires": { 660 | "@concordance/react": "^2.0.0", 661 | "acorn": "^7.1.1", 662 | "acorn-walk": "^7.1.1", 663 | "ansi-styles": "^4.2.1", 664 | "arrgv": "^1.0.2", 665 | "arrify": "^2.0.1", 666 | "callsites": "^3.1.0", 667 | "chalk": "^4.0.0", 668 | "chokidar": "^3.4.0", 669 | "chunkd": "^2.0.1", 670 | "ci-info": "^2.0.0", 671 | "ci-parallel-vars": "^1.0.0", 672 | "clean-yaml-object": "^0.1.0", 673 | "cli-cursor": "^3.1.0", 674 | "cli-truncate": "^2.1.0", 675 | "code-excerpt": "^2.1.1", 676 | "common-path-prefix": "^3.0.0", 677 | "concordance": "^4.0.0", 678 | "convert-source-map": "^1.7.0", 679 | "currently-unhandled": "^0.4.1", 680 | "debug": "^4.1.1", 681 | "del": "^5.1.0", 682 | "emittery": "^0.6.0", 683 | "equal-length": "^1.0.0", 684 | "figures": "^3.2.0", 685 | "globby": "^11.0.0", 686 | "ignore-by-default": "^1.0.0", 687 | "import-local": "^3.0.2", 688 | "indent-string": "^4.0.0", 689 | "is-error": "^2.2.2", 690 | "is-plain-object": "^3.0.0", 691 | "is-promise": "^3.0.0", 692 | "lodash": "^4.17.15", 693 | "matcher": "^3.0.0", 694 | "md5-hex": "^3.0.1", 695 | "mem": "^6.1.0", 696 | "ms": "^2.1.2", 697 | "ora": "^4.0.4", 698 | "p-map": "^4.0.0", 699 | "picomatch": "^2.2.2", 700 | "pkg-conf": "^3.1.0", 701 | "plur": "^4.0.0", 702 | "pretty-ms": "^6.0.1", 703 | "read-pkg": "^5.2.0", 704 | "resolve-cwd": "^3.0.0", 705 | "slash": "^3.0.0", 706 | "source-map-support": "^0.5.19", 707 | "stack-utils": "^2.0.1", 708 | "strip-ansi": "^6.0.0", 709 | "supertap": "^1.0.0", 710 | "temp-dir": "^2.0.0", 711 | "trim-off-newlines": "^1.0.1", 712 | "update-notifier": "^4.1.0", 713 | "write-file-atomic": "^3.0.3", 714 | "yargs": "^15.3.1" 715 | } 716 | }, 717 | "babel-plugin-dynamic-import-node": { 718 | "version": "2.3.3", 719 | "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", 720 | "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", 721 | "dev": true, 722 | "requires": { 723 | "object.assign": "^4.1.0" 724 | } 725 | }, 726 | "babel-plugin-espower": { 727 | "version": "3.0.1", 728 | "resolved": "https://registry.npmjs.org/babel-plugin-espower/-/babel-plugin-espower-3.0.1.tgz", 729 | "integrity": "sha512-Ms49U7VIAtQ/TtcqRbD6UBmJBUCSxiC3+zPc+eGqxKUIFO1lTshyEDRUjhoAbd2rWfwYf3cZ62oXozrd8W6J0A==", 730 | "dev": true, 731 | "requires": { 732 | "@babel/generator": "^7.0.0", 733 | "@babel/parser": "^7.0.0", 734 | "call-matcher": "^1.0.0", 735 | "core-js": "^2.0.0", 736 | "espower-location-detector": "^1.0.0", 737 | "espurify": "^1.6.0", 738 | "estraverse": "^4.1.1" 739 | } 740 | }, 741 | "balanced-match": { 742 | "version": "1.0.0", 743 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", 744 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", 745 | "dev": true 746 | }, 747 | "binary-extensions": { 748 | "version": "2.0.0", 749 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", 750 | "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==", 751 | "dev": true 752 | }, 753 | "blueimp-md5": { 754 | "version": "2.14.0", 755 | "resolved": "https://registry.npmjs.org/blueimp-md5/-/blueimp-md5-2.14.0.tgz", 756 | "integrity": "sha512-fhX8JsIgugJ39g9MUJ4Y0S+WYd/1HATNVzW4nEVknP5uJU1mA7LZCV3OuVH9OvxpuYQXu6ttst0IYIlAyVfBQg==", 757 | "dev": true 758 | }, 759 | "boxen": { 760 | "version": "4.2.0", 761 | "resolved": "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz", 762 | "integrity": "sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==", 763 | "dev": true, 764 | "requires": { 765 | "ansi-align": "^3.0.0", 766 | "camelcase": "^5.3.1", 767 | "chalk": "^3.0.0", 768 | "cli-boxes": "^2.2.0", 769 | "string-width": "^4.1.0", 770 | "term-size": "^2.1.0", 771 | "type-fest": "^0.8.1", 772 | "widest-line": "^3.1.0" 773 | }, 774 | "dependencies": { 775 | "chalk": { 776 | "version": "3.0.0", 777 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", 778 | "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", 779 | "dev": true, 780 | "requires": { 781 | "ansi-styles": "^4.1.0", 782 | "supports-color": "^7.1.0" 783 | } 784 | }, 785 | "type-fest": { 786 | "version": "0.8.1", 787 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", 788 | "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", 789 | "dev": true 790 | } 791 | } 792 | }, 793 | "brace-expansion": { 794 | "version": "1.1.11", 795 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 796 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 797 | "dev": true, 798 | "requires": { 799 | "balanced-match": "^1.0.0", 800 | "concat-map": "0.0.1" 801 | } 802 | }, 803 | "braces": { 804 | "version": "3.0.2", 805 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", 806 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", 807 | "dev": true, 808 | "requires": { 809 | "fill-range": "^7.0.1" 810 | } 811 | }, 812 | "buffer-from": { 813 | "version": "1.1.1", 814 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", 815 | "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", 816 | "dev": true 817 | }, 818 | "cacheable-request": { 819 | "version": "6.1.0", 820 | "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", 821 | "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", 822 | "dev": true, 823 | "requires": { 824 | "clone-response": "^1.0.2", 825 | "get-stream": "^5.1.0", 826 | "http-cache-semantics": "^4.0.0", 827 | "keyv": "^3.0.0", 828 | "lowercase-keys": "^2.0.0", 829 | "normalize-url": "^4.1.0", 830 | "responselike": "^1.0.2" 831 | }, 832 | "dependencies": { 833 | "get-stream": { 834 | "version": "5.1.0", 835 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", 836 | "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", 837 | "dev": true, 838 | "requires": { 839 | "pump": "^3.0.0" 840 | } 841 | }, 842 | "lowercase-keys": { 843 | "version": "2.0.0", 844 | "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", 845 | "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", 846 | "dev": true 847 | } 848 | } 849 | }, 850 | "call-matcher": { 851 | "version": "1.1.0", 852 | "resolved": "https://registry.npmjs.org/call-matcher/-/call-matcher-1.1.0.tgz", 853 | "integrity": "sha512-IoQLeNwwf9KTNbtSA7aEBb1yfDbdnzwjCetjkC8io5oGeOmK2CBNdg0xr+tadRYKO0p7uQyZzvon0kXlZbvGrw==", 854 | "dev": true, 855 | "requires": { 856 | "core-js": "^2.0.0", 857 | "deep-equal": "^1.0.0", 858 | "espurify": "^1.6.0", 859 | "estraverse": "^4.0.0" 860 | } 861 | }, 862 | "call-signature": { 863 | "version": "0.0.2", 864 | "resolved": "https://registry.npmjs.org/call-signature/-/call-signature-0.0.2.tgz", 865 | "integrity": "sha1-qEq8glpV70yysCi9dOIFpluaSZY=", 866 | "dev": true 867 | }, 868 | "callsites": { 869 | "version": "3.1.0", 870 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", 871 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", 872 | "dev": true 873 | }, 874 | "camelcase": { 875 | "version": "5.3.1", 876 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", 877 | "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", 878 | "dev": true 879 | }, 880 | "chalk": { 881 | "version": "4.0.0", 882 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", 883 | "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", 884 | "dev": true, 885 | "requires": { 886 | "ansi-styles": "^4.1.0", 887 | "supports-color": "^7.1.0" 888 | } 889 | }, 890 | "chokidar": { 891 | "version": "3.4.0", 892 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.0.tgz", 893 | "integrity": "sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==", 894 | "dev": true, 895 | "requires": { 896 | "anymatch": "~3.1.1", 897 | "braces": "~3.0.2", 898 | "fsevents": "~2.1.2", 899 | "glob-parent": "~5.1.0", 900 | "is-binary-path": "~2.1.0", 901 | "is-glob": "~4.0.1", 902 | "normalize-path": "~3.0.0", 903 | "readdirp": "~3.4.0" 904 | } 905 | }, 906 | "chunkd": { 907 | "version": "2.0.1", 908 | "resolved": "https://registry.npmjs.org/chunkd/-/chunkd-2.0.1.tgz", 909 | "integrity": "sha512-7d58XsFmOq0j6el67Ug9mHf9ELUXsQXYJBkyxhH/k+6Ke0qXRnv0kbemx+Twc6fRJ07C49lcbdgm9FL1Ei/6SQ==", 910 | "dev": true 911 | }, 912 | "ci-info": { 913 | "version": "2.0.0", 914 | "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", 915 | "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", 916 | "dev": true 917 | }, 918 | "ci-parallel-vars": { 919 | "version": "1.0.0", 920 | "resolved": "https://registry.npmjs.org/ci-parallel-vars/-/ci-parallel-vars-1.0.0.tgz", 921 | "integrity": "sha512-u6dx20FBXm+apMi+5x7UVm6EH7BL1gc4XrcnQewjcB7HWRcor/V5qWc3RG2HwpgDJ26gIi2DSEu3B7sXynAw/g==", 922 | "dev": true 923 | }, 924 | "clean-stack": { 925 | "version": "2.2.0", 926 | "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", 927 | "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", 928 | "dev": true 929 | }, 930 | "clean-yaml-object": { 931 | "version": "0.1.0", 932 | "resolved": "https://registry.npmjs.org/clean-yaml-object/-/clean-yaml-object-0.1.0.tgz", 933 | "integrity": "sha1-Y/sRDcLOGoTcIfbZM0h20BCui2g=", 934 | "dev": true 935 | }, 936 | "cli-boxes": { 937 | "version": "2.2.0", 938 | "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.0.tgz", 939 | "integrity": "sha512-gpaBrMAizVEANOpfZp/EEUixTXDyGt7DFzdK5hU+UbWt/J0lB0w20ncZj59Z9a93xHb9u12zF5BS6i9RKbtg4w==", 940 | "dev": true 941 | }, 942 | "cli-cursor": { 943 | "version": "3.1.0", 944 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", 945 | "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", 946 | "dev": true, 947 | "requires": { 948 | "restore-cursor": "^3.1.0" 949 | } 950 | }, 951 | "cli-spinners": { 952 | "version": "2.3.0", 953 | "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.3.0.tgz", 954 | "integrity": "sha512-Xs2Hf2nzrvJMFKimOR7YR0QwZ8fc0u98kdtwN1eNAZzNQgH3vK2pXzff6GJtKh7S5hoJ87ECiAiZFS2fb5Ii2w==", 955 | "dev": true 956 | }, 957 | "cli-truncate": { 958 | "version": "2.1.0", 959 | "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", 960 | "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", 961 | "dev": true, 962 | "requires": { 963 | "slice-ansi": "^3.0.0", 964 | "string-width": "^4.2.0" 965 | } 966 | }, 967 | "cliui": { 968 | "version": "6.0.0", 969 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", 970 | "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", 971 | "dev": true, 972 | "requires": { 973 | "string-width": "^4.2.0", 974 | "strip-ansi": "^6.0.0", 975 | "wrap-ansi": "^6.2.0" 976 | } 977 | }, 978 | "clone": { 979 | "version": "1.0.4", 980 | "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", 981 | "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", 982 | "dev": true 983 | }, 984 | "clone-response": { 985 | "version": "1.0.2", 986 | "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", 987 | "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", 988 | "dev": true, 989 | "requires": { 990 | "mimic-response": "^1.0.0" 991 | } 992 | }, 993 | "code-excerpt": { 994 | "version": "2.1.1", 995 | "resolved": "https://registry.npmjs.org/code-excerpt/-/code-excerpt-2.1.1.tgz", 996 | "integrity": "sha512-tJLhH3EpFm/1x7heIW0hemXJTUU5EWl2V0EIX558jp05Mt1U6DVryCgkp3l37cxqs+DNbNgxG43SkwJXpQ14Jw==", 997 | "dev": true, 998 | "requires": { 999 | "convert-to-spaces": "^1.0.1" 1000 | } 1001 | }, 1002 | "color-convert": { 1003 | "version": "2.0.1", 1004 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 1005 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 1006 | "dev": true, 1007 | "requires": { 1008 | "color-name": "~1.1.4" 1009 | } 1010 | }, 1011 | "color-name": { 1012 | "version": "1.1.4", 1013 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 1014 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 1015 | "dev": true 1016 | }, 1017 | "common-path-prefix": { 1018 | "version": "3.0.0", 1019 | "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", 1020 | "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", 1021 | "dev": true 1022 | }, 1023 | "concat-map": { 1024 | "version": "0.0.1", 1025 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 1026 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 1027 | "dev": true 1028 | }, 1029 | "concordance": { 1030 | "version": "4.0.0", 1031 | "resolved": "https://registry.npmjs.org/concordance/-/concordance-4.0.0.tgz", 1032 | "integrity": "sha512-l0RFuB8RLfCS0Pt2Id39/oCPykE01pyxgAFypWTlaGRgvLkZrtczZ8atEHpTeEIW+zYWXTBuA9cCSeEOScxReQ==", 1033 | "dev": true, 1034 | "requires": { 1035 | "date-time": "^2.1.0", 1036 | "esutils": "^2.0.2", 1037 | "fast-diff": "^1.1.2", 1038 | "js-string-escape": "^1.0.1", 1039 | "lodash.clonedeep": "^4.5.0", 1040 | "lodash.flattendeep": "^4.4.0", 1041 | "lodash.islength": "^4.0.1", 1042 | "lodash.merge": "^4.6.1", 1043 | "md5-hex": "^2.0.0", 1044 | "semver": "^5.5.1", 1045 | "well-known-symbols": "^2.0.0" 1046 | }, 1047 | "dependencies": { 1048 | "md5-hex": { 1049 | "version": "2.0.0", 1050 | "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-2.0.0.tgz", 1051 | "integrity": "sha1-0FiOnxx0lUSS7NJKwKxs6ZfZLjM=", 1052 | "dev": true, 1053 | "requires": { 1054 | "md5-o-matic": "^0.1.1" 1055 | } 1056 | } 1057 | } 1058 | }, 1059 | "configstore": { 1060 | "version": "5.0.1", 1061 | "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", 1062 | "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", 1063 | "dev": true, 1064 | "requires": { 1065 | "dot-prop": "^5.2.0", 1066 | "graceful-fs": "^4.1.2", 1067 | "make-dir": "^3.0.0", 1068 | "unique-string": "^2.0.0", 1069 | "write-file-atomic": "^3.0.0", 1070 | "xdg-basedir": "^4.0.0" 1071 | } 1072 | }, 1073 | "convert-source-map": { 1074 | "version": "1.7.0", 1075 | "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", 1076 | "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", 1077 | "dev": true, 1078 | "requires": { 1079 | "safe-buffer": "~5.1.1" 1080 | } 1081 | }, 1082 | "convert-to-spaces": { 1083 | "version": "1.0.2", 1084 | "resolved": "https://registry.npmjs.org/convert-to-spaces/-/convert-to-spaces-1.0.2.tgz", 1085 | "integrity": "sha1-fj5Iu+bZl7FBfdyihoIEtNPYVxU=", 1086 | "dev": true 1087 | }, 1088 | "core-js": { 1089 | "version": "2.6.11", 1090 | "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", 1091 | "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==", 1092 | "dev": true 1093 | }, 1094 | "cross-spawn": { 1095 | "version": "7.0.2", 1096 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.2.tgz", 1097 | "integrity": "sha512-PD6G8QG3S4FK/XCGFbEQrDqO2AnMMsy0meR7lerlIOHAAbkuavGU/pOqprrlvfTNjvowivTeBsjebAL0NSoMxw==", 1098 | "requires": { 1099 | "path-key": "^3.1.0", 1100 | "shebang-command": "^2.0.0", 1101 | "which": "^2.0.1" 1102 | }, 1103 | "dependencies": { 1104 | "path-key": { 1105 | "version": "3.1.1", 1106 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 1107 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" 1108 | } 1109 | } 1110 | }, 1111 | "crypto-random-string": { 1112 | "version": "2.0.0", 1113 | "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", 1114 | "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", 1115 | "dev": true 1116 | }, 1117 | "currently-unhandled": { 1118 | "version": "0.4.1", 1119 | "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", 1120 | "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", 1121 | "dev": true, 1122 | "requires": { 1123 | "array-find-index": "^1.0.1" 1124 | } 1125 | }, 1126 | "date-time": { 1127 | "version": "2.1.0", 1128 | "resolved": "https://registry.npmjs.org/date-time/-/date-time-2.1.0.tgz", 1129 | "integrity": "sha512-/9+C44X7lot0IeiyfgJmETtRMhBidBYM2QFFIkGa0U1k+hSyY87Nw7PY3eDqpvCBm7I3WCSfPeZskW/YYq6m4g==", 1130 | "dev": true, 1131 | "requires": { 1132 | "time-zone": "^1.0.0" 1133 | } 1134 | }, 1135 | "debug": { 1136 | "version": "4.1.1", 1137 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", 1138 | "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", 1139 | "dev": true, 1140 | "requires": { 1141 | "ms": "^2.1.1" 1142 | } 1143 | }, 1144 | "decamelize": { 1145 | "version": "1.2.0", 1146 | "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", 1147 | "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", 1148 | "dev": true 1149 | }, 1150 | "decompress-response": { 1151 | "version": "3.3.0", 1152 | "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", 1153 | "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", 1154 | "dev": true, 1155 | "requires": { 1156 | "mimic-response": "^1.0.0" 1157 | } 1158 | }, 1159 | "deep-equal": { 1160 | "version": "1.1.1", 1161 | "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", 1162 | "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", 1163 | "dev": true, 1164 | "requires": { 1165 | "is-arguments": "^1.0.4", 1166 | "is-date-object": "^1.0.1", 1167 | "is-regex": "^1.0.4", 1168 | "object-is": "^1.0.1", 1169 | "object-keys": "^1.1.1", 1170 | "regexp.prototype.flags": "^1.2.0" 1171 | } 1172 | }, 1173 | "deep-extend": { 1174 | "version": "0.6.0", 1175 | "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", 1176 | "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", 1177 | "dev": true 1178 | }, 1179 | "defaults": { 1180 | "version": "1.0.3", 1181 | "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", 1182 | "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", 1183 | "dev": true, 1184 | "requires": { 1185 | "clone": "^1.0.2" 1186 | } 1187 | }, 1188 | "defer-to-connect": { 1189 | "version": "1.1.3", 1190 | "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", 1191 | "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==", 1192 | "dev": true 1193 | }, 1194 | "define-properties": { 1195 | "version": "1.1.3", 1196 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", 1197 | "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", 1198 | "dev": true, 1199 | "requires": { 1200 | "object-keys": "^1.0.12" 1201 | } 1202 | }, 1203 | "del": { 1204 | "version": "5.1.0", 1205 | "resolved": "https://registry.npmjs.org/del/-/del-5.1.0.tgz", 1206 | "integrity": "sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA==", 1207 | "dev": true, 1208 | "requires": { 1209 | "globby": "^10.0.1", 1210 | "graceful-fs": "^4.2.2", 1211 | "is-glob": "^4.0.1", 1212 | "is-path-cwd": "^2.2.0", 1213 | "is-path-inside": "^3.0.1", 1214 | "p-map": "^3.0.0", 1215 | "rimraf": "^3.0.0", 1216 | "slash": "^3.0.0" 1217 | }, 1218 | "dependencies": { 1219 | "globby": { 1220 | "version": "10.0.2", 1221 | "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", 1222 | "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", 1223 | "dev": true, 1224 | "requires": { 1225 | "@types/glob": "^7.1.1", 1226 | "array-union": "^2.1.0", 1227 | "dir-glob": "^3.0.1", 1228 | "fast-glob": "^3.0.3", 1229 | "glob": "^7.1.3", 1230 | "ignore": "^5.1.1", 1231 | "merge2": "^1.2.3", 1232 | "slash": "^3.0.0" 1233 | } 1234 | }, 1235 | "p-map": { 1236 | "version": "3.0.0", 1237 | "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", 1238 | "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", 1239 | "dev": true, 1240 | "requires": { 1241 | "aggregate-error": "^3.0.0" 1242 | } 1243 | } 1244 | } 1245 | }, 1246 | "diff": { 1247 | "version": "4.0.2", 1248 | "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", 1249 | "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", 1250 | "dev": true 1251 | }, 1252 | "dir-glob": { 1253 | "version": "3.0.1", 1254 | "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", 1255 | "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", 1256 | "dev": true, 1257 | "requires": { 1258 | "path-type": "^4.0.0" 1259 | } 1260 | }, 1261 | "dot-prop": { 1262 | "version": "5.2.0", 1263 | "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz", 1264 | "integrity": "sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==", 1265 | "dev": true, 1266 | "requires": { 1267 | "is-obj": "^2.0.0" 1268 | } 1269 | }, 1270 | "duplexer3": { 1271 | "version": "0.1.4", 1272 | "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", 1273 | "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", 1274 | "dev": true 1275 | }, 1276 | "emittery": { 1277 | "version": "0.6.0", 1278 | "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.6.0.tgz", 1279 | "integrity": "sha512-6EMRGr9KzYWp8DzHFZsKVZBsMO6QhAeHMeHND8rhyBNCHKMLpgW9tZv40bwN3rAIKRS5CxcK8oLRKUJSB9h7yQ==", 1280 | "dev": true 1281 | }, 1282 | "emoji-regex": { 1283 | "version": "8.0.0", 1284 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 1285 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 1286 | "dev": true 1287 | }, 1288 | "empower-core": { 1289 | "version": "1.2.0", 1290 | "resolved": "https://registry.npmjs.org/empower-core/-/empower-core-1.2.0.tgz", 1291 | "integrity": "sha512-g6+K6Geyc1o6FdXs9HwrXleCFan7d66G5xSCfSF7x1mJDCes6t0om9lFQG3zOrzh3Bkb/45N0cZ5Gqsf7YrzGQ==", 1292 | "dev": true, 1293 | "requires": { 1294 | "call-signature": "0.0.2", 1295 | "core-js": "^2.0.0" 1296 | } 1297 | }, 1298 | "end-of-stream": { 1299 | "version": "1.4.4", 1300 | "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", 1301 | "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", 1302 | "dev": true, 1303 | "requires": { 1304 | "once": "^1.4.0" 1305 | } 1306 | }, 1307 | "equal-length": { 1308 | "version": "1.0.1", 1309 | "resolved": "https://registry.npmjs.org/equal-length/-/equal-length-1.0.1.tgz", 1310 | "integrity": "sha1-IcoRLUirJLTh5//A5TOdMf38J0w=", 1311 | "dev": true 1312 | }, 1313 | "error-ex": { 1314 | "version": "1.3.2", 1315 | "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", 1316 | "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", 1317 | "dev": true, 1318 | "requires": { 1319 | "is-arrayish": "^0.2.1" 1320 | } 1321 | }, 1322 | "es-abstract": { 1323 | "version": "1.17.5", 1324 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", 1325 | "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==", 1326 | "dev": true, 1327 | "requires": { 1328 | "es-to-primitive": "^1.2.1", 1329 | "function-bind": "^1.1.1", 1330 | "has": "^1.0.3", 1331 | "has-symbols": "^1.0.1", 1332 | "is-callable": "^1.1.5", 1333 | "is-regex": "^1.0.5", 1334 | "object-inspect": "^1.7.0", 1335 | "object-keys": "^1.1.1", 1336 | "object.assign": "^4.1.0", 1337 | "string.prototype.trimleft": "^2.1.1", 1338 | "string.prototype.trimright": "^2.1.1" 1339 | } 1340 | }, 1341 | "es-to-primitive": { 1342 | "version": "1.2.1", 1343 | "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", 1344 | "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", 1345 | "dev": true, 1346 | "requires": { 1347 | "is-callable": "^1.1.4", 1348 | "is-date-object": "^1.0.1", 1349 | "is-symbol": "^1.0.2" 1350 | } 1351 | }, 1352 | "es6-error": { 1353 | "version": "4.1.1", 1354 | "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", 1355 | "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", 1356 | "dev": true 1357 | }, 1358 | "escape-goat": { 1359 | "version": "2.1.1", 1360 | "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", 1361 | "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==", 1362 | "dev": true 1363 | }, 1364 | "escape-string-regexp": { 1365 | "version": "1.0.5", 1366 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 1367 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 1368 | "dev": true 1369 | }, 1370 | "espower-location-detector": { 1371 | "version": "1.0.0", 1372 | "resolved": "https://registry.npmjs.org/espower-location-detector/-/espower-location-detector-1.0.0.tgz", 1373 | "integrity": "sha1-oXt+zFnTDheeK+9z+0E3cEyzMbU=", 1374 | "dev": true, 1375 | "requires": { 1376 | "is-url": "^1.2.1", 1377 | "path-is-absolute": "^1.0.0", 1378 | "source-map": "^0.5.0", 1379 | "xtend": "^4.0.0" 1380 | }, 1381 | "dependencies": { 1382 | "source-map": { 1383 | "version": "0.5.7", 1384 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 1385 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 1386 | "dev": true 1387 | } 1388 | } 1389 | }, 1390 | "esprima": { 1391 | "version": "4.0.1", 1392 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", 1393 | "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", 1394 | "dev": true 1395 | }, 1396 | "espurify": { 1397 | "version": "1.8.1", 1398 | "resolved": "https://registry.npmjs.org/espurify/-/espurify-1.8.1.tgz", 1399 | "integrity": "sha512-ZDko6eY/o+D/gHCWyHTU85mKDgYcS4FJj7S+YD6WIInm7GQ6AnOjmcL4+buFV/JOztVLELi/7MmuGU5NHta0Mg==", 1400 | "dev": true, 1401 | "requires": { 1402 | "core-js": "^2.0.0" 1403 | } 1404 | }, 1405 | "estraverse": { 1406 | "version": "4.3.0", 1407 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", 1408 | "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", 1409 | "dev": true 1410 | }, 1411 | "esutils": { 1412 | "version": "2.0.3", 1413 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", 1414 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", 1415 | "dev": true 1416 | }, 1417 | "fast-diff": { 1418 | "version": "1.2.0", 1419 | "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", 1420 | "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", 1421 | "dev": true 1422 | }, 1423 | "fast-glob": { 1424 | "version": "3.2.2", 1425 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.2.tgz", 1426 | "integrity": "sha512-UDV82o4uQyljznxwMxyVRJgZZt3O5wENYojjzbaGEGZgeOxkLFf+V4cnUD+krzb2F72E18RhamkMZ7AdeggF7A==", 1427 | "dev": true, 1428 | "requires": { 1429 | "@nodelib/fs.stat": "^2.0.2", 1430 | "@nodelib/fs.walk": "^1.2.3", 1431 | "glob-parent": "^5.1.0", 1432 | "merge2": "^1.3.0", 1433 | "micromatch": "^4.0.2", 1434 | "picomatch": "^2.2.1" 1435 | } 1436 | }, 1437 | "fastq": { 1438 | "version": "1.7.0", 1439 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.7.0.tgz", 1440 | "integrity": "sha512-YOadQRnHd5q6PogvAR/x62BGituF2ufiEA6s8aavQANw5YKHERI4AREboX6KotzP8oX2klxYF2wcV/7bn1clfQ==", 1441 | "dev": true, 1442 | "requires": { 1443 | "reusify": "^1.0.4" 1444 | } 1445 | }, 1446 | "figures": { 1447 | "version": "3.2.0", 1448 | "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", 1449 | "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", 1450 | "dev": true, 1451 | "requires": { 1452 | "escape-string-regexp": "^1.0.5" 1453 | } 1454 | }, 1455 | "fill-range": { 1456 | "version": "7.0.1", 1457 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", 1458 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", 1459 | "dev": true, 1460 | "requires": { 1461 | "to-regex-range": "^5.0.1" 1462 | } 1463 | }, 1464 | "find-up": { 1465 | "version": "4.1.0", 1466 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", 1467 | "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", 1468 | "requires": { 1469 | "locate-path": "^5.0.0", 1470 | "path-exists": "^4.0.0" 1471 | }, 1472 | "dependencies": { 1473 | "path-exists": { 1474 | "version": "4.0.0", 1475 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", 1476 | "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" 1477 | } 1478 | } 1479 | }, 1480 | "fs.realpath": { 1481 | "version": "1.0.0", 1482 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 1483 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 1484 | "dev": true 1485 | }, 1486 | "fsevents": { 1487 | "version": "2.1.3", 1488 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", 1489 | "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", 1490 | "dev": true, 1491 | "optional": true 1492 | }, 1493 | "function-bind": { 1494 | "version": "1.1.1", 1495 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 1496 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", 1497 | "dev": true 1498 | }, 1499 | "gensync": { 1500 | "version": "1.0.0-beta.1", 1501 | "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz", 1502 | "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==", 1503 | "dev": true 1504 | }, 1505 | "get-caller-file": { 1506 | "version": "2.0.5", 1507 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", 1508 | "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", 1509 | "dev": true 1510 | }, 1511 | "get-stream": { 1512 | "version": "4.1.0", 1513 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", 1514 | "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", 1515 | "dev": true, 1516 | "requires": { 1517 | "pump": "^3.0.0" 1518 | } 1519 | }, 1520 | "glob": { 1521 | "version": "7.1.6", 1522 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", 1523 | "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", 1524 | "dev": true, 1525 | "requires": { 1526 | "fs.realpath": "^1.0.0", 1527 | "inflight": "^1.0.4", 1528 | "inherits": "2", 1529 | "minimatch": "^3.0.4", 1530 | "once": "^1.3.0", 1531 | "path-is-absolute": "^1.0.0" 1532 | } 1533 | }, 1534 | "glob-parent": { 1535 | "version": "5.1.1", 1536 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", 1537 | "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", 1538 | "dev": true, 1539 | "requires": { 1540 | "is-glob": "^4.0.1" 1541 | } 1542 | }, 1543 | "global-dirs": { 1544 | "version": "2.0.1", 1545 | "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-2.0.1.tgz", 1546 | "integrity": "sha512-5HqUqdhkEovj2Of/ms3IeS/EekcO54ytHRLV4PEY2rhRwrHXLQjeVEES0Lhka0xwNDtGYn58wyC4s5+MHsOO6A==", 1547 | "dev": true, 1548 | "requires": { 1549 | "ini": "^1.3.5" 1550 | } 1551 | }, 1552 | "globals": { 1553 | "version": "11.12.0", 1554 | "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", 1555 | "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", 1556 | "dev": true 1557 | }, 1558 | "globby": { 1559 | "version": "11.0.0", 1560 | "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.0.tgz", 1561 | "integrity": "sha512-iuehFnR3xu5wBBtm4xi0dMe92Ob87ufyu/dHwpDYfbcpYpIbrO5OnS8M1vWvrBhSGEJ3/Ecj7gnX76P8YxpPEg==", 1562 | "dev": true, 1563 | "requires": { 1564 | "array-union": "^2.1.0", 1565 | "dir-glob": "^3.0.1", 1566 | "fast-glob": "^3.1.1", 1567 | "ignore": "^5.1.4", 1568 | "merge2": "^1.3.0", 1569 | "slash": "^3.0.0" 1570 | } 1571 | }, 1572 | "got": { 1573 | "version": "9.6.0", 1574 | "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", 1575 | "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", 1576 | "dev": true, 1577 | "requires": { 1578 | "@sindresorhus/is": "^0.14.0", 1579 | "@szmarczak/http-timer": "^1.1.2", 1580 | "cacheable-request": "^6.0.0", 1581 | "decompress-response": "^3.3.0", 1582 | "duplexer3": "^0.1.4", 1583 | "get-stream": "^4.1.0", 1584 | "lowercase-keys": "^1.0.1", 1585 | "mimic-response": "^1.0.1", 1586 | "p-cancelable": "^1.0.0", 1587 | "to-readable-stream": "^1.0.0", 1588 | "url-parse-lax": "^3.0.0" 1589 | } 1590 | }, 1591 | "graceful-fs": { 1592 | "version": "4.2.4", 1593 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", 1594 | "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", 1595 | "dev": true 1596 | }, 1597 | "has": { 1598 | "version": "1.0.3", 1599 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 1600 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 1601 | "dev": true, 1602 | "requires": { 1603 | "function-bind": "^1.1.1" 1604 | } 1605 | }, 1606 | "has-flag": { 1607 | "version": "4.0.0", 1608 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 1609 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 1610 | "dev": true 1611 | }, 1612 | "has-symbols": { 1613 | "version": "1.0.1", 1614 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", 1615 | "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", 1616 | "dev": true 1617 | }, 1618 | "has-yarn": { 1619 | "version": "2.1.0", 1620 | "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", 1621 | "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==", 1622 | "dev": true 1623 | }, 1624 | "hasha": { 1625 | "version": "5.2.0", 1626 | "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.0.tgz", 1627 | "integrity": "sha512-2W+jKdQbAdSIrggA8Q35Br8qKadTrqCTC8+XZvBWepKDK6m9XkX6Iz1a2yh2KP01kzAR/dpuMeUnocoLYDcskw==", 1628 | "dev": true, 1629 | "requires": { 1630 | "is-stream": "^2.0.0", 1631 | "type-fest": "^0.8.0" 1632 | }, 1633 | "dependencies": { 1634 | "type-fest": { 1635 | "version": "0.8.1", 1636 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", 1637 | "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", 1638 | "dev": true 1639 | } 1640 | } 1641 | }, 1642 | "hosted-git-info": { 1643 | "version": "2.8.8", 1644 | "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", 1645 | "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", 1646 | "dev": true 1647 | }, 1648 | "http-cache-semantics": { 1649 | "version": "4.1.0", 1650 | "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", 1651 | "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", 1652 | "dev": true 1653 | }, 1654 | "ignore": { 1655 | "version": "5.1.4", 1656 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz", 1657 | "integrity": "sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A==" 1658 | }, 1659 | "ignore-by-default": { 1660 | "version": "1.0.1", 1661 | "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", 1662 | "integrity": "sha1-SMptcvbGo68Aqa1K5odr44ieKwk=", 1663 | "dev": true 1664 | }, 1665 | "import-lazy": { 1666 | "version": "2.1.0", 1667 | "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", 1668 | "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", 1669 | "dev": true 1670 | }, 1671 | "import-local": { 1672 | "version": "3.0.2", 1673 | "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", 1674 | "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", 1675 | "dev": true, 1676 | "requires": { 1677 | "pkg-dir": "^4.2.0", 1678 | "resolve-cwd": "^3.0.0" 1679 | } 1680 | }, 1681 | "imurmurhash": { 1682 | "version": "0.1.4", 1683 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 1684 | "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", 1685 | "dev": true 1686 | }, 1687 | "indent-string": { 1688 | "version": "4.0.0", 1689 | "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", 1690 | "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", 1691 | "dev": true 1692 | }, 1693 | "inflight": { 1694 | "version": "1.0.6", 1695 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 1696 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 1697 | "dev": true, 1698 | "requires": { 1699 | "once": "^1.3.0", 1700 | "wrappy": "1" 1701 | } 1702 | }, 1703 | "inherits": { 1704 | "version": "2.0.4", 1705 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 1706 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 1707 | "dev": true 1708 | }, 1709 | "ini": { 1710 | "version": "1.3.5", 1711 | "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", 1712 | "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", 1713 | "dev": true 1714 | }, 1715 | "irregular-plurals": { 1716 | "version": "3.2.0", 1717 | "resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-3.2.0.tgz", 1718 | "integrity": "sha512-YqTdPLfwP7YFN0SsD3QUVCkm9ZG2VzOXv3DOrw5G5mkMbVwptTwVcFv7/C0vOpBmgTxAeTG19XpUs1E522LW9Q==", 1719 | "dev": true 1720 | }, 1721 | "is-arguments": { 1722 | "version": "1.0.4", 1723 | "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", 1724 | "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==", 1725 | "dev": true 1726 | }, 1727 | "is-arrayish": { 1728 | "version": "0.2.1", 1729 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", 1730 | "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", 1731 | "dev": true 1732 | }, 1733 | "is-binary-path": { 1734 | "version": "2.1.0", 1735 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", 1736 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", 1737 | "dev": true, 1738 | "requires": { 1739 | "binary-extensions": "^2.0.0" 1740 | } 1741 | }, 1742 | "is-callable": { 1743 | "version": "1.1.5", 1744 | "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", 1745 | "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", 1746 | "dev": true 1747 | }, 1748 | "is-ci": { 1749 | "version": "2.0.0", 1750 | "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", 1751 | "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", 1752 | "dev": true, 1753 | "requires": { 1754 | "ci-info": "^2.0.0" 1755 | } 1756 | }, 1757 | "is-date-object": { 1758 | "version": "1.0.2", 1759 | "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", 1760 | "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", 1761 | "dev": true 1762 | }, 1763 | "is-error": { 1764 | "version": "2.2.2", 1765 | "resolved": "https://registry.npmjs.org/is-error/-/is-error-2.2.2.tgz", 1766 | "integrity": "sha512-IOQqts/aHWbiisY5DuPJQ0gcbvaLFCa7fBa9xoLfxBZvQ+ZI/Zh9xoI7Gk+G64N0FdK4AbibytHht2tWgpJWLg==", 1767 | "dev": true 1768 | }, 1769 | "is-extglob": { 1770 | "version": "2.1.1", 1771 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 1772 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", 1773 | "dev": true 1774 | }, 1775 | "is-fullwidth-code-point": { 1776 | "version": "3.0.0", 1777 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 1778 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 1779 | "dev": true 1780 | }, 1781 | "is-glob": { 1782 | "version": "4.0.1", 1783 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", 1784 | "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", 1785 | "dev": true, 1786 | "requires": { 1787 | "is-extglob": "^2.1.1" 1788 | } 1789 | }, 1790 | "is-installed-globally": { 1791 | "version": "0.3.2", 1792 | "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.3.2.tgz", 1793 | "integrity": "sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==", 1794 | "dev": true, 1795 | "requires": { 1796 | "global-dirs": "^2.0.1", 1797 | "is-path-inside": "^3.0.1" 1798 | } 1799 | }, 1800 | "is-interactive": { 1801 | "version": "1.0.0", 1802 | "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", 1803 | "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", 1804 | "dev": true 1805 | }, 1806 | "is-npm": { 1807 | "version": "4.0.0", 1808 | "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-4.0.0.tgz", 1809 | "integrity": "sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig==", 1810 | "dev": true 1811 | }, 1812 | "is-number": { 1813 | "version": "7.0.0", 1814 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 1815 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 1816 | "dev": true 1817 | }, 1818 | "is-obj": { 1819 | "version": "2.0.0", 1820 | "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", 1821 | "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", 1822 | "dev": true 1823 | }, 1824 | "is-path-cwd": { 1825 | "version": "2.2.0", 1826 | "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", 1827 | "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", 1828 | "dev": true 1829 | }, 1830 | "is-path-inside": { 1831 | "version": "3.0.2", 1832 | "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.2.tgz", 1833 | "integrity": "sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==", 1834 | "dev": true 1835 | }, 1836 | "is-plain-object": { 1837 | "version": "3.0.0", 1838 | "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.0.tgz", 1839 | "integrity": "sha512-tZIpofR+P05k8Aocp7UI/2UTa9lTJSebCXpFFoR9aibpokDj/uXBsJ8luUu0tTVYKkMU6URDUuOfJZ7koewXvg==", 1840 | "dev": true, 1841 | "requires": { 1842 | "isobject": "^4.0.0" 1843 | } 1844 | }, 1845 | "is-promise": { 1846 | "version": "3.0.0", 1847 | "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-3.0.0.tgz", 1848 | "integrity": "sha512-aTHJ4BvETyySzLhguH+7sL4b8765eecqq7ZrHVuhZr3FjCL/IV+LsvisEeH+9d0AkChYny3ad1KEL+mKy4ot7A==", 1849 | "dev": true 1850 | }, 1851 | "is-regex": { 1852 | "version": "1.0.5", 1853 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", 1854 | "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", 1855 | "dev": true, 1856 | "requires": { 1857 | "has": "^1.0.3" 1858 | } 1859 | }, 1860 | "is-stream": { 1861 | "version": "2.0.0", 1862 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", 1863 | "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", 1864 | "dev": true 1865 | }, 1866 | "is-symbol": { 1867 | "version": "1.0.3", 1868 | "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", 1869 | "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", 1870 | "dev": true, 1871 | "requires": { 1872 | "has-symbols": "^1.0.1" 1873 | } 1874 | }, 1875 | "is-typedarray": { 1876 | "version": "1.0.0", 1877 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", 1878 | "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", 1879 | "dev": true 1880 | }, 1881 | "is-url": { 1882 | "version": "1.2.4", 1883 | "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", 1884 | "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==", 1885 | "dev": true 1886 | }, 1887 | "is-utf8": { 1888 | "version": "0.2.1", 1889 | "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", 1890 | "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", 1891 | "dev": true 1892 | }, 1893 | "is-yarn-global": { 1894 | "version": "0.3.0", 1895 | "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", 1896 | "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==", 1897 | "dev": true 1898 | }, 1899 | "isexe": { 1900 | "version": "2.0.0", 1901 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 1902 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" 1903 | }, 1904 | "isobject": { 1905 | "version": "4.0.0", 1906 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-4.0.0.tgz", 1907 | "integrity": "sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==", 1908 | "dev": true 1909 | }, 1910 | "js-string-escape": { 1911 | "version": "1.0.1", 1912 | "resolved": "https://registry.npmjs.org/js-string-escape/-/js-string-escape-1.0.1.tgz", 1913 | "integrity": "sha1-4mJbrbwNZ8dTPp7cEGjFh65BN+8=", 1914 | "dev": true 1915 | }, 1916 | "js-tokens": { 1917 | "version": "4.0.0", 1918 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 1919 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", 1920 | "dev": true 1921 | }, 1922 | "js-yaml": { 1923 | "version": "3.13.1", 1924 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", 1925 | "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", 1926 | "dev": true, 1927 | "requires": { 1928 | "argparse": "^1.0.7", 1929 | "esprima": "^4.0.0" 1930 | } 1931 | }, 1932 | "jsesc": { 1933 | "version": "2.5.2", 1934 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", 1935 | "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", 1936 | "dev": true 1937 | }, 1938 | "json-buffer": { 1939 | "version": "3.0.0", 1940 | "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", 1941 | "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", 1942 | "dev": true 1943 | }, 1944 | "json-parse-better-errors": { 1945 | "version": "1.0.2", 1946 | "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", 1947 | "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", 1948 | "dev": true 1949 | }, 1950 | "json5": { 1951 | "version": "2.1.3", 1952 | "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", 1953 | "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", 1954 | "dev": true, 1955 | "requires": { 1956 | "minimist": "^1.2.5" 1957 | } 1958 | }, 1959 | "keyv": { 1960 | "version": "3.1.0", 1961 | "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", 1962 | "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", 1963 | "dev": true, 1964 | "requires": { 1965 | "json-buffer": "3.0.0" 1966 | } 1967 | }, 1968 | "latest-version": { 1969 | "version": "5.1.0", 1970 | "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", 1971 | "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", 1972 | "dev": true, 1973 | "requires": { 1974 | "package-json": "^6.3.0" 1975 | } 1976 | }, 1977 | "lines-and-columns": { 1978 | "version": "1.1.6", 1979 | "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", 1980 | "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", 1981 | "dev": true 1982 | }, 1983 | "load-json-file": { 1984 | "version": "5.3.0", 1985 | "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-5.3.0.tgz", 1986 | "integrity": "sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==", 1987 | "dev": true, 1988 | "requires": { 1989 | "graceful-fs": "^4.1.15", 1990 | "parse-json": "^4.0.0", 1991 | "pify": "^4.0.1", 1992 | "strip-bom": "^3.0.0", 1993 | "type-fest": "^0.3.0" 1994 | } 1995 | }, 1996 | "locate-path": { 1997 | "version": "5.0.0", 1998 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", 1999 | "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", 2000 | "requires": { 2001 | "p-locate": "^4.1.0" 2002 | } 2003 | }, 2004 | "lodash": { 2005 | "version": "4.17.15", 2006 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", 2007 | "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", 2008 | "dev": true 2009 | }, 2010 | "lodash.clonedeep": { 2011 | "version": "4.5.0", 2012 | "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", 2013 | "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", 2014 | "dev": true 2015 | }, 2016 | "lodash.flattendeep": { 2017 | "version": "4.4.0", 2018 | "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", 2019 | "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", 2020 | "dev": true 2021 | }, 2022 | "lodash.islength": { 2023 | "version": "4.0.1", 2024 | "resolved": "https://registry.npmjs.org/lodash.islength/-/lodash.islength-4.0.1.tgz", 2025 | "integrity": "sha1-Tpho1FJXXXUK/9NYyXlUPcIO1Xc=", 2026 | "dev": true 2027 | }, 2028 | "lodash.merge": { 2029 | "version": "4.6.2", 2030 | "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", 2031 | "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", 2032 | "dev": true 2033 | }, 2034 | "log-symbols": { 2035 | "version": "3.0.0", 2036 | "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", 2037 | "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", 2038 | "dev": true, 2039 | "requires": { 2040 | "chalk": "^2.4.2" 2041 | }, 2042 | "dependencies": { 2043 | "ansi-styles": { 2044 | "version": "3.2.1", 2045 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 2046 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 2047 | "dev": true, 2048 | "requires": { 2049 | "color-convert": "^1.9.0" 2050 | } 2051 | }, 2052 | "chalk": { 2053 | "version": "2.4.2", 2054 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 2055 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 2056 | "dev": true, 2057 | "requires": { 2058 | "ansi-styles": "^3.2.1", 2059 | "escape-string-regexp": "^1.0.5", 2060 | "supports-color": "^5.3.0" 2061 | } 2062 | }, 2063 | "color-convert": { 2064 | "version": "1.9.3", 2065 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 2066 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 2067 | "dev": true, 2068 | "requires": { 2069 | "color-name": "1.1.3" 2070 | } 2071 | }, 2072 | "color-name": { 2073 | "version": "1.1.3", 2074 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 2075 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", 2076 | "dev": true 2077 | }, 2078 | "has-flag": { 2079 | "version": "3.0.0", 2080 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 2081 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", 2082 | "dev": true 2083 | }, 2084 | "supports-color": { 2085 | "version": "5.5.0", 2086 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 2087 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 2088 | "dev": true, 2089 | "requires": { 2090 | "has-flag": "^3.0.0" 2091 | } 2092 | } 2093 | } 2094 | }, 2095 | "lowercase-keys": { 2096 | "version": "1.0.1", 2097 | "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", 2098 | "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", 2099 | "dev": true 2100 | }, 2101 | "make-dir": { 2102 | "version": "3.1.0", 2103 | "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", 2104 | "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", 2105 | "dev": true, 2106 | "requires": { 2107 | "semver": "^6.0.0" 2108 | }, 2109 | "dependencies": { 2110 | "semver": { 2111 | "version": "6.3.0", 2112 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", 2113 | "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", 2114 | "dev": true 2115 | } 2116 | } 2117 | }, 2118 | "make-error": { 2119 | "version": "1.3.6", 2120 | "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", 2121 | "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", 2122 | "dev": true 2123 | }, 2124 | "map-age-cleaner": { 2125 | "version": "0.1.3", 2126 | "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", 2127 | "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", 2128 | "dev": true, 2129 | "requires": { 2130 | "p-defer": "^1.0.0" 2131 | } 2132 | }, 2133 | "matcher": { 2134 | "version": "3.0.0", 2135 | "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz", 2136 | "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==", 2137 | "dev": true, 2138 | "requires": { 2139 | "escape-string-regexp": "^4.0.0" 2140 | }, 2141 | "dependencies": { 2142 | "escape-string-regexp": { 2143 | "version": "4.0.0", 2144 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", 2145 | "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", 2146 | "dev": true 2147 | } 2148 | } 2149 | }, 2150 | "md5-hex": { 2151 | "version": "3.0.1", 2152 | "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-3.0.1.tgz", 2153 | "integrity": "sha512-BUiRtTtV39LIJwinWBjqVsU9xhdnz7/i889V859IBFpuqGAj6LuOvHv5XLbgZ2R7ptJoJaEcxkv88/h25T7Ciw==", 2154 | "dev": true, 2155 | "requires": { 2156 | "blueimp-md5": "^2.10.0" 2157 | } 2158 | }, 2159 | "md5-o-matic": { 2160 | "version": "0.1.1", 2161 | "resolved": "https://registry.npmjs.org/md5-o-matic/-/md5-o-matic-0.1.1.tgz", 2162 | "integrity": "sha1-givM1l4RfFFPqxdrJZRdVBAKA8M=", 2163 | "dev": true 2164 | }, 2165 | "mem": { 2166 | "version": "6.1.0", 2167 | "resolved": "https://registry.npmjs.org/mem/-/mem-6.1.0.tgz", 2168 | "integrity": "sha512-RlbnLQgRHk5lwqTtpEkBTQ2ll/CG/iB+J4Hy2Wh97PjgZgXgWJWrFF+XXujh3UUVLvR4OOTgZzcWMMwnehlEUg==", 2169 | "dev": true, 2170 | "requires": { 2171 | "map-age-cleaner": "^0.1.3", 2172 | "mimic-fn": "^3.0.0" 2173 | }, 2174 | "dependencies": { 2175 | "mimic-fn": { 2176 | "version": "3.0.0", 2177 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-3.0.0.tgz", 2178 | "integrity": "sha512-PiVO95TKvhiwgSwg1IdLYlCTdul38yZxZMIcnDSFIBUm4BNZha2qpQ4GpJ++15bHoKDtrW2D69lMfFwdFYtNZQ==", 2179 | "dev": true 2180 | } 2181 | } 2182 | }, 2183 | "merge2": { 2184 | "version": "1.3.0", 2185 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.3.0.tgz", 2186 | "integrity": "sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==", 2187 | "dev": true 2188 | }, 2189 | "micromatch": { 2190 | "version": "4.0.2", 2191 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", 2192 | "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", 2193 | "dev": true, 2194 | "requires": { 2195 | "braces": "^3.0.1", 2196 | "picomatch": "^2.0.5" 2197 | } 2198 | }, 2199 | "mimic-fn": { 2200 | "version": "2.1.0", 2201 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", 2202 | "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", 2203 | "dev": true 2204 | }, 2205 | "mimic-response": { 2206 | "version": "1.0.1", 2207 | "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", 2208 | "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", 2209 | "dev": true 2210 | }, 2211 | "min-indent": { 2212 | "version": "1.0.0", 2213 | "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.0.tgz", 2214 | "integrity": "sha1-z8RcN+nsDY8KDsPdTvf3w6vjklY=", 2215 | "dev": true 2216 | }, 2217 | "minimatch": { 2218 | "version": "3.0.4", 2219 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 2220 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", 2221 | "dev": true, 2222 | "requires": { 2223 | "brace-expansion": "^1.1.7" 2224 | } 2225 | }, 2226 | "minimist": { 2227 | "version": "1.2.5", 2228 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", 2229 | "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", 2230 | "dev": true 2231 | }, 2232 | "ms": { 2233 | "version": "2.1.2", 2234 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 2235 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", 2236 | "dev": true 2237 | }, 2238 | "mute-stream": { 2239 | "version": "0.0.8", 2240 | "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", 2241 | "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", 2242 | "dev": true 2243 | }, 2244 | "normalize-package-data": { 2245 | "version": "2.5.0", 2246 | "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", 2247 | "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", 2248 | "dev": true, 2249 | "requires": { 2250 | "hosted-git-info": "^2.1.4", 2251 | "resolve": "^1.10.0", 2252 | "semver": "2 || 3 || 4 || 5", 2253 | "validate-npm-package-license": "^3.0.1" 2254 | } 2255 | }, 2256 | "normalize-path": { 2257 | "version": "3.0.0", 2258 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 2259 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 2260 | "dev": true 2261 | }, 2262 | "normalize-url": { 2263 | "version": "4.5.0", 2264 | "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", 2265 | "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==", 2266 | "dev": true 2267 | }, 2268 | "object-inspect": { 2269 | "version": "1.7.0", 2270 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", 2271 | "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", 2272 | "dev": true 2273 | }, 2274 | "object-is": { 2275 | "version": "1.1.2", 2276 | "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.2.tgz", 2277 | "integrity": "sha512-5lHCz+0uufF6wZ7CRFWJN3hp8Jqblpgve06U5CMQ3f//6iDjPr2PEo9MWCjEssDsa+UZEL4PkFpr+BMop6aKzQ==", 2278 | "dev": true, 2279 | "requires": { 2280 | "define-properties": "^1.1.3", 2281 | "es-abstract": "^1.17.5" 2282 | } 2283 | }, 2284 | "object-keys": { 2285 | "version": "1.1.1", 2286 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", 2287 | "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", 2288 | "dev": true 2289 | }, 2290 | "object.assign": { 2291 | "version": "4.1.0", 2292 | "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", 2293 | "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", 2294 | "dev": true, 2295 | "requires": { 2296 | "define-properties": "^1.1.2", 2297 | "function-bind": "^1.1.1", 2298 | "has-symbols": "^1.0.0", 2299 | "object-keys": "^1.0.11" 2300 | } 2301 | }, 2302 | "once": { 2303 | "version": "1.4.0", 2304 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 2305 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 2306 | "dev": true, 2307 | "requires": { 2308 | "wrappy": "1" 2309 | } 2310 | }, 2311 | "onetime": { 2312 | "version": "5.1.0", 2313 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", 2314 | "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", 2315 | "dev": true, 2316 | "requires": { 2317 | "mimic-fn": "^2.1.0" 2318 | } 2319 | }, 2320 | "ora": { 2321 | "version": "4.0.4", 2322 | "resolved": "https://registry.npmjs.org/ora/-/ora-4.0.4.tgz", 2323 | "integrity": "sha512-77iGeVU1cIdRhgFzCK8aw1fbtT1B/iZAvWjS+l/o1x0RShMgxHUZaD2yDpWsNCPwXg9z1ZA78Kbdvr8kBmG/Ww==", 2324 | "dev": true, 2325 | "requires": { 2326 | "chalk": "^3.0.0", 2327 | "cli-cursor": "^3.1.0", 2328 | "cli-spinners": "^2.2.0", 2329 | "is-interactive": "^1.0.0", 2330 | "log-symbols": "^3.0.0", 2331 | "mute-stream": "0.0.8", 2332 | "strip-ansi": "^6.0.0", 2333 | "wcwidth": "^1.0.1" 2334 | }, 2335 | "dependencies": { 2336 | "chalk": { 2337 | "version": "3.0.0", 2338 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", 2339 | "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", 2340 | "dev": true, 2341 | "requires": { 2342 | "ansi-styles": "^4.1.0", 2343 | "supports-color": "^7.1.0" 2344 | } 2345 | } 2346 | } 2347 | }, 2348 | "p-cancelable": { 2349 | "version": "1.1.0", 2350 | "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", 2351 | "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", 2352 | "dev": true 2353 | }, 2354 | "p-defer": { 2355 | "version": "1.0.0", 2356 | "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", 2357 | "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", 2358 | "dev": true 2359 | }, 2360 | "p-limit": { 2361 | "version": "2.3.0", 2362 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", 2363 | "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", 2364 | "requires": { 2365 | "p-try": "^2.0.0" 2366 | } 2367 | }, 2368 | "p-locate": { 2369 | "version": "4.1.0", 2370 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", 2371 | "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", 2372 | "requires": { 2373 | "p-limit": "^2.2.0" 2374 | } 2375 | }, 2376 | "p-map": { 2377 | "version": "4.0.0", 2378 | "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", 2379 | "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", 2380 | "dev": true, 2381 | "requires": { 2382 | "aggregate-error": "^3.0.0" 2383 | } 2384 | }, 2385 | "p-try": { 2386 | "version": "2.2.0", 2387 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", 2388 | "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" 2389 | }, 2390 | "package-hash": { 2391 | "version": "4.0.0", 2392 | "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", 2393 | "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", 2394 | "dev": true, 2395 | "requires": { 2396 | "graceful-fs": "^4.1.15", 2397 | "hasha": "^5.0.0", 2398 | "lodash.flattendeep": "^4.4.0", 2399 | "release-zalgo": "^1.0.0" 2400 | } 2401 | }, 2402 | "package-json": { 2403 | "version": "6.5.0", 2404 | "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", 2405 | "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", 2406 | "dev": true, 2407 | "requires": { 2408 | "got": "^9.6.0", 2409 | "registry-auth-token": "^4.0.0", 2410 | "registry-url": "^5.0.0", 2411 | "semver": "^6.2.0" 2412 | }, 2413 | "dependencies": { 2414 | "semver": { 2415 | "version": "6.3.0", 2416 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", 2417 | "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", 2418 | "dev": true 2419 | } 2420 | } 2421 | }, 2422 | "parse-json": { 2423 | "version": "4.0.0", 2424 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", 2425 | "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", 2426 | "dev": true, 2427 | "requires": { 2428 | "error-ex": "^1.3.1", 2429 | "json-parse-better-errors": "^1.0.1" 2430 | } 2431 | }, 2432 | "parse-ms": { 2433 | "version": "2.1.0", 2434 | "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-2.1.0.tgz", 2435 | "integrity": "sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==", 2436 | "dev": true 2437 | }, 2438 | "path-exists": { 2439 | "version": "3.0.0", 2440 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", 2441 | "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", 2442 | "dev": true 2443 | }, 2444 | "path-is-absolute": { 2445 | "version": "1.0.1", 2446 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 2447 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 2448 | "dev": true 2449 | }, 2450 | "path-parse": { 2451 | "version": "1.0.6", 2452 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", 2453 | "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", 2454 | "dev": true 2455 | }, 2456 | "path-type": { 2457 | "version": "4.0.0", 2458 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", 2459 | "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", 2460 | "dev": true 2461 | }, 2462 | "picomatch": { 2463 | "version": "2.2.2", 2464 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", 2465 | "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", 2466 | "dev": true 2467 | }, 2468 | "pify": { 2469 | "version": "4.0.1", 2470 | "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", 2471 | "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", 2472 | "dev": true 2473 | }, 2474 | "pkg-conf": { 2475 | "version": "3.1.0", 2476 | "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-3.1.0.tgz", 2477 | "integrity": "sha512-m0OTbR/5VPNPqO1ph6Fqbj7Hv6QU7gR/tQW40ZqrL1rjgCU85W6C1bJn0BItuJqnR98PWzw7Z8hHeChD1WrgdQ==", 2478 | "dev": true, 2479 | "requires": { 2480 | "find-up": "^3.0.0", 2481 | "load-json-file": "^5.2.0" 2482 | }, 2483 | "dependencies": { 2484 | "find-up": { 2485 | "version": "3.0.0", 2486 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", 2487 | "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", 2488 | "dev": true, 2489 | "requires": { 2490 | "locate-path": "^3.0.0" 2491 | } 2492 | }, 2493 | "locate-path": { 2494 | "version": "3.0.0", 2495 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", 2496 | "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", 2497 | "dev": true, 2498 | "requires": { 2499 | "p-locate": "^3.0.0", 2500 | "path-exists": "^3.0.0" 2501 | } 2502 | }, 2503 | "p-locate": { 2504 | "version": "3.0.0", 2505 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", 2506 | "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", 2507 | "dev": true, 2508 | "requires": { 2509 | "p-limit": "^2.0.0" 2510 | } 2511 | } 2512 | } 2513 | }, 2514 | "pkg-dir": { 2515 | "version": "4.2.0", 2516 | "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", 2517 | "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", 2518 | "dev": true, 2519 | "requires": { 2520 | "find-up": "^4.0.0" 2521 | } 2522 | }, 2523 | "plur": { 2524 | "version": "4.0.0", 2525 | "resolved": "https://registry.npmjs.org/plur/-/plur-4.0.0.tgz", 2526 | "integrity": "sha512-4UGewrYgqDFw9vV6zNV+ADmPAUAfJPKtGvb/VdpQAx25X5f3xXdGdyOEVFwkl8Hl/tl7+xbeHqSEM+D5/TirUg==", 2527 | "dev": true, 2528 | "requires": { 2529 | "irregular-plurals": "^3.2.0" 2530 | } 2531 | }, 2532 | "prepend-http": { 2533 | "version": "2.0.0", 2534 | "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", 2535 | "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", 2536 | "dev": true 2537 | }, 2538 | "prettier": { 2539 | "version": "2.0.5", 2540 | "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.0.5.tgz", 2541 | "integrity": "sha512-7PtVymN48hGcO4fGjybyBSIWDsLU4H4XlvOHfq91pz9kkGlonzwTfYkaIEwiRg/dAJF9YlbsduBAgtYLi+8cFg==", 2542 | "dev": true 2543 | }, 2544 | "pretty-ms": { 2545 | "version": "6.0.1", 2546 | "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-6.0.1.tgz", 2547 | "integrity": "sha512-ke4njoVmlotekHlHyCZ3wI/c5AMT8peuHs8rKJqekj/oR5G8lND2dVpicFlUz5cbZgE290vvkMuDwfj/OcW1kw==", 2548 | "dev": true, 2549 | "requires": { 2550 | "parse-ms": "^2.1.0" 2551 | } 2552 | }, 2553 | "pump": { 2554 | "version": "3.0.0", 2555 | "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", 2556 | "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", 2557 | "dev": true, 2558 | "requires": { 2559 | "end-of-stream": "^1.1.0", 2560 | "once": "^1.3.1" 2561 | } 2562 | }, 2563 | "pupa": { 2564 | "version": "2.0.1", 2565 | "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.0.1.tgz", 2566 | "integrity": "sha512-hEJH0s8PXLY/cdXh66tNEQGndDrIKNqNC5xmrysZy3i5C3oEoLna7YAOad+7u125+zH1HNXUmGEkrhb3c2VriA==", 2567 | "dev": true, 2568 | "requires": { 2569 | "escape-goat": "^2.0.0" 2570 | } 2571 | }, 2572 | "rc": { 2573 | "version": "1.2.8", 2574 | "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", 2575 | "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", 2576 | "dev": true, 2577 | "requires": { 2578 | "deep-extend": "^0.6.0", 2579 | "ini": "~1.3.0", 2580 | "minimist": "^1.2.0", 2581 | "strip-json-comments": "~2.0.1" 2582 | } 2583 | }, 2584 | "read-pkg": { 2585 | "version": "5.2.0", 2586 | "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", 2587 | "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", 2588 | "dev": true, 2589 | "requires": { 2590 | "@types/normalize-package-data": "^2.4.0", 2591 | "normalize-package-data": "^2.5.0", 2592 | "parse-json": "^5.0.0", 2593 | "type-fest": "^0.6.0" 2594 | }, 2595 | "dependencies": { 2596 | "parse-json": { 2597 | "version": "5.0.0", 2598 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz", 2599 | "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==", 2600 | "dev": true, 2601 | "requires": { 2602 | "@babel/code-frame": "^7.0.0", 2603 | "error-ex": "^1.3.1", 2604 | "json-parse-better-errors": "^1.0.1", 2605 | "lines-and-columns": "^1.1.6" 2606 | } 2607 | }, 2608 | "type-fest": { 2609 | "version": "0.6.0", 2610 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", 2611 | "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", 2612 | "dev": true 2613 | } 2614 | } 2615 | }, 2616 | "readdirp": { 2617 | "version": "3.4.0", 2618 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", 2619 | "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", 2620 | "dev": true, 2621 | "requires": { 2622 | "picomatch": "^2.2.1" 2623 | } 2624 | }, 2625 | "regexp.prototype.flags": { 2626 | "version": "1.3.0", 2627 | "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", 2628 | "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", 2629 | "dev": true, 2630 | "requires": { 2631 | "define-properties": "^1.1.3", 2632 | "es-abstract": "^1.17.0-next.1" 2633 | } 2634 | }, 2635 | "registry-auth-token": { 2636 | "version": "4.1.1", 2637 | "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.1.1.tgz", 2638 | "integrity": "sha512-9bKS7nTl9+/A1s7tnPeGrUpRcVY+LUh7bfFgzpndALdPfXQBfQV77rQVtqgUV3ti4vc/Ik81Ex8UJDWDQ12zQA==", 2639 | "dev": true, 2640 | "requires": { 2641 | "rc": "^1.2.8" 2642 | } 2643 | }, 2644 | "registry-url": { 2645 | "version": "5.1.0", 2646 | "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", 2647 | "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", 2648 | "dev": true, 2649 | "requires": { 2650 | "rc": "^1.2.8" 2651 | } 2652 | }, 2653 | "release-zalgo": { 2654 | "version": "1.0.0", 2655 | "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", 2656 | "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", 2657 | "dev": true, 2658 | "requires": { 2659 | "es6-error": "^4.0.1" 2660 | } 2661 | }, 2662 | "require-directory": { 2663 | "version": "2.1.1", 2664 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", 2665 | "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", 2666 | "dev": true 2667 | }, 2668 | "require-main-filename": { 2669 | "version": "2.0.0", 2670 | "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", 2671 | "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", 2672 | "dev": true 2673 | }, 2674 | "resolve": { 2675 | "version": "1.17.0", 2676 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", 2677 | "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", 2678 | "dev": true, 2679 | "requires": { 2680 | "path-parse": "^1.0.6" 2681 | } 2682 | }, 2683 | "resolve-cwd": { 2684 | "version": "3.0.0", 2685 | "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", 2686 | "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", 2687 | "dev": true, 2688 | "requires": { 2689 | "resolve-from": "^5.0.0" 2690 | } 2691 | }, 2692 | "resolve-from": { 2693 | "version": "5.0.0", 2694 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", 2695 | "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", 2696 | "dev": true 2697 | }, 2698 | "responselike": { 2699 | "version": "1.0.2", 2700 | "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", 2701 | "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", 2702 | "dev": true, 2703 | "requires": { 2704 | "lowercase-keys": "^1.0.0" 2705 | } 2706 | }, 2707 | "restore-cursor": { 2708 | "version": "3.1.0", 2709 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", 2710 | "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", 2711 | "dev": true, 2712 | "requires": { 2713 | "onetime": "^5.1.0", 2714 | "signal-exit": "^3.0.2" 2715 | } 2716 | }, 2717 | "reusify": { 2718 | "version": "1.0.4", 2719 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 2720 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 2721 | "dev": true 2722 | }, 2723 | "rimraf": { 2724 | "version": "3.0.2", 2725 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", 2726 | "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", 2727 | "dev": true, 2728 | "requires": { 2729 | "glob": "^7.1.3" 2730 | } 2731 | }, 2732 | "run-parallel": { 2733 | "version": "1.1.9", 2734 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz", 2735 | "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==", 2736 | "dev": true 2737 | }, 2738 | "safe-buffer": { 2739 | "version": "5.1.2", 2740 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 2741 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", 2742 | "dev": true 2743 | }, 2744 | "semver": { 2745 | "version": "5.7.1", 2746 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", 2747 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", 2748 | "dev": true 2749 | }, 2750 | "semver-diff": { 2751 | "version": "3.1.1", 2752 | "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", 2753 | "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", 2754 | "dev": true, 2755 | "requires": { 2756 | "semver": "^6.3.0" 2757 | }, 2758 | "dependencies": { 2759 | "semver": { 2760 | "version": "6.3.0", 2761 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", 2762 | "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", 2763 | "dev": true 2764 | } 2765 | } 2766 | }, 2767 | "serialize-error": { 2768 | "version": "2.1.0", 2769 | "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", 2770 | "integrity": "sha1-ULZ51WNc34Rme9yOWa9OW4HV9go=", 2771 | "dev": true 2772 | }, 2773 | "set-blocking": { 2774 | "version": "2.0.0", 2775 | "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", 2776 | "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", 2777 | "dev": true 2778 | }, 2779 | "shebang-command": { 2780 | "version": "2.0.0", 2781 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 2782 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 2783 | "requires": { 2784 | "shebang-regex": "^3.0.0" 2785 | } 2786 | }, 2787 | "shebang-regex": { 2788 | "version": "3.0.0", 2789 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 2790 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" 2791 | }, 2792 | "signal-exit": { 2793 | "version": "3.0.3", 2794 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", 2795 | "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", 2796 | "dev": true 2797 | }, 2798 | "slash": { 2799 | "version": "3.0.0", 2800 | "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", 2801 | "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", 2802 | "dev": true 2803 | }, 2804 | "slice-ansi": { 2805 | "version": "3.0.0", 2806 | "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", 2807 | "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", 2808 | "dev": true, 2809 | "requires": { 2810 | "ansi-styles": "^4.0.0", 2811 | "astral-regex": "^2.0.0", 2812 | "is-fullwidth-code-point": "^3.0.0" 2813 | } 2814 | }, 2815 | "source-map": { 2816 | "version": "0.6.1", 2817 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 2818 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 2819 | "dev": true 2820 | }, 2821 | "source-map-support": { 2822 | "version": "0.5.19", 2823 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", 2824 | "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", 2825 | "dev": true, 2826 | "requires": { 2827 | "buffer-from": "^1.0.0", 2828 | "source-map": "^0.6.0" 2829 | } 2830 | }, 2831 | "spdx-correct": { 2832 | "version": "3.1.0", 2833 | "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", 2834 | "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", 2835 | "dev": true, 2836 | "requires": { 2837 | "spdx-expression-parse": "^3.0.0", 2838 | "spdx-license-ids": "^3.0.0" 2839 | } 2840 | }, 2841 | "spdx-exceptions": { 2842 | "version": "2.3.0", 2843 | "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", 2844 | "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", 2845 | "dev": true 2846 | }, 2847 | "spdx-expression-parse": { 2848 | "version": "3.0.0", 2849 | "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", 2850 | "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", 2851 | "dev": true, 2852 | "requires": { 2853 | "spdx-exceptions": "^2.1.0", 2854 | "spdx-license-ids": "^3.0.0" 2855 | } 2856 | }, 2857 | "spdx-license-ids": { 2858 | "version": "3.0.5", 2859 | "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", 2860 | "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", 2861 | "dev": true 2862 | }, 2863 | "sprintf-js": { 2864 | "version": "1.0.3", 2865 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", 2866 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", 2867 | "dev": true 2868 | }, 2869 | "stack-utils": { 2870 | "version": "2.0.2", 2871 | "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.2.tgz", 2872 | "integrity": "sha512-0H7QK2ECz3fyZMzQ8rH0j2ykpfbnd20BFtfg/SqVC2+sCTtcw0aDTGB7dk+de4U4uUeuz6nOtJcrkFFLG1B0Rg==", 2873 | "dev": true, 2874 | "requires": { 2875 | "escape-string-regexp": "^2.0.0" 2876 | }, 2877 | "dependencies": { 2878 | "escape-string-regexp": { 2879 | "version": "2.0.0", 2880 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", 2881 | "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", 2882 | "dev": true 2883 | } 2884 | } 2885 | }, 2886 | "string-width": { 2887 | "version": "4.2.0", 2888 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", 2889 | "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", 2890 | "dev": true, 2891 | "requires": { 2892 | "emoji-regex": "^8.0.0", 2893 | "is-fullwidth-code-point": "^3.0.0", 2894 | "strip-ansi": "^6.0.0" 2895 | } 2896 | }, 2897 | "string.prototype.trimend": { 2898 | "version": "1.0.1", 2899 | "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", 2900 | "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", 2901 | "dev": true, 2902 | "requires": { 2903 | "define-properties": "^1.1.3", 2904 | "es-abstract": "^1.17.5" 2905 | } 2906 | }, 2907 | "string.prototype.trimleft": { 2908 | "version": "2.1.2", 2909 | "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz", 2910 | "integrity": "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==", 2911 | "dev": true, 2912 | "requires": { 2913 | "define-properties": "^1.1.3", 2914 | "es-abstract": "^1.17.5", 2915 | "string.prototype.trimstart": "^1.0.0" 2916 | } 2917 | }, 2918 | "string.prototype.trimright": { 2919 | "version": "2.1.2", 2920 | "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz", 2921 | "integrity": "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==", 2922 | "dev": true, 2923 | "requires": { 2924 | "define-properties": "^1.1.3", 2925 | "es-abstract": "^1.17.5", 2926 | "string.prototype.trimend": "^1.0.0" 2927 | } 2928 | }, 2929 | "string.prototype.trimstart": { 2930 | "version": "1.0.1", 2931 | "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", 2932 | "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", 2933 | "dev": true, 2934 | "requires": { 2935 | "define-properties": "^1.1.3", 2936 | "es-abstract": "^1.17.5" 2937 | } 2938 | }, 2939 | "strip-ansi": { 2940 | "version": "6.0.0", 2941 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", 2942 | "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", 2943 | "dev": true, 2944 | "requires": { 2945 | "ansi-regex": "^5.0.0" 2946 | } 2947 | }, 2948 | "strip-bom": { 2949 | "version": "3.0.0", 2950 | "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", 2951 | "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", 2952 | "dev": true 2953 | }, 2954 | "strip-bom-buf": { 2955 | "version": "2.0.0", 2956 | "resolved": "https://registry.npmjs.org/strip-bom-buf/-/strip-bom-buf-2.0.0.tgz", 2957 | "integrity": "sha512-gLFNHucd6gzb8jMsl5QmZ3QgnUJmp7qn4uUSHNwEXumAp7YizoGYw19ZUVfuq4aBOQUtyn2k8X/CwzWB73W2lQ==", 2958 | "dev": true, 2959 | "requires": { 2960 | "is-utf8": "^0.2.1" 2961 | } 2962 | }, 2963 | "strip-indent": { 2964 | "version": "3.0.0", 2965 | "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", 2966 | "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", 2967 | "dev": true, 2968 | "requires": { 2969 | "min-indent": "^1.0.0" 2970 | } 2971 | }, 2972 | "strip-json-comments": { 2973 | "version": "2.0.1", 2974 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", 2975 | "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", 2976 | "dev": true 2977 | }, 2978 | "supertap": { 2979 | "version": "1.0.0", 2980 | "resolved": "https://registry.npmjs.org/supertap/-/supertap-1.0.0.tgz", 2981 | "integrity": "sha512-HZJ3geIMPgVwKk2VsmO5YHqnnJYl6bV5A9JW2uzqV43WmpgliNEYbuvukfor7URpaqpxuw3CfZ3ONdVbZjCgIA==", 2982 | "dev": true, 2983 | "requires": { 2984 | "arrify": "^1.0.1", 2985 | "indent-string": "^3.2.0", 2986 | "js-yaml": "^3.10.0", 2987 | "serialize-error": "^2.1.0", 2988 | "strip-ansi": "^4.0.0" 2989 | }, 2990 | "dependencies": { 2991 | "ansi-regex": { 2992 | "version": "3.0.0", 2993 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", 2994 | "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", 2995 | "dev": true 2996 | }, 2997 | "arrify": { 2998 | "version": "1.0.1", 2999 | "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", 3000 | "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", 3001 | "dev": true 3002 | }, 3003 | "indent-string": { 3004 | "version": "3.2.0", 3005 | "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", 3006 | "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", 3007 | "dev": true 3008 | }, 3009 | "strip-ansi": { 3010 | "version": "4.0.0", 3011 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", 3012 | "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", 3013 | "dev": true, 3014 | "requires": { 3015 | "ansi-regex": "^3.0.0" 3016 | } 3017 | } 3018 | } 3019 | }, 3020 | "supports-color": { 3021 | "version": "7.1.0", 3022 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", 3023 | "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", 3024 | "dev": true, 3025 | "requires": { 3026 | "has-flag": "^4.0.0" 3027 | } 3028 | }, 3029 | "temp-dir": { 3030 | "version": "2.0.0", 3031 | "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", 3032 | "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", 3033 | "dev": true 3034 | }, 3035 | "term-size": { 3036 | "version": "2.2.0", 3037 | "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.0.tgz", 3038 | "integrity": "sha512-a6sumDlzyHVJWb8+YofY4TW112G6p2FCPEAFk+59gIYHv3XHRhm9ltVQ9kli4hNWeQBwSpe8cRN25x0ROunMOw==", 3039 | "dev": true 3040 | }, 3041 | "time-zone": { 3042 | "version": "1.0.0", 3043 | "resolved": "https://registry.npmjs.org/time-zone/-/time-zone-1.0.0.tgz", 3044 | "integrity": "sha1-mcW/VZWJZq9tBtg73zgA3IL67F0=", 3045 | "dev": true 3046 | }, 3047 | "to-fast-properties": { 3048 | "version": "2.0.0", 3049 | "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", 3050 | "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", 3051 | "dev": true 3052 | }, 3053 | "to-readable-stream": { 3054 | "version": "1.0.0", 3055 | "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", 3056 | "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", 3057 | "dev": true 3058 | }, 3059 | "to-regex-range": { 3060 | "version": "5.0.1", 3061 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 3062 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 3063 | "dev": true, 3064 | "requires": { 3065 | "is-number": "^7.0.0" 3066 | } 3067 | }, 3068 | "trim-off-newlines": { 3069 | "version": "1.0.1", 3070 | "resolved": "https://registry.npmjs.org/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz", 3071 | "integrity": "sha1-n5up2e+odkw4dpi8v+sshI8RrbM=", 3072 | "dev": true 3073 | }, 3074 | "ts-node": { 3075 | "version": "8.10.1", 3076 | "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.10.1.tgz", 3077 | "integrity": "sha512-bdNz1L4ekHiJul6SHtZWs1ujEKERJnHs4HxN7rjTyyVOFf3HaJ6sLqe6aPG62XTzAB/63pKRh5jTSWL0D7bsvw==", 3078 | "dev": true, 3079 | "requires": { 3080 | "arg": "^4.1.0", 3081 | "diff": "^4.0.1", 3082 | "make-error": "^1.1.1", 3083 | "source-map-support": "^0.5.17", 3084 | "yn": "3.1.1" 3085 | } 3086 | }, 3087 | "type-fest": { 3088 | "version": "0.3.1", 3089 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", 3090 | "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==", 3091 | "dev": true 3092 | }, 3093 | "typedarray-to-buffer": { 3094 | "version": "3.1.5", 3095 | "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", 3096 | "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", 3097 | "dev": true, 3098 | "requires": { 3099 | "is-typedarray": "^1.0.0" 3100 | } 3101 | }, 3102 | "typescript": { 3103 | "version": "3.8.3", 3104 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.8.3.tgz", 3105 | "integrity": "sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w==", 3106 | "dev": true 3107 | }, 3108 | "unique-string": { 3109 | "version": "2.0.0", 3110 | "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", 3111 | "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", 3112 | "dev": true, 3113 | "requires": { 3114 | "crypto-random-string": "^2.0.0" 3115 | } 3116 | }, 3117 | "update-notifier": { 3118 | "version": "4.1.0", 3119 | "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-4.1.0.tgz", 3120 | "integrity": "sha512-w3doE1qtI0/ZmgeoDoARmI5fjDoT93IfKgEGqm26dGUOh8oNpaSTsGNdYRN/SjOuo10jcJGwkEL3mroKzktkew==", 3121 | "dev": true, 3122 | "requires": { 3123 | "boxen": "^4.2.0", 3124 | "chalk": "^3.0.0", 3125 | "configstore": "^5.0.1", 3126 | "has-yarn": "^2.1.0", 3127 | "import-lazy": "^2.1.0", 3128 | "is-ci": "^2.0.0", 3129 | "is-installed-globally": "^0.3.1", 3130 | "is-npm": "^4.0.0", 3131 | "is-yarn-global": "^0.3.0", 3132 | "latest-version": "^5.0.0", 3133 | "pupa": "^2.0.1", 3134 | "semver-diff": "^3.1.1", 3135 | "xdg-basedir": "^4.0.0" 3136 | }, 3137 | "dependencies": { 3138 | "chalk": { 3139 | "version": "3.0.0", 3140 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", 3141 | "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", 3142 | "dev": true, 3143 | "requires": { 3144 | "ansi-styles": "^4.1.0", 3145 | "supports-color": "^7.1.0" 3146 | } 3147 | } 3148 | } 3149 | }, 3150 | "url-parse-lax": { 3151 | "version": "3.0.0", 3152 | "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", 3153 | "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", 3154 | "dev": true, 3155 | "requires": { 3156 | "prepend-http": "^2.0.0" 3157 | } 3158 | }, 3159 | "validate-npm-package-license": { 3160 | "version": "3.0.4", 3161 | "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", 3162 | "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", 3163 | "dev": true, 3164 | "requires": { 3165 | "spdx-correct": "^3.0.0", 3166 | "spdx-expression-parse": "^3.0.0" 3167 | } 3168 | }, 3169 | "wcwidth": { 3170 | "version": "1.0.1", 3171 | "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", 3172 | "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", 3173 | "dev": true, 3174 | "requires": { 3175 | "defaults": "^1.0.3" 3176 | } 3177 | }, 3178 | "well-known-symbols": { 3179 | "version": "2.0.0", 3180 | "resolved": "https://registry.npmjs.org/well-known-symbols/-/well-known-symbols-2.0.0.tgz", 3181 | "integrity": "sha512-ZMjC3ho+KXo0BfJb7JgtQ5IBuvnShdlACNkKkdsqBmYw3bPAaJfPeYUo6tLUaT5tG/Gkh7xkpBhKRQ9e7pyg9Q==", 3182 | "dev": true 3183 | }, 3184 | "which": { 3185 | "version": "2.0.2", 3186 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 3187 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 3188 | "requires": { 3189 | "isexe": "^2.0.0" 3190 | } 3191 | }, 3192 | "which-module": { 3193 | "version": "2.0.0", 3194 | "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", 3195 | "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", 3196 | "dev": true 3197 | }, 3198 | "widest-line": { 3199 | "version": "3.1.0", 3200 | "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", 3201 | "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", 3202 | "dev": true, 3203 | "requires": { 3204 | "string-width": "^4.0.0" 3205 | } 3206 | }, 3207 | "wrap-ansi": { 3208 | "version": "6.2.0", 3209 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", 3210 | "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", 3211 | "dev": true, 3212 | "requires": { 3213 | "ansi-styles": "^4.0.0", 3214 | "string-width": "^4.1.0", 3215 | "strip-ansi": "^6.0.0" 3216 | } 3217 | }, 3218 | "wrappy": { 3219 | "version": "1.0.2", 3220 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 3221 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 3222 | "dev": true 3223 | }, 3224 | "write-file-atomic": { 3225 | "version": "3.0.3", 3226 | "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", 3227 | "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", 3228 | "dev": true, 3229 | "requires": { 3230 | "imurmurhash": "^0.1.4", 3231 | "is-typedarray": "^1.0.0", 3232 | "signal-exit": "^3.0.2", 3233 | "typedarray-to-buffer": "^3.1.5" 3234 | } 3235 | }, 3236 | "xdg-basedir": { 3237 | "version": "4.0.0", 3238 | "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", 3239 | "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", 3240 | "dev": true 3241 | }, 3242 | "xtend": { 3243 | "version": "4.0.2", 3244 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", 3245 | "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", 3246 | "dev": true 3247 | }, 3248 | "y18n": { 3249 | "version": "4.0.0", 3250 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", 3251 | "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", 3252 | "dev": true 3253 | }, 3254 | "yargs": { 3255 | "version": "15.3.1", 3256 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.1.tgz", 3257 | "integrity": "sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA==", 3258 | "dev": true, 3259 | "requires": { 3260 | "cliui": "^6.0.0", 3261 | "decamelize": "^1.2.0", 3262 | "find-up": "^4.1.0", 3263 | "get-caller-file": "^2.0.1", 3264 | "require-directory": "^2.1.1", 3265 | "require-main-filename": "^2.0.0", 3266 | "set-blocking": "^2.0.0", 3267 | "string-width": "^4.2.0", 3268 | "which-module": "^2.0.0", 3269 | "y18n": "^4.0.0", 3270 | "yargs-parser": "^18.1.1" 3271 | } 3272 | }, 3273 | "yargs-parser": { 3274 | "version": "18.1.3", 3275 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", 3276 | "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", 3277 | "dev": true, 3278 | "requires": { 3279 | "camelcase": "^5.0.0", 3280 | "decamelize": "^1.2.0" 3281 | } 3282 | }, 3283 | "yn": { 3284 | "version": "3.1.1", 3285 | "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", 3286 | "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", 3287 | "dev": true 3288 | } 3289 | } 3290 | } 3291 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "codeowners-utils", 3 | "version": "1.0.2", 4 | "description": "Utilities for working with CODEOWNERS files", 5 | "main": "dist/codeowners-utils.js", 6 | "scripts": { 7 | "clean": "rm -rf dist", 8 | "build": "npm run clean && tsc", 9 | "test": "ava" 10 | }, 11 | "repository": { 12 | "type": "git", 13 | "url": "git+https://github.com/jamiebuilds/codeowners-utils.git" 14 | }, 15 | "keywords": [ 16 | "codeowners", 17 | "utils", 18 | "utilities", 19 | "lib", 20 | "globs" 21 | ], 22 | "author": "Jamie Kyle ", 23 | "license": "MIT", 24 | "bugs": { 25 | "url": "https://github.com/jamiebuilds/codeowners-utils/issues" 26 | }, 27 | "homepage": "https://github.com/jamiebuilds/codeowners-utils#readme", 28 | "devDependencies": { 29 | "@ava/babel": "^1.0.1", 30 | "@types/cross-spawn": "^6.0.1", 31 | "@types/node": "^10.12.18", 32 | "ava": "^3.8.1", 33 | "prettier": "^2.0.5", 34 | "strip-indent": "^3.0.0", 35 | "ts-node": "^8.10.1", 36 | "typescript": "^3.8.3" 37 | }, 38 | "ava": { 39 | "babel": { 40 | "compileEnhancements": false 41 | }, 42 | "extensions": [ 43 | "ts" 44 | ], 45 | "require": [ 46 | "ts-node/register" 47 | ] 48 | }, 49 | "dependencies": { 50 | "cross-spawn": "^7.0.2", 51 | "find-up": "^4.1.0", 52 | "ignore": "^5.1.4", 53 | "locate-path": "^5.0.0" 54 | } 55 | } -------------------------------------------------------------------------------- /src/codeowners-utils.ts: -------------------------------------------------------------------------------- 1 | import findUp from "find-up" 2 | import locatePath from "locate-path" 3 | import path from "path" 4 | import fs from "fs" 5 | import util from "util" 6 | import ignore from "ignore" 7 | import crossSpawn from "cross-spawn" 8 | import { SpawnOptions } from "child_process" 9 | 10 | let readFile = util.promisify(fs.readFile) 11 | 12 | /** 13 | * An individual entry from a CODEOWNERS file 14 | */ 15 | export interface CodeOwnersEntry { 16 | pattern: string 17 | owners: Array 18 | } 19 | 20 | /** 21 | * Parse a CODEOWNERS file into an array of entries (will be in reverse order 22 | * of the file). 23 | */ 24 | export function parse(str: string): Array { 25 | let entries = [] 26 | let lines = str.split("\n") 27 | 28 | for (let line of lines) { 29 | let [content, comment] = line.split("#") 30 | let trimmed = content.trim() 31 | if (trimmed === "") continue 32 | let [pattern, ...owners] = trimmed.split(/\s+/) 33 | entries.push({ pattern, owners }) 34 | } 35 | 36 | return entries.reverse() 37 | } 38 | 39 | /** 40 | * Standard locations to search for the CODEOWNERS file in priority order 41 | * (Note: This comes from GitHub). 42 | */ 43 | export let CODEOWNERS_PATHS = [ 44 | ".github/CODEOWNERS", 45 | "docs/CODEOWNERS", 46 | "CODEOWNERS", 47 | ] 48 | 49 | /** 50 | * Find the path of the CODEOWNERS file from the current working directory. 51 | */ 52 | export async function findOwnersPath(cwd: string): Promise { 53 | let git = await findUp(".git/", { cwd, type: "directory" }) 54 | if (!git) return null 55 | 56 | let root = path.dirname(git) 57 | let paths = CODEOWNERS_PATHS.map(part => path.join(root, part)) 58 | let codeowners = await locatePath(paths, { cwd }) 59 | 60 | return codeowners || null 61 | } 62 | 63 | /** 64 | * Find, load, and parse the CODEOWNERS file (if it exists) from the current 65 | * working directory. 66 | */ 67 | export async function loadOwners( 68 | cwd: string, 69 | ): Promise | null> { 70 | let file = await findOwnersPath(cwd) 71 | if (!file) return null 72 | let contents = await readFile(file, "utf-8") 73 | let entries = parse(contents) 74 | return entries 75 | } 76 | 77 | /** 78 | * Match a filename against a glob pattern (while respecting .gitignore rules) 79 | */ 80 | export function matchPattern(filename: string, pattern: string) { 81 | return ignore() 82 | .add(pattern) 83 | .ignores(filename) 84 | } 85 | 86 | /** 87 | * Match a filename against CODEOWNERS entries to determine which (if any) it 88 | * matches. 89 | */ 90 | export function matchFile( 91 | filename: string, 92 | entries: Array, 93 | ): CodeOwnersEntry | null { 94 | for (let entry of entries) { 95 | if (matchPattern(filename, entry.pattern)) { 96 | return entry 97 | } 98 | } 99 | return null 100 | } 101 | 102 | /** 103 | * Given a set of files and CODEOWNERS entries, return the set of files which 104 | * are not matched to any CODEOWNERS entries. 105 | */ 106 | export function filterUnmatchedFiles( 107 | files: Array, 108 | entries: Array, 109 | ) { 110 | return files.filter(file => !matchFile(file, entries)) 111 | } 112 | 113 | /** 114 | * Spawn a child process and convert it into a promise. 115 | * @internal 116 | */ 117 | function spawn( 118 | cmd: string, 119 | args: Array, 120 | opts: SpawnOptions, 121 | onData: (data: string) => unknown, 122 | ) { 123 | return new Promise((resolve, reject) => { 124 | let proc = crossSpawn(cmd, args, opts) 125 | 126 | proc.stdout.on("data", onData) 127 | 128 | proc.on("error", reject) 129 | proc.on("close", code => { 130 | if (code !== 0) { 131 | reject(new Error(`"${cmd} ${args.join(" ")}" exited with non-zero exit code: ${code}`)) // prettier-ignore 132 | } else { 133 | resolve() 134 | } 135 | }) 136 | }) 137 | } 138 | 139 | /** 140 | * Use git to list all files in a repository. 141 | * @internal 142 | */ 143 | async function lsFiles( 144 | cwd: string, 145 | onFiles: (files: Array) => unknown, 146 | ) { 147 | await spawn( 148 | "git", 149 | ["ls-files", "--others", "--exclude-standard"], 150 | { cwd, stdio: ["ignore", "pipe", "inherit"] }, 151 | data => { 152 | let files = data 153 | .toString() 154 | .trim() 155 | .split("\n") 156 | 157 | onFiles(files) 158 | }, 159 | ) 160 | } 161 | 162 | /** 163 | * Find all of the files in a git repository which are not matched by any code 164 | * owners using a set of CODEOWNERS entries. 165 | */ 166 | export async function findUnmatchedFilesFromEntries( 167 | entries: Array, 168 | cwd: string, 169 | ): Promise> { 170 | let unmatched: Array = [] 171 | 172 | await lsFiles(cwd, files => { 173 | unmatched = unmatched.concat(filterUnmatchedFiles(files, entries)) 174 | }) 175 | 176 | return unmatched 177 | } 178 | 179 | /** 180 | * Find all of the files in a git repository which are not matched by any code 181 | * owners. 182 | */ 183 | export async function findUnmatchedFiles( 184 | cwd: string, 185 | ): Promise | null> { 186 | let entries = await loadOwners(cwd) 187 | if (!entries) return null 188 | let unmatched = await findUnmatchedFilesFromEntries(entries, cwd) 189 | return unmatched 190 | } 191 | -------------------------------------------------------------------------------- /test/codeowners-utils.test.ts: -------------------------------------------------------------------------------- 1 | import test from "ava" 2 | import * as codeowners from "../src/codeowners-utils" 3 | import stripIndent from "strip-indent" 4 | 5 | test("parse", t => { 6 | let entries = codeowners.parse( 7 | stripIndent(` 8 | # comment 9 | * @root 10 | *.js @js js@example.com 11 | # comment 12 | # comment 13 | doc/*.md @doc 14 | `), 15 | ) 16 | 17 | t.deepEqual(entries, [ 18 | { 19 | pattern: "doc/*.md", 20 | owners: ["@doc"], 21 | }, 22 | { 23 | pattern: "*.js", 24 | owners: ["@js", "js@example.com"], 25 | }, 26 | { 27 | pattern: "*", 28 | owners: ["@root"], 29 | }, 30 | ]) 31 | }) 32 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | /* prettier-ignore */ 2 | { 3 | "exclude": ["test"], 4 | "compilerOptions": { 5 | /* Basic Options */ 6 | "target": "es2018", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017','ES2018' or 'ESNEXT'. */ 7 | "module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */ 8 | "lib": ["es2015"], /* Specify library files to be included in the compilation. */ 9 | // "allowJs": true, /* Allow javascript files to be compiled. */ 10 | // "checkJs": true, /* Report errors in .js files. */ 11 | // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */ 12 | "declaration": true, /* Generates corresponding '.d.ts' file. */ 13 | "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */ 14 | "sourceMap": true, /* Generates corresponding '.map' file. */ 15 | // "outFile": "./", /* Concatenate and emit output to single file. */ 16 | "outDir": "./dist", /* Redirect output structure to the directory. */ 17 | "rootDir": "./src", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ 18 | // "composite": true, /* Enable project compilation */ 19 | // "removeComments": true, /* Do not emit comments to output. */ 20 | // "noEmit": true, /* Do not emit outputs. */ 21 | // "importHelpers": true, /* Import emit helpers from 'tslib'. */ 22 | // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ 23 | // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ 24 | 25 | /* Strict Type-Checking Options */ 26 | "strict": true, /* Enable all strict type-checking options. */ 27 | // "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */ 28 | // "strictNullChecks": true, /* Enable strict null checks. */ 29 | // "strictFunctionTypes": true, /* Enable strict checking of function types. */ 30 | // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ 31 | // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */ 32 | // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */ 33 | // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */ 34 | 35 | /* Additional Checks */ 36 | // "noUnusedLocals": true, /* Report errors on unused locals. */ 37 | // "noUnusedParameters": true, /* Report errors on unused parameters. */ 38 | // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ 39 | // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ 40 | 41 | /* Module Resolution Options */ 42 | // "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ 43 | // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ 44 | // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ 45 | // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ 46 | // "typeRoots": [], /* List of folders to include type definitions from. */ 47 | // "types": [], /* Type declaration files to be included in compilation. */ 48 | // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ 49 | "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ 50 | // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ 51 | 52 | /* Source Map Options */ 53 | // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ 54 | // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ 55 | // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ 56 | // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ 57 | 58 | /* Experimental Options */ 59 | // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ 60 | // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ 61 | } 62 | } 63 | --------------------------------------------------------------------------------