├── .gitignore ├── CODE_OF_CONDUCT.md ├── LICENSE ├── README.md ├── package-lock.json ├── package.json ├── src └── index.js └── test └── index.spec.js /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | 8 | # Runtime data 9 | pids 10 | *.pid 11 | *.seed 12 | *.pid.lock 13 | 14 | # Directory for instrumented libs generated by jscoverage/JSCover 15 | lib-cov 16 | 17 | # Coverage directory used by tools like istanbul 18 | coverage 19 | 20 | # nyc test coverage 21 | .nyc_output 22 | 23 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 24 | .grunt 25 | 26 | # Bower dependency directory (https://bower.io/) 27 | bower_components 28 | 29 | # node-waf configuration 30 | .lock-wscript 31 | 32 | # Compiled binary addons (http://nodejs.org/api/addons.html) 33 | build/Release 34 | 35 | # Dependency directories 36 | node_modules/ 37 | jspm_packages/ 38 | 39 | # Typescript v1 declaration files 40 | typings/ 41 | 42 | # Optional npm cache directory 43 | .npm 44 | 45 | # Optional eslint cache 46 | .eslintcache 47 | 48 | # Optional REPL history 49 | .node_repl_history 50 | 51 | # Output of 'npm pack' 52 | *.tgz 53 | 54 | # Yarn Integrity file 55 | .yarn-integrity 56 | 57 | # dotenv environment variables file 58 | .env 59 | 60 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | In the interest of fostering an open and welcoming environment, we as 6 | contributors and maintainers pledge to making participation in our project and 7 | our community a harassment-free experience for everyone, regardless of age, body 8 | size, disability, ethnicity, gender identity and expression, level of experience, 9 | nationality, personal appearance, race, religion, or sexual identity and 10 | orientation. 11 | 12 | ## Our Standards 13 | 14 | Examples of behavior that contributes to creating a positive environment 15 | include: 16 | 17 | * Using welcoming and inclusive language 18 | * Being respectful of differing viewpoints and experiences 19 | * Gracefully accepting constructive criticism 20 | * Focusing on what is best for the community 21 | * Showing empathy towards other community members 22 | 23 | Examples of unacceptable behavior by participants include: 24 | 25 | * The use of sexualized language or imagery and unwelcome sexual attention or 26 | advances 27 | * Trolling, insulting/derogatory comments, and personal or political attacks 28 | * Public or private harassment 29 | * Publishing others' private information, such as a physical or electronic 30 | address, without explicit permission 31 | * Other conduct which could reasonably be considered inappropriate in a 32 | professional setting 33 | 34 | ## Our Responsibilities 35 | 36 | Project maintainers are responsible for clarifying the standards of acceptable 37 | behavior and are expected to take appropriate and fair corrective action in 38 | response to any instances of unacceptable behavior. 39 | 40 | Project maintainers have the right and responsibility to remove, edit, or 41 | reject comments, commits, code, wiki edits, issues, and other contributions 42 | that are not aligned to this Code of Conduct, or to ban temporarily or 43 | permanently any contributor for other behaviors that they deem inappropriate, 44 | threatening, offensive, or harmful. 45 | 46 | ## Scope 47 | 48 | This Code of Conduct applies both within project spaces and in public spaces 49 | when an individual is representing the project or its community. Examples of 50 | representing a project or community include using an official project e-mail 51 | address, posting via an official social media account, or acting as an appointed 52 | representative at an online or offline event. Representation of a project may be 53 | further defined and clarified by project maintainers. 54 | 55 | ## Enforcement 56 | 57 | Instances of abusive, harassing, or otherwise unacceptable behavior may be 58 | reported by contacting the project team at devs@tanmulabs.com. All 59 | complaints will be reviewed and investigated and will result in a response that 60 | is deemed necessary and appropriate to the circumstances. The project team is 61 | obligated to maintain confidentiality with regard to the reporter of an incident. 62 | Further details of specific enforcement policies may be posted separately. 63 | 64 | Project maintainers who do not follow or enforce the Code of Conduct in good 65 | faith may face temporary or permanent repercussions as determined by other 66 | members of the project's leadership. 67 | 68 | ## Attribution 69 | 70 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, 71 | available at [http://contributor-covenant.org/version/1/4][version] 72 | 73 | [homepage]: http://contributor-covenant.org 74 | [version]: http://contributor-covenant.org/version/1/4/ 75 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Tanmu Labs LLC 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # micro-sentry 2 | 3 | `micro-sentry` allows you to send [`micro`](https://github.com/zeit/micro) errors to [Sentry](https://sentry.io). 4 | 5 | ### Installation 6 | 7 | ``` 8 | $ npm install --save micro-sentry 9 | ``` 10 | 11 | OR 12 | 13 | ``` 14 | $ yarn add micro-sentry 15 | ``` 16 | 17 | ### Example 18 | 19 | ``` 20 | const sendToSentry = require('micro-sentry'); 21 | const url = 'https://:@sentry.io/'; 22 | 23 | module.exports = sendToSentry(url)(async (request, response) => { 24 | throw Error('This will be sent to Sentry!'); 25 | }); 26 | 27 | ``` 28 | 29 | ### Development 30 | 31 | ``` 32 | $ git clone https://github.com/tanmulabs/micro-sentry.git 33 | $ cd micro-sentry 34 | $ npm install 35 | $ npm test 36 | ``` 37 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "micro-sentry", 3 | "version": "2.0.0", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "@hapi/boom": { 8 | "version": "8.0.1", 9 | "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-8.0.1.tgz", 10 | "integrity": "sha512-SnBM2GzEYEA6AGFKXBqNLWXR3uNBui0bkmklYXX1gYtevVhDTy2uakwkSauxvIWMtlANGRhzChYg95If3FWCwA==", 11 | "requires": { 12 | "@hapi/hoek": "8.x.x" 13 | } 14 | }, 15 | "@hapi/hoek": { 16 | "version": "8.5.0", 17 | "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.0.tgz", 18 | "integrity": "sha512-7XYT10CZfPsH7j9F1Jmg1+d0ezOux2oM2GfArAzLwWe4mE2Dr3hVjsAL6+TFY49RRJlCdJDMw3nJsLFroTc8Kw==" 19 | }, 20 | "abab": { 21 | "version": "1.0.3", 22 | "resolved": "https://registry.npmjs.org/abab/-/abab-1.0.3.tgz", 23 | "integrity": "sha1-uB3l9ydOxOdW15fNg08wNkJyTl0=", 24 | "dev": true 25 | }, 26 | "acorn": { 27 | "version": "4.0.13", 28 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", 29 | "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", 30 | "dev": true 31 | }, 32 | "acorn-globals": { 33 | "version": "3.1.0", 34 | "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-3.1.0.tgz", 35 | "integrity": "sha1-/YJw9x+7SZawBPqIDuXUZXOnMb8=", 36 | "dev": true, 37 | "requires": { 38 | "acorn": "^4.0.4" 39 | } 40 | }, 41 | "ajv": { 42 | "version": "4.11.8", 43 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", 44 | "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", 45 | "dev": true, 46 | "requires": { 47 | "co": "^4.6.0", 48 | "json-stable-stringify": "^1.0.1" 49 | } 50 | }, 51 | "amdefine": { 52 | "version": "1.0.1", 53 | "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", 54 | "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", 55 | "dev": true, 56 | "optional": true 57 | }, 58 | "ansi-escapes": { 59 | "version": "1.4.0", 60 | "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", 61 | "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=", 62 | "dev": true 63 | }, 64 | "ansi-regex": { 65 | "version": "2.1.1", 66 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", 67 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", 68 | "dev": true 69 | }, 70 | "ansi-styles": { 71 | "version": "2.2.1", 72 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 73 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 74 | "dev": true 75 | }, 76 | "anymatch": { 77 | "version": "1.3.2", 78 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", 79 | "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", 80 | "dev": true, 81 | "requires": { 82 | "micromatch": "^2.1.5", 83 | "normalize-path": "^2.0.0" 84 | } 85 | }, 86 | "append-transform": { 87 | "version": "0.4.0", 88 | "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz", 89 | "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", 90 | "dev": true, 91 | "requires": { 92 | "default-require-extensions": "^1.0.0" 93 | } 94 | }, 95 | "argparse": { 96 | "version": "1.0.9", 97 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", 98 | "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", 99 | "dev": true, 100 | "requires": { 101 | "sprintf-js": "~1.0.2" 102 | } 103 | }, 104 | "arr-diff": { 105 | "version": "2.0.0", 106 | "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", 107 | "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", 108 | "dev": true, 109 | "requires": { 110 | "arr-flatten": "^1.0.1" 111 | } 112 | }, 113 | "arr-flatten": { 114 | "version": "1.1.0", 115 | "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", 116 | "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", 117 | "dev": true 118 | }, 119 | "array-equal": { 120 | "version": "1.0.0", 121 | "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", 122 | "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", 123 | "dev": true 124 | }, 125 | "array-unique": { 126 | "version": "0.2.1", 127 | "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", 128 | "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", 129 | "dev": true 130 | }, 131 | "arrify": { 132 | "version": "1.0.1", 133 | "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", 134 | "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", 135 | "dev": true 136 | }, 137 | "asn1": { 138 | "version": "0.2.3", 139 | "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", 140 | "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", 141 | "dev": true 142 | }, 143 | "assert-plus": { 144 | "version": "0.2.0", 145 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", 146 | "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", 147 | "dev": true 148 | }, 149 | "async": { 150 | "version": "2.5.0", 151 | "resolved": "https://registry.npmjs.org/async/-/async-2.5.0.tgz", 152 | "integrity": "sha512-e+lJAJeNWuPCNyxZKOBdaJGyLGHugXVQtrAwtuAe2vhxTYxFTKE73p8JuTmdH0qdQZtDvI4dhJwjZc5zsfIsYw==", 153 | "dev": true, 154 | "requires": { 155 | "lodash": "^4.14.0" 156 | } 157 | }, 158 | "asynckit": { 159 | "version": "0.4.0", 160 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 161 | "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", 162 | "dev": true 163 | }, 164 | "aws-sign2": { 165 | "version": "0.6.0", 166 | "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", 167 | "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", 168 | "dev": true 169 | }, 170 | "aws4": { 171 | "version": "1.6.0", 172 | "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", 173 | "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", 174 | "dev": true 175 | }, 176 | "babel-code-frame": { 177 | "version": "6.26.0", 178 | "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", 179 | "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", 180 | "dev": true, 181 | "requires": { 182 | "chalk": "^1.1.3", 183 | "esutils": "^2.0.2", 184 | "js-tokens": "^3.0.2" 185 | } 186 | }, 187 | "babel-core": { 188 | "version": "6.26.0", 189 | "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz", 190 | "integrity": "sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g=", 191 | "dev": true, 192 | "requires": { 193 | "babel-code-frame": "^6.26.0", 194 | "babel-generator": "^6.26.0", 195 | "babel-helpers": "^6.24.1", 196 | "babel-messages": "^6.23.0", 197 | "babel-register": "^6.26.0", 198 | "babel-runtime": "^6.26.0", 199 | "babel-template": "^6.26.0", 200 | "babel-traverse": "^6.26.0", 201 | "babel-types": "^6.26.0", 202 | "babylon": "^6.18.0", 203 | "convert-source-map": "^1.5.0", 204 | "debug": "^2.6.8", 205 | "json5": "^0.5.1", 206 | "lodash": "^4.17.4", 207 | "minimatch": "^3.0.4", 208 | "path-is-absolute": "^1.0.1", 209 | "private": "^0.1.7", 210 | "slash": "^1.0.0", 211 | "source-map": "^0.5.6" 212 | } 213 | }, 214 | "babel-generator": { 215 | "version": "6.26.0", 216 | "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.0.tgz", 217 | "integrity": "sha1-rBriAHC3n248odMmlhMFN3TyDcU=", 218 | "dev": true, 219 | "requires": { 220 | "babel-messages": "^6.23.0", 221 | "babel-runtime": "^6.26.0", 222 | "babel-types": "^6.26.0", 223 | "detect-indent": "^4.0.0", 224 | "jsesc": "^1.3.0", 225 | "lodash": "^4.17.4", 226 | "source-map": "^0.5.6", 227 | "trim-right": "^1.0.1" 228 | } 229 | }, 230 | "babel-helpers": { 231 | "version": "6.24.1", 232 | "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", 233 | "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", 234 | "dev": true, 235 | "requires": { 236 | "babel-runtime": "^6.22.0", 237 | "babel-template": "^6.24.1" 238 | } 239 | }, 240 | "babel-jest": { 241 | "version": "20.0.3", 242 | "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-20.0.3.tgz", 243 | "integrity": "sha1-5KA7E9wQOJ4UD8ZF0J/8TO0wFnE=", 244 | "dev": true, 245 | "requires": { 246 | "babel-core": "^6.0.0", 247 | "babel-plugin-istanbul": "^4.0.0", 248 | "babel-preset-jest": "^20.0.3" 249 | } 250 | }, 251 | "babel-messages": { 252 | "version": "6.23.0", 253 | "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", 254 | "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", 255 | "dev": true, 256 | "requires": { 257 | "babel-runtime": "^6.22.0" 258 | } 259 | }, 260 | "babel-plugin-istanbul": { 261 | "version": "4.1.4", 262 | "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.4.tgz", 263 | "integrity": "sha1-GN3oS/POMp/d8/QQP66SFFbY5Yc=", 264 | "dev": true, 265 | "requires": { 266 | "find-up": "^2.1.0", 267 | "istanbul-lib-instrument": "^1.7.2", 268 | "test-exclude": "^4.1.1" 269 | } 270 | }, 271 | "babel-plugin-jest-hoist": { 272 | "version": "20.0.3", 273 | "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-20.0.3.tgz", 274 | "integrity": "sha1-r+3IU70/jcNUjqZx++adA8wsF2c=", 275 | "dev": true 276 | }, 277 | "babel-preset-jest": { 278 | "version": "20.0.3", 279 | "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-20.0.3.tgz", 280 | "integrity": "sha1-y6yq3stdaJyh4d4TYOv8ZoYsF4o=", 281 | "dev": true, 282 | "requires": { 283 | "babel-plugin-jest-hoist": "^20.0.3" 284 | } 285 | }, 286 | "babel-register": { 287 | "version": "6.26.0", 288 | "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", 289 | "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", 290 | "dev": true, 291 | "requires": { 292 | "babel-core": "^6.26.0", 293 | "babel-runtime": "^6.26.0", 294 | "core-js": "^2.5.0", 295 | "home-or-tmp": "^2.0.0", 296 | "lodash": "^4.17.4", 297 | "mkdirp": "^0.5.1", 298 | "source-map-support": "^0.4.15" 299 | } 300 | }, 301 | "babel-runtime": { 302 | "version": "6.26.0", 303 | "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", 304 | "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", 305 | "dev": true, 306 | "requires": { 307 | "core-js": "^2.4.0", 308 | "regenerator-runtime": "^0.11.0" 309 | } 310 | }, 311 | "babel-template": { 312 | "version": "6.26.0", 313 | "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", 314 | "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", 315 | "dev": true, 316 | "requires": { 317 | "babel-runtime": "^6.26.0", 318 | "babel-traverse": "^6.26.0", 319 | "babel-types": "^6.26.0", 320 | "babylon": "^6.18.0", 321 | "lodash": "^4.17.4" 322 | } 323 | }, 324 | "babel-traverse": { 325 | "version": "6.26.0", 326 | "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", 327 | "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", 328 | "dev": true, 329 | "requires": { 330 | "babel-code-frame": "^6.26.0", 331 | "babel-messages": "^6.23.0", 332 | "babel-runtime": "^6.26.0", 333 | "babel-types": "^6.26.0", 334 | "babylon": "^6.18.0", 335 | "debug": "^2.6.8", 336 | "globals": "^9.18.0", 337 | "invariant": "^2.2.2", 338 | "lodash": "^4.17.4" 339 | } 340 | }, 341 | "babel-types": { 342 | "version": "6.26.0", 343 | "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", 344 | "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", 345 | "dev": true, 346 | "requires": { 347 | "babel-runtime": "^6.26.0", 348 | "esutils": "^2.0.2", 349 | "lodash": "^4.17.4", 350 | "to-fast-properties": "^1.0.3" 351 | } 352 | }, 353 | "babylon": { 354 | "version": "6.18.0", 355 | "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", 356 | "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", 357 | "dev": true 358 | }, 359 | "balanced-match": { 360 | "version": "1.0.0", 361 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", 362 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", 363 | "dev": true 364 | }, 365 | "bcrypt-pbkdf": { 366 | "version": "1.0.1", 367 | "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", 368 | "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", 369 | "dev": true, 370 | "requires": { 371 | "tweetnacl": "^0.14.3" 372 | } 373 | }, 374 | "brace-expansion": { 375 | "version": "1.1.8", 376 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", 377 | "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", 378 | "dev": true, 379 | "requires": { 380 | "balanced-match": "^1.0.0", 381 | "concat-map": "0.0.1" 382 | } 383 | }, 384 | "braces": { 385 | "version": "1.8.5", 386 | "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", 387 | "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", 388 | "dev": true, 389 | "requires": { 390 | "expand-range": "^1.8.1", 391 | "preserve": "^0.2.0", 392 | "repeat-element": "^1.1.2" 393 | } 394 | }, 395 | "browser-resolve": { 396 | "version": "1.11.2", 397 | "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.2.tgz", 398 | "integrity": "sha1-j/CbCixCFxihBRwmCzLkj0QpOM4=", 399 | "dev": true, 400 | "requires": { 401 | "resolve": "1.1.7" 402 | }, 403 | "dependencies": { 404 | "resolve": { 405 | "version": "1.1.7", 406 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", 407 | "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", 408 | "dev": true 409 | } 410 | } 411 | }, 412 | "bser": { 413 | "version": "2.0.0", 414 | "resolved": "https://registry.npmjs.org/bser/-/bser-2.0.0.tgz", 415 | "integrity": "sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk=", 416 | "dev": true, 417 | "requires": { 418 | "node-int64": "^0.4.0" 419 | } 420 | }, 421 | "builtin-modules": { 422 | "version": "1.1.1", 423 | "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", 424 | "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", 425 | "dev": true 426 | }, 427 | "callsites": { 428 | "version": "2.0.0", 429 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", 430 | "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", 431 | "dev": true 432 | }, 433 | "caseless": { 434 | "version": "0.12.0", 435 | "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", 436 | "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", 437 | "dev": true 438 | }, 439 | "chalk": { 440 | "version": "1.1.3", 441 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 442 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 443 | "dev": true, 444 | "requires": { 445 | "ansi-styles": "^2.2.1", 446 | "escape-string-regexp": "^1.0.2", 447 | "has-ansi": "^2.0.0", 448 | "strip-ansi": "^3.0.0", 449 | "supports-color": "^2.0.0" 450 | } 451 | }, 452 | "charenc": { 453 | "version": "0.0.2", 454 | "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", 455 | "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=" 456 | }, 457 | "ci-info": { 458 | "version": "1.0.0", 459 | "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.0.0.tgz", 460 | "integrity": "sha1-3FKF8rTiUYIWg2gcOBwziPRuxTQ=", 461 | "dev": true 462 | }, 463 | "co": { 464 | "version": "4.6.0", 465 | "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", 466 | "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", 467 | "dev": true 468 | }, 469 | "code-point-at": { 470 | "version": "1.1.0", 471 | "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", 472 | "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", 473 | "dev": true 474 | }, 475 | "color-convert": { 476 | "version": "1.9.0", 477 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.0.tgz", 478 | "integrity": "sha1-Gsz5fdc5uYO/mU1W/sj5WFNkG3o=", 479 | "dev": true, 480 | "requires": { 481 | "color-name": "^1.1.1" 482 | } 483 | }, 484 | "color-name": { 485 | "version": "1.1.3", 486 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 487 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", 488 | "dev": true 489 | }, 490 | "combined-stream": { 491 | "version": "1.0.5", 492 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", 493 | "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", 494 | "dev": true, 495 | "requires": { 496 | "delayed-stream": "~1.0.0" 497 | } 498 | }, 499 | "commander": { 500 | "version": "2.20.3", 501 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", 502 | "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", 503 | "dev": true, 504 | "optional": true 505 | }, 506 | "concat-map": { 507 | "version": "0.0.1", 508 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 509 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 510 | "dev": true 511 | }, 512 | "content-type-parser": { 513 | "version": "1.0.1", 514 | "resolved": "https://registry.npmjs.org/content-type-parser/-/content-type-parser-1.0.1.tgz", 515 | "integrity": "sha1-w+VpiMU8ZRJ/tG1AMqOpACRv3JQ=", 516 | "dev": true 517 | }, 518 | "convert-source-map": { 519 | "version": "1.5.0", 520 | "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.0.tgz", 521 | "integrity": "sha1-ms1whRxtXf3ZPZKC5e35SgP/RrU=", 522 | "dev": true 523 | }, 524 | "cookie": { 525 | "version": "0.3.1", 526 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", 527 | "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" 528 | }, 529 | "core-js": { 530 | "version": "2.5.0", 531 | "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.0.tgz", 532 | "integrity": "sha1-VpwFCRi+ZIazg3VSAorgRmtxcIY=", 533 | "dev": true 534 | }, 535 | "core-util-is": { 536 | "version": "1.0.2", 537 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", 538 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", 539 | "dev": true 540 | }, 541 | "crypt": { 542 | "version": "0.0.2", 543 | "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", 544 | "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=" 545 | }, 546 | "cryptiles": { 547 | "version": "2.0.5", 548 | "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", 549 | "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", 550 | "dev": true, 551 | "requires": { 552 | "boom": "2.x.x" 553 | }, 554 | "dependencies": { 555 | "boom": { 556 | "version": "2.10.1", 557 | "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", 558 | "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", 559 | "dev": true, 560 | "requires": { 561 | "hoek": "2.x.x" 562 | } 563 | } 564 | } 565 | }, 566 | "cssom": { 567 | "version": "0.3.2", 568 | "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.2.tgz", 569 | "integrity": "sha1-uANhcMefB6kP8vFuIihAJ6JDhIs=", 570 | "dev": true 571 | }, 572 | "cssstyle": { 573 | "version": "0.2.37", 574 | "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.2.37.tgz", 575 | "integrity": "sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ=", 576 | "dev": true, 577 | "requires": { 578 | "cssom": "0.3.x" 579 | } 580 | }, 581 | "dashdash": { 582 | "version": "1.14.1", 583 | "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", 584 | "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", 585 | "dev": true, 586 | "requires": { 587 | "assert-plus": "^1.0.0" 588 | }, 589 | "dependencies": { 590 | "assert-plus": { 591 | "version": "1.0.0", 592 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 593 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", 594 | "dev": true 595 | } 596 | } 597 | }, 598 | "debug": { 599 | "version": "2.6.9", 600 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 601 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 602 | "dev": true, 603 | "requires": { 604 | "ms": "2.0.0" 605 | } 606 | }, 607 | "decamelize": { 608 | "version": "1.2.0", 609 | "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", 610 | "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", 611 | "dev": true 612 | }, 613 | "deep-is": { 614 | "version": "0.1.3", 615 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", 616 | "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", 617 | "dev": true 618 | }, 619 | "default-require-extensions": { 620 | "version": "1.0.0", 621 | "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz", 622 | "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", 623 | "dev": true, 624 | "requires": { 625 | "strip-bom": "^2.0.0" 626 | } 627 | }, 628 | "delayed-stream": { 629 | "version": "1.0.0", 630 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 631 | "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", 632 | "dev": true 633 | }, 634 | "detect-indent": { 635 | "version": "4.0.0", 636 | "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", 637 | "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", 638 | "dev": true, 639 | "requires": { 640 | "repeating": "^2.0.0" 641 | } 642 | }, 643 | "diff": { 644 | "version": "3.5.0", 645 | "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", 646 | "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", 647 | "dev": true 648 | }, 649 | "ecc-jsbn": { 650 | "version": "0.1.1", 651 | "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", 652 | "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", 653 | "dev": true, 654 | "requires": { 655 | "jsbn": "~0.1.0" 656 | } 657 | }, 658 | "encoding": { 659 | "version": "0.1.12", 660 | "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", 661 | "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", 662 | "dev": true, 663 | "requires": { 664 | "iconv-lite": "~0.4.13" 665 | } 666 | }, 667 | "errno": { 668 | "version": "0.1.4", 669 | "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz", 670 | "integrity": "sha1-uJbiOp5ei6M4cfyZar02NfyaHH0=", 671 | "dev": true, 672 | "requires": { 673 | "prr": "~0.0.0" 674 | } 675 | }, 676 | "error-ex": { 677 | "version": "1.3.1", 678 | "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", 679 | "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", 680 | "dev": true, 681 | "requires": { 682 | "is-arrayish": "^0.2.1" 683 | } 684 | }, 685 | "escape-string-regexp": { 686 | "version": "1.0.5", 687 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 688 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 689 | "dev": true 690 | }, 691 | "escodegen": { 692 | "version": "1.8.1", 693 | "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz", 694 | "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=", 695 | "dev": true, 696 | "requires": { 697 | "esprima": "^2.7.1", 698 | "estraverse": "^1.9.1", 699 | "esutils": "^2.0.2", 700 | "optionator": "^0.8.1", 701 | "source-map": "~0.2.0" 702 | }, 703 | "dependencies": { 704 | "esprima": { 705 | "version": "2.7.3", 706 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", 707 | "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", 708 | "dev": true 709 | }, 710 | "source-map": { 711 | "version": "0.2.0", 712 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", 713 | "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=", 714 | "dev": true, 715 | "optional": true, 716 | "requires": { 717 | "amdefine": ">=0.0.4" 718 | } 719 | } 720 | } 721 | }, 722 | "esprima": { 723 | "version": "4.0.0", 724 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", 725 | "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==", 726 | "dev": true 727 | }, 728 | "estraverse": { 729 | "version": "1.9.3", 730 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", 731 | "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=", 732 | "dev": true 733 | }, 734 | "esutils": { 735 | "version": "2.0.2", 736 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", 737 | "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", 738 | "dev": true 739 | }, 740 | "exec-sh": { 741 | "version": "0.2.0", 742 | "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.0.tgz", 743 | "integrity": "sha1-FPdd4/INKG75MwmbLOUKkDWc7xA=", 744 | "dev": true, 745 | "requires": { 746 | "merge": "^1.1.3" 747 | } 748 | }, 749 | "expand-brackets": { 750 | "version": "0.1.5", 751 | "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", 752 | "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", 753 | "dev": true, 754 | "requires": { 755 | "is-posix-bracket": "^0.1.0" 756 | } 757 | }, 758 | "expand-range": { 759 | "version": "1.8.2", 760 | "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", 761 | "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", 762 | "dev": true, 763 | "requires": { 764 | "fill-range": "^2.1.0" 765 | } 766 | }, 767 | "extend": { 768 | "version": "3.0.2", 769 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", 770 | "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", 771 | "dev": true 772 | }, 773 | "extglob": { 774 | "version": "0.3.2", 775 | "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", 776 | "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", 777 | "dev": true, 778 | "requires": { 779 | "is-extglob": "^1.0.0" 780 | } 781 | }, 782 | "extsprintf": { 783 | "version": "1.3.0", 784 | "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", 785 | "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", 786 | "dev": true 787 | }, 788 | "fast-levenshtein": { 789 | "version": "2.0.6", 790 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 791 | "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", 792 | "dev": true 793 | }, 794 | "fb-watchman": { 795 | "version": "2.0.0", 796 | "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz", 797 | "integrity": "sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg=", 798 | "dev": true, 799 | "requires": { 800 | "bser": "^2.0.0" 801 | } 802 | }, 803 | "filename-regex": { 804 | "version": "2.0.1", 805 | "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", 806 | "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", 807 | "dev": true 808 | }, 809 | "fileset": { 810 | "version": "2.0.3", 811 | "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz", 812 | "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=", 813 | "dev": true, 814 | "requires": { 815 | "glob": "^7.0.3", 816 | "minimatch": "^3.0.3" 817 | } 818 | }, 819 | "fill-range": { 820 | "version": "2.2.3", 821 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", 822 | "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", 823 | "dev": true, 824 | "requires": { 825 | "is-number": "^2.1.0", 826 | "isobject": "^2.0.0", 827 | "randomatic": "^1.1.3", 828 | "repeat-element": "^1.1.2", 829 | "repeat-string": "^1.5.2" 830 | } 831 | }, 832 | "find-up": { 833 | "version": "2.1.0", 834 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", 835 | "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", 836 | "dev": true, 837 | "requires": { 838 | "locate-path": "^2.0.0" 839 | } 840 | }, 841 | "for-in": { 842 | "version": "1.0.2", 843 | "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", 844 | "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", 845 | "dev": true 846 | }, 847 | "for-own": { 848 | "version": "0.1.5", 849 | "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", 850 | "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", 851 | "dev": true, 852 | "requires": { 853 | "for-in": "^1.0.1" 854 | } 855 | }, 856 | "forever-agent": { 857 | "version": "0.6.1", 858 | "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", 859 | "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", 860 | "dev": true 861 | }, 862 | "form-data": { 863 | "version": "2.1.4", 864 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", 865 | "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", 866 | "dev": true, 867 | "requires": { 868 | "asynckit": "^0.4.0", 869 | "combined-stream": "^1.0.5", 870 | "mime-types": "^2.1.12" 871 | } 872 | }, 873 | "fs.realpath": { 874 | "version": "1.0.0", 875 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 876 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 877 | "dev": true 878 | }, 879 | "get-caller-file": { 880 | "version": "1.0.2", 881 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", 882 | "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", 883 | "dev": true 884 | }, 885 | "getpass": { 886 | "version": "0.1.7", 887 | "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", 888 | "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", 889 | "dev": true, 890 | "requires": { 891 | "assert-plus": "^1.0.0" 892 | }, 893 | "dependencies": { 894 | "assert-plus": { 895 | "version": "1.0.0", 896 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 897 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", 898 | "dev": true 899 | } 900 | } 901 | }, 902 | "glob": { 903 | "version": "7.1.2", 904 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", 905 | "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", 906 | "dev": true, 907 | "requires": { 908 | "fs.realpath": "^1.0.0", 909 | "inflight": "^1.0.4", 910 | "inherits": "2", 911 | "minimatch": "^3.0.4", 912 | "once": "^1.3.0", 913 | "path-is-absolute": "^1.0.0" 914 | } 915 | }, 916 | "glob-base": { 917 | "version": "0.3.0", 918 | "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", 919 | "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", 920 | "dev": true, 921 | "requires": { 922 | "glob-parent": "^2.0.0", 923 | "is-glob": "^2.0.0" 924 | } 925 | }, 926 | "glob-parent": { 927 | "version": "2.0.0", 928 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", 929 | "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", 930 | "dev": true, 931 | "requires": { 932 | "is-glob": "^2.0.0" 933 | } 934 | }, 935 | "globals": { 936 | "version": "9.18.0", 937 | "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", 938 | "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", 939 | "dev": true 940 | }, 941 | "graceful-fs": { 942 | "version": "4.1.11", 943 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", 944 | "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", 945 | "dev": true 946 | }, 947 | "growly": { 948 | "version": "1.3.0", 949 | "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", 950 | "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", 951 | "dev": true 952 | }, 953 | "handlebars": { 954 | "version": "4.7.3", 955 | "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.3.tgz", 956 | "integrity": "sha512-SRGwSYuNfx8DwHD/6InAPzD6RgeruWLT+B8e8a7gGs8FWgHzlExpTFMEq2IA6QpAfOClpKHy6+8IqTjeBCu6Kg==", 957 | "dev": true, 958 | "requires": { 959 | "neo-async": "^2.6.0", 960 | "optimist": "^0.6.1", 961 | "source-map": "^0.6.1", 962 | "uglify-js": "^3.1.4" 963 | }, 964 | "dependencies": { 965 | "source-map": { 966 | "version": "0.6.1", 967 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 968 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 969 | "dev": true 970 | }, 971 | "uglify-js": { 972 | "version": "3.8.0", 973 | "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.8.0.tgz", 974 | "integrity": "sha512-ugNSTT8ierCsDHso2jkBHXYrU8Y5/fY2ZUprfrJUiD7YpuFvV4jODLFmb3h4btQjqr5Nh4TX4XtgDfCU1WdioQ==", 975 | "dev": true, 976 | "optional": true, 977 | "requires": { 978 | "commander": "~2.20.3", 979 | "source-map": "~0.6.1" 980 | } 981 | } 982 | } 983 | }, 984 | "har-schema": { 985 | "version": "1.0.5", 986 | "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", 987 | "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=", 988 | "dev": true 989 | }, 990 | "har-validator": { 991 | "version": "4.2.1", 992 | "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", 993 | "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", 994 | "dev": true, 995 | "requires": { 996 | "ajv": "^4.9.1", 997 | "har-schema": "^1.0.5" 998 | } 999 | }, 1000 | "has-ansi": { 1001 | "version": "2.0.0", 1002 | "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", 1003 | "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", 1004 | "dev": true, 1005 | "requires": { 1006 | "ansi-regex": "^2.0.0" 1007 | } 1008 | }, 1009 | "has-flag": { 1010 | "version": "1.0.0", 1011 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", 1012 | "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", 1013 | "dev": true 1014 | }, 1015 | "hawk": { 1016 | "version": "3.1.3", 1017 | "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", 1018 | "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", 1019 | "dev": true, 1020 | "requires": { 1021 | "boom": "2.x.x", 1022 | "cryptiles": "2.x.x", 1023 | "hoek": "2.x.x", 1024 | "sntp": "1.x.x" 1025 | }, 1026 | "dependencies": { 1027 | "boom": { 1028 | "version": "2.10.1", 1029 | "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", 1030 | "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", 1031 | "dev": true, 1032 | "requires": { 1033 | "hoek": "2.x.x" 1034 | } 1035 | } 1036 | } 1037 | }, 1038 | "hoek": { 1039 | "version": "2.16.3", 1040 | "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", 1041 | "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", 1042 | "dev": true 1043 | }, 1044 | "home-or-tmp": { 1045 | "version": "2.0.0", 1046 | "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", 1047 | "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", 1048 | "dev": true, 1049 | "requires": { 1050 | "os-homedir": "^1.0.0", 1051 | "os-tmpdir": "^1.0.1" 1052 | } 1053 | }, 1054 | "hosted-git-info": { 1055 | "version": "2.5.0", 1056 | "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz", 1057 | "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==", 1058 | "dev": true 1059 | }, 1060 | "html-encoding-sniffer": { 1061 | "version": "1.0.1", 1062 | "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.1.tgz", 1063 | "integrity": "sha1-eb96eF6klf5mFl5zQVPzY/9UN9o=", 1064 | "dev": true, 1065 | "requires": { 1066 | "whatwg-encoding": "^1.0.1" 1067 | } 1068 | }, 1069 | "http-signature": { 1070 | "version": "1.1.1", 1071 | "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", 1072 | "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", 1073 | "dev": true, 1074 | "requires": { 1075 | "assert-plus": "^0.2.0", 1076 | "jsprim": "^1.2.2", 1077 | "sshpk": "^1.7.0" 1078 | } 1079 | }, 1080 | "iconv-lite": { 1081 | "version": "0.4.13", 1082 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz", 1083 | "integrity": "sha1-H4irpKsLFQjoMSrMOTRfNumS4vI=", 1084 | "dev": true 1085 | }, 1086 | "inflight": { 1087 | "version": "1.0.6", 1088 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 1089 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 1090 | "dev": true, 1091 | "requires": { 1092 | "once": "^1.3.0", 1093 | "wrappy": "1" 1094 | } 1095 | }, 1096 | "inherits": { 1097 | "version": "2.0.3", 1098 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 1099 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", 1100 | "dev": true 1101 | }, 1102 | "invariant": { 1103 | "version": "2.2.2", 1104 | "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", 1105 | "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", 1106 | "dev": true, 1107 | "requires": { 1108 | "loose-envify": "^1.0.0" 1109 | } 1110 | }, 1111 | "invert-kv": { 1112 | "version": "1.0.0", 1113 | "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", 1114 | "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", 1115 | "dev": true 1116 | }, 1117 | "is-arrayish": { 1118 | "version": "0.2.1", 1119 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", 1120 | "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", 1121 | "dev": true 1122 | }, 1123 | "is-buffer": { 1124 | "version": "1.1.5", 1125 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.5.tgz", 1126 | "integrity": "sha1-Hzsm72E7IUuIy8ojzGwB2Hlh7sw=" 1127 | }, 1128 | "is-builtin-module": { 1129 | "version": "1.0.0", 1130 | "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", 1131 | "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", 1132 | "dev": true, 1133 | "requires": { 1134 | "builtin-modules": "^1.0.0" 1135 | } 1136 | }, 1137 | "is-ci": { 1138 | "version": "1.0.10", 1139 | "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.0.10.tgz", 1140 | "integrity": "sha1-9zkzayYyNlBhqdSCcM1WrjNpMY4=", 1141 | "dev": true, 1142 | "requires": { 1143 | "ci-info": "^1.0.0" 1144 | } 1145 | }, 1146 | "is-dotfile": { 1147 | "version": "1.0.3", 1148 | "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", 1149 | "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", 1150 | "dev": true 1151 | }, 1152 | "is-equal-shallow": { 1153 | "version": "0.1.3", 1154 | "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", 1155 | "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", 1156 | "dev": true, 1157 | "requires": { 1158 | "is-primitive": "^2.0.0" 1159 | } 1160 | }, 1161 | "is-extendable": { 1162 | "version": "0.1.1", 1163 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", 1164 | "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", 1165 | "dev": true 1166 | }, 1167 | "is-extglob": { 1168 | "version": "1.0.0", 1169 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", 1170 | "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", 1171 | "dev": true 1172 | }, 1173 | "is-finite": { 1174 | "version": "1.0.2", 1175 | "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", 1176 | "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", 1177 | "dev": true, 1178 | "requires": { 1179 | "number-is-nan": "^1.0.0" 1180 | } 1181 | }, 1182 | "is-fullwidth-code-point": { 1183 | "version": "1.0.0", 1184 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", 1185 | "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", 1186 | "dev": true, 1187 | "requires": { 1188 | "number-is-nan": "^1.0.0" 1189 | } 1190 | }, 1191 | "is-glob": { 1192 | "version": "2.0.1", 1193 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", 1194 | "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", 1195 | "dev": true, 1196 | "requires": { 1197 | "is-extglob": "^1.0.0" 1198 | } 1199 | }, 1200 | "is-number": { 1201 | "version": "2.1.0", 1202 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", 1203 | "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", 1204 | "dev": true, 1205 | "requires": { 1206 | "kind-of": "^3.0.2" 1207 | } 1208 | }, 1209 | "is-posix-bracket": { 1210 | "version": "0.1.1", 1211 | "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", 1212 | "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", 1213 | "dev": true 1214 | }, 1215 | "is-primitive": { 1216 | "version": "2.0.0", 1217 | "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", 1218 | "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", 1219 | "dev": true 1220 | }, 1221 | "is-stream": { 1222 | "version": "1.1.0", 1223 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", 1224 | "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", 1225 | "dev": true 1226 | }, 1227 | "is-typedarray": { 1228 | "version": "1.0.0", 1229 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", 1230 | "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", 1231 | "dev": true 1232 | }, 1233 | "is-utf8": { 1234 | "version": "0.2.1", 1235 | "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", 1236 | "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", 1237 | "dev": true 1238 | }, 1239 | "isarray": { 1240 | "version": "1.0.0", 1241 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 1242 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", 1243 | "dev": true 1244 | }, 1245 | "isexe": { 1246 | "version": "2.0.0", 1247 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 1248 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", 1249 | "dev": true 1250 | }, 1251 | "isobject": { 1252 | "version": "2.1.0", 1253 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", 1254 | "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", 1255 | "dev": true, 1256 | "requires": { 1257 | "isarray": "1.0.0" 1258 | } 1259 | }, 1260 | "isomorphic-fetch": { 1261 | "version": "2.2.1", 1262 | "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", 1263 | "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", 1264 | "dev": true, 1265 | "requires": { 1266 | "node-fetch": "^1.0.1", 1267 | "whatwg-fetch": ">=0.10.0" 1268 | } 1269 | }, 1270 | "isstream": { 1271 | "version": "0.1.2", 1272 | "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", 1273 | "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", 1274 | "dev": true 1275 | }, 1276 | "istanbul-api": { 1277 | "version": "1.1.12", 1278 | "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.1.12.tgz", 1279 | "integrity": "sha1-ktZ+nY+eqHNJpkpw3fWnqM35fyE=", 1280 | "dev": true, 1281 | "requires": { 1282 | "async": "^2.1.4", 1283 | "fileset": "^2.0.2", 1284 | "istanbul-lib-coverage": "^1.1.1", 1285 | "istanbul-lib-hook": "^1.0.7", 1286 | "istanbul-lib-instrument": "^1.7.5", 1287 | "istanbul-lib-report": "^1.1.1", 1288 | "istanbul-lib-source-maps": "^1.2.1", 1289 | "istanbul-reports": "^1.1.1", 1290 | "js-yaml": "^3.7.0", 1291 | "mkdirp": "^0.5.1", 1292 | "once": "^1.4.0" 1293 | } 1294 | }, 1295 | "istanbul-lib-coverage": { 1296 | "version": "1.1.1", 1297 | "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.1.tgz", 1298 | "integrity": "sha512-0+1vDkmzxqJIn5rcoEqapSB4DmPxE31EtI2dF2aCkV5esN9EWHxZ0dwgDClivMXJqE7zaYQxq30hj5L0nlTN5Q==", 1299 | "dev": true 1300 | }, 1301 | "istanbul-lib-hook": { 1302 | "version": "1.0.7", 1303 | "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.0.7.tgz", 1304 | "integrity": "sha512-3U2HB9y1ZV9UmFlE12Fx+nPtFqIymzrqCksrXujm3NVbAZIJg/RfYgO1XiIa0mbmxTjWpVEVlkIZJ25xVIAfkQ==", 1305 | "dev": true, 1306 | "requires": { 1307 | "append-transform": "^0.4.0" 1308 | } 1309 | }, 1310 | "istanbul-lib-instrument": { 1311 | "version": "1.7.5", 1312 | "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.7.5.tgz", 1313 | "integrity": "sha1-rbWW+PDLi5XnOSBjUaOKWGryGx4=", 1314 | "dev": true, 1315 | "requires": { 1316 | "babel-generator": "^6.18.0", 1317 | "babel-template": "^6.16.0", 1318 | "babel-traverse": "^6.18.0", 1319 | "babel-types": "^6.18.0", 1320 | "babylon": "^6.17.4", 1321 | "istanbul-lib-coverage": "^1.1.1", 1322 | "semver": "^5.3.0" 1323 | } 1324 | }, 1325 | "istanbul-lib-report": { 1326 | "version": "1.1.1", 1327 | "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz", 1328 | "integrity": "sha512-tvF+YmCmH4thnez6JFX06ujIA19WPa9YUiwjc1uALF2cv5dmE3It8b5I8Ob7FHJ70H9Y5yF+TDkVa/mcADuw1Q==", 1329 | "dev": true, 1330 | "requires": { 1331 | "istanbul-lib-coverage": "^1.1.1", 1332 | "mkdirp": "^0.5.1", 1333 | "path-parse": "^1.0.5", 1334 | "supports-color": "^3.1.2" 1335 | }, 1336 | "dependencies": { 1337 | "supports-color": { 1338 | "version": "3.2.3", 1339 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", 1340 | "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", 1341 | "dev": true, 1342 | "requires": { 1343 | "has-flag": "^1.0.0" 1344 | } 1345 | } 1346 | } 1347 | }, 1348 | "istanbul-lib-source-maps": { 1349 | "version": "1.2.1", 1350 | "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.1.tgz", 1351 | "integrity": "sha512-mukVvSXCn9JQvdJl8wP/iPhqig0MRtuWuD4ZNKo6vB2Ik//AmhAKe3QnPN02dmkRe3lTudFk3rzoHhwU4hb94w==", 1352 | "dev": true, 1353 | "requires": { 1354 | "debug": "^2.6.3", 1355 | "istanbul-lib-coverage": "^1.1.1", 1356 | "mkdirp": "^0.5.1", 1357 | "rimraf": "^2.6.1", 1358 | "source-map": "^0.5.3" 1359 | } 1360 | }, 1361 | "istanbul-reports": { 1362 | "version": "1.1.1", 1363 | "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.1.1.tgz", 1364 | "integrity": "sha512-P8G873A0kW24XRlxHVGhMJBhQ8gWAec+dae7ZxOBzxT4w+a9ATSPvRVK3LB1RAJ9S8bg2tOyWHAGW40Zd2dKfw==", 1365 | "dev": true, 1366 | "requires": { 1367 | "handlebars": "^4.0.3" 1368 | } 1369 | }, 1370 | "jest": { 1371 | "version": "20.0.4", 1372 | "resolved": "https://registry.npmjs.org/jest/-/jest-20.0.4.tgz", 1373 | "integrity": "sha1-PdJgwpidba1nix6cxNkZRPbWAqw=", 1374 | "dev": true, 1375 | "requires": { 1376 | "jest-cli": "^20.0.4" 1377 | }, 1378 | "dependencies": { 1379 | "jest-cli": { 1380 | "version": "20.0.4", 1381 | "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-20.0.4.tgz", 1382 | "integrity": "sha1-5TKxnYiuW8bEF+iwWTpv6VSx3JM=", 1383 | "dev": true, 1384 | "requires": { 1385 | "ansi-escapes": "^1.4.0", 1386 | "callsites": "^2.0.0", 1387 | "chalk": "^1.1.3", 1388 | "graceful-fs": "^4.1.11", 1389 | "is-ci": "^1.0.10", 1390 | "istanbul-api": "^1.1.1", 1391 | "istanbul-lib-coverage": "^1.0.1", 1392 | "istanbul-lib-instrument": "^1.4.2", 1393 | "istanbul-lib-source-maps": "^1.1.0", 1394 | "jest-changed-files": "^20.0.3", 1395 | "jest-config": "^20.0.4", 1396 | "jest-docblock": "^20.0.3", 1397 | "jest-environment-jsdom": "^20.0.3", 1398 | "jest-haste-map": "^20.0.4", 1399 | "jest-jasmine2": "^20.0.4", 1400 | "jest-message-util": "^20.0.3", 1401 | "jest-regex-util": "^20.0.3", 1402 | "jest-resolve-dependencies": "^20.0.3", 1403 | "jest-runtime": "^20.0.4", 1404 | "jest-snapshot": "^20.0.3", 1405 | "jest-util": "^20.0.3", 1406 | "micromatch": "^2.3.11", 1407 | "node-notifier": "^5.0.2", 1408 | "pify": "^2.3.0", 1409 | "slash": "^1.0.0", 1410 | "string-length": "^1.0.1", 1411 | "throat": "^3.0.0", 1412 | "which": "^1.2.12", 1413 | "worker-farm": "^1.3.1", 1414 | "yargs": "^7.0.2" 1415 | } 1416 | } 1417 | } 1418 | }, 1419 | "jest-changed-files": { 1420 | "version": "20.0.3", 1421 | "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-20.0.3.tgz", 1422 | "integrity": "sha1-k5TVzGXEOEBhSb7xv01Sto4D4/g=", 1423 | "dev": true 1424 | }, 1425 | "jest-config": { 1426 | "version": "20.0.4", 1427 | "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-20.0.4.tgz", 1428 | "integrity": "sha1-43kwqyIXyRNgXv8T5712PsSPruo=", 1429 | "dev": true, 1430 | "requires": { 1431 | "chalk": "^1.1.3", 1432 | "glob": "^7.1.1", 1433 | "jest-environment-jsdom": "^20.0.3", 1434 | "jest-environment-node": "^20.0.3", 1435 | "jest-jasmine2": "^20.0.4", 1436 | "jest-matcher-utils": "^20.0.3", 1437 | "jest-regex-util": "^20.0.3", 1438 | "jest-resolve": "^20.0.4", 1439 | "jest-validate": "^20.0.3", 1440 | "pretty-format": "^20.0.3" 1441 | } 1442 | }, 1443 | "jest-diff": { 1444 | "version": "20.0.3", 1445 | "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-20.0.3.tgz", 1446 | "integrity": "sha1-gfKI/Z5nXw+yPHXxwrGURf5YZhc=", 1447 | "dev": true, 1448 | "requires": { 1449 | "chalk": "^1.1.3", 1450 | "diff": "^3.2.0", 1451 | "jest-matcher-utils": "^20.0.3", 1452 | "pretty-format": "^20.0.3" 1453 | } 1454 | }, 1455 | "jest-docblock": { 1456 | "version": "20.0.3", 1457 | "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-20.0.3.tgz", 1458 | "integrity": "sha1-F76phDQswz2DxQ++FUXqDvqkRxI=", 1459 | "dev": true 1460 | }, 1461 | "jest-environment-jsdom": { 1462 | "version": "20.0.3", 1463 | "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-20.0.3.tgz", 1464 | "integrity": "sha1-BIqKwS7iJfcZBBdxODS7mZeH3pk=", 1465 | "dev": true, 1466 | "requires": { 1467 | "jest-mock": "^20.0.3", 1468 | "jest-util": "^20.0.3", 1469 | "jsdom": "^9.12.0" 1470 | } 1471 | }, 1472 | "jest-environment-node": { 1473 | "version": "20.0.3", 1474 | "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-20.0.3.tgz", 1475 | "integrity": "sha1-1Ii8RhKvLCRumG6K52caCZFj1AM=", 1476 | "dev": true, 1477 | "requires": { 1478 | "jest-mock": "^20.0.3", 1479 | "jest-util": "^20.0.3" 1480 | } 1481 | }, 1482 | "jest-haste-map": { 1483 | "version": "20.0.4", 1484 | "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-20.0.4.tgz", 1485 | "integrity": "sha1-ZT61XIic48Ah97lGk/IKQVm63wM=", 1486 | "dev": true, 1487 | "requires": { 1488 | "fb-watchman": "^2.0.0", 1489 | "graceful-fs": "^4.1.11", 1490 | "jest-docblock": "^20.0.3", 1491 | "micromatch": "^2.3.11", 1492 | "sane": "~1.6.0", 1493 | "worker-farm": "^1.3.1" 1494 | } 1495 | }, 1496 | "jest-jasmine2": { 1497 | "version": "20.0.4", 1498 | "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-20.0.4.tgz", 1499 | "integrity": "sha1-/MWxQReA2RHQQpAu8YWehS5g1eE=", 1500 | "dev": true, 1501 | "requires": { 1502 | "chalk": "^1.1.3", 1503 | "graceful-fs": "^4.1.11", 1504 | "jest-diff": "^20.0.3", 1505 | "jest-matcher-utils": "^20.0.3", 1506 | "jest-matchers": "^20.0.3", 1507 | "jest-message-util": "^20.0.3", 1508 | "jest-snapshot": "^20.0.3", 1509 | "once": "^1.4.0", 1510 | "p-map": "^1.1.1" 1511 | } 1512 | }, 1513 | "jest-matcher-utils": { 1514 | "version": "20.0.3", 1515 | "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-20.0.3.tgz", 1516 | "integrity": "sha1-s6a443yld4A7CDKpixZPRLeBVhI=", 1517 | "dev": true, 1518 | "requires": { 1519 | "chalk": "^1.1.3", 1520 | "pretty-format": "^20.0.3" 1521 | } 1522 | }, 1523 | "jest-matchers": { 1524 | "version": "20.0.3", 1525 | "resolved": "https://registry.npmjs.org/jest-matchers/-/jest-matchers-20.0.3.tgz", 1526 | "integrity": "sha1-ymnbHDLbWm9wf6XgQBq7VXAN/WA=", 1527 | "dev": true, 1528 | "requires": { 1529 | "jest-diff": "^20.0.3", 1530 | "jest-matcher-utils": "^20.0.3", 1531 | "jest-message-util": "^20.0.3", 1532 | "jest-regex-util": "^20.0.3" 1533 | } 1534 | }, 1535 | "jest-message-util": { 1536 | "version": "20.0.3", 1537 | "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-20.0.3.tgz", 1538 | "integrity": "sha1-auwoRDBvyw5udNV5bBAG2W/dgxw=", 1539 | "dev": true, 1540 | "requires": { 1541 | "chalk": "^1.1.3", 1542 | "micromatch": "^2.3.11", 1543 | "slash": "^1.0.0" 1544 | } 1545 | }, 1546 | "jest-mock": { 1547 | "version": "20.0.3", 1548 | "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-20.0.3.tgz", 1549 | "integrity": "sha1-i8Bw6QQUqhVcEajWTIaaDVxx2lk=", 1550 | "dev": true 1551 | }, 1552 | "jest-regex-util": { 1553 | "version": "20.0.3", 1554 | "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-20.0.3.tgz", 1555 | "integrity": "sha1-hburXRM+RGJbGfr4xqpRItCF12I=", 1556 | "dev": true 1557 | }, 1558 | "jest-resolve": { 1559 | "version": "20.0.4", 1560 | "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-20.0.4.tgz", 1561 | "integrity": "sha1-lEiz6La6/BVHlETGSZBFt//ll6U=", 1562 | "dev": true, 1563 | "requires": { 1564 | "browser-resolve": "^1.11.2", 1565 | "is-builtin-module": "^1.0.0", 1566 | "resolve": "^1.3.2" 1567 | } 1568 | }, 1569 | "jest-resolve-dependencies": { 1570 | "version": "20.0.3", 1571 | "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-20.0.3.tgz", 1572 | "integrity": "sha1-bhSntxevDyyzZnxUneQK8Bexcjo=", 1573 | "dev": true, 1574 | "requires": { 1575 | "jest-regex-util": "^20.0.3" 1576 | } 1577 | }, 1578 | "jest-runtime": { 1579 | "version": "20.0.4", 1580 | "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-20.0.4.tgz", 1581 | "integrity": "sha1-osgCIZxCA/dU3xQE5JAYYWnRJNg=", 1582 | "dev": true, 1583 | "requires": { 1584 | "babel-core": "^6.0.0", 1585 | "babel-jest": "^20.0.3", 1586 | "babel-plugin-istanbul": "^4.0.0", 1587 | "chalk": "^1.1.3", 1588 | "convert-source-map": "^1.4.0", 1589 | "graceful-fs": "^4.1.11", 1590 | "jest-config": "^20.0.4", 1591 | "jest-haste-map": "^20.0.4", 1592 | "jest-regex-util": "^20.0.3", 1593 | "jest-resolve": "^20.0.4", 1594 | "jest-util": "^20.0.3", 1595 | "json-stable-stringify": "^1.0.1", 1596 | "micromatch": "^2.3.11", 1597 | "strip-bom": "3.0.0", 1598 | "yargs": "^7.0.2" 1599 | }, 1600 | "dependencies": { 1601 | "strip-bom": { 1602 | "version": "3.0.0", 1603 | "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", 1604 | "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", 1605 | "dev": true 1606 | } 1607 | } 1608 | }, 1609 | "jest-snapshot": { 1610 | "version": "20.0.3", 1611 | "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-20.0.3.tgz", 1612 | "integrity": "sha1-W4R+GtsaTZCFKn+fElCG4YfHZWY=", 1613 | "dev": true, 1614 | "requires": { 1615 | "chalk": "^1.1.3", 1616 | "jest-diff": "^20.0.3", 1617 | "jest-matcher-utils": "^20.0.3", 1618 | "jest-util": "^20.0.3", 1619 | "natural-compare": "^1.4.0", 1620 | "pretty-format": "^20.0.3" 1621 | } 1622 | }, 1623 | "jest-util": { 1624 | "version": "20.0.3", 1625 | "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-20.0.3.tgz", 1626 | "integrity": "sha1-DAf32A2C9OWmfG+LnD/n9lz9Mq0=", 1627 | "dev": true, 1628 | "requires": { 1629 | "chalk": "^1.1.3", 1630 | "graceful-fs": "^4.1.11", 1631 | "jest-message-util": "^20.0.3", 1632 | "jest-mock": "^20.0.3", 1633 | "jest-validate": "^20.0.3", 1634 | "leven": "^2.1.0", 1635 | "mkdirp": "^0.5.1" 1636 | } 1637 | }, 1638 | "jest-validate": { 1639 | "version": "20.0.3", 1640 | "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-20.0.3.tgz", 1641 | "integrity": "sha1-0M/R3k9XnymEhJJcKA+PHZTsPKs=", 1642 | "dev": true, 1643 | "requires": { 1644 | "chalk": "^1.1.3", 1645 | "jest-matcher-utils": "^20.0.3", 1646 | "leven": "^2.1.0", 1647 | "pretty-format": "^20.0.3" 1648 | } 1649 | }, 1650 | "js-tokens": { 1651 | "version": "3.0.2", 1652 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", 1653 | "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", 1654 | "dev": true 1655 | }, 1656 | "js-yaml": { 1657 | "version": "3.13.1", 1658 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", 1659 | "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", 1660 | "dev": true, 1661 | "requires": { 1662 | "argparse": "^1.0.7", 1663 | "esprima": "^4.0.0" 1664 | } 1665 | }, 1666 | "jsbn": { 1667 | "version": "0.1.1", 1668 | "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", 1669 | "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", 1670 | "dev": true 1671 | }, 1672 | "jsdom": { 1673 | "version": "9.12.0", 1674 | "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-9.12.0.tgz", 1675 | "integrity": "sha1-6MVG//ywbADUgzyoRBD+1/igl9Q=", 1676 | "dev": true, 1677 | "requires": { 1678 | "abab": "^1.0.3", 1679 | "acorn": "^4.0.4", 1680 | "acorn-globals": "^3.1.0", 1681 | "array-equal": "^1.0.0", 1682 | "content-type-parser": "^1.0.1", 1683 | "cssom": ">= 0.3.2 < 0.4.0", 1684 | "cssstyle": ">= 0.2.37 < 0.3.0", 1685 | "escodegen": "^1.6.1", 1686 | "html-encoding-sniffer": "^1.0.1", 1687 | "nwmatcher": ">= 1.3.9 < 2.0.0", 1688 | "parse5": "^1.5.1", 1689 | "request": "^2.79.0", 1690 | "sax": "^1.2.1", 1691 | "symbol-tree": "^3.2.1", 1692 | "tough-cookie": "^2.3.2", 1693 | "webidl-conversions": "^4.0.0", 1694 | "whatwg-encoding": "^1.0.1", 1695 | "whatwg-url": "^4.3.0", 1696 | "xml-name-validator": "^2.0.1" 1697 | } 1698 | }, 1699 | "jsesc": { 1700 | "version": "1.3.0", 1701 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", 1702 | "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", 1703 | "dev": true 1704 | }, 1705 | "json-schema": { 1706 | "version": "0.2.3", 1707 | "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", 1708 | "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", 1709 | "dev": true 1710 | }, 1711 | "json-stable-stringify": { 1712 | "version": "1.0.1", 1713 | "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", 1714 | "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", 1715 | "dev": true, 1716 | "requires": { 1717 | "jsonify": "~0.0.0" 1718 | } 1719 | }, 1720 | "json-stringify-safe": { 1721 | "version": "5.0.1", 1722 | "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", 1723 | "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", 1724 | "dev": true 1725 | }, 1726 | "json5": { 1727 | "version": "0.5.1", 1728 | "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", 1729 | "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", 1730 | "dev": true 1731 | }, 1732 | "jsonify": { 1733 | "version": "0.0.0", 1734 | "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", 1735 | "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", 1736 | "dev": true 1737 | }, 1738 | "jsprim": { 1739 | "version": "1.4.1", 1740 | "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", 1741 | "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", 1742 | "dev": true, 1743 | "requires": { 1744 | "assert-plus": "1.0.0", 1745 | "extsprintf": "1.3.0", 1746 | "json-schema": "0.2.3", 1747 | "verror": "1.10.0" 1748 | }, 1749 | "dependencies": { 1750 | "assert-plus": { 1751 | "version": "1.0.0", 1752 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 1753 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", 1754 | "dev": true 1755 | } 1756 | } 1757 | }, 1758 | "kind-of": { 1759 | "version": "3.2.2", 1760 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 1761 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 1762 | "dev": true, 1763 | "requires": { 1764 | "is-buffer": "^1.1.5" 1765 | } 1766 | }, 1767 | "lcid": { 1768 | "version": "1.0.0", 1769 | "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", 1770 | "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", 1771 | "dev": true, 1772 | "requires": { 1773 | "invert-kv": "^1.0.0" 1774 | } 1775 | }, 1776 | "leven": { 1777 | "version": "2.1.0", 1778 | "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz", 1779 | "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=", 1780 | "dev": true 1781 | }, 1782 | "levn": { 1783 | "version": "0.3.0", 1784 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", 1785 | "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", 1786 | "dev": true, 1787 | "requires": { 1788 | "prelude-ls": "~1.1.2", 1789 | "type-check": "~0.3.2" 1790 | } 1791 | }, 1792 | "load-json-file": { 1793 | "version": "1.1.0", 1794 | "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", 1795 | "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", 1796 | "dev": true, 1797 | "requires": { 1798 | "graceful-fs": "^4.1.2", 1799 | "parse-json": "^2.2.0", 1800 | "pify": "^2.0.0", 1801 | "pinkie-promise": "^2.0.0", 1802 | "strip-bom": "^2.0.0" 1803 | } 1804 | }, 1805 | "locate-path": { 1806 | "version": "2.0.0", 1807 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", 1808 | "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", 1809 | "dev": true, 1810 | "requires": { 1811 | "p-locate": "^2.0.0", 1812 | "path-exists": "^3.0.0" 1813 | } 1814 | }, 1815 | "lodash": { 1816 | "version": "4.17.15", 1817 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", 1818 | "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", 1819 | "dev": true 1820 | }, 1821 | "loose-envify": { 1822 | "version": "1.3.1", 1823 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", 1824 | "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", 1825 | "dev": true, 1826 | "requires": { 1827 | "js-tokens": "^3.0.0" 1828 | } 1829 | }, 1830 | "makeerror": { 1831 | "version": "1.0.11", 1832 | "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", 1833 | "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", 1834 | "dev": true, 1835 | "requires": { 1836 | "tmpl": "1.0.x" 1837 | } 1838 | }, 1839 | "md5": { 1840 | "version": "2.2.1", 1841 | "resolved": "https://registry.npmjs.org/md5/-/md5-2.2.1.tgz", 1842 | "integrity": "sha1-U6s41f48iJG6RlMp6iP6wFQBJvk=", 1843 | "requires": { 1844 | "charenc": "~0.0.1", 1845 | "crypt": "~0.0.1", 1846 | "is-buffer": "~1.1.1" 1847 | } 1848 | }, 1849 | "merge": { 1850 | "version": "1.2.1", 1851 | "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.1.tgz", 1852 | "integrity": "sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ==", 1853 | "dev": true 1854 | }, 1855 | "micromatch": { 1856 | "version": "2.3.11", 1857 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", 1858 | "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", 1859 | "dev": true, 1860 | "requires": { 1861 | "arr-diff": "^2.0.0", 1862 | "array-unique": "^0.2.1", 1863 | "braces": "^1.8.2", 1864 | "expand-brackets": "^0.1.4", 1865 | "extglob": "^0.3.1", 1866 | "filename-regex": "^2.0.0", 1867 | "is-extglob": "^1.0.0", 1868 | "is-glob": "^2.0.1", 1869 | "kind-of": "^3.0.2", 1870 | "normalize-path": "^2.0.1", 1871 | "object.omit": "^2.0.0", 1872 | "parse-glob": "^3.0.4", 1873 | "regex-cache": "^0.4.2" 1874 | } 1875 | }, 1876 | "mime-db": { 1877 | "version": "1.29.0", 1878 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.29.0.tgz", 1879 | "integrity": "sha1-SNJtI1WJZRcErFkWygYAGRQmaHg=", 1880 | "dev": true 1881 | }, 1882 | "mime-types": { 1883 | "version": "2.1.16", 1884 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.16.tgz", 1885 | "integrity": "sha1-K4WKUuXs1RbbiXrCvodIeDBpjiM=", 1886 | "dev": true, 1887 | "requires": { 1888 | "mime-db": "~1.29.0" 1889 | } 1890 | }, 1891 | "minimatch": { 1892 | "version": "3.0.4", 1893 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 1894 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", 1895 | "dev": true, 1896 | "requires": { 1897 | "brace-expansion": "^1.1.7" 1898 | } 1899 | }, 1900 | "minimist": { 1901 | "version": "0.0.8", 1902 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", 1903 | "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", 1904 | "dev": true 1905 | }, 1906 | "mkdirp": { 1907 | "version": "0.5.1", 1908 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", 1909 | "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", 1910 | "dev": true, 1911 | "requires": { 1912 | "minimist": "0.0.8" 1913 | } 1914 | }, 1915 | "ms": { 1916 | "version": "2.0.0", 1917 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 1918 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", 1919 | "dev": true 1920 | }, 1921 | "natural-compare": { 1922 | "version": "1.4.0", 1923 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", 1924 | "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", 1925 | "dev": true 1926 | }, 1927 | "neo-async": { 1928 | "version": "2.6.1", 1929 | "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", 1930 | "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", 1931 | "dev": true 1932 | }, 1933 | "node-fetch": { 1934 | "version": "1.7.2", 1935 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.2.tgz", 1936 | "integrity": "sha512-xZZUq2yDhKMIn/UgG5q//IZSNLJIwW2QxS14CNH5spuiXkITM2pUitjdq58yLSaU7m4M0wBNaM2Gh/ggY4YJig==", 1937 | "dev": true, 1938 | "requires": { 1939 | "encoding": "^0.1.11", 1940 | "is-stream": "^1.0.1" 1941 | } 1942 | }, 1943 | "node-int64": { 1944 | "version": "0.4.0", 1945 | "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", 1946 | "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", 1947 | "dev": true 1948 | }, 1949 | "node-notifier": { 1950 | "version": "5.1.2", 1951 | "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.1.2.tgz", 1952 | "integrity": "sha1-L6nhJgX6EACdRFSdb82KY93g5P8=", 1953 | "dev": true, 1954 | "requires": { 1955 | "growly": "^1.3.0", 1956 | "semver": "^5.3.0", 1957 | "shellwords": "^0.1.0", 1958 | "which": "^1.2.12" 1959 | } 1960 | }, 1961 | "normalize-package-data": { 1962 | "version": "2.4.0", 1963 | "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", 1964 | "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", 1965 | "dev": true, 1966 | "requires": { 1967 | "hosted-git-info": "^2.1.4", 1968 | "is-builtin-module": "^1.0.0", 1969 | "semver": "2 || 3 || 4 || 5", 1970 | "validate-npm-package-license": "^3.0.1" 1971 | } 1972 | }, 1973 | "normalize-path": { 1974 | "version": "2.1.1", 1975 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", 1976 | "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", 1977 | "dev": true, 1978 | "requires": { 1979 | "remove-trailing-separator": "^1.0.1" 1980 | } 1981 | }, 1982 | "number-is-nan": { 1983 | "version": "1.0.1", 1984 | "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", 1985 | "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", 1986 | "dev": true 1987 | }, 1988 | "nwmatcher": { 1989 | "version": "1.4.4", 1990 | "resolved": "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.4.4.tgz", 1991 | "integrity": "sha512-3iuY4N5dhgMpCUrOVnuAdGrgxVqV2cJpM+XNccjR2DKOB1RUP0aA+wGXEiNziG/UKboFyGBIoKOaNlJxx8bciQ==", 1992 | "dev": true 1993 | }, 1994 | "oauth-sign": { 1995 | "version": "0.8.2", 1996 | "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", 1997 | "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", 1998 | "dev": true 1999 | }, 2000 | "object-assign": { 2001 | "version": "4.1.1", 2002 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 2003 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", 2004 | "dev": true 2005 | }, 2006 | "object.omit": { 2007 | "version": "2.0.1", 2008 | "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", 2009 | "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", 2010 | "dev": true, 2011 | "requires": { 2012 | "for-own": "^0.1.4", 2013 | "is-extendable": "^0.1.1" 2014 | } 2015 | }, 2016 | "once": { 2017 | "version": "1.4.0", 2018 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 2019 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 2020 | "dev": true, 2021 | "requires": { 2022 | "wrappy": "1" 2023 | } 2024 | }, 2025 | "optimist": { 2026 | "version": "0.6.1", 2027 | "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", 2028 | "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", 2029 | "dev": true, 2030 | "requires": { 2031 | "minimist": "~0.0.1", 2032 | "wordwrap": "~0.0.2" 2033 | } 2034 | }, 2035 | "optionator": { 2036 | "version": "0.8.2", 2037 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", 2038 | "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", 2039 | "dev": true, 2040 | "requires": { 2041 | "deep-is": "~0.1.3", 2042 | "fast-levenshtein": "~2.0.4", 2043 | "levn": "~0.3.0", 2044 | "prelude-ls": "~1.1.2", 2045 | "type-check": "~0.3.2", 2046 | "wordwrap": "~1.0.0" 2047 | }, 2048 | "dependencies": { 2049 | "wordwrap": { 2050 | "version": "1.0.0", 2051 | "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", 2052 | "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", 2053 | "dev": true 2054 | } 2055 | } 2056 | }, 2057 | "os-homedir": { 2058 | "version": "1.0.2", 2059 | "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", 2060 | "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", 2061 | "dev": true 2062 | }, 2063 | "os-locale": { 2064 | "version": "1.4.0", 2065 | "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", 2066 | "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", 2067 | "dev": true, 2068 | "requires": { 2069 | "lcid": "^1.0.0" 2070 | } 2071 | }, 2072 | "os-tmpdir": { 2073 | "version": "1.0.2", 2074 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", 2075 | "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", 2076 | "dev": true 2077 | }, 2078 | "p-limit": { 2079 | "version": "1.1.0", 2080 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.1.0.tgz", 2081 | "integrity": "sha1-sH/y2aXYi+yAYDWJWiurZqJ5iLw=", 2082 | "dev": true 2083 | }, 2084 | "p-locate": { 2085 | "version": "2.0.0", 2086 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", 2087 | "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", 2088 | "dev": true, 2089 | "requires": { 2090 | "p-limit": "^1.1.0" 2091 | } 2092 | }, 2093 | "p-map": { 2094 | "version": "1.1.1", 2095 | "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.1.1.tgz", 2096 | "integrity": "sha1-BfXkrpegaDcbwqXMhr+9vBnErno=", 2097 | "dev": true 2098 | }, 2099 | "parse-glob": { 2100 | "version": "3.0.4", 2101 | "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", 2102 | "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", 2103 | "dev": true, 2104 | "requires": { 2105 | "glob-base": "^0.3.0", 2106 | "is-dotfile": "^1.0.0", 2107 | "is-extglob": "^1.0.0", 2108 | "is-glob": "^2.0.0" 2109 | } 2110 | }, 2111 | "parse-json": { 2112 | "version": "2.2.0", 2113 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", 2114 | "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", 2115 | "dev": true, 2116 | "requires": { 2117 | "error-ex": "^1.2.0" 2118 | } 2119 | }, 2120 | "parse5": { 2121 | "version": "1.5.1", 2122 | "resolved": "https://registry.npmjs.org/parse5/-/parse5-1.5.1.tgz", 2123 | "integrity": "sha1-m387DeMr543CQBsXVzzK8Pb1nZQ=", 2124 | "dev": true 2125 | }, 2126 | "path-exists": { 2127 | "version": "3.0.0", 2128 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", 2129 | "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", 2130 | "dev": true 2131 | }, 2132 | "path-is-absolute": { 2133 | "version": "1.0.1", 2134 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 2135 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 2136 | "dev": true 2137 | }, 2138 | "path-parse": { 2139 | "version": "1.0.5", 2140 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", 2141 | "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", 2142 | "dev": true 2143 | }, 2144 | "path-type": { 2145 | "version": "1.1.0", 2146 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", 2147 | "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", 2148 | "dev": true, 2149 | "requires": { 2150 | "graceful-fs": "^4.1.2", 2151 | "pify": "^2.0.0", 2152 | "pinkie-promise": "^2.0.0" 2153 | } 2154 | }, 2155 | "performance-now": { 2156 | "version": "0.2.0", 2157 | "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", 2158 | "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=", 2159 | "dev": true 2160 | }, 2161 | "pify": { 2162 | "version": "2.3.0", 2163 | "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", 2164 | "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", 2165 | "dev": true 2166 | }, 2167 | "pinkie": { 2168 | "version": "2.0.4", 2169 | "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", 2170 | "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", 2171 | "dev": true 2172 | }, 2173 | "pinkie-promise": { 2174 | "version": "2.0.1", 2175 | "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", 2176 | "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", 2177 | "dev": true, 2178 | "requires": { 2179 | "pinkie": "^2.0.0" 2180 | } 2181 | }, 2182 | "prelude-ls": { 2183 | "version": "1.1.2", 2184 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", 2185 | "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", 2186 | "dev": true 2187 | }, 2188 | "preserve": { 2189 | "version": "0.2.0", 2190 | "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", 2191 | "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", 2192 | "dev": true 2193 | }, 2194 | "pretty-format": { 2195 | "version": "20.0.3", 2196 | "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-20.0.3.tgz", 2197 | "integrity": "sha1-Ag41ClYKH+GpjcO+tsz/s4beixQ=", 2198 | "dev": true, 2199 | "requires": { 2200 | "ansi-regex": "^2.1.1", 2201 | "ansi-styles": "^3.0.0" 2202 | }, 2203 | "dependencies": { 2204 | "ansi-styles": { 2205 | "version": "3.2.0", 2206 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", 2207 | "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", 2208 | "dev": true, 2209 | "requires": { 2210 | "color-convert": "^1.9.0" 2211 | } 2212 | } 2213 | } 2214 | }, 2215 | "private": { 2216 | "version": "0.1.7", 2217 | "resolved": "https://registry.npmjs.org/private/-/private-0.1.7.tgz", 2218 | "integrity": "sha1-aM5eih7woju1cMwoU3tTMqumPvE=", 2219 | "dev": true 2220 | }, 2221 | "prr": { 2222 | "version": "0.0.0", 2223 | "resolved": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz", 2224 | "integrity": "sha1-GoS4WQgyVQFBGFPQCB7j+obikmo=", 2225 | "dev": true 2226 | }, 2227 | "psl": { 2228 | "version": "1.8.0", 2229 | "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", 2230 | "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", 2231 | "dev": true 2232 | }, 2233 | "punycode": { 2234 | "version": "1.4.1", 2235 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", 2236 | "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", 2237 | "dev": true 2238 | }, 2239 | "qs": { 2240 | "version": "6.4.0", 2241 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", 2242 | "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=", 2243 | "dev": true 2244 | }, 2245 | "randomatic": { 2246 | "version": "1.1.7", 2247 | "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", 2248 | "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", 2249 | "dev": true, 2250 | "requires": { 2251 | "is-number": "^3.0.0", 2252 | "kind-of": "^4.0.0" 2253 | }, 2254 | "dependencies": { 2255 | "is-number": { 2256 | "version": "3.0.0", 2257 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", 2258 | "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", 2259 | "dev": true, 2260 | "requires": { 2261 | "kind-of": "^3.0.2" 2262 | }, 2263 | "dependencies": { 2264 | "kind-of": { 2265 | "version": "3.2.2", 2266 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 2267 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 2268 | "dev": true, 2269 | "requires": { 2270 | "is-buffer": "^1.1.5" 2271 | } 2272 | } 2273 | } 2274 | }, 2275 | "kind-of": { 2276 | "version": "4.0.0", 2277 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", 2278 | "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", 2279 | "dev": true, 2280 | "requires": { 2281 | "is-buffer": "^1.1.5" 2282 | } 2283 | } 2284 | } 2285 | }, 2286 | "raven": { 2287 | "version": "2.6.4", 2288 | "resolved": "https://registry.npmjs.org/raven/-/raven-2.6.4.tgz", 2289 | "integrity": "sha512-6PQdfC4+DQSFncowthLf+B6Hr0JpPsFBgTVYTAOq7tCmx/kR4SXbeawtPch20+3QfUcQDoJBLjWW1ybvZ4kXTw==", 2290 | "requires": { 2291 | "cookie": "0.3.1", 2292 | "md5": "^2.2.1", 2293 | "stack-trace": "0.0.10", 2294 | "timed-out": "4.0.1", 2295 | "uuid": "3.3.2" 2296 | }, 2297 | "dependencies": { 2298 | "uuid": { 2299 | "version": "3.3.2", 2300 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", 2301 | "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" 2302 | } 2303 | } 2304 | }, 2305 | "read-pkg": { 2306 | "version": "1.1.0", 2307 | "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", 2308 | "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", 2309 | "dev": true, 2310 | "requires": { 2311 | "load-json-file": "^1.0.0", 2312 | "normalize-package-data": "^2.3.2", 2313 | "path-type": "^1.0.0" 2314 | } 2315 | }, 2316 | "read-pkg-up": { 2317 | "version": "1.0.1", 2318 | "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", 2319 | "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", 2320 | "dev": true, 2321 | "requires": { 2322 | "find-up": "^1.0.0", 2323 | "read-pkg": "^1.0.0" 2324 | }, 2325 | "dependencies": { 2326 | "find-up": { 2327 | "version": "1.1.2", 2328 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", 2329 | "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", 2330 | "dev": true, 2331 | "requires": { 2332 | "path-exists": "^2.0.0", 2333 | "pinkie-promise": "^2.0.0" 2334 | } 2335 | }, 2336 | "path-exists": { 2337 | "version": "2.1.0", 2338 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", 2339 | "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", 2340 | "dev": true, 2341 | "requires": { 2342 | "pinkie-promise": "^2.0.0" 2343 | } 2344 | } 2345 | } 2346 | }, 2347 | "regenerator-runtime": { 2348 | "version": "0.11.0", 2349 | "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz", 2350 | "integrity": "sha512-/aA0kLeRb5N9K0d4fw7ooEbI+xDe+DKD499EQqygGqeS8N3xto15p09uY2xj7ixP81sNPXvRLnAQIqdVStgb1A==", 2351 | "dev": true 2352 | }, 2353 | "regex-cache": { 2354 | "version": "0.4.3", 2355 | "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.3.tgz", 2356 | "integrity": "sha1-mxpsNdTQ3871cRrmUejp09cRQUU=", 2357 | "dev": true, 2358 | "requires": { 2359 | "is-equal-shallow": "^0.1.3", 2360 | "is-primitive": "^2.0.0" 2361 | } 2362 | }, 2363 | "remove-trailing-separator": { 2364 | "version": "1.1.0", 2365 | "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", 2366 | "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", 2367 | "dev": true 2368 | }, 2369 | "repeat-element": { 2370 | "version": "1.1.2", 2371 | "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", 2372 | "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", 2373 | "dev": true 2374 | }, 2375 | "repeat-string": { 2376 | "version": "1.6.1", 2377 | "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", 2378 | "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", 2379 | "dev": true 2380 | }, 2381 | "repeating": { 2382 | "version": "2.0.1", 2383 | "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", 2384 | "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", 2385 | "dev": true, 2386 | "requires": { 2387 | "is-finite": "^1.0.0" 2388 | } 2389 | }, 2390 | "request": { 2391 | "version": "2.81.0", 2392 | "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", 2393 | "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", 2394 | "dev": true, 2395 | "requires": { 2396 | "aws-sign2": "~0.6.0", 2397 | "aws4": "^1.2.1", 2398 | "caseless": "~0.12.0", 2399 | "combined-stream": "~1.0.5", 2400 | "extend": "~3.0.0", 2401 | "forever-agent": "~0.6.1", 2402 | "form-data": "~2.1.1", 2403 | "har-validator": "~4.2.1", 2404 | "hawk": "~3.1.3", 2405 | "http-signature": "~1.1.0", 2406 | "is-typedarray": "~1.0.0", 2407 | "isstream": "~0.1.2", 2408 | "json-stringify-safe": "~5.0.1", 2409 | "mime-types": "~2.1.7", 2410 | "oauth-sign": "~0.8.1", 2411 | "performance-now": "^0.2.0", 2412 | "qs": "~6.4.0", 2413 | "safe-buffer": "^5.0.1", 2414 | "stringstream": "~0.0.4", 2415 | "tough-cookie": "~2.3.0", 2416 | "tunnel-agent": "^0.6.0", 2417 | "uuid": "^3.0.0" 2418 | }, 2419 | "dependencies": { 2420 | "tough-cookie": { 2421 | "version": "2.3.4", 2422 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", 2423 | "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", 2424 | "dev": true, 2425 | "requires": { 2426 | "punycode": "^1.4.1" 2427 | } 2428 | } 2429 | } 2430 | }, 2431 | "require-directory": { 2432 | "version": "2.1.1", 2433 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", 2434 | "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", 2435 | "dev": true 2436 | }, 2437 | "require-main-filename": { 2438 | "version": "1.0.1", 2439 | "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", 2440 | "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", 2441 | "dev": true 2442 | }, 2443 | "resolve": { 2444 | "version": "1.4.0", 2445 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.4.0.tgz", 2446 | "integrity": "sha512-aW7sVKPufyHqOmyyLzg/J+8606v5nevBgaliIlV7nUpVMsDnoBGV/cbSLNjZAg9q0Cfd/+easKVKQ8vOu8fn1Q==", 2447 | "dev": true, 2448 | "requires": { 2449 | "path-parse": "^1.0.5" 2450 | } 2451 | }, 2452 | "rimraf": { 2453 | "version": "2.6.1", 2454 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", 2455 | "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", 2456 | "dev": true, 2457 | "requires": { 2458 | "glob": "^7.0.5" 2459 | } 2460 | }, 2461 | "safe-buffer": { 2462 | "version": "5.1.1", 2463 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", 2464 | "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", 2465 | "dev": true 2466 | }, 2467 | "safer-buffer": { 2468 | "version": "2.1.2", 2469 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 2470 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", 2471 | "dev": true 2472 | }, 2473 | "sane": { 2474 | "version": "1.6.0", 2475 | "resolved": "https://registry.npmjs.org/sane/-/sane-1.6.0.tgz", 2476 | "integrity": "sha1-lhDEUjB6E10pwf3+JUcDQYDEZ3U=", 2477 | "dev": true, 2478 | "requires": { 2479 | "anymatch": "^1.3.0", 2480 | "exec-sh": "^0.2.0", 2481 | "fb-watchman": "^1.8.0", 2482 | "minimatch": "^3.0.2", 2483 | "minimist": "^1.1.1", 2484 | "walker": "~1.0.5", 2485 | "watch": "~0.10.0" 2486 | }, 2487 | "dependencies": { 2488 | "bser": { 2489 | "version": "1.0.2", 2490 | "resolved": "https://registry.npmjs.org/bser/-/bser-1.0.2.tgz", 2491 | "integrity": "sha1-OBEWlwsqbe6lZG3RXdcnhES1YWk=", 2492 | "dev": true, 2493 | "requires": { 2494 | "node-int64": "^0.4.0" 2495 | } 2496 | }, 2497 | "fb-watchman": { 2498 | "version": "1.9.2", 2499 | "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-1.9.2.tgz", 2500 | "integrity": "sha1-okz0eCf4LTj7Waaa1wt247auc4M=", 2501 | "dev": true, 2502 | "requires": { 2503 | "bser": "1.0.2" 2504 | } 2505 | }, 2506 | "minimist": { 2507 | "version": "1.2.0", 2508 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", 2509 | "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", 2510 | "dev": true 2511 | } 2512 | } 2513 | }, 2514 | "sax": { 2515 | "version": "1.2.4", 2516 | "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", 2517 | "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", 2518 | "dev": true 2519 | }, 2520 | "semver": { 2521 | "version": "5.4.1", 2522 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", 2523 | "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==", 2524 | "dev": true 2525 | }, 2526 | "set-blocking": { 2527 | "version": "2.0.0", 2528 | "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", 2529 | "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", 2530 | "dev": true 2531 | }, 2532 | "shellwords": { 2533 | "version": "0.1.1", 2534 | "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", 2535 | "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", 2536 | "dev": true 2537 | }, 2538 | "slash": { 2539 | "version": "1.0.0", 2540 | "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", 2541 | "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", 2542 | "dev": true 2543 | }, 2544 | "sntp": { 2545 | "version": "1.0.9", 2546 | "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", 2547 | "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", 2548 | "dev": true, 2549 | "requires": { 2550 | "hoek": "2.x.x" 2551 | } 2552 | }, 2553 | "source-map": { 2554 | "version": "0.5.7", 2555 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 2556 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 2557 | "dev": true 2558 | }, 2559 | "source-map-support": { 2560 | "version": "0.4.16", 2561 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.16.tgz", 2562 | "integrity": "sha512-A6vlydY7H/ljr4L2UOhDSajQdZQ6dMD7cLH0pzwcmwLyc9u8PNI4WGtnfDDzX7uzGL6c/T+ORL97Zlh+S4iOrg==", 2563 | "dev": true, 2564 | "requires": { 2565 | "source-map": "^0.5.6" 2566 | } 2567 | }, 2568 | "spdx-correct": { 2569 | "version": "1.0.2", 2570 | "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", 2571 | "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", 2572 | "dev": true, 2573 | "requires": { 2574 | "spdx-license-ids": "^1.0.2" 2575 | } 2576 | }, 2577 | "spdx-expression-parse": { 2578 | "version": "1.0.4", 2579 | "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", 2580 | "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=", 2581 | "dev": true 2582 | }, 2583 | "spdx-license-ids": { 2584 | "version": "1.2.2", 2585 | "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", 2586 | "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", 2587 | "dev": true 2588 | }, 2589 | "sprintf-js": { 2590 | "version": "1.0.3", 2591 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", 2592 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", 2593 | "dev": true 2594 | }, 2595 | "sshpk": { 2596 | "version": "1.16.1", 2597 | "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", 2598 | "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", 2599 | "dev": true, 2600 | "requires": { 2601 | "asn1": "~0.2.3", 2602 | "assert-plus": "^1.0.0", 2603 | "bcrypt-pbkdf": "^1.0.0", 2604 | "dashdash": "^1.12.0", 2605 | "ecc-jsbn": "~0.1.1", 2606 | "getpass": "^0.1.1", 2607 | "jsbn": "~0.1.0", 2608 | "safer-buffer": "^2.0.2", 2609 | "tweetnacl": "~0.14.0" 2610 | }, 2611 | "dependencies": { 2612 | "assert-plus": { 2613 | "version": "1.0.0", 2614 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 2615 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", 2616 | "dev": true 2617 | } 2618 | } 2619 | }, 2620 | "stack-trace": { 2621 | "version": "0.0.10", 2622 | "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", 2623 | "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=" 2624 | }, 2625 | "string-length": { 2626 | "version": "1.0.1", 2627 | "resolved": "https://registry.npmjs.org/string-length/-/string-length-1.0.1.tgz", 2628 | "integrity": "sha1-VpcPscOFWOnnC3KL894mmsRa36w=", 2629 | "dev": true, 2630 | "requires": { 2631 | "strip-ansi": "^3.0.0" 2632 | } 2633 | }, 2634 | "string-width": { 2635 | "version": "1.0.2", 2636 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", 2637 | "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", 2638 | "dev": true, 2639 | "requires": { 2640 | "code-point-at": "^1.0.0", 2641 | "is-fullwidth-code-point": "^1.0.0", 2642 | "strip-ansi": "^3.0.0" 2643 | } 2644 | }, 2645 | "stringstream": { 2646 | "version": "0.0.6", 2647 | "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz", 2648 | "integrity": "sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==", 2649 | "dev": true 2650 | }, 2651 | "strip-ansi": { 2652 | "version": "3.0.1", 2653 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", 2654 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", 2655 | "dev": true, 2656 | "requires": { 2657 | "ansi-regex": "^2.0.0" 2658 | } 2659 | }, 2660 | "strip-bom": { 2661 | "version": "2.0.0", 2662 | "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", 2663 | "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", 2664 | "dev": true, 2665 | "requires": { 2666 | "is-utf8": "^0.2.0" 2667 | } 2668 | }, 2669 | "supports-color": { 2670 | "version": "2.0.0", 2671 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 2672 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 2673 | "dev": true 2674 | }, 2675 | "symbol-tree": { 2676 | "version": "3.2.2", 2677 | "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz", 2678 | "integrity": "sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=", 2679 | "dev": true 2680 | }, 2681 | "test-exclude": { 2682 | "version": "4.1.1", 2683 | "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.1.1.tgz", 2684 | "integrity": "sha512-35+Asrsk3XHJDBgf/VRFexPgh3UyETv8IAn/LRTiZjVy6rjPVqdEk8dJcJYBzl1w0XCJM48lvTy8SfEsCWS4nA==", 2685 | "dev": true, 2686 | "requires": { 2687 | "arrify": "^1.0.1", 2688 | "micromatch": "^2.3.11", 2689 | "object-assign": "^4.1.0", 2690 | "read-pkg-up": "^1.0.1", 2691 | "require-main-filename": "^1.0.1" 2692 | } 2693 | }, 2694 | "test-listen": { 2695 | "version": "1.0.2", 2696 | "resolved": "https://registry.npmjs.org/test-listen/-/test-listen-1.0.2.tgz", 2697 | "integrity": "sha1-LzxjgERTilBqjDnMXYRcPSvv9Ug=", 2698 | "dev": true 2699 | }, 2700 | "throat": { 2701 | "version": "3.2.0", 2702 | "resolved": "https://registry.npmjs.org/throat/-/throat-3.2.0.tgz", 2703 | "integrity": "sha512-/EY8VpvlqJ+sFtLPeOgc8Pl7kQVOWv0woD87KTXVHPIAE842FGT+rokxIhe8xIUP1cfgrkt0as0vDLjDiMtr8w==", 2704 | "dev": true 2705 | }, 2706 | "timed-out": { 2707 | "version": "4.0.1", 2708 | "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", 2709 | "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=" 2710 | }, 2711 | "tmpl": { 2712 | "version": "1.0.4", 2713 | "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", 2714 | "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", 2715 | "dev": true 2716 | }, 2717 | "to-fast-properties": { 2718 | "version": "1.0.3", 2719 | "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", 2720 | "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", 2721 | "dev": true 2722 | }, 2723 | "tough-cookie": { 2724 | "version": "2.5.0", 2725 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", 2726 | "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", 2727 | "dev": true, 2728 | "requires": { 2729 | "psl": "^1.1.28", 2730 | "punycode": "^2.1.1" 2731 | }, 2732 | "dependencies": { 2733 | "punycode": { 2734 | "version": "2.1.1", 2735 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", 2736 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", 2737 | "dev": true 2738 | } 2739 | } 2740 | }, 2741 | "tr46": { 2742 | "version": "0.0.3", 2743 | "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", 2744 | "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=", 2745 | "dev": true 2746 | }, 2747 | "trim-right": { 2748 | "version": "1.0.1", 2749 | "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", 2750 | "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", 2751 | "dev": true 2752 | }, 2753 | "tunnel-agent": { 2754 | "version": "0.6.0", 2755 | "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", 2756 | "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", 2757 | "dev": true, 2758 | "requires": { 2759 | "safe-buffer": "^5.0.1" 2760 | } 2761 | }, 2762 | "tweetnacl": { 2763 | "version": "0.14.5", 2764 | "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", 2765 | "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", 2766 | "dev": true 2767 | }, 2768 | "type-check": { 2769 | "version": "0.3.2", 2770 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", 2771 | "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", 2772 | "dev": true, 2773 | "requires": { 2774 | "prelude-ls": "~1.1.2" 2775 | } 2776 | }, 2777 | "uuid": { 2778 | "version": "3.0.0", 2779 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.0.tgz", 2780 | "integrity": "sha1-Zyj8BFnEUNeWqZwxg3VpvfZy1yg=", 2781 | "dev": true 2782 | }, 2783 | "validate-npm-package-license": { 2784 | "version": "3.0.1", 2785 | "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", 2786 | "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", 2787 | "dev": true, 2788 | "requires": { 2789 | "spdx-correct": "~1.0.0", 2790 | "spdx-expression-parse": "~1.0.0" 2791 | } 2792 | }, 2793 | "verror": { 2794 | "version": "1.10.0", 2795 | "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", 2796 | "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", 2797 | "dev": true, 2798 | "requires": { 2799 | "assert-plus": "^1.0.0", 2800 | "core-util-is": "1.0.2", 2801 | "extsprintf": "^1.2.0" 2802 | }, 2803 | "dependencies": { 2804 | "assert-plus": { 2805 | "version": "1.0.0", 2806 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 2807 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", 2808 | "dev": true 2809 | } 2810 | } 2811 | }, 2812 | "walker": { 2813 | "version": "1.0.7", 2814 | "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", 2815 | "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", 2816 | "dev": true, 2817 | "requires": { 2818 | "makeerror": "1.0.x" 2819 | } 2820 | }, 2821 | "watch": { 2822 | "version": "0.10.0", 2823 | "resolved": "https://registry.npmjs.org/watch/-/watch-0.10.0.tgz", 2824 | "integrity": "sha1-d3mLLaD5kQ1ZXxrOWwwiWFIfIdw=", 2825 | "dev": true 2826 | }, 2827 | "webidl-conversions": { 2828 | "version": "4.0.2", 2829 | "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", 2830 | "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", 2831 | "dev": true 2832 | }, 2833 | "whatwg-encoding": { 2834 | "version": "1.0.1", 2835 | "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.1.tgz", 2836 | "integrity": "sha1-PGxFGhmO567FWx7GHQkgxngBpfQ=", 2837 | "dev": true, 2838 | "requires": { 2839 | "iconv-lite": "0.4.13" 2840 | } 2841 | }, 2842 | "whatwg-fetch": { 2843 | "version": "2.0.3", 2844 | "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz", 2845 | "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ=", 2846 | "dev": true 2847 | }, 2848 | "whatwg-url": { 2849 | "version": "4.8.0", 2850 | "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-4.8.0.tgz", 2851 | "integrity": "sha1-0pgaqRSMHgCkHFphMRZqtGg7vMA=", 2852 | "dev": true, 2853 | "requires": { 2854 | "tr46": "~0.0.3", 2855 | "webidl-conversions": "^3.0.0" 2856 | }, 2857 | "dependencies": { 2858 | "webidl-conversions": { 2859 | "version": "3.0.1", 2860 | "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", 2861 | "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=", 2862 | "dev": true 2863 | } 2864 | } 2865 | }, 2866 | "which": { 2867 | "version": "1.3.0", 2868 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", 2869 | "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", 2870 | "dev": true, 2871 | "requires": { 2872 | "isexe": "^2.0.0" 2873 | } 2874 | }, 2875 | "which-module": { 2876 | "version": "1.0.0", 2877 | "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", 2878 | "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", 2879 | "dev": true 2880 | }, 2881 | "wordwrap": { 2882 | "version": "0.0.3", 2883 | "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", 2884 | "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", 2885 | "dev": true 2886 | }, 2887 | "worker-farm": { 2888 | "version": "1.5.0", 2889 | "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.5.0.tgz", 2890 | "integrity": "sha512-DHRiUggxtbruaTwnLDm2/BRDKZIoOYvrgYUj5Bam4fU6Gtvc0FaEyoswFPBjMXAweGW2H4BDNIpy//1yXXuaqQ==", 2891 | "dev": true, 2892 | "requires": { 2893 | "errno": "^0.1.4", 2894 | "xtend": "^4.0.1" 2895 | } 2896 | }, 2897 | "wrap-ansi": { 2898 | "version": "2.1.0", 2899 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", 2900 | "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", 2901 | "dev": true, 2902 | "requires": { 2903 | "string-width": "^1.0.1", 2904 | "strip-ansi": "^3.0.1" 2905 | } 2906 | }, 2907 | "wrappy": { 2908 | "version": "1.0.2", 2909 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 2910 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 2911 | "dev": true 2912 | }, 2913 | "xml-name-validator": { 2914 | "version": "2.0.1", 2915 | "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-2.0.1.tgz", 2916 | "integrity": "sha1-TYuPHszTQZqjYgYb7O9RXh5VljU=", 2917 | "dev": true 2918 | }, 2919 | "xtend": { 2920 | "version": "4.0.1", 2921 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", 2922 | "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", 2923 | "dev": true 2924 | }, 2925 | "y18n": { 2926 | "version": "3.2.1", 2927 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", 2928 | "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", 2929 | "dev": true 2930 | }, 2931 | "yargs": { 2932 | "version": "7.1.0", 2933 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", 2934 | "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", 2935 | "dev": true, 2936 | "requires": { 2937 | "camelcase": "^3.0.0", 2938 | "cliui": "^3.2.0", 2939 | "decamelize": "^1.1.1", 2940 | "get-caller-file": "^1.0.1", 2941 | "os-locale": "^1.4.0", 2942 | "read-pkg-up": "^1.0.1", 2943 | "require-directory": "^2.1.1", 2944 | "require-main-filename": "^1.0.1", 2945 | "set-blocking": "^2.0.0", 2946 | "string-width": "^1.0.2", 2947 | "which-module": "^1.0.0", 2948 | "y18n": "^3.2.1", 2949 | "yargs-parser": "^5.0.0" 2950 | }, 2951 | "dependencies": { 2952 | "camelcase": { 2953 | "version": "3.0.0", 2954 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", 2955 | "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", 2956 | "dev": true 2957 | }, 2958 | "cliui": { 2959 | "version": "3.2.0", 2960 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", 2961 | "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", 2962 | "dev": true, 2963 | "requires": { 2964 | "string-width": "^1.0.1", 2965 | "strip-ansi": "^3.0.1", 2966 | "wrap-ansi": "^2.0.0" 2967 | } 2968 | } 2969 | } 2970 | }, 2971 | "yargs-parser": { 2972 | "version": "5.0.0", 2973 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", 2974 | "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", 2975 | "dev": true, 2976 | "requires": { 2977 | "camelcase": "^3.0.0" 2978 | }, 2979 | "dependencies": { 2980 | "camelcase": { 2981 | "version": "3.0.0", 2982 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", 2983 | "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", 2984 | "dev": true 2985 | } 2986 | } 2987 | } 2988 | } 2989 | } 2990 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "micro-sentry", 3 | "version": "2.0.0", 4 | "description": "Send errors to Sentry's error tracking service", 5 | "main": "src/index.js", 6 | "scripts": { 7 | "test": "jest" 8 | }, 9 | "keywords": [ 10 | "sentry", 11 | "micro" 12 | ], 13 | "author": "Tanmu Labs LLC ", 14 | "license": "MIT", 15 | "dependencies": { 16 | "@hapi/boom": "^8.0.1", 17 | "raven": "^2.6.4" 18 | }, 19 | "devDependencies": { 20 | "isomorphic-fetch": "^2.2.1", 21 | "jest": "^20.0.4", 22 | "test-listen": "^1.0.2" 23 | }, 24 | "peerDependencies": { 25 | "micro": "^9.0.2" 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | const { send } = require("micro"); 2 | const Boom = require("@hapi/boom"); 3 | const Raven = require("raven"); 4 | 5 | module.exports = exports = url => fn => { 6 | if (!url) throw Error("micro-sentry must be initialized with a Sentry DSN."); 7 | 8 | if (!fn || typeof fn !== "function") 9 | throw Error("micro-sentry must be passed a function."); 10 | 11 | Raven.config(url).install(); 12 | return async function(request, response) { 13 | try { 14 | return await fn(request, response); 15 | } catch (error) { 16 | Raven.captureException(error); 17 | let status = response.statusCode; 18 | if (status < 400) status = 500; 19 | const err = Boom.boomify(error, { statusCode: status }); 20 | send( 21 | response, 22 | status, 23 | Object.assign({}, err.output.payload, err.data && { data: err.data }) 24 | ); 25 | } 26 | }; 27 | }; 28 | -------------------------------------------------------------------------------- /test/index.spec.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @jest-environment node 3 | */ 4 | 5 | jest.unmock('raven'); 6 | const Raven = require.requireActual('raven'); 7 | const listen = require('test-listen'); 8 | const fetch = require('isomorphic-fetch'); 9 | const micro = require('micro'); 10 | 11 | const sentry = require('../src'); 12 | 13 | test('throw error if Sentry DSN not provided', () => { 14 | expect(() => sentry()()) 15 | .toThrow('micro-sentry must be initialized with a Sentry DSN.'); 16 | }); 17 | 18 | test('throw error if function is not passed', () => { 19 | expect(() => sentry('test-dsn')()) 20 | .toThrow('micro-sentry must be passed a function.'); 21 | }); 22 | 23 | test('send error to Sentry if configured properly', async () => { 24 | const service = async (request, response) => { 25 | throw Error('This is a test error. No alarm necessary!'); 26 | }; 27 | 28 | const dsn = 'https://key:secret@sentry.io/micro-test'; 29 | const server = micro(sentry(dsn)(service)); 30 | const url = await listen(server); 31 | 32 | Raven.captureException = jest.fn(); 33 | 34 | const response = await fetch(url); 35 | 36 | expect(Raven.captureException).toBeCalled(); 37 | 38 | await server.close(); 39 | }); 40 | 41 | test('do not send to Sentry if no error raised', async () => { 42 | const service = async (request, response) => { 43 | return { status: 'All good in the neighborhood!' }; 44 | }; 45 | const dsn = 'https://key:secret@sentry.io/micro-test'; 46 | const server = micro(sentry(dsn)(service)); 47 | const url = await listen(server); 48 | 49 | Raven.captureException = jest.fn(); 50 | 51 | const response = await fetch(url); 52 | const body = await response.json(); 53 | 54 | expect(body.status).toBe('All good in the neighborhood!'); 55 | 56 | await server.close(); 57 | }); 58 | --------------------------------------------------------------------------------