├── .gitignore ├── .npmignore ├── .size-limit ├── .travis.yml ├── ChangeLog.md ├── LICENSE ├── README.md ├── index.d.ts ├── index.js ├── lib ├── visibility.core.js ├── visibility.fallback.js ├── visibility.js └── visibility.timers.js ├── logo.svg ├── package.json ├── test ├── integration.html ├── mocha.js ├── mocha.opts └── visibility.test.js └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | *~ 3 | 4 | node_modules 5 | npm-debug.log 6 | yarn-error.log 7 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | pkg 3 | logo.svg 4 | yarn.lock 5 | 6 | test 7 | .travis.yml 8 | .size-limit 9 | -------------------------------------------------------------------------------- /.size-limit: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "path": "index.js", 4 | "limit": "761 B" 5 | } 6 | ] 7 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | cache: yarn 3 | node_js: 4 | - node 5 | -------------------------------------------------------------------------------- /ChangeLog.md: -------------------------------------------------------------------------------- 1 | # Change Log 2 | 3 | ## 2.0.2 “Discoverer 11, attitude control” 4 | * Fix support detection (by xiaoping). 5 | 6 | ## 2.0.1 “Transit 1B, navigation” 7 | * Fix type definitions by @michaelgmcd. 8 | 9 | ## 2.0 “TIROS-1, clouds” 10 | * Remove Bower support. 11 | * Remove Sprockets support. 12 | * Remove Component support. 13 | 14 | ## 1.2.8 “Pioneer 5, solar wind” 15 | * Fix TypeScript module declaration by @maciejmrozinski. 16 | * Fix headless Chrome support by @runspired. 17 | * Reduce project size. 18 | 19 | ## 1.2.7 “Discoverer 8, hard” 20 | * Fix type definitions by @dpoetzsch. 21 | 22 | ## 1.2.6 “Discoverer 7, powerless” 23 | * Fix type definitions for TypeScript 2.6 by @marayfirth. 24 | 25 | ## 1.2.5 “Explorer 7, solar x-ray” 26 | * Add TypeScript definitions by Joel Hernández. 27 | 28 | ## 1.2.4 “Luna 3, Dark side of the Moon” 29 | * Fix race condition by Mikhail Vazhnov. 30 | 31 | ## 1.2.3 “Vanguard 3, 300 years” 32 | * Fix Rails support by @dimko. 33 | 34 | ## 1.2.2 “Luna 2, impact” 35 | * Fix Sprockets 3 support by Waseem Sadiq. 36 | * Add Component support by Mitchel Kelonye. 37 | 38 | ## 1.2.1 “Discoverer 6, again” 39 | * Fix Bower config by Misha Ponizil. 40 | 41 | ## 1.2.0 “Discoverer 5, spy” 42 | * Allow to use in CommonJS. 43 | * Release npm package. 44 | * Reduce library size to 10 %. 45 | * Allow to use latest version from master in Ruby Bundler. 46 | * Method `hidden()` now always return boolean. 47 | * Change repository URL to `github.com/ai/visibilityjs`. 48 | 49 | ## 1.1.0 “Explorer 6, photo” 50 | * Prevent to run timer often, that it’s interval, when visibility was changed. 51 | * Allow to install by Bower package manager. 52 | * Change license to MIT. 53 | * Reduce library size. 54 | 55 | ## 1.0.0 “Discoverer 2, stable” 56 | * Remove jQuery.Chrono integration. 57 | * Remove outdated Firefox prefix. 58 | 59 | ## 0.6.2 “Pioneer 4, American Sun” 60 | * Decrease files size (by compressible code and UnglifyJS 2). 61 | * Remove unnecessary vendor prefixes from fallback. 62 | 63 | ## 0.6.1 “Vanguard 2, weather” 64 | * Remove unnecessary vendor prefixes. 65 | 66 | ## 0.6 “Luna 1, Mechta” 67 | * Methods onVisible and afterPrerendering return listener ID (by mcfedr). 68 | * Fix documentation (by Erwänn Mest). 69 | 70 | ## 0.5 “SCORE, communication” 71 | * Split library to core and timers modules. 72 | * Allow to unbind change listener. 73 | * Use common logic in change(), afterPrerendering() and onVisible(). 74 | 75 | ## 0.4.5 “Pioneer 3, closer” 76 | * Fix gem assets directory. 77 | * Update development dependencies. 78 | 79 | ## 0.4.4 “Pioneer 1, deeper into space” 80 | * Remove non-ASCII symbols from gemspec. 81 | * Print testing URL in test task. 82 | 83 | ## 0.4.3 “Explorer 4, short” 84 | * Fix gemspec issue with Bundler. 85 | 86 | ## 0.4.2 “Sputnik 3, real” 87 | * Reorder code to show first public and common methods. 88 | * Use node.js Cake instead of Ruby’s Rake to build tasks. 89 | * Move to Mocha, Chai and Sinon.JS for tests. 90 | * Move autogenerated minified to GitHub downloads. 91 | 92 | ## 0.4.1 “Explorer 3, repeat” 93 | * Fix documentation and gemspec. 94 | 95 | ## 0.4 “Vanguard 1, alternative” 96 | * Add fallback API support by focus/blur hack to all browsers. 97 | 98 | ## 0.3 “Explorer 1, answer” 99 | * Rename gem to visibilityjs. 100 | * Fix gem integration with Asset Pipeline paths. 101 | 102 | ## 0.2 “Sputnik 2, Laika” 103 | * Rename support() to isSupported() and notPrerender() to afterPrerendering(). 104 | * Fix IE 6 and 7 support. 105 | * Documentation fixes by Peter Zotov. 106 | 107 | ## 0.1 “Sputnik 1, the first” 108 | * Initial release. 109 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright 2011 Andrey Sitnik 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Visibility.js [![Build Status](https://travis-ci.org/ai/visibilityjs.svg)](https://travis-ci.org/ai/visibilityjs) 2 | 3 | 4 | 5 | Visibility.js is a wrapper for the [Page Visibility API]. It hides vendor prefixes and adds high level functions. 6 | 7 | Page Visibility API allows you to determine whether your web page is either visible to 8 | a user or hidden in background tab or prerendering. It allows you to use 9 | the page visibility state in JavaScript logic and improve browser performance 10 | by disabling unnecessary timers and AJAX requests, or improve user interface 11 | experience (for example, by stopping video playback or slideshow when user 12 | switches to another browser tab). 13 | 14 | Moreover, you can detect if the browser is just [prerendering] the page while 15 | the user has still not opened the link, and don’t count this as a visit in your 16 | analytics module, or do not run heavy calculations or other actions which will 17 | disable the prerendering. 18 | 19 | Page Visibility API is [natively supported] by all browsers. For old browsers 20 | you can use `lib/visibility.fallback.js` with focus/blur hack (note that this 21 | hack has an issue: when browser just lose focus but still visible for user, its state will change to [hidden]). 22 | 23 | 24 | Sponsored by Evil Martians 25 | 26 | 27 | [Page Visibility API]: http://www.w3.org/TR/page-visibility/ 28 | [prerendering]: http://code.google.com/chrome/whitepapers/prerender.html 29 | [natively supported]: http://caniuse.com/pagevisibility 30 | 31 | ## Translations 32 | 33 | Документация на русском: 34 | [habrahabr.ru/blogs/javascript/125833/](http://habrahabr.ru/blogs/javascript/125833/) 35 | 36 | ## States 37 | 38 | Currently the Page Visibility API supports three visibility states: 39 | 40 | * `visible`: user has opened the page and works within it. 41 | * `hidden`: user has switched to another tab or minimized browser window. 42 | * `prerender`: browser is just prerendering a page which may possibly be opened 43 | by the user to make the apparent loading time smaller. 44 | 45 | ## Timers 46 | 47 | The main use case for this library is to enable some of the times only when 48 | content is visible to the user, i.e. the ones animating a countdown animation. 49 | 50 | `Visibility.every(interval, callback)` is similar to 51 | `setInterval(callback, interval)`, but calls `callback` every `interval` ms only 52 | if the page is visible. For example, let’s create a countdown timer: 53 | 54 | ```js 55 | Visibility.every(1000, function () { 56 | updateCountdownAnimation(); 57 | }); 58 | ``` 59 | 60 | You can provide an additional interval which will be used when the page 61 | is hidden. In next example, a check for inbox updates will be run every 1 minute 62 | for a visible page and every 5 minutes for a hidden one: 63 | 64 | ```js 65 | var minute = 60 * 1000; 66 | Visibility.every(minute, 5 * minute, function () { 67 | checkForEmail(); 68 | }); 69 | ``` 70 | 71 | When the page becomes visible, if the callback has not been called in longer than 72 | the visible interval, it will be called immediately. In the example above, if you 73 | hid the page for 9 minutes, `checkForEmail` will get called once while the page is hidden, 74 | and immediately when it is made visible. 75 | 76 | `Visibility.every` returns a timer identifier, much like the `setInterval` 77 | function. However, it cannot be passed to `clearInterval`, and you should use 78 | `Visibility.stop(id)` to stop the timer. 79 | 80 | ```js 81 | var slideshow = Visibility.every(5 * 1000, function () { 82 | nextSlide(); 83 | }); 84 | 85 | $('.stopSlideshow').click(function () { 86 | Visibility.stop(slideshow); 87 | }); 88 | ``` 89 | 90 | If the browser does not support the Page Visibility API, `Visibility.every` will 91 | fall back to `setInterval`, and `callback` will be run every `interval` ms for 92 | both the hidden and visible pages. 93 | 94 | ## Initializers 95 | 96 | Another common use case is when you need to execute some actions upon a switch to 97 | particular visibility state. 98 | 99 | ### Waiting until the page becomes visible 100 | 101 | `Visibility.onVisible(callback)` checks current state of the page. If it is 102 | visible now, it will run `callback`, otherwise it will wait until state changes 103 | to `visible`, and then run `callback`. 104 | 105 | For example, let’s show an animated notification only when the page is visible, 106 | so if some user opens a page in the background, the animation will delay until 107 | the page becomes visible, i.e. until the user has switched 108 | to a tab with the page: 109 | 110 | ```js 111 | Visibility.onVisible(function () { 112 | startIntroAnimation(); 113 | }); 114 | ``` 115 | 116 | If a browser doesn’t support Page Visibility API, `Visibility.onVisible` 117 | will run the `callback` immediately. 118 | 119 | ### Wait until the page is opened after prerendering 120 | 121 | A web developer can hint a browser (using Prerendering API) that an user 122 | is likely to click on some link (i.e. on a “Next” link in a multi-page article), 123 | and the browser then may prefetch and prerender the page, so that the user will 124 | not wait after actually going via the link. 125 | 126 | But you may not want to count the browser prerendering a page as a visitor in 127 | your analytics system. Moreover, the browser will disable prerendering if you 128 | will try to do heavy computations or use audio/video tags on the page. So, you 129 | may decide to not run parts of the code while prerendering and wait until the 130 | user actually opens the link. 131 | 132 | You can use `Visibility.afterPrerendering(callback)` in this cases. For example, 133 | this code will only take real visitors (and not page prerenderings) into 134 | account: 135 | 136 | ```js 137 | Visibility.afterPrerendering(function () { 138 | Statistics.countVisitor(); 139 | }); 140 | ``` 141 | 142 | If the browser doesn’t support Page Visibility API, 143 | `Visibility.afterPrerendering` will run `callback` immediately. 144 | 145 | ## Low-level API 146 | 147 | In some cases you may need more low-level methods. For example, you may want to 148 | count the time user has viewed the page in foreground and time it has stayed in 149 | background. 150 | 151 | `Visibility.isSupported()` will return `true` if browser supports the 152 | Page Visibility API: 153 | 154 | ```js 155 | if( Visibility.isSupported() ) { 156 | Statistics.startTrackingVisibility(); 157 | } 158 | ``` 159 | 160 | `Visibility.state()` will return a string with visibility state. More states 161 | can be added in the future, so for most cases a simpler `Visibility.hidden()` 162 | method can be used. It will return `true` if the page is hidden by any reason. 163 | For example, while prerendering, `Visibility.state()` will return `"prerender"`, 164 | but `Visibility.hidden()` will return `true`. 165 | 166 | This code will aid in collecting page visibility statistics: 167 | 168 | ```js 169 | $(document).load(function () { 170 | 171 | if ( 'hidden' == Visibility.state() ) { 172 | Statistics.userOpenPageInBackgroundTab(); 173 | } 174 | if ( 'prerender' == Visibility.state() ) { 175 | Statistics.pageIsPrerendering(); 176 | } 177 | 178 | }); 179 | ``` 180 | 181 | And this example will only enable auto-playing when the page is opening as a 182 | visible tab (not a background one): 183 | 184 | ```js 185 | $(document).load(function () { 186 | 187 | if ( !Visibility.hidden() ) { 188 | VideoPlayer.play(); 189 | } 190 | 191 | }); 192 | ``` 193 | 194 | Using `Visibility.change(callback)` you can listen to visibility state changing 195 | events. The `callback` takes 2 arguments: an event object and a state name. 196 | 197 | Let’s collect some statistics with this events approach: 198 | 199 | ```js 200 | Visibility.change(function (e, state) { 201 | Statistics.visibilityChange(state); 202 | }); 203 | ``` 204 | 205 | Method `change` returns listener ID. You can use it to unbind listener by 206 | `Visibility.unbind(id)`: 207 | 208 | ```js 209 | var listener = Visibility.change(function (e, state) { 210 | if ( !Visibility.hidden() ) { 211 | VideoPlayer.pause(); 212 | } 213 | }); 214 | 215 | VideoPlayer.onFinish(function () { 216 | Visibility.unbind(listener); 217 | }); 218 | ``` 219 | 220 | Methods `onVisible` and `afterPrerendering` will also return listener ID, 221 | if they wait visibility state changes. If they execute callback immediately, 222 | they return `true` if Page Visibility API is supported and `false` 223 | if they can’t detect visibility state. 224 | 225 | ```js 226 | var listener = Visibility.onVisible(function () { 227 | notification.takeAttention(); 228 | }); 229 | 230 | notification.onOutOfDate(function () { 231 | if ( typeof(listener) == 'number' ) { 232 | Visibility.unbind(listener); 233 | } 234 | }); 235 | ``` 236 | 237 | ## Packages 238 | 239 | Visibility.js is shipped with 4 files: 240 | 241 | * `visibility.core` – core module. 242 | * `visibility.timers` – `every` and `stop` methods to set `setInterval` depend 243 | on visibility state. 244 | * `visibility` – `visibility.core` and `visibility.timers` together. 245 | * `visibility.fallback` – fallback for browser without Page Visibility API. 246 | It use document `focus`/`blur` events, so document become to be hidden, 247 | when browser just lose focus, but still visible for user. 248 | 249 | ## Installing 250 | 251 | Available by [NPM](https://www.npmjs.com/package/visibilityjs): 252 | 253 | ``` 254 | npm install --save visibilityjs 255 | ``` 256 | 257 | ## Contributing 258 | 259 | 1. To run tests you need node.js and npm. For example, in Ubuntu run: 260 | 261 | ```sh 262 | sudo apt-get install nodejs npm 263 | ``` 264 | 265 | 2. Next install npm dependencies: 266 | 267 | ```sh 268 | npm install 269 | ``` 270 | 271 | 3. Run all tests: 272 | 273 | ```sh 274 | npm test 275 | ``` 276 | 277 | 4. Also you can see real usage example in integration test 278 | `test/integration.html`. 279 | -------------------------------------------------------------------------------- /index.d.ts: -------------------------------------------------------------------------------- 1 | declare module 'visibilityjs' { 2 | export function every(interval: number, callback: Function): number; 3 | export function every(interval: number, hiddenInterval: number, callback: Function): number; 4 | export function onVisible(callback: Function): number|boolean; 5 | export function afterPrerendering(callback: Function): number|boolean; 6 | export function isSupported(): boolean; 7 | export function state(): VisibilityState; 8 | export function hidden(): boolean; 9 | export function unbind(id: number): void; 10 | export function change(listener: VisiblityChangeListener): number; 11 | export function stop(id: number): boolean; 12 | 13 | // @See https://developer.mozilla.org/en-US/docs/Web/API/Document/visibilityState 14 | type VisibilityState = 'visible' | 'hidden' 15 | type VisiblityChangeListener = (event: Event, state: VisibilityState) => void; 16 | } 17 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./lib/visibility.timers.js') 2 | -------------------------------------------------------------------------------- /lib/visibility.core.js: -------------------------------------------------------------------------------- 1 | ;(function (global) { 2 | var lastId = -1; 3 | 4 | // Visibility.js allow you to know, that your web page is in the background 5 | // tab and thus not visible to the user. This library is wrap under 6 | // Page Visibility API. It fix problems with different vendor prefixes and 7 | // add high-level useful functions. 8 | var self = { 9 | 10 | // Call callback only when page become to visible for user or 11 | // call it now if page is visible now or Page Visibility API 12 | // doesn’t supported. 13 | // 14 | // Return false if API isn’t supported, true if page is already visible 15 | // or listener ID (you can use it in `unbind` method) if page isn’t 16 | // visible now. 17 | // 18 | // Visibility.onVisible(function () { 19 | // startIntroAnimation(); 20 | // }); 21 | onVisible: function (callback) { 22 | var support = self.isSupported(); 23 | if ( !support || !self.hidden() ) { 24 | callback(); 25 | return support; 26 | } 27 | 28 | var listener = self.change(function (e, state) { 29 | if ( !self.hidden() ) { 30 | self.unbind(listener); 31 | callback(); 32 | } 33 | }); 34 | return listener; 35 | }, 36 | 37 | // Call callback when visibility will be changed. First argument for 38 | // callback will be original event object, second will be visibility 39 | // state name. 40 | // 41 | // Return listener ID to unbind listener by `unbind` method. 42 | // 43 | // If Page Visibility API doesn’t supported method will be return false 44 | // and callback never will be called. 45 | // 46 | // Visibility.change(function(e, state) { 47 | // Statistics.visibilityChange(state); 48 | // }); 49 | // 50 | // It is just proxy to `visibilitychange` event, but use vendor prefix. 51 | change: function (callback) { 52 | if ( !self.isSupported() ) { 53 | return false; 54 | } 55 | lastId += 1; 56 | var number = lastId; 57 | self._callbacks[number] = callback; 58 | self._listen(); 59 | return number; 60 | }, 61 | 62 | // Remove `change` listener by it ID. 63 | // 64 | // var id = Visibility.change(function(e, state) { 65 | // firstChangeCallback(); 66 | // Visibility.unbind(id); 67 | // }); 68 | unbind: function (id) { 69 | delete self._callbacks[id]; 70 | }, 71 | 72 | // Call `callback` in any state, expect “prerender”. If current state 73 | // is “prerender” it will wait until state will be changed. 74 | // If Page Visibility API doesn’t supported, it will call `callback` 75 | // immediately. 76 | // 77 | // Return false if API isn’t supported, true if page is already after 78 | // prerendering or listener ID (you can use it in `unbind` method) 79 | // if page is prerended now. 80 | // 81 | // Visibility.afterPrerendering(function () { 82 | // Statistics.countVisitor(); 83 | // }); 84 | afterPrerendering: function (callback) { 85 | var support = self.isSupported(); 86 | var prerender = 'prerender'; 87 | 88 | if ( !support || prerender != self.state() ) { 89 | callback(); 90 | return support; 91 | } 92 | 93 | var listener = self.change(function (e, state) { 94 | if ( prerender != state ) { 95 | self.unbind(listener); 96 | callback(); 97 | } 98 | }); 99 | return listener; 100 | }, 101 | 102 | // Return true if page now isn’t visible to user. 103 | // 104 | // if ( !Visibility.hidden() ) { 105 | // VideoPlayer.play(); 106 | // } 107 | // 108 | // It is just proxy to `document.hidden`, but use vendor prefix. 109 | hidden: function () { 110 | return !!(self._doc.hidden || self._doc.webkitHidden); 111 | }, 112 | 113 | // Return visibility state: 'visible', 'hidden' or 'prerender'. 114 | // 115 | // if ( 'prerender' == Visibility.state() ) { 116 | // Statistics.pageIsPrerendering(); 117 | // } 118 | // 119 | // Don’t use `Visibility.state()` to detect, is page visible, because 120 | // visibility states can extend in next API versions. 121 | // Use more simpler and general `Visibility.hidden()` for this cases. 122 | // 123 | // It is just proxy to `document.visibilityState`, but use 124 | // vendor prefix. 125 | state: function () { 126 | return self._doc.visibilityState || 127 | self._doc.webkitVisibilityState || 128 | 'visible'; 129 | }, 130 | 131 | // Return true if browser support Page Visibility API. 132 | // refs: https://developer.mozilla.org/en-US/docs/Web/API/Page_Visibility_API 133 | // 134 | // if ( Visibility.isSupported() ) { 135 | // Statistics.startTrackingVisibility(); 136 | // Visibility.change(function(e, state)) { 137 | // Statistics.trackVisibility(state); 138 | // }); 139 | // } 140 | isSupported: function () { 141 | return self._doc.hidden !== undefined || self._doc.webkitHidden !== undefined; 142 | }, 143 | 144 | // Link to document object to change it in tests. 145 | _doc: document || {}, 146 | 147 | // Callbacks from `change` method, that wait visibility changes. 148 | _callbacks: { }, 149 | 150 | // Listener for `visibilitychange` event. 151 | _change: function(event) { 152 | var state = self.state(); 153 | 154 | for ( var i in self._callbacks ) { 155 | self._callbacks[i].call(self._doc, event, state); 156 | } 157 | }, 158 | 159 | // Set listener for `visibilitychange` event. 160 | _listen: function () { 161 | if ( self._init ) { 162 | return; 163 | } 164 | 165 | var event = 'visibilitychange'; 166 | if ( self._doc.webkitVisibilityState ) { 167 | event = 'webkit' + event; 168 | } 169 | 170 | var listener = function () { 171 | self._change.apply(self, arguments); 172 | }; 173 | if ( self._doc.addEventListener ) { 174 | self._doc.addEventListener(event, listener); 175 | } else { 176 | self._doc.attachEvent(event, listener); 177 | } 178 | self._init = true; 179 | } 180 | 181 | }; 182 | 183 | if ( typeof(module) != 'undefined' && module.exports ) { 184 | module.exports = self; 185 | } else { 186 | global.Visibility = self; 187 | } 188 | 189 | })(this); 190 | -------------------------------------------------------------------------------- /lib/visibility.fallback.js: -------------------------------------------------------------------------------- 1 | // Add Page Visibility API support to old browsers by focus/blur hack. 2 | // 3 | // Include this script _before_ Visibility.js. 4 | // 5 | // Note, that this hack doesn’t correctly emulate Page Visibility API: 6 | // when user change focus from browser to another window (browser and your 7 | // page may stay visible), this hack will decide, that you page is hidden. 8 | // 9 | // For Firefox 5–9 it will be better to use MozVisibility hack without 10 | // this issue. See . 11 | ;(function (document) { 12 | if ( document.visibilityState || document.webkitVisibilityState ) { 13 | return; 14 | } 15 | 16 | document.hidden = false; 17 | document.visibilityState = 'visible'; 18 | 19 | var event = null 20 | var i = 0 21 | var fireEvent = function () { 22 | if( document.createEvent ) { 23 | if ( !event ) { 24 | event = document.createEvent('HTMLEvents'); 25 | event.initEvent('visibilitychange', true, true); 26 | } 27 | document.dispatchEvent(event); 28 | } else { 29 | if ( typeof(Visibility) == 'object' ) { 30 | Visibility._change.call(Visibility, { }); 31 | } 32 | } 33 | } 34 | 35 | var onFocus = function () { 36 | document.hidden = false; 37 | document.visibilityState = 'visible'; 38 | fireEvent(); 39 | }; 40 | var onBlur = function () { 41 | document.hidden = true; 42 | document.visibilityState = 'hidden'; 43 | fireEvent(); 44 | } 45 | 46 | if ( document.addEventListener ) { 47 | window.addEventListener('focus', onFocus, true); 48 | window.addEventListener('blur', onBlur, true); 49 | } else { 50 | document.attachEvent('onfocusin', onFocus); 51 | document.attachEvent('onfocusout', onBlur); 52 | } 53 | })(document); 54 | -------------------------------------------------------------------------------- /lib/visibility.js: -------------------------------------------------------------------------------- 1 | // File for Rails Assets Pipeline 2 | 3 | //= require visibility.core 4 | //= require visibility.timers 5 | -------------------------------------------------------------------------------- /lib/visibility.timers.js: -------------------------------------------------------------------------------- 1 | ;(function (window) { 2 | var lastTimer = -1; 3 | 4 | var install = function (Visibility) { 5 | 6 | // Run callback every `interval` milliseconds if page is visible and 7 | // every `hiddenInterval` milliseconds if page is hidden. 8 | // 9 | // Visibility.every(60 * 1000, 5 * 60 * 1000, function () { 10 | // checkNewMails(); 11 | // }); 12 | // 13 | // You can skip `hiddenInterval` and callback will be called only if 14 | // page is visible. 15 | // 16 | // Visibility.every(1000, function () { 17 | // updateCountdown(); 18 | // }); 19 | // 20 | // It is analog of `setInterval(callback, interval)` but use visibility 21 | // state. 22 | // 23 | // It return timer ID, that you can use in `Visibility.stop(id)` to stop 24 | // timer (`clearInterval` analog). 25 | // Warning: timer ID is different from interval ID from `setInterval`, 26 | // so don’t use it in `clearInterval`. 27 | // 28 | // On change state from hidden to visible timers will be execute. 29 | Visibility.every = function (interval, hiddenInterval, callback) { 30 | Visibility._time(); 31 | 32 | if ( !callback ) { 33 | callback = hiddenInterval; 34 | hiddenInterval = null; 35 | } 36 | 37 | lastTimer += 1; 38 | var number = lastTimer; 39 | 40 | Visibility._timers[number] = { 41 | visible: interval, 42 | hidden: hiddenInterval, 43 | callback: callback 44 | }; 45 | Visibility._run(number, false); 46 | 47 | if ( Visibility.isSupported() ) { 48 | Visibility._listen(); 49 | } 50 | return number; 51 | }; 52 | 53 | // Stop timer from `every` method by it ID (`every` method return it). 54 | // 55 | // slideshow = Visibility.every(5 * 1000, function () { 56 | // changeSlide(); 57 | // }); 58 | // $('.stopSlideshow').click(function () { 59 | // Visibility.stop(slideshow); 60 | // }); 61 | Visibility.stop = function(id) { 62 | if ( !Visibility._timers[id] ) { 63 | return false; 64 | } 65 | Visibility._stop(id); 66 | delete Visibility._timers[id]; 67 | return true; 68 | }; 69 | 70 | // Callbacks and intervals added by `every` method. 71 | Visibility._timers = { }; 72 | 73 | // Initialize variables on page loading. 74 | Visibility._time = function () { 75 | if ( Visibility._timed ) { 76 | return; 77 | } 78 | Visibility._timed = true; 79 | Visibility._wasHidden = Visibility.hidden(); 80 | 81 | Visibility.change(function () { 82 | Visibility._stopRun(); 83 | Visibility._wasHidden = Visibility.hidden(); 84 | }); 85 | }; 86 | 87 | // Try to run timer from every method by it’s ID. It will be use 88 | // `interval` or `hiddenInterval` depending on visibility state. 89 | // If page is hidden and `hiddenInterval` is null, 90 | // it will not run timer. 91 | // 92 | // Argument `runNow` say, that timers must be execute now too. 93 | Visibility._run = function (id, runNow) { 94 | var interval, 95 | timer = Visibility._timers[id]; 96 | 97 | if ( Visibility.hidden() ) { 98 | if ( null === timer.hidden ) { 99 | return; 100 | } 101 | interval = timer.hidden; 102 | } else { 103 | interval = timer.visible; 104 | } 105 | 106 | var runner = function () { 107 | timer.last = new Date(); 108 | timer.callback.call(window); 109 | } 110 | 111 | if ( runNow ) { 112 | var now = new Date(); 113 | var last = now - timer.last ; 114 | 115 | if ( interval > last ) { 116 | timer.delay = setTimeout(function () { 117 | timer.id = setInterval(runner, interval); 118 | runner(); 119 | }, interval - last); 120 | } else { 121 | timer.id = setInterval(runner, interval); 122 | runner(); 123 | } 124 | 125 | } else { 126 | timer.id = setInterval(runner, interval); 127 | } 128 | }; 129 | 130 | // Stop timer from `every` method by it’s ID. 131 | Visibility._stop = function (id) { 132 | var timer = Visibility._timers[id]; 133 | clearInterval(timer.id); 134 | clearTimeout(timer.delay); 135 | delete timer.id; 136 | delete timer.delay; 137 | }; 138 | 139 | // Listener for `visibilitychange` event. 140 | Visibility._stopRun = function (event) { 141 | var isHidden = Visibility.hidden(), 142 | wasHidden = Visibility._wasHidden; 143 | 144 | if ( (isHidden && !wasHidden) || (!isHidden && wasHidden) ) { 145 | for ( var i in Visibility._timers ) { 146 | Visibility._stop(i); 147 | Visibility._run(i, !isHidden); 148 | } 149 | } 150 | }; 151 | 152 | return Visibility; 153 | } 154 | 155 | if ( typeof(module) != 'undefined' && module.exports ) { 156 | module.exports = install(require('./visibility.core')); 157 | } else { 158 | install(window.Visibility || require('./visibility.core')) 159 | } 160 | 161 | })(window); 162 | -------------------------------------------------------------------------------- /logo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "visibilityjs", 3 | "version": "2.0.2", 4 | "description": "Wrapper for the Page Visibility API", 5 | "keywords": [ 6 | "page visibility api", 7 | "visibility", 8 | "polyfill", 9 | "timer" 10 | ], 11 | "author": "Andrey Sitnik ", 12 | "license": "MIT", 13 | "repository": "ai/visibilityjs", 14 | "devDependencies": { 15 | "chai": "4.1.2", 16 | "mocha": "5.2.0", 17 | "sinon": "^6.0.0", 18 | "sinon-chai": "3.1.0", 19 | "size-limit": "^0.18.2" 20 | }, 21 | "scripts": { 22 | "test": "mocha && size-limit" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /test/integration.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |

