From 8a96017408ac35b37e73d31b7746ad84723dcfc0 Mon Sep 17 00:00:00 2001 From: Simone Mariotti Date: Tue, 6 Mar 2018 09:59:36 +0100 Subject: [PATCH 1/3] Added czech service --- data/applications-bots.js | 564 +++++++++++++++--------------- data/regexes/applications-bots.js | 2 +- 2 files changed, 285 insertions(+), 281 deletions(-) diff --git a/data/applications-bots.js b/data/applications-bots.js index d54ef7d..25df850 100644 --- a/data/applications-bots.js +++ b/data/applications-bots.js @@ -3,289 +3,293 @@ /* eslint-disable */ exports.BOTS = [ - { name: '80legs', id: '008', regexp: /(?:^|\s)008\/([0-9.]*)/u }, - { name: '360spider', id: '360', regexp: /360Spider/u }, - { name: '360spider', id: '360', regexp: /360spider-image/u }, - { name: 'A6 Indexer', id: 'a6', regexp: /A6-Indexer(?:\/([0-9.]*))?/u }, - { name: 'Aboundex', id: 'abound', regexp: /Aboundex\/([0-9.]*)/u }, - { name: 'Ad Muncher', id: 'muncher', regexp: /Ad Muncher v([0-9.]*)/u }, - { name: 'Adaxas', id: 'adaxas', regexp: /Adaxas Spider/u }, - { name: 'AddThis.com', id: 'addthis', regexp: /AddThis.com/u }, - { name: 'ADmantX', id: 'admantx', regexp: /ADmantX Platform Semantic Analyzer/u }, - { name: 'AhrefsBot', id: 'ahrefsbot', regexp: /AhrefsBot.Feeds v([0-9.]*)/u }, - { name: 'AhrefsBot', id: 'ahrefsbot', regexp: /AhrefsBot\/([0-9.]*)/u }, - { name: 'Alexa', id: 'archiver', regexp: /ia_archiver/u }, - { name: 'AltaVista', id: 'altavista', regexp: /AltaVista Intranet V([0-9.]*)/u }, - { name: 'Analytics SEO', id: 'curious', regexp: /Curious George - www.analyticsseo.com\/crawler/u }, - { name: 'Amazon CloudFront', id: 'cloudfront', regexp: /Amazon CloudFront/u }, - { name: 'Amorank Spider', id: 'amorank', regexp: /AmorankSpider\/([0-9.]*)/u }, - { name: 'ArchiveBot', id: 'archive', regexp: /ArchiveTeam ArchiveBot/u }, - { name: 'Archive.org', id: 'archive', regexp: /archive.org_bot(?:\/([0-9.]*))?/u }, - { name: 'Archive.org', id: 'archive', regexp: /special_archiver(?:\/([0-9.]*))?/u }, - { name: 'Ask Jeeves', id: 'jeeves', regexp: /Ask Jeeves\/Teoma/u }, - { name: 'AstraSpider', id: 'astra', regexp: /AstraSpider V([0-9.]*)/u }, - { name: 'Backlink-Check', id: 'backlink', regexp: /Backlink-Ceck.de/u }, - { name: 'BacklinkCrawler', id: 'backlink', regexp: /BacklinkCrawler/u }, - { name: 'Baiduspider', id: 'baidu', regexp: /Baiduspider[\+ ]\([\+ ]/u }, - { name: 'Baiduspider', id: 'baidu', regexp: /Baiduspider\/([0-9.]*)/u }, - { name: 'Baiduspider', id: 'baidu', regexp: /Baiduspider/u }, - { name: 'Baiduspider', id: 'baidu', regexp: /baiduspider-mobile-gate/u }, - { name: 'Baiduspider', id: 'baidu', regexp: /\+http:\/\/www.baidu.com\/search\/spider.html/u }, - { name: 'Baiduspider', id: 'baidu', regexp: /BaiduImagespider/u }, - { name: 'BazQux', id: 'bazqux', regexp: /BazQux\/([0-9.]*)/u }, - { name: 'Bing', id: 'bingbot', regexp: /bingbot\/([0-9.]*)/u }, - { name: 'Bing', id: 'msnbot', regexp: /msnbot\/([0-9.]*)/u }, - { name: 'Bing', id: 'msnbot', regexp: /msnbot-UDiscovery\/([0-9.]*)/u }, - { name: 'Bing', id: 'msnbot', regexp: /msnbot-media\/([0-9.]*)/u }, - { name: 'Bing', id: 'msnbot', regexp: /MsnBot-Media \/([0-9.]*)/u }, - { name: 'Bing', id: 'msnbot', regexp: /msnbot-NewsBlogs\/([0-9.]*)/u }, - { name: 'Bing', id: 'msnbot', regexp: /MSNBOT_Mobile/u }, - { name: 'Bing', id: 'msmobot', regexp: /MSMOBOT/u }, - { name: 'Bing Preview', id: 'bing', regexp: /BingPreview\/([0-9.]*)/u }, - { name: 'BlogBridge', id: 'blogbridge', regexp: /BlogBridge ([0-9.]*)/u }, - { name: 'Bloglines', id: 'bloglines', regexp: /Bloglines\/([0-9.]*)/u }, - { name: 'Bloglovin', id: 'bloglovin', regexp: /Bloglovin\/([0-9.]*)/u }, - { name: 'BlogPulse', id: 'blogpulse', regexp: /BlogPulse \(ISSpider-([0-9.]*)/u }, - { name: 'Blogram', id: 'blogram', regexp: /BlogramCrawler\/([0-9.]*)/u }, - { name: 'Blogtrottr', id: 'blogtrot', regexp: /Blogtrottr\/([0-9.]*)/u }, - { name: 'Blogshares', id: 'blogshares', regexp: /Blogshares/u }, - { name: 'BoardReader', id: 'boardreader', regexp: /BoardReader\/([0-9.]*)/u }, - { name: 'Browsershots', id: 'browsershots', regexp: /Browsershots/u }, - { name: 'BUbiNG', id: 'bubing', regexp: /BUbiNG/u }, - { name: 'Butterfly', id: 'butterfly', regexp: /Butterfly\/([0-9.]*)/u }, - { name: 'CiteSeerX', id: 'heritrix', regexp: /heritrix\/([0-9.]*)/u }, - { name: 'Cliqzbot', id: 'cliqz', regexp: /Cliqzbot\/([0-9.]*)/u }, - { name: 'CloudFare Always Online', id: 'cloudflare', regexp: /CloudFlare-AlwaysOnline\/([0-9.]*)/u }, - { name: 'Comodo', id: 'comodo', regexp: /Comodo Spider ([0-9.]*)/u }, - { name: 'CommaFeed', id: 'commafeed', regexp: /CommaFeed\/([0-9.]*)/u }, - { name: 'CommonCrawl', id: 'cbot', regexp: /CCBot\/([0-9.]*)/u }, - { name: 'Data Hotel Watchdog', id: 'watchdog', regexp: /Data-Hotel-Watchdog\/([0-9.]*)/u }, - { name: 'DataparkSearch', id: 'datasearch', regexp: /DataparkSearch\/([0-9.]*)/u }, - { name: 'Daumoa', id: 'daumoa', regexp: /Daumoa ([0-9.]*)/u }, - { name: 'Digg', id: 'digg', regexp: /Digg Deeper\/v([0-9.]*)/u }, - { name: 'Digg', id: 'digg', regexp: /Digg\/([0-9.]*)/u }, - { name: 'Domain Re-Animator', id: 'domain', regexp: /Domain Re-Animator Bot/u }, - { name: 'Exabot Thumbnails', id: 'exabot', regexp: /Exabot-Thumbnails/u }, - { name: 'ExactSeek', id: 'exactseek', regexp: /ExactSeek Crawler/u }, - { name: 'Ezooms Crawler', id: 'ezooms', regexp: /Ezooms\/([0-9.]*)/u }, - { name: 'Facebook', id: 'facebook', regexp: /facebookplatform\/([0-9.]*)/u }, - { name: 'Facebook', id: 'facebook', regexp: /facebookexternalhit\/([0-9.]*)/u }, - { name: 'Facebook', id: 'facebook', regexp: /facebookscraper\/([0-9.]*)/u }, - { name: 'Facebook', id: 'facebook', regexp: /FacebookSecurity\/([0-9.]*)/u }, - { name: 'FAST Crawler', id: 'fast', regexp: /FAST Crawler ([0-9.]*)/u }, - { name: 'FAST Crawler', id: 'fast', regexp: /FastCrawler3/u }, - { name: 'FAST Enterprise Crawler', id: 'fast', regexp: /FAST Enterprise Crawler\/([0-9.]*)/u }, - { name: 'FAST Enterprise Crawler', id: 'fast', regexp: /FAST Enterprise Crawler ([0-9.]*)/u }, - { name: 'FAST Enterprise Crawler', id: 'fast', regexp: /FAST EnterpriseCrawler ([0-9.]*)/u }, - { name: 'FAST MetaWeb Crawler', id: 'fast', regexp: /FAST MetaWeb Crawler/u }, - { name: 'FAST mSEARCH Crawler', id: 'fast', regexp: /FAST-mSEARCH Crawler ([0-9.]*)/u }, - { name: 'FAST Web Crawler', id: 'fast', regexp: /FAST-WebCrawler\/([0-9.]*)/u }, - { name: 'Flamingo Search', id: 'flamingo', regexp: /Flamingo_SearchEngine/u }, - { name: 'Fastladder', id: 'fastladder', regexp: /Fastladder FeedFetcher\/([0-9.]*)/u }, - { name: 'Feedbin', id: 'feed', regexp: /Feedbin/u }, - { name: 'FeedWrangler', id: 'wrangler', regexp: /Feed Wrangler\/([0-9.]*)/u }, - { name: 'Feedly', id: 'feed', regexp: /FeedlyApp\/([0-9.]*)/u }, - { name: 'Feedly', id: 'feed', regexp: /FeedlyBot\/([0-9.]*)/u }, - { name: 'Feedly', id: 'feed', regexp: /MetaFeedly\/([0-9.]*)/u }, - { name: 'Feedspot', id: 'feed', regexp: /Feedspot/u }, - { name: 'FeedValidator', id: 'validator', regexp: /FeedValidator\/([0-9.]*)/u }, - { name: 'FeedZirra', id: 'feed', regexp: /feedzirra/u }, - { name: 'Fever', id: 'fever', regexp: /Fever\/([0-9.]*)/u }, - { name: 'Friendica', id: 'friendica', regexp: /Friendica/u }, - { name: 'FTRF: Friendly Robot', id: 'robot', regexp: /FTRF: Friendly robot\/([0-9.]*)/u }, - { name: 'Genieo Web Filter', id: 'genieo', regexp: /Genieo\/([0-9.]*)/u }, - { name: 'GNIP', id: 'fetchor', regexp: /UnwindFetchor\/([0-9.]*)/u }, - { name: 'Gocrawl', id: 'google', regexp: /Googlebot \(gocrawl v([0-9.]*)\)/u }, - { name: 'GomezAgent', id: 'gomez', regexp: /GomezAgent ([0-9.]+)/u }, - { name: 'Goo', id: 'ichiro', regexp: /ichiro\/mobile goo/u }, - { name: 'Goo Blog Search', id: 'gooblog', regexp: /gooblog\/([0-9.]*)/u }, - { name: 'Goo Blog Search', id: 'gooblog', regexp: /gooblogsearch\/([0-9.]*)/u }, - { name: 'Goo RSS Reader', id: 'goorss', regexp: /gooRSSreader([0-9.]*)/u }, - { name: 'Googlebot', id: 'google', regexp: /Google[Bb]ot\/([0-9.]*)/u }, - { name: 'Googlebot Mobile', id: 'google', regexp: /Googlebot-Mobile\/([0-9.]*)/u }, - { name: 'Googlebot Image', id: 'google', regexp: /Googlebot-Image\/([0-9.]*)/u }, - { name: 'Googlebot Video', id: 'google', regexp: /Googlebot-Video\/([0-9.]*)/u }, - { name: 'Google Ads Bot', id: 'google', regexp: /AdsBot-Google/u }, - { name: 'Google Adsense Snapshot', id: 'google', regexp: /Adsense-Snapshot-Google/u }, - { name: 'Google App Engine', id: 'google', regexp: /AppEngine-Google/u }, - { name: 'Google Web Preview', id: 'google', regexp: /Google Web Preview/u }, - { name: 'Google Page Speed', id: 'google', regexp: /Google Page Speed Insights/u }, - { name: 'Google FeedBurner', id: 'feed', regexp: /FeedBurner\/([0-9.]*)/u }, - { name: 'Google Feedfetcher', id: 'google', regexp: /Feedfetcher-Google/iu }, - { name: 'Google Font Analysis', id: 'google', regexp: /Google-FontAnalysis\/([0-9.]*)/u }, - { name: 'Google Sitemaps', id: 'google', regexp: /Google-Sitemaps\/([0-9.]*)/u }, - { name: 'Google Site Verification', id: 'google', regexp: /Google-Site-Verification\/([0-9.]*)/u }, - { name: 'Google Rich Snippets', id: 'google', regexp: /Googlebot-richsnippets/u }, - { name: 'Google Mediapartners', id: 'google', regexp: /Mediapartners-Google\/([0-9.]*)/u }, - { name: 'Google Mediapartners', id: 'google', regexp: /Mediapartners-Google/u }, - { name: 'Google News', id: 'google', regexp: /Googlebot-News/u }, - { name: 'Google Wireless Transcoder', id: 'google', regexp: /Google Wireless Transcoder/u }, - { name: 'Google Play Newsstand', id: 'google', regexp: /GoogleProducer/u }, - { name: 'Google YouTube Sample', id: 'google', regexp: /Google-YouTubeSample\/([0-9.]*)/u }, - { name: 'Grammarly', id: 'grammarly', regexp: /Grammarly\/([0-9.]*)/u }, - { name: 'Grub', id: 'grub', regexp: /grub-client-([0-9.]*)/u }, - { name: 'Hatena Antenna', id: 'hatena', regexp: /Hatena Antenna\/([0-9.]*)/u }, - { name: 'Hatena Diary', id: 'hatena', regexp: /Hatena Diary RSS Module/u }, - { name: 'Hatena Pagetitle', id: 'hatena', regexp: /Hatena Pagetitle Agent\/([0-9.]*)/u }, - { name: 'HeartRails Capture', id: 'capture', regexp: /HeartRails_Capture\/([0-9.]*)/u }, - { name: 'htdig', id: 'htdig', regexp: /htdig\/([0-9.]*)/u }, - { name: 'HTTPMon', id: 'httpmon', regexp: /HTTPMon\/([0-9.]*)/u }, - { name: 'HubPages', id: 'hubpages', regexp: /HubPages V([0-9.]*)/u }, - { name: 'iAsk Spider', id: 'spider', regexp: /iaskspider\/([0-9.]*)/u }, - { name: 'iAsk Spider', id: 'spider', regexp: /iaskspider2/u }, - { name: 'Ichiro', id: 'ichiro', regexp: /ichiro\/([0-9.]*)/u }, - { name: 'Internet Archive', id: 'archive', regexp: /InternetArchive\/([0-9.]*)/u }, - { name: 'JamesBOT', id: 'crawler', regexp: /James BOT - WebCrawler/u }, - { name: 'Jayde', id: 'crawler', regexp: /Jayde Crawler./u }, - { name: 'Kouio', id: 'kouio', regexp: /kouio.com/u }, - { name: 'Larbin', id: 'larbin', regexp: /[Ll]arbin[\/_]([0-9.]*)/u }, - { name: 'Linkedin Bot', id: 'linkedin', regexp: /LinkedInBot\/([0-9.]*)/u }, - { name: 'Linkdex Bot', id: 'linkdex', regexp: /linkdexbot-mobile\/([0-9.]*)/u }, - { name: 'Linkdex Bot', id: 'linkdex', regexp: /linkdex.com\/v([0-9.]*)/u }, - { name: 'Livedoor', id: 'livedoor', regexp: /livedoor/u }, - { name: 'LTX71', id: 'ltx71', regexp: /ltx71/u }, - { name: 'Magpie RSS', id: 'magpie', regexp: /MagpieRSS\/([0-9.]*)/u }, - { name: 'Mapian News Bot', id: 'mapion', regexp: /mapion-news-bot\/([0-9.]*)/u }, - { name: 'Microsoft Social Streams', id: 'socialstreams', regexp: /Microsoft MSN SocialStreams Bot/u }, - { name: 'Mixi', id: 'mixi', regexp: /mixi-check\/([0-9.]*)/u }, - { name: 'MnoGoSearch', id: 'mnogo', regexp: /MnoGoSearch\/([0-9.]*)/u }, - { name: 'Monitor.us', id: 'monitor', regexp: /monitor.us/u }, - { name: 'Naver Yeti', id: 'yeti', regexp: /Yeti\/([0-9.]*)/u }, - { name: 'Netcraft Survey Bot', id: 'netcraft', regexp: /Netcraft Web Server Survey/u }, - { name: 'Netvibes', id: 'netvibes', regexp: /Netvibes/u }, - { name: 'NewsBlur', id: 'newsblur', regexp: /NewsBlur Favicon Fetcher/u }, - { name: 'NewsBlur', id: 'newsblur', regexp: /NewsBlur Feed Fetcher/u }, - { name: 'NewsBlur', id: 'newsblur', regexp: /NewsBlur Feed Finder/u }, - { name: 'NewsBlur', id: 'newsblur', regexp: /NewsBlur Page Fetcher/u }, - { name: 'NewsGator', id: 'newsgator', regexp: /NewsGator\/([0-9.]*)/u }, - { name: 'NewsGator', id: 'newsgator', regexp: /NewsGatorOnline\/([0-9.]*)/u }, - { name: 'NewsGator FetchLinks', id: 'newsgator', regexp: /NewsGator FetchLinks extension\/([0-9.]*)/u }, - { name: 'OpenWebSpider', id: 'spider', regexp: /OpenWebSpider v([0-9.]*)/u }, - { name: 'OrangeBot', id: 'orange', regexp: /OrangeBot-Collector\/([0-9.]*)/u }, - { name: 'OrangeBot', id: 'orange', regexp: /OrangeBot-Mobile/u }, - { name: 'PagesInventory ', id: 'pages', regexp: /PagesInventory/u }, - { name: 'Picsearch bot', id: 'psbot', regexp: /psbot-page/u }, - { name: 'Pingdom', id: 'pingdom', regexp: /Pingdom.com_bot_version_([0-9.]*)/u }, - { name: 'Pinterest', id: 'pinterest', regexp: /Pinterest\/([0-9.]+)( \(+|$)/u }, - { name: 'PostRank', id: 'postrank', regexp: /PostRank\/([0-9.]*)/u }, - { name: 'PowerMapper', id: 'crawler', regexp: /CrawlerProcess \(http:\/\/www\.PowerMapper\.com\) \/([0-9.]*)/u }, - { name: 'Radian 6', id: 'feed', regexp: /R6_FeedFetcher/u }, - { name: 'Radian 6', id: 'comment', regexp: /R6_CommentReader/u }, - { name: 'RssBar', id: 'rssbar', regexp: /RssBar\/([0-9.]*)/u }, - { name: 'ROI Hunter', id: 'hunter', regexp: /ROI Hunter/u }, - { name: 'QuerySeekerSpider', id: 'spider', regexp: /QuerySeekerSpider(?:\/([0-9.]*))?/u }, - { name: 'Quora Link Preview', id: 'quora', regexp: /Quora Link Preview\/([0-9.]*)/u }, - { name: 'SafeSearch Microdata', id: 'safesearch', regexp: /SafeSearch microdata crawler/u }, - { name: 'Scrapy', id: 'scrapy', regexp: /Scrapy\/([0-9.]*)/u }, - { name: 'ScreenerBot', id: 'crawler', regexp: /ScreenerBot Crawler Beta ([0-9.]*)/u }, - { name: 'Server Density', id: 'monitor', regexp: /Server Density Service Monitoring/u }, - { name: 'ShopWiki', id: 'shopwiki', regexp: /ShopWiki\/([0-9.]*)/u }, - { name: 'SilverReader', id: 'reader', regexp: /SilverReader\/([0-9.]*)/u }, - { name: 'SimplePie', id: 'simplepie', regexp: /SimplePie\/([0-9.]*)/u }, - { name: 'Site24x7', id: 'site24', regexp: /Site24x7/u }, - { name: 'Sogou Web Spider', id: 'sogou', regexp: /sogou spider/u }, - { name: 'Sogou Web Spider', id: 'sogou', regexp: /Sogou pic spider\/([0-9.]*)/u }, - { name: 'Sogou Web Spider', id: 'sogou', regexp: /Sogou inst spider\/([0-9.]*)/u }, - { name: 'Sogou Web Spider', id: 'sogou', regexp: /Sogou web spider\/([0-9.]*)/u }, - { name: 'Sogou Mobile Spider', id: 'sogou', regexp: /Sogou Mobile Spider([0-9.]*)/u }, - { name: 'Sophora Linkchecker', id: 'sophora', regexp: /Sophora Linkchecker/u }, - { name: 'Soso Web Spider', id: 'soso', regexp: /Sosospider\/([0-9.]*)/u }, - { name: 'Soso Web Spider', id: 'soso', regexp: /Sosospider/u }, - { name: 'Soso Image Spider', id: 'soso', regexp: /Sosoimagespider/u }, - { name: 'SPDYCheck', id: 'spdycheck', regexp: /SPDYCheck SPDY Protocol Tester/iu }, - { name: 'Spinn3r', id: 'spinn', regexp: /Spinn3r ([0-9.]*)/iu }, - { name: 'Spiderlytics', id: 'spider', regexp: /Spiderlytics\/([0-9.]*)/iu }, - { name: 'StatusCake Error Detector', id: 'detector', regexp: /StatusCake Error Detector/iu }, - { name: 'Summify', id: 'summify', regexp: /Summify\/([0-9.]*)/u }, - { name: 'TelegramBot', id: 'telegram', regexp: /TelegramBot/u }, - { name: 'Twisted PageGetter', id: 'twisted', regexp: /Twisted PageGetter/u }, - { name: 'Twitterbot', id: 'twitter', regexp: /Twitterbot\/([0-9.]*)/u }, - { name: 'Tiny Tiny RSS', id: 'tiny', regexp: /Tiny Tiny RSS\/([0-9.]*)/u }, - { name: 'TLSProber', id: 'tlsprober', regexp: /TLSProber\/([0-9.]*)/u }, - { name: 'Typhoeus', id: 'typhoeus', regexp: /Typhoeus/u }, - { name: 'Vagabondo', id: 'vagabondo', regexp: /Vagabondo\/([0-9.]*)/u }, - { name: 'Voilabot', id: 'voila', regexp: /Voila[Bb]ot/u }, - { name: 'VocusBot', id: 'vocus', regexp: /VocusBot ([0-9.]*)/u }, - { name: 'Vodafone mCrawler', id: 'mcrawler', regexp: /Vodafone mCrawler/u }, - { name: 'W3Bot', id: 'w3bot', regexp: /W3Bot ([0-9.]*)/u }, - { name: 'W3C CSS Validator', id: 'jigsaw', regexp: /Jigsaw\/([0-9.]*)/u }, - { name: 'W3C Internationalization Checker', id: 'w3c', regexp: /W3C_I18n-Checker\/([0-9.]*)/u }, - { name: 'W3C Line Mode', id: 'w3c', regexp: /W3CLineMode\/([0-9.]*)/u }, - { name: 'W3C Link Checker', id: 'w3c', regexp: /W3C-checklink\/([0-9.]*)/u }, - { name: 'W3C Markup Validator', id: 'w3c', regexp: /W3C_Validator\/([0-9.]*)/u }, - { name: 'W3C MobileOK Checker', id: 'w3c', regexp: /W3C-mobileOK\/DDC-([0-9.]*)/u }, - { name: 'W3C Multipage Validator', id: 'w3c', regexp: /W3C_Multipage_Validator\/([0-9.]*)/u }, - { name: 'W3C Robot', id: 'w3c', regexp: /W3CRobot\/([0-9.]*)/u }, - { name: 'W3C Unified Validator', id: 'w3c', regexp: /W3C_Unicorn\/([0-9.]*)/u }, - { name: 'W3C Validator.nu', id: 'validator', regexp: /Validator.nu\//u }, - { name: 'Wayback Archive', id: 'wayback', regexp: /waybackarchive.org\/([0-9.]*)/u }, - { name: 'WebbCrawler', id: 'crawler', regexp: /WebbCrawler ([0-9.]*)/u }, - { name: 'WebIndexer', id: 'webindexer', regexp: /WebIndexer\//u }, - { name: 'WordPress', id: 'wordpress', regexp: /WordPress\/([0-9.]*)/u }, - { name: 'WordPress.com', id: 'wordpress', regexp: /WordPress\.com; http/u }, - { name: 'WordPress Jetpack', id: 'wordpress', regexp: /Jetpack by WordPress\.com/u }, - { name: 'WWW Mechanize', id: 'mechanize', regexp: /WWW-Mechanize\/([0-9.]*)/u }, - { name: 'Xerka WebBot', id: 'xerka', regexp: /Xerka WebBot v([0-9.]*)/u }, - { name: 'XML Sitemaps Generator', id: 'sitemap', regexp: /XML-Sitemaps\/([0-9.]*)/u }, - { name: 'XMLSitemapGenerator', id: 'sitemap', regexp: /XmlSitemapGenerator/u }, - { name: 'YaCy Bot', id: 'yacy', regexp: /yacy(?:\/|\s|bot)/u }, - { name: 'Yandex Anti Virus', id: 'yandex', regexp: /YandexAntivirus\/([0-9.]*)/u }, - { name: 'Yandex Blogs', id: 'yandex', regexp: /YandexBlogs\/([0-9.]*)/u }, - { name: 'Yandex Bot', id: 'yandex', regexp: /YandexBot\/([0-9.]*)/u }, - { name: 'Yandex Direct', id: 'yandex', regexp: /YandexDirect\/([0-9.]*)/u }, - { name: 'Yandex Favicons', id: 'yandex', regexp: /YandexFavicons\/([0-9.]*)/u }, - { name: 'Yandex Image Resizer', id: 'yandex', regexp: /YandexImageResizer\/([0-9.]*)/u }, - { name: 'Yandex Images', id: 'yandex', regexp: /YandexImages\/([0-9.]*)/u }, - { name: 'Yandex Metrika', id: 'yandex', regexp: /YandexMetrika\/([0-9.]*)/u }, - { name: 'Yandex News', id: 'yandex', regexp: /YandexNews\/([0-9.]*)/u }, - { name: 'Yandex Newslinks', id: 'yandex', regexp: /YandexNewslinks(?:\/([0-9.]*))?/u }, - { name: 'Yahoo! Ad Monitoring', id: 'yahoo', regexp: /Yahoo Ad monitoring/u }, - { name: 'Yahoo! Blogs', id: 'yahoo', regexp: /Yahoo-Blogs\/v([0-9.]*)/u }, - { name: 'Yahoo! Cache System', id: 'yahoo', regexp: /YahooCacheSystem/u }, - { name: 'Yahoo! Feed Seeker', id: 'yahoo', regexp: /YahooFeedSeeker\/([0-9.]*)/u }, - { name: 'Yahoo! Feed Seeker', id: 'yahoo', regexp: /YahooFeedSeeker Testing\/([0-9.]*)/u }, - { name: 'Yahoo! Image', id: 'yahoo', regexp: /Yahoo-MMCrawler\/([0-9.]*)/u }, - { name: 'Yahoo! Link Expander', id: 'yahoo', regexp: /Yahoo:LinkExpander/u }, - { name: 'Yahoo! Link Preview', id: 'yahoo', regexp: /Yahoo Link Preview/u }, - { name: 'Yahoo! Video', id: 'yahoo', regexp: /Yahoo-MMAudVid\/([0-9.]*)/u }, - { name: 'Yahoo! Mindset', id: 'yahoo', regexp: /Yahoo! Mindset/u }, - { name: 'Yahoo! Product Search', id: 'yahoo', regexp: /YahooSeeker\/ProductSearch([0-9.]*)/u }, - { name: 'Yahoo! Slurp', id: 'yahoo', regexp: /Yahoo! Slurp\/([0-9.]*)/u }, - { name: 'Yahoo! Slurp', id: 'yahoo', regexp: /Yahoo! Slurp/u }, - { name: 'Yahoo! Seeker', id: 'yahoo', regexp: /YahooSeeker(?:\/([0-9.]*))?/u }, - { name: 'Yahoo! Seeker', id: 'yahoo', regexp: /YahooSeeker-Testing\/v([0-9.]*)/u }, - { name: 'Yahoo! Seeker', id: 'yahoo', regexp: /yahooseeker-jp-mobile/u }, - { name: 'Yahoo! Site Checker', id: 'y!j', regexp: /Y!J SiteChecker/u }, - { name: 'Yahoo! Pipes', id: 'yahoo', regexp: /Yahoo Pipes ([0-9.]*)/u }, - { name: 'Yahoo! Video Search', id: 'yahoo', regexp: /YahooVideoSearch/u }, - { name: 'Yahoo! Japan', id: 'yahoo', regexp: /Yahoo! Japan/u }, - { name: 'Yahoo! Japan', id: 'y!j', regexp: /(^|\(compatible; )Y!J-/u }, + { name: '80legs', id: '008', regexp: /(?:^|\s)008\/([0-9.]*)/u }, + { name: '360spider', id: '360', regexp: /360Spider/u }, + { name: '360spider', id: '360', regexp: /360spider-image/u }, + { name: 'A6 Indexer', id: 'a6', regexp: /A6-Indexer(?:\/([0-9.]*))?/u }, + { name: 'Aboundex', id: 'abound', regexp: /Aboundex\/([0-9.]*)/u }, + { name: 'Ad Muncher', id: 'muncher', regexp: /Ad Muncher v([0-9.]*)/u }, + { name: 'Adaxas', id: 'adaxas', regexp: /Adaxas Spider/u }, + { name: 'AddThis.com', id: 'addthis', regexp: /AddThis.com/u }, + { name: 'ADmantX', id: 'admantx', regexp: /ADmantX Platform Semantic Analyzer/u }, + { name: 'AhrefsBot', id: 'ahrefsbot', regexp: /AhrefsBot.Feeds v([0-9.]*)/u }, + { name: 'AhrefsBot', id: 'ahrefsbot', regexp: /AhrefsBot\/([0-9.]*)/u }, + { name: 'Alexa', id: 'archiver', regexp: /ia_archiver/u }, + { name: 'AltaVista', id: 'altavista', regexp: /AltaVista Intranet V([0-9.]*)/u }, + { name: 'Analytics SEO', id: 'curious', regexp: /Curious George - www.analyticsseo.com\/crawler/u }, + { name: 'Amazon CloudFront', id: 'cloudfront', regexp: /Amazon CloudFront/u }, + { name: 'Amorank Spider', id: 'amorank', regexp: /AmorankSpider\/([0-9.]*)/u }, + { name: 'ArchiveBot', id: 'archive', regexp: /ArchiveTeam ArchiveBot/u }, + { name: 'Archive.org', id: 'archive', regexp: /archive.org_bot(?:\/([0-9.]*))?/u }, + { name: 'Archive.org', id: 'archive', regexp: /special_archiver(?:\/([0-9.]*))?/u }, + { name: 'Ask Jeeves', id: 'jeeves', regexp: /Ask Jeeves\/Teoma/u }, + { name: 'AstraSpider', id: 'astra', regexp: /AstraSpider V([0-9.]*)/u }, + { name: 'Backlink-Check', id: 'backlink', regexp: /Backlink-Ceck.de/u }, + { name: 'BacklinkCrawler', id: 'backlink', regexp: /BacklinkCrawler/u }, + { name: 'Baiduspider', id: 'baidu', regexp: /Baiduspider[\+ ]\([\+ ]/u }, + { name: 'Baiduspider', id: 'baidu', regexp: /Baiduspider\/([0-9.]*)/u }, + { name: 'Baiduspider', id: 'baidu', regexp: /Baiduspider/u }, + { name: 'Baiduspider', id: 'baidu', regexp: /baiduspider-mobile-gate/u }, + { name: 'Baiduspider', id: 'baidu', regexp: /\+http:\/\/www.baidu.com\/search\/spider.html/u }, + { name: 'Baiduspider', id: 'baidu', regexp: /BaiduImagespider/u }, + { name: 'BazQux', id: 'bazqux', regexp: /BazQux\/([0-9.]*)/u }, + { name: 'Bing', id: 'bingbot', regexp: /bingbot\/([0-9.]*)/u }, + { name: 'Bing', id: 'msnbot', regexp: /msnbot\/([0-9.]*)/u }, + { name: 'Bing', id: 'msnbot', regexp: /msnbot-UDiscovery\/([0-9.]*)/u }, + { name: 'Bing', id: 'msnbot', regexp: /msnbot-media\/([0-9.]*)/u }, + { name: 'Bing', id: 'msnbot', regexp: /MsnBot-Media \/([0-9.]*)/u }, + { name: 'Bing', id: 'msnbot', regexp: /msnbot-NewsBlogs\/([0-9.]*)/u }, + { name: 'Bing', id: 'msnbot', regexp: /MSNBOT_Mobile/u }, + { name: 'Bing', id: 'msmobot', regexp: /MSMOBOT/u }, + { name: 'Bing Preview', id: 'bing', regexp: /BingPreview\/([0-9.]*)/u }, + { name: 'BlogBridge', id: 'blogbridge', regexp: /BlogBridge ([0-9.]*)/u }, + { name: 'Bloglines', id: 'bloglines', regexp: /Bloglines\/([0-9.]*)/u }, + { name: 'Bloglovin', id: 'bloglovin', regexp: /Bloglovin\/([0-9.]*)/u }, + { name: 'BlogPulse', id: 'blogpulse', regexp: /BlogPulse \(ISSpider-([0-9.]*)/u }, + { name: 'Blogram', id: 'blogram', regexp: /BlogramCrawler\/([0-9.]*)/u }, + { name: 'Blogtrottr', id: 'blogtrot', regexp: /Blogtrottr\/([0-9.]*)/u }, + { name: 'Blogshares', id: 'blogshares', regexp: /Blogshares/u }, + { name: 'BoardReader', id: 'boardreader', regexp: /BoardReader\/([0-9.]*)/u }, + { name: 'Browsershots', id: 'browsershots', regexp: /Browsershots/u }, + { name: 'BUbiNG', id: 'bubing', regexp: /BUbiNG/u }, + { name: 'Butterfly', id: 'butterfly', regexp: /Butterfly\/([0-9.]*)/u }, + { name: 'CiteSeerX', id: 'heritrix', regexp: /heritrix\/([0-9.]*)/u }, + { name: 'Cliqzbot', id: 'cliqz', regexp: /Cliqzbot\/([0-9.]*)/u }, + { name: 'CloudFare Always Online', id: 'cloudflare', regexp: /CloudFlare-AlwaysOnline\/([0-9.]*)/u }, + { name: 'Comodo', id: 'comodo', regexp: /Comodo Spider ([0-9.]*)/u }, + { name: 'CommaFeed', id: 'commafeed', regexp: /CommaFeed\/([0-9.]*)/u }, + { name: 'CommonCrawl', id: 'cbot', regexp: /CCBot\/([0-9.]*)/u }, + { name: 'Data Hotel Watchdog', id: 'watchdog', regexp: /Data-Hotel-Watchdog\/([0-9.]*)/u }, + { name: 'DataparkSearch', id: 'datasearch', regexp: /DataparkSearch\/([0-9.]*)/u }, + { name: 'Daumoa', id: 'daumoa', regexp: /Daumoa ([0-9.]*)/u }, + { name: 'Digg', id: 'digg', regexp: /Digg Deeper\/v([0-9.]*)/u }, + { name: 'Digg', id: 'digg', regexp: /Digg\/([0-9.]*)/u }, + { name: 'Domain Re-Animator', id: 'domain', regexp: /Domain Re-Animator Bot/u }, + { name: 'Exabot Thumbnails', id: 'exabot', regexp: /Exabot-Thumbnails/u }, + { name: 'ExactSeek', id: 'exactseek', regexp: /ExactSeek Crawler/u }, + { name: 'Ezooms Crawler', id: 'ezooms', regexp: /Ezooms\/([0-9.]*)/u }, + { name: 'Facebook', id: 'facebook', regexp: /facebookplatform\/([0-9.]*)/u }, + { name: 'Facebook', id: 'facebook', regexp: /facebookexternalhit\/([0-9.]*)/u }, + { name: 'Facebook', id: 'facebook', regexp: /facebookscraper\/([0-9.]*)/u }, + { name: 'Facebook', id: 'facebook', regexp: /FacebookSecurity\/([0-9.]*)/u }, + { name: 'FAST Crawler', id: 'fast', regexp: /FAST Crawler ([0-9.]*)/u }, + { name: 'FAST Crawler', id: 'fast', regexp: /FastCrawler3/u }, + { name: 'FAST Enterprise Crawler', id: 'fast', regexp: /FAST Enterprise Crawler\/([0-9.]*)/u }, + { name: 'FAST Enterprise Crawler', id: 'fast', regexp: /FAST Enterprise Crawler ([0-9.]*)/u }, + { name: 'FAST Enterprise Crawler', id: 'fast', regexp: /FAST EnterpriseCrawler ([0-9.]*)/u }, + { name: 'FAST MetaWeb Crawler', id: 'fast', regexp: /FAST MetaWeb Crawler/u }, + { name: 'FAST mSEARCH Crawler', id: 'fast', regexp: /FAST-mSEARCH Crawler ([0-9.]*)/u }, + { name: 'FAST Web Crawler', id: 'fast', regexp: /FAST-WebCrawler\/([0-9.]*)/u }, + { name: 'Flamingo Search', id: 'flamingo', regexp: /Flamingo_SearchEngine/u }, + { name: 'Fastladder', id: 'fastladder', regexp: /Fastladder FeedFetcher\/([0-9.]*)/u }, + { name: 'Feedbin', id: 'feed', regexp: /Feedbin/u }, + { name: 'FeedWrangler', id: 'wrangler', regexp: /Feed Wrangler\/([0-9.]*)/u }, + { name: 'Feedly', id: 'feed', regexp: /FeedlyApp\/([0-9.]*)/u }, + { name: 'Feedly', id: 'feed', regexp: /FeedlyBot\/([0-9.]*)/u }, + { name: 'Feedly', id: 'feed', regexp: /MetaFeedly\/([0-9.]*)/u }, + { name: 'Feedspot', id: 'feed', regexp: /Feedspot/u }, + { name: 'FeedValidator', id: 'validator', regexp: /FeedValidator\/([0-9.]*)/u }, + { name: 'FeedZirra', id: 'feed', regexp: /feedzirra/u }, + { name: 'Fever', id: 'fever', regexp: /Fever\/([0-9.]*)/u }, + { name: 'Friendica', id: 'friendica', regexp: /Friendica/u }, + { name: 'FTRF: Friendly Robot', id: 'robot', regexp: /FTRF: Friendly robot\/([0-9.]*)/u }, + { name: 'Genieo Web Filter', id: 'genieo', regexp: /Genieo\/([0-9.]*)/u }, + { name: 'GNIP', id: 'fetchor', regexp: /UnwindFetchor\/([0-9.]*)/u }, + { name: 'Gocrawl', id: 'google', regexp: /Googlebot \(gocrawl v([0-9.]*)\)/u }, + { name: 'GomezAgent', id: 'gomez', regexp: /GomezAgent ([0-9.]+)/u }, + { name: 'Goo', id: 'ichiro', regexp: /ichiro\/mobile goo/u }, + { name: 'Goo Blog Search', id: 'gooblog', regexp: /gooblog\/([0-9.]*)/u }, + { name: 'Goo Blog Search', id: 'gooblog', regexp: /gooblogsearch\/([0-9.]*)/u }, + { name: 'Goo RSS Reader', id: 'goorss', regexp: /gooRSSreader([0-9.]*)/u }, + { name: 'Googlebot', id: 'google', regexp: /Google[Bb]ot\/([0-9.]*)/u }, + { name: 'Googlebot Mobile', id: 'google', regexp: /Googlebot-Mobile\/([0-9.]*)/u }, + { name: 'Googlebot Image', id: 'google', regexp: /Googlebot-Image\/([0-9.]*)/u }, + { name: 'Googlebot Video', id: 'google', regexp: /Googlebot-Video\/([0-9.]*)/u }, + { name: 'Google Ads Bot', id: 'google', regexp: /AdsBot-Google/u }, + { name: 'Google Adsense Snapshot', id: 'google', regexp: /Adsense-Snapshot-Google/u }, + { name: 'Google App Engine', id: 'google', regexp: /AppEngine-Google/u }, + { name: 'Google Web Preview', id: 'google', regexp: /Google Web Preview/u }, + { name: 'Google Page Speed', id: 'google', regexp: /Google Page Speed Insights/u }, + { name: 'Google FeedBurner', id: 'feed', regexp: /FeedBurner\/([0-9.]*)/u }, + { name: 'Google Feedfetcher', id: 'google', regexp: /Feedfetcher-Google/iu }, + { name: 'Google Font Analysis', id: 'google', regexp: /Google-FontAnalysis\/([0-9.]*)/u }, + { name: 'Google Sitemaps', id: 'google', regexp: /Google-Sitemaps\/([0-9.]*)/u }, + { name: 'Google Site Verification', id: 'google', regexp: /Google-Site-Verification\/([0-9.]*)/u }, + { name: 'Google Rich Snippets', id: 'google', regexp: /Googlebot-richsnippets/u }, + { name: 'Google Mediapartners', id: 'google', regexp: /Mediapartners-Google\/([0-9.]*)/u }, + { name: 'Google Mediapartners', id: 'google', regexp: /Mediapartners-Google/u }, + { name: 'Google News', id: 'google', regexp: /Googlebot-News/u }, + { name: 'Google Wireless Transcoder', id: 'google', regexp: /Google Wireless Transcoder/u }, + { name: 'Google Play Newsstand', id: 'google', regexp: /GoogleProducer/u }, + { name: 'Google YouTube Sample', id: 'google', regexp: /Google-YouTubeSample\/([0-9.]*)/u }, + { name: 'Grammarly', id: 'grammarly', regexp: /Grammarly\/([0-9.]*)/u }, + { name: 'Grub', id: 'grub', regexp: /grub-client-([0-9.]*)/u }, + { name: 'Hatena Antenna', id: 'hatena', regexp: /Hatena Antenna\/([0-9.]*)/u }, + { name: 'Hatena Diary', id: 'hatena', regexp: /Hatena Diary RSS Module/u }, + { name: 'Hatena Pagetitle', id: 'hatena', regexp: /Hatena Pagetitle Agent\/([0-9.]*)/u }, + { name: 'HeartRails Capture', id: 'capture', regexp: /HeartRails_Capture\/([0-9.]*)/u }, + { name: 'Heureka Feed', id: 'heureka', regexp: /Heurekabot-Feed/u }, + { name: 'htdig', id: 'htdig', regexp: /htdig\/([0-9.]*)/u }, + { name: 'HTTPMon', id: 'httpmon', regexp: /HTTPMon\/([0-9.]*)/u }, + { name: 'HubPages', id: 'hubpages', regexp: /HubPages V([0-9.]*)/u }, + { name: 'iAsk Spider', id: 'spider', regexp: /iaskspider\/([0-9.]*)/u }, + { name: 'iAsk Spider', id: 'spider', regexp: /iaskspider2/u }, + { name: 'Ichiro', id: 'ichiro', regexp: /ichiro\/([0-9.]*)/u }, + { name: 'Internet Archive', id: 'archive', regexp: /InternetArchive\/([0-9.]*)/u }, + { name: 'JamesBOT', id: 'crawler', regexp: /James BOT - WebCrawler/u }, + { name: 'Jayde', id: 'crawler', regexp: /Jayde Crawler./u }, + { name: 'Kouio', id: 'kouio', regexp: /kouio.com/u }, + { name: 'Larbin', id: 'larbin', regexp: /[Ll]arbin[\/_]([0-9.]*)/u }, + { name: 'Linkedin Bot', id: 'linkedin', regexp: /LinkedInBot\/([0-9.]*)/u }, + { name: 'Linkdex Bot', id: 'linkdex', regexp: /linkdexbot-mobile\/([0-9.]*)/u }, + { name: 'Linkdex Bot', id: 'linkdex', regexp: /linkdex.com\/v([0-9.]*)/u }, + { name: 'Livedoor', id: 'livedoor', regexp: /livedoor/u }, + { name: 'LTX71', id: 'ltx71', regexp: /ltx71/u }, + { name: 'Magpie RSS', id: 'magpie', regexp: /MagpieRSS\/([0-9.]*)/u }, + { name: 'Mapian News Bot', id: 'mapion', regexp: /mapion-news-bot\/([0-9.]*)/u }, + { name: 'Microsoft Social Streams', id: 'socialstreams', regexp: /Microsoft MSN SocialStreams Bot/u }, + { name: 'Mixi', id: 'mixi', regexp: /mixi-check\/([0-9.]*)/u }, + { name: 'MnoGoSearch', id: 'mnogo', regexp: /MnoGoSearch\/([0-9.]*)/u }, + { name: 'Monitor.us', id: 'monitor', regexp: /monitor.us/u }, + { name: 'Naver Yeti', id: 'yeti', regexp: /Yeti\/([0-9.]*)/u }, + { name: 'Netcraft Survey Bot', id: 'netcraft', regexp: /Netcraft Web Server Survey/u }, + { name: 'Netvibes', id: 'netvibes', regexp: /Netvibes/u }, + { name: 'NewsBlur', id: 'newsblur', regexp: /NewsBlur Favicon Fetcher/u }, + { name: 'NewsBlur', id: 'newsblur', regexp: /NewsBlur Feed Fetcher/u }, + { name: 'NewsBlur', id: 'newsblur', regexp: /NewsBlur Feed Finder/u }, + { name: 'NewsBlur', id: 'newsblur', regexp: /NewsBlur Page Fetcher/u }, + { name: 'NewsGator', id: 'newsgator', regexp: /NewsGator\/([0-9.]*)/u }, + { name: 'NewsGator', id: 'newsgator', regexp: /NewsGatorOnline\/([0-9.]*)/u }, + { name: 'NewsGator FetchLinks', id: 'newsgator', regexp: /NewsGator FetchLinks extension\/([0-9.]*)/u }, + { name: 'OpenWebSpider', id: 'spider', regexp: /OpenWebSpider v([0-9.]*)/u }, + { name: 'OrangeBot', id: 'orange', regexp: /OrangeBot-Collector\/([0-9.]*)/u }, + { name: 'OrangeBot', id: 'orange', regexp: /OrangeBot-Mobile/u }, + { name: 'PagesInventory ', id: 'pages', regexp: /PagesInventory/u }, + { name: 'Picsearch bot', id: 'psbot', regexp: /psbot-page/u }, + { name: 'Pingdom', id: 'pingdom', regexp: /Pingdom.com_bot_version_([0-9.]*)/u }, + { name: 'Pinterest', id: 'pinterest', regexp: /Pinterest\/([0-9.]+)( \(+|$)/u }, + { name: 'PostRank', id: 'postrank', regexp: /PostRank\/([0-9.]*)/u }, + { name: 'PowerMapper', id: 'crawler', regexp: /CrawlerProcess \(http:\/\/www\.PowerMapper\.com\) \/([0-9.]*)/u }, + { name: 'Radian 6', id: 'feed', regexp: /R6_FeedFetcher/u }, + { name: 'Radian 6', id: 'comment', regexp: /R6_CommentReader/u }, + { name: 'RssBar', id: 'rssbar', regexp: /RssBar\/([0-9.]*)/u }, + { name: 'ROI Hunter', id: 'hunter', regexp: /ROI Hunter/u }, + { name: 'QuerySeekerSpider', id: 'spider', regexp: /QuerySeekerSpider(?:\/([0-9.]*))?/u }, + { name: 'Quora Link Preview', id: 'quora', regexp: /Quora Link Preview\/([0-9.]*)/u }, + { name: 'SafeSearch Microdata', id: 'safesearch', regexp: /SafeSearch microdata crawler/u }, + { name: 'Scrapy', id: 'scrapy', regexp: /Scrapy\/([0-9.]*)/u }, + { name: 'ScreenerBot', id: 'crawler', regexp: /ScreenerBot Crawler Beta ([0-9.]*)/u }, + { name: 'Server Density', id: 'monitor', regexp: /Server Density Service Monitoring/u }, + { name: 'Seznam bot', id: 'seznam', regexp: /SeznamBot|SklikBot|Seznam screenshot-generator/u }, + { name: 'Seznam Email Proxy', id: 'seznam', regexp: /SeznamEmailProxy/u }, + { name: 'Seznam Zbozi.cz', id: 'seznam', regexp: /Seznam-Zbozi-robot/u }, + { name: 'ShopWiki', id: 'shopwiki', regexp: /ShopWiki\/([0-9.]*)/u }, + { name: 'SilverReader', id: 'reader', regexp: /SilverReader\/([0-9.]*)/u }, + { name: 'SimplePie', id: 'simplepie', regexp: /SimplePie\/([0-9.]*)/u }, + { name: 'Site24x7', id: 'site24', regexp: /Site24x7/u }, + { name: 'Sogou Web Spider', id: 'sogou', regexp: /sogou spider/u }, + { name: 'Sogou Web Spider', id: 'sogou', regexp: /Sogou pic spider\/([0-9.]*)/u }, + { name: 'Sogou Web Spider', id: 'sogou', regexp: /Sogou inst spider\/([0-9.]*)/u }, + { name: 'Sogou Web Spider', id: 'sogou', regexp: /Sogou web spider\/([0-9.]*)/u }, + { name: 'Sogou Mobile Spider', id: 'sogou', regexp: /Sogou Mobile Spider([0-9.]*)/u }, + { name: 'Sophora Linkchecker', id: 'sophora', regexp: /Sophora Linkchecker/u }, + { name: 'Soso Web Spider', id: 'soso', regexp: /Sosospider\/([0-9.]*)/u }, + { name: 'Soso Web Spider', id: 'soso', regexp: /Sosospider/u }, + { name: 'Soso Image Spider', id: 'soso', regexp: /Sosoimagespider/u }, + { name: 'SPDYCheck', id: 'spdycheck', regexp: /SPDYCheck SPDY Protocol Tester/iu }, + { name: 'Spinn3r', id: 'spinn', regexp: /Spinn3r ([0-9.]*)/iu }, + { name: 'Spiderlytics', id: 'spider', regexp: /Spiderlytics\/([0-9.]*)/iu }, + { name: 'StatusCake Error Detector', id: 'detector', regexp: /StatusCake Error Detector/iu }, + { name: 'Summify', id: 'summify', regexp: /Summify\/([0-9.]*)/u }, + { name: 'TelegramBot', id: 'telegram', regexp: /TelegramBot/u }, + { name: 'Twisted PageGetter', id: 'twisted', regexp: /Twisted PageGetter/u }, + { name: 'Twitterbot', id: 'twitter', regexp: /Twitterbot\/([0-9.]*)/u }, + { name: 'Tiny Tiny RSS', id: 'tiny', regexp: /Tiny Tiny RSS\/([0-9.]*)/u }, + { name: 'TLSProber', id: 'tlsprober', regexp: /TLSProber\/([0-9.]*)/u }, + { name: 'Typhoeus', id: 'typhoeus', regexp: /Typhoeus/u }, + { name: 'Vagabondo', id: 'vagabondo', regexp: /Vagabondo\/([0-9.]*)/u }, + { name: 'Voilabot', id: 'voila', regexp: /Voila[Bb]ot/u }, + { name: 'VocusBot', id: 'vocus', regexp: /VocusBot ([0-9.]*)/u }, + { name: 'Vodafone mCrawler', id: 'mcrawler', regexp: /Vodafone mCrawler/u }, + { name: 'W3Bot', id: 'w3bot', regexp: /W3Bot ([0-9.]*)/u }, + { name: 'W3C CSS Validator', id: 'jigsaw', regexp: /Jigsaw\/([0-9.]*)/u }, + { name: 'W3C Internationalization Checker', id: 'w3c', regexp: /W3C_I18n-Checker\/([0-9.]*)/u }, + { name: 'W3C Line Mode', id: 'w3c', regexp: /W3CLineMode\/([0-9.]*)/u }, + { name: 'W3C Link Checker', id: 'w3c', regexp: /W3C-checklink\/([0-9.]*)/u }, + { name: 'W3C Markup Validator', id: 'w3c', regexp: /W3C_Validator\/([0-9.]*)/u }, + { name: 'W3C MobileOK Checker', id: 'w3c', regexp: /W3C-mobileOK\/DDC-([0-9.]*)/u }, + { name: 'W3C Multipage Validator', id: 'w3c', regexp: /W3C_Multipage_Validator\/([0-9.]*)/u }, + { name: 'W3C Robot', id: 'w3c', regexp: /W3CRobot\/([0-9.]*)/u }, + { name: 'W3C Unified Validator', id: 'w3c', regexp: /W3C_Unicorn\/([0-9.]*)/u }, + { name: 'W3C Validator.nu', id: 'validator', regexp: /Validator.nu\//u }, + { name: 'Wayback Archive', id: 'wayback', regexp: /waybackarchive.org\/([0-9.]*)/u }, + { name: 'WebbCrawler', id: 'crawler', regexp: /WebbCrawler ([0-9.]*)/u }, + { name: 'WebIndexer', id: 'webindexer', regexp: /WebIndexer\//u }, + { name: 'WordPress', id: 'wordpress', regexp: /WordPress\/([0-9.]*)/u }, + { name: 'WordPress.com', id: 'wordpress', regexp: /WordPress\.com; http/u }, + { name: 'WordPress Jetpack', id: 'wordpress', regexp: /Jetpack by WordPress\.com/u }, + { name: 'WWW Mechanize', id: 'mechanize', regexp: /WWW-Mechanize\/([0-9.]*)/u }, + { name: 'Xerka WebBot', id: 'xerka', regexp: /Xerka WebBot v([0-9.]*)/u }, + { name: 'XML Sitemaps Generator', id: 'sitemap', regexp: /XML-Sitemaps\/([0-9.]*)/u }, + { name: 'XMLSitemapGenerator', id: 'sitemap', regexp: /XmlSitemapGenerator/u }, + { name: 'YaCy Bot', id: 'yacy', regexp: /yacy(?:\/|\s|bot)/u }, + { name: 'Yandex Anti Virus', id: 'yandex', regexp: /YandexAntivirus\/([0-9.]*)/u }, + { name: 'Yandex Blogs', id: 'yandex', regexp: /YandexBlogs\/([0-9.]*)/u }, + { name: 'Yandex Bot', id: 'yandex', regexp: /YandexBot\/([0-9.]*)/u }, + { name: 'Yandex Direct', id: 'yandex', regexp: /YandexDirect\/([0-9.]*)/u }, + { name: 'Yandex Favicons', id: 'yandex', regexp: /YandexFavicons\/([0-9.]*)/u }, + { name: 'Yandex Image Resizer', id: 'yandex', regexp: /YandexImageResizer\/([0-9.]*)/u }, + { name: 'Yandex Images', id: 'yandex', regexp: /YandexImages\/([0-9.]*)/u }, + { name: 'Yandex Metrika', id: 'yandex', regexp: /YandexMetrika\/([0-9.]*)/u }, + { name: 'Yandex News', id: 'yandex', regexp: /YandexNews\/([0-9.]*)/u }, + { name: 'Yandex Newslinks', id: 'yandex', regexp: /YandexNewslinks(?:\/([0-9.]*))?/u }, + { name: 'Yahoo! Ad Monitoring', id: 'yahoo', regexp: /Yahoo Ad monitoring/u }, + { name: 'Yahoo! Blogs', id: 'yahoo', regexp: /Yahoo-Blogs\/v([0-9.]*)/u }, + { name: 'Yahoo! Cache System', id: 'yahoo', regexp: /YahooCacheSystem/u }, + { name: 'Yahoo! Feed Seeker', id: 'yahoo', regexp: /YahooFeedSeeker\/([0-9.]*)/u }, + { name: 'Yahoo! Feed Seeker', id: 'yahoo', regexp: /YahooFeedSeeker Testing\/([0-9.]*)/u }, + { name: 'Yahoo! Image', id: 'yahoo', regexp: /Yahoo-MMCrawler\/([0-9.]*)/u }, + { name: 'Yahoo! Link Expander', id: 'yahoo', regexp: /Yahoo:LinkExpander/u }, + { name: 'Yahoo! Link Preview', id: 'yahoo', regexp: /Yahoo Link Preview/u }, + { name: 'Yahoo! Video', id: 'yahoo', regexp: /Yahoo-MMAudVid\/([0-9.]*)/u }, + { name: 'Yahoo! Mindset', id: 'yahoo', regexp: /Yahoo! Mindset/u }, + { name: 'Yahoo! Product Search', id: 'yahoo', regexp: /YahooSeeker\/ProductSearch([0-9.]*)/u }, + { name: 'Yahoo! Slurp', id: 'yahoo', regexp: /Yahoo! Slurp\/([0-9.]*)/u }, + { name: 'Yahoo! Slurp', id: 'yahoo', regexp: /Yahoo! Slurp/u }, + { name: 'Yahoo! Seeker', id: 'yahoo', regexp: /YahooSeeker(?:\/([0-9.]*))?/u }, + { name: 'Yahoo! Seeker', id: 'yahoo', regexp: /YahooSeeker-Testing\/v([0-9.]*)/u }, + { name: 'Yahoo! Seeker', id: 'yahoo', regexp: /yahooseeker-jp-mobile/u }, + { name: 'Yahoo! Site Checker', id: 'y!j', regexp: /Y!J SiteChecker/u }, + { name: 'Yahoo! Pipes', id: 'yahoo', regexp: /Yahoo Pipes ([0-9.]*)/u }, + { name: 'Yahoo! Video Search', id: 'yahoo', regexp: /YahooVideoSearch/u }, + { name: 'Yahoo! Japan', id: 'yahoo', regexp: /Yahoo! Japan/u }, + { name: 'Yahoo! Japan', id: 'y!j', regexp: /(^|\(compatible; )Y!J-/u }, - { name: 'Inktomi Slurp', id: 'slurp', regexp: /Slurp\/([0-9.]*)/u }, - { name: 'Inktomi Slurp', id: 'slurp', regexp: /Slurp\.so\/([0-9.]*)/u }, + { name: 'Inktomi Slurp', id: 'slurp', regexp: /Slurp\/([0-9.]*)/u }, + { name: 'Inktomi Slurp', id: 'slurp', regexp: /Slurp\.so\/([0-9.]*)/u }, - /* Generic bots */ - { name: 'Apache Httpd', id: 'httpclient', regexp: /Apache-HttpClient(?:\/([0-9.]*))?/u }, - { name: 'Apache Jakarta', id: 'httpclient', regexp: /Jakarta Commons-HttpClient(?:\/([0-9.]*))?/u }, - { name: 'Apache Nutch', id: 'nutch', regexp: /\/Nutch-([0-9.]*)/u }, - { name: 'Apache Nutch', id: 'nutch', regexp: /Nutch(?:CVS|Org)\/([0-9.]*)/u }, - { name: 'Apache Synapse', id: 'synapse', regexp: /compatible; Synapse/u }, - { name: 'Borland Delphi', id: 'indy', regexp: /Indy Library/u }, - { name: 'Wget', id: 'wget', regexp: /Wget\/([0-9.]*)/u }, - { name: 'Curl', id: 'curl', regexp: /^curl\/([0-9.]*)/u }, + /* Generic bots */ + { name: 'Apache Httpd', id: 'httpclient', regexp: /Apache-HttpClient(?:\/([0-9.]*))?/u }, + { name: 'Apache Jakarta', id: 'httpclient', regexp: /Jakarta Commons-HttpClient(?:\/([0-9.]*))?/u }, + { name: 'Apache Nutch', id: 'nutch', regexp: /\/Nutch-([0-9.]*)/u }, + { name: 'Apache Nutch', id: 'nutch', regexp: /Nutch(?:CVS|Org)\/([0-9.]*)/u }, + { name: 'Apache Synapse', id: 'synapse', regexp: /compatible; Synapse/u }, + { name: 'Borland Delphi', id: 'indy', regexp: /Indy Library/u }, + { name: 'Wget', id: 'wget', regexp: /Wget\/([0-9.]*)/u }, + { name: 'Curl', id: 'curl', regexp: /^curl\/([0-9.]*)/u }, - { name: 'Go', id: 'package', regexp: /Go [0-9\.]+ package http/u }, - { name: 'Java', id: 'java', regexp: /^Java\/([0-9.]*)/u }, - { name: 'Perl', id: 'simple', regexp: /LWP::Simple\//u }, - { name: 'Perl', id: 'libwww', regexp: /libwww-perl\//u }, - { name: 'Perl', id: 'lwp', regexp: /lwp-trivial\//u }, - { name: 'Python', id: 'urllib', regexp: /Python-urllib/u }, - { name: 'PHP', id: 'php', regexp: / PHP\/([0-9.]*)/u }, - { name: 'PHP', id: 'php', regexp: /^PHP/u }, - { name: 'PHP', id: 'pear', regexp: /PEAR HTTP_Request class/u }, - { name: 'PHP', id: 'php', regexp: /CakePHP/u }, - { name: 'PHP', id: 'zend', regexp: /Zend_Http_Client/u }, - { name: 'Ruby', id: 'ruby', regexp: /^Ruby/u }, + { name: 'Go', id: 'package', regexp: /Go [0-9\.]+ package http/u }, + { name: 'Java', id: 'java', regexp: /^Java\/([0-9.]*)/u }, + { name: 'Perl', id: 'simple', regexp: /LWP::Simple\//u }, + { name: 'Perl', id: 'libwww', regexp: /libwww-perl\//u }, + { name: 'Perl', id: 'lwp', regexp: /lwp-trivial\//u }, + { name: 'Python', id: 'urllib', regexp: /Python-urllib/u }, + { name: 'PHP', id: 'php', regexp: / PHP\/([0-9.]*)/u }, + { name: 'PHP', id: 'php', regexp: /^PHP/u }, + { name: 'PHP', id: 'pear', regexp: /PEAR HTTP_Request class/u }, + { name: 'PHP', id: 'php', regexp: /CakePHP/u }, + { name: 'PHP', id: 'zend', regexp: /Zend_Http_Client/u }, + { name: 'Ruby', id: 'ruby', regexp: /^Ruby/u } ]; /* This file is automatically generated, do not edit manually! */ diff --git a/data/regexes/applications-bots.js b/data/regexes/applications-bots.js index 2faa254..dd4812e 100644 --- a/data/regexes/applications-bots.js +++ b/data/regexes/applications-bots.js @@ -2,4 +2,4 @@ /* eslint-disable */ -exports.BOTS_REGEX = /(008|360|a6|abound|muncher|adaxas|addthis|admantx|ahrefsbot|archiver|altavista|curious|cloudfront|amorank|archive|jeeves|astra|backlink|baidu|bazqux|bingbot|msnbot|msmobot|bing|blogbridge|bloglines|bloglovin|blogpulse|blogram|blogtrot|blogshares|boardreader|browsershots|bubing|butterfly|heritrix|cliqz|cloudflare|comodo|commafeed|cbot|watchdog|datasearch|daumoa|digg|domain|exabot|exactseek|ezooms|facebook|fast|flamingo|fastladder|feed|wrangler|validator|fever|friendica|robot|genieo|fetchor|google|gomez|ichiro|gooblog|goorss|grammarly|grub|hatena|capture|htdig|httpmon|hubpages|spider|crawler|kouio|larbin|linkedin|linkdex|livedoor|ltx71|magpie|mapion|socialstreams|mixi|mnogo|monitor|yeti|netcraft|netvibes|newsblur|newsgator|orange|pages|psbot|pingdom|pinterest|postrank|comment|rssbar|hunter|quora|safesearch|scrapy|shopwiki|reader|simplepie|site24|sogou|sophora|soso|spdycheck|spinn|detector|summify|telegram|twisted|twitter|tiny|tlsprober|typhoeus|vagabondo|voila|vocus|mcrawler|w3bot|jigsaw|w3c|wayback|webindexer|wordpress|mechanize|xerka|sitemap|yacy|yandex|yahoo|y!j|slurp|httpclient|nutch|synapse|indy|wget|curl|package|java|simple|libwww|lwp|urllib|php|pear|zend|ruby)/i; \ No newline at end of file +exports.BOTS_REGEX = /(008|360|a6|abound|muncher|adaxas|addthis|admantx|ahrefsbot|archiver|altavista|curious|cloudfront|amorank|archive|jeeves|astra|backlink|baidu|bazqux|bingbot|msnbot|msmobot|bing|blogbridge|bloglines|bloglovin|blogpulse|blogram|blogtrot|blogshares|boardreader|browsershots|bubing|butterfly|heritrix|cliqz|cloudflare|comodo|commafeed|cbot|watchdog|datasearch|daumoa|digg|domain|exabot|exactseek|ezooms|facebook|fast|flamingo|fastladder|feed|wrangler|validator|fever|friendica|robot|genieo|fetchor|google|gomez|ichiro|gooblog|goorss|grammarly|grub|hatena|capture|heureka|htdig|httpmon|hubpages|spider|crawler|kouio|larbin|linkedin|linkdex|livedoor|ltx71|magpie|mapion|socialstreams|mixi|mnogo|monitor|yeti|netcraft|netvibes|newsblur|newsgator|orange|pages|psbot|pingdom|pinterest|postrank|comment|rssbar|hunter|quora|safesearch|scrapy|seznam|shopwiki|reader|simplepie|site24|sogou|sophora|soso|spdycheck|spinn|detector|summify|telegram|twisted|twitter|tiny|tlsprober|typhoeus|vagabondo|voila|vocus|mcrawler|w3bot|jigsaw|w3c|wayback|webindexer|wordpress|mechanize|xerka|sitemap|yacy|yandex|yahoo|y!j|slurp|httpclient|nutch|synapse|indy|wget|curl|package|java|simple|libwww|lwp|urllib|php|pear|zend|ruby)/i; From 4ed2fc296e1949b0cb8c5563a65b8cf97649241a Mon Sep 17 00:00:00 2001 From: Simone Mariotti Date: Tue, 6 Mar 2018 10:05:24 +0100 Subject: [PATCH 2/3] Update devDependencies --- package-lock.json | 1531 +++++++++++++++++++++++++++++---------------- package.json | 18 +- 2 files changed, 1008 insertions(+), 541 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3914f3a..043ee67 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "which-browser", - "version": "0.2.3", + "version": "0.2.8", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -11,9 +11,9 @@ "dev": true }, "acorn": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.1.1.tgz", - "integrity": "sha512-vOk6uEMctu0vQrvuSqFdJyqj1Q0S5VTDL79qtjo+DhRr+1mmaD+tluFSCZqhvi/JUhXSzoZN2BhtstaPEeE8cw==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.5.0.tgz", + "integrity": "sha512-arn53F07VXmls4o4pUhSzBa4fvaagPRe7AVZ8l7NHxFWUie2DsuFSBMMNAkgzRlOhEhzAnxeKyaWVzOH4xqp/g==", "dev": true }, "acorn-jsx": { @@ -34,15 +34,23 @@ } }, "ajv": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", - "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "dev": true, "requires": { "co": "4.6.0", - "json-stable-stringify": "1.0.1" + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" } }, + "ajv-keywords": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", + "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=", + "dev": true + }, "align-text": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", @@ -61,9 +69,9 @@ "dev": true }, "ansi-escapes": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-2.0.0.tgz", - "integrity": "sha1-W65SvkJIeN2Xg+iRDj/Cki6DyBs=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.0.0.tgz", + "integrity": "sha512-O/klc27mWNUigtv0F8NJWbLF00OcegQalkqKURWdosW08YZKi4m6CnSUSvIZG1otNJbTWhN01Hhz389DW7mvDQ==", "dev": true }, "ansi-regex": { @@ -127,9 +135,9 @@ "dev": true }, "assert-plus": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", - "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "dev": true }, "async": { @@ -145,9 +153,9 @@ "dev": true }, "aws-sign2": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", - "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", "dev": true }, "aws4": { @@ -157,9 +165,9 @@ "dev": true }, "babel-code-frame": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz", - "integrity": "sha1-AnYgvuVnqIwyVhV05/0IAdMxGOQ=", + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { "chalk": "1.1.3", @@ -184,18 +192,18 @@ } }, "bluebird": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz", - "integrity": "sha1-U0uQM8AiyVecVro7Plpcqvu2UOE=", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", + "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==", "dev": true }, "boom": { - "version": "2.10.1", - "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", - "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz", + "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=", "dev": true, "requires": { - "hoek": "2.16.3" + "hoek": "4.2.1" } }, "bossy": { @@ -204,16 +212,10 @@ "integrity": "sha1-+a6fJugbQaMY9O4Ng2huSlwlB7k=", "dev": true, "requires": { - "hoek": "4.1.1", + "hoek": "4.2.1", "joi": "10.6.0" }, "dependencies": { - "hoek": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.1.1.tgz", - "integrity": "sha1-nMVz/7ore0CPtenCoTeWvpTN3Ok=", - "dev": true - }, "isemail": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/isemail/-/isemail-2.2.1.tgz", @@ -226,20 +228,11 @@ "integrity": "sha512-hBF3LcqyAid+9X/pwg+eXjD2QBZI5eXnBFJYaAkH4SK3mp9QSRiiQnDYlmlz5pccMvnLcJRS4whhDOTCkmsAdQ==", "dev": true, "requires": { - "hoek": "4.1.1", + "hoek": "4.2.1", "isemail": "2.2.1", "items": "2.1.1", "topo": "2.0.2" } - }, - "topo": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/topo/-/topo-2.0.2.tgz", - "integrity": "sha1-zVYVdSU5BXwNwEkaYhw7xvvh0YI=", - "dev": true, - "requires": { - "hoek": "4.1.1" - } } } }, @@ -305,6 +298,12 @@ "supports-color": "2.0.0" } }, + "chardet": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", + "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", + "dev": true + }, "ci-info": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.0.0.tgz", @@ -312,9 +311,9 @@ "dev": true }, "circular-json": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.1.tgz", - "integrity": "sha1-vos2rvzN6LPKeqLWr8B6NyQsDS0=", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", + "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", "dev": true }, "cli-cursor": { @@ -351,6 +350,12 @@ "number-is-nan": "1.0.1" } }, + "slice-ansi": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", + "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", + "dev": true + }, "string-width": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", @@ -365,9 +370,9 @@ } }, "cli-width": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.1.0.tgz", - "integrity": "sha1-sjTKIJsp72b8UY2bmNWEewDt8Ao=", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", "dev": true }, "cliui": { @@ -398,18 +403,19 @@ "dev": true }, "codacy-coverage": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/codacy-coverage/-/codacy-coverage-2.0.2.tgz", - "integrity": "sha1-OU8vPA4rjukkKB5jPfUeKblN2Nk=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/codacy-coverage/-/codacy-coverage-2.1.0.tgz", + "integrity": "sha512-KNQW7z8v1xGpXo0foeef9OTojeotB1ejHXdRLVbb3MHj9g8AmhceyFASJBO66hXtB5OqKGpZqghyy80+7st3Kw==", "dev": true, "requires": { - "bluebird": "2.11.0", - "commander": "2.11.0", - "joi": "6.10.1", - "lcov-parse": "0.0.10", - "lodash": "4.17.4", - "log-driver": "1.2.5", - "request-promise": "0.4.3" + "bluebird": "3.5.1", + "commander": "2.14.1", + "joi": "12.0.0", + "lcov-parse": "1.0.0", + "lodash": "4.17.5", + "log-driver": "1.2.7", + "request": "2.83.0", + "request-promise": "4.2.2" } }, "code": { @@ -436,22 +442,63 @@ "dev": true }, "codecov": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/codecov/-/codecov-2.2.0.tgz", - "integrity": "sha1-LQaBfOuIkeymNog21Ptr9swE/9E=", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/codecov/-/codecov-2.3.1.tgz", + "integrity": "sha1-fdqUXNWKH2CBAltbA+4Bou8g+G4=", "dev": true, "requires": { "argv": "0.0.2", - "request": "2.79.0", + "request": "2.77.0", "urlgrey": "0.4.4" }, "dependencies": { + "assert-plus": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", + "dev": true + }, + "aws-sign2": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", + "dev": true + }, + "boom": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", + "dev": true, + "requires": { + "hoek": "2.16.3" + } + }, "caseless": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=", "dev": true }, + "cryptiles": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", + "dev": true, + "requires": { + "boom": "2.10.1" + } + }, + "form-data": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", + "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", + "dev": true, + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.6", + "mime-types": "2.1.18" + } + }, "har-validator": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", @@ -459,11 +506,46 @@ "dev": true, "requires": { "chalk": "1.1.3", - "commander": "2.11.0", - "is-my-json-valid": "2.16.0", + "commander": "2.14.1", + "is-my-json-valid": "2.17.2", "pinkie-promise": "2.0.1" } }, + "hawk": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", + "dev": true, + "requires": { + "boom": "2.10.1", + "cryptiles": "2.0.5", + "hoek": "2.16.3", + "sntp": "1.0.9" + } + }, + "hoek": { + "version": "2.16.3", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", + "dev": true + }, + "http-signature": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", + "dev": true, + "requires": { + "assert-plus": "0.2.0", + "jsprim": "1.4.1", + "sshpk": "1.13.1" + } + }, + "node-uuid": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz", + "integrity": "sha1-sEDrCSOWivq/jTL7HxfxFn/auQc=", + "dev": true + }, "qs": { "version": "6.3.2", "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.2.tgz", @@ -471,15 +553,15 @@ "dev": true }, "request": { - "version": "2.79.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz", - "integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=", + "version": "2.77.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.77.0.tgz", + "integrity": "sha1-KwDYIDDt7cyXCJ/6XYgQqcKqMUs=", "dev": true, "requires": { "aws-sign2": "0.6.0", "aws4": "1.6.0", "caseless": "0.11.0", - "combined-stream": "1.0.5", + "combined-stream": "1.0.6", "extend": "3.0.1", "forever-agent": "0.6.1", "form-data": "2.1.4", @@ -489,13 +571,22 @@ "is-typedarray": "1.0.0", "isstream": "0.1.2", "json-stringify-safe": "5.0.1", - "mime-types": "2.1.15", + "mime-types": "2.1.18", + "node-uuid": "1.4.8", "oauth-sign": "0.8.2", "qs": "6.3.2", "stringstream": "0.0.5", - "tough-cookie": "2.3.2", - "tunnel-agent": "0.4.3", - "uuid": "3.1.0" + "tough-cookie": "2.3.4", + "tunnel-agent": "0.4.3" + } + }, + "sntp": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", + "dev": true, + "requires": { + "hoek": "2.16.3" } }, "tunnel-agent": { @@ -507,33 +598,33 @@ } }, "color-convert": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.0.tgz", - "integrity": "sha1-Gsz5fdc5uYO/mU1W/sj5WFNkG3o=", + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", + "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", "dev": true, "requires": { - "color-name": "1.1.2" + "color-name": "1.1.3" } }, "color-name": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.2.tgz", - "integrity": "sha1-XIq3K2S9IhXWF66VWeuxSEdc+Y0=", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, "combined-stream": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", - "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", + "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", "dev": true, "requires": { "delayed-stream": "1.0.0" } }, "commander": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", - "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==", + "version": "2.14.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.14.1.tgz", + "integrity": "sha512-+YR16o3rK53SmWHU3rEM3tPAh2rwb1yPcQX5irVn7mb0gXbwuCCrnkbV5+PBfETdfg1vui07nM6PCG1zndcjQw==", "dev": true }, "concat-map": { @@ -543,13 +634,13 @@ "dev": true }, "concat-stream": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", - "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.1.tgz", + "integrity": "sha512-gslSSJx03QKa59cIKqeJO9HQ/WZMotvYJCuaUULrLpjj8oG40kV2Z+gz82pVxlTkOADi4PJxQPPfhl1ELYrrXw==", "dev": true, "requires": { "inherits": "2.0.3", - "readable-stream": "2.3.3", + "readable-stream": "2.3.5", "typedarray": "0.0.6" } }, @@ -595,12 +686,23 @@ } }, "cryptiles": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", - "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz", + "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=", "dev": true, "requires": { - "boom": "2.10.1" + "boom": "5.2.0" + }, + "dependencies": { + "boom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", + "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", + "dev": true, + "requires": { + "hoek": "4.2.1" + } + } } }, "dashdash": { @@ -610,26 +712,18 @@ "dev": true, "requires": { "assert-plus": "1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - } } }, "date-fns": { - "version": "1.28.5", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.28.5.tgz", - "integrity": "sha1-JXz8RdMi30XvVlhmWWfuhBzXP68=", + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.29.0.tgz", + "integrity": "sha512-lbTXWZ6M20cWH8N9S6afb0SBm6tMk+uUg6z3MqHPKE9atmsY3kJkTm8vKe93izJ2B2+q5MV990sM2CHgtAZaOw==", "dev": true }, "debug": { - "version": "2.6.8", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", - "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "dev": true, "requires": { "ms": "2.0.0" @@ -660,7 +754,7 @@ "object-assign": "4.1.1", "pify": "2.3.0", "pinkie-promise": "2.0.1", - "rimraf": "2.6.1" + "rimraf": "2.6.2" } }, "delayed-stream": { @@ -670,19 +764,18 @@ "dev": true }, "diff": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.3.0.tgz", - "integrity": "sha512-w0XZubFWn0Adlsapj9EAWX0FqWdO4tz8kc3RiYdWLh4k/V8PTb6i0SMgXt0vRM3zyKnT8tKO7mUlieRQHIjMNg==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.3.1.tgz", + "integrity": "sha512-MKPHZDMB0o6yHyDryUOScqZibp914ksXwAMYMTHj6KO8UeKsRYNJD3oNCKjTqZon+V488P7N/HzXF8t7ZR95ww==", "dev": true }, "doctrine": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.0.0.tgz", - "integrity": "sha1-xz2NKQnSIpHhoAejlYBNqLZl/mM=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "requires": { - "esutils": "2.0.2", - "isarray": "1.0.0" + "esutils": "2.0.2" } }, "ecc-jsbn": { @@ -744,56 +837,102 @@ } }, "eslint": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.2.0.tgz", - "integrity": "sha1-orMYQRGxmOAunH88ymJaXgHFaz0=", + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.18.2.tgz", + "integrity": "sha512-qy4i3wODqKMYfz9LUI8N2qYDkHkoieTbiHpMrYUI/WbjhXJQr7lI4VngixTgaG+yHX+NBCv7nW4hA0ShbvaNKw==", "dev": true, "requires": { - "ajv": "5.2.2", - "babel-code-frame": "6.22.0", - "chalk": "1.1.3", - "concat-stream": "1.6.0", - "debug": "2.6.8", - "doctrine": "2.0.0", + "ajv": "5.5.2", + "babel-code-frame": "6.26.0", + "chalk": "2.3.2", + "concat-stream": "1.6.1", + "cross-spawn": "5.1.0", + "debug": "3.1.0", + "doctrine": "2.1.0", "eslint-scope": "3.7.1", - "espree": "3.4.3", + "eslint-visitor-keys": "1.0.0", + "espree": "3.5.4", "esquery": "1.0.0", - "estraverse": "4.2.0", "esutils": "2.0.2", "file-entry-cache": "2.0.0", + "functional-red-black-tree": "1.0.1", "glob": "7.1.2", - "globals": "9.18.0", - "ignore": "3.3.3", + "globals": "11.3.0", + "ignore": "3.3.7", "imurmurhash": "0.1.4", - "inquirer": "3.2.0", - "is-resolvable": "1.0.0", - "js-yaml": "3.9.0", - "json-stable-stringify": "1.0.1", + "inquirer": "3.3.0", + "is-resolvable": "1.1.0", + "js-yaml": "3.11.0", + "json-stable-stringify-without-jsonify": "1.0.1", "levn": "0.3.0", - "lodash": "4.17.4", + "lodash": "4.17.5", "minimatch": "3.0.4", "mkdirp": "0.5.1", "natural-compare": "1.4.0", "optionator": "0.8.2", "path-is-inside": "1.0.2", - "pluralize": "4.0.0", + "pluralize": "7.0.0", "progress": "2.0.0", "require-uncached": "1.0.3", + "semver": "5.5.0", + "strip-ansi": "4.0.0", "strip-json-comments": "2.0.1", - "table": "4.0.1", + "table": "4.0.2", "text-table": "0.2.0" }, "dependencies": { - "ajv": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.2.2.tgz", - "integrity": "sha1-R8aNaehvXZUxA7AHSpQw3GPaXjk=", + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.1" + } + }, + "chalk": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", + "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.3.0" + } + }, + "js-yaml": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.11.0.tgz", + "integrity": "sha512-saJstZWv7oNeOyBh3+Dx1qWzhW0+e6/8eDzo7p5rDFqxntSztloLtuKu+Ejhtq82jsilwOIZYsCz+lIjthg1Hw==", + "dev": true, + "requires": { + "argparse": "1.0.9", + "esprima": "4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "co": "4.6.0", - "fast-deep-equal": "1.0.0", - "json-schema-traverse": "0.3.1", - "json-stable-stringify": "1.0.1" + "ansi-regex": "3.0.0" + } + }, + "supports-color": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", + "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", + "dev": true, + "requires": { + "has-flag": "3.0.0" } } } @@ -804,14 +943,21 @@ "integrity": "sha512-pVRvIPElH6JivuOsvnMKIWhX3JCJNOZnY7f0G5dX43ha4ZL4KI7P2dOiPqfD+Pkft1TJSbm7SuTmEx0SpvFCxQ==", "dev": true }, + "eslint-config-hapi": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-hapi/-/eslint-config-hapi-10.1.0.tgz", + "integrity": "sha512-tAUedyvZla1qKt6jhOx7mj5tYDVCwdSyImpEK7wk/A/atKUjg18aHUK6Q6qWWM6rq21I1F/A8JAhIpkk0SvFMQ==", + "dev": true + }, "eslint-plugin-hapi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-hapi/-/eslint-plugin-hapi-4.0.0.tgz", - "integrity": "sha1-RKouRfeTmlI5Kc2DK7mqEpqV6CM=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-hapi/-/eslint-plugin-hapi-4.1.0.tgz", + "integrity": "sha512-z1yUoSWArx6pXaC0FoWRFpqjbHn8QWonJiTVhJmiC14jOAT7FZKdKWCkhM4jQrgrkEK9YEv3p2HuzSf5dtWmuQ==", "dev": true, "requires": { "hapi-capitalize-modules": "1.1.6", "hapi-for-you": "1.0.0", + "hapi-no-var": "1.0.1", "hapi-scope-start": "2.1.1", "no-arrowception": "1.0.0" } @@ -822,17 +968,23 @@ "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", "dev": true, "requires": { - "esrecurse": "4.2.0", + "esrecurse": "4.2.1", "estraverse": "4.2.0" } }, + "eslint-visitor-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", + "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==", + "dev": true + }, "espree": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/espree/-/espree-3.4.3.tgz", - "integrity": "sha1-KRC1zNSc6JPC//+qtP2LOjG4I3Q=", + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz", + "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", "dev": true, "requires": { - "acorn": "5.1.1", + "acorn": "5.5.0", "acorn-jsx": "3.0.1" } }, @@ -852,13 +1004,12 @@ } }, "esrecurse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", - "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", "dev": true, "requires": { - "estraverse": "4.2.0", - "object-assign": "4.1.1" + "estraverse": "4.2.0" } }, "estraverse": { @@ -874,9 +1025,9 @@ "dev": true }, "execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz", + "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=", "dev": true, "requires": { "cross-spawn": "5.1.0", @@ -901,26 +1052,32 @@ "dev": true }, "external-editor": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.0.4.tgz", - "integrity": "sha1-HtkZnanL/i7y96MbL96LDRI2iXI=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.1.0.tgz", + "integrity": "sha512-E44iT5QVOUJBKij4IIV3uvxuNlbKS38Tw1HiupxEIHPv9qtC2PrDYohbXV5U+1jnfIXttny8gUhj+oZvflFlzA==", "dev": true, "requires": { - "iconv-lite": "0.4.18", - "jschardet": "1.4.2", - "tmp": "0.0.31" + "chardet": "0.4.2", + "iconv-lite": "0.4.19", + "tmp": "0.0.33" } }, "extsprintf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz", - "integrity": "sha1-4QgOBljjALBilJkMxw4VAiNf1VA=", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", "dev": true }, "fast-deep-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz", - "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", "dev": true }, "fast-levenshtein": { @@ -944,7 +1101,7 @@ "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", "dev": true, "requires": { - "flat-cache": "1.2.2", + "flat-cache": "1.3.0", "object-assign": "4.1.1" } }, @@ -955,12 +1112,12 @@ "dev": true }, "flat-cache": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.2.2.tgz", - "integrity": "sha1-+oZxTnLCHbiGAXYezy9VXRq8a5Y=", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz", + "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", "dev": true, "requires": { - "circular-json": "0.3.1", + "circular-json": "0.3.3", "del": "2.2.2", "graceful-fs": "4.1.11", "write": "0.2.1" @@ -973,14 +1130,14 @@ "dev": true }, "form-data": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", - "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", + "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", "dev": true, "requires": { "asynckit": "0.4.0", - "combined-stream": "1.0.5", - "mime-types": "2.1.15" + "combined-stream": "1.0.6", + "mime-types": "2.1.18" } }, "formatio": { @@ -989,7 +1146,7 @@ "integrity": "sha1-87IWfZBoxGmKjVH092CjmlTYGOs=", "dev": true, "requires": { - "samsam": "1.2.1" + "samsam": "1.3.0" } }, "fs.realpath": { @@ -998,6 +1155,12 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, "generate-function": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", @@ -1013,6 +1176,12 @@ "is-property": "1.0.2" } }, + "get-own-enumerable-property-symbols": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-2.0.1.tgz", + "integrity": "sha512-TtY/sbOemiMKPRUDDanGCSgBYe7Mf0vbRsWnBZ+9yghpZ1MvcpSpuZFjHdEeY/LZjZy0vdLjS77L6HosisFiug==", + "dev": true + }, "get-stream": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", @@ -1026,14 +1195,6 @@ "dev": true, "requires": { "assert-plus": "1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - } } }, "glob": { @@ -1051,9 +1212,9 @@ } }, "globals": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "version": "11.3.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.3.0.tgz", + "integrity": "sha512-kkpcKNlmQan9Z5ZmgqKH/SMbSmjxQ7QjyNqfXVc8VJcoBV2UEg+sxQD15GQofGRh2hfpwUb70VC31DR7Rq5Hdw==", "dev": true }, "globby": { @@ -1111,6 +1272,12 @@ "integrity": "sha1-02L77o172pwseAHiB+WlzRoLans=", "dev": true }, + "hapi-no-var": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hapi-no-var/-/hapi-no-var-1.0.1.tgz", + "integrity": "sha512-kk2xyyTzI+eQ/oA1rO4eVdCpYsrPHVERHa6+mTHD08XXFLaAkkaEs6reMg1VyqGh2o5xPt//DO4EhCacLx/cRA==", + "dev": true + }, "hapi-scope-start": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/hapi-scope-start/-/hapi-scope-start-2.1.1.tgz", @@ -1118,19 +1285,19 @@ "dev": true }, "har-schema": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", - "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", "dev": true }, "har-validator": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", - "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", + "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", "dev": true, "requires": { - "ajv": "4.11.8", - "har-schema": "1.0.5" + "ajv": "5.5.2", + "har-schema": "2.0.0" } }, "has-ansi": { @@ -1143,37 +1310,37 @@ } }, "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "hawk": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", - "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz", + "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==", "dev": true, "requires": { - "boom": "2.10.1", - "cryptiles": "2.0.5", - "hoek": "2.16.3", - "sntp": "1.0.9" + "boom": "4.3.1", + "cryptiles": "3.1.2", + "hoek": "4.2.1", + "sntp": "2.1.0" } }, "hoek": { - "version": "2.16.3", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", - "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", + "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==", "dev": true }, "http-signature": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", - "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "dev": true, "requires": { - "assert-plus": "0.2.0", - "jsprim": "1.4.0", + "assert-plus": "1.0.0", + "jsprim": "1.4.1", "sshpk": "1.13.1" } }, @@ -1189,15 +1356,15 @@ } }, "iconv-lite": { - "version": "0.4.18", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.18.tgz", - "integrity": "sha512-sr1ZQph3UwHTR0XftSbK85OvBbxe/abLGzEnPENCQwmHf7sck8Oyu4ob3LgBxWWxRoM+QszeUyl7jbqapu2TqA==", + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", + "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==", "dev": true }, "ignore": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.3.tgz", - "integrity": "sha1-QyNS5XrM2HqzEQ6C0/6g5HgSFW0=", + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.7.tgz", + "integrity": "sha512-YGG3ejvBNHRqu0559EOxxNFihD0AjpvHlC/pdGKd3X3ofe+CoJkYazwNJYTNebqpPKN+VVQbh4ZFn1DivMNuHA==", "dev": true }, "imurmurhash": { @@ -1232,23 +1399,23 @@ "dev": true }, "inquirer": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.2.0.tgz", - "integrity": "sha512-4CyUYMP7lOBkiUU1rR24WGrfRX6SucwbY2Mqb1PdApU24wnTIk4TsnkQwV72dDdIKZ2ycLP+fWCV+tA7wwgoew==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", + "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", "dev": true, "requires": { - "ansi-escapes": "2.0.0", - "chalk": "2.0.1", + "ansi-escapes": "3.0.0", + "chalk": "2.3.2", "cli-cursor": "2.1.0", - "cli-width": "2.1.0", - "external-editor": "2.0.4", + "cli-width": "2.2.0", + "external-editor": "2.1.0", "figures": "2.0.0", - "lodash": "4.17.4", + "lodash": "4.17.5", "mute-stream": "0.0.7", "run-async": "2.3.0", "rx-lite": "4.0.8", "rx-lite-aggregates": "4.0.8", - "string-width": "2.1.0", + "string-width": "2.1.1", "strip-ansi": "4.0.0", "through": "2.3.8" }, @@ -1260,23 +1427,23 @@ "dev": true }, "ansi-styles": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.1.0.tgz", - "integrity": "sha1-CcIC1ckX7CMYjKpcnLkXnNlUd1A=", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.0" + "color-convert": "1.9.1" } }, "chalk": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.0.1.tgz", - "integrity": "sha512-Mp+FXEI+FrwY/XYV45b2YD3E8i3HwnEAoFcM0qlZzq/RZ9RwWitt2Y/c7cqRAz70U7hfekqx6qNYthuKFO6K0g==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", + "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", "dev": true, "requires": { - "ansi-styles": "3.1.0", + "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", - "supports-color": "4.2.0" + "supports-color": "5.3.0" } }, "strip-ansi": { @@ -1289,12 +1456,12 @@ } }, "supports-color": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.2.0.tgz", - "integrity": "sha512-Ts0Mu/A1S1aZxEJNG88I4Oc9rcZSBFNac5e27yh4j2mqbhZSSzR1Ah79EYwSn9Zuh7lrlGD2cVGzw1RKGzyLSg==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", + "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", "dev": true, "requires": { - "has-flag": "2.0.0" + "has-flag": "3.0.0" } } } @@ -1320,6 +1487,12 @@ "ci-info": "1.0.0" } }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, "is-finite": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", @@ -1335,18 +1508,40 @@ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, + "is-glob": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", + "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "dev": true, + "requires": { + "is-extglob": "2.1.1" + } + }, + "is-my-ip-valid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz", + "integrity": "sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ==", + "dev": true + }, "is-my-json-valid": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz", - "integrity": "sha1-8Hndm/2uZe4gOKrorLyGqxCeNpM=", + "version": "2.17.2", + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.17.2.tgz", + "integrity": "sha512-IBhBslgngMQN8DDSppmgDv7RNrlFotuuDsKcrCP3+HbFaVivIBU7u9oiiErw8sH4ynx3+gOGQ3q2otkgiSi6kg==", "dev": true, "requires": { "generate-function": "2.0.0", "generate-object-property": "1.2.0", + "is-my-ip-valid": "1.0.0", "jsonpointer": "4.0.1", "xtend": "4.0.1" } }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true + }, "is-path-cwd": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", @@ -1359,13 +1554,13 @@ "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=", "dev": true, "requires": { - "is-path-inside": "1.0.0" + "is-path-inside": "1.0.1" } }, "is-path-inside": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz", - "integrity": "sha1-/AbloWg/vaE95mev9xe7wQpI838=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", + "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", "dev": true, "requires": { "path-is-inside": "1.0.2" @@ -1383,14 +1578,17 @@ "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", "dev": true }, - "is-resolvable": { + "is-regexp": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.0.tgz", - "integrity": "sha1-jfV8YeouPFAUCNEA+wE8+NbgzGI=", - "dev": true, - "requires": { - "tryit": "1.0.3" - } + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=", + "dev": true + }, + "is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", + "dev": true }, "is-stream": { "version": "1.1.0", @@ -1411,10 +1609,13 @@ "dev": true }, "isemail": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/isemail/-/isemail-1.2.0.tgz", - "integrity": "sha1-vgPfjMPineTSxd9lASY/H6RZXpo=", - "dev": true + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isemail/-/isemail-3.1.1.tgz", + "integrity": "sha512-mVjAjvdPkpwXW61agT2E9AkGoegZO7SdJGCezWwxnETL58f5KwJ4vSVAMBUL5idL6rTlYAIGkX3n4suiviMLNw==", + "dev": true, + "requires": { + "punycode": "2.1.0" + } }, "isexe": { "version": "2.0.0", @@ -1492,16 +1693,64 @@ "integrity": "sha1-i9FtnIOxlSneWuoyGsqtp4NkoZg=", "dev": true }, + "jest-get-type": { + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-21.2.0.tgz", + "integrity": "sha512-y2fFw3C+D0yjNSDp7ab1kcd6NUYfy3waPTlD8yWkAtiocJdBRQqNoRqVfMNxgj+IjT0V5cBIHJO0z9vuSSZ43Q==", + "dev": true + }, + "jest-validate": { + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-21.2.1.tgz", + "integrity": "sha512-k4HLI1rZQjlU+EC682RlQ6oZvLrE5SCh3brseQc24vbZTxzT/k/3urar5QMCVgjadmSO7lECeGdc6YxnM3yEGg==", + "dev": true, + "requires": { + "chalk": "2.3.2", + "jest-get-type": "21.2.0", + "leven": "2.1.0", + "pretty-format": "21.2.1" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.1" + } + }, + "chalk": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", + "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.3.0" + } + }, + "supports-color": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", + "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } + } + }, "joi": { - "version": "6.10.1", - "resolved": "https://registry.npmjs.org/joi/-/joi-6.10.1.tgz", - "integrity": "sha1-TVDDGAeRIgAP5fFq8f+OGRe3fgY=", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-12.0.0.tgz", + "integrity": "sha512-z0FNlV4NGgjQN1fdtHYXf5kmgludM65fG/JlXzU6+rwkt9U5UWuXVYnXa2FpK0u6+qBuCmrm5byPNuiiddAHvQ==", "dev": true, "requires": { - "hoek": "2.16.3", - "isemail": "1.2.0", - "moment": "2.18.1", - "topo": "1.1.0" + "hoek": "4.2.1", + "isemail": "3.1.1", + "topo": "2.0.2" } }, "js-tokens": { @@ -1527,12 +1776,6 @@ "dev": true, "optional": true }, - "jschardet": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jschardet/-/jschardet-1.4.2.tgz", - "integrity": "sha1-KqEH8UKvQSHRRWWdRPUIMJYeaZo=", - "dev": true - }, "json-schema": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", @@ -1554,6 +1797,12 @@ "jsonify": "0.0.0" } }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", @@ -1573,23 +1822,15 @@ "dev": true }, "jsprim": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.0.tgz", - "integrity": "sha1-o7h+QCmNjDgFUtjMdiigu5WiKRg=", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", "dev": true, "requires": { "assert-plus": "1.0.0", - "extsprintf": "1.0.2", + "extsprintf": "1.3.0", "json-schema": "0.2.3", - "verror": "1.3.6" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - } + "verror": "1.10.0" } }, "kind-of": { @@ -1602,87 +1843,160 @@ } }, "lab": { - "version": "14.1.1", - "resolved": "https://registry.npmjs.org/lab/-/lab-14.1.1.tgz", - "integrity": "sha512-kfSwUxfmXbi191a2T0P3BNc4tDSoTw6i5QvoGTuPQiJ1Cx0Q6D7ZZwiNqxyJtjoZDO7fGhX0eGCir8FCSpc6Tw==", + "version": "14.3.2", + "resolved": "https://registry.npmjs.org/lab/-/lab-14.3.2.tgz", + "integrity": "sha512-Y56h5uJWy1gqGWaiINhOjsxJo1sn13BtefCmFNQKAq8E36+ZHkjV8Vcps+uct87/94mTODrpkmYo3F0Zg0ewHA==", "dev": true, "requires": { "bossy": "3.0.4", "code": "4.1.0", - "diff": "3.3.0", - "eslint": "4.0.0", - "eslint-config-hapi": "10.0.0", - "eslint-plugin-hapi": "4.0.0", - "espree": "3.4.3", + "diff": "3.3.1", + "eslint": "4.7.2", + "eslint-config-hapi": "10.1.0", + "eslint-plugin-hapi": "4.1.0", + "espree": "3.5.4", "find-rc": "3.0.1", "handlebars": "4.0.10", - "hoek": "4.1.1", + "hoek": "4.2.1", "items": "2.1.1", "json-stable-stringify": "1.0.1", "json-stringify-safe": "5.0.1", "mkdirp": "0.5.1", "seedrandom": "2.4.3", - "source-map": "0.5.6", - "source-map-support": "0.4.15" + "source-map": "0.6.1", + "source-map-support": "0.4.18", + "supports-color": "4.4.0" }, "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.1" + } + }, + "chalk": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", + "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", + "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } + } + }, "eslint": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.0.0.tgz", - "integrity": "sha1-cnfAFDf99B3M0WjVqg5Jt1yh8mA=", + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.7.2.tgz", + "integrity": "sha1-/29fUZOEiifum2J74+c/ucteZi4=", "dev": true, "requires": { - "babel-code-frame": "6.22.0", - "chalk": "1.1.3", - "concat-stream": "1.6.0", - "debug": "2.6.8", - "doctrine": "2.0.0", + "ajv": "5.5.2", + "babel-code-frame": "6.26.0", + "chalk": "2.3.2", + "concat-stream": "1.6.1", + "cross-spawn": "5.1.0", + "debug": "3.1.0", + "doctrine": "2.1.0", "eslint-scope": "3.7.1", - "espree": "3.4.3", + "espree": "3.5.4", "esquery": "1.0.0", "estraverse": "4.2.0", "esutils": "2.0.2", "file-entry-cache": "2.0.0", + "functional-red-black-tree": "1.0.1", "glob": "7.1.2", "globals": "9.18.0", - "ignore": "3.3.3", + "ignore": "3.3.7", "imurmurhash": "0.1.4", - "inquirer": "3.2.0", - "is-my-json-valid": "2.16.0", - "is-resolvable": "1.0.0", - "js-yaml": "3.9.0", + "inquirer": "3.3.0", + "is-resolvable": "1.1.0", + "js-yaml": "3.11.0", "json-stable-stringify": "1.0.1", "levn": "0.3.0", - "lodash": "4.17.4", + "lodash": "4.17.5", + "minimatch": "3.0.4", "mkdirp": "0.5.1", "natural-compare": "1.4.0", "optionator": "0.8.2", "path-is-inside": "1.0.2", - "pluralize": "4.0.0", + "pluralize": "7.0.0", "progress": "2.0.0", "require-uncached": "1.0.3", + "semver": "5.5.0", + "strip-ansi": "4.0.0", "strip-json-comments": "2.0.1", - "table": "4.0.1", + "table": "4.0.2", "text-table": "0.2.0" } }, - "eslint-config-hapi": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-hapi/-/eslint-config-hapi-10.0.0.tgz", - "integrity": "sha1-mYCv/XYQPrwf7JK0Vjg0XbGTSPU=", + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", "dev": true }, - "hoek": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.1.1.tgz", - "integrity": "sha1-nMVz/7ore0CPtenCoTeWvpTN3Ok=", - "dev": true + "js-yaml": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.11.0.tgz", + "integrity": "sha512-saJstZWv7oNeOyBh3+Dx1qWzhW0+e6/8eDzo7p5rDFqxntSztloLtuKu+Ejhtq82jsilwOIZYsCz+lIjthg1Hw==", + "dev": true, + "requires": { + "argparse": "1.0.9", + "esprima": "4.0.0" + } }, "source-map": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + }, + "supports-color": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", + "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", + "dev": true, + "requires": { + "has-flag": "2.0.0" + }, + "dependencies": { + "has-flag": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "dev": true + } + } } } }, @@ -1694,9 +2008,15 @@ "optional": true }, "lcov-parse": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-0.0.10.tgz", - "integrity": "sha1-GwuP+ayceIklBYK3C3ExXZ2m2aM=", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-1.0.0.tgz", + "integrity": "sha1-6w1GtUER68VhrLTECO+TY73I9+A=", + "dev": true + }, + "leven": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz", + "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=", "dev": true }, "levn": { @@ -1710,20 +2030,57 @@ } }, "lint-staged": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-4.0.1.tgz", - "integrity": "sha1-BTZUaYmEOdut6KRViTzxHiTRKw8=", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-4.3.0.tgz", + "integrity": "sha512-C/Zxslg0VRbsxwmCu977iIs+QyrmW2cyRCPUV5NDFYOH/jtRFHH8ch7ua2fH0voI/nVC3Tpg7DykfgMZySliKw==", "dev": true, "requires": { "app-root-path": "2.0.1", + "chalk": "2.3.2", + "commander": "2.14.1", "cosmiconfig": "1.1.0", - "execa": "0.7.0", + "execa": "0.8.0", + "is-glob": "4.0.0", + "jest-validate": "21.2.1", "listr": "0.12.0", - "lodash.chunk": "4.2.0", + "lodash": "4.17.5", + "log-symbols": "2.2.0", "minimatch": "3.0.4", "npm-which": "3.0.1", - "p-map": "1.1.1", - "staged-git-files": "0.0.4" + "p-map": "1.2.0", + "staged-git-files": "0.0.4", + "stringify-object": "3.2.2" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.1" + } + }, + "chalk": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", + "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.3.0" + } + }, + "supports-color": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", + "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } } }, "listr": { @@ -1740,12 +2097,12 @@ "is-stream": "1.1.0", "listr-silent-renderer": "1.1.1", "listr-update-renderer": "0.2.0", - "listr-verbose-renderer": "0.4.0", + "listr-verbose-renderer": "0.4.1", "log-symbols": "1.0.2", "log-update": "1.0.2", "ora": "0.2.3", - "p-map": "1.1.1", - "rxjs": "5.4.2", + "p-map": "1.2.0", + "rxjs": "5.5.6", "stream-to-observable": "0.1.0", "strip-ansi": "3.0.1" }, @@ -1759,6 +2116,15 @@ "escape-string-regexp": "1.0.5", "object-assign": "4.1.1" } + }, + "log-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", + "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", + "dev": true, + "requires": { + "chalk": "1.1.3" + } } } }, @@ -1778,7 +2144,7 @@ "cli-truncate": "0.2.1", "elegant-spinner": "1.0.1", "figures": "1.7.0", - "indent-string": "3.1.0", + "indent-string": "3.2.0", "log-symbols": "1.0.2", "log-update": "1.0.2", "strip-ansi": "3.0.1" @@ -1795,22 +2161,31 @@ } }, "indent-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.1.0.tgz", - "integrity": "sha1-CP9DNGAziDmbMp5rlTjcejz13n0=", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", + "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", "dev": true + }, + "log-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", + "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", + "dev": true, + "requires": { + "chalk": "1.1.3" + } } } }, "listr-verbose-renderer": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.4.0.tgz", - "integrity": "sha1-RNwBuww0oDxXIVTU0Izemx3FYg8=", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.4.1.tgz", + "integrity": "sha1-ggb0z21S3cWCfl/RSYng6WWTOjU=", "dev": true, "requires": { "chalk": "1.1.3", "cli-cursor": "1.0.2", - "date-fns": "1.28.5", + "date-fns": "1.29.0", "figures": "1.7.0" }, "dependencies": { @@ -1852,30 +2227,55 @@ } }, "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", - "dev": true - }, - "lodash.chunk": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.chunk/-/lodash.chunk-4.2.0.tgz", - "integrity": "sha1-ZuXOH3btJ7QwPYxlEujRIW6BBrw=", + "version": "4.17.5", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", + "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==", "dev": true }, "log-driver": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.5.tgz", - "integrity": "sha1-euTsJXMC/XkNVXyxDJcQDYV7AFY=", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.7.tgz", + "integrity": "sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg==", "dev": true }, "log-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", - "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", "dev": true, "requires": { - "chalk": "1.1.3" + "chalk": "2.3.2" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.1" + } + }, + "chalk": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", + "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.3.0" + } + }, + "supports-color": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", + "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + } } }, "log-update": { @@ -1944,24 +2344,24 @@ } }, "mime-db": { - "version": "1.27.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.27.0.tgz", - "integrity": "sha1-gg9XIpa70g7CXtVeW13oaeVDbrE=", + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", "dev": true }, "mime-types": { - "version": "2.1.15", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz", - "integrity": "sha1-pOv1BkCUVpI3uM9wBGd20J/JKu0=", + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", "dev": true, "requires": { - "mime-db": "1.27.0" + "mime-db": "1.33.0" } }, "mimic-fn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.1.0.tgz", - "integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", "dev": true }, "minimatch": { @@ -1988,12 +2388,6 @@ "minimist": "0.0.8" } }, - "moment": { - "version": "2.18.1", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.18.1.tgz", - "integrity": "sha1-w2GT3Tzhwu7SrbfIAtu8d6gbHA8=", - "dev": true - }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -2040,9 +2434,9 @@ "dev": true }, "npm-path": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/npm-path/-/npm-path-2.0.3.tgz", - "integrity": "sha1-Fc/04ciaONp39W9gVbJPl137K74=", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/npm-path/-/npm-path-2.0.4.tgz", + "integrity": "sha512-IFsj0R9C7ZdR5cP+ET342q77uSRdtWOlWpih5eC+lu29tIDbNEgDbzgVJ5UFvYHWhxDZ5TFkJafFioO0pPQjCw==", "dev": true, "requires": { "which": "1.2.14" @@ -2063,8 +2457,8 @@ "integrity": "sha1-kiXybsOihcIJyuZ8OxGmtKtxQKo=", "dev": true, "requires": { - "commander": "2.11.0", - "npm-path": "2.0.3", + "commander": "2.14.1", + "npm-path": "2.0.4", "which": "1.2.14" } }, @@ -2101,7 +2495,7 @@ "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "dev": true, "requires": { - "mimic-fn": "1.1.0" + "mimic-fn": "1.2.0" } }, "optimist": { @@ -2194,9 +2588,9 @@ "dev": true }, "p-map": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.1.1.tgz", - "integrity": "sha1-BfXkrpegaDcbwqXMhr+9vBnErno=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", + "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==", "dev": true }, "parse-json": { @@ -2244,9 +2638,9 @@ } }, "performance-now": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", - "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", "dev": true }, "pify": { @@ -2271,9 +2665,9 @@ } }, "pluralize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-4.0.0.tgz", - "integrity": "sha1-WbcIwcAZCi9pLxx2GMRGsFL9F2I=", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", + "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", "dev": true }, "prelude-ls": { @@ -2283,15 +2677,42 @@ "dev": true }, "prettier": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.5.2.tgz", - "integrity": "sha512-f55mvineQ5yc36cLX4n4RWP6JH6MLcfi5f9MVsjpfBs4MVSG2GYT4v6cukzmvkIOvmNOdCZfDSMY3hQcMcDQbQ==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.11.1.tgz", + "integrity": "sha512-T/KD65Ot0PB97xTrG8afQ46x3oiVhnfGjGESSI9NWYcG92+OUPZKkwHqGWXH2t9jK1crnQjubECW0FuOth+hxw==", "dev": true }, + "pretty-format": { + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-21.2.1.tgz", + "integrity": "sha512-ZdWPGYAnYfcVP8yKA3zFjCn8s4/17TeYH28MXuC8vTp0o21eXjbFGcOAXZEaDaOFJjc3h2qa7HQNHNshhvoh2A==", + "dev": true, + "requires": { + "ansi-regex": "3.0.0", + "ansi-styles": "3.2.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.1" + } + } + } + }, "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", "dev": true }, "progress": { @@ -2307,27 +2728,27 @@ "dev": true }, "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz", + "integrity": "sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0=", "dev": true }, "qs": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", - "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=", + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", + "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", "dev": true }, "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.5.tgz", + "integrity": "sha512-tK0yDhrkygt/knjowCUiWP9YdV7c5R+8cR0r/kt9ZhBU906Fs6RpQJCEilamRJj1Nx2rWI6LkW9gKqjTkshhEw==", "dev": true, "requires": { "core-util-is": "1.0.2", "inherits": "2.0.3", "isarray": "1.0.0", - "process-nextick-args": "1.0.7", + "process-nextick-args": "2.0.0", "safe-buffer": "5.1.1", "string_decoder": "1.0.3", "util-deprecate": "1.0.2" @@ -2349,53 +2770,54 @@ } }, "request": { - "version": "2.81.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", - "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", + "version": "2.83.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.83.0.tgz", + "integrity": "sha512-lR3gD69osqm6EYLk9wB/G1W/laGWjzH90t1vEa2xuxHD5KUrSzp9pUSfTm+YC5Nxt2T8nMPEvKlhbQayU7bgFw==", "dev": true, "requires": { - "aws-sign2": "0.6.0", + "aws-sign2": "0.7.0", "aws4": "1.6.0", "caseless": "0.12.0", - "combined-stream": "1.0.5", + "combined-stream": "1.0.6", "extend": "3.0.1", "forever-agent": "0.6.1", - "form-data": "2.1.4", - "har-validator": "4.2.1", - "hawk": "3.1.3", - "http-signature": "1.1.1", + "form-data": "2.3.2", + "har-validator": "5.0.3", + "hawk": "6.0.2", + "http-signature": "1.2.0", "is-typedarray": "1.0.0", "isstream": "0.1.2", "json-stringify-safe": "5.0.1", - "mime-types": "2.1.15", + "mime-types": "2.1.18", "oauth-sign": "0.8.2", - "performance-now": "0.2.0", - "qs": "6.4.0", + "performance-now": "2.1.0", + "qs": "6.5.1", "safe-buffer": "5.1.1", "stringstream": "0.0.5", - "tough-cookie": "2.3.2", + "tough-cookie": "2.3.4", "tunnel-agent": "0.6.0", - "uuid": "3.1.0" + "uuid": "3.2.1" } }, "request-promise": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/request-promise/-/request-promise-0.4.3.tgz", - "integrity": "sha1-PI3cgvBviQjXIK7eHWeUJY4iEhw=", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/request-promise/-/request-promise-4.2.2.tgz", + "integrity": "sha1-0epG1lSm7k+O5qT+oQGMIpEZBLQ=", "dev": true, "requires": { - "bluebird": "2.11.0", - "chalk": "1.1.3", - "lodash": "3.10.1", - "request": "2.81.0" - }, - "dependencies": { - "lodash": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", - "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", - "dev": true - } + "bluebird": "3.5.1", + "request-promise-core": "1.1.1", + "stealthy-require": "1.1.1", + "tough-cookie": "2.3.4" + } + }, + "request-promise-core": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.1.tgz", + "integrity": "sha1-Pu4AssWqgyOc+wTFcA2jb4HNCLY=", + "dev": true, + "requires": { + "lodash": "4.17.5" } }, "require-from-string": { @@ -2447,9 +2869,9 @@ } }, "rimraf": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", - "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { "glob": "7.1.2" @@ -2480,12 +2902,12 @@ } }, "rxjs": { - "version": "5.4.2", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.4.2.tgz", - "integrity": "sha1-KjI2/L8D31e64G/Wly/ZnlwI/Pc=", + "version": "5.5.6", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.6.tgz", + "integrity": "sha512-v4Q5HDC0FHAQ7zcBX7T2IL6O5ltl1a2GX4ENjPXg6SjDY69Cmx9v4113C99a4wGF16ClPv5Z8mghuYorVkg/kg==", "dev": true, "requires": { - "symbol-observable": "1.0.4" + "symbol-observable": "1.0.1" } }, "safe-buffer": { @@ -2495,9 +2917,9 @@ "dev": true }, "samsam": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/samsam/-/samsam-1.2.1.tgz", - "integrity": "sha1-7dOQk6MYQ3DLhZJDsr3yVefY6mc=", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/samsam/-/samsam-1.3.0.tgz", + "integrity": "sha512-1HwIYD/8UlOtFS3QO3w7ey+SdSDFE4HRNLZoZRYVQefrOY3l17epswImeB1ijgJFQJodIaHcwkp3r/myBjFVbg==", "dev": true }, "seedrandom": { @@ -2506,6 +2928,12 @@ "integrity": "sha1-JDhQTa0zkXMUv/GKxNeU8W1qrsw=", "dev": true }, + "semver": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", + "dev": true + }, "shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", @@ -2528,34 +2956,37 @@ "dev": true }, "sinon": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-2.3.8.tgz", - "integrity": "sha1-Md4G/tj7o6Zx5XbdltClhjeW8lw=", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-2.4.1.tgz", + "integrity": "sha512-vFTrO9Wt0ECffDYIPSP/E5bBugt0UjcBQOfQUMh66xzkyPEnhl/vM2LRZi2ajuTdkH07sA6DzrM6KvdvGIH8xw==", "dev": true, "requires": { - "diff": "3.3.0", + "diff": "3.3.1", "formatio": "1.2.0", "lolex": "1.6.0", "native-promise-only": "0.8.1", "path-to-regexp": "1.7.0", - "samsam": "1.2.1", + "samsam": "1.3.0", "text-encoding": "0.6.4", - "type-detect": "4.0.3" + "type-detect": "4.0.8" } }, "slice-ansi": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", - "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", - "dev": true + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", + "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0" + } }, "sntp": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", - "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz", + "integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==", "dev": true, "requires": { - "hoek": "2.16.3" + "hoek": "4.2.1" } }, "source-map": { @@ -2569,18 +3000,18 @@ } }, "source-map-support": { - "version": "0.4.15", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.15.tgz", - "integrity": "sha1-AyAt9lwG0r2MfsI2KhkwVv7407E=", + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "source-map": "0.5.6" + "source-map": "0.5.7" }, "dependencies": { "source-map": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true } } @@ -2605,14 +3036,6 @@ "getpass": "0.1.7", "jsbn": "0.1.1", "tweetnacl": "0.14.5" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - } } }, "staged-git-files": { @@ -2621,6 +3044,12 @@ "integrity": "sha1-15fhtVHKemOd7AI33G60u5vhfTU=", "dev": true }, + "stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", + "dev": true + }, "stream-to-observable": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/stream-to-observable/-/stream-to-observable-0.1.0.tgz", @@ -2628,9 +3057,9 @@ "dev": true }, "string-width": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.0.tgz", - "integrity": "sha1-AwZkVh/BRslCPsfZeP4kV0N/5tA=", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { "is-fullwidth-code-point": "2.0.0", @@ -2663,6 +3092,17 @@ "safe-buffer": "5.1.1" } }, + "stringify-object": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.2.2.tgz", + "integrity": "sha512-O696NF21oLiDy8PhpWu8AEqoZHw++QW6mUv0UvKZe8gWSdSvMXkiLufK7OmnP27Dro4GU5kb9U7JIO0mBuCRQg==", + "dev": true, + "requires": { + "get-own-enumerable-property-symbols": "2.0.1", + "is-obj": "1.0.1", + "is-regexp": "1.0.0" + } + }, "stringstream": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", @@ -2703,30 +3143,53 @@ "dev": true }, "symbol-observable": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.4.tgz", - "integrity": "sha1-Kb9hXUqnEhvdiYsi1LP5vE4qoD0=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", + "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=", "dev": true }, "table": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/table/-/table-4.0.1.tgz", - "integrity": "sha1-qBFsEz+sLGH0pCCrbN9cTWHw5DU=", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz", + "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", "dev": true, "requires": { - "ajv": "4.11.8", - "ajv-keywords": "1.5.1", - "chalk": "1.1.3", - "lodash": "4.17.4", - "slice-ansi": "0.0.4", - "string-width": "2.1.0" + "ajv": "5.5.2", + "ajv-keywords": "2.1.1", + "chalk": "2.3.2", + "lodash": "4.17.5", + "slice-ansi": "1.0.0", + "string-width": "2.1.1" }, "dependencies": { - "ajv-keywords": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz", - "integrity": "sha1-MU3QpLM2j609/NxU7eYXG4htrzw=", - "dev": true + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.1" + } + }, + "chalk": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", + "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.3.0" + } + }, + "supports-color": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", + "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } } } }, @@ -2749,38 +3212,40 @@ "dev": true }, "tmp": { - "version": "0.0.31", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.31.tgz", - "integrity": "sha1-jzirlDjhcxXl29izZX6L+yd65Kc=", + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, "requires": { "os-tmpdir": "1.0.2" } }, "topo": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/topo/-/topo-1.1.0.tgz", - "integrity": "sha1-6ddRYV0buH3IZdsYL6HKCl71NtU=", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/topo/-/topo-2.0.2.tgz", + "integrity": "sha1-zVYVdSU5BXwNwEkaYhw7xvvh0YI=", "dev": true, "requires": { - "hoek": "2.16.3" + "hoek": "4.2.1" } }, "tough-cookie": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz", - "integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=", + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", + "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", "dev": true, "requires": { "punycode": "1.4.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + } } }, - "tryit": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tryit/-/tryit-1.0.3.tgz", - "integrity": "sha1-OTvnMKlEb9Hq1tpZoBQwjzbCics=", - "dev": true - }, "tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", @@ -2807,9 +3272,9 @@ } }, "type-detect": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.3.tgz", - "integrity": "sha1-Dj8mcLRAmbC0bChNE2p+9Jx0wuo=", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true }, "typedarray": { @@ -2859,18 +3324,20 @@ "dev": true }, "uuid": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", - "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz", + "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==", "dev": true }, "verror": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz", - "integrity": "sha1-z/XfEpRtKX0rqu+qJoniW+AcAFw=", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "dev": true, "requires": { - "extsprintf": "1.0.2" + "assert-plus": "1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "1.3.0" } }, "which": { diff --git a/package.json b/package.json index 0c6c283..c06900f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "which-browser", - "version": "0.2.7", + "version": "0.2.8", "description": "Browser sniffing tool and UA parser. Browser sniffing gone too far — A useragent parser library for JavaScript", "main": "src/Parser.js", "scripts": { @@ -36,18 +36,18 @@ "author": "Simone Mariotti", "license": "MIT", "devDependencies": { - "codacy-coverage": "^2.0.2", + "codacy-coverage": "^2.1.0", "code": "^4.1.0", - "codecov": "^2.2.0", - "eslint": "^4.1.1", + "codecov": "^2.3.1", + "eslint": "^4.18.2", "eslint-config-google": "^0.8.0", "husky": "^0.14.1", "istanbul": "^0.4.5", - "lab": "^14.1.0", - "lint-staged": "^4.0.0", - "prettier": "^1.5.2", - "request": "^2.81.0", - "sinon": "^2.3.5", + "lab": "^14.3.2", + "lint-staged": "^4.3.0", + "prettier": "^1.11.1", + "request": "^2.83.0", + "sinon": "^2.4.1", "yamljs": "^0.3.0" }, "lint-staged": { From df5dafe746784ef1e165c00e2c2ecab0885f7bb3 Mon Sep 17 00:00:00 2001 From: Simone Mariotti Date: Tue, 6 Mar 2018 10:10:08 +0100 Subject: [PATCH 3/3] Changelog for 0.2.8 --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index bca267b..3278d0b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +#### 0.2.8 (2017-03-06) +* **Fixes:** Update dependencies due to [vulnerable moment.js version](https://nvd.nist.gov/vuln/detail/CVE-2017-18214) ([4ed2fc2](https://github.com/WhichBrowser/Parser-JavaScript/commit/4ed2fc296e1949b0cb8c5563a65b8cf97649241a)) +* **Database:** Added Czech service, thanks to @pixietrixibell for [#90 on Parser-PHP](https://github.com/WhichBrowser/Parser-PHP/pull/90) ([8a96017](https://github.com/WhichBrowser/Parser-JavaScript/commit/8a96017408ac35b37e73d31b7746ad84723dcfc0)) + #### 0.2.7 (2017-01-31) * **Fixes:** Windows IoT 10 beign detected as Android ([695751b](https://github.com/WhichBrowser/Parser-JavaScript/commit/695751b00a28b6ca28208c944e8bbf13a230c798)) * **Database:** Added Chrome 64 ([ec0e117](https://github.com/WhichBrowser/Parser-JavaScript/commit/ec0e117b7e1f56a68d53cc2e8d0982b23827994a))