├── package.json ├── .gitignore ├── serverless.yml ├── handler.js ├── twitter.js ├── getLatestArticles.js ├── README.md └── yarn.lock /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "axios": "^0.18.0", 4 | "twit": "^2.2.11", 5 | "x-ray": "^2.3.3" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # package directories 2 | node_modules 3 | jspm_packages 4 | 5 | # Serverless directories 6 | .serverless 7 | 8 | # Environment variables 9 | env.yml -------------------------------------------------------------------------------- /serverless.yml: -------------------------------------------------------------------------------- 1 | service: TheReactDev 2 | 3 | provider: 4 | name: aws 5 | runtime: nodejs8.10 6 | environment: ${file(env.yml)} 7 | 8 | functions: 9 | scrapArticlesAndTweet: 10 | handler: handler.scrapArticlesAndTweet 11 | events: 12 | - schedule: rate(2 minutes) 13 | -------------------------------------------------------------------------------- /handler.js: -------------------------------------------------------------------------------- 1 | "use strict" 2 | 3 | const axios = require("axios") 4 | 5 | const getLatestDevArticles = require("./getLatestArticles") 6 | const { getRecentTweets, tweet, isPublished, format } = require("./twitter") 7 | 8 | const sendToTelegram = async text => 9 | axios.post( 10 | `https://api.telegram.org/bot${process.env.telegram_bot_token}/sendMessage`, 11 | { chat_id: process.env.telegram_chat_id, text } 12 | ) 13 | 14 | module.exports.scrapArticlesAndTweet = async () => { 15 | const articles = await getLatestDevArticles(process.env.dev_tag) 16 | const recentTweets = await getRecentTweets( 17 | process.env.twitter_bot_screen_name 18 | ) 19 | 20 | for (article of articles) { 21 | if (!isPublished(article, recentTweets)) { 22 | const data = await tweet(format(article)) 23 | const log = `Tweeted ${article.title} on ${ 24 | data.id 25 | } at ${new Date().toISOString()}` 26 | sendToTelegram(log) 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /twitter.js: -------------------------------------------------------------------------------- 1 | const Twit = require("twit") 2 | const T = Twit({ 3 | consumer_key: process.env.twitter_consumer_key, 4 | consumer_secret: process.env.twitter_consumer_secret, 5 | access_token: process.env.twitter_access_token, 6 | access_token_secret: process.env.twitter_access_token_secret 7 | }) 8 | 9 | module.exports = { 10 | getRecentTweets: async () => 11 | T.get("statuses/user_timeline", { 12 | screen_name: process.env.twitter_bot_screen_name, 13 | trim_user: true, 14 | tweet_mode: "extended" 15 | }).then(res => res.data), 16 | tweet: async status => T.post("statuses/update", { status }), 17 | isPublished: (article, tweets) => { 18 | const tweet = tweets 19 | .map(tweet => tweet.entities.urls[0]) 20 | .find(entity => entity.expanded_url === article.link) 21 | return !!tweet 22 | }, 23 | format: article => 24 | `"${article.title}" by ${article.author.twitterHandle || 25 | article.author.name}\n#DEVcommunity ${article.tags.join(" ")}\n${ 26 | article.link 27 | }` 28 | } 29 | -------------------------------------------------------------------------------- /getLatestArticles.js: -------------------------------------------------------------------------------- 1 | const Xray = require("x-ray") 2 | const URL = require("url").URL 3 | 4 | const X = Xray({ 5 | filters: { 6 | trim: value => value.trim(), 7 | parseName: value => value.split("・")[0] 8 | } 9 | }) 10 | 11 | const getLatestArticles = async tag => { 12 | const articles = await X( 13 | `https://dev.to/t/${tag}/latest`, 14 | "#substories .single-article", 15 | [ 16 | { 17 | title: ".index-article-link .content h3 | trim", 18 | link: ".index-article-link@href", 19 | tags: [".tags .tag"], 20 | author: { 21 | name: "h4 a | parseName", 22 | link: ".small-pic-link-wrapper@href" 23 | } 24 | } 25 | ] 26 | ).then(articles => articles.filter(article => article.title)) 27 | 28 | // clean tags out of title 29 | for (article of articles) { 30 | article.tags.forEach(tag => { 31 | if (article.title.indexOf(tag) > -1) { 32 | article.title = article.title.split(tag)[1].trim() 33 | } 34 | }) 35 | } 36 | 37 | // get twitter handle 38 | for (article of articles) { 39 | const socialLinks = await X(article.author.link, [ 40 | ".profile-details .social a@href" 41 | ]) 42 | const twitter = socialLinks.find(url => url.includes("twitter.com/")) 43 | if (twitter) { 44 | const twitterURL = new URL(twitter) 45 | article.author.twitterHandle = `@${twitterURL.pathname.substring(1)}` 46 | } 47 | } 48 | 49 | return articles 50 | } 51 | 52 | module.exports = getLatestArticles 53 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # TheReactDev 2 | 3 | The function that feeds @TheReactDev twitter. 4 | 5 | This project was inspired by 6 | [this article](https://dev.to/danielelkington/a-bot-that-tweets-new-dev-articles-about-vue-4p5a). 7 | 8 | This function depends on a few environment variables: 9 | 10 | - `dev_tag`: the dev.to tag to which the crawler will get the latest articles. 11 | - `twitter_bot_screen_name`: the name of the account that will tweet the 12 | articles. 13 | - Twitter keys: 14 | - `twitter_consumer_key` 15 | - `twitter_consumer_secret` 16 | - `twitter_access_token` 17 | - `twitter_access_token_secret` 18 | - `telegram_bot_token`: the telegram bot who's going to log messages for 19 | maintenance/debug purposes 20 | - `telegram_chat_id`: the channel where the bot will send messages 21 | 22 | You just need to create a `env.yml` file and put those values in, like this: 23 | 24 | ```yml 25 | dev_tag: "react" 26 | twitter_bot_screen_name: "NameOfTheTwitterAccount" 27 | twitter_consumer_key: "..." 28 | twitter_consumer_secret: "..." 29 | twitter_access_token: "..." 30 | twitter_access_token_secret: "..." 31 | telegram_bot_token: "..." 32 | telegram_chat_id: "..." 33 | ``` 34 | 35 | It's worth noting that I used telegram here because it was simple and it 36 | probably is the fastest way I can see a message in case things go wrong. 37 | Probably sentry.io would be more 38 | 39 | I started using azure, like 40 | [twitter-vue-dev](http://github.com/danielelkington/twitter-vue-dev/), but after 41 | a few hours of headaches I'm switching to the serverless framework with aws. 42 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | abab@^1.0.0: 6 | version "1.0.4" 7 | resolved "https://registry.yarnpkg.com/abab/-/abab-1.0.4.tgz#5faad9c2c07f60dd76770f71cf025b62a63cfd4e" 8 | integrity sha1-X6rZwsB/YN12dw9xzwJbYqY8/U4= 9 | 10 | accepts@^1.2.5: 11 | version "1.3.5" 12 | resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.5.tgz#eb777df6011723a3b14e8a72c0805c8e86746bd2" 13 | integrity sha1-63d99gEXI6OxTopywIBcjoZ0a9I= 14 | dependencies: 15 | mime-types "~2.1.18" 16 | negotiator "0.6.1" 17 | 18 | acorn-globals@^1.0.4: 19 | version "1.0.9" 20 | resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-1.0.9.tgz#55bb5e98691507b74579d0513413217c380c54cf" 21 | integrity sha1-VbtemGkVB7dFedBRNBMhfDgMVM8= 22 | dependencies: 23 | acorn "^2.1.0" 24 | 25 | acorn@^2.1.0, acorn@^2.4.0: 26 | version "2.7.0" 27 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-2.7.0.tgz#ab6e7d9d886aaca8b085bc3312b79a198433f0e7" 28 | integrity sha1-q259nYhqrKiwhbwzEreaGYQz8Oc= 29 | 30 | ajv@^6.5.5: 31 | version "6.10.0" 32 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.0.tgz#90d0d54439da587cd7e843bfb7045f50bd22bdf1" 33 | integrity sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg== 34 | dependencies: 35 | fast-deep-equal "^2.0.1" 36 | fast-json-stable-stringify "^2.0.0" 37 | json-schema-traverse "^0.4.1" 38 | uri-js "^4.2.2" 39 | 40 | ansi-regex@^2.0.0: 41 | version "2.1.1" 42 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" 43 | integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= 44 | 45 | ansi-styles@^2.2.1: 46 | version "2.2.1" 47 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" 48 | integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= 49 | 50 | asn1@~0.2.3: 51 | version "0.2.4" 52 | resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" 53 | integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== 54 | dependencies: 55 | safer-buffer "~2.1.0" 56 | 57 | assert-plus@1.0.0, assert-plus@^1.0.0: 58 | version "1.0.0" 59 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" 60 | integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= 61 | 62 | assert@^1.3.0: 63 | version "1.4.1" 64 | resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" 65 | integrity sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE= 66 | dependencies: 67 | util "0.10.3" 68 | 69 | asynckit@^0.4.0: 70 | version "0.4.0" 71 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 72 | integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= 73 | 74 | aws-sign2@~0.7.0: 75 | version "0.7.0" 76 | resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" 77 | integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= 78 | 79 | aws4@^1.8.0: 80 | version "1.8.0" 81 | resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" 82 | integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ== 83 | 84 | axios@^0.18.0: 85 | version "0.18.0" 86 | resolved "https://registry.yarnpkg.com/axios/-/axios-0.18.0.tgz#32d53e4851efdc0a11993b6cd000789d70c05102" 87 | integrity sha1-MtU+SFHv3AoRmTts0AB4nXDAUQI= 88 | dependencies: 89 | follow-redirects "^1.3.0" 90 | is-buffer "^1.1.5" 91 | 92 | batch@~0.5.2: 93 | version "0.5.3" 94 | resolved "https://registry.yarnpkg.com/batch/-/batch-0.5.3.tgz#3f3414f380321743bfc1042f9a83ff1d5824d464" 95 | integrity sha1-PzQU84AyF0O/wQQvmoP/HVgk1GQ= 96 | 97 | bcrypt-pbkdf@^1.0.0: 98 | version "1.0.2" 99 | resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" 100 | integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= 101 | dependencies: 102 | tweetnacl "^0.14.3" 103 | 104 | bluebird@^3.1.5, bluebird@^3.4.7: 105 | version "3.5.3" 106 | resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.3.tgz#7d01c6f9616c9a51ab0f8c549a79dfe6ec33efa7" 107 | integrity sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw== 108 | 109 | boolbase@~1.0.0: 110 | version "1.0.0" 111 | resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" 112 | integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= 113 | 114 | caseless@~0.12.0: 115 | version "0.12.0" 116 | resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" 117 | integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= 118 | 119 | chalk@~1.1.1: 120 | version "1.1.3" 121 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" 122 | integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= 123 | dependencies: 124 | ansi-styles "^2.2.1" 125 | escape-string-regexp "^1.0.2" 126 | has-ansi "^2.0.0" 127 | strip-ansi "^3.0.0" 128 | supports-color "^2.0.0" 129 | 130 | cheerio@^0.22.0: 131 | version "0.22.0" 132 | resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-0.22.0.tgz#a9baa860a3f9b595a6b81b1a86873121ed3a269e" 133 | integrity sha1-qbqoYKP5tZWmuBsahocxIe06Jp4= 134 | dependencies: 135 | css-select "~1.2.0" 136 | dom-serializer "~0.1.0" 137 | entities "~1.1.1" 138 | htmlparser2 "^3.9.1" 139 | lodash.assignin "^4.0.9" 140 | lodash.bind "^4.1.4" 141 | lodash.defaults "^4.0.1" 142 | lodash.filter "^4.4.0" 143 | lodash.flatten "^4.2.0" 144 | lodash.foreach "^4.3.0" 145 | lodash.map "^4.4.0" 146 | lodash.merge "^4.4.0" 147 | lodash.pick "^4.2.1" 148 | lodash.reduce "^4.4.0" 149 | lodash.reject "^4.4.0" 150 | lodash.some "^4.4.0" 151 | 152 | cheerio@~0.20.0: 153 | version "0.20.0" 154 | resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-0.20.0.tgz#5c710f2bab95653272842ba01c6ea61b3545ec35" 155 | integrity sha1-XHEPK6uVZTJyhCugHG6mGzVF7DU= 156 | dependencies: 157 | css-select "~1.2.0" 158 | dom-serializer "~0.1.0" 159 | entities "~1.1.1" 160 | htmlparser2 "~3.8.1" 161 | lodash "^4.1.0" 162 | optionalDependencies: 163 | jsdom "^7.0.2" 164 | 165 | co@3.1.0: 166 | version "3.1.0" 167 | resolved "https://registry.yarnpkg.com/co/-/co-3.1.0.tgz#4ea54ea5a08938153185e15210c68d9092bc1b78" 168 | integrity sha1-TqVOpaCJOBUxheFSEMaNkJK8G3g= 169 | 170 | combined-stream@^1.0.6, combined-stream@~1.0.6: 171 | version "1.0.7" 172 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.7.tgz#2d1d24317afb8abe95d6d2c0b07b57813539d828" 173 | integrity sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w== 174 | dependencies: 175 | delayed-stream "~1.0.0" 176 | 177 | component-emitter@^1.2.0: 178 | version "1.2.1" 179 | resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" 180 | integrity sha1-E3kY1teCg/ffemt8WmPhQOaUJeY= 181 | 182 | content-disposition@^0.5.0: 183 | version "0.5.3" 184 | resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" 185 | integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== 186 | dependencies: 187 | safe-buffer "5.1.2" 188 | 189 | content-type@^1.0.1: 190 | version "1.0.4" 191 | resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" 192 | integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== 193 | 194 | cookiejar@^2.1.0: 195 | version "2.1.2" 196 | resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.2.tgz#dd8a235530752f988f9a0844f3fc589e3111125c" 197 | integrity sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA== 198 | 199 | core-util-is@1.0.2, core-util-is@~1.0.0: 200 | version "1.0.2" 201 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 202 | integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= 203 | 204 | css-select@~1.2.0: 205 | version "1.2.0" 206 | resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" 207 | integrity sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg= 208 | dependencies: 209 | boolbase "~1.0.0" 210 | css-what "2.1" 211 | domutils "1.5.1" 212 | nth-check "~1.0.1" 213 | 214 | css-what@2.1: 215 | version "2.1.3" 216 | resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2" 217 | integrity sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg== 218 | 219 | cssom@0.3.x, "cssom@>= 0.3.0 < 0.4.0": 220 | version "0.3.6" 221 | resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.6.tgz#f85206cee04efa841f3c5982a74ba96ab20d65ad" 222 | integrity sha512-DtUeseGk9/GBW0hl0vVPpU22iHL6YB5BUX7ml1hB+GMpo0NX5G4voX3kdWiMSEguFtcW3Vh3djqNF4aIe6ne0A== 223 | 224 | "cssstyle@>= 0.2.29 < 0.3.0": 225 | version "0.2.37" 226 | resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-0.2.37.tgz#541097234cb2513c83ceed3acddc27ff27987d54" 227 | integrity sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ= 228 | dependencies: 229 | cssom "0.3.x" 230 | 231 | dashdash@^1.12.0: 232 | version "1.14.1" 233 | resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" 234 | integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= 235 | dependencies: 236 | assert-plus "^1.0.0" 237 | 238 | debug@^2.1.3: 239 | version "2.6.9" 240 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 241 | integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== 242 | dependencies: 243 | ms "2.0.0" 244 | 245 | debug@^3.1.0, debug@^3.2.6: 246 | version "3.2.6" 247 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" 248 | integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== 249 | dependencies: 250 | ms "^2.1.1" 251 | 252 | debug@~2.2.0: 253 | version "2.2.0" 254 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" 255 | integrity sha1-+HBX6ZWxofauaklgZkE3vFbwOdo= 256 | dependencies: 257 | ms "0.7.1" 258 | 259 | deep-is@~0.1.3: 260 | version "0.1.3" 261 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" 262 | integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= 263 | 264 | delayed-stream@~1.0.0: 265 | version "1.0.0" 266 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 267 | integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= 268 | 269 | delegates@^0.1.0: 270 | version "0.1.0" 271 | resolved "https://registry.yarnpkg.com/delegates/-/delegates-0.1.0.tgz#b4b57be11a1653517a04b27f0949bdc327dfe390" 272 | integrity sha1-tLV74RoWU1F6BLJ/CUm9wyff45A= 273 | 274 | destroy@^1.0.3: 275 | version "1.0.4" 276 | resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" 277 | integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= 278 | 279 | dom-serializer@0, dom-serializer@~0.1.0: 280 | version "0.1.1" 281 | resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.1.tgz#1ec4059e284babed36eec2941d4a970a189ce7c0" 282 | integrity sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA== 283 | dependencies: 284 | domelementtype "^1.3.0" 285 | entities "^1.1.1" 286 | 287 | domelementtype@1, domelementtype@^1.3.0, domelementtype@^1.3.1: 288 | version "1.3.1" 289 | resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" 290 | integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== 291 | 292 | domhandler@2.3: 293 | version "2.3.0" 294 | resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.3.0.tgz#2de59a0822d5027fabff6f032c2b25a2a8abe738" 295 | integrity sha1-LeWaCCLVAn+r/28DLCsloqir5zg= 296 | dependencies: 297 | domelementtype "1" 298 | 299 | domhandler@^2.3.0: 300 | version "2.4.2" 301 | resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" 302 | integrity sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA== 303 | dependencies: 304 | domelementtype "1" 305 | 306 | domutils@1.5, domutils@1.5.1: 307 | version "1.5.1" 308 | resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" 309 | integrity sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8= 310 | dependencies: 311 | dom-serializer "0" 312 | domelementtype "1" 313 | 314 | domutils@^1.5.1: 315 | version "1.7.0" 316 | resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" 317 | integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== 318 | dependencies: 319 | dom-serializer "0" 320 | domelementtype "1" 321 | 322 | ecc-jsbn@~0.1.1: 323 | version "0.1.2" 324 | resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" 325 | integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= 326 | dependencies: 327 | jsbn "~0.1.0" 328 | safer-buffer "^2.1.0" 329 | 330 | ee-first@1.1.1: 331 | version "1.1.1" 332 | resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" 333 | integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= 334 | 335 | emitter-component@^1.1.1: 336 | version "1.1.1" 337 | resolved "https://registry.yarnpkg.com/emitter-component/-/emitter-component-1.1.1.tgz#065e2dbed6959bf470679edabeaf7981d1003ab6" 338 | integrity sha1-Bl4tvtaVm/RwZ57avq95gdEAOrY= 339 | 340 | enqueue@^1.0.2: 341 | version "1.0.2" 342 | resolved "https://registry.yarnpkg.com/enqueue/-/enqueue-1.0.2.tgz#9014e9bce570ee93ca96e6c8e63ad54c192b6bc8" 343 | integrity sha1-kBTpvOVw7pPKlubI5jrVTBkra8g= 344 | dependencies: 345 | sliced "0.0.5" 346 | 347 | enstore@~1.0.1: 348 | version "1.0.1" 349 | resolved "https://registry.yarnpkg.com/enstore/-/enstore-1.0.1.tgz#a20fe71eaebde8a3813a0a1240475f55854a81ab" 350 | integrity sha1-og/nHq696KOBOgoSQEdfVYVKgas= 351 | dependencies: 352 | monotonic-timestamp "0.0.8" 353 | 354 | entities@1.0: 355 | version "1.0.0" 356 | resolved "https://registry.yarnpkg.com/entities/-/entities-1.0.0.tgz#b2987aa3821347fcde642b24fdfc9e4fb712bf26" 357 | integrity sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY= 358 | 359 | entities@^1.1.1, entities@~1.1.1: 360 | version "1.1.2" 361 | resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" 362 | integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== 363 | 364 | error-inject@^1.0.0: 365 | version "1.0.0" 366 | resolved "https://registry.yarnpkg.com/error-inject/-/error-inject-1.0.0.tgz#e2b3d91b54aed672f309d950d154850fa11d4f37" 367 | integrity sha1-4rPZG1Su1nLzCdlQ0VSFD6EdTzc= 368 | 369 | escape-html@^1.0.1: 370 | version "1.0.3" 371 | resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" 372 | integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= 373 | 374 | escape-string-regexp@^1.0.2: 375 | version "1.0.5" 376 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 377 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 378 | 379 | escodegen@^1.6.1: 380 | version "1.11.1" 381 | resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.11.1.tgz#c485ff8d6b4cdb89e27f4a856e91f118401ca510" 382 | integrity sha512-JwiqFD9KdGVVpeuRa68yU3zZnBEOcPs0nKW7wZzXky8Z7tffdYUHbe11bPCV5jYlK6DVdKLWLm0f5I/QlL0Kmw== 383 | dependencies: 384 | esprima "^3.1.3" 385 | estraverse "^4.2.0" 386 | esutils "^2.0.2" 387 | optionator "^0.8.1" 388 | optionalDependencies: 389 | source-map "~0.6.1" 390 | 391 | esprima@^3.1.3: 392 | version "3.1.3" 393 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" 394 | integrity sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM= 395 | 396 | estraverse@^4.2.0: 397 | version "4.2.0" 398 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" 399 | integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM= 400 | 401 | esutils@^2.0.2: 402 | version "2.0.2" 403 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" 404 | integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs= 405 | 406 | extend@^3.0.0, extend@~3.0.2: 407 | version "3.0.2" 408 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" 409 | integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== 410 | 411 | extsprintf@1.3.0: 412 | version "1.3.0" 413 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" 414 | integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= 415 | 416 | extsprintf@^1.2.0: 417 | version "1.4.0" 418 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" 419 | integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= 420 | 421 | fast-deep-equal@^2.0.1: 422 | version "2.0.1" 423 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" 424 | integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= 425 | 426 | fast-json-stable-stringify@^2.0.0: 427 | version "2.0.0" 428 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" 429 | integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I= 430 | 431 | fast-levenshtein@~2.0.4: 432 | version "2.0.6" 433 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" 434 | integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= 435 | 436 | follow-redirects@^1.3.0: 437 | version "1.7.0" 438 | resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.7.0.tgz#489ebc198dc0e7f64167bd23b03c4c19b5784c76" 439 | integrity sha512-m/pZQy4Gj287eNy94nivy5wchN3Kp+Q5WgUPNy5lJSZ3sgkVKSYV/ZChMAQVIgx1SqfZ2zBZtPA2YlXIWxxJOQ== 440 | dependencies: 441 | debug "^3.2.6" 442 | 443 | forever-agent@~0.6.1: 444 | version "0.6.1" 445 | resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" 446 | integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= 447 | 448 | form-data@^2.3.1, form-data@~2.3.2: 449 | version "2.3.3" 450 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" 451 | integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== 452 | dependencies: 453 | asynckit "^0.4.0" 454 | combined-stream "^1.0.6" 455 | mime-types "^2.1.12" 456 | 457 | format-parser@0.0.2: 458 | version "0.0.2" 459 | resolved "https://registry.yarnpkg.com/format-parser/-/format-parser-0.0.2.tgz#4318822a8a9f1a29a0137253b908719c4f9222a2" 460 | integrity sha1-QxiCKoqfGimgE3JTuQhxnE+SIqI= 461 | 462 | formidable@^1.2.0: 463 | version "1.2.1" 464 | resolved "https://registry.yarnpkg.com/formidable/-/formidable-1.2.1.tgz#70fb7ca0290ee6ff961090415f4b3df3d2082659" 465 | integrity sha512-Fs9VRguL0gqGHkXS5GQiMCr1VhZBxz0JnJs4JmMp/2jL18Fmbzvv7vOFRU+U8TBkHEE/CX1qDXzJplVULgsLeg== 466 | 467 | getpass@^0.1.1: 468 | version "0.1.7" 469 | resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" 470 | integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= 471 | dependencies: 472 | assert-plus "^1.0.0" 473 | 474 | har-schema@^2.0.0: 475 | version "2.0.0" 476 | resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" 477 | integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= 478 | 479 | har-validator@~5.1.0: 480 | version "5.1.3" 481 | resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" 482 | integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== 483 | dependencies: 484 | ajv "^6.5.5" 485 | har-schema "^2.0.0" 486 | 487 | has-ansi@^2.0.0: 488 | version "2.0.0" 489 | resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" 490 | integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= 491 | dependencies: 492 | ansi-regex "^2.0.0" 493 | 494 | htmlparser2@^3.9.1: 495 | version "3.10.1" 496 | resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" 497 | integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ== 498 | dependencies: 499 | domelementtype "^1.3.1" 500 | domhandler "^2.3.0" 501 | domutils "^1.5.1" 502 | entities "^1.1.1" 503 | inherits "^2.0.1" 504 | readable-stream "^3.1.1" 505 | 506 | htmlparser2@~3.8.1: 507 | version "3.8.3" 508 | resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.8.3.tgz#996c28b191516a8be86501a7d79757e5c70c1068" 509 | integrity sha1-mWwosZFRaovoZQGn15dX5ccMEGg= 510 | dependencies: 511 | domelementtype "1" 512 | domhandler "2.3" 513 | domutils "1.5" 514 | entities "1.0" 515 | readable-stream "1.1" 516 | 517 | http-context@^1.1.0: 518 | version "1.1.1" 519 | resolved "https://registry.yarnpkg.com/http-context/-/http-context-1.1.1.tgz#a40171b389dba63042a9c4872229c7ad0efca510" 520 | integrity sha1-pAFxs4nbpjBCqcSHIinHrQ78pRA= 521 | dependencies: 522 | accepts "^1.2.5" 523 | assert "^1.3.0" 524 | content-disposition "^0.5.0" 525 | content-type "^1.0.1" 526 | delegates "^0.1.0" 527 | destroy "^1.0.3" 528 | error-inject "^1.0.0" 529 | escape-html "^1.0.1" 530 | http-incoming "^0.12.0" 531 | http-outgoing "^0.12.0" 532 | koa-is-json "^1.0.0" 533 | mime-types "^2.0.10" 534 | on-finished "^2.2.0" 535 | parseurl "^1.3.0" 536 | querystring "^0.2.0" 537 | statuses "^1.2.1" 538 | type-is "^1.6.1" 539 | vary "^1.0.0" 540 | 541 | http-incoming@^0.12.0: 542 | version "0.12.0" 543 | resolved "https://registry.yarnpkg.com/http-incoming/-/http-incoming-0.12.0.tgz#10783cd2b5deb8ca92ab3ff2ad171315d61b4ff6" 544 | integrity sha1-EHg80rXeuMqSqz/yrRcTFdYbT/Y= 545 | 546 | http-outgoing@^0.12.0: 547 | version "0.12.0" 548 | resolved "https://registry.yarnpkg.com/http-outgoing/-/http-outgoing-0.12.0.tgz#662f3a27c7a4d14c924b5f5314909efabde1830d" 549 | integrity sha1-Zi86J8ek0UySS19TFJCe+r3hgw0= 550 | 551 | http-signature@~1.2.0: 552 | version "1.2.0" 553 | resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" 554 | integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= 555 | dependencies: 556 | assert-plus "^1.0.0" 557 | jsprim "^1.2.2" 558 | sshpk "^1.7.0" 559 | 560 | inherits@2.0.1: 561 | version "2.0.1" 562 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" 563 | integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= 564 | 565 | inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3: 566 | version "2.0.3" 567 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 568 | integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= 569 | 570 | is-browser@2.0.1: 571 | version "2.0.1" 572 | resolved "https://registry.yarnpkg.com/is-browser/-/is-browser-2.0.1.tgz#8bf0baf799a9c62fd9de5bcee4cf3397c3e7529a" 573 | integrity sha1-i/C695mpxi/Z3lvO5M8zl8PnUpo= 574 | 575 | is-buffer@^1.1.5: 576 | version "1.1.6" 577 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" 578 | integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== 579 | 580 | is-typedarray@~1.0.0: 581 | version "1.0.0" 582 | resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" 583 | integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= 584 | 585 | is-url@~1.2.0: 586 | version "1.2.4" 587 | resolved "https://registry.yarnpkg.com/is-url/-/is-url-1.2.4.tgz#04a4df46d28c4cff3d73d01ff06abeb318a1aa52" 588 | integrity sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww== 589 | 590 | isarray@0.0.1: 591 | version "0.0.1" 592 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" 593 | integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= 594 | 595 | isarray@~1.0.0: 596 | version "1.0.0" 597 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 598 | integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= 599 | 600 | isobject@~2.0.0: 601 | version "2.0.0" 602 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.0.0.tgz#208de872bd7378c2a92af9428a3f56eb91a122c4" 603 | integrity sha1-II3ocr1zeMKpKvlCij9W65GhIsQ= 604 | dependencies: 605 | isarray "0.0.1" 606 | 607 | isstream@~0.1.2: 608 | version "0.1.2" 609 | resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" 610 | integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= 611 | 612 | jsbn@~0.1.0: 613 | version "0.1.1" 614 | resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" 615 | integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= 616 | 617 | jsdom@^7.0.2: 618 | version "7.2.2" 619 | resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-7.2.2.tgz#40b402770c2bda23469096bee91ab675e3b1fc6e" 620 | integrity sha1-QLQCdwwr2iNGkJa+6Rq2deOx/G4= 621 | dependencies: 622 | abab "^1.0.0" 623 | acorn "^2.4.0" 624 | acorn-globals "^1.0.4" 625 | cssom ">= 0.3.0 < 0.4.0" 626 | cssstyle ">= 0.2.29 < 0.3.0" 627 | escodegen "^1.6.1" 628 | nwmatcher ">= 1.3.7 < 2.0.0" 629 | parse5 "^1.5.1" 630 | request "^2.55.0" 631 | sax "^1.1.4" 632 | symbol-tree ">= 3.1.0 < 4.0.0" 633 | tough-cookie "^2.2.0" 634 | webidl-conversions "^2.0.0" 635 | whatwg-url-compat "~0.6.5" 636 | xml-name-validator ">= 2.0.1 < 3.0.0" 637 | 638 | json-schema-traverse@^0.4.1: 639 | version "0.4.1" 640 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" 641 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== 642 | 643 | json-schema@0.2.3: 644 | version "0.2.3" 645 | resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" 646 | integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= 647 | 648 | json-stringify-safe@~5.0.1: 649 | version "5.0.1" 650 | resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" 651 | integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= 652 | 653 | jsprim@^1.2.2: 654 | version "1.4.1" 655 | resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" 656 | integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= 657 | dependencies: 658 | assert-plus "1.0.0" 659 | extsprintf "1.3.0" 660 | json-schema "0.2.3" 661 | verror "1.10.0" 662 | 663 | koa-is-json@^1.0.0: 664 | version "1.0.0" 665 | resolved "https://registry.yarnpkg.com/koa-is-json/-/koa-is-json-1.0.0.tgz#273c07edcdcb8df6a2c1ab7d59ee76491451ec14" 666 | integrity sha1-JzwH7c3Ljfaiwat9We52SRRR7BQ= 667 | 668 | levn@~0.3.0: 669 | version "0.3.0" 670 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" 671 | integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= 672 | dependencies: 673 | prelude-ls "~1.1.2" 674 | type-check "~0.3.2" 675 | 676 | lodash.assignin@^4.0.9: 677 | version "4.2.0" 678 | resolved "https://registry.yarnpkg.com/lodash.assignin/-/lodash.assignin-4.2.0.tgz#ba8df5fb841eb0a3e8044232b0e263a8dc6a28a2" 679 | integrity sha1-uo31+4QesKPoBEIysOJjqNxqKKI= 680 | 681 | lodash.bind@^4.1.4: 682 | version "4.2.1" 683 | resolved "https://registry.yarnpkg.com/lodash.bind/-/lodash.bind-4.2.1.tgz#7ae3017e939622ac31b7d7d7dcb1b34db1690d35" 684 | integrity sha1-euMBfpOWIqwxt9fX3LGzTbFpDTU= 685 | 686 | lodash.defaults@^4.0.1: 687 | version "4.2.0" 688 | resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c" 689 | integrity sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw= 690 | 691 | lodash.filter@^4.4.0: 692 | version "4.6.0" 693 | resolved "https://registry.yarnpkg.com/lodash.filter/-/lodash.filter-4.6.0.tgz#668b1d4981603ae1cc5a6fa760143e480b4c4ace" 694 | integrity sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4= 695 | 696 | lodash.flatten@^4.2.0: 697 | version "4.4.0" 698 | resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" 699 | integrity sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8= 700 | 701 | lodash.foreach@^4.3.0: 702 | version "4.5.0" 703 | resolved "https://registry.yarnpkg.com/lodash.foreach/-/lodash.foreach-4.5.0.tgz#1a6a35eace401280c7f06dddec35165ab27e3e53" 704 | integrity sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM= 705 | 706 | lodash.map@^4.4.0: 707 | version "4.6.0" 708 | resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3" 709 | integrity sha1-dx7Hg540c9nEzeKLGTlMNWL09tM= 710 | 711 | lodash.merge@^4.4.0: 712 | version "4.6.1" 713 | resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.1.tgz#adc25d9cb99b9391c59624f379fbba60d7111d54" 714 | integrity sha512-AOYza4+Hf5z1/0Hztxpm2/xiPZgi/cjMqdnKTUWTBSKchJlxXXuUSxCCl8rJlf4g6yww/j6mA8nC8Hw/EZWxKQ== 715 | 716 | lodash.pick@^4.2.1: 717 | version "4.4.0" 718 | resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3" 719 | integrity sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM= 720 | 721 | lodash.reduce@^4.4.0: 722 | version "4.6.0" 723 | resolved "https://registry.yarnpkg.com/lodash.reduce/-/lodash.reduce-4.6.0.tgz#f1ab6b839299ad48f784abbf476596f03b914d3b" 724 | integrity sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs= 725 | 726 | lodash.reject@^4.4.0: 727 | version "4.6.0" 728 | resolved "https://registry.yarnpkg.com/lodash.reject/-/lodash.reject-4.6.0.tgz#80d6492dc1470864bbf583533b651f42a9f52415" 729 | integrity sha1-gNZJLcFHCGS79YNTO2UfQqn1JBU= 730 | 731 | lodash.some@^4.4.0: 732 | version "4.6.0" 733 | resolved "https://registry.yarnpkg.com/lodash.some/-/lodash.some-4.6.0.tgz#1bb9f314ef6b8baded13b549169b2a945eb68e4d" 734 | integrity sha1-G7nzFO9ri63tE7VJFpsqlF62jk0= 735 | 736 | lodash@^4.1.0: 737 | version "4.17.11" 738 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" 739 | integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== 740 | 741 | media-typer@0.3.0: 742 | version "0.3.0" 743 | resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" 744 | integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= 745 | 746 | methods@^1.1.1: 747 | version "1.1.2" 748 | resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" 749 | integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= 750 | 751 | mime-db@~1.38.0: 752 | version "1.38.0" 753 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.38.0.tgz#1a2aab16da9eb167b49c6e4df2d9c68d63d8e2ad" 754 | integrity sha512-bqVioMFFzc2awcdJZIzR3HjZFX20QhilVS7hytkKrv7xFAn8bM1gzc/FOX2awLISvWe0PV8ptFKcon+wZ5qYkg== 755 | 756 | mime-types@^2.0.10, mime-types@^2.1.12, mime-types@~2.1.18, mime-types@~2.1.19: 757 | version "2.1.22" 758 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.22.tgz#fe6b355a190926ab7698c9a0556a11199b2199bd" 759 | integrity sha512-aGl6TZGnhm/li6F7yx82bJiBZwgiEa4Hf6CNr8YO+r5UHr53tSTYZb102zyU50DOWWKeOv0uQLRL0/9EiKWCog== 760 | dependencies: 761 | mime-db "~1.38.0" 762 | 763 | mime@^1.3.4, mime@^1.4.1: 764 | version "1.6.0" 765 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" 766 | integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== 767 | 768 | monotonic-timestamp@0.0.8: 769 | version "0.0.8" 770 | resolved "https://registry.yarnpkg.com/monotonic-timestamp/-/monotonic-timestamp-0.0.8.tgz#67987d02a41c15f568b6c0a05885989dd2402ba0" 771 | integrity sha1-Z5h9AqQcFfVotsCgWIWYndJAK6A= 772 | 773 | ms@0.7.1: 774 | version "0.7.1" 775 | resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" 776 | integrity sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg= 777 | 778 | ms@2.0.0: 779 | version "2.0.0" 780 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 781 | integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= 782 | 783 | ms@^2.0.0, ms@^2.1.1: 784 | version "2.1.1" 785 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" 786 | integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== 787 | 788 | negotiator@0.6.1: 789 | version "0.6.1" 790 | resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" 791 | integrity sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk= 792 | 793 | nth-check@~1.0.1: 794 | version "1.0.2" 795 | resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" 796 | integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== 797 | dependencies: 798 | boolbase "~1.0.0" 799 | 800 | "nwmatcher@>= 1.3.7 < 2.0.0": 801 | version "1.4.4" 802 | resolved "https://registry.yarnpkg.com/nwmatcher/-/nwmatcher-1.4.4.tgz#2285631f34a95f0d0395cd900c96ed39b58f346e" 803 | integrity sha512-3iuY4N5dhgMpCUrOVnuAdGrgxVqV2cJpM+XNccjR2DKOB1RUP0aA+wGXEiNziG/UKboFyGBIoKOaNlJxx8bciQ== 804 | 805 | oauth-sign@~0.9.0: 806 | version "0.9.0" 807 | resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" 808 | integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== 809 | 810 | object-assign@~4.0.1: 811 | version "4.0.1" 812 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.0.1.tgz#99504456c3598b5cad4fc59c26e8a9bb107fe0bd" 813 | integrity sha1-mVBEVsNZi1ytT8WcJuipuxB/4L0= 814 | 815 | on-finished@^2.2.0: 816 | version "2.3.0" 817 | resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" 818 | integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= 819 | dependencies: 820 | ee-first "1.1.1" 821 | 822 | optionator@^0.8.1: 823 | version "0.8.2" 824 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" 825 | integrity sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q= 826 | dependencies: 827 | deep-is "~0.1.3" 828 | fast-levenshtein "~2.0.4" 829 | levn "~0.3.0" 830 | prelude-ls "~1.1.2" 831 | type-check "~0.3.2" 832 | wordwrap "~1.0.0" 833 | 834 | parse5@^1.5.1: 835 | version "1.5.1" 836 | resolved "https://registry.yarnpkg.com/parse5/-/parse5-1.5.1.tgz#9b7f3b0de32be78dc2401b17573ccaf0f6f59d94" 837 | integrity sha1-m387DeMr543CQBsXVzzK8Pb1nZQ= 838 | 839 | parseurl@^1.3.0: 840 | version "1.3.2" 841 | resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" 842 | integrity sha1-/CidTtiZMRlGDBViUyYs3I3mW/M= 843 | 844 | performance-now@^2.1.0: 845 | version "2.1.0" 846 | resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" 847 | integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= 848 | 849 | prelude-ls@~1.1.2: 850 | version "1.1.2" 851 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" 852 | integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= 853 | 854 | process-nextick-args@~2.0.0: 855 | version "2.0.0" 856 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" 857 | integrity sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw== 858 | 859 | promise-polyfill@^1.1.6: 860 | version "1.1.6" 861 | resolved "https://registry.yarnpkg.com/promise-polyfill/-/promise-polyfill-1.1.6.tgz#cd04eff46f5c95c3a7d045591d79b5e3e01f12d7" 862 | integrity sha1-zQTv9G9clcOn0EVZHXm14+AfEtc= 863 | 864 | psl@^1.1.24, psl@^1.1.28: 865 | version "1.1.31" 866 | resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.31.tgz#e9aa86d0101b5b105cbe93ac6b784cd547276184" 867 | integrity sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw== 868 | 869 | punycode@^1.4.1: 870 | version "1.4.1" 871 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" 872 | integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= 873 | 874 | punycode@^2.1.0, punycode@^2.1.1: 875 | version "2.1.1" 876 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" 877 | integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== 878 | 879 | qs@^6.5.1: 880 | version "6.6.0" 881 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.6.0.tgz#a99c0f69a8d26bf7ef012f871cdabb0aee4424c2" 882 | integrity sha512-KIJqT9jQJDQx5h5uAVPimw6yVg2SekOKu959OCtktD3FjzbpvaPr8i4zzg07DOMz+igA4W/aNM7OV8H37pFYfA== 883 | 884 | qs@~6.5.2: 885 | version "6.5.2" 886 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" 887 | integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== 888 | 889 | querystring@^0.2.0: 890 | version "0.2.0" 891 | resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" 892 | integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= 893 | 894 | readable-stream@1.1: 895 | version "1.1.13" 896 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.13.tgz#f6eef764f514c89e2b9e23146a75ba106756d23e" 897 | integrity sha1-9u73ZPUUyJ4rniMUanW6EGdW0j4= 898 | dependencies: 899 | core-util-is "~1.0.0" 900 | inherits "~2.0.1" 901 | isarray "0.0.1" 902 | string_decoder "~0.10.x" 903 | 904 | readable-stream@^2.3.5: 905 | version "2.3.6" 906 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" 907 | integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== 908 | dependencies: 909 | core-util-is "~1.0.0" 910 | inherits "~2.0.3" 911 | isarray "~1.0.0" 912 | process-nextick-args "~2.0.0" 913 | safe-buffer "~5.1.1" 914 | string_decoder "~1.1.1" 915 | util-deprecate "~1.0.1" 916 | 917 | readable-stream@^3.1.1: 918 | version "3.2.0" 919 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.2.0.tgz#de17f229864c120a9f56945756e4f32c4045245d" 920 | integrity sha512-RV20kLjdmpZuTF1INEb9IA3L68Nmi+Ri7ppZqo78wj//Pn62fCoJyV9zalccNzDD/OuJpMG4f+pfMl8+L6QdGw== 921 | dependencies: 922 | inherits "^2.0.3" 923 | string_decoder "^1.1.1" 924 | util-deprecate "^1.0.1" 925 | 926 | request@^2.55.0, request@^2.68.0: 927 | version "2.88.0" 928 | resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" 929 | integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg== 930 | dependencies: 931 | aws-sign2 "~0.7.0" 932 | aws4 "^1.8.0" 933 | caseless "~0.12.0" 934 | combined-stream "~1.0.6" 935 | extend "~3.0.2" 936 | forever-agent "~0.6.1" 937 | form-data "~2.3.2" 938 | har-validator "~5.1.0" 939 | http-signature "~1.2.0" 940 | is-typedarray "~1.0.0" 941 | isstream "~0.1.2" 942 | json-stringify-safe "~5.0.1" 943 | mime-types "~2.1.19" 944 | oauth-sign "~0.9.0" 945 | performance-now "^2.1.0" 946 | qs "~6.5.2" 947 | safe-buffer "^5.1.2" 948 | tough-cookie "~2.4.3" 949 | tunnel-agent "^0.6.0" 950 | uuid "^3.3.2" 951 | 952 | safe-buffer@5.1.2, safe-buffer@^5.0.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: 953 | version "5.1.2" 954 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 955 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 956 | 957 | safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: 958 | version "2.1.2" 959 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 960 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== 961 | 962 | sax@^1.1.4: 963 | version "1.2.4" 964 | resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" 965 | integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== 966 | 967 | selectn@^0.9.6: 968 | version "0.9.6" 969 | resolved "https://registry.yarnpkg.com/selectn/-/selectn-0.9.6.tgz#bd873a556d18f96d8515fc91503ec6ff398ff9a2" 970 | integrity sha1-vYc6VW0Y+W2FFfyRUD7G/zmP+aI= 971 | 972 | sliced@0.0.5: 973 | version "0.0.5" 974 | resolved "https://registry.yarnpkg.com/sliced/-/sliced-0.0.5.tgz#5edc044ca4eb6f7816d50ba2fc63e25d8fe4707f" 975 | integrity sha1-XtwETKTrb3gW1Qui/GPiXY/kcH8= 976 | 977 | source-map@~0.6.1: 978 | version "0.6.1" 979 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 980 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== 981 | 982 | sshpk@^1.7.0: 983 | version "1.16.1" 984 | resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" 985 | integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== 986 | dependencies: 987 | asn1 "~0.2.3" 988 | assert-plus "^1.0.0" 989 | bcrypt-pbkdf "^1.0.0" 990 | dashdash "^1.12.0" 991 | ecc-jsbn "~0.1.1" 992 | getpass "^0.1.1" 993 | jsbn "~0.1.0" 994 | safer-buffer "^2.0.2" 995 | tweetnacl "~0.14.0" 996 | 997 | statuses@^1.2.1: 998 | version "1.5.0" 999 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" 1000 | integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= 1001 | 1002 | stream-to-string@^1.1.0: 1003 | version "1.2.0" 1004 | resolved "https://registry.yarnpkg.com/stream-to-string/-/stream-to-string-1.2.0.tgz#3ca506a097ecbf78b0e0aee0b6fa5c4565412a15" 1005 | integrity sha512-8drZlFIKBHSMdX9GCWv8V9AAWnQcTqw0iAI6/GC7UJ0H0SwKeFKjOoZfGY1tOU00GGU7FYZQoJ/ZCUEoXhD7yQ== 1006 | dependencies: 1007 | promise-polyfill "^1.1.6" 1008 | 1009 | string_decoder@^1.1.1: 1010 | version "1.2.0" 1011 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.2.0.tgz#fe86e738b19544afe70469243b2a1ee9240eae8d" 1012 | integrity sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w== 1013 | dependencies: 1014 | safe-buffer "~5.1.0" 1015 | 1016 | string_decoder@~0.10.x: 1017 | version "0.10.31" 1018 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" 1019 | integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= 1020 | 1021 | string_decoder@~1.1.1: 1022 | version "1.1.1" 1023 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" 1024 | integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== 1025 | dependencies: 1026 | safe-buffer "~5.1.0" 1027 | 1028 | strip-ansi@^3.0.0: 1029 | version "3.0.1" 1030 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 1031 | integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= 1032 | dependencies: 1033 | ansi-regex "^2.0.0" 1034 | 1035 | superagent@^3.6.0: 1036 | version "3.8.3" 1037 | resolved "https://registry.yarnpkg.com/superagent/-/superagent-3.8.3.tgz#460ea0dbdb7d5b11bc4f78deba565f86a178e128" 1038 | integrity sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA== 1039 | dependencies: 1040 | component-emitter "^1.2.0" 1041 | cookiejar "^2.1.0" 1042 | debug "^3.1.0" 1043 | extend "^3.0.0" 1044 | form-data "^2.3.1" 1045 | formidable "^1.2.0" 1046 | methods "^1.1.1" 1047 | mime "^1.4.1" 1048 | qs "^6.5.1" 1049 | readable-stream "^2.3.5" 1050 | 1051 | supports-color@^2.0.0: 1052 | version "2.0.0" 1053 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" 1054 | integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= 1055 | 1056 | "symbol-tree@>= 3.1.0 < 4.0.0": 1057 | version "3.2.2" 1058 | resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6" 1059 | integrity sha1-rifbOPZgp64uHDt9G8KQgZuFGeY= 1060 | 1061 | tough-cookie@^2.2.0: 1062 | version "2.5.0" 1063 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" 1064 | integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== 1065 | dependencies: 1066 | psl "^1.1.28" 1067 | punycode "^2.1.1" 1068 | 1069 | tough-cookie@~2.4.3: 1070 | version "2.4.3" 1071 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" 1072 | integrity sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ== 1073 | dependencies: 1074 | psl "^1.1.24" 1075 | punycode "^1.4.1" 1076 | 1077 | tr46@~0.0.1: 1078 | version "0.0.3" 1079 | resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" 1080 | integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= 1081 | 1082 | tunnel-agent@^0.6.0: 1083 | version "0.6.0" 1084 | resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" 1085 | integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= 1086 | dependencies: 1087 | safe-buffer "^5.0.1" 1088 | 1089 | tweetnacl@^0.14.3, tweetnacl@~0.14.0: 1090 | version "0.14.5" 1091 | resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" 1092 | integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= 1093 | 1094 | twit@^2.2.11: 1095 | version "2.2.11" 1096 | resolved "https://registry.yarnpkg.com/twit/-/twit-2.2.11.tgz#554343d1cf343ddf503280db821f61be5ab407c3" 1097 | integrity sha512-BkdwvZGRVoUTcEBp0zuocuqfih4LB+kEFUWkWJOVBg6pAE9Ebv9vmsYTTrfXleZGf45Bj5H3A1/O9YhF2uSYNg== 1098 | dependencies: 1099 | bluebird "^3.1.5" 1100 | mime "^1.3.4" 1101 | request "^2.68.0" 1102 | 1103 | type-check@~0.3.2: 1104 | version "0.3.2" 1105 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" 1106 | integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= 1107 | dependencies: 1108 | prelude-ls "~1.1.2" 1109 | 1110 | type-is@^1.6.1: 1111 | version "1.6.16" 1112 | resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.16.tgz#f89ce341541c672b25ee7ae3c73dee3b2be50194" 1113 | integrity sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q== 1114 | dependencies: 1115 | media-typer "0.3.0" 1116 | mime-types "~2.1.18" 1117 | 1118 | uri-js@^4.2.2: 1119 | version "4.2.2" 1120 | resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" 1121 | integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== 1122 | dependencies: 1123 | punycode "^2.1.0" 1124 | 1125 | util-deprecate@^1.0.1, util-deprecate@~1.0.1: 1126 | version "1.0.2" 1127 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 1128 | integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= 1129 | 1130 | util@0.10.3: 1131 | version "0.10.3" 1132 | resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" 1133 | integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= 1134 | dependencies: 1135 | inherits "2.0.1" 1136 | 1137 | uuid@^3.3.2: 1138 | version "3.3.2" 1139 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" 1140 | integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== 1141 | 1142 | vary@^1.0.0: 1143 | version "1.1.2" 1144 | resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" 1145 | integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= 1146 | 1147 | verror@1.10.0: 1148 | version "1.10.0" 1149 | resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" 1150 | integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= 1151 | dependencies: 1152 | assert-plus "^1.0.0" 1153 | core-util-is "1.0.2" 1154 | extsprintf "^1.2.0" 1155 | 1156 | webidl-conversions@^2.0.0: 1157 | version "2.0.1" 1158 | resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-2.0.1.tgz#3bf8258f7d318c7443c36f2e169402a1a6703506" 1159 | integrity sha1-O/glj30xjHRDw28uFpQCoaZwNQY= 1160 | 1161 | whatwg-url-compat@~0.6.5: 1162 | version "0.6.5" 1163 | resolved "https://registry.yarnpkg.com/whatwg-url-compat/-/whatwg-url-compat-0.6.5.tgz#00898111af689bb097541cd5a45ca6c8798445bf" 1164 | integrity sha1-AImBEa9om7CXVBzVpFymyHmERb8= 1165 | dependencies: 1166 | tr46 "~0.0.1" 1167 | 1168 | wordwrap@~1.0.0: 1169 | version "1.0.0" 1170 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" 1171 | integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= 1172 | 1173 | wrap-fn@^0.1.4: 1174 | version "0.1.5" 1175 | resolved "https://registry.yarnpkg.com/wrap-fn/-/wrap-fn-0.1.5.tgz#f21b6e41016ff4a7e31720dbc63a09016bdf9845" 1176 | integrity sha1-8htuQQFv9KfjFyDbxjoJAWvfmEU= 1177 | dependencies: 1178 | co "3.1.0" 1179 | 1180 | x-ray-crawler@~2.0.1: 1181 | version "2.0.4" 1182 | resolved "https://registry.yarnpkg.com/x-ray-crawler/-/x-ray-crawler-2.0.4.tgz#8f1d0860e813c1e8608d658f7e177808592b43ef" 1183 | integrity sha512-+xMF/MPZHjEqvJzmK8K8HztmJQgPQZk6ZaVNWjxVx7VUDdjkWah2crWvJoCtLBHr1Nw2qs/MjSQxDV/nk9POHA== 1184 | dependencies: 1185 | cheerio "^0.22.0" 1186 | debug "^2.1.3" 1187 | delegates "^0.1.0" 1188 | emitter-component "^1.1.1" 1189 | enqueue "^1.0.2" 1190 | http-context "^1.1.0" 1191 | ms "^2.0.0" 1192 | selectn "^0.9.6" 1193 | sliced "0.0.5" 1194 | superagent "^3.6.0" 1195 | wrap-fn "^0.1.4" 1196 | x-ray-parse "^1.0.0" 1197 | yieldly "0.0.1" 1198 | 1199 | x-ray-parse@^1.0.0, x-ray-parse@~1.0.1: 1200 | version "1.0.1" 1201 | resolved "https://registry.yarnpkg.com/x-ray-parse/-/x-ray-parse-1.0.1.tgz#08d0ffc5e3ad139c11050af9aea4760949f29694" 1202 | integrity sha1-CND/xeOtE5wRBQr5rqR2CUnylpQ= 1203 | dependencies: 1204 | format-parser "0.0.2" 1205 | 1206 | x-ray@^2.3.3: 1207 | version "2.3.3" 1208 | resolved "https://registry.yarnpkg.com/x-ray/-/x-ray-2.3.3.tgz#15dc09faac09fa3946f3e1837bba546a24dc0f4b" 1209 | integrity sha512-7tAiDAvrK9uvGWzq/XBasMNDNCmzf1jbka0HsC88ZzfFiKb3tClL7wVzKyAJBv3h5Br4Fmcx8YQhUAcmgocfbQ== 1210 | dependencies: 1211 | batch "~0.5.2" 1212 | bluebird "^3.4.7" 1213 | chalk "~1.1.1" 1214 | cheerio "~0.20.0" 1215 | debug "~2.2.0" 1216 | enstore "~1.0.1" 1217 | is-url "~1.2.0" 1218 | isobject "~2.0.0" 1219 | object-assign "~4.0.1" 1220 | stream-to-string "^1.1.0" 1221 | x-ray-crawler "~2.0.1" 1222 | x-ray-parse "~1.0.1" 1223 | 1224 | "xml-name-validator@>= 2.0.1 < 3.0.0": 1225 | version "2.0.1" 1226 | resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-2.0.1.tgz#4d8b8f1eccd3419aa362061becef515e1e559635" 1227 | integrity sha1-TYuPHszTQZqjYgYb7O9RXh5VljU= 1228 | 1229 | yieldly@0.0.1: 1230 | version "0.0.1" 1231 | resolved "https://registry.yarnpkg.com/yieldly/-/yieldly-0.0.1.tgz#7d64c856e4f1cd3c35a78f86e0a2960e6a7d0474" 1232 | integrity sha1-fWTIVuTxzTw1p4+G4KKWDmp9BHQ= 1233 | dependencies: 1234 | is-browser "2.0.1" 1235 | --------------------------------------------------------------------------------