Visibility.js test

12 |

Page Visibility API .

13 |

Page is visible for sec.

14 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /test/mocha.js: -------------------------------------------------------------------------------- 1 | sinon = require('sinon'); 2 | 3 | window = global; 4 | document = { 5 | createElement: function () { }, 6 | addEventListener: function () { } 7 | }; 8 | window.addEventListener = function () { }; 9 | 10 | Visibility = require('../') 11 | 12 | chai = require('chai'); 13 | sinonChai = require('sinon-chai'); 14 | chai.should(); 15 | chai.use(sinonChai); 16 | -------------------------------------------------------------------------------- /test/mocha.opts: -------------------------------------------------------------------------------- 1 | --reporter spec 2 | --require ./test/mocha 3 | test/*.test.js 4 | -------------------------------------------------------------------------------- /test/visibility.test.js: -------------------------------------------------------------------------------- 1 | describe('Visibility', function() { 2 | var clock, document, set, webkitSet; 3 | document = null; 4 | clock = null; 5 | webkitSet = function(state) { 6 | document.webkitHidden = state === 'hidden'; 7 | return document.webkitVisibilityState = state; 8 | }; 9 | set = function(state) { 10 | document.hidden = state === 'hidden'; 11 | return document.visibilityState = state; 12 | }; 13 | beforeEach(function() { 14 | Visibility._init = false; 15 | Visibility._timed = false; 16 | Visibility._timers = {}; 17 | Visibility._wasHidden = false; 18 | Visibility._callbacks = []; 19 | Visibility._doc = document = { 20 | addEventListener: function() {} 21 | }; 22 | return sinon.stub(window, 'setInterval').returns(102); 23 | }); 24 | afterEach(function() { 25 | var base, method, ref; 26 | delete window.jQuery; 27 | for (method in Visibility) { 28 | if ((ref = Visibility[method]) != null) { 29 | if (typeof ref.restore === "function") { 30 | ref.restore(); 31 | } 32 | } 33 | } 34 | return typeof (base = window.setInterval).restore === "function" ? base.restore() : void 0; 35 | }); 36 | describe('Core', function() { 37 | describe('.onVisible()', function() { 38 | it('calls onVisible immediately when API is not supported', function() { 39 | var callback; 40 | sinon.stub(Visibility, 'isSupported').returns(false); 41 | sinon.spy(Visibility, '_listen'); 42 | callback = sinon.spy(); 43 | Visibility.onVisible(callback).should.be.false; 44 | callback.should.have.been.called; 45 | return Visibility._listen.should.not.have.been.called; 46 | }); 47 | it('runs onVisible callback immediately if page is visible', function() { 48 | var callback; 49 | set('visible'); 50 | sinon.spy(Visibility, '_listen'); 51 | callback = sinon.spy(); 52 | Visibility.onVisible(callback).should.be.true; 53 | callback.should.have.been.called; 54 | return Visibility._listen.should.not.have.been.called; 55 | }); 56 | return it('runs onVisible callback by listener on hidden page', function() { 57 | var callback; 58 | webkitSet('hidden'); 59 | sinon.spy(Visibility, '_listen'); 60 | callback = sinon.spy(); 61 | Visibility.onVisible(callback).should.be.a('number'); 62 | callback.should.not.have.been.called; 63 | Visibility._listen.should.have.been.called; 64 | Visibility._change(); 65 | callback.should.not.have.been.called; 66 | webkitSet('visible'); 67 | Visibility._change(); 68 | callback.should.have.been.calledOnce; 69 | Visibility._change(); 70 | return callback.should.have.been.calledOnce; 71 | }); 72 | }); 73 | describe('.change()', function() { 74 | it('returns false on `change` call when API is not supported', function() { 75 | var callback; 76 | sinon.stub(Visibility, 'isSupported').returns(false); 77 | sinon.spy(Visibility, '_listen'); 78 | callback = sinon.spy(); 79 | Visibility.change(callback).should.be.false; 80 | callback.should.not.have.been.called; 81 | return Visibility._listen.should.not.have.been.called; 82 | }); 83 | return it('calls callback on visibility state changes', function() { 84 | var callback, event; 85 | webkitSet('visible'); 86 | sinon.spy(Visibility, '_listen'); 87 | callback = sinon.spy(); 88 | Visibility.change(callback).should.not.be.false; 89 | Visibility._listen.should.have.been.called; 90 | event = {}; 91 | document.webkitVisibilityState = 'visible'; 92 | Visibility._change(event); 93 | callback.should.have.been.calledWith(event, 'visible'); 94 | document.webkitVisibilityState = 'hidden'; 95 | Visibility._change(event); 96 | callback.should.have.been.calledTwice; 97 | return callback.getCall(1).calledWith(event, 'hidden').should.be.true; 98 | }); 99 | }); 100 | describe('.unbind()', function() { 101 | return it('removes listener', function() { 102 | var callback1, callback2, id1, id2; 103 | set('visible'); 104 | sinon.spy(Visibility, '_listen'); 105 | callback1 = sinon.spy(); 106 | callback2 = sinon.spy(); 107 | id1 = Visibility.change(callback1); 108 | id2 = Visibility.change(callback2); 109 | Visibility.unbind(id2); 110 | Visibility._change({}); 111 | callback1.should.have.been.called; 112 | return callback2.should.not.have.been.called; 113 | }); 114 | }); 115 | describe('.afterPrerendering()', function() { 116 | it('runs afterPrerendering callback immediately without API', function() { 117 | var callback; 118 | sinon.stub(Visibility, 'isSupported').returns(false); 119 | sinon.stub(Visibility, '_listen'); 120 | callback = sinon.spy(); 121 | Visibility.afterPrerendering(callback).should.be.false; 122 | callback.should.have.been.called; 123 | return Visibility._listen.should.not.have.been.called; 124 | }); 125 | it('runs afterPrerendering immediately if page isn’t prerended', function() { 126 | var callback; 127 | webkitSet('hidden'); 128 | sinon.stub(Visibility, '_listen'); 129 | callback = sinon.spy(); 130 | Visibility.afterPrerendering(callback).should.be.true; 131 | callback.should.have.been.called; 132 | return Visibility._listen.should.not.have.been.called; 133 | }); 134 | return it('runs afterPrerendering listeners on prerended page', function() { 135 | var callback; 136 | webkitSet('prerender'); 137 | sinon.stub(Visibility, '_listen'); 138 | callback = sinon.spy(); 139 | Visibility.afterPrerendering(callback).should.be.a('number'); 140 | callback.should.not.have.been.called; 141 | Visibility._listen.should.have.been.called; 142 | Visibility._change(); 143 | callback.should.not.have.been.called; 144 | document.webkitVisibilityState = 'visible'; 145 | Visibility._change(); 146 | callback.should.have.been.called; 147 | Visibility._change(); 148 | return callback.should.have.been.calledOnce; 149 | }); 150 | }); 151 | describe('.hidden()', function() { 152 | it('always returns boolean', function() { 153 | return Visibility.hidden().should.be.false; 154 | }); 155 | return it('checks if the page is hidden', function() { 156 | webkitSet('hidden'); 157 | Visibility.hidden().should.be.true; 158 | webkitSet('visible'); 159 | return Visibility.hidden().should.be.false; 160 | }); 161 | }); 162 | describe('.state()', function() { 163 | return it('returns visibility state', function() { 164 | webkitSet('visible'); 165 | return Visibility.state().should.eql('visible'); 166 | }); 167 | }); 168 | describe('.isSupported()', function() { 169 | return it('detects whether the Page Visibility API is supported', function() { 170 | Visibility.isSupported().should.be.false; 171 | webkitSet('visible'); 172 | return Visibility.isSupported().should.be.true; 173 | }); 174 | }); 175 | return describe('._listen()', function() { 176 | it('sets listener only once', function() { 177 | webkitSet('hidden'); 178 | sinon.spy(document, 'addEventListener'); 179 | Visibility._listen(); 180 | Visibility._listen(); 181 | return document.addEventListener.should.have.been.calledOnce; 182 | }); 183 | it('sets listener', function() { 184 | var listener; 185 | webkitSet('hidden'); 186 | listener = null; 187 | document.addEventListener = function(a, b, c) { 188 | return listener = b; 189 | }; 190 | sinon.spy(Visibility, '_change'); 191 | Visibility._listen(); 192 | listener(); 193 | Visibility._change.should.have.been.called; 194 | return Visibility._change.should.have.been.calledOn(Visibility); 195 | }); 196 | return it('sets listener in IE', function() { 197 | set('hidden'); 198 | Visibility._doc = document = { 199 | attachEvent: function() {} 200 | }; 201 | sinon.spy(document, 'attachEvent'); 202 | Visibility._listen(); 203 | return document.attachEvent.should.have.been.called; 204 | }); 205 | }); 206 | }); 207 | return describe('Timers', function() { 208 | describe('.every()', function() { 209 | before(function() { 210 | return this.clock = sinon.useFakeTimers(); 211 | }); 212 | after(function() { 213 | return this.clock.restore(); 214 | }); 215 | it('creates a new timer from every method', function() { 216 | var callback1, callback2, id1, id2, right; 217 | webkitSet('hidden'); 218 | sinon.stub(Visibility, '_run'); 219 | sinon.stub(Visibility, '_time'); 220 | callback1 = function() {}; 221 | id1 = Visibility.every(1, 10, callback1); 222 | callback2 = function() {}; 223 | id2 = Visibility.every(2, callback2); 224 | right = {}; 225 | right[id1] = { 226 | visible: 1, 227 | hidden: 10, 228 | callback: callback1 229 | }; 230 | right[id2] = { 231 | visible: 2, 232 | hidden: null, 233 | callback: callback2 234 | }; 235 | Visibility._timers.should.eql(right); 236 | Visibility._run.should.have.been.calledTwice; 237 | Visibility._run.args[0].should.eql([id1, false]); 238 | Visibility._run.args[1].should.eql([id2, false]); 239 | return Visibility._time.should.have.been.called; 240 | }); 241 | it('sets visible timer from every method without API', function() { 242 | var callback; 243 | Visibility._time(); 244 | sinon.stub(Visibility, '_listen'); 245 | callback = function() {}; 246 | Visibility.every(1, 10, callback); 247 | window.setInterval.should.have.been.calledWith(sinon.match.func, 1); 248 | return Visibility._listen.should.not.have.been.called; 249 | }); 250 | it('stores last called time', function() { 251 | var id, now, runner; 252 | runner = null; 253 | window.setInterval.restore(); 254 | sinon.stub(window, 'setInterval').callsFake(function(callback, ms) { 255 | return runner = callback; 256 | }); 257 | now = new Date(); 258 | id = Visibility.every(1, 10, function() {}); 259 | Visibility._timers[id].should.not.have.property('last'); 260 | runner(); 261 | Visibility._timers[id].last.should.eql(new Date(0)); 262 | this.clock.tick(100); 263 | runner(); 264 | return Visibility._timers[id].last.should.eql(new Date(100)); 265 | }); 266 | it('executes timers', function() { 267 | var callback1, callback2, lastID; 268 | webkitSet('hidden'); 269 | lastID = 100; 270 | window.setInterval.restore(); 271 | sinon.stub(window, 'setInterval').callsFake(function() { 272 | return lastID += 1; 273 | }); 274 | callback1 = sinon.spy(); 275 | callback2 = sinon.spy(); 276 | Visibility._timers = { 277 | 1: { 278 | visible: 1, 279 | hidden: 10, 280 | callback: callback1 281 | }, 282 | 2: { 283 | visible: 2, 284 | hidden: null, 285 | callback: callback2 286 | } 287 | }; 288 | Visibility._run(1, false); 289 | Visibility._timers[1].id.should.eql(101); 290 | window.setInterval.should.have.been.calledOnce; 291 | window.setInterval.should.have.been.calledWith(sinon.match.func, 10); 292 | callback1.should.not.have.been.called; 293 | Visibility._run(2, false); 294 | Visibility._timers[2].should.eql({ 295 | visible: 2, 296 | callback: callback2, 297 | hidden: null 298 | }); 299 | window.setInterval.should.have.been.calledOnce; 300 | webkitSet('visible'); 301 | Visibility._run(1, true); 302 | Visibility._timers[1].id.should.eql(102); 303 | window.setInterval.callCount.should.eql(2); 304 | window.setInterval.should.be.calledWith(sinon.match.func, 1); 305 | return callback1.should.have.been.calledOn(window); 306 | }); 307 | it('stops and run timers on state changes', function() { 308 | var callback; 309 | webkitSet('hidden'); 310 | Visibility._wasHidden = true; 311 | sinon.stub(Visibility, '_stop'); 312 | sinon.stub(Visibility, '_run'); 313 | callback = sinon.spy; 314 | Visibility._timers = { 315 | 1: { 316 | visible: 1, 317 | hidden: 10, 318 | callback: callback 319 | }, 320 | 3: { 321 | visible: 2, 322 | hidden: null, 323 | callback: callback 324 | } 325 | }; 326 | Visibility._time(); 327 | Visibility._change(); 328 | Visibility._stop.should.not.have.been.called; 329 | Visibility._run.should.not.have.been.called; 330 | webkitSet('visible'); 331 | Visibility._change(); 332 | Visibility._stop.should.have.been.calledTwice; 333 | Visibility._stop.args[0].should.eql(['1']); 334 | Visibility._stop.args[1].should.eql(['3']); 335 | Visibility._run.should.have.been.calledTwice; 336 | Visibility._run.args[0].should.eql(['1', true]); 337 | Visibility._run.args[1].should.eql(['3', true]); 338 | Visibility._change(); 339 | Visibility._stop.should.have.been.calledTwice; 340 | Visibility._run.should.have.been.calledTwice; 341 | webkitSet('hidden'); 342 | Visibility._change(); 343 | Visibility._stop.callCount.should.eql(4); 344 | Visibility._stop.args[2].should.eql(['1']); 345 | Visibility._stop.args[3].should.eql(['3']); 346 | Visibility._run.callCount.should.eql(4); 347 | Visibility._run.args[2].should.eql(['1', false]); 348 | return Visibility._run.args[3].should.eql(['3', false]); 349 | }); 350 | it('prevents too fast calls on visibility change', function() { 351 | var callback; 352 | window.setInterval.restore(); 353 | webkitSet('visible'); 354 | callback = sinon.spy(); 355 | Visibility.every(1000, callback); 356 | callback.should.have.not.been.called; 357 | this.clock.tick(1100); 358 | callback.should.have.been.calledOnce; 359 | webkitSet('hidden'); 360 | Visibility._change(); 361 | callback.should.have.been.calledOnce; 362 | this.clock.tick(400); 363 | webkitSet('visible'); 364 | Visibility._change(); 365 | callback.should.have.been.calledOnce; 366 | this.clock.tick(500); 367 | callback.should.have.been.calledTwice; 368 | this.clock.tick(1000); 369 | return callback.should.have.been.calledThrice; 370 | }); 371 | return it('checks race condition on visibility change and .stop() call in callback', function() { 372 | var callback, timer; 373 | window.setInterval.restore(); 374 | sinon.spy(Visibility, 'stop'); 375 | callback = sinon.spy(function() { 376 | if (callback.callCount === 2) { 377 | return Visibility.stop(timer); 378 | } 379 | }); 380 | webkitSet('visible'); 381 | timer = Visibility.every(1000, callback); 382 | callback.should.have.not.been.called; 383 | this.clock.tick(1100); 384 | callback.should.have.been.calledOnce; 385 | webkitSet('hidden'); 386 | Visibility._change(); 387 | callback.should.have.been.calledOnce; 388 | this.clock.tick(1100); 389 | callback.should.have.been.calledOnce; 390 | Visibility.stop.should.have.not.been.called; 391 | webkitSet('visible'); 392 | Visibility._change(); 393 | callback.should.have.been.calledTwice; 394 | Visibility.stop.should.have.been.calledOnce; 395 | this.clock.tick(1100); 396 | callback.should.have.been.calledTwice; 397 | this.clock.tick(1100); 398 | return callback.should.have.been.calledTwice; 399 | }); 400 | }); 401 | describe('._wasHidden', function() { 402 | return it('remembers if previous state is `visible`', function() { 403 | webkitSet('hidden'); 404 | Visibility._time(); 405 | Visibility._wasHidden.should.be.true; 406 | Visibility._change(); 407 | Visibility._wasHidden.should.be.true; 408 | webkitSet('visible'); 409 | Visibility._change(); 410 | return Visibility._wasHidden.should.be.false; 411 | }); 412 | }); 413 | describe('._time()', function() { 414 | return it('initlializes only once', function() { 415 | sinon.stub(Visibility, 'change'); 416 | Visibility._time(); 417 | Visibility._timed.should.be.true; 418 | Visibility.change.should.have.been.calledOnce; 419 | Visibility._time(); 420 | Visibility.change.should.have.been.calledOnce; 421 | Visibility._timed = false; 422 | Visibility._time(); 423 | return Visibility.change.should.have.been.calledTwice; 424 | }); 425 | }); 426 | return describe('._stop()', function() { 427 | afterEach(function() { 428 | var base; 429 | return typeof (base = window.clearInterval).restore === "function" ? base.restore() : void 0; 430 | }); 431 | return it('stops timer', function() { 432 | var callback; 433 | sinon.stub(window, 'clearInterval'); 434 | callback = function() {}; 435 | Visibility._timers = { 436 | 1: { 437 | interval: 1, 438 | hiddenInterval: 2, 439 | callback: callback, 440 | id: 101 441 | } 442 | }; 443 | Visibility._stop(1); 444 | window.clearInterval.should.have.been.calledWith(101); 445 | return Visibility._timers[1].should.eql({ 446 | interval: 1, 447 | hiddenInterval: 2, 448 | callback: callback 449 | }); 450 | }); 451 | }); 452 | }); 453 | }); 454 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@mrmlnc/readdir-enhanced@^2.2.1": 6 | version "2.2.1" 7 | resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" 8 | dependencies: 9 | call-me-maybe "^1.0.1" 10 | glob-to-regexp "^0.3.0" 11 | 12 | "@nodelib/fs.stat@^1.0.1": 13 | version "1.1.0" 14 | resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.0.tgz#50c1e2260ac0ed9439a181de3725a0168d59c48a" 15 | 16 | "@sinonjs/formatio@^2.0.0": 17 | version "2.0.0" 18 | resolved "https://registry.yarnpkg.com/@sinonjs/formatio/-/formatio-2.0.0.tgz#84db7e9eb5531df18a8c5e0bfb6e449e55e654b2" 19 | dependencies: 20 | samsam "1.3.0" 21 | 22 | "@webassemblyjs/ast@1.5.12": 23 | version "1.5.12" 24 | resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.5.12.tgz#a9acbcb3f25333c4edfa1fdf3186b1ccf64e6664" 25 | dependencies: 26 | "@webassemblyjs/helper-module-context" "1.5.12" 27 | "@webassemblyjs/helper-wasm-bytecode" "1.5.12" 28 | "@webassemblyjs/wast-parser" "1.5.12" 29 | debug "^3.1.0" 30 | mamacro "^0.0.3" 31 | 32 | "@webassemblyjs/floating-point-hex-parser@1.5.12": 33 | version "1.5.12" 34 | resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.5.12.tgz#0f36044ffe9652468ce7ae5a08716a4eeff9cd9c" 35 | 36 | "@webassemblyjs/helper-api-error@1.5.12": 37 | version "1.5.12" 38 | resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.5.12.tgz#05466833ff2f9d8953a1a327746e1d112ea62aaf" 39 | 40 | "@webassemblyjs/helper-buffer@1.5.12": 41 | version "1.5.12" 42 | resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.5.12.tgz#1f0de5aaabefef89aec314f7f970009cd159c73d" 43 | dependencies: 44 | debug "^3.1.0" 45 | 46 | "@webassemblyjs/helper-code-frame@1.5.12": 47 | version "1.5.12" 48 | resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.5.12.tgz#3cdc1953093760d1c0f0caf745ccd62bdb6627c7" 49 | dependencies: 50 | "@webassemblyjs/wast-printer" "1.5.12" 51 | 52 | "@webassemblyjs/helper-fsm@1.5.12": 53 | version "1.5.12" 54 | resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.5.12.tgz#6bc1442b037f8e30f2e57b987cee5c806dd15027" 55 | 56 | "@webassemblyjs/helper-module-context@1.5.12": 57 | version "1.5.12" 58 | resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.5.12.tgz#b5588ca78b33b8a0da75f9ab8c769a3707baa861" 59 | dependencies: 60 | debug "^3.1.0" 61 | mamacro "^0.0.3" 62 | 63 | "@webassemblyjs/helper-wasm-bytecode@1.5.12": 64 | version "1.5.12" 65 | resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.5.12.tgz#d12a3859db882a448891a866a05d0be63785b616" 66 | 67 | "@webassemblyjs/helper-wasm-section@1.5.12": 68 | version "1.5.12" 69 | resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.5.12.tgz#ff9fe1507d368ad437e7969d25e8c1693dac1884" 70 | dependencies: 71 | "@webassemblyjs/ast" "1.5.12" 72 | "@webassemblyjs/helper-buffer" "1.5.12" 73 | "@webassemblyjs/helper-wasm-bytecode" "1.5.12" 74 | "@webassemblyjs/wasm-gen" "1.5.12" 75 | debug "^3.1.0" 76 | 77 | "@webassemblyjs/ieee754@1.5.12": 78 | version "1.5.12" 79 | resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.5.12.tgz#ee9574bc558888f13097ce3e7900dff234ea19a4" 80 | dependencies: 81 | ieee754 "^1.1.11" 82 | 83 | "@webassemblyjs/leb128@1.5.12": 84 | version "1.5.12" 85 | resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.5.12.tgz#0308eec652765ee567d8a5fa108b4f0b25b458e1" 86 | dependencies: 87 | leb "^0.3.0" 88 | 89 | "@webassemblyjs/utf8@1.5.12": 90 | version "1.5.12" 91 | resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.5.12.tgz#d5916222ef314bf60d6806ed5ac045989bfd92ce" 92 | 93 | "@webassemblyjs/wasm-edit@1.5.12": 94 | version "1.5.12" 95 | resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.5.12.tgz#821c9358e644a166f2c910e5af1b46ce795a17aa" 96 | dependencies: 97 | "@webassemblyjs/ast" "1.5.12" 98 | "@webassemblyjs/helper-buffer" "1.5.12" 99 | "@webassemblyjs/helper-wasm-bytecode" "1.5.12" 100 | "@webassemblyjs/helper-wasm-section" "1.5.12" 101 | "@webassemblyjs/wasm-gen" "1.5.12" 102 | "@webassemblyjs/wasm-opt" "1.5.12" 103 | "@webassemblyjs/wasm-parser" "1.5.12" 104 | "@webassemblyjs/wast-printer" "1.5.12" 105 | debug "^3.1.0" 106 | 107 | "@webassemblyjs/wasm-gen@1.5.12": 108 | version "1.5.12" 109 | resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.5.12.tgz#0b7ccfdb93dab902cc0251014e2e18bae3139bcb" 110 | dependencies: 111 | "@webassemblyjs/ast" "1.5.12" 112 | "@webassemblyjs/helper-wasm-bytecode" "1.5.12" 113 | "@webassemblyjs/ieee754" "1.5.12" 114 | "@webassemblyjs/leb128" "1.5.12" 115 | "@webassemblyjs/utf8" "1.5.12" 116 | 117 | "@webassemblyjs/wasm-opt@1.5.12": 118 | version "1.5.12" 119 | resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.5.12.tgz#bd758a8bc670f585ff1ae85f84095a9e0229cbc9" 120 | dependencies: 121 | "@webassemblyjs/ast" "1.5.12" 122 | "@webassemblyjs/helper-buffer" "1.5.12" 123 | "@webassemblyjs/wasm-gen" "1.5.12" 124 | "@webassemblyjs/wasm-parser" "1.5.12" 125 | debug "^3.1.0" 126 | 127 | "@webassemblyjs/wasm-parser@1.5.12": 128 | version "1.5.12" 129 | resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.5.12.tgz#7b10b4388ecf98bd7a22e702aa62ec2f46d0c75e" 130 | dependencies: 131 | "@webassemblyjs/ast" "1.5.12" 132 | "@webassemblyjs/helper-api-error" "1.5.12" 133 | "@webassemblyjs/helper-wasm-bytecode" "1.5.12" 134 | "@webassemblyjs/ieee754" "1.5.12" 135 | "@webassemblyjs/leb128" "1.5.12" 136 | "@webassemblyjs/utf8" "1.5.12" 137 | 138 | "@webassemblyjs/wast-parser@1.5.12": 139 | version "1.5.12" 140 | resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.5.12.tgz#9cf5ae600ecae0640437b5d4de5dd6b6088d0d8b" 141 | dependencies: 142 | "@webassemblyjs/ast" "1.5.12" 143 | "@webassemblyjs/floating-point-hex-parser" "1.5.12" 144 | "@webassemblyjs/helper-api-error" "1.5.12" 145 | "@webassemblyjs/helper-code-frame" "1.5.12" 146 | "@webassemblyjs/helper-fsm" "1.5.12" 147 | long "^3.2.0" 148 | mamacro "^0.0.3" 149 | 150 | "@webassemblyjs/wast-printer@1.5.12": 151 | version "1.5.12" 152 | resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.5.12.tgz#563ca4d01b22d21640b2463dc5e3d7f7d9dac520" 153 | dependencies: 154 | "@webassemblyjs/ast" "1.5.12" 155 | "@webassemblyjs/wast-parser" "1.5.12" 156 | long "^3.2.0" 157 | 158 | abbrev@1: 159 | version "1.1.1" 160 | resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" 161 | 162 | accepts@~1.3.5: 163 | version "1.3.5" 164 | resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.5.tgz#eb777df6011723a3b14e8a72c0805c8e86746bd2" 165 | dependencies: 166 | mime-types "~2.1.18" 167 | negotiator "0.6.1" 168 | 169 | acorn-dynamic-import@^3.0.0: 170 | version "3.0.0" 171 | resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz#901ceee4c7faaef7e07ad2a47e890675da50a278" 172 | dependencies: 173 | acorn "^5.0.0" 174 | 175 | acorn@^5.0.0, acorn@^5.3.0, acorn@^5.6.2: 176 | version "5.6.2" 177 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.6.2.tgz#b1da1d7be2ac1b4a327fb9eab851702c5045b4e7" 178 | 179 | ajv-keywords@^3.1.0: 180 | version "3.2.0" 181 | resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.2.0.tgz#e86b819c602cf8821ad637413698f1dec021847a" 182 | 183 | ajv@^6.1.0: 184 | version "6.5.1" 185 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.5.1.tgz#88ebc1263c7133937d108b80c5572e64e1d9322d" 186 | dependencies: 187 | fast-deep-equal "^2.0.1" 188 | fast-json-stable-stringify "^2.0.0" 189 | json-schema-traverse "^0.4.1" 190 | uri-js "^4.2.1" 191 | 192 | alphanum-sort@^1.0.1, alphanum-sort@^1.0.2: 193 | version "1.0.2" 194 | resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" 195 | 196 | ansi-regex@^2.0.0: 197 | version "2.1.1" 198 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" 199 | 200 | ansi-regex@^3.0.0: 201 | version "3.0.0" 202 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" 203 | 204 | ansi-styles@^2.2.1: 205 | version "2.2.1" 206 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" 207 | 208 | ansi-styles@^3.2.1: 209 | version "3.2.1" 210 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 211 | dependencies: 212 | color-convert "^1.9.0" 213 | 214 | anymatch@^2.0.0: 215 | version "2.0.0" 216 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" 217 | dependencies: 218 | micromatch "^3.1.4" 219 | normalize-path "^2.1.1" 220 | 221 | aproba@^1.0.3, aproba@^1.1.1: 222 | version "1.2.0" 223 | resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" 224 | 225 | are-we-there-yet@~1.1.2: 226 | version "1.1.5" 227 | resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" 228 | dependencies: 229 | delegates "^1.0.0" 230 | readable-stream "^2.0.6" 231 | 232 | argparse@^1.0.7: 233 | version "1.0.10" 234 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" 235 | dependencies: 236 | sprintf-js "~1.0.2" 237 | 238 | arr-diff@^4.0.0: 239 | version "4.0.0" 240 | resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" 241 | 242 | arr-flatten@^1.1.0: 243 | version "1.1.0" 244 | resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" 245 | 246 | arr-union@^3.1.0: 247 | version "3.1.0" 248 | resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" 249 | 250 | array-flatten@1.1.1: 251 | version "1.1.1" 252 | resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" 253 | 254 | array-union@^1.0.1: 255 | version "1.0.2" 256 | resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" 257 | dependencies: 258 | array-uniq "^1.0.1" 259 | 260 | array-uniq@^1.0.1: 261 | version "1.0.3" 262 | resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" 263 | 264 | array-unique@^0.3.2: 265 | version "0.3.2" 266 | resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" 267 | 268 | arrify@^1.0.1: 269 | version "1.0.1" 270 | resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" 271 | 272 | asn1.js@^4.0.0: 273 | version "4.10.1" 274 | resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" 275 | dependencies: 276 | bn.js "^4.0.0" 277 | inherits "^2.0.1" 278 | minimalistic-assert "^1.0.0" 279 | 280 | assert@^1.1.1: 281 | version "1.4.1" 282 | resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" 283 | dependencies: 284 | util "0.10.3" 285 | 286 | assertion-error@^1.0.1: 287 | version "1.1.0" 288 | resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" 289 | 290 | assign-symbols@^1.0.0: 291 | version "1.0.0" 292 | resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" 293 | 294 | async-each@^1.0.0: 295 | version "1.0.1" 296 | resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" 297 | 298 | async-limiter@~1.0.0: 299 | version "1.0.0" 300 | resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" 301 | 302 | atob@^2.1.1: 303 | version "2.1.1" 304 | resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.1.tgz#ae2d5a729477f289d60dd7f96a6314a22dd6c22a" 305 | 306 | autoprefixer@^6.3.1: 307 | version "6.7.7" 308 | resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.7.7.tgz#1dbd1c835658e35ce3f9984099db00585c782014" 309 | dependencies: 310 | browserslist "^1.7.6" 311 | caniuse-db "^1.0.30000634" 312 | normalize-range "^0.1.2" 313 | num2fraction "^1.2.2" 314 | postcss "^5.2.16" 315 | postcss-value-parser "^3.2.3" 316 | 317 | babel-code-frame@^6.26.0: 318 | version "6.26.0" 319 | resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" 320 | dependencies: 321 | chalk "^1.1.3" 322 | esutils "^2.0.2" 323 | js-tokens "^3.0.2" 324 | 325 | balanced-match@^0.4.2: 326 | version "0.4.2" 327 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" 328 | 329 | balanced-match@^1.0.0: 330 | version "1.0.0" 331 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 332 | 333 | base64-js@^1.0.2: 334 | version "1.3.0" 335 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3" 336 | 337 | base@^0.11.1: 338 | version "0.11.2" 339 | resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" 340 | dependencies: 341 | cache-base "^1.0.1" 342 | class-utils "^0.3.5" 343 | component-emitter "^1.2.1" 344 | define-property "^1.0.0" 345 | isobject "^3.0.1" 346 | mixin-deep "^1.2.0" 347 | pascalcase "^0.1.1" 348 | 349 | bfj-node4@^5.2.0: 350 | version "5.3.1" 351 | resolved "https://registry.yarnpkg.com/bfj-node4/-/bfj-node4-5.3.1.tgz#e23d8b27057f1d0214fc561142ad9db998f26830" 352 | dependencies: 353 | bluebird "^3.5.1" 354 | check-types "^7.3.0" 355 | tryer "^1.0.0" 356 | 357 | big.js@^3.1.3: 358 | version "3.2.0" 359 | resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" 360 | 361 | binary-extensions@^1.0.0: 362 | version "1.11.0" 363 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.11.0.tgz#46aa1751fb6a2f93ee5e689bb1087d4b14c6c205" 364 | 365 | bluebird@^3.5.1: 366 | version "3.5.1" 367 | resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9" 368 | 369 | bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: 370 | version "4.11.8" 371 | resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" 372 | 373 | body-parser@1.18.2: 374 | version "1.18.2" 375 | resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.2.tgz#87678a19d84b47d859b83199bd59bce222b10454" 376 | dependencies: 377 | bytes "3.0.0" 378 | content-type "~1.0.4" 379 | debug "2.6.9" 380 | depd "~1.1.1" 381 | http-errors "~1.6.2" 382 | iconv-lite "0.4.19" 383 | on-finished "~2.3.0" 384 | qs "6.5.1" 385 | raw-body "2.3.2" 386 | type-is "~1.6.15" 387 | 388 | brace-expansion@^1.1.7: 389 | version "1.1.11" 390 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 391 | dependencies: 392 | balanced-match "^1.0.0" 393 | concat-map "0.0.1" 394 | 395 | braces@^2.3.0, braces@^2.3.1: 396 | version "2.3.2" 397 | resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" 398 | dependencies: 399 | arr-flatten "^1.1.0" 400 | array-unique "^0.3.2" 401 | extend-shallow "^2.0.1" 402 | fill-range "^4.0.0" 403 | isobject "^3.0.1" 404 | repeat-element "^1.1.2" 405 | snapdragon "^0.8.1" 406 | snapdragon-node "^2.0.1" 407 | split-string "^3.0.2" 408 | to-regex "^3.0.1" 409 | 410 | brorand@^1.0.1: 411 | version "1.1.0" 412 | resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" 413 | 414 | browser-stdout@1.3.1: 415 | version "1.3.1" 416 | resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" 417 | 418 | browserify-aes@^1.0.0, browserify-aes@^1.0.4: 419 | version "1.2.0" 420 | resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" 421 | dependencies: 422 | buffer-xor "^1.0.3" 423 | cipher-base "^1.0.0" 424 | create-hash "^1.1.0" 425 | evp_bytestokey "^1.0.3" 426 | inherits "^2.0.1" 427 | safe-buffer "^5.0.1" 428 | 429 | browserify-cipher@^1.0.0: 430 | version "1.0.1" 431 | resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" 432 | dependencies: 433 | browserify-aes "^1.0.4" 434 | browserify-des "^1.0.0" 435 | evp_bytestokey "^1.0.0" 436 | 437 | browserify-des@^1.0.0: 438 | version "1.0.1" 439 | resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.1.tgz#3343124db6d7ad53e26a8826318712bdc8450f9c" 440 | dependencies: 441 | cipher-base "^1.0.1" 442 | des.js "^1.0.0" 443 | inherits "^2.0.1" 444 | 445 | browserify-rsa@^4.0.0: 446 | version "4.0.1" 447 | resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" 448 | dependencies: 449 | bn.js "^4.1.0" 450 | randombytes "^2.0.1" 451 | 452 | browserify-sign@^4.0.0: 453 | version "4.0.4" 454 | resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" 455 | dependencies: 456 | bn.js "^4.1.1" 457 | browserify-rsa "^4.0.0" 458 | create-hash "^1.1.0" 459 | create-hmac "^1.1.2" 460 | elliptic "^6.0.0" 461 | inherits "^2.0.1" 462 | parse-asn1 "^5.0.0" 463 | 464 | browserify-zlib@^0.2.0: 465 | version "0.2.0" 466 | resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" 467 | dependencies: 468 | pako "~1.0.5" 469 | 470 | browserslist@^1.3.6, browserslist@^1.5.2, browserslist@^1.7.6: 471 | version "1.7.7" 472 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-1.7.7.tgz#0bd76704258be829b2398bb50e4b62d1a166b0b9" 473 | dependencies: 474 | caniuse-db "^1.0.30000639" 475 | electron-to-chromium "^1.2.7" 476 | 477 | buffer-from@^1.0.0: 478 | version "1.1.0" 479 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.0.tgz#87fcaa3a298358e0ade6e442cfce840740d1ad04" 480 | 481 | buffer-xor@^1.0.3: 482 | version "1.0.3" 483 | resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" 484 | 485 | buffer@^4.3.0: 486 | version "4.9.1" 487 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" 488 | dependencies: 489 | base64-js "^1.0.2" 490 | ieee754 "^1.1.4" 491 | isarray "^1.0.0" 492 | 493 | builtin-modules@^1.0.0: 494 | version "1.1.1" 495 | resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" 496 | 497 | builtin-status-codes@^3.0.0: 498 | version "3.0.0" 499 | resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" 500 | 501 | bytes@3.0.0, bytes@^3.0.0: 502 | version "3.0.0" 503 | resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" 504 | 505 | cacache@^10.0.1, cacache@^10.0.4: 506 | version "10.0.4" 507 | resolved "https://registry.yarnpkg.com/cacache/-/cacache-10.0.4.tgz#6452367999eff9d4188aefd9a14e9d7c6a263460" 508 | dependencies: 509 | bluebird "^3.5.1" 510 | chownr "^1.0.1" 511 | glob "^7.1.2" 512 | graceful-fs "^4.1.11" 513 | lru-cache "^4.1.1" 514 | mississippi "^2.0.0" 515 | mkdirp "^0.5.1" 516 | move-concurrently "^1.0.1" 517 | promise-inflight "^1.0.1" 518 | rimraf "^2.6.2" 519 | ssri "^5.2.4" 520 | unique-filename "^1.1.0" 521 | y18n "^4.0.0" 522 | 523 | cache-base@^1.0.1: 524 | version "1.0.1" 525 | resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" 526 | dependencies: 527 | collection-visit "^1.0.0" 528 | component-emitter "^1.2.1" 529 | get-value "^2.0.6" 530 | has-value "^1.0.0" 531 | isobject "^3.0.1" 532 | set-value "^2.0.0" 533 | to-object-path "^0.3.0" 534 | union-value "^1.0.0" 535 | unset-value "^1.0.0" 536 | 537 | call-me-maybe@^1.0.1: 538 | version "1.0.1" 539 | resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" 540 | 541 | camelcase@^4.1.0: 542 | version "4.1.0" 543 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" 544 | 545 | caniuse-api@^1.5.2: 546 | version "1.6.1" 547 | resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-1.6.1.tgz#b534e7c734c4f81ec5fbe8aca2ad24354b962c6c" 548 | dependencies: 549 | browserslist "^1.3.6" 550 | caniuse-db "^1.0.30000529" 551 | lodash.memoize "^4.1.2" 552 | lodash.uniq "^4.5.0" 553 | 554 | caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639: 555 | version "1.0.30000852" 556 | resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000852.tgz#c37a706048f8d81f87946a7c13f39ed636876659" 557 | 558 | chai@4.1.2: 559 | version "4.1.2" 560 | resolved "https://registry.yarnpkg.com/chai/-/chai-4.1.2.tgz#0f64584ba642f0f2ace2806279f4f06ca23ad73c" 561 | dependencies: 562 | assertion-error "^1.0.1" 563 | check-error "^1.0.1" 564 | deep-eql "^3.0.0" 565 | get-func-name "^2.0.0" 566 | pathval "^1.0.0" 567 | type-detect "^4.0.0" 568 | 569 | chalk@^1.1.3: 570 | version "1.1.3" 571 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" 572 | dependencies: 573 | ansi-styles "^2.2.1" 574 | escape-string-regexp "^1.0.2" 575 | has-ansi "^2.0.0" 576 | strip-ansi "^3.0.0" 577 | supports-color "^2.0.0" 578 | 579 | chalk@^2.3.0, chalk@^2.4.1: 580 | version "2.4.1" 581 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" 582 | dependencies: 583 | ansi-styles "^3.2.1" 584 | escape-string-regexp "^1.0.5" 585 | supports-color "^5.3.0" 586 | 587 | check-error@^1.0.1: 588 | version "1.0.2" 589 | resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" 590 | 591 | check-types@^7.3.0: 592 | version "7.4.0" 593 | resolved "https://registry.yarnpkg.com/check-types/-/check-types-7.4.0.tgz#0378ec1b9616ec71f774931a3c6516fad8c152f4" 594 | 595 | chokidar@^2.0.2: 596 | version "2.0.3" 597 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.3.tgz#dcbd4f6cbb2a55b4799ba8a840ac527e5f4b1176" 598 | dependencies: 599 | anymatch "^2.0.0" 600 | async-each "^1.0.0" 601 | braces "^2.3.0" 602 | glob-parent "^3.1.0" 603 | inherits "^2.0.1" 604 | is-binary-path "^1.0.0" 605 | is-glob "^4.0.0" 606 | normalize-path "^2.1.1" 607 | path-is-absolute "^1.0.0" 608 | readdirp "^2.0.0" 609 | upath "^1.0.0" 610 | optionalDependencies: 611 | fsevents "^1.1.2" 612 | 613 | chownr@^1.0.1: 614 | version "1.0.1" 615 | resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.0.1.tgz#e2a75042a9551908bebd25b8523d5f9769d79181" 616 | 617 | chrome-trace-event@^1.0.0: 618 | version "1.0.0" 619 | resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz#45a91bd2c20c9411f0963b5aaeb9a1b95e09cc48" 620 | dependencies: 621 | tslib "^1.9.0" 622 | 623 | ci-job-number@^0.3.0: 624 | version "0.3.0" 625 | resolved "https://registry.yarnpkg.com/ci-job-number/-/ci-job-number-0.3.0.tgz#34bdd114b0dece1960287bd40a57051041a2a800" 626 | 627 | cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: 628 | version "1.0.4" 629 | resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" 630 | dependencies: 631 | inherits "^2.0.1" 632 | safe-buffer "^5.0.1" 633 | 634 | clap@^1.0.9: 635 | version "1.2.3" 636 | resolved "https://registry.yarnpkg.com/clap/-/clap-1.2.3.tgz#4f36745b32008492557f46412d66d50cb99bce51" 637 | dependencies: 638 | chalk "^1.1.3" 639 | 640 | class-utils@^0.3.5: 641 | version "0.3.6" 642 | resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" 643 | dependencies: 644 | arr-union "^3.1.0" 645 | define-property "^0.2.5" 646 | isobject "^3.0.0" 647 | static-extend "^0.1.1" 648 | 649 | cliui@^4.0.0: 650 | version "4.1.0" 651 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" 652 | dependencies: 653 | string-width "^2.1.1" 654 | strip-ansi "^4.0.0" 655 | wrap-ansi "^2.0.0" 656 | 657 | clone@^1.0.2: 658 | version "1.0.4" 659 | resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" 660 | 661 | coa@~1.0.1: 662 | version "1.0.4" 663 | resolved "https://registry.yarnpkg.com/coa/-/coa-1.0.4.tgz#a9ef153660d6a86a8bdec0289a5c684d217432fd" 664 | dependencies: 665 | q "^1.1.2" 666 | 667 | code-point-at@^1.0.0: 668 | version "1.1.0" 669 | resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" 670 | 671 | collection-visit@^1.0.0: 672 | version "1.0.0" 673 | resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" 674 | dependencies: 675 | map-visit "^1.0.0" 676 | object-visit "^1.0.0" 677 | 678 | color-convert@^1.3.0, color-convert@^1.9.0: 679 | version "1.9.2" 680 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.2.tgz#49881b8fba67df12a96bdf3f56c0aab9e7913147" 681 | dependencies: 682 | color-name "1.1.1" 683 | 684 | color-name@1.1.1: 685 | version "1.1.1" 686 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.1.tgz#4b1415304cf50028ea81643643bd82ea05803689" 687 | 688 | color-name@^1.0.0: 689 | version "1.1.3" 690 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 691 | 692 | color-string@^0.3.0: 693 | version "0.3.0" 694 | resolved "https://registry.yarnpkg.com/color-string/-/color-string-0.3.0.tgz#27d46fb67025c5c2fa25993bfbf579e47841b991" 695 | dependencies: 696 | color-name "^1.0.0" 697 | 698 | color@^0.11.0: 699 | version "0.11.4" 700 | resolved "https://registry.yarnpkg.com/color/-/color-0.11.4.tgz#6d7b5c74fb65e841cd48792ad1ed5e07b904d764" 701 | dependencies: 702 | clone "^1.0.2" 703 | color-convert "^1.3.0" 704 | color-string "^0.3.0" 705 | 706 | colormin@^1.0.5: 707 | version "1.1.2" 708 | resolved "https://registry.yarnpkg.com/colormin/-/colormin-1.1.2.tgz#ea2f7420a72b96881a38aae59ec124a6f7298133" 709 | dependencies: 710 | color "^0.11.0" 711 | css-color-names "0.0.4" 712 | has "^1.0.1" 713 | 714 | colors@~1.1.2: 715 | version "1.1.2" 716 | resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" 717 | 718 | commander@2.15.1, commander@^2.13.0: 719 | version "2.15.1" 720 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f" 721 | 722 | commander@~2.13.0: 723 | version "2.13.0" 724 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.13.0.tgz#6964bca67685df7c1f1430c584f07d7597885b9c" 725 | 726 | commondir@^1.0.1: 727 | version "1.0.1" 728 | resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" 729 | 730 | component-emitter@^1.2.1: 731 | version "1.2.1" 732 | resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" 733 | 734 | compression-webpack-plugin@^1.1.11: 735 | version "1.1.11" 736 | resolved "https://registry.yarnpkg.com/compression-webpack-plugin/-/compression-webpack-plugin-1.1.11.tgz#8384c7a6ead1d2e2efb190bdfcdcf35878ed8266" 737 | dependencies: 738 | cacache "^10.0.1" 739 | find-cache-dir "^1.0.0" 740 | neo-async "^2.5.0" 741 | serialize-javascript "^1.4.0" 742 | webpack-sources "^1.0.1" 743 | 744 | concat-map@0.0.1: 745 | version "0.0.1" 746 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 747 | 748 | concat-stream@^1.5.0: 749 | version "1.6.2" 750 | resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" 751 | dependencies: 752 | buffer-from "^1.0.0" 753 | inherits "^2.0.3" 754 | readable-stream "^2.2.2" 755 | typedarray "^0.0.6" 756 | 757 | console-browserify@^1.1.0: 758 | version "1.1.0" 759 | resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" 760 | dependencies: 761 | date-now "^0.1.4" 762 | 763 | console-control-strings@^1.0.0, console-control-strings@~1.1.0: 764 | version "1.1.0" 765 | resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" 766 | 767 | constants-browserify@^1.0.0: 768 | version "1.0.0" 769 | resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" 770 | 771 | content-disposition@0.5.2: 772 | version "0.5.2" 773 | resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" 774 | 775 | content-type@~1.0.4: 776 | version "1.0.4" 777 | resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" 778 | 779 | cookie-signature@1.0.6: 780 | version "1.0.6" 781 | resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" 782 | 783 | cookie@0.3.1: 784 | version "0.3.1" 785 | resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" 786 | 787 | copy-concurrently@^1.0.0: 788 | version "1.0.5" 789 | resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" 790 | dependencies: 791 | aproba "^1.1.1" 792 | fs-write-stream-atomic "^1.0.8" 793 | iferr "^0.1.5" 794 | mkdirp "^0.5.1" 795 | rimraf "^2.5.4" 796 | run-queue "^1.0.0" 797 | 798 | copy-descriptor@^0.1.0: 799 | version "0.1.1" 800 | resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" 801 | 802 | core-util-is@~1.0.0: 803 | version "1.0.2" 804 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 805 | 806 | cosmiconfig@^5.0.5: 807 | version "5.0.5" 808 | resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.0.5.tgz#a809e3c2306891ce17ab70359dc8bdf661fe2cd0" 809 | dependencies: 810 | is-directory "^0.3.1" 811 | js-yaml "^3.9.0" 812 | parse-json "^4.0.0" 813 | 814 | create-ecdh@^4.0.0: 815 | version "4.0.3" 816 | resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff" 817 | dependencies: 818 | bn.js "^4.1.0" 819 | elliptic "^6.0.0" 820 | 821 | create-hash@^1.1.0, create-hash@^1.1.2: 822 | version "1.2.0" 823 | resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" 824 | dependencies: 825 | cipher-base "^1.0.1" 826 | inherits "^2.0.1" 827 | md5.js "^1.3.4" 828 | ripemd160 "^2.0.1" 829 | sha.js "^2.4.0" 830 | 831 | create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: 832 | version "1.1.7" 833 | resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" 834 | dependencies: 835 | cipher-base "^1.0.3" 836 | create-hash "^1.1.0" 837 | inherits "^2.0.1" 838 | ripemd160 "^2.0.0" 839 | safe-buffer "^5.0.1" 840 | sha.js "^2.4.8" 841 | 842 | cross-spawn@^5.0.1: 843 | version "5.1.0" 844 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" 845 | dependencies: 846 | lru-cache "^4.0.1" 847 | shebang-command "^1.2.0" 848 | which "^1.2.9" 849 | 850 | crypto-browserify@^3.11.0: 851 | version "3.12.0" 852 | resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" 853 | dependencies: 854 | browserify-cipher "^1.0.0" 855 | browserify-sign "^4.0.0" 856 | create-ecdh "^4.0.0" 857 | create-hash "^1.1.0" 858 | create-hmac "^1.1.0" 859 | diffie-hellman "^5.0.0" 860 | inherits "^2.0.1" 861 | pbkdf2 "^3.0.3" 862 | public-encrypt "^4.0.0" 863 | randombytes "^2.0.0" 864 | randomfill "^1.0.3" 865 | 866 | css-color-names@0.0.4: 867 | version "0.0.4" 868 | resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" 869 | 870 | css-loader@^0.28.11: 871 | version "0.28.11" 872 | resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-0.28.11.tgz#c3f9864a700be2711bb5a2462b2389b1a392dab7" 873 | dependencies: 874 | babel-code-frame "^6.26.0" 875 | css-selector-tokenizer "^0.7.0" 876 | cssnano "^3.10.0" 877 | icss-utils "^2.1.0" 878 | loader-utils "^1.0.2" 879 | lodash.camelcase "^4.3.0" 880 | object-assign "^4.1.1" 881 | postcss "^5.0.6" 882 | postcss-modules-extract-imports "^1.2.0" 883 | postcss-modules-local-by-default "^1.2.0" 884 | postcss-modules-scope "^1.1.0" 885 | postcss-modules-values "^1.3.0" 886 | postcss-value-parser "^3.3.0" 887 | source-list-map "^2.0.0" 888 | 889 | css-selector-tokenizer@^0.7.0: 890 | version "0.7.0" 891 | resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz#e6988474ae8c953477bf5e7efecfceccd9cf4c86" 892 | dependencies: 893 | cssesc "^0.1.0" 894 | fastparse "^1.1.1" 895 | regexpu-core "^1.0.0" 896 | 897 | cssesc@^0.1.0: 898 | version "0.1.0" 899 | resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4" 900 | 901 | cssnano@^3.10.0: 902 | version "3.10.0" 903 | resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-3.10.0.tgz#4f38f6cea2b9b17fa01490f23f1dc68ea65c1c38" 904 | dependencies: 905 | autoprefixer "^6.3.1" 906 | decamelize "^1.1.2" 907 | defined "^1.0.0" 908 | has "^1.0.1" 909 | object-assign "^4.0.1" 910 | postcss "^5.0.14" 911 | postcss-calc "^5.2.0" 912 | postcss-colormin "^2.1.8" 913 | postcss-convert-values "^2.3.4" 914 | postcss-discard-comments "^2.0.4" 915 | postcss-discard-duplicates "^2.0.1" 916 | postcss-discard-empty "^2.0.1" 917 | postcss-discard-overridden "^0.1.1" 918 | postcss-discard-unused "^2.2.1" 919 | postcss-filter-plugins "^2.0.0" 920 | postcss-merge-idents "^2.1.5" 921 | postcss-merge-longhand "^2.0.1" 922 | postcss-merge-rules "^2.0.3" 923 | postcss-minify-font-values "^1.0.2" 924 | postcss-minify-gradients "^1.0.1" 925 | postcss-minify-params "^1.0.4" 926 | postcss-minify-selectors "^2.0.4" 927 | postcss-normalize-charset "^1.1.0" 928 | postcss-normalize-url "^3.0.7" 929 | postcss-ordered-values "^2.1.0" 930 | postcss-reduce-idents "^2.2.2" 931 | postcss-reduce-initial "^1.0.0" 932 | postcss-reduce-transforms "^1.0.3" 933 | postcss-svgo "^2.1.1" 934 | postcss-unique-selectors "^2.0.2" 935 | postcss-value-parser "^3.2.3" 936 | postcss-zindex "^2.0.1" 937 | 938 | csso@~2.3.1: 939 | version "2.3.2" 940 | resolved "https://registry.yarnpkg.com/csso/-/csso-2.3.2.tgz#ddd52c587033f49e94b71fc55569f252e8ff5f85" 941 | dependencies: 942 | clap "^1.0.9" 943 | source-map "^0.5.3" 944 | 945 | cyclist@~0.2.2: 946 | version "0.2.2" 947 | resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640" 948 | 949 | date-now@^0.1.4: 950 | version "0.1.4" 951 | resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" 952 | 953 | debug@2.6.9, debug@^2.1.2, debug@^2.2.0, debug@^2.3.3: 954 | version "2.6.9" 955 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 956 | dependencies: 957 | ms "2.0.0" 958 | 959 | debug@3.1.0, debug@^3.1.0: 960 | version "3.1.0" 961 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" 962 | dependencies: 963 | ms "2.0.0" 964 | 965 | decamelize@^1.1.1, decamelize@^1.1.2: 966 | version "1.2.0" 967 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" 968 | 969 | decode-uri-component@^0.2.0: 970 | version "0.2.0" 971 | resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" 972 | 973 | deep-eql@^3.0.0: 974 | version "3.0.1" 975 | resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df" 976 | dependencies: 977 | type-detect "^4.0.0" 978 | 979 | deep-extend@^0.6.0: 980 | version "0.6.0" 981 | resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" 982 | 983 | define-property@^0.2.5: 984 | version "0.2.5" 985 | resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" 986 | dependencies: 987 | is-descriptor "^0.1.0" 988 | 989 | define-property@^1.0.0: 990 | version "1.0.0" 991 | resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" 992 | dependencies: 993 | is-descriptor "^1.0.0" 994 | 995 | define-property@^2.0.2: 996 | version "2.0.2" 997 | resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" 998 | dependencies: 999 | is-descriptor "^1.0.2" 1000 | isobject "^3.0.1" 1001 | 1002 | defined@^1.0.0: 1003 | version "1.0.0" 1004 | resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" 1005 | 1006 | delegates@^1.0.0: 1007 | version "1.0.0" 1008 | resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" 1009 | 1010 | depd@1.1.1: 1011 | version "1.1.1" 1012 | resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.1.tgz#5783b4e1c459f06fa5ca27f991f3d06e7a310359" 1013 | 1014 | depd@~1.1.1, depd@~1.1.2: 1015 | version "1.1.2" 1016 | resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" 1017 | 1018 | des.js@^1.0.0: 1019 | version "1.0.0" 1020 | resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" 1021 | dependencies: 1022 | inherits "^2.0.1" 1023 | minimalistic-assert "^1.0.0" 1024 | 1025 | destroy@~1.0.4: 1026 | version "1.0.4" 1027 | resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" 1028 | 1029 | detect-libc@^1.0.2: 1030 | version "1.0.3" 1031 | resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" 1032 | 1033 | diff@3.5.0, diff@^3.5.0: 1034 | version "3.5.0" 1035 | resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" 1036 | 1037 | diffie-hellman@^5.0.0: 1038 | version "5.0.3" 1039 | resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" 1040 | dependencies: 1041 | bn.js "^4.1.0" 1042 | miller-rabin "^4.0.0" 1043 | randombytes "^2.0.0" 1044 | 1045 | dir-glob@^2.0.0: 1046 | version "2.0.0" 1047 | resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.0.0.tgz#0b205d2b6aef98238ca286598a8204d29d0a0034" 1048 | dependencies: 1049 | arrify "^1.0.1" 1050 | path-type "^3.0.0" 1051 | 1052 | domain-browser@^1.1.1: 1053 | version "1.2.0" 1054 | resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" 1055 | 1056 | duplexer@^0.1.1: 1057 | version "0.1.1" 1058 | resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" 1059 | 1060 | duplexify@^3.4.2, duplexify@^3.6.0: 1061 | version "3.6.0" 1062 | resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.6.0.tgz#592903f5d80b38d037220541264d69a198fb3410" 1063 | dependencies: 1064 | end-of-stream "^1.0.0" 1065 | inherits "^2.0.1" 1066 | readable-stream "^2.0.0" 1067 | stream-shift "^1.0.0" 1068 | 1069 | ee-first@1.1.1: 1070 | version "1.1.1" 1071 | resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" 1072 | 1073 | ejs@^2.5.7: 1074 | version "2.6.1" 1075 | resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.6.1.tgz#498ec0d495655abc6f23cd61868d926464071aa0" 1076 | 1077 | electron-to-chromium@^1.2.7: 1078 | version "1.3.48" 1079 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.48.tgz#d3b0d8593814044e092ece2108fc3ac9aea4b900" 1080 | 1081 | elliptic@^6.0.0: 1082 | version "6.4.0" 1083 | resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df" 1084 | dependencies: 1085 | bn.js "^4.4.0" 1086 | brorand "^1.0.1" 1087 | hash.js "^1.0.0" 1088 | hmac-drbg "^1.0.0" 1089 | inherits "^2.0.1" 1090 | minimalistic-assert "^1.0.0" 1091 | minimalistic-crypto-utils "^1.0.0" 1092 | 1093 | emojis-list@^2.0.0: 1094 | version "2.1.0" 1095 | resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" 1096 | 1097 | encodeurl@~1.0.2: 1098 | version "1.0.2" 1099 | resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" 1100 | 1101 | end-of-stream@^1.0.0, end-of-stream@^1.1.0: 1102 | version "1.4.1" 1103 | resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" 1104 | dependencies: 1105 | once "^1.4.0" 1106 | 1107 | enhanced-resolve@^4.0.0: 1108 | version "4.0.0" 1109 | resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.0.0.tgz#e34a6eaa790f62fccd71d93959f56b2b432db10a" 1110 | dependencies: 1111 | graceful-fs "^4.1.2" 1112 | memory-fs "^0.4.0" 1113 | tapable "^1.0.0" 1114 | 1115 | errno@^0.1.3, errno@~0.1.7: 1116 | version "0.1.7" 1117 | resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" 1118 | dependencies: 1119 | prr "~1.0.1" 1120 | 1121 | error-ex@^1.3.1: 1122 | version "1.3.1" 1123 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" 1124 | dependencies: 1125 | is-arrayish "^0.2.1" 1126 | 1127 | escape-html@~1.0.3: 1128 | version "1.0.3" 1129 | resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" 1130 | 1131 | escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: 1132 | version "1.0.5" 1133 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 1134 | 1135 | eslint-scope@^3.7.1: 1136 | version "3.7.1" 1137 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8" 1138 | dependencies: 1139 | esrecurse "^4.1.0" 1140 | estraverse "^4.1.1" 1141 | 1142 | esprima@^2.6.0: 1143 | version "2.7.3" 1144 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" 1145 | 1146 | esprima@^4.0.0: 1147 | version "4.0.0" 1148 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804" 1149 | 1150 | esrecurse@^4.1.0: 1151 | version "4.2.1" 1152 | resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" 1153 | dependencies: 1154 | estraverse "^4.1.0" 1155 | 1156 | estraverse@^4.1.0, estraverse@^4.1.1: 1157 | version "4.2.0" 1158 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" 1159 | 1160 | esutils@^2.0.2: 1161 | version "2.0.2" 1162 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" 1163 | 1164 | etag@~1.8.1: 1165 | version "1.8.1" 1166 | resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" 1167 | 1168 | events@^1.0.0: 1169 | version "1.1.1" 1170 | resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" 1171 | 1172 | evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: 1173 | version "1.0.3" 1174 | resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" 1175 | dependencies: 1176 | md5.js "^1.3.4" 1177 | safe-buffer "^5.1.1" 1178 | 1179 | execa@^0.7.0: 1180 | version "0.7.0" 1181 | resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" 1182 | dependencies: 1183 | cross-spawn "^5.0.1" 1184 | get-stream "^3.0.0" 1185 | is-stream "^1.1.0" 1186 | npm-run-path "^2.0.0" 1187 | p-finally "^1.0.0" 1188 | signal-exit "^3.0.0" 1189 | strip-eof "^1.0.0" 1190 | 1191 | expand-brackets@^2.1.4: 1192 | version "2.1.4" 1193 | resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" 1194 | dependencies: 1195 | debug "^2.3.3" 1196 | define-property "^0.2.5" 1197 | extend-shallow "^2.0.1" 1198 | posix-character-classes "^0.1.0" 1199 | regex-not "^1.0.0" 1200 | snapdragon "^0.8.1" 1201 | to-regex "^3.0.1" 1202 | 1203 | express@^4.16.2: 1204 | version "4.16.3" 1205 | resolved "https://registry.yarnpkg.com/express/-/express-4.16.3.tgz#6af8a502350db3246ecc4becf6b5a34d22f7ed53" 1206 | dependencies: 1207 | accepts "~1.3.5" 1208 | array-flatten "1.1.1" 1209 | body-parser "1.18.2" 1210 | content-disposition "0.5.2" 1211 | content-type "~1.0.4" 1212 | cookie "0.3.1" 1213 | cookie-signature "1.0.6" 1214 | debug "2.6.9" 1215 | depd "~1.1.2" 1216 | encodeurl "~1.0.2" 1217 | escape-html "~1.0.3" 1218 | etag "~1.8.1" 1219 | finalhandler "1.1.1" 1220 | fresh "0.5.2" 1221 | merge-descriptors "1.0.1" 1222 | methods "~1.1.2" 1223 | on-finished "~2.3.0" 1224 | parseurl "~1.3.2" 1225 | path-to-regexp "0.1.7" 1226 | proxy-addr "~2.0.3" 1227 | qs "6.5.1" 1228 | range-parser "~1.2.0" 1229 | safe-buffer "5.1.1" 1230 | send "0.16.2" 1231 | serve-static "1.13.2" 1232 | setprototypeof "1.1.0" 1233 | statuses "~1.4.0" 1234 | type-is "~1.6.16" 1235 | utils-merge "1.0.1" 1236 | vary "~1.1.2" 1237 | 1238 | extend-shallow@^2.0.1: 1239 | version "2.0.1" 1240 | resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" 1241 | dependencies: 1242 | is-extendable "^0.1.0" 1243 | 1244 | extend-shallow@^3.0.0, extend-shallow@^3.0.2: 1245 | version "3.0.2" 1246 | resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" 1247 | dependencies: 1248 | assign-symbols "^1.0.0" 1249 | is-extendable "^1.0.1" 1250 | 1251 | extglob@^2.0.4: 1252 | version "2.0.4" 1253 | resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" 1254 | dependencies: 1255 | array-unique "^0.3.2" 1256 | define-property "^1.0.0" 1257 | expand-brackets "^2.1.4" 1258 | extend-shallow "^2.0.1" 1259 | fragment-cache "^0.2.1" 1260 | regex-not "^1.0.0" 1261 | snapdragon "^0.8.1" 1262 | to-regex "^3.0.1" 1263 | 1264 | fast-deep-equal@^2.0.1: 1265 | version "2.0.1" 1266 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" 1267 | 1268 | fast-glob@^2.0.2: 1269 | version "2.2.2" 1270 | resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.2.tgz#71723338ac9b4e0e2fff1d6748a2a13d5ed352bf" 1271 | dependencies: 1272 | "@mrmlnc/readdir-enhanced" "^2.2.1" 1273 | "@nodelib/fs.stat" "^1.0.1" 1274 | glob-parent "^3.1.0" 1275 | is-glob "^4.0.0" 1276 | merge2 "^1.2.1" 1277 | micromatch "^3.1.10" 1278 | 1279 | fast-json-stable-stringify@^2.0.0: 1280 | version "2.0.0" 1281 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" 1282 | 1283 | fastparse@^1.1.1: 1284 | version "1.1.1" 1285 | resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.1.tgz#d1e2643b38a94d7583b479060e6c4affc94071f8" 1286 | 1287 | file-loader@^1.1.11: 1288 | version "1.1.11" 1289 | resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-1.1.11.tgz#6fe886449b0f2a936e43cabaac0cdbfb369506f8" 1290 | dependencies: 1291 | loader-utils "^1.0.2" 1292 | schema-utils "^0.4.5" 1293 | 1294 | filesize@^3.5.11: 1295 | version "3.6.1" 1296 | resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317" 1297 | 1298 | fill-range@^4.0.0: 1299 | version "4.0.0" 1300 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" 1301 | dependencies: 1302 | extend-shallow "^2.0.1" 1303 | is-number "^3.0.0" 1304 | repeat-string "^1.6.1" 1305 | to-regex-range "^2.1.0" 1306 | 1307 | finalhandler@1.1.1: 1308 | version "1.1.1" 1309 | resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.1.tgz#eebf4ed840079c83f4249038c9d703008301b105" 1310 | dependencies: 1311 | debug "2.6.9" 1312 | encodeurl "~1.0.2" 1313 | escape-html "~1.0.3" 1314 | on-finished "~2.3.0" 1315 | parseurl "~1.3.2" 1316 | statuses "~1.4.0" 1317 | unpipe "~1.0.0" 1318 | 1319 | find-cache-dir@^1.0.0: 1320 | version "1.0.0" 1321 | resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-1.0.0.tgz#9288e3e9e3cc3748717d39eade17cf71fc30ee6f" 1322 | dependencies: 1323 | commondir "^1.0.1" 1324 | make-dir "^1.0.0" 1325 | pkg-dir "^2.0.0" 1326 | 1327 | find-up@^2.0.0, find-up@^2.1.0: 1328 | version "2.1.0" 1329 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" 1330 | dependencies: 1331 | locate-path "^2.0.0" 1332 | 1333 | flatten@^1.0.2: 1334 | version "1.0.2" 1335 | resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782" 1336 | 1337 | flush-write-stream@^1.0.0: 1338 | version "1.0.3" 1339 | resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.0.3.tgz#c5d586ef38af6097650b49bc41b55fabb19f35bd" 1340 | dependencies: 1341 | inherits "^2.0.1" 1342 | readable-stream "^2.0.4" 1343 | 1344 | for-in@^1.0.2: 1345 | version "1.0.2" 1346 | resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" 1347 | 1348 | forwarded@~0.1.2: 1349 | version "0.1.2" 1350 | resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" 1351 | 1352 | fragment-cache@^0.2.1: 1353 | version "0.2.1" 1354 | resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" 1355 | dependencies: 1356 | map-cache "^0.2.2" 1357 | 1358 | fresh@0.5.2: 1359 | version "0.5.2" 1360 | resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" 1361 | 1362 | from2@^2.1.0: 1363 | version "2.3.0" 1364 | resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" 1365 | dependencies: 1366 | inherits "^2.0.1" 1367 | readable-stream "^2.0.0" 1368 | 1369 | fs-minipass@^1.2.5: 1370 | version "1.2.5" 1371 | resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d" 1372 | dependencies: 1373 | minipass "^2.2.1" 1374 | 1375 | fs-write-stream-atomic@^1.0.8: 1376 | version "1.0.10" 1377 | resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" 1378 | dependencies: 1379 | graceful-fs "^4.1.2" 1380 | iferr "^0.1.5" 1381 | imurmurhash "^0.1.4" 1382 | readable-stream "1 || 2" 1383 | 1384 | fs.realpath@^1.0.0: 1385 | version "1.0.0" 1386 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 1387 | 1388 | fsevents@^1.1.2: 1389 | version "1.2.4" 1390 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.4.tgz#f41dcb1af2582af3692da36fc55cbd8e1041c426" 1391 | dependencies: 1392 | nan "^2.9.2" 1393 | node-pre-gyp "^0.10.0" 1394 | 1395 | function-bind@^1.1.1: 1396 | version "1.1.1" 1397 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 1398 | 1399 | gauge@~2.7.3: 1400 | version "2.7.4" 1401 | resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" 1402 | dependencies: 1403 | aproba "^1.0.3" 1404 | console-control-strings "^1.0.0" 1405 | has-unicode "^2.0.0" 1406 | object-assign "^4.1.0" 1407 | signal-exit "^3.0.0" 1408 | string-width "^1.0.1" 1409 | strip-ansi "^3.0.1" 1410 | wide-align "^1.1.0" 1411 | 1412 | get-caller-file@^1.0.1: 1413 | version "1.0.2" 1414 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" 1415 | 1416 | get-func-name@^2.0.0: 1417 | version "2.0.0" 1418 | resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" 1419 | 1420 | get-stream@^3.0.0: 1421 | version "3.0.0" 1422 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" 1423 | 1424 | get-value@^2.0.3, get-value@^2.0.6: 1425 | version "2.0.6" 1426 | resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" 1427 | 1428 | glob-parent@^3.1.0: 1429 | version "3.1.0" 1430 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" 1431 | dependencies: 1432 | is-glob "^3.1.0" 1433 | path-dirname "^1.0.0" 1434 | 1435 | glob-to-regexp@^0.3.0: 1436 | version "0.3.0" 1437 | resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" 1438 | 1439 | glob@7.1.2, glob@^7.0.5, glob@^7.1.2: 1440 | version "7.1.2" 1441 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" 1442 | dependencies: 1443 | fs.realpath "^1.0.0" 1444 | inflight "^1.0.4" 1445 | inherits "2" 1446 | minimatch "^3.0.4" 1447 | once "^1.3.0" 1448 | path-is-absolute "^1.0.0" 1449 | 1450 | globby@^8.0.1: 1451 | version "8.0.1" 1452 | resolved "https://registry.yarnpkg.com/globby/-/globby-8.0.1.tgz#b5ad48b8aa80b35b814fc1281ecc851f1d2b5b50" 1453 | dependencies: 1454 | array-union "^1.0.1" 1455 | dir-glob "^2.0.0" 1456 | fast-glob "^2.0.2" 1457 | glob "^7.1.2" 1458 | ignore "^3.3.5" 1459 | pify "^3.0.0" 1460 | slash "^1.0.0" 1461 | 1462 | graceful-fs@^4.1.11, graceful-fs@^4.1.2: 1463 | version "4.1.11" 1464 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" 1465 | 1466 | growl@1.10.5: 1467 | version "1.10.5" 1468 | resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" 1469 | 1470 | gzip-size@^4.1.0: 1471 | version "4.1.0" 1472 | resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-4.1.0.tgz#8ae096257eabe7d69c45be2b67c448124ffb517c" 1473 | dependencies: 1474 | duplexer "^0.1.1" 1475 | pify "^3.0.0" 1476 | 1477 | has-ansi@^2.0.0: 1478 | version "2.0.0" 1479 | resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" 1480 | dependencies: 1481 | ansi-regex "^2.0.0" 1482 | 1483 | has-flag@^1.0.0: 1484 | version "1.0.0" 1485 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" 1486 | 1487 | has-flag@^3.0.0: 1488 | version "3.0.0" 1489 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 1490 | 1491 | has-unicode@^2.0.0: 1492 | version "2.0.1" 1493 | resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" 1494 | 1495 | has-value@^0.3.1: 1496 | version "0.3.1" 1497 | resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" 1498 | dependencies: 1499 | get-value "^2.0.3" 1500 | has-values "^0.1.4" 1501 | isobject "^2.0.0" 1502 | 1503 | has-value@^1.0.0: 1504 | version "1.0.0" 1505 | resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" 1506 | dependencies: 1507 | get-value "^2.0.6" 1508 | has-values "^1.0.0" 1509 | isobject "^3.0.0" 1510 | 1511 | has-values@^0.1.4: 1512 | version "0.1.4" 1513 | resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" 1514 | 1515 | has-values@^1.0.0: 1516 | version "1.0.0" 1517 | resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" 1518 | dependencies: 1519 | is-number "^3.0.0" 1520 | kind-of "^4.0.0" 1521 | 1522 | has@^1.0.1: 1523 | version "1.0.3" 1524 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 1525 | dependencies: 1526 | function-bind "^1.1.1" 1527 | 1528 | hash-base@^3.0.0: 1529 | version "3.0.4" 1530 | resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" 1531 | dependencies: 1532 | inherits "^2.0.1" 1533 | safe-buffer "^5.0.1" 1534 | 1535 | hash.js@^1.0.0, hash.js@^1.0.3: 1536 | version "1.1.4" 1537 | resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.4.tgz#8b50e1f35d51bd01e5ed9ece4dbe3549ccfa0a3c" 1538 | dependencies: 1539 | inherits "^2.0.3" 1540 | minimalistic-assert "^1.0.0" 1541 | 1542 | he@1.1.1: 1543 | version "1.1.1" 1544 | resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" 1545 | 1546 | hmac-drbg@^1.0.0: 1547 | version "1.0.1" 1548 | resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" 1549 | dependencies: 1550 | hash.js "^1.0.3" 1551 | minimalistic-assert "^1.0.0" 1552 | minimalistic-crypto-utils "^1.0.1" 1553 | 1554 | hosted-git-info@^2.1.4: 1555 | version "2.6.0" 1556 | resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.6.0.tgz#23235b29ab230c576aab0d4f13fc046b0b038222" 1557 | 1558 | html-comment-regex@^1.1.0: 1559 | version "1.1.1" 1560 | resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.1.tgz#668b93776eaae55ebde8f3ad464b307a4963625e" 1561 | 1562 | http-errors@1.6.2: 1563 | version "1.6.2" 1564 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.2.tgz#0a002cc85707192a7e7946ceedc11155f60ec736" 1565 | dependencies: 1566 | depd "1.1.1" 1567 | inherits "2.0.3" 1568 | setprototypeof "1.0.3" 1569 | statuses ">= 1.3.1 < 2" 1570 | 1571 | http-errors@~1.6.2: 1572 | version "1.6.3" 1573 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" 1574 | dependencies: 1575 | depd "~1.1.2" 1576 | inherits "2.0.3" 1577 | setprototypeof "1.1.0" 1578 | statuses ">= 1.4.0 < 2" 1579 | 1580 | https-browserify@^1.0.0: 1581 | version "1.0.0" 1582 | resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" 1583 | 1584 | iconv-lite@0.4.19: 1585 | version "0.4.19" 1586 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" 1587 | 1588 | iconv-lite@^0.4.4: 1589 | version "0.4.23" 1590 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63" 1591 | dependencies: 1592 | safer-buffer ">= 2.1.2 < 3" 1593 | 1594 | icss-replace-symbols@^1.1.0: 1595 | version "1.1.0" 1596 | resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" 1597 | 1598 | icss-utils@^2.1.0: 1599 | version "2.1.0" 1600 | resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-2.1.0.tgz#83f0a0ec378bf3246178b6c2ad9136f135b1c962" 1601 | dependencies: 1602 | postcss "^6.0.1" 1603 | 1604 | ieee754@^1.1.11, ieee754@^1.1.4: 1605 | version "1.1.12" 1606 | resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.12.tgz#50bf24e5b9c8bb98af4964c941cdb0918da7b60b" 1607 | 1608 | iferr@^0.1.5: 1609 | version "0.1.5" 1610 | resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" 1611 | 1612 | ignore-walk@^3.0.1: 1613 | version "3.0.1" 1614 | resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8" 1615 | dependencies: 1616 | minimatch "^3.0.4" 1617 | 1618 | ignore@^3.3.5: 1619 | version "3.3.8" 1620 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.8.tgz#3f8e9c35d38708a3a7e0e9abb6c73e7ee7707b2b" 1621 | 1622 | imurmurhash@^0.1.4: 1623 | version "0.1.4" 1624 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 1625 | 1626 | indexes-of@^1.0.1: 1627 | version "1.0.1" 1628 | resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" 1629 | 1630 | indexof@0.0.1: 1631 | version "0.0.1" 1632 | resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" 1633 | 1634 | inflight@^1.0.4: 1635 | version "1.0.6" 1636 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1637 | dependencies: 1638 | once "^1.3.0" 1639 | wrappy "1" 1640 | 1641 | inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3: 1642 | version "2.0.3" 1643 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 1644 | 1645 | inherits@2.0.1: 1646 | version "2.0.1" 1647 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" 1648 | 1649 | ini@~1.3.0: 1650 | version "1.3.5" 1651 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" 1652 | 1653 | invert-kv@^1.0.0: 1654 | version "1.0.0" 1655 | resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" 1656 | 1657 | ipaddr.js@1.6.0: 1658 | version "1.6.0" 1659 | resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.6.0.tgz#e3fa357b773da619f26e95f049d055c72796f86b" 1660 | 1661 | is-absolute-url@^2.0.0: 1662 | version "2.1.0" 1663 | resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" 1664 | 1665 | is-accessor-descriptor@^0.1.6: 1666 | version "0.1.6" 1667 | resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" 1668 | dependencies: 1669 | kind-of "^3.0.2" 1670 | 1671 | is-accessor-descriptor@^1.0.0: 1672 | version "1.0.0" 1673 | resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" 1674 | dependencies: 1675 | kind-of "^6.0.0" 1676 | 1677 | is-arrayish@^0.2.1: 1678 | version "0.2.1" 1679 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 1680 | 1681 | is-binary-path@^1.0.0: 1682 | version "1.0.1" 1683 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" 1684 | dependencies: 1685 | binary-extensions "^1.0.0" 1686 | 1687 | is-buffer@^1.1.5: 1688 | version "1.1.6" 1689 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" 1690 | 1691 | is-builtin-module@^1.0.0: 1692 | version "1.0.0" 1693 | resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" 1694 | dependencies: 1695 | builtin-modules "^1.0.0" 1696 | 1697 | is-data-descriptor@^0.1.4: 1698 | version "0.1.4" 1699 | resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" 1700 | dependencies: 1701 | kind-of "^3.0.2" 1702 | 1703 | is-data-descriptor@^1.0.0: 1704 | version "1.0.0" 1705 | resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" 1706 | dependencies: 1707 | kind-of "^6.0.0" 1708 | 1709 | is-descriptor@^0.1.0: 1710 | version "0.1.6" 1711 | resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" 1712 | dependencies: 1713 | is-accessor-descriptor "^0.1.6" 1714 | is-data-descriptor "^0.1.4" 1715 | kind-of "^5.0.0" 1716 | 1717 | is-descriptor@^1.0.0, is-descriptor@^1.0.2: 1718 | version "1.0.2" 1719 | resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" 1720 | dependencies: 1721 | is-accessor-descriptor "^1.0.0" 1722 | is-data-descriptor "^1.0.0" 1723 | kind-of "^6.0.2" 1724 | 1725 | is-directory@^0.3.1: 1726 | version "0.3.1" 1727 | resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" 1728 | 1729 | is-extendable@^0.1.0, is-extendable@^0.1.1: 1730 | version "0.1.1" 1731 | resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" 1732 | 1733 | is-extendable@^1.0.1: 1734 | version "1.0.1" 1735 | resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" 1736 | dependencies: 1737 | is-plain-object "^2.0.4" 1738 | 1739 | is-extglob@^2.1.0, is-extglob@^2.1.1: 1740 | version "2.1.1" 1741 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 1742 | 1743 | is-fullwidth-code-point@^1.0.0: 1744 | version "1.0.0" 1745 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" 1746 | dependencies: 1747 | number-is-nan "^1.0.0" 1748 | 1749 | is-fullwidth-code-point@^2.0.0: 1750 | version "2.0.0" 1751 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" 1752 | 1753 | is-glob@^3.1.0: 1754 | version "3.1.0" 1755 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" 1756 | dependencies: 1757 | is-extglob "^2.1.0" 1758 | 1759 | is-glob@^4.0.0: 1760 | version "4.0.0" 1761 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.0.tgz#9521c76845cc2610a85203ddf080a958c2ffabc0" 1762 | dependencies: 1763 | is-extglob "^2.1.1" 1764 | 1765 | is-number@^3.0.0: 1766 | version "3.0.0" 1767 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" 1768 | dependencies: 1769 | kind-of "^3.0.2" 1770 | 1771 | is-number@^4.0.0: 1772 | version "4.0.0" 1773 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" 1774 | 1775 | is-odd@^2.0.0: 1776 | version "2.0.0" 1777 | resolved "https://registry.yarnpkg.com/is-odd/-/is-odd-2.0.0.tgz#7646624671fd7ea558ccd9a2795182f2958f1b24" 1778 | dependencies: 1779 | is-number "^4.0.0" 1780 | 1781 | is-plain-obj@^1.0.0: 1782 | version "1.1.0" 1783 | resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" 1784 | 1785 | is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: 1786 | version "2.0.4" 1787 | resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" 1788 | dependencies: 1789 | isobject "^3.0.1" 1790 | 1791 | is-stream@^1.1.0: 1792 | version "1.1.0" 1793 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" 1794 | 1795 | is-svg@^2.0.0: 1796 | version "2.1.0" 1797 | resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-2.1.0.tgz#cf61090da0d9efbcab8722deba6f032208dbb0e9" 1798 | dependencies: 1799 | html-comment-regex "^1.1.0" 1800 | 1801 | is-windows@^1.0.2: 1802 | version "1.0.2" 1803 | resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" 1804 | 1805 | isarray@0.0.1: 1806 | version "0.0.1" 1807 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" 1808 | 1809 | isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: 1810 | version "1.0.0" 1811 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 1812 | 1813 | isexe@^2.0.0: 1814 | version "2.0.0" 1815 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 1816 | 1817 | isobject@^2.0.0: 1818 | version "2.1.0" 1819 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" 1820 | dependencies: 1821 | isarray "1.0.0" 1822 | 1823 | isobject@^3.0.0, isobject@^3.0.1: 1824 | version "3.0.1" 1825 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" 1826 | 1827 | js-base64@^2.1.9: 1828 | version "2.4.5" 1829 | resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.4.5.tgz#e293cd3c7c82f070d700fc7a1ca0a2e69f101f92" 1830 | 1831 | js-tokens@^3.0.2: 1832 | version "3.0.2" 1833 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" 1834 | 1835 | js-yaml@^3.9.0: 1836 | version "3.12.0" 1837 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1" 1838 | dependencies: 1839 | argparse "^1.0.7" 1840 | esprima "^4.0.0" 1841 | 1842 | js-yaml@~3.7.0: 1843 | version "3.7.0" 1844 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80" 1845 | dependencies: 1846 | argparse "^1.0.7" 1847 | esprima "^2.6.0" 1848 | 1849 | jsesc@~0.5.0: 1850 | version "0.5.0" 1851 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" 1852 | 1853 | json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: 1854 | version "1.0.2" 1855 | resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" 1856 | 1857 | json-schema-traverse@^0.4.1: 1858 | version "0.4.1" 1859 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" 1860 | 1861 | json5@^0.5.0: 1862 | version "0.5.1" 1863 | resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" 1864 | 1865 | just-extend@^1.1.27: 1866 | version "1.1.27" 1867 | resolved "https://registry.yarnpkg.com/just-extend/-/just-extend-1.1.27.tgz#ec6e79410ff914e472652abfa0e603c03d60e905" 1868 | 1869 | kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: 1870 | version "3.2.2" 1871 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" 1872 | dependencies: 1873 | is-buffer "^1.1.5" 1874 | 1875 | kind-of@^4.0.0: 1876 | version "4.0.0" 1877 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" 1878 | dependencies: 1879 | is-buffer "^1.1.5" 1880 | 1881 | kind-of@^5.0.0: 1882 | version "5.1.0" 1883 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" 1884 | 1885 | kind-of@^6.0.0, kind-of@^6.0.2: 1886 | version "6.0.2" 1887 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" 1888 | 1889 | lcid@^1.0.0: 1890 | version "1.0.0" 1891 | resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" 1892 | dependencies: 1893 | invert-kv "^1.0.0" 1894 | 1895 | leb@^0.3.0: 1896 | version "0.3.0" 1897 | resolved "https://registry.yarnpkg.com/leb/-/leb-0.3.0.tgz#32bee9fad168328d6aea8522d833f4180eed1da3" 1898 | 1899 | load-json-file@^4.0.0: 1900 | version "4.0.0" 1901 | resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" 1902 | dependencies: 1903 | graceful-fs "^4.1.2" 1904 | parse-json "^4.0.0" 1905 | pify "^3.0.0" 1906 | strip-bom "^3.0.0" 1907 | 1908 | loader-runner@^2.3.0: 1909 | version "2.3.0" 1910 | resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2" 1911 | 1912 | loader-utils@^1.0.2, loader-utils@^1.1.0: 1913 | version "1.1.0" 1914 | resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.1.0.tgz#c98aef488bcceda2ffb5e2de646d6a754429f5cd" 1915 | dependencies: 1916 | big.js "^3.1.3" 1917 | emojis-list "^2.0.0" 1918 | json5 "^0.5.0" 1919 | 1920 | locate-path@^2.0.0: 1921 | version "2.0.0" 1922 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" 1923 | dependencies: 1924 | p-locate "^2.0.0" 1925 | path-exists "^3.0.0" 1926 | 1927 | lodash.camelcase@^4.3.0: 1928 | version "4.3.0" 1929 | resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" 1930 | 1931 | lodash.get@^4.4.2: 1932 | version "4.4.2" 1933 | resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" 1934 | 1935 | lodash.memoize@^4.1.2: 1936 | version "4.1.2" 1937 | resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" 1938 | 1939 | lodash.uniq@^4.5.0: 1940 | version "4.5.0" 1941 | resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" 1942 | 1943 | lodash@^4.17.4: 1944 | version "4.17.10" 1945 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7" 1946 | 1947 | lolex@^2.3.2, lolex@^2.4.2: 1948 | version "2.7.0" 1949 | resolved "https://registry.yarnpkg.com/lolex/-/lolex-2.7.0.tgz#9c087a69ec440e39d3f796767cf1b2cdc43d5ea5" 1950 | 1951 | long@^3.2.0: 1952 | version "3.2.0" 1953 | resolved "https://registry.yarnpkg.com/long/-/long-3.2.0.tgz#d821b7138ca1cb581c172990ef14db200b5c474b" 1954 | 1955 | lru-cache@^4.0.1, lru-cache@^4.1.1: 1956 | version "4.1.3" 1957 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.3.tgz#a1175cf3496dfc8436c156c334b4955992bce69c" 1958 | dependencies: 1959 | pseudomap "^1.0.2" 1960 | yallist "^2.1.2" 1961 | 1962 | make-dir@^1.0.0: 1963 | version "1.3.0" 1964 | resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" 1965 | dependencies: 1966 | pify "^3.0.0" 1967 | 1968 | mamacro@^0.0.3: 1969 | version "0.0.3" 1970 | resolved "https://registry.yarnpkg.com/mamacro/-/mamacro-0.0.3.tgz#ad2c9576197c9f1abf308d0787865bd975a3f3e4" 1971 | 1972 | map-cache@^0.2.2: 1973 | version "0.2.2" 1974 | resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" 1975 | 1976 | map-visit@^1.0.0: 1977 | version "1.0.0" 1978 | resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" 1979 | dependencies: 1980 | object-visit "^1.0.0" 1981 | 1982 | math-expression-evaluator@^1.2.14: 1983 | version "1.2.17" 1984 | resolved "https://registry.yarnpkg.com/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz#de819fdbcd84dccd8fae59c6aeb79615b9d266ac" 1985 | 1986 | md5.js@^1.3.4: 1987 | version "1.3.4" 1988 | resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.4.tgz#e9bdbde94a20a5ac18b04340fc5764d5b09d901d" 1989 | dependencies: 1990 | hash-base "^3.0.0" 1991 | inherits "^2.0.1" 1992 | 1993 | media-typer@0.3.0: 1994 | version "0.3.0" 1995 | resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" 1996 | 1997 | mem@^1.1.0: 1998 | version "1.1.0" 1999 | resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" 2000 | dependencies: 2001 | mimic-fn "^1.0.0" 2002 | 2003 | memory-fs@^0.4.0, memory-fs@^0.4.1, memory-fs@~0.4.1: 2004 | version "0.4.1" 2005 | resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" 2006 | dependencies: 2007 | errno "^0.1.3" 2008 | readable-stream "^2.0.1" 2009 | 2010 | merge-descriptors@1.0.1: 2011 | version "1.0.1" 2012 | resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" 2013 | 2014 | merge2@^1.2.1: 2015 | version "1.2.2" 2016 | resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.2.2.tgz#03212e3da8d86c4d8523cebd6318193414f94e34" 2017 | 2018 | methods@~1.1.2: 2019 | version "1.1.2" 2020 | resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" 2021 | 2022 | micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.8: 2023 | version "3.1.10" 2024 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" 2025 | dependencies: 2026 | arr-diff "^4.0.0" 2027 | array-unique "^0.3.2" 2028 | braces "^2.3.1" 2029 | define-property "^2.0.2" 2030 | extend-shallow "^3.0.2" 2031 | extglob "^2.0.4" 2032 | fragment-cache "^0.2.1" 2033 | kind-of "^6.0.2" 2034 | nanomatch "^1.2.9" 2035 | object.pick "^1.3.0" 2036 | regex-not "^1.0.0" 2037 | snapdragon "^0.8.1" 2038 | to-regex "^3.0.2" 2039 | 2040 | miller-rabin@^4.0.0: 2041 | version "4.0.1" 2042 | resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" 2043 | dependencies: 2044 | bn.js "^4.0.0" 2045 | brorand "^1.0.1" 2046 | 2047 | mime-db@~1.33.0: 2048 | version "1.33.0" 2049 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db" 2050 | 2051 | mime-types@~2.1.18: 2052 | version "2.1.18" 2053 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8" 2054 | dependencies: 2055 | mime-db "~1.33.0" 2056 | 2057 | mime@1.4.1: 2058 | version "1.4.1" 2059 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" 2060 | 2061 | mimic-fn@^1.0.0: 2062 | version "1.2.0" 2063 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" 2064 | 2065 | minimalistic-assert@^1.0.0: 2066 | version "1.0.1" 2067 | resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" 2068 | 2069 | minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: 2070 | version "1.0.1" 2071 | resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" 2072 | 2073 | minimatch@3.0.4, minimatch@^3.0.2, minimatch@^3.0.4: 2074 | version "3.0.4" 2075 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 2076 | dependencies: 2077 | brace-expansion "^1.1.7" 2078 | 2079 | minimist@0.0.8: 2080 | version "0.0.8" 2081 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 2082 | 2083 | minimist@^1.2.0: 2084 | version "1.2.0" 2085 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" 2086 | 2087 | minipass@^2.2.1, minipass@^2.3.3: 2088 | version "2.3.3" 2089 | resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.3.tgz#a7dcc8b7b833f5d368759cce544dccb55f50f233" 2090 | dependencies: 2091 | safe-buffer "^5.1.2" 2092 | yallist "^3.0.0" 2093 | 2094 | minizlib@^1.1.0: 2095 | version "1.1.0" 2096 | resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.1.0.tgz#11e13658ce46bc3a70a267aac58359d1e0c29ceb" 2097 | dependencies: 2098 | minipass "^2.2.1" 2099 | 2100 | mississippi@^2.0.0: 2101 | version "2.0.0" 2102 | resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-2.0.0.tgz#3442a508fafc28500486feea99409676e4ee5a6f" 2103 | dependencies: 2104 | concat-stream "^1.5.0" 2105 | duplexify "^3.4.2" 2106 | end-of-stream "^1.1.0" 2107 | flush-write-stream "^1.0.0" 2108 | from2 "^2.1.0" 2109 | parallel-transform "^1.1.0" 2110 | pump "^2.0.1" 2111 | pumpify "^1.3.3" 2112 | stream-each "^1.1.0" 2113 | through2 "^2.0.0" 2114 | 2115 | mixin-deep@^1.2.0: 2116 | version "1.3.1" 2117 | resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe" 2118 | dependencies: 2119 | for-in "^1.0.2" 2120 | is-extendable "^1.0.1" 2121 | 2122 | mkdirp@0.5.1, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1: 2123 | version "0.5.1" 2124 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 2125 | dependencies: 2126 | minimist "0.0.8" 2127 | 2128 | mocha@5.2.0: 2129 | version "5.2.0" 2130 | resolved "https://registry.yarnpkg.com/mocha/-/mocha-5.2.0.tgz#6d8ae508f59167f940f2b5b3c4a612ae50c90ae6" 2131 | dependencies: 2132 | browser-stdout "1.3.1" 2133 | commander "2.15.1" 2134 | debug "3.1.0" 2135 | diff "3.5.0" 2136 | escape-string-regexp "1.0.5" 2137 | glob "7.1.2" 2138 | growl "1.10.5" 2139 | he "1.1.1" 2140 | minimatch "3.0.4" 2141 | mkdirp "0.5.1" 2142 | supports-color "5.4.0" 2143 | 2144 | move-concurrently@^1.0.1: 2145 | version "1.0.1" 2146 | resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" 2147 | dependencies: 2148 | aproba "^1.1.1" 2149 | copy-concurrently "^1.0.0" 2150 | fs-write-stream-atomic "^1.0.8" 2151 | mkdirp "^0.5.1" 2152 | rimraf "^2.5.4" 2153 | run-queue "^1.0.3" 2154 | 2155 | ms@2.0.0: 2156 | version "2.0.0" 2157 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 2158 | 2159 | nan@^2.9.2: 2160 | version "2.10.0" 2161 | resolved "https://registry.yarnpkg.com/nan/-/nan-2.10.0.tgz#96d0cd610ebd58d4b4de9cc0c6828cda99c7548f" 2162 | 2163 | nanomatch@^1.2.9: 2164 | version "1.2.9" 2165 | resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.9.tgz#879f7150cb2dab7a471259066c104eee6e0fa7c2" 2166 | dependencies: 2167 | arr-diff "^4.0.0" 2168 | array-unique "^0.3.2" 2169 | define-property "^2.0.2" 2170 | extend-shallow "^3.0.2" 2171 | fragment-cache "^0.2.1" 2172 | is-odd "^2.0.0" 2173 | is-windows "^1.0.2" 2174 | kind-of "^6.0.2" 2175 | object.pick "^1.3.0" 2176 | regex-not "^1.0.0" 2177 | snapdragon "^0.8.1" 2178 | to-regex "^3.0.1" 2179 | 2180 | needle@^2.2.0: 2181 | version "2.2.1" 2182 | resolved "https://registry.yarnpkg.com/needle/-/needle-2.2.1.tgz#b5e325bd3aae8c2678902fa296f729455d1d3a7d" 2183 | dependencies: 2184 | debug "^2.1.2" 2185 | iconv-lite "^0.4.4" 2186 | sax "^1.2.4" 2187 | 2188 | negotiator@0.6.1: 2189 | version "0.6.1" 2190 | resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" 2191 | 2192 | neo-async@^2.5.0: 2193 | version "2.5.1" 2194 | resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.5.1.tgz#acb909e327b1e87ec9ef15f41b8a269512ad41ee" 2195 | 2196 | nise@^1.3.3: 2197 | version "1.4.1" 2198 | resolved "https://registry.yarnpkg.com/nise/-/nise-1.4.1.tgz#78bc2b343d5ff1031ea9d1bb2c87a94c26db7250" 2199 | dependencies: 2200 | "@sinonjs/formatio" "^2.0.0" 2201 | just-extend "^1.1.27" 2202 | lolex "^2.3.2" 2203 | path-to-regexp "^1.7.0" 2204 | text-encoding "^0.6.4" 2205 | 2206 | node-libs-browser@^2.0.0: 2207 | version "2.1.0" 2208 | resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.1.0.tgz#5f94263d404f6e44767d726901fff05478d600df" 2209 | dependencies: 2210 | assert "^1.1.1" 2211 | browserify-zlib "^0.2.0" 2212 | buffer "^4.3.0" 2213 | console-browserify "^1.1.0" 2214 | constants-browserify "^1.0.0" 2215 | crypto-browserify "^3.11.0" 2216 | domain-browser "^1.1.1" 2217 | events "^1.0.0" 2218 | https-browserify "^1.0.0" 2219 | os-browserify "^0.3.0" 2220 | path-browserify "0.0.0" 2221 | process "^0.11.10" 2222 | punycode "^1.2.4" 2223 | querystring-es3 "^0.2.0" 2224 | readable-stream "^2.3.3" 2225 | stream-browserify "^2.0.1" 2226 | stream-http "^2.7.2" 2227 | string_decoder "^1.0.0" 2228 | timers-browserify "^2.0.4" 2229 | tty-browserify "0.0.0" 2230 | url "^0.11.0" 2231 | util "^0.10.3" 2232 | vm-browserify "0.0.4" 2233 | 2234 | node-pre-gyp@^0.10.0: 2235 | version "0.10.0" 2236 | resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.10.0.tgz#6e4ef5bb5c5203c6552448828c852c40111aac46" 2237 | dependencies: 2238 | detect-libc "^1.0.2" 2239 | mkdirp "^0.5.1" 2240 | needle "^2.2.0" 2241 | nopt "^4.0.1" 2242 | npm-packlist "^1.1.6" 2243 | npmlog "^4.0.2" 2244 | rc "^1.1.7" 2245 | rimraf "^2.6.1" 2246 | semver "^5.3.0" 2247 | tar "^4" 2248 | 2249 | nopt@^4.0.1: 2250 | version "4.0.1" 2251 | resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" 2252 | dependencies: 2253 | abbrev "1" 2254 | osenv "^0.1.4" 2255 | 2256 | normalize-package-data@^2.3.2: 2257 | version "2.4.0" 2258 | resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" 2259 | dependencies: 2260 | hosted-git-info "^2.1.4" 2261 | is-builtin-module "^1.0.0" 2262 | semver "2 || 3 || 4 || 5" 2263 | validate-npm-package-license "^3.0.1" 2264 | 2265 | normalize-path@^2.1.1: 2266 | version "2.1.1" 2267 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" 2268 | dependencies: 2269 | remove-trailing-separator "^1.0.1" 2270 | 2271 | normalize-range@^0.1.2: 2272 | version "0.1.2" 2273 | resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" 2274 | 2275 | normalize-url@^1.4.0: 2276 | version "1.9.1" 2277 | resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" 2278 | dependencies: 2279 | object-assign "^4.0.1" 2280 | prepend-http "^1.0.0" 2281 | query-string "^4.1.0" 2282 | sort-keys "^1.0.0" 2283 | 2284 | npm-bundled@^1.0.1: 2285 | version "1.0.3" 2286 | resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.3.tgz#7e71703d973af3370a9591bafe3a63aca0be2308" 2287 | 2288 | npm-packlist@^1.1.6: 2289 | version "1.1.10" 2290 | resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.1.10.tgz#1039db9e985727e464df066f4cf0ab6ef85c398a" 2291 | dependencies: 2292 | ignore-walk "^3.0.1" 2293 | npm-bundled "^1.0.1" 2294 | 2295 | npm-run-path@^2.0.0: 2296 | version "2.0.2" 2297 | resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" 2298 | dependencies: 2299 | path-key "^2.0.0" 2300 | 2301 | npmlog@^4.0.2: 2302 | version "4.1.2" 2303 | resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" 2304 | dependencies: 2305 | are-we-there-yet "~1.1.2" 2306 | console-control-strings "~1.1.0" 2307 | gauge "~2.7.3" 2308 | set-blocking "~2.0.0" 2309 | 2310 | num2fraction@^1.2.2: 2311 | version "1.2.2" 2312 | resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" 2313 | 2314 | number-is-nan@^1.0.0: 2315 | version "1.0.1" 2316 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" 2317 | 2318 | object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: 2319 | version "4.1.1" 2320 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 2321 | 2322 | object-copy@^0.1.0: 2323 | version "0.1.0" 2324 | resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" 2325 | dependencies: 2326 | copy-descriptor "^0.1.0" 2327 | define-property "^0.2.5" 2328 | kind-of "^3.0.3" 2329 | 2330 | object-visit@^1.0.0: 2331 | version "1.0.1" 2332 | resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" 2333 | dependencies: 2334 | isobject "^3.0.0" 2335 | 2336 | object.pick@^1.3.0: 2337 | version "1.3.0" 2338 | resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" 2339 | dependencies: 2340 | isobject "^3.0.1" 2341 | 2342 | on-finished@~2.3.0: 2343 | version "2.3.0" 2344 | resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" 2345 | dependencies: 2346 | ee-first "1.1.1" 2347 | 2348 | once@^1.3.0, once@^1.3.1, once@^1.4.0: 2349 | version "1.4.0" 2350 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 2351 | dependencies: 2352 | wrappy "1" 2353 | 2354 | opener@^1.4.3: 2355 | version "1.4.3" 2356 | resolved "https://registry.yarnpkg.com/opener/-/opener-1.4.3.tgz#5c6da2c5d7e5831e8ffa3964950f8d6674ac90b8" 2357 | 2358 | os-browserify@^0.3.0: 2359 | version "0.3.0" 2360 | resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" 2361 | 2362 | os-homedir@^1.0.0: 2363 | version "1.0.2" 2364 | resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" 2365 | 2366 | os-locale@^2.0.0: 2367 | version "2.1.0" 2368 | resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" 2369 | dependencies: 2370 | execa "^0.7.0" 2371 | lcid "^1.0.0" 2372 | mem "^1.1.0" 2373 | 2374 | os-tmpdir@^1.0.0: 2375 | version "1.0.2" 2376 | resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" 2377 | 2378 | osenv@^0.1.4: 2379 | version "0.1.5" 2380 | resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" 2381 | dependencies: 2382 | os-homedir "^1.0.0" 2383 | os-tmpdir "^1.0.0" 2384 | 2385 | p-finally@^1.0.0: 2386 | version "1.0.0" 2387 | resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" 2388 | 2389 | p-limit@^1.1.0: 2390 | version "1.3.0" 2391 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" 2392 | dependencies: 2393 | p-try "^1.0.0" 2394 | 2395 | p-locate@^2.0.0: 2396 | version "2.0.0" 2397 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" 2398 | dependencies: 2399 | p-limit "^1.1.0" 2400 | 2401 | p-try@^1.0.0: 2402 | version "1.0.0" 2403 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" 2404 | 2405 | pako@~1.0.5: 2406 | version "1.0.6" 2407 | resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.6.tgz#0101211baa70c4bca4a0f63f2206e97b7dfaf258" 2408 | 2409 | parallel-transform@^1.1.0: 2410 | version "1.1.0" 2411 | resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.1.0.tgz#d410f065b05da23081fcd10f28854c29bda33b06" 2412 | dependencies: 2413 | cyclist "~0.2.2" 2414 | inherits "^2.0.3" 2415 | readable-stream "^2.1.5" 2416 | 2417 | parse-asn1@^5.0.0: 2418 | version "5.1.1" 2419 | resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.1.tgz#f6bf293818332bd0dab54efb16087724745e6ca8" 2420 | dependencies: 2421 | asn1.js "^4.0.0" 2422 | browserify-aes "^1.0.0" 2423 | create-hash "^1.1.0" 2424 | evp_bytestokey "^1.0.0" 2425 | pbkdf2 "^3.0.3" 2426 | 2427 | parse-json@^4.0.0: 2428 | version "4.0.0" 2429 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" 2430 | dependencies: 2431 | error-ex "^1.3.1" 2432 | json-parse-better-errors "^1.0.1" 2433 | 2434 | parseurl@~1.3.2: 2435 | version "1.3.2" 2436 | resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" 2437 | 2438 | pascalcase@^0.1.1: 2439 | version "0.1.1" 2440 | resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" 2441 | 2442 | path-browserify@0.0.0: 2443 | version "0.0.0" 2444 | resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a" 2445 | 2446 | path-dirname@^1.0.0: 2447 | version "1.0.2" 2448 | resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" 2449 | 2450 | path-exists@^3.0.0: 2451 | version "3.0.0" 2452 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" 2453 | 2454 | path-is-absolute@^1.0.0: 2455 | version "1.0.1" 2456 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 2457 | 2458 | path-key@^2.0.0: 2459 | version "2.0.1" 2460 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" 2461 | 2462 | path-to-regexp@0.1.7: 2463 | version "0.1.7" 2464 | resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" 2465 | 2466 | path-to-regexp@^1.7.0: 2467 | version "1.7.0" 2468 | resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.7.0.tgz#59fde0f435badacba103a84e9d3bc64e96b9937d" 2469 | dependencies: 2470 | isarray "0.0.1" 2471 | 2472 | path-type@^3.0.0: 2473 | version "3.0.0" 2474 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" 2475 | dependencies: 2476 | pify "^3.0.0" 2477 | 2478 | pathval@^1.0.0: 2479 | version "1.1.0" 2480 | resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.0.tgz#b942e6d4bde653005ef6b71361def8727d0645e0" 2481 | 2482 | pbkdf2@^3.0.3: 2483 | version "3.0.16" 2484 | resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.16.tgz#7404208ec6b01b62d85bf83853a8064f8d9c2a5c" 2485 | dependencies: 2486 | create-hash "^1.1.2" 2487 | create-hmac "^1.1.4" 2488 | ripemd160 "^2.0.1" 2489 | safe-buffer "^5.0.1" 2490 | sha.js "^2.4.8" 2491 | 2492 | pify@^3.0.0: 2493 | version "3.0.0" 2494 | resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" 2495 | 2496 | pkg-dir@^2.0.0: 2497 | version "2.0.0" 2498 | resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" 2499 | dependencies: 2500 | find-up "^2.1.0" 2501 | 2502 | posix-character-classes@^0.1.0: 2503 | version "0.1.1" 2504 | resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" 2505 | 2506 | postcss-calc@^5.2.0: 2507 | version "5.3.1" 2508 | resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-5.3.1.tgz#77bae7ca928ad85716e2fda42f261bf7c1d65b5e" 2509 | dependencies: 2510 | postcss "^5.0.2" 2511 | postcss-message-helpers "^2.0.0" 2512 | reduce-css-calc "^1.2.6" 2513 | 2514 | postcss-colormin@^2.1.8: 2515 | version "2.2.2" 2516 | resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-2.2.2.tgz#6631417d5f0e909a3d7ec26b24c8a8d1e4f96e4b" 2517 | dependencies: 2518 | colormin "^1.0.5" 2519 | postcss "^5.0.13" 2520 | postcss-value-parser "^3.2.3" 2521 | 2522 | postcss-convert-values@^2.3.4: 2523 | version "2.6.1" 2524 | resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz#bbd8593c5c1fd2e3d1c322bb925dcae8dae4d62d" 2525 | dependencies: 2526 | postcss "^5.0.11" 2527 | postcss-value-parser "^3.1.2" 2528 | 2529 | postcss-discard-comments@^2.0.4: 2530 | version "2.0.4" 2531 | resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz#befe89fafd5b3dace5ccce51b76b81514be00e3d" 2532 | dependencies: 2533 | postcss "^5.0.14" 2534 | 2535 | postcss-discard-duplicates@^2.0.1: 2536 | version "2.1.0" 2537 | resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz#b9abf27b88ac188158a5eb12abcae20263b91932" 2538 | dependencies: 2539 | postcss "^5.0.4" 2540 | 2541 | postcss-discard-empty@^2.0.1: 2542 | version "2.1.0" 2543 | resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz#d2b4bd9d5ced5ebd8dcade7640c7d7cd7f4f92b5" 2544 | dependencies: 2545 | postcss "^5.0.14" 2546 | 2547 | postcss-discard-overridden@^0.1.1: 2548 | version "0.1.1" 2549 | resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz#8b1eaf554f686fb288cd874c55667b0aa3668d58" 2550 | dependencies: 2551 | postcss "^5.0.16" 2552 | 2553 | postcss-discard-unused@^2.2.1: 2554 | version "2.2.3" 2555 | resolved "https://registry.yarnpkg.com/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz#bce30b2cc591ffc634322b5fb3464b6d934f4433" 2556 | dependencies: 2557 | postcss "^5.0.14" 2558 | uniqs "^2.0.0" 2559 | 2560 | postcss-filter-plugins@^2.0.0: 2561 | version "2.0.3" 2562 | resolved "https://registry.yarnpkg.com/postcss-filter-plugins/-/postcss-filter-plugins-2.0.3.tgz#82245fdf82337041645e477114d8e593aa18b8ec" 2563 | dependencies: 2564 | postcss "^5.0.4" 2565 | 2566 | postcss-merge-idents@^2.1.5: 2567 | version "2.1.7" 2568 | resolved "https://registry.yarnpkg.com/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz#4c5530313c08e1d5b3bbf3d2bbc747e278eea270" 2569 | dependencies: 2570 | has "^1.0.1" 2571 | postcss "^5.0.10" 2572 | postcss-value-parser "^3.1.1" 2573 | 2574 | postcss-merge-longhand@^2.0.1: 2575 | version "2.0.2" 2576 | resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz#23d90cd127b0a77994915332739034a1a4f3d658" 2577 | dependencies: 2578 | postcss "^5.0.4" 2579 | 2580 | postcss-merge-rules@^2.0.3: 2581 | version "2.1.2" 2582 | resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz#d1df5dfaa7b1acc3be553f0e9e10e87c61b5f721" 2583 | dependencies: 2584 | browserslist "^1.5.2" 2585 | caniuse-api "^1.5.2" 2586 | postcss "^5.0.4" 2587 | postcss-selector-parser "^2.2.2" 2588 | vendors "^1.0.0" 2589 | 2590 | postcss-message-helpers@^2.0.0: 2591 | version "2.0.0" 2592 | resolved "https://registry.yarnpkg.com/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz#a4f2f4fab6e4fe002f0aed000478cdf52f9ba60e" 2593 | 2594 | postcss-minify-font-values@^1.0.2: 2595 | version "1.0.5" 2596 | resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz#4b58edb56641eba7c8474ab3526cafd7bbdecb69" 2597 | dependencies: 2598 | object-assign "^4.0.1" 2599 | postcss "^5.0.4" 2600 | postcss-value-parser "^3.0.2" 2601 | 2602 | postcss-minify-gradients@^1.0.1: 2603 | version "1.0.5" 2604 | resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz#5dbda11373703f83cfb4a3ea3881d8d75ff5e6e1" 2605 | dependencies: 2606 | postcss "^5.0.12" 2607 | postcss-value-parser "^3.3.0" 2608 | 2609 | postcss-minify-params@^1.0.4: 2610 | version "1.2.2" 2611 | resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz#ad2ce071373b943b3d930a3fa59a358c28d6f1f3" 2612 | dependencies: 2613 | alphanum-sort "^1.0.1" 2614 | postcss "^5.0.2" 2615 | postcss-value-parser "^3.0.2" 2616 | uniqs "^2.0.0" 2617 | 2618 | postcss-minify-selectors@^2.0.4: 2619 | version "2.1.1" 2620 | resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz#b2c6a98c0072cf91b932d1a496508114311735bf" 2621 | dependencies: 2622 | alphanum-sort "^1.0.2" 2623 | has "^1.0.1" 2624 | postcss "^5.0.14" 2625 | postcss-selector-parser "^2.0.0" 2626 | 2627 | postcss-modules-extract-imports@^1.2.0: 2628 | version "1.2.0" 2629 | resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.0.tgz#66140ecece38ef06bf0d3e355d69bf59d141ea85" 2630 | dependencies: 2631 | postcss "^6.0.1" 2632 | 2633 | postcss-modules-local-by-default@^1.2.0: 2634 | version "1.2.0" 2635 | resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz#f7d80c398c5a393fa7964466bd19500a7d61c069" 2636 | dependencies: 2637 | css-selector-tokenizer "^0.7.0" 2638 | postcss "^6.0.1" 2639 | 2640 | postcss-modules-scope@^1.1.0: 2641 | version "1.1.0" 2642 | resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz#d6ea64994c79f97b62a72b426fbe6056a194bb90" 2643 | dependencies: 2644 | css-selector-tokenizer "^0.7.0" 2645 | postcss "^6.0.1" 2646 | 2647 | postcss-modules-values@^1.3.0: 2648 | version "1.3.0" 2649 | resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz#ecffa9d7e192518389f42ad0e83f72aec456ea20" 2650 | dependencies: 2651 | icss-replace-symbols "^1.1.0" 2652 | postcss "^6.0.1" 2653 | 2654 | postcss-normalize-charset@^1.1.0: 2655 | version "1.1.1" 2656 | resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz#ef9ee71212d7fe759c78ed162f61ed62b5cb93f1" 2657 | dependencies: 2658 | postcss "^5.0.5" 2659 | 2660 | postcss-normalize-url@^3.0.7: 2661 | version "3.0.8" 2662 | resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz#108f74b3f2fcdaf891a2ffa3ea4592279fc78222" 2663 | dependencies: 2664 | is-absolute-url "^2.0.0" 2665 | normalize-url "^1.4.0" 2666 | postcss "^5.0.14" 2667 | postcss-value-parser "^3.2.3" 2668 | 2669 | postcss-ordered-values@^2.1.0: 2670 | version "2.2.3" 2671 | resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz#eec6c2a67b6c412a8db2042e77fe8da43f95c11d" 2672 | dependencies: 2673 | postcss "^5.0.4" 2674 | postcss-value-parser "^3.0.1" 2675 | 2676 | postcss-reduce-idents@^2.2.2: 2677 | version "2.4.0" 2678 | resolved "https://registry.yarnpkg.com/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz#c2c6d20cc958284f6abfbe63f7609bf409059ad3" 2679 | dependencies: 2680 | postcss "^5.0.4" 2681 | postcss-value-parser "^3.0.2" 2682 | 2683 | postcss-reduce-initial@^1.0.0: 2684 | version "1.0.1" 2685 | resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz#68f80695f045d08263a879ad240df8dd64f644ea" 2686 | dependencies: 2687 | postcss "^5.0.4" 2688 | 2689 | postcss-reduce-transforms@^1.0.3: 2690 | version "1.0.4" 2691 | resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz#ff76f4d8212437b31c298a42d2e1444025771ae1" 2692 | dependencies: 2693 | has "^1.0.1" 2694 | postcss "^5.0.8" 2695 | postcss-value-parser "^3.0.1" 2696 | 2697 | postcss-selector-parser@^2.0.0, postcss-selector-parser@^2.2.2: 2698 | version "2.2.3" 2699 | resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz#f9437788606c3c9acee16ffe8d8b16297f27bb90" 2700 | dependencies: 2701 | flatten "^1.0.2" 2702 | indexes-of "^1.0.1" 2703 | uniq "^1.0.1" 2704 | 2705 | postcss-svgo@^2.1.1: 2706 | version "2.1.6" 2707 | resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-2.1.6.tgz#b6df18aa613b666e133f08adb5219c2684ac108d" 2708 | dependencies: 2709 | is-svg "^2.0.0" 2710 | postcss "^5.0.14" 2711 | postcss-value-parser "^3.2.3" 2712 | svgo "^0.7.0" 2713 | 2714 | postcss-unique-selectors@^2.0.2: 2715 | version "2.0.2" 2716 | resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz#981d57d29ddcb33e7b1dfe1fd43b8649f933ca1d" 2717 | dependencies: 2718 | alphanum-sort "^1.0.1" 2719 | postcss "^5.0.4" 2720 | uniqs "^2.0.0" 2721 | 2722 | postcss-value-parser@^3.0.1, postcss-value-parser@^3.0.2, postcss-value-parser@^3.1.1, postcss-value-parser@^3.1.2, postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.0: 2723 | version "3.3.0" 2724 | resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz#87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15" 2725 | 2726 | postcss-zindex@^2.0.1: 2727 | version "2.2.0" 2728 | resolved "https://registry.yarnpkg.com/postcss-zindex/-/postcss-zindex-2.2.0.tgz#d2109ddc055b91af67fc4cb3b025946639d2af22" 2729 | dependencies: 2730 | has "^1.0.1" 2731 | postcss "^5.0.4" 2732 | uniqs "^2.0.0" 2733 | 2734 | postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0.14, postcss@^5.0.16, postcss@^5.0.2, postcss@^5.0.4, postcss@^5.0.5, postcss@^5.0.6, postcss@^5.0.8, postcss@^5.2.16: 2735 | version "5.2.18" 2736 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.18.tgz#badfa1497d46244f6390f58b319830d9107853c5" 2737 | dependencies: 2738 | chalk "^1.1.3" 2739 | js-base64 "^2.1.9" 2740 | source-map "^0.5.6" 2741 | supports-color "^3.2.3" 2742 | 2743 | postcss@^6.0.1: 2744 | version "6.0.22" 2745 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.22.tgz#e23b78314905c3b90cbd61702121e7a78848f2a3" 2746 | dependencies: 2747 | chalk "^2.4.1" 2748 | source-map "^0.6.1" 2749 | supports-color "^5.4.0" 2750 | 2751 | prepend-http@^1.0.0: 2752 | version "1.0.4" 2753 | resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" 2754 | 2755 | process-nextick-args@~2.0.0: 2756 | version "2.0.0" 2757 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" 2758 | 2759 | process@^0.11.10: 2760 | version "0.11.10" 2761 | resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" 2762 | 2763 | promise-inflight@^1.0.1: 2764 | version "1.0.1" 2765 | resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" 2766 | 2767 | proxy-addr@~2.0.3: 2768 | version "2.0.3" 2769 | resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.3.tgz#355f262505a621646b3130a728eb647e22055341" 2770 | dependencies: 2771 | forwarded "~0.1.2" 2772 | ipaddr.js "1.6.0" 2773 | 2774 | prr@~1.0.1: 2775 | version "1.0.1" 2776 | resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" 2777 | 2778 | pseudomap@^1.0.2: 2779 | version "1.0.2" 2780 | resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" 2781 | 2782 | public-encrypt@^4.0.0: 2783 | version "4.0.2" 2784 | resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.2.tgz#46eb9107206bf73489f8b85b69d91334c6610994" 2785 | dependencies: 2786 | bn.js "^4.1.0" 2787 | browserify-rsa "^4.0.0" 2788 | create-hash "^1.1.0" 2789 | parse-asn1 "^5.0.0" 2790 | randombytes "^2.0.1" 2791 | 2792 | pump@^2.0.0, pump@^2.0.1: 2793 | version "2.0.1" 2794 | resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" 2795 | dependencies: 2796 | end-of-stream "^1.1.0" 2797 | once "^1.3.1" 2798 | 2799 | pumpify@^1.3.3: 2800 | version "1.5.1" 2801 | resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" 2802 | dependencies: 2803 | duplexify "^3.6.0" 2804 | inherits "^2.0.3" 2805 | pump "^2.0.0" 2806 | 2807 | punycode@1.3.2: 2808 | version "1.3.2" 2809 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" 2810 | 2811 | punycode@^1.2.4: 2812 | version "1.4.1" 2813 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" 2814 | 2815 | punycode@^2.1.0: 2816 | version "2.1.1" 2817 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" 2818 | 2819 | q@^1.1.2: 2820 | version "1.5.1" 2821 | resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" 2822 | 2823 | qs@6.5.1: 2824 | version "6.5.1" 2825 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8" 2826 | 2827 | query-string@^4.1.0: 2828 | version "4.3.4" 2829 | resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" 2830 | dependencies: 2831 | object-assign "^4.1.0" 2832 | strict-uri-encode "^1.0.0" 2833 | 2834 | querystring-es3@^0.2.0: 2835 | version "0.2.1" 2836 | resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" 2837 | 2838 | querystring@0.2.0: 2839 | version "0.2.0" 2840 | resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" 2841 | 2842 | randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: 2843 | version "2.0.6" 2844 | resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.6.tgz#d302c522948588848a8d300c932b44c24231da80" 2845 | dependencies: 2846 | safe-buffer "^5.1.0" 2847 | 2848 | randomfill@^1.0.3: 2849 | version "1.0.4" 2850 | resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" 2851 | dependencies: 2852 | randombytes "^2.0.5" 2853 | safe-buffer "^5.1.0" 2854 | 2855 | range-parser@~1.2.0: 2856 | version "1.2.0" 2857 | resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" 2858 | 2859 | raw-body@2.3.2: 2860 | version "2.3.2" 2861 | resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.2.tgz#bcd60c77d3eb93cde0050295c3f379389bc88f89" 2862 | dependencies: 2863 | bytes "3.0.0" 2864 | http-errors "1.6.2" 2865 | iconv-lite "0.4.19" 2866 | unpipe "1.0.0" 2867 | 2868 | rc@^1.1.7: 2869 | version "1.2.8" 2870 | resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" 2871 | dependencies: 2872 | deep-extend "^0.6.0" 2873 | ini "~1.3.0" 2874 | minimist "^1.2.0" 2875 | strip-json-comments "~2.0.1" 2876 | 2877 | read-pkg-up@^3.0.0: 2878 | version "3.0.0" 2879 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" 2880 | dependencies: 2881 | find-up "^2.0.0" 2882 | read-pkg "^3.0.0" 2883 | 2884 | read-pkg@^3.0.0: 2885 | version "3.0.0" 2886 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" 2887 | dependencies: 2888 | load-json-file "^4.0.0" 2889 | normalize-package-data "^2.3.2" 2890 | path-type "^3.0.0" 2891 | 2892 | "readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6: 2893 | version "2.3.6" 2894 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" 2895 | dependencies: 2896 | core-util-is "~1.0.0" 2897 | inherits "~2.0.3" 2898 | isarray "~1.0.0" 2899 | process-nextick-args "~2.0.0" 2900 | safe-buffer "~5.1.1" 2901 | string_decoder "~1.1.1" 2902 | util-deprecate "~1.0.1" 2903 | 2904 | readdirp@^2.0.0: 2905 | version "2.1.0" 2906 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" 2907 | dependencies: 2908 | graceful-fs "^4.1.2" 2909 | minimatch "^3.0.2" 2910 | readable-stream "^2.0.2" 2911 | set-immediate-shim "^1.0.1" 2912 | 2913 | reduce-css-calc@^1.2.6: 2914 | version "1.3.0" 2915 | resolved "https://registry.yarnpkg.com/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz#747c914e049614a4c9cfbba629871ad1d2927716" 2916 | dependencies: 2917 | balanced-match "^0.4.2" 2918 | math-expression-evaluator "^1.2.14" 2919 | reduce-function-call "^1.0.1" 2920 | 2921 | reduce-function-call@^1.0.1: 2922 | version "1.0.2" 2923 | resolved "https://registry.yarnpkg.com/reduce-function-call/-/reduce-function-call-1.0.2.tgz#5a200bf92e0e37751752fe45b0ab330fd4b6be99" 2924 | dependencies: 2925 | balanced-match "^0.4.2" 2926 | 2927 | regenerate@^1.2.1: 2928 | version "1.4.0" 2929 | resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" 2930 | 2931 | regex-not@^1.0.0, regex-not@^1.0.2: 2932 | version "1.0.2" 2933 | resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" 2934 | dependencies: 2935 | extend-shallow "^3.0.2" 2936 | safe-regex "^1.1.0" 2937 | 2938 | regexpu-core@^1.0.0: 2939 | version "1.0.0" 2940 | resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-1.0.0.tgz#86a763f58ee4d7c2f6b102e4764050de7ed90c6b" 2941 | dependencies: 2942 | regenerate "^1.2.1" 2943 | regjsgen "^0.2.0" 2944 | regjsparser "^0.1.4" 2945 | 2946 | regjsgen@^0.2.0: 2947 | version "0.2.0" 2948 | resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" 2949 | 2950 | regjsparser@^0.1.4: 2951 | version "0.1.5" 2952 | resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" 2953 | dependencies: 2954 | jsesc "~0.5.0" 2955 | 2956 | remove-trailing-separator@^1.0.1: 2957 | version "1.1.0" 2958 | resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" 2959 | 2960 | repeat-element@^1.1.2: 2961 | version "1.1.2" 2962 | resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" 2963 | 2964 | repeat-string@^1.6.1: 2965 | version "1.6.1" 2966 | resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" 2967 | 2968 | require-directory@^2.1.1: 2969 | version "2.1.1" 2970 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" 2971 | 2972 | require-main-filename@^1.0.1: 2973 | version "1.0.1" 2974 | resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" 2975 | 2976 | resolve-url@^0.2.1: 2977 | version "0.2.1" 2978 | resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" 2979 | 2980 | ret@~0.1.10: 2981 | version "0.1.15" 2982 | resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" 2983 | 2984 | rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2: 2985 | version "2.6.2" 2986 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" 2987 | dependencies: 2988 | glob "^7.0.5" 2989 | 2990 | ripemd160@^2.0.0, ripemd160@^2.0.1: 2991 | version "2.0.2" 2992 | resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" 2993 | dependencies: 2994 | hash-base "^3.0.0" 2995 | inherits "^2.0.1" 2996 | 2997 | run-queue@^1.0.0, run-queue@^1.0.3: 2998 | version "1.0.3" 2999 | resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" 3000 | dependencies: 3001 | aproba "^1.1.1" 3002 | 3003 | safe-buffer@5.1.1: 3004 | version "5.1.1" 3005 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" 3006 | 3007 | safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: 3008 | version "5.1.2" 3009 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 3010 | 3011 | safe-regex@^1.1.0: 3012 | version "1.1.0" 3013 | resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" 3014 | dependencies: 3015 | ret "~0.1.10" 3016 | 3017 | "safer-buffer@>= 2.1.2 < 3": 3018 | version "2.1.2" 3019 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 3020 | 3021 | samsam@1.3.0: 3022 | version "1.3.0" 3023 | resolved "https://registry.yarnpkg.com/samsam/-/samsam-1.3.0.tgz#8d1d9350e25622da30de3e44ba692b5221ab7c50" 3024 | 3025 | sax@^1.2.4, sax@~1.2.1: 3026 | version "1.2.4" 3027 | resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" 3028 | 3029 | schema-utils@^0.4.4, schema-utils@^0.4.5: 3030 | version "0.4.5" 3031 | resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.4.5.tgz#21836f0608aac17b78f9e3e24daff14a5ca13a3e" 3032 | dependencies: 3033 | ajv "^6.1.0" 3034 | ajv-keywords "^3.1.0" 3035 | 3036 | "semver@2 || 3 || 4 || 5", semver@^5.3.0: 3037 | version "5.5.0" 3038 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" 3039 | 3040 | send@0.16.2: 3041 | version "0.16.2" 3042 | resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1" 3043 | dependencies: 3044 | debug "2.6.9" 3045 | depd "~1.1.2" 3046 | destroy "~1.0.4" 3047 | encodeurl "~1.0.2" 3048 | escape-html "~1.0.3" 3049 | etag "~1.8.1" 3050 | fresh "0.5.2" 3051 | http-errors "~1.6.2" 3052 | mime "1.4.1" 3053 | ms "2.0.0" 3054 | on-finished "~2.3.0" 3055 | range-parser "~1.2.0" 3056 | statuses "~1.4.0" 3057 | 3058 | serialize-javascript@^1.4.0: 3059 | version "1.5.0" 3060 | resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.5.0.tgz#1aa336162c88a890ddad5384baebc93a655161fe" 3061 | 3062 | serve-static@1.13.2: 3063 | version "1.13.2" 3064 | resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.2.tgz#095e8472fd5b46237db50ce486a43f4b86c6cec1" 3065 | dependencies: 3066 | encodeurl "~1.0.2" 3067 | escape-html "~1.0.3" 3068 | parseurl "~1.3.2" 3069 | send "0.16.2" 3070 | 3071 | set-blocking@^2.0.0, set-blocking@~2.0.0: 3072 | version "2.0.0" 3073 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" 3074 | 3075 | set-immediate-shim@^1.0.1: 3076 | version "1.0.1" 3077 | resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" 3078 | 3079 | set-value@^0.4.3: 3080 | version "0.4.3" 3081 | resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1" 3082 | dependencies: 3083 | extend-shallow "^2.0.1" 3084 | is-extendable "^0.1.1" 3085 | is-plain-object "^2.0.1" 3086 | to-object-path "^0.3.0" 3087 | 3088 | set-value@^2.0.0: 3089 | version "2.0.0" 3090 | resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274" 3091 | dependencies: 3092 | extend-shallow "^2.0.1" 3093 | is-extendable "^0.1.1" 3094 | is-plain-object "^2.0.3" 3095 | split-string "^3.0.1" 3096 | 3097 | setimmediate@^1.0.4: 3098 | version "1.0.5" 3099 | resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" 3100 | 3101 | setprototypeof@1.0.3: 3102 | version "1.0.3" 3103 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04" 3104 | 3105 | setprototypeof@1.1.0: 3106 | version "1.1.0" 3107 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" 3108 | 3109 | sha.js@^2.4.0, sha.js@^2.4.8: 3110 | version "2.4.11" 3111 | resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" 3112 | dependencies: 3113 | inherits "^2.0.1" 3114 | safe-buffer "^5.0.1" 3115 | 3116 | shebang-command@^1.2.0: 3117 | version "1.2.0" 3118 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" 3119 | dependencies: 3120 | shebang-regex "^1.0.0" 3121 | 3122 | shebang-regex@^1.0.0: 3123 | version "1.0.0" 3124 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" 3125 | 3126 | signal-exit@^3.0.0: 3127 | version "3.0.2" 3128 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" 3129 | 3130 | sinon-chai@3.1.0: 3131 | version "3.1.0" 3132 | resolved "https://registry.yarnpkg.com/sinon-chai/-/sinon-chai-3.1.0.tgz#e8c18dd72624eb0aeb95eeee2de809a9859be2cd" 3133 | 3134 | sinon@^6.0.0: 3135 | version "6.0.0" 3136 | resolved "https://registry.yarnpkg.com/sinon/-/sinon-6.0.0.tgz#f26627e4830dc34279661474da2c9e784f166215" 3137 | dependencies: 3138 | "@sinonjs/formatio" "^2.0.0" 3139 | diff "^3.5.0" 3140 | lodash.get "^4.4.2" 3141 | lolex "^2.4.2" 3142 | nise "^1.3.3" 3143 | supports-color "^5.4.0" 3144 | type-detect "^4.0.8" 3145 | 3146 | size-limit@^0.18.2: 3147 | version "0.18.2" 3148 | resolved "https://registry.yarnpkg.com/size-limit/-/size-limit-0.18.2.tgz#2ee4d39be0dfd7d5d090ab5d37e3671889c01a8f" 3149 | dependencies: 3150 | bytes "^3.0.0" 3151 | chalk "^2.4.1" 3152 | ci-job-number "^0.3.0" 3153 | compression-webpack-plugin "^1.1.11" 3154 | cosmiconfig "^5.0.5" 3155 | css-loader "^0.28.11" 3156 | escape-string-regexp "^1.0.5" 3157 | file-loader "^1.1.11" 3158 | globby "^8.0.1" 3159 | gzip-size "^4.1.0" 3160 | memory-fs "^0.4.1" 3161 | read-pkg-up "^3.0.0" 3162 | style-loader "^0.21.0" 3163 | webpack "^4.10.2" 3164 | webpack-bundle-analyzer "^2.13.1" 3165 | yargs "^11.0.0" 3166 | 3167 | slash@^1.0.0: 3168 | version "1.0.0" 3169 | resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" 3170 | 3171 | snapdragon-node@^2.0.1: 3172 | version "2.1.1" 3173 | resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" 3174 | dependencies: 3175 | define-property "^1.0.0" 3176 | isobject "^3.0.0" 3177 | snapdragon-util "^3.0.1" 3178 | 3179 | snapdragon-util@^3.0.1: 3180 | version "3.0.1" 3181 | resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" 3182 | dependencies: 3183 | kind-of "^3.2.0" 3184 | 3185 | snapdragon@^0.8.1: 3186 | version "0.8.2" 3187 | resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" 3188 | dependencies: 3189 | base "^0.11.1" 3190 | debug "^2.2.0" 3191 | define-property "^0.2.5" 3192 | extend-shallow "^2.0.1" 3193 | map-cache "^0.2.2" 3194 | source-map "^0.5.6" 3195 | source-map-resolve "^0.5.0" 3196 | use "^3.1.0" 3197 | 3198 | sort-keys@^1.0.0: 3199 | version "1.1.2" 3200 | resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" 3201 | dependencies: 3202 | is-plain-obj "^1.0.0" 3203 | 3204 | source-list-map@^2.0.0: 3205 | version "2.0.0" 3206 | resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.0.tgz#aaa47403f7b245a92fbc97ea08f250d6087ed085" 3207 | 3208 | source-map-resolve@^0.5.0: 3209 | version "0.5.2" 3210 | resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" 3211 | dependencies: 3212 | atob "^2.1.1" 3213 | decode-uri-component "^0.2.0" 3214 | resolve-url "^0.2.1" 3215 | source-map-url "^0.4.0" 3216 | urix "^0.1.0" 3217 | 3218 | source-map-url@^0.4.0: 3219 | version "0.4.0" 3220 | resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" 3221 | 3222 | source-map@^0.5.3, source-map@^0.5.6: 3223 | version "0.5.7" 3224 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" 3225 | 3226 | source-map@^0.6.1, source-map@~0.6.1: 3227 | version "0.6.1" 3228 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 3229 | 3230 | spdx-correct@^3.0.0: 3231 | version "3.0.0" 3232 | resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.0.0.tgz#05a5b4d7153a195bc92c3c425b69f3b2a9524c82" 3233 | dependencies: 3234 | spdx-expression-parse "^3.0.0" 3235 | spdx-license-ids "^3.0.0" 3236 | 3237 | spdx-exceptions@^2.1.0: 3238 | version "2.1.0" 3239 | resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz#2c7ae61056c714a5b9b9b2b2af7d311ef5c78fe9" 3240 | 3241 | spdx-expression-parse@^3.0.0: 3242 | version "3.0.0" 3243 | resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" 3244 | dependencies: 3245 | spdx-exceptions "^2.1.0" 3246 | spdx-license-ids "^3.0.0" 3247 | 3248 | spdx-license-ids@^3.0.0: 3249 | version "3.0.0" 3250 | resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz#7a7cd28470cc6d3a1cfe6d66886f6bc430d3ac87" 3251 | 3252 | split-string@^3.0.1, split-string@^3.0.2: 3253 | version "3.1.0" 3254 | resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" 3255 | dependencies: 3256 | extend-shallow "^3.0.0" 3257 | 3258 | sprintf-js@~1.0.2: 3259 | version "1.0.3" 3260 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 3261 | 3262 | ssri@^5.2.4: 3263 | version "5.3.0" 3264 | resolved "https://registry.yarnpkg.com/ssri/-/ssri-5.3.0.tgz#ba3872c9c6d33a0704a7d71ff045e5ec48999d06" 3265 | dependencies: 3266 | safe-buffer "^5.1.1" 3267 | 3268 | static-extend@^0.1.1: 3269 | version "0.1.2" 3270 | resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" 3271 | dependencies: 3272 | define-property "^0.2.5" 3273 | object-copy "^0.1.0" 3274 | 3275 | "statuses@>= 1.3.1 < 2", "statuses@>= 1.4.0 < 2": 3276 | version "1.5.0" 3277 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" 3278 | 3279 | statuses@~1.4.0: 3280 | version "1.4.0" 3281 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087" 3282 | 3283 | stream-browserify@^2.0.1: 3284 | version "2.0.1" 3285 | resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db" 3286 | dependencies: 3287 | inherits "~2.0.1" 3288 | readable-stream "^2.0.2" 3289 | 3290 | stream-each@^1.1.0: 3291 | version "1.2.2" 3292 | resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.2.tgz#8e8c463f91da8991778765873fe4d960d8f616bd" 3293 | dependencies: 3294 | end-of-stream "^1.1.0" 3295 | stream-shift "^1.0.0" 3296 | 3297 | stream-http@^2.7.2: 3298 | version "2.8.3" 3299 | resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" 3300 | dependencies: 3301 | builtin-status-codes "^3.0.0" 3302 | inherits "^2.0.1" 3303 | readable-stream "^2.3.6" 3304 | to-arraybuffer "^1.0.0" 3305 | xtend "^4.0.0" 3306 | 3307 | stream-shift@^1.0.0: 3308 | version "1.0.0" 3309 | resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" 3310 | 3311 | strict-uri-encode@^1.0.0: 3312 | version "1.1.0" 3313 | resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" 3314 | 3315 | string-width@^1.0.1: 3316 | version "1.0.2" 3317 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" 3318 | dependencies: 3319 | code-point-at "^1.0.0" 3320 | is-fullwidth-code-point "^1.0.0" 3321 | strip-ansi "^3.0.0" 3322 | 3323 | "string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.1: 3324 | version "2.1.1" 3325 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" 3326 | dependencies: 3327 | is-fullwidth-code-point "^2.0.0" 3328 | strip-ansi "^4.0.0" 3329 | 3330 | string_decoder@^1.0.0, string_decoder@~1.1.1: 3331 | version "1.1.1" 3332 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" 3333 | dependencies: 3334 | safe-buffer "~5.1.0" 3335 | 3336 | strip-ansi@^3.0.0, strip-ansi@^3.0.1: 3337 | version "3.0.1" 3338 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 3339 | dependencies: 3340 | ansi-regex "^2.0.0" 3341 | 3342 | strip-ansi@^4.0.0: 3343 | version "4.0.0" 3344 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" 3345 | dependencies: 3346 | ansi-regex "^3.0.0" 3347 | 3348 | strip-bom@^3.0.0: 3349 | version "3.0.0" 3350 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" 3351 | 3352 | strip-eof@^1.0.0: 3353 | version "1.0.0" 3354 | resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" 3355 | 3356 | strip-json-comments@~2.0.1: 3357 | version "2.0.1" 3358 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" 3359 | 3360 | style-loader@^0.21.0: 3361 | version "0.21.0" 3362 | resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.21.0.tgz#68c52e5eb2afc9ca92b6274be277ee59aea3a852" 3363 | dependencies: 3364 | loader-utils "^1.1.0" 3365 | schema-utils "^0.4.5" 3366 | 3367 | supports-color@5.4.0, supports-color@^5.3.0, supports-color@^5.4.0: 3368 | version "5.4.0" 3369 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54" 3370 | dependencies: 3371 | has-flag "^3.0.0" 3372 | 3373 | supports-color@^2.0.0: 3374 | version "2.0.0" 3375 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" 3376 | 3377 | supports-color@^3.2.3: 3378 | version "3.2.3" 3379 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" 3380 | dependencies: 3381 | has-flag "^1.0.0" 3382 | 3383 | svgo@^0.7.0: 3384 | version "0.7.2" 3385 | resolved "https://registry.yarnpkg.com/svgo/-/svgo-0.7.2.tgz#9f5772413952135c6fefbf40afe6a4faa88b4bb5" 3386 | dependencies: 3387 | coa "~1.0.1" 3388 | colors "~1.1.2" 3389 | csso "~2.3.1" 3390 | js-yaml "~3.7.0" 3391 | mkdirp "~0.5.1" 3392 | sax "~1.2.1" 3393 | whet.extend "~0.9.9" 3394 | 3395 | tapable@^1.0.0: 3396 | version "1.0.0" 3397 | resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.0.0.tgz#cbb639d9002eed9c6b5975eb20598d7936f1f9f2" 3398 | 3399 | tar@^4: 3400 | version "4.4.4" 3401 | resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.4.tgz#ec8409fae9f665a4355cc3b4087d0820232bb8cd" 3402 | dependencies: 3403 | chownr "^1.0.1" 3404 | fs-minipass "^1.2.5" 3405 | minipass "^2.3.3" 3406 | minizlib "^1.1.0" 3407 | mkdirp "^0.5.0" 3408 | safe-buffer "^5.1.2" 3409 | yallist "^3.0.2" 3410 | 3411 | text-encoding@^0.6.4: 3412 | version "0.6.4" 3413 | resolved "https://registry.yarnpkg.com/text-encoding/-/text-encoding-0.6.4.tgz#e399a982257a276dae428bb92845cb71bdc26d19" 3414 | 3415 | through2@^2.0.0: 3416 | version "2.0.3" 3417 | resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" 3418 | dependencies: 3419 | readable-stream "^2.1.5" 3420 | xtend "~4.0.1" 3421 | 3422 | timers-browserify@^2.0.4: 3423 | version "2.0.10" 3424 | resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.10.tgz#1d28e3d2aadf1d5a5996c4e9f95601cd053480ae" 3425 | dependencies: 3426 | setimmediate "^1.0.4" 3427 | 3428 | to-arraybuffer@^1.0.0: 3429 | version "1.0.1" 3430 | resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" 3431 | 3432 | to-object-path@^0.3.0: 3433 | version "0.3.0" 3434 | resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" 3435 | dependencies: 3436 | kind-of "^3.0.2" 3437 | 3438 | to-regex-range@^2.1.0: 3439 | version "2.1.1" 3440 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" 3441 | dependencies: 3442 | is-number "^3.0.0" 3443 | repeat-string "^1.6.1" 3444 | 3445 | to-regex@^3.0.1, to-regex@^3.0.2: 3446 | version "3.0.2" 3447 | resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" 3448 | dependencies: 3449 | define-property "^2.0.2" 3450 | extend-shallow "^3.0.2" 3451 | regex-not "^1.0.2" 3452 | safe-regex "^1.1.0" 3453 | 3454 | tryer@^1.0.0: 3455 | version "1.0.0" 3456 | resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.0.tgz#027b69fa823225e551cace3ef03b11f6ab37c1d7" 3457 | 3458 | tslib@^1.9.0: 3459 | version "1.9.2" 3460 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.2.tgz#8be0cc9a1f6dc7727c38deb16c2ebd1a2892988e" 3461 | 3462 | tty-browserify@0.0.0: 3463 | version "0.0.0" 3464 | resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" 3465 | 3466 | type-detect@^4.0.0, type-detect@^4.0.8: 3467 | version "4.0.8" 3468 | resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" 3469 | 3470 | type-is@~1.6.15, type-is@~1.6.16: 3471 | version "1.6.16" 3472 | resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.16.tgz#f89ce341541c672b25ee7ae3c73dee3b2be50194" 3473 | dependencies: 3474 | media-typer "0.3.0" 3475 | mime-types "~2.1.18" 3476 | 3477 | typedarray@^0.0.6: 3478 | version "0.0.6" 3479 | resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" 3480 | 3481 | uglify-es@^3.3.4: 3482 | version "3.3.9" 3483 | resolved "https://registry.yarnpkg.com/uglify-es/-/uglify-es-3.3.9.tgz#0c1c4f0700bed8dbc124cdb304d2592ca203e677" 3484 | dependencies: 3485 | commander "~2.13.0" 3486 | source-map "~0.6.1" 3487 | 3488 | uglifyjs-webpack-plugin@^1.2.4: 3489 | version "1.2.5" 3490 | resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.2.5.tgz#2ef8387c8f1a903ec5e44fa36f9f3cbdcea67641" 3491 | dependencies: 3492 | cacache "^10.0.4" 3493 | find-cache-dir "^1.0.0" 3494 | schema-utils "^0.4.5" 3495 | serialize-javascript "^1.4.0" 3496 | source-map "^0.6.1" 3497 | uglify-es "^3.3.4" 3498 | webpack-sources "^1.1.0" 3499 | worker-farm "^1.5.2" 3500 | 3501 | union-value@^1.0.0: 3502 | version "1.0.0" 3503 | resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4" 3504 | dependencies: 3505 | arr-union "^3.1.0" 3506 | get-value "^2.0.6" 3507 | is-extendable "^0.1.1" 3508 | set-value "^0.4.3" 3509 | 3510 | uniq@^1.0.1: 3511 | version "1.0.1" 3512 | resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" 3513 | 3514 | uniqs@^2.0.0: 3515 | version "2.0.0" 3516 | resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" 3517 | 3518 | unique-filename@^1.1.0: 3519 | version "1.1.0" 3520 | resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.0.tgz#d05f2fe4032560871f30e93cbe735eea201514f3" 3521 | dependencies: 3522 | unique-slug "^2.0.0" 3523 | 3524 | unique-slug@^2.0.0: 3525 | version "2.0.0" 3526 | resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.0.tgz#db6676e7c7cc0629878ff196097c78855ae9f4ab" 3527 | dependencies: 3528 | imurmurhash "^0.1.4" 3529 | 3530 | unpipe@1.0.0, unpipe@~1.0.0: 3531 | version "1.0.0" 3532 | resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" 3533 | 3534 | unset-value@^1.0.0: 3535 | version "1.0.0" 3536 | resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" 3537 | dependencies: 3538 | has-value "^0.3.1" 3539 | isobject "^3.0.0" 3540 | 3541 | upath@^1.0.0: 3542 | version "1.1.0" 3543 | resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.0.tgz#35256597e46a581db4793d0ce47fa9aebfc9fabd" 3544 | 3545 | uri-js@^4.2.1: 3546 | version "4.2.2" 3547 | resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" 3548 | dependencies: 3549 | punycode "^2.1.0" 3550 | 3551 | urix@^0.1.0: 3552 | version "0.1.0" 3553 | resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" 3554 | 3555 | url@^0.11.0: 3556 | version "0.11.0" 3557 | resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" 3558 | dependencies: 3559 | punycode "1.3.2" 3560 | querystring "0.2.0" 3561 | 3562 | use@^3.1.0: 3563 | version "3.1.0" 3564 | resolved "https://registry.yarnpkg.com/use/-/use-3.1.0.tgz#14716bf03fdfefd03040aef58d8b4b85f3a7c544" 3565 | dependencies: 3566 | kind-of "^6.0.2" 3567 | 3568 | util-deprecate@~1.0.1: 3569 | version "1.0.2" 3570 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 3571 | 3572 | util@0.10.3: 3573 | version "0.10.3" 3574 | resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" 3575 | dependencies: 3576 | inherits "2.0.1" 3577 | 3578 | util@^0.10.3: 3579 | version "0.10.4" 3580 | resolved "https://registry.yarnpkg.com/util/-/util-0.10.4.tgz#3aa0125bfe668a4672de58857d3ace27ecb76901" 3581 | dependencies: 3582 | inherits "2.0.3" 3583 | 3584 | utils-merge@1.0.1: 3585 | version "1.0.1" 3586 | resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" 3587 | 3588 | validate-npm-package-license@^3.0.1: 3589 | version "3.0.3" 3590 | resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz#81643bcbef1bdfecd4623793dc4648948ba98338" 3591 | dependencies: 3592 | spdx-correct "^3.0.0" 3593 | spdx-expression-parse "^3.0.0" 3594 | 3595 | vary@~1.1.2: 3596 | version "1.1.2" 3597 | resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" 3598 | 3599 | vendors@^1.0.0: 3600 | version "1.0.2" 3601 | resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.2.tgz#7fcb5eef9f5623b156bcea89ec37d63676f21801" 3602 | 3603 | vm-browserify@0.0.4: 3604 | version "0.0.4" 3605 | resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" 3606 | dependencies: 3607 | indexof "0.0.1" 3608 | 3609 | watchpack@^1.5.0: 3610 | version "1.6.0" 3611 | resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00" 3612 | dependencies: 3613 | chokidar "^2.0.2" 3614 | graceful-fs "^4.1.2" 3615 | neo-async "^2.5.0" 3616 | 3617 | webpack-bundle-analyzer@^2.13.1: 3618 | version "2.13.1" 3619 | resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-2.13.1.tgz#07d2176c6e86c3cdce4c23e56fae2a7b6b4ad526" 3620 | dependencies: 3621 | acorn "^5.3.0" 3622 | bfj-node4 "^5.2.0" 3623 | chalk "^2.3.0" 3624 | commander "^2.13.0" 3625 | ejs "^2.5.7" 3626 | express "^4.16.2" 3627 | filesize "^3.5.11" 3628 | gzip-size "^4.1.0" 3629 | lodash "^4.17.4" 3630 | mkdirp "^0.5.1" 3631 | opener "^1.4.3" 3632 | ws "^4.0.0" 3633 | 3634 | webpack-sources@^1.0.1, webpack-sources@^1.1.0: 3635 | version "1.1.0" 3636 | resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.1.0.tgz#a101ebae59d6507354d71d8013950a3a8b7a5a54" 3637 | dependencies: 3638 | source-list-map "^2.0.0" 3639 | source-map "~0.6.1" 3640 | 3641 | webpack@^4.10.2: 3642 | version "4.12.0" 3643 | resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.12.0.tgz#14758e035ae69747f68dd0edf3c5a572a82bdee9" 3644 | dependencies: 3645 | "@webassemblyjs/ast" "1.5.12" 3646 | "@webassemblyjs/helper-module-context" "1.5.12" 3647 | "@webassemblyjs/wasm-edit" "1.5.12" 3648 | "@webassemblyjs/wasm-opt" "1.5.12" 3649 | "@webassemblyjs/wasm-parser" "1.5.12" 3650 | acorn "^5.6.2" 3651 | acorn-dynamic-import "^3.0.0" 3652 | ajv "^6.1.0" 3653 | ajv-keywords "^3.1.0" 3654 | chrome-trace-event "^1.0.0" 3655 | enhanced-resolve "^4.0.0" 3656 | eslint-scope "^3.7.1" 3657 | json-parse-better-errors "^1.0.2" 3658 | loader-runner "^2.3.0" 3659 | loader-utils "^1.1.0" 3660 | memory-fs "~0.4.1" 3661 | micromatch "^3.1.8" 3662 | mkdirp "~0.5.0" 3663 | neo-async "^2.5.0" 3664 | node-libs-browser "^2.0.0" 3665 | schema-utils "^0.4.4" 3666 | tapable "^1.0.0" 3667 | uglifyjs-webpack-plugin "^1.2.4" 3668 | watchpack "^1.5.0" 3669 | webpack-sources "^1.0.1" 3670 | 3671 | whet.extend@~0.9.9: 3672 | version "0.9.9" 3673 | resolved "https://registry.yarnpkg.com/whet.extend/-/whet.extend-0.9.9.tgz#f877d5bf648c97e5aa542fadc16d6a259b9c11a1" 3674 | 3675 | which-module@^2.0.0: 3676 | version "2.0.0" 3677 | resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" 3678 | 3679 | which@^1.2.9: 3680 | version "1.3.1" 3681 | resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" 3682 | dependencies: 3683 | isexe "^2.0.0" 3684 | 3685 | wide-align@^1.1.0: 3686 | version "1.1.3" 3687 | resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" 3688 | dependencies: 3689 | string-width "^1.0.2 || 2" 3690 | 3691 | worker-farm@^1.5.2: 3692 | version "1.6.0" 3693 | resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.6.0.tgz#aecc405976fab5a95526180846f0dba288f3a4a0" 3694 | dependencies: 3695 | errno "~0.1.7" 3696 | 3697 | wrap-ansi@^2.0.0: 3698 | version "2.1.0" 3699 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" 3700 | dependencies: 3701 | string-width "^1.0.1" 3702 | strip-ansi "^3.0.1" 3703 | 3704 | wrappy@1: 3705 | version "1.0.2" 3706 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 3707 | 3708 | ws@^4.0.0: 3709 | version "4.1.0" 3710 | resolved "https://registry.yarnpkg.com/ws/-/ws-4.1.0.tgz#a979b5d7d4da68bf54efe0408967c324869a7289" 3711 | dependencies: 3712 | async-limiter "~1.0.0" 3713 | safe-buffer "~5.1.0" 3714 | 3715 | xtend@^4.0.0, xtend@~4.0.1: 3716 | version "4.0.1" 3717 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" 3718 | 3719 | y18n@^3.2.1: 3720 | version "3.2.1" 3721 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" 3722 | 3723 | y18n@^4.0.0: 3724 | version "4.0.0" 3725 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" 3726 | 3727 | yallist@^2.1.2: 3728 | version "2.1.2" 3729 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" 3730 | 3731 | yallist@^3.0.0, yallist@^3.0.2: 3732 | version "3.0.2" 3733 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.2.tgz#8452b4bb7e83c7c188d8041c1a837c773d6d8bb9" 3734 | 3735 | yargs-parser@^9.0.2: 3736 | version "9.0.2" 3737 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-9.0.2.tgz#9ccf6a43460fe4ed40a9bb68f48d43b8a68cc077" 3738 | dependencies: 3739 | camelcase "^4.1.0" 3740 | 3741 | yargs@^11.0.0: 3742 | version "11.0.0" 3743 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-11.0.0.tgz#c052931006c5eee74610e5fc0354bedfd08a201b" 3744 | dependencies: 3745 | cliui "^4.0.0" 3746 | decamelize "^1.1.1" 3747 | find-up "^2.1.0" 3748 | get-caller-file "^1.0.1" 3749 | os-locale "^2.0.0" 3750 | require-directory "^2.1.1" 3751 | require-main-filename "^1.0.1" 3752 | set-blocking "^2.0.0" 3753 | string-width "^2.0.0" 3754 | which-module "^2.0.0" 3755 | y18n "^3.2.1" 3756 | yargs-parser "^9.0.2" 3757 | --------------------------------------------------------------------------------