├── .gitignore ├── LICENSE.md ├── README.md ├── index.js ├── package.json ├── test └── index-test.js └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | npm-debug.* -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2017 Scott Corgan 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 | 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # express-boom 2 | 3 | [Boom](https://www.npmjs.org/package/boom) response objects in Express. 4 | 5 | ## Install 6 | 7 | ``` 8 | npm install express-boom --save 9 | ``` 10 | 11 | ## Usage 12 | 13 | ```js 14 | var express = require('express'); 15 | var boom = require('express-boom'); 16 | 17 | var app = express(); 18 | 19 | app.use(boom()); 20 | 21 | app.use(function (req, res) { 22 | res.boom.notFound(); // Responds with a 404 status code 23 | }); 24 | 25 | app.use(function (req, res) { 26 | // some validation check fail and returns an object : reasons 27 | 28 |  res.boom.badRequest("Validation didn't succeed", reasons); // Responds Boom message + reasons object 29 | }); 30 | 31 | app.listen(4444); 32 | ``` 33 | 34 | For a complete list of methods, see the [Boom docs](https://github.com/hapijs/boom#overview) 35 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | var boom = require('@hapi/boom'); 2 | var helperMethods = ['wrap', 'create']; 3 | 4 | module.exports = function () { 5 | return function (req, res, next) { 6 | if (res.boom) throw new Error('boom already exists on response object'); 7 | 8 | res.boom = {}; 9 | 10 | Object.getOwnPropertyNames(boom).forEach(function (key) { 11 | if (typeof boom[key] !== 'function') return; 12 | 13 | if (helperMethods.indexOf(key) !== -1) { 14 | res.boom[key] = function () { 15 | return boom[key].apply(boom, arguments); 16 | }; 17 | } else { 18 | res.boom[key] = function () { 19 | var boomed = boom[key].apply(boom, arguments); 20 | 21 | var boomedPayloadAndAdditionalResponse = Object.assign(boomed.output.payload, arguments[1]) 22 | 23 | return res.status(boomed.output.statusCode).send(boomedPayloadAndAdditionalResponse); 24 | }; 25 | } 26 | }); 27 | 28 | next(); 29 | }; 30 | }; 31 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "express-boom", 3 | "version": "3.0.0", 4 | "description": "Boom response objects in Express", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "mocha test/index-test.js" 8 | }, 9 | "keywords": [ 10 | "Hapi", 11 | "Boom", 12 | "Express", 13 | "response" 14 | ], 15 | "author": "Scott Corgan", 16 | "license": "MIT", 17 | "dependencies": { 18 | "@hapi/boom": "^7.4.2" 19 | }, 20 | "devDependencies": { 21 | "mocha": "^6.0.1", 22 | "node-mocks-http": "^1.7.3" 23 | }, 24 | "repository": { 25 | "type": "git", 26 | "url": "git://github.com/scottcorgan/express-boom.git" 27 | }, 28 | "bugs": { 29 | "url": "https://github.com/scottcorgan/express-boom/issues" 30 | }, 31 | "homepage": "https://github.com/scottcorgan/express-boom" 32 | } 33 | -------------------------------------------------------------------------------- /test/index-test.js: -------------------------------------------------------------------------------- 1 | var middleware = require('../index'), 2 | httpMocks = require('node-mocks-http'), 3 | req = {}, 4 | res = {} 5 | ; 6 | 7 | describe('Express Boom middleware test', function(){ 8 | context('Verify if the boom module is loaded on the middleware', function() { 9 | beforeEach(function(done) { 10 | 11 | req = httpMocks.createRequest({ 12 | method: 'GET', 13 | url: '/test/path?myid=312', 14 | query: { 15 | myid: '312' 16 | } 17 | }); 18 | res = httpMocks.createResponse(); 19 | 20 | done(); 21 | }); 22 | 23 | it('Should find the module loaded', (done) => { 24 | middleware()(req, res, next => { 25 | if (!res.boom) { 26 | throw new Error('Boom is not loaded on the response'); 27 | } 28 | done(); 29 | }) 30 | }); 31 | 32 | it('Should find the badRequest function', (done) => { 33 | middleware()(req, res, next => { 34 | if (!res.boom.badRequest) { 35 | throw new Error('BadRequest function is not found on the response'); 36 | } 37 | done(); 38 | }) 39 | }); 40 | }); 41 | }); -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@hapi/boom@^7.4.2": 6 | version "7.4.2" 7 | resolved "https://registry.yarnpkg.com/@hapi/boom/-/boom-7.4.2.tgz#c16957cd09796f6c1bfb4031bdc39d66d6d750c3" 8 | integrity sha512-T2CYcTI0AqSvC6YC7keu/fh9LVSMzfoMLharBnPbOwmc+Cexj9joIc5yNDKunaxYq9LPuOwMS0f2B3S1tFQUNw== 9 | dependencies: 10 | "@hapi/hoek" "6.x.x" 11 | 12 | "@hapi/hoek@6.x.x": 13 | version "6.2.4" 14 | resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-6.2.4.tgz#4b95fbaccbfba90185690890bdf1a2fbbda10595" 15 | integrity sha512-HOJ20Kc93DkDVvjwHyHawPwPkX44sIrbXazAUDiUXaY2R9JwQGo2PhFfnQtdrsIe4igjG2fPgMra7NYw7qhy0A== 16 | 17 | accepts@^1.3.7: 18 | version "1.3.7" 19 | resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" 20 | integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== 21 | dependencies: 22 | mime-types "~2.1.24" 23 | negotiator "0.6.2" 24 | 25 | ansi-colors@3.2.3: 26 | version "3.2.3" 27 | resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.3.tgz#57d35b8686e851e2cc04c403f1c00203976a1813" 28 | integrity sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw== 29 | 30 | ansi-regex@^2.0.0: 31 | version "2.1.1" 32 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" 33 | integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= 34 | 35 | ansi-regex@^3.0.0: 36 | version "3.0.0" 37 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" 38 | integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= 39 | 40 | ansi-regex@^4.1.0: 41 | version "4.1.0" 42 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" 43 | integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== 44 | 45 | ansi-styles@^3.2.1: 46 | version "3.2.1" 47 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 48 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 49 | dependencies: 50 | color-convert "^1.9.0" 51 | 52 | argparse@^1.0.7: 53 | version "1.0.10" 54 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" 55 | integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== 56 | dependencies: 57 | sprintf-js "~1.0.2" 58 | 59 | balanced-match@^1.0.0: 60 | version "1.0.0" 61 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 62 | integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= 63 | 64 | brace-expansion@^1.1.7: 65 | version "1.1.11" 66 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 67 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 68 | dependencies: 69 | balanced-match "^1.0.0" 70 | concat-map "0.0.1" 71 | 72 | browser-stdout@1.3.1: 73 | version "1.3.1" 74 | resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" 75 | integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== 76 | 77 | camelcase@^5.0.0: 78 | version "5.3.1" 79 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" 80 | integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== 81 | 82 | chalk@^2.0.1: 83 | version "2.4.2" 84 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 85 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 86 | dependencies: 87 | ansi-styles "^3.2.1" 88 | escape-string-regexp "^1.0.5" 89 | supports-color "^5.3.0" 90 | 91 | cliui@^4.0.0: 92 | version "4.1.0" 93 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" 94 | integrity sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ== 95 | dependencies: 96 | string-width "^2.1.1" 97 | strip-ansi "^4.0.0" 98 | wrap-ansi "^2.0.0" 99 | 100 | code-point-at@^1.0.0: 101 | version "1.1.0" 102 | resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" 103 | integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= 104 | 105 | color-convert@^1.9.0: 106 | version "1.9.3" 107 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 108 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 109 | dependencies: 110 | color-name "1.1.3" 111 | 112 | color-name@1.1.3: 113 | version "1.1.3" 114 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 115 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 116 | 117 | concat-map@0.0.1: 118 | version "0.0.1" 119 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 120 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 121 | 122 | cross-spawn@^6.0.0: 123 | version "6.0.5" 124 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" 125 | integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== 126 | dependencies: 127 | nice-try "^1.0.4" 128 | path-key "^2.0.1" 129 | semver "^5.5.0" 130 | shebang-command "^1.2.0" 131 | which "^1.2.9" 132 | 133 | debug@3.2.6: 134 | version "3.2.6" 135 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" 136 | integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== 137 | dependencies: 138 | ms "^2.1.1" 139 | 140 | decamelize@^1.2.0: 141 | version "1.2.0" 142 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" 143 | integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= 144 | 145 | define-properties@^1.1.2: 146 | version "1.1.3" 147 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" 148 | integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== 149 | dependencies: 150 | object-keys "^1.0.12" 151 | 152 | depd@^1.1.0: 153 | version "1.1.2" 154 | resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" 155 | integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= 156 | 157 | diff@3.5.0: 158 | version "3.5.0" 159 | resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" 160 | integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== 161 | 162 | emoji-regex@^7.0.1: 163 | version "7.0.3" 164 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" 165 | integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== 166 | 167 | end-of-stream@^1.1.0: 168 | version "1.4.1" 169 | resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" 170 | integrity sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q== 171 | dependencies: 172 | once "^1.4.0" 173 | 174 | es-abstract@^1.5.1: 175 | version "1.13.0" 176 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9" 177 | integrity sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg== 178 | dependencies: 179 | es-to-primitive "^1.2.0" 180 | function-bind "^1.1.1" 181 | has "^1.0.3" 182 | is-callable "^1.1.4" 183 | is-regex "^1.0.4" 184 | object-keys "^1.0.12" 185 | 186 | es-to-primitive@^1.2.0: 187 | version "1.2.0" 188 | resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377" 189 | integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg== 190 | dependencies: 191 | is-callable "^1.1.4" 192 | is-date-object "^1.0.1" 193 | is-symbol "^1.0.2" 194 | 195 | escape-string-regexp@1.0.5, escape-string-regexp@^1.0.5: 196 | version "1.0.5" 197 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 198 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 199 | 200 | esprima@^4.0.0: 201 | version "4.0.1" 202 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" 203 | integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== 204 | 205 | execa@^1.0.0: 206 | version "1.0.0" 207 | resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" 208 | integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== 209 | dependencies: 210 | cross-spawn "^6.0.0" 211 | get-stream "^4.0.0" 212 | is-stream "^1.1.0" 213 | npm-run-path "^2.0.0" 214 | p-finally "^1.0.0" 215 | signal-exit "^3.0.0" 216 | strip-eof "^1.0.0" 217 | 218 | find-up@3.0.0, find-up@^3.0.0: 219 | version "3.0.0" 220 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" 221 | integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== 222 | dependencies: 223 | locate-path "^3.0.0" 224 | 225 | flat@^4.1.0: 226 | version "4.1.0" 227 | resolved "https://registry.yarnpkg.com/flat/-/flat-4.1.0.tgz#090bec8b05e39cba309747f1d588f04dbaf98db2" 228 | integrity sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw== 229 | dependencies: 230 | is-buffer "~2.0.3" 231 | 232 | fresh@^0.5.2: 233 | version "0.5.2" 234 | resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" 235 | integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= 236 | 237 | fs.realpath@^1.0.0: 238 | version "1.0.0" 239 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 240 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 241 | 242 | function-bind@^1.1.1: 243 | version "1.1.1" 244 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 245 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 246 | 247 | get-caller-file@^1.0.1: 248 | version "1.0.3" 249 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" 250 | integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== 251 | 252 | get-caller-file@^2.0.1: 253 | version "2.0.5" 254 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" 255 | integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== 256 | 257 | get-stream@^4.0.0: 258 | version "4.1.0" 259 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" 260 | integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== 261 | dependencies: 262 | pump "^3.0.0" 263 | 264 | glob@7.1.3: 265 | version "7.1.3" 266 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" 267 | integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ== 268 | dependencies: 269 | fs.realpath "^1.0.0" 270 | inflight "^1.0.4" 271 | inherits "2" 272 | minimatch "^3.0.4" 273 | once "^1.3.0" 274 | path-is-absolute "^1.0.0" 275 | 276 | growl@1.10.5: 277 | version "1.10.5" 278 | resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" 279 | integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== 280 | 281 | has-flag@^3.0.0: 282 | version "3.0.0" 283 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 284 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 285 | 286 | has-symbols@^1.0.0: 287 | version "1.0.0" 288 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" 289 | integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= 290 | 291 | has@^1.0.1, has@^1.0.3: 292 | version "1.0.3" 293 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 294 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 295 | dependencies: 296 | function-bind "^1.1.1" 297 | 298 | he@1.2.0: 299 | version "1.2.0" 300 | resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" 301 | integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== 302 | 303 | inflight@^1.0.4: 304 | version "1.0.6" 305 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 306 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= 307 | dependencies: 308 | once "^1.3.0" 309 | wrappy "1" 310 | 311 | inherits@2: 312 | version "2.0.4" 313 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 314 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 315 | 316 | invert-kv@^2.0.0: 317 | version "2.0.0" 318 | resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" 319 | integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== 320 | 321 | is-buffer@~2.0.3: 322 | version "2.0.3" 323 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.3.tgz#4ecf3fcf749cbd1e472689e109ac66261a25e725" 324 | integrity sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw== 325 | 326 | is-callable@^1.1.4: 327 | version "1.1.4" 328 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" 329 | integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== 330 | 331 | is-date-object@^1.0.1: 332 | version "1.0.1" 333 | resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" 334 | integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= 335 | 336 | is-fullwidth-code-point@^1.0.0: 337 | version "1.0.0" 338 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" 339 | integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= 340 | dependencies: 341 | number-is-nan "^1.0.0" 342 | 343 | is-fullwidth-code-point@^2.0.0: 344 | version "2.0.0" 345 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" 346 | integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= 347 | 348 | is-regex@^1.0.4: 349 | version "1.0.4" 350 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" 351 | integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE= 352 | dependencies: 353 | has "^1.0.1" 354 | 355 | is-stream@^1.1.0: 356 | version "1.1.0" 357 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" 358 | integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= 359 | 360 | is-symbol@^1.0.2: 361 | version "1.0.2" 362 | resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38" 363 | integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw== 364 | dependencies: 365 | has-symbols "^1.0.0" 366 | 367 | isexe@^2.0.0: 368 | version "2.0.0" 369 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 370 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= 371 | 372 | js-yaml@3.13.1: 373 | version "3.13.1" 374 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" 375 | integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== 376 | dependencies: 377 | argparse "^1.0.7" 378 | esprima "^4.0.0" 379 | 380 | lcid@^2.0.0: 381 | version "2.0.0" 382 | resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" 383 | integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA== 384 | dependencies: 385 | invert-kv "^2.0.0" 386 | 387 | locate-path@^3.0.0: 388 | version "3.0.0" 389 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" 390 | integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== 391 | dependencies: 392 | p-locate "^3.0.0" 393 | path-exists "^3.0.0" 394 | 395 | lodash@^4.17.11: 396 | version "4.17.13" 397 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.13.tgz#0bdc3a6adc873d2f4e0c4bac285df91b64fc7b93" 398 | integrity sha512-vm3/XWXfWtRua0FkUyEHBZy8kCPjErNBT9fJx8Zvs+U6zjqPbTUOpkaoum3O5uiA8sm+yNMHXfYkTUHFoMxFNA== 399 | 400 | log-symbols@2.2.0: 401 | version "2.2.0" 402 | resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" 403 | integrity sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg== 404 | dependencies: 405 | chalk "^2.0.1" 406 | 407 | map-age-cleaner@^0.1.1: 408 | version "0.1.3" 409 | resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" 410 | integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== 411 | dependencies: 412 | p-defer "^1.0.0" 413 | 414 | media-typer@0.3.0: 415 | version "0.3.0" 416 | resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" 417 | integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= 418 | 419 | mem@^4.0.0: 420 | version "4.3.0" 421 | resolved "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178" 422 | integrity sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w== 423 | dependencies: 424 | map-age-cleaner "^0.1.1" 425 | mimic-fn "^2.0.0" 426 | p-is-promise "^2.0.0" 427 | 428 | merge-descriptors@^1.0.1: 429 | version "1.0.1" 430 | resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" 431 | integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= 432 | 433 | methods@^1.1.2: 434 | version "1.1.2" 435 | resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" 436 | integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= 437 | 438 | mime-db@1.40.0: 439 | version "1.40.0" 440 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz#a65057e998db090f732a68f6c276d387d4126c32" 441 | integrity sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA== 442 | 443 | mime-types@~2.1.24: 444 | version "2.1.24" 445 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81" 446 | integrity sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ== 447 | dependencies: 448 | mime-db "1.40.0" 449 | 450 | mime@^1.3.4: 451 | version "1.6.0" 452 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" 453 | integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== 454 | 455 | mimic-fn@^2.0.0: 456 | version "2.1.0" 457 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" 458 | integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== 459 | 460 | minimatch@3.0.4, minimatch@^3.0.4: 461 | version "3.0.4" 462 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 463 | integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== 464 | dependencies: 465 | brace-expansion "^1.1.7" 466 | 467 | minimist@0.0.8: 468 | version "0.0.8" 469 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 470 | integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= 471 | 472 | mkdirp@0.5.1: 473 | version "0.5.1" 474 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 475 | integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= 476 | dependencies: 477 | minimist "0.0.8" 478 | 479 | mocha@^6.0.1: 480 | version "6.1.4" 481 | resolved "https://registry.yarnpkg.com/mocha/-/mocha-6.1.4.tgz#e35fada242d5434a7e163d555c705f6875951640" 482 | integrity sha512-PN8CIy4RXsIoxoFJzS4QNnCH4psUCPWc4/rPrst/ecSJJbLBkubMiyGCP2Kj/9YnWbotFqAoeXyXMucj7gwCFg== 483 | dependencies: 484 | ansi-colors "3.2.3" 485 | browser-stdout "1.3.1" 486 | debug "3.2.6" 487 | diff "3.5.0" 488 | escape-string-regexp "1.0.5" 489 | find-up "3.0.0" 490 | glob "7.1.3" 491 | growl "1.10.5" 492 | he "1.2.0" 493 | js-yaml "3.13.1" 494 | log-symbols "2.2.0" 495 | minimatch "3.0.4" 496 | mkdirp "0.5.1" 497 | ms "2.1.1" 498 | node-environment-flags "1.0.5" 499 | object.assign "4.1.0" 500 | strip-json-comments "2.0.1" 501 | supports-color "6.0.0" 502 | which "1.3.1" 503 | wide-align "1.1.3" 504 | yargs "13.2.2" 505 | yargs-parser "13.0.0" 506 | yargs-unparser "1.5.0" 507 | 508 | ms@2.1.1: 509 | version "2.1.1" 510 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" 511 | integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== 512 | 513 | ms@^2.1.1: 514 | version "2.1.2" 515 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 516 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 517 | 518 | negotiator@0.6.2: 519 | version "0.6.2" 520 | resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" 521 | integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== 522 | 523 | nice-try@^1.0.4: 524 | version "1.0.5" 525 | resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" 526 | integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== 527 | 528 | node-environment-flags@1.0.5: 529 | version "1.0.5" 530 | resolved "https://registry.yarnpkg.com/node-environment-flags/-/node-environment-flags-1.0.5.tgz#fa930275f5bf5dae188d6192b24b4c8bbac3d76a" 531 | integrity sha512-VNYPRfGfmZLx0Ye20jWzHUjyTW/c+6Wq+iLhDzUI4XmhrDd9l/FozXV3F2xOaXjvp0co0+v1YSR3CMP6g+VvLQ== 532 | dependencies: 533 | object.getownpropertydescriptors "^2.0.3" 534 | semver "^5.7.0" 535 | 536 | node-mocks-http@^1.7.3: 537 | version "1.7.6" 538 | resolved "https://registry.yarnpkg.com/node-mocks-http/-/node-mocks-http-1.7.6.tgz#b5c978d73165179a218bc9d4e3bbe73fa8bedd89" 539 | integrity sha512-ZWbZ5HEEAoVZbAYM8KHezx0v66Te3klg/yhAmdJJ0ULWQAkSqPStEzqSjONj4zRZOrTWqsHnI6nHeJxw46gj6Q== 540 | dependencies: 541 | accepts "^1.3.7" 542 | depd "^1.1.0" 543 | fresh "^0.5.2" 544 | merge-descriptors "^1.0.1" 545 | methods "^1.1.2" 546 | mime "^1.3.4" 547 | parseurl "^1.3.3" 548 | range-parser "^1.2.0" 549 | type-is "^1.6.18" 550 | 551 | npm-run-path@^2.0.0: 552 | version "2.0.2" 553 | resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" 554 | integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= 555 | dependencies: 556 | path-key "^2.0.0" 557 | 558 | number-is-nan@^1.0.0: 559 | version "1.0.1" 560 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" 561 | integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= 562 | 563 | object-keys@^1.0.11, object-keys@^1.0.12: 564 | version "1.1.1" 565 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" 566 | integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== 567 | 568 | object.assign@4.1.0: 569 | version "4.1.0" 570 | resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" 571 | integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== 572 | dependencies: 573 | define-properties "^1.1.2" 574 | function-bind "^1.1.1" 575 | has-symbols "^1.0.0" 576 | object-keys "^1.0.11" 577 | 578 | object.getownpropertydescriptors@^2.0.3: 579 | version "2.0.3" 580 | resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" 581 | integrity sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY= 582 | dependencies: 583 | define-properties "^1.1.2" 584 | es-abstract "^1.5.1" 585 | 586 | once@^1.3.0, once@^1.3.1, once@^1.4.0: 587 | version "1.4.0" 588 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 589 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 590 | dependencies: 591 | wrappy "1" 592 | 593 | os-locale@^3.0.0, os-locale@^3.1.0: 594 | version "3.1.0" 595 | resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" 596 | integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q== 597 | dependencies: 598 | execa "^1.0.0" 599 | lcid "^2.0.0" 600 | mem "^4.0.0" 601 | 602 | p-defer@^1.0.0: 603 | version "1.0.0" 604 | resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" 605 | integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= 606 | 607 | p-finally@^1.0.0: 608 | version "1.0.0" 609 | resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" 610 | integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= 611 | 612 | p-is-promise@^2.0.0: 613 | version "2.1.0" 614 | resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e" 615 | integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg== 616 | 617 | p-limit@^2.0.0: 618 | version "2.2.0" 619 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.0.tgz#417c9941e6027a9abcba5092dd2904e255b5fbc2" 620 | integrity sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ== 621 | dependencies: 622 | p-try "^2.0.0" 623 | 624 | p-locate@^3.0.0: 625 | version "3.0.0" 626 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" 627 | integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== 628 | dependencies: 629 | p-limit "^2.0.0" 630 | 631 | p-try@^2.0.0: 632 | version "2.2.0" 633 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" 634 | integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== 635 | 636 | parseurl@^1.3.3: 637 | version "1.3.3" 638 | resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" 639 | integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== 640 | 641 | path-exists@^3.0.0: 642 | version "3.0.0" 643 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" 644 | integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= 645 | 646 | path-is-absolute@^1.0.0: 647 | version "1.0.1" 648 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 649 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 650 | 651 | path-key@^2.0.0, path-key@^2.0.1: 652 | version "2.0.1" 653 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" 654 | integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= 655 | 656 | pump@^3.0.0: 657 | version "3.0.0" 658 | resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" 659 | integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== 660 | dependencies: 661 | end-of-stream "^1.1.0" 662 | once "^1.3.1" 663 | 664 | range-parser@^1.2.0: 665 | version "1.2.1" 666 | resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" 667 | integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== 668 | 669 | require-directory@^2.1.1: 670 | version "2.1.1" 671 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" 672 | integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= 673 | 674 | require-main-filename@^1.0.1: 675 | version "1.0.1" 676 | resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" 677 | integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= 678 | 679 | require-main-filename@^2.0.0: 680 | version "2.0.0" 681 | resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" 682 | integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== 683 | 684 | semver@^5.5.0, semver@^5.7.0: 685 | version "5.7.0" 686 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b" 687 | integrity sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA== 688 | 689 | set-blocking@^2.0.0: 690 | version "2.0.0" 691 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" 692 | integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= 693 | 694 | shebang-command@^1.2.0: 695 | version "1.2.0" 696 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" 697 | integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= 698 | dependencies: 699 | shebang-regex "^1.0.0" 700 | 701 | shebang-regex@^1.0.0: 702 | version "1.0.0" 703 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" 704 | integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= 705 | 706 | signal-exit@^3.0.0: 707 | version "3.0.2" 708 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" 709 | integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= 710 | 711 | sprintf-js@~1.0.2: 712 | version "1.0.3" 713 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 714 | integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= 715 | 716 | string-width@^1.0.1: 717 | version "1.0.2" 718 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" 719 | integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= 720 | dependencies: 721 | code-point-at "^1.0.0" 722 | is-fullwidth-code-point "^1.0.0" 723 | strip-ansi "^3.0.0" 724 | 725 | "string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.1: 726 | version "2.1.1" 727 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" 728 | integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== 729 | dependencies: 730 | is-fullwidth-code-point "^2.0.0" 731 | strip-ansi "^4.0.0" 732 | 733 | string-width@^3.0.0: 734 | version "3.1.0" 735 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" 736 | integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== 737 | dependencies: 738 | emoji-regex "^7.0.1" 739 | is-fullwidth-code-point "^2.0.0" 740 | strip-ansi "^5.1.0" 741 | 742 | strip-ansi@^3.0.0, strip-ansi@^3.0.1: 743 | version "3.0.1" 744 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 745 | integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= 746 | dependencies: 747 | ansi-regex "^2.0.0" 748 | 749 | strip-ansi@^4.0.0: 750 | version "4.0.0" 751 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" 752 | integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= 753 | dependencies: 754 | ansi-regex "^3.0.0" 755 | 756 | strip-ansi@^5.1.0: 757 | version "5.2.0" 758 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" 759 | integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== 760 | dependencies: 761 | ansi-regex "^4.1.0" 762 | 763 | strip-eof@^1.0.0: 764 | version "1.0.0" 765 | resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" 766 | integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= 767 | 768 | strip-json-comments@2.0.1: 769 | version "2.0.1" 770 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" 771 | integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= 772 | 773 | supports-color@6.0.0: 774 | version "6.0.0" 775 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.0.0.tgz#76cfe742cf1f41bb9b1c29ad03068c05b4c0e40a" 776 | integrity sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg== 777 | dependencies: 778 | has-flag "^3.0.0" 779 | 780 | supports-color@^5.3.0: 781 | version "5.5.0" 782 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 783 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 784 | dependencies: 785 | has-flag "^3.0.0" 786 | 787 | type-is@^1.6.18: 788 | version "1.6.18" 789 | resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" 790 | integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== 791 | dependencies: 792 | media-typer "0.3.0" 793 | mime-types "~2.1.24" 794 | 795 | which-module@^2.0.0: 796 | version "2.0.0" 797 | resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" 798 | integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= 799 | 800 | which@1.3.1, which@^1.2.9: 801 | version "1.3.1" 802 | resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" 803 | integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== 804 | dependencies: 805 | isexe "^2.0.0" 806 | 807 | wide-align@1.1.3: 808 | version "1.1.3" 809 | resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" 810 | integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== 811 | dependencies: 812 | string-width "^1.0.2 || 2" 813 | 814 | wrap-ansi@^2.0.0: 815 | version "2.1.0" 816 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" 817 | integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= 818 | dependencies: 819 | string-width "^1.0.1" 820 | strip-ansi "^3.0.1" 821 | 822 | wrappy@1: 823 | version "1.0.2" 824 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 825 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 826 | 827 | "y18n@^3.2.1 || ^4.0.0", y18n@^4.0.0: 828 | version "4.0.0" 829 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" 830 | integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== 831 | 832 | yargs-parser@13.0.0: 833 | version "13.0.0" 834 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.0.0.tgz#3fc44f3e76a8bdb1cc3602e860108602e5ccde8b" 835 | integrity sha512-w2LXjoL8oRdRQN+hOyppuXs+V/fVAYtpcrRxZuF7Kt/Oc+Jr2uAcVntaUTNT6w5ihoWfFDpNY8CPx1QskxZ/pw== 836 | dependencies: 837 | camelcase "^5.0.0" 838 | decamelize "^1.2.0" 839 | 840 | yargs-parser@^11.1.1: 841 | version "11.1.1" 842 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" 843 | integrity sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ== 844 | dependencies: 845 | camelcase "^5.0.0" 846 | decamelize "^1.2.0" 847 | 848 | yargs-parser@^13.0.0: 849 | version "13.1.1" 850 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.1.tgz#d26058532aa06d365fe091f6a1fc06b2f7e5eca0" 851 | integrity sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ== 852 | dependencies: 853 | camelcase "^5.0.0" 854 | decamelize "^1.2.0" 855 | 856 | yargs-unparser@1.5.0: 857 | version "1.5.0" 858 | resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-1.5.0.tgz#f2bb2a7e83cbc87bb95c8e572828a06c9add6e0d" 859 | integrity sha512-HK25qidFTCVuj/D1VfNiEndpLIeJN78aqgR23nL3y4N0U/91cOAzqfHlF8n2BvoNDcZmJKin3ddNSvOxSr8flw== 860 | dependencies: 861 | flat "^4.1.0" 862 | lodash "^4.17.11" 863 | yargs "^12.0.5" 864 | 865 | yargs@13.2.2: 866 | version "13.2.2" 867 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.2.2.tgz#0c101f580ae95cea7f39d927e7770e3fdc97f993" 868 | integrity sha512-WyEoxgyTD3w5XRpAQNYUB9ycVH/PQrToaTXdYXRdOXvEy1l19br+VJsc0vcO8PTGg5ro/l/GY7F/JMEBmI0BxA== 869 | dependencies: 870 | cliui "^4.0.0" 871 | find-up "^3.0.0" 872 | get-caller-file "^2.0.1" 873 | os-locale "^3.1.0" 874 | require-directory "^2.1.1" 875 | require-main-filename "^2.0.0" 876 | set-blocking "^2.0.0" 877 | string-width "^3.0.0" 878 | which-module "^2.0.0" 879 | y18n "^4.0.0" 880 | yargs-parser "^13.0.0" 881 | 882 | yargs@^12.0.5: 883 | version "12.0.5" 884 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" 885 | integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw== 886 | dependencies: 887 | cliui "^4.0.0" 888 | decamelize "^1.2.0" 889 | find-up "^3.0.0" 890 | get-caller-file "^1.0.1" 891 | os-locale "^3.0.0" 892 | require-directory "^2.1.1" 893 | require-main-filename "^1.0.1" 894 | set-blocking "^2.0.0" 895 | string-width "^2.0.0" 896 | which-module "^2.0.0" 897 | y18n "^3.2.1 || ^4.0.0" 898 | yargs-parser "^11.1.1" 899 | --------------------------------------------------------------------------------