├── .gitignore ├── README.md ├── example ├── index.html └── index.tsx ├── package.json ├── src └── index.tsx ├── tsconfig.json ├── tslint.json ├── webpack.config.js └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | lib 3 | dist -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | react-yt 2 | ============================= 3 | 4 | A full-fledged wrapper for the Youtube Player API created with the render props pattern. 5 | 6 | ## Example 7 | 8 | https://btmpl.github.io/react-yt/ 9 | 10 | ## Features 11 | - playback of single video or supported lists (playlist, user uploads, search results), 12 | - full access to the Youtube Player API inside the render prop, 13 | - access to the player instance as an escape hatch, 14 | - ability to control selected features as props to the component 15 | 16 | ## Installation 17 | 18 | ``` 19 | $ yarn add react-yt 20 | ``` 21 | 22 | Minimal usage example 23 | ---- 24 | ```js 25 | /** 26 | * We are using `module` field to provide an ES module format 27 | * and `main` field for an CommonJS fallback 28 | */ 29 | import YouTube from "react-yt"; 30 | ``` 31 | ```js 32 | 36 | ``` 37 | 38 | ## Accepted props 39 | 40 | The player accepts all the official [player parameters](https://developers.google.com/youtube/player_parameters?hl=pl#listtype) as props. 41 | 42 | Prop name|TypeScript type|Accepted values 43 | ---|---|--- 44 | `autoplay`|`YT.AutoPlay`|`0 \| 1` 45 | `ccLoadPolicy`|`YT.ClosedCaptionsLoadPolicy`|`0 \| 1` 46 | `color` | `YT.ProgressBarColor`|`"white" \| "red"` 47 | `controls` | `YT.Controls`|`0 \| 1` 48 | `disablekb` | `YT.KeyboardControls`|`0 \| 1` 49 | `enableJsApi` | `YT.JsApi`|`0 \| 1` 50 | `end` | `number`|`number` 51 | `fs` | `YT.FullscreenButton`|`0 \| 1` 52 | `hl` | `string`|ISO 639-1 languag code 53 | `ivLoadPolicy` | `YT.IvLoadPolicy`|`0 \| 1` 54 | `list` | `string`|`string` 55 | `listType` | `ListType`|`"playlist" \| "user_uploads" \| "search"` 56 | `loop` | `YT.Loop`|`0 \| 1` 57 | `modestbranding` | `YT.ModestBranding`|`0 \| 1` 58 | `origin` | `string`|`string` 59 | `playlist` | `string`|`string` 60 | `playsinline` | `YT.PlaysInline`|`0 \| 1` 61 | `rel` | `YT.RelatedVideos`|`0 \| 1` 62 | `showinfo` | `YT.ShowInfo`|`0 \| 1` 63 | `start` | `number`|`number` 64 | `videoId` | `string`|`string` 65 | 66 | Additionally it's possible to subscribe to the Player events by providing an `events` prop with following keys: 67 | 68 | Key name|Event signature 69 | ---|--- 70 | `onReady`|`YT.PlayerEventHandler` 71 | `onStateChange`|`YT.PlayerEventHandler` 72 | `onPlaybackQualityChange`|`YT.PlayerEventHandler` 73 | `onPlaybackRateChange`|`YT.PlayerEventHandler` 74 | `onError`|`YT.PlayerEventHandler` 75 | `onApiChange`|`YT.PlayerEventHandler` 76 | 77 | ## Using the render prop 78 | 79 | The render prop (`render`) will be called with an object exposing: 80 | 81 | Field name|Content 82 | ---|--- 83 | iframe|The `iframe` React Element containing the player 84 | player|The `player` instance, allowing access to all internal mechanics 85 | 86 | And all the internal Youtube player functions: 87 | 88 | Function name|Parameters|Return type 89 | ---|---|--- 90 | `loadVideoById`|`videoId: string[, startSeconds: number, suggestedQuality: string]`|`void` 91 | `cueVideoByUrl`|`videoId: string[, startSeconds: number, suggestedQuality: string]`|`void` 92 | `loadVideoByUrl`|`videoUrl: string[, startSeconds: number, suggestedQuality: string]`|`void` 93 | `loadPlaylist`|`playlist: string\|Array[, index: number, startSeconds: number, suggestedQuality: string]`|`void` 94 | `cuePlaylist`|`playlist: string\|Array[, index: number, startSeconds: number, suggestedQuality: string]`|`void` 95 | `pauseVideo`|`void`|`void` 96 | `playVideo`|`void`|`void` 97 | `mute`|`void`|`void` 98 | `unMute`|`void`|`void` 99 | `isMuted`|`void`|`boolean` 100 | `setVolume`|`number`|`void` 101 | `getVolume`|`void`|`number` 102 | `stopVideo`|`void`|`void` 103 | `clearVideo`|`void`|`void` 104 | `nextVideo`|`void`|`void` 105 | `previousVideo`|`void`|`void` 106 | `playVideoAt`|`number`|`void` 107 | `seekTo`|`number`|`void` 108 | `getPlaybackRate`|`void`|`number` 109 | `setPlaybackRate`|`number`|`void` 110 | `getAvailablePlaybackRates`|`void`|`Array` 111 | `setLoop`|`boolean`|`void` 112 | `setShuffle`|`boolean`|`void` 113 | `getPlayerState`|`void`|`number` 114 | `getCurrentTime`|`void`|`number` 115 | `getPlaybackQuality`|`void`|`string` 116 | `setPlaybackQuality`|`string`|`void` 117 | `getVideoLoadedFraction`|`void`|`float` 118 | `getDuration`|`void`|`number` 119 | `getVideoUrl`|`void`|`string` 120 | `getVideoEmbedCode`|`void`|`string` 121 | `getPlaylist`|`void`|`Array` 122 | `getPlaylistIndex`|`void`|`number` 123 | `addEventListener`|`string`, `Function`|`void` 124 | `removeEventListener`|`string`, `Function`|`void` 125 | 126 | ## Rendering with render props 127 | 128 | ```js 129 | ( 137 |
138 | {iframe} 139 | {getPlayerState() !== 1 && } 140 | {getPlayerState() === 1 && } 141 |
142 | )} 143 | /> 144 | ``` 145 | 146 | ## Controlling the player from outside 147 | 148 | While the recommended way to control the playback is from inside the render prop function, it is also possible to control the component from outside by changing the props. Developers are able to provide the following props in order to control the component without having to remount it. 149 | 150 | Prop|Result 151 | ---|--- 152 | videoId|When given a non-falsy value, the selected video will play 153 | list + listType |When given a non-falsy value, the selected list will play 154 | autoplay|Controls the playback state, `false` to pause the playback, or `true` to start / resume 155 | 156 | The logic uses `componentWillReceiveProps` to control the playback, so passing the props in a given order will override older props. Passing new values to both props at the same time will give priority to the `videoId` prop. 157 | 158 | 159 | # License 160 | 161 | MIT -------------------------------------------------------------------------------- /example/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | react-yt 9 | 10 | 11 | 14 |
15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /example/index.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import { render } from 'react-dom'; 3 | import Youtube from '../src/index'; 4 | 5 | import styled from 'styled-components'; 6 | 7 | const Toolbar = styled.div` 8 | position: absolute; 9 | bottom: -50px; 10 | left: 0; 11 | right: 0; 12 | height: 40px; 13 | padding: 5px; 14 | background: rgba(0, 0, 0, 0.6); 15 | transition: 0.25s all; 16 | `; 17 | 18 | const YoutubeContainer = styled.div` 19 | position: relative; 20 | 21 | height: 320px; 22 | width: 640px; 23 | 24 | overflow: hidden; 25 | 26 | iframe { 27 | height: 100%; 28 | width: 100%; 29 | } 30 | 31 | :hover { 32 | ${Toolbar} { 33 | bottom: 0; 34 | } 35 | } 36 | `; 37 | 38 | const Button = styled.button` 39 | cursor: pointer; 40 | color: white; 41 | border: 0; 42 | padding: 0; 43 | width: 40px; 44 | height: 40px; 45 | text-align: center; 46 | line-height: 40px; 47 | font-family: Verdana; 48 | font-size: 12px; 49 | background: none; 50 | transition: 0.25s all; 51 | vertical-align: middle; 52 | 53 | &:hover { 54 | color: red; 55 | } 56 | `; 57 | 58 | interface VolumeButtonProps { 59 | muted?: boolean; 60 | } 61 | 62 | const VolumeButton = styled(Button)` 63 | transform: scaleX(-1); 64 | font-size: 20px; 65 | position: relative; 66 | 67 | ${(props: VolumeButtonProps) => { 68 | if (props.muted) { 69 | return ` 70 | ::after { 71 | content: ' '; 72 | display: block; 73 | position: absolute; 74 | top: 20px; 75 | left: 8px; 76 | right: 8px; 77 | border-top: 2px solid white; 78 | transform: rotate(45deg); 79 | transition: 0.25s all; 80 | } 81 | 82 | :hover::after { 83 | border-color: red; 84 | } 85 | `; 86 | } 87 | return ''; 88 | }} 89 | `; 90 | 91 | const Timer = styled.span` 92 | display: inline-block; 93 | height: 40px; 94 | line-height: 40px; 95 | padding: 0 5px; 96 | color: white; 97 | vertical-align: middle; 98 | position: relative; 99 | top: 2px; 100 | font-size: 13px; 101 | `; 102 | 103 | const App = () => { 104 | return ( 105 | { 122 | const isPlaying = getPlayerState() === 1; 123 | const formatTime = (time: number): string => { 124 | if (time === 0) { 125 | return '0:00'; 126 | } 127 | const minutes = Math.floor(time / 60); 128 | const seconds = time - minutes * 60; 129 | return `${minutes}:${seconds < 10 ? '0' + seconds : seconds}`; 130 | }; 131 | 132 | return ( 133 | 134 | {iframe} 135 | 136 | {!isPlaying && } 137 | {isPlaying && } 138 | 139 | {isMuted() && unMute()}>🕪} 140 | {!isMuted() && mute()}>🕪} 141 | 142 | {`${formatTime(getCurrentTime())} / ${formatTime(getDuration())}`} 143 | 144 | 145 | ); 146 | }} 147 | /> 148 | ); 149 | }; 150 | 151 | render(, document.getElementById('root')); -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "react-yt", 3 | "version": "0.1.2", 4 | "module": "lib/esm/index.js", 5 | "main": "lib/cjs/index.js", 6 | "types": "lib/esm/react-yt.d.ts", 7 | "description": "A YouTube player component for React following the render props pattern", 8 | "files": [ 9 | "lib", 10 | "src" 11 | ], 12 | "keywords": [ 13 | "react", 14 | "youtube", 15 | "component", 16 | "typescript", 17 | "filter", 18 | "react" 19 | ], 20 | "repository": { 21 | "type": "git", 22 | "url": "https://github.com/BTMPL/react-yt.git" 23 | }, 24 | "license": "MIT", 25 | "devDependencies": { 26 | "@types/node": "^8.5.2", 27 | "@types/react": "^16.0.31", 28 | "@types/react-dom": "^16.0.3", 29 | "dts-generator": "^2.1.0", 30 | "fork-ts-checker-webpack-plugin": "^0.2.10", 31 | "happypack": "^4.0.0", 32 | "prop-types": "^15.6.0", 33 | "react": "^16.2.0", 34 | "react-dom": "^16.2.0", 35 | "react-hot-loader": "^3.1.3", 36 | "styled-components": "^2.4.0", 37 | "ts-loader": "^3.2.0", 38 | "tslint": "^5.8.0", 39 | "tslint-react": "^3.2.0", 40 | "typescript": "^2.6.2", 41 | "webpack": "^3.10.0", 42 | "webpack-dev-server": "^2.9.7" 43 | }, 44 | "dependencies": { 45 | "@types/youtube": "^0.0.31" 46 | }, 47 | "scripts": { 48 | "start": "webpack-dev-server --host 0.0.0.0 --env.index --env.cache --env.stats --env.debug --env.hmr --env.sourceMaps", 49 | "build:esm": "tsc ./src/index.tsx --outDir lib/esm --lib es6,dom --jsx react -m es2015", 50 | "build:cjs": "tsc ./src/index.tsx --outDir lib/cjs --lib es6,dom --jsx react -m commonjs", 51 | "build:dts": "dts-generator --name react-yt --project . --out lib/esm/react-yt.d.ts --main react-yt/index", 52 | "build:gh-pages": "webpack --env.gh", 53 | "prepublish": "yarn build:esm && yarn build:cjs && yarn build:dts" 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /src/index.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | 3 | /** 4 | * The YT.ListType provided by the community looks to have a typo in the "playlist" value. 5 | * Accodring to the docs (https://developers.google.com/youtube/player_parameters?hl=pl#listtype) 6 | * the correct value is "playlist" not "player" * 7 | */ 8 | export enum ListType { 9 | search = 'search', 10 | userUploads = 'user_uploads', 11 | playlist = 'playlist' 12 | } 13 | 14 | export type RenderFunction = { 15 | (params: { 16 | iframe: JSX.Element, 17 | player: YT.Player, 18 | 19 | loadVideoById(videoId: string, startSeconds?: number, suggestedQuality?: YT.SuggestedVideoQuality): void, 20 | cueVideoById(videoId: string, startSeconds?: number, suggestedQuality?: YT.SuggestedVideoQuality): void, 21 | loadVideoByUrl(mediaContentUrl: string, startSeconds?: number, suggestedQuality?: YT.SuggestedVideoQuality): void, 22 | loadPlaylist( 23 | playlist: string | string[], 24 | index?: number, 25 | startSeconds?: number, 26 | suggestedQuality?: YT.SuggestedVideoQuality 27 | ): void, 28 | cuePlaylist( 29 | playlist: string | string[], 30 | index?: number, 31 | startSeconds?: number, 32 | suggestedQuality?: YT.SuggestedVideoQuality 33 | ): void, 34 | pauseVideo(): void, 35 | playVideo(): void, 36 | mute(): void, 37 | unMute(): void, 38 | isMuted(): boolean, 39 | setVolume(volume: number): void, 40 | getVolume(): number, 41 | 42 | stopVideo(): void, 43 | clearVideo(): void, 44 | 45 | nextVideo(): void, 46 | previousVideo(): void, 47 | playVideoAt(index: number): void, 48 | 49 | seekTo(seconds: number, allowSeekAhead: boolean): void, 50 | 51 | getPlaybackRate(): number, 52 | setPlaybackRate(suggestedRate: number): void; 53 | 54 | getAvailablePlaybackRates(): number[], 55 | 56 | setLoop(loop: boolean): void, 57 | setShuffle(shuffle: boolean): void, 58 | 59 | getPlayerState(): YT.PlayerState, 60 | getCurrentTime(): number, 61 | 62 | getPlaybackQuality(): YT.SuggestedVideoQuality, 63 | setPlaybackQuality(suggestedQuality: YT.SuggestedVideoQuality): void, 64 | 65 | getVideoLoadedFraction(): number, 66 | getDuration(): number, 67 | getVideoUrl(): string, 68 | getVideoEmbedCode(): string, 69 | 70 | getPlaylist(): string[], 71 | getPlaylistIndex(): number, 72 | 73 | addEventListener( 74 | eventName: keyof YT.Events, 75 | listener: (event: TEvent) => void 76 | ): void, 77 | removeEventListener( 78 | eventName: keyof YT.Events, 79 | listener: (event: TEvent) => void 80 | ): void, 81 | }): React.ReactNode; 82 | }; 83 | 84 | export type GetPlaylistFunction = { 85 | (): Array; 86 | }; 87 | 88 | export type YoutubeProps = { 89 | autoplay?: YT.AutoPlay; 90 | ccLoadPolicy?: YT.ClosedCaptionsLoadPolicy; 91 | color?: YT.ProgressBarColor; 92 | controls?: YT.Controls; 93 | disablekb?: YT.KeyboardControls; 94 | enableJsApi?: YT.JsApi; 95 | end?: number; 96 | fs?: YT.FullscreenButton; 97 | hl?: string; 98 | ivLoadPolicy?: YT.IvLoadPolicy; 99 | list?: string; 100 | listType?: ListType; 101 | loop?: YT.Loop; 102 | modestbranding?: YT.ModestBranding; 103 | origin?: string; 104 | playlist?: string; 105 | playsinline?: YT.PlaysInline; 106 | rel?: YT.RelatedVideos; 107 | showinfo?: YT.ShowInfo; 108 | start?: number; 109 | videoId?: string; 110 | 111 | render?: RenderFunction; 112 | 113 | events?: { 114 | onReady?: YT.PlayerEventHandler; 115 | onStateChange?: YT.PlayerEventHandler; 116 | onPlaybackQualityChange?: YT.PlayerEventHandler; 117 | onPlaybackRateChange?: YT.PlayerEventHandler; 118 | onError?: YT.PlayerEventHandler; 119 | onApiChange?: YT.PlayerEventHandler; 120 | }; 121 | }; 122 | 123 | export type YoutubeState = { 124 | playerName: string; 125 | 126 | isMuted: boolean; 127 | volume: number; 128 | availablePlaybackRates: Array; 129 | playbackRate: number; 130 | playbackQuality: YT.SuggestedVideoQuality; 131 | currentTime: number; 132 | duration: number; 133 | videoUrl: string; 134 | videoEmbedCode: string; 135 | playerState: number; 136 | playlist: Array; 137 | playlistIndex: number; 138 | videoLoadedFraction: number; 139 | }; 140 | 141 | export default class YoutubePlayer extends React.Component { 142 | 143 | static loadPromise: Promise; 144 | 145 | state: YoutubeState = { 146 | playerName: `youtube_player_${Math.random()}`, 147 | 148 | isMuted: false, 149 | volume: 100, 150 | availablePlaybackRates: [], 151 | playbackRate: 1, 152 | playbackQuality: 'large', 153 | currentTime: 0, 154 | duration: 0, 155 | videoUrl: '', 156 | videoEmbedCode: '', 157 | playerState: -1, 158 | playlist: [], 159 | playlistIndex: 0, 160 | videoLoadedFraction: 0, 161 | }; 162 | 163 | player: YT.Player; 164 | syncInterval: number; 165 | 166 | callbackObject = { 167 | iframe:
, 168 | 169 | loadVideoById: (videoId: string, start: number, quality: YT.SuggestedVideoQuality) => { 170 | this.proxyToPlayer('loadVideoById', [videoId, start, quality]); 171 | }, 172 | cueVideoById: (videoId: string, start: number, quality: YT.SuggestedVideoQuality) => { 173 | this.proxyToPlayer('cueVideoById', [videoId, start, quality]); 174 | }, 175 | loadVideoByUrl: (videoUrl: string, start: number, quality: YT.SuggestedVideoQuality) => { 176 | this.proxyToPlayer('videoUrl', [videoUrl, start, quality]); 177 | }, 178 | cueVideoByUrl: (videoId: string, start: number, quality: YT.SuggestedVideoQuality) => { 179 | this.proxyToPlayer('loadVideoById', [videoId, start, quality]); 180 | }, 181 | 182 | loadPlaylist: ( 183 | playlistIdOrItems: string | Array, 184 | index: number, 185 | start: number, 186 | quality: YT.SuggestedVideoQuality 187 | ) => { 188 | if (typeof playlistIdOrItems === 'string') { 189 | this.proxyToPlayer('loadPlaylist', [{ 190 | list: playlistIdOrItems, 191 | listType: ListType.playlist, 192 | index: index.toString(), 193 | startSeconds: start || 0, 194 | suggestedQuality: quality 195 | }]); 196 | } else { 197 | this.proxyToPlayer('loadPlaylist', [playlistIdOrItems, index, start, quality]); 198 | } 199 | }, 200 | cuePlaylist: ( 201 | playlistId: string | Array, 202 | index: number, 203 | start: number, 204 | quality: YT.SuggestedVideoQuality 205 | ) => { 206 | this.proxyToPlayer('cuePlaylist', [playlistId, index, start, quality]); 207 | }, 208 | 209 | pauseVideo: () => this.proxyToPlayer('pauseVideo'), 210 | playVideo: () => this.proxyToPlayer('playVideo'), 211 | stopVideo: () => this.proxyToPlayer('stopVideo'), 212 | clearVideo: () => this.proxyToPlayer('clearVideo'), 213 | 214 | nextVideo: () => this.proxyToPlayer('nextVideo'), 215 | previousVideo: () => this.proxyToPlayer('previousVideo'), 216 | playVideoAt: (index: number) => this.proxyToPlayer('playVideoAt', [index]), 217 | 218 | seekTo: (seekTo: number, allowSeek: boolean) => this.proxyToPlayer('seekTo', [seekTo, allowSeek]), 219 | 220 | mute: () => { 221 | this.proxyToPlayer('mute'); 222 | this.setState({ isMuted: true }); 223 | }, 224 | unMute: () => { 225 | this.proxyToPlayer('unMute'); 226 | this.setState({ isMuted: false }); 227 | }, 228 | isMuted: () => this.state.isMuted, 229 | setVolume: (volume: number) => { 230 | this.proxyToPlayer('setVolume', [volume]); 231 | this.setState({ 232 | volume: 50 233 | }); 234 | }, 235 | getVolume: () => this.state.volume, 236 | 237 | getPlaybackRate: () => this.state.playbackRate, 238 | setPlaybackRate: (rate: number) => { 239 | if (this.player.getAvailablePlaybackRates().indexOf(rate) !== -1) { 240 | this.proxyToPlayer('setPlaybackRate', [rate]); 241 | this.setState({ playbackRate: rate }); 242 | } 243 | }, 244 | getAvailablePlaybackRates: () => this.state.availablePlaybackRates, 245 | 246 | setLoop: (loop: boolean) => this.proxyToPlayer('setLoop', [loop]), 247 | setShuffle: (shuffle: boolean) => this.proxyToPlayer('setShuffle', [shuffle]), 248 | 249 | getVideoLoadedFraction: () => this.state.videoLoadedFraction, 250 | 251 | getPlayerState: () => this.state.playerState, 252 | getCurrentTime: () => this.state.currentTime, 253 | 254 | getPlaybackQuality: () => this.state.playbackQuality, 255 | setPlaybackQuality: (quality: YT.SuggestedVideoQuality) => { 256 | this.proxyToPlayer('setPlaybackQuality', [quality]); 257 | this.setState({ playbackQuality: quality }); 258 | }, 259 | 260 | getDuration: () => this.state.duration, 261 | getVideoUrl: () => this.state.videoUrl, 262 | getVideoEmbedCode: () => this.state.videoEmbedCode, 263 | 264 | getPlaylist: () => { 265 | if (this.props.listType === ListType.playlist && Array.isArray(this.props.listType)) { 266 | return this.props.listType; 267 | } else if (Array.isArray(this.state.playlist) && this.state.playlist.length !== 0) { 268 | return this.state.playlist; 269 | } 270 | return []; 271 | }, 272 | getPlaylistIndex: () => this.state.playlistIndex, 273 | 274 | addEventListener: (event: string, listener: Function) => this.proxyToPlayer('addEventListener', [listener]), 275 | removeEventListener: (event: string, listener: Function) => this.proxyToPlayer('removeEventListener', [listener]), 276 | 277 | player: this.player 278 | }; 279 | 280 | getPlayerVars(): {[s: string]: number | string | Array} { 281 | const playerVars: {[s: string]: number | string | Array} = {}; 282 | 283 | if (this.props.autoplay !== undefined) { 284 | playerVars.autoplay = (this.props.autoplay ? '1' : '0'); 285 | } 286 | 287 | if (this.props.ccLoadPolicy !== undefined) { 288 | playerVars.cc_load_policy = (this.props.autoplay ? '1' : '0'); 289 | } 290 | 291 | if (this.props.color !== undefined) { 292 | playerVars.color = this.props.color; 293 | } 294 | 295 | if (this.props.controls !== undefined) { 296 | playerVars.controls = this.props.controls; 297 | } 298 | 299 | if (this.props.disablekb !== undefined) { 300 | playerVars.disablekb = (this.props.disablekb ? '1' : '0'); 301 | } 302 | 303 | if (this.props.enableJsApi !== undefined) { 304 | playerVars.enablejsapi = (this.props.enableJsApi ? '1' : '0'); 305 | } 306 | 307 | if (this.props.end !== undefined) { 308 | playerVars.end = this.props.end; 309 | } 310 | 311 | if (this.props.fs !== undefined) { 312 | playerVars.fs = this.props.fs ? '1' : '0'; 313 | } 314 | 315 | if (this.props.hl !== undefined) { 316 | playerVars.hl = this.props.hl; 317 | } 318 | 319 | if (this.props.ivLoadPolicy !== undefined) { 320 | playerVars.iv_load_policy = this.props.ivLoadPolicy; 321 | } 322 | 323 | if (this.props.list !== undefined) { 324 | playerVars.list = this.props.list; 325 | } 326 | 327 | if (this.props.listType !== undefined) { 328 | playerVars.listType = this.props.listType; 329 | } 330 | 331 | if (this.props.loop !== undefined) { 332 | playerVars.loop = (this.props.loop ? '1' : '0'); 333 | } 334 | 335 | if (this.props.modestbranding !== undefined) { 336 | playerVars.modestbranding = (this.props.modestbranding ? '1' : '0'); 337 | } 338 | 339 | if (this.props.origin !== undefined) { 340 | playerVars.origin = this.props.origin; 341 | } 342 | 343 | if (this.props.playlist !== undefined) { 344 | playerVars.playlist = (this.props.playlist ? '1' : '0'); 345 | } 346 | 347 | if (this.props.playsinline !== undefined) { 348 | playerVars.playsinline = (this.props.playsinline ? '1' : '0'); 349 | } 350 | 351 | if (this.props.rel !== undefined) { 352 | playerVars.rel = (this.props.rel ? '1' : '0'); 353 | } 354 | 355 | if (this.props.showinfo !== undefined) { 356 | playerVars.showinfo = (this.props.showinfo ? '1' : '0'); 357 | } 358 | 359 | if (this.props.start !== undefined) { 360 | playerVars.start = this.props.start; 361 | } 362 | 363 | return playerVars; 364 | } 365 | 366 | proxyToPlayer = ( 367 | functionName: string, 368 | data: Array | {[s: string]: string | number}> = [] 369 | ) => { 370 | if (this.player && this.player[functionName] && typeof this.player[functionName] === 'function') { 371 | return this.player[functionName].call(this.player, ...data); 372 | } else { 373 | console.warn('Tried to proxy an function call to a player that is not yet ready.'); 374 | return undefined; 375 | } 376 | } 377 | 378 | componentWillReceiveProps(nextProps: YoutubeProps) { 379 | /** 380 | * There are a few props that we do want to support in a particular way: 381 | * 382 | * - videoId - if changed, play the single video specified 383 | * - list + listType - if changed, play the selected playlist / search result / user upload 384 | * - autoplay - if changed, pause or resume the video playback 385 | * - events - this is handled internally and does not require us updating anything 386 | * 387 | * All other props would require changing the IFRAME and force a re-render of the component 388 | * which we want to disencourage. 389 | */ 390 | if (nextProps.videoId && nextProps.videoId !== this.props.videoId) { 391 | this.player.cueVideoById(nextProps.videoId, nextProps.start); 392 | if (nextProps.autoplay) { 393 | this.player.playVideo(); 394 | } 395 | } 396 | if (nextProps.list && nextProps.list !== this.props.list) { 397 | this.proxyToPlayer('cuePlaylist', [{ 398 | list: nextProps.list, 399 | listType: ListType.playlist, 400 | index: '0', 401 | startSeconds: nextProps.start || 0 402 | }]); 403 | if (nextProps.autoplay) { 404 | this.player.playVideo(); 405 | } 406 | } 407 | if (nextProps.autoplay !== this.props.autoplay) { 408 | if (nextProps.autoplay) { 409 | this.player.playVideo(); 410 | } else { 411 | this.player.pauseVideo(); 412 | } 413 | } 414 | } 415 | 416 | render() { 417 | if (!this.props.render) { 418 | return
; 419 | } else { 420 | return this.props.render(this.callbackObject); 421 | } 422 | } 423 | 424 | callEventIfBound = (eventName: string, eventData: YT.PlayerEvent) => { 425 | if (this.props.events && this.props.events[eventName]) { 426 | this.props.events[eventName](eventData); 427 | } 428 | } 429 | 430 | /** 431 | * Since we are using render props we would not have the data for selected 432 | * state of the player updated in realtime. Instead we need to persist this sort 433 | * of data in component state. 434 | * 435 | * The data is then synced: 436 | * 437 | * - in an interval assuming the video is playing 438 | * - in response to specific user interaction 439 | * - in response to player event 440 | */ 441 | sync = () => { 442 | this.setState({ 443 | isMuted: this.player.isMuted(), 444 | volume: this.player.getVolume(), 445 | availablePlaybackRates: this.player.getAvailablePlaybackRates(), 446 | playerState: this.player.getPlayerState(), 447 | playbackRate: this.player.getPlaybackRate(), 448 | playbackQuality: this.player.getPlaybackQuality(), 449 | currentTime: Math.round(this.player.getCurrentTime()), 450 | duration: Math.round(this.player.getDuration()), 451 | videoUrl: this.player.getVideoUrl(), 452 | videoEmbedCode: this.player.getVideoEmbedCode(), 453 | playlist: this.player.getPlaylist(), 454 | playlistIndex: this.player.getPlaylistIndex(), 455 | videoLoadedFraction: this.player.getVideoLoadedFraction(), 456 | }); 457 | } 458 | 459 | startSync = () => { 460 | if (!this.syncInterval) { 461 | this.syncInterval = window.setInterval(this.sync, 1000); 462 | } 463 | } 464 | 465 | stopSync = () => { 466 | window.clearInterval(this.syncInterval); 467 | this.syncInterval = 0; 468 | } 469 | 470 | handleReady = (data: YT.PlayerEvent) => { 471 | this.sync(); 472 | this.callEventIfBound('onReady', data); 473 | this.forceUpdate(); 474 | } 475 | 476 | handleStateChange = (data: YT.OnStateChangeEvent) => { 477 | if (data.data === 1) { 478 | this.startSync(); 479 | } else { 480 | this.stopSync(); 481 | } 482 | this.sync(); 483 | 484 | this.callEventIfBound('onStateChange', data); 485 | this.forceUpdate(); 486 | } 487 | 488 | handlePlaybackQualityChange = (data: YT.OnPlaybackQualityChangeEvent) => { 489 | this.callEventIfBound('onPlaybackQualityChange', data); 490 | this.forceUpdate(); 491 | } 492 | 493 | handlePlaybackRateChange = (data: YT.OnPlaybackRateChangeEvent) => { 494 | this.callEventIfBound('onPlaybackRateChange', data); 495 | this.forceUpdate(); 496 | } 497 | 498 | handleError = (data: YT.OnErrorEvent) => { 499 | this.callEventIfBound('onError', data); 500 | this.forceUpdate(); 501 | } 502 | 503 | handleApiChange = (data: YT.PlayerEvent) => { 504 | this.callEventIfBound('onApiChange', data); 505 | this.forceUpdate(); 506 | } 507 | 508 | initPlayer = () => { 509 | const playerConfig = { 510 | videoId: '', 511 | playerVars: this.getPlayerVars(), 512 | events: { 513 | onReady: this.handleReady, 514 | onStateChange: this.handleStateChange, 515 | onPlaybackQualityChange: this.handlePlaybackQualityChange, 516 | onPlaybackRateChange: this.handlePlaybackRateChange, 517 | onError: this.handleError, 518 | onApiChange: this.handleApiChange, 519 | } 520 | }; 521 | if ( 522 | this.props.list && ( 523 | this.props.listType === ListType.playlist || 524 | this.props.listType === ListType.search || 525 | this.props.listType === ListType.userUploads 526 | ) 527 | ) { 528 | delete playerConfig.videoId; 529 | } else { 530 | if (typeof this.props.videoId !== 'string') { 531 | throw new Error('Please make sure to either specify the videoId or list and listType props'); 532 | } 533 | playerConfig.videoId = this.props.videoId; 534 | } 535 | this.player = new YT.Player(this.state.playerName, playerConfig); 536 | 537 | this.forceUpdate(); 538 | } 539 | 540 | componentDidMount() { 541 | if (document.querySelector('[data-youtube]')) { 542 | YoutubePlayer.loadPromise.then(this.initPlayer); 543 | return; 544 | } 545 | 546 | const tag = document.createElement('script'); 547 | tag.src = 'https://www.youtube.com/iframe_api'; 548 | tag.dataset.youtube = 'true'; 549 | const firstScriptTag: HTMLHeadElement = document.getElementsByTagName('head')[0]; 550 | firstScriptTag.appendChild(tag); 551 | 552 | YoutubePlayer.loadPromise = new Promise((res) => { 553 | (window as Window & {[s: string]: Function}).onYouTubeIframeAPIReady = () => { 554 | this.initPlayer(); 555 | res(); 556 | }; 557 | }); 558 | } 559 | 560 | componentWillUnmount() { 561 | if (this.player) { 562 | this.player.destroy(); 563 | } 564 | this.stopSync(); 565 | } 566 | } -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "outDir": "build/dist", 4 | "module": "esnext", 5 | "target": "es5", 6 | "lib": ["es6", "dom"], 7 | "sourceMap": true, 8 | "allowJs": true, 9 | "jsx": "react", 10 | "moduleResolution": "node", 11 | "rootDir": "src", 12 | "forceConsistentCasingInFileNames": true, 13 | "noImplicitReturns": true, 14 | "noImplicitThis": true, 15 | "noImplicitAny": true, 16 | "strictNullChecks": true, 17 | "suppressImplicitAnyIndexErrors": true, 18 | "noUnusedLocals": true 19 | }, 20 | "exclude": [ 21 | "node_modules", 22 | "build", 23 | "scripts", 24 | "acceptance-tests", 25 | "webpack", 26 | "jest", 27 | "src/setupTests.ts" 28 | ] 29 | } -------------------------------------------------------------------------------- /tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["tslint-react"], 3 | "rules": { 4 | "align": [ 5 | true, 6 | "parameters", 7 | "arguments", 8 | "statements" 9 | ], 10 | "ban": false, 11 | "class-name": true, 12 | "comment-format": [ 13 | true, 14 | "check-space" 15 | ], 16 | "curly": true, 17 | "eofline": false, 18 | "forin": true, 19 | "indent": [ true, "spaces" ], 20 | "interface-name": [true, "never-prefix"], 21 | "jsdoc-format": true, 22 | "jsx-no-lambda": false, 23 | "jsx-no-multiline-js": false, 24 | "label-position": true, 25 | "max-line-length": [ true, 120 ], 26 | "member-ordering": [ 27 | true, 28 | "public-before-private", 29 | "static-before-instance", 30 | "variables-before-functions" 31 | ], 32 | "no-any": true, 33 | "no-arg": true, 34 | "no-bitwise": true, 35 | "no-console": [ 36 | true, 37 | "log", 38 | "error", 39 | "debug", 40 | "info", 41 | "time", 42 | "timeEnd", 43 | "trace" 44 | ], 45 | "no-consecutive-blank-lines": true, 46 | "no-construct": true, 47 | "no-debugger": true, 48 | "no-duplicate-variable": true, 49 | "no-empty": true, 50 | "no-eval": true, 51 | "no-shadowed-variable": true, 52 | "no-string-literal": true, 53 | "no-switch-case-fall-through": true, 54 | "no-trailing-whitespace": false, 55 | "no-unused-expression": true, 56 | "no-use-before-declare": true, 57 | "one-line": [ 58 | true, 59 | "check-catch", 60 | "check-else", 61 | "check-open-brace", 62 | "check-whitespace" 63 | ], 64 | "quotemark": [true, "single", "jsx-double"], 65 | "radix": true, 66 | "semicolon": [true, "always"], 67 | "switch-default": true, 68 | 69 | "trailing-comma": [false], 70 | 71 | "triple-equals": [ true, "allow-null-check" ], 72 | "typedef": [ 73 | true, 74 | "parameter", 75 | "property-declaration" 76 | ], 77 | "typedef-whitespace": [ 78 | true, 79 | { 80 | "call-signature": "nospace", 81 | "index-signature": "nospace", 82 | "parameter": "nospace", 83 | "property-declaration": "nospace", 84 | "variable-declaration": "nospace" 85 | } 86 | ], 87 | "variable-name": [true, "ban-keywords", "check-format", "allow-leading-underscore", "allow-pascal-case"], 88 | "whitespace": [ 89 | true, 90 | "check-branch", 91 | "check-decl", 92 | "check-module", 93 | "check-operator", 94 | "check-separator", 95 | "check-type", 96 | "check-typecast" 97 | ] 98 | } 99 | } -------------------------------------------------------------------------------- /webpack.config.js: -------------------------------------------------------------------------------- 1 | const path = require('path'); 2 | const fs = require('fs'); 3 | const cpus = require('os').cpus; 4 | 5 | const webpack = require('webpack'); 6 | const { 7 | HotModuleReplacementPlugin, 8 | LoaderOptionsPlugin, 9 | NamedModulesPlugin, 10 | NewModule 11 | } = webpack; 12 | 13 | const UglifyJsPlugin = require('uglifyjs-webpack-plugin'); 14 | const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin'); 15 | const HappyPack = require('happypack'); 16 | 17 | 18 | const webpackConfig = (additionalOptions = {}) => { 19 | 20 | const options = Object.assign({}, { 21 | outputFolder: 'example', 22 | environment: 'development', 23 | index: false, 24 | sourceMaps: false, 25 | debug: false, 26 | cache: false, 27 | hmr: false, 28 | compress: false, 29 | minify: false, 30 | }, additionalOptions); 31 | 32 | if(options.gh) options.outputFolder = '../gh-pages'; 33 | 34 | const sourceFolder = path.join(__dirname, 'example'); 35 | const babelOptions = { 36 | cacheDirectory: options.cache ? '.babel-cache' : undefined, 37 | presets: ['flow', 'react', 'babel-preset-env'] 38 | }; 39 | 40 | // (numberOfCpus - 1x current cpu) / 2x plugins needing threads 41 | const threadDistributionCount = Math.max(1, Math.floor((cpus().length - 1) / 2)); 42 | 43 | const config = { 44 | // What code to build and where to put it 45 | entry: compact([ 46 | options.hmr && 'react-hot-loader/patch', 47 | path.join(sourceFolder, 'index.tsx') 48 | ]), 49 | output: { 50 | path: path.join(__dirname, options.outputFolder), 51 | filename: 'bundle.js' 52 | }, 53 | 54 | // Most webpack configs are controlled by our options 55 | stats: options.stats, 56 | cache: options.cache, 57 | devtool: options.sourceMaps ? 'source-map' : undefined, 58 | 59 | resolve: { 60 | extensions: ['.ts', '.tsx', '.js'], 61 | }, 62 | 63 | // Teach webpack how to load various modules 64 | module: { 65 | rules: [ 66 | // Code (More config on HappyPack plugins below) 67 | {test: /\.tsx?$/, loader: 'happypack/loader?id=ts'}, 68 | ] 69 | }, 70 | plugins: compact([ 71 | new webpack.DefinePlugin({ 72 | 'process.env': { 73 | NODE_ENV: JSON.stringify(options.environment) 74 | } 75 | }), 76 | 77 | new ForkTsCheckerWebpackPlugin({ 78 | checkSyntacticErrors: true, 79 | workers: threadDistributionCount, 80 | watch: [sourceFolder] 81 | }), 82 | new HappyPack({ 83 | id: 'ts', 84 | threads: threadDistributionCount, 85 | loaders: compact([ 86 | options.hmr && 'react-hot-loader/webpack', 87 | {path: 'ts-loader', query: { 88 | happyPackMode: true, 89 | transpileOnly: true, // Disable type checker (ForksTsChecker is doing it in a separate thread) 90 | compilerOptions: { 91 | sourceMap: options.sourceMaps, 92 | module: 'esnext' 93 | } 94 | }} 95 | ]) 96 | }), 97 | options.gh && (() => { 98 | try { 99 | fs.accessSync(path.join(__dirname, options.outputFolder), fs.R_OK | fs.W_OK); 100 | } 101 | catch (e) { 102 | fs.mkdirSync(path.join(__dirname, options.outputFolder)); 103 | } 104 | fs.copyFileSync(path.join(__dirname, 'example', 'index.html'), path.join(__dirname, options.outputFolder, 'index.html')); 105 | })(), 106 | 107 | // Optional features 108 | options.hmr && new NamedModulesPlugin(), 109 | options.hmr && new HotModuleReplacementPlugin(), 110 | options.debug && new LoaderOptionsPlugin({debug: true}), 111 | options.minify && new UglifyJsPlugin() 112 | ]), 113 | devServer: { 114 | hot: options.hmr, 115 | contentBase: path.join(__dirname, "example"), 116 | compress: true, 117 | port: 8080 118 | } 119 | }; 120 | 121 | // Loaders should only be applied to project sources 122 | for (const rule of config.module.rules) { 123 | rule.exclude = /node_modules/; 124 | } 125 | 126 | return config; 127 | } 128 | 129 | const compact = (array) => { 130 | return array.filter((item) => item); 131 | } 132 | 133 | module.exports = { 134 | default: webpackConfig 135 | }; -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@types/node@*", "@types/node@^8.5.2": 6 | version "8.5.2" 7 | resolved "https://registry.yarnpkg.com/@types/node/-/node-8.5.2.tgz#83b8103fa9a2c2e83d78f701a9aa7c9539739aa5" 8 | 9 | "@types/react-dom@^16.0.3": 10 | version "16.0.3" 11 | resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.0.3.tgz#8accad7eabdab4cca3e1a56f5ccb57de2da0ff64" 12 | dependencies: 13 | "@types/node" "*" 14 | "@types/react" "*" 15 | 16 | "@types/react@*", "@types/react@^16.0.31": 17 | version "16.0.31" 18 | resolved "https://registry.yarnpkg.com/@types/react/-/react-16.0.31.tgz#5285da62f3ac62b797f6d0729a1d6181f3180c3e" 19 | 20 | "@types/youtube@^0.0.31": 21 | version "0.0.31" 22 | resolved "https://registry.yarnpkg.com/@types/youtube/-/youtube-0.0.31.tgz#dbea44373862cbcb6c9a8d974c379e51879aa2b2" 23 | 24 | abbrev@1: 25 | version "1.1.1" 26 | resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" 27 | 28 | accepts@~1.3.4: 29 | version "1.3.4" 30 | resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.4.tgz#86246758c7dd6d21a6474ff084a4740ec05eb21f" 31 | dependencies: 32 | mime-types "~2.1.16" 33 | negotiator "0.6.1" 34 | 35 | acorn-dynamic-import@^2.0.0: 36 | version "2.0.2" 37 | resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz#c752bd210bef679501b6c6cb7fc84f8f47158cc4" 38 | dependencies: 39 | acorn "^4.0.3" 40 | 41 | acorn@^4.0.3: 42 | version "4.0.13" 43 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787" 44 | 45 | acorn@^5.0.0: 46 | version "5.2.1" 47 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.2.1.tgz#317ac7821826c22c702d66189ab8359675f135d7" 48 | 49 | ajv-keywords@^2.0.0: 50 | version "2.1.1" 51 | resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.1.tgz#617997fc5f60576894c435f940d819e135b80762" 52 | 53 | ajv@^4.9.1: 54 | version "4.11.8" 55 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" 56 | dependencies: 57 | co "^4.6.0" 58 | json-stable-stringify "^1.0.1" 59 | 60 | ajv@^5.1.5: 61 | version "5.5.2" 62 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" 63 | dependencies: 64 | co "^4.6.0" 65 | fast-deep-equal "^1.0.0" 66 | fast-json-stable-stringify "^2.0.0" 67 | json-schema-traverse "^0.3.0" 68 | 69 | align-text@^0.1.1, align-text@^0.1.3: 70 | version "0.1.4" 71 | resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" 72 | dependencies: 73 | kind-of "^3.0.2" 74 | longest "^1.0.1" 75 | repeat-string "^1.5.2" 76 | 77 | ansi-html@0.0.7: 78 | version "0.0.7" 79 | resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" 80 | 81 | ansi-regex@^2.0.0: 82 | version "2.1.1" 83 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" 84 | 85 | ansi-regex@^3.0.0: 86 | version "3.0.0" 87 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" 88 | 89 | ansi-styles@^2.2.1: 90 | version "2.2.1" 91 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" 92 | 93 | ansi-styles@^3.1.0: 94 | version "3.2.0" 95 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.0.tgz#c159b8d5be0f9e5a6f346dab94f16ce022161b88" 96 | dependencies: 97 | color-convert "^1.9.0" 98 | 99 | anymatch@^1.3.0: 100 | version "1.3.2" 101 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a" 102 | dependencies: 103 | micromatch "^2.1.5" 104 | normalize-path "^2.0.0" 105 | 106 | aproba@^1.0.3: 107 | version "1.2.0" 108 | resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" 109 | 110 | are-we-there-yet@~1.1.2: 111 | version "1.1.4" 112 | resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d" 113 | dependencies: 114 | delegates "^1.0.0" 115 | readable-stream "^2.0.6" 116 | 117 | arr-diff@^2.0.0: 118 | version "2.0.0" 119 | resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" 120 | dependencies: 121 | arr-flatten "^1.0.1" 122 | 123 | arr-flatten@^1.0.1: 124 | version "1.1.0" 125 | resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" 126 | 127 | array-find-index@^1.0.1: 128 | version "1.0.2" 129 | resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" 130 | 131 | array-flatten@1.1.1: 132 | version "1.1.1" 133 | resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" 134 | 135 | array-flatten@^2.1.0: 136 | version "2.1.1" 137 | resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.1.tgz#426bb9da84090c1838d812c8150af20a8331e296" 138 | 139 | array-includes@^3.0.3: 140 | version "3.0.3" 141 | resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz#184b48f62d92d7452bb31b323165c7f8bd02266d" 142 | dependencies: 143 | define-properties "^1.1.2" 144 | es-abstract "^1.7.0" 145 | 146 | array-union@^1.0.1: 147 | version "1.0.2" 148 | resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" 149 | dependencies: 150 | array-uniq "^1.0.1" 151 | 152 | array-uniq@^1.0.1: 153 | version "1.0.3" 154 | resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" 155 | 156 | array-unique@^0.2.1: 157 | version "0.2.1" 158 | resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" 159 | 160 | asap@~2.0.3: 161 | version "2.0.6" 162 | resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" 163 | 164 | asn1.js@^4.0.0: 165 | version "4.9.2" 166 | resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.9.2.tgz#8117ef4f7ed87cd8f89044b5bff97ac243a16c9a" 167 | dependencies: 168 | bn.js "^4.0.0" 169 | inherits "^2.0.1" 170 | minimalistic-assert "^1.0.0" 171 | 172 | asn1@~0.2.3: 173 | version "0.2.3" 174 | resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" 175 | 176 | assert-plus@1.0.0, assert-plus@^1.0.0: 177 | version "1.0.0" 178 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" 179 | 180 | assert-plus@^0.2.0: 181 | version "0.2.0" 182 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" 183 | 184 | assert@^1.1.1: 185 | version "1.4.1" 186 | resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" 187 | dependencies: 188 | util "0.10.3" 189 | 190 | async-each@^1.0.0: 191 | version "1.0.1" 192 | resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" 193 | 194 | async@1.5.0: 195 | version "1.5.0" 196 | resolved "https://registry.yarnpkg.com/async/-/async-1.5.0.tgz#2796642723573859565633fc6274444bee2f8ce3" 197 | 198 | async@^1.5.2: 199 | version "1.5.2" 200 | resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" 201 | 202 | async@^2.1.2: 203 | version "2.6.0" 204 | resolved "https://registry.yarnpkg.com/async/-/async-2.6.0.tgz#61a29abb6fcc026fea77e56d1c6ec53a795951f4" 205 | dependencies: 206 | lodash "^4.14.0" 207 | 208 | asynckit@^0.4.0: 209 | version "0.4.0" 210 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 211 | 212 | aws-sign2@~0.6.0: 213 | version "0.6.0" 214 | resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" 215 | 216 | aws4@^1.2.1: 217 | version "1.6.0" 218 | resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" 219 | 220 | babel-code-frame@^6.22.0: 221 | version "6.26.0" 222 | resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" 223 | dependencies: 224 | chalk "^1.1.3" 225 | esutils "^2.0.2" 226 | js-tokens "^3.0.2" 227 | 228 | balanced-match@^1.0.0: 229 | version "1.0.0" 230 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 231 | 232 | base64-js@^1.0.2: 233 | version "1.2.1" 234 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.1.tgz#a91947da1f4a516ea38e5b4ec0ec3773675e0886" 235 | 236 | batch@0.6.1: 237 | version "0.6.1" 238 | resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" 239 | 240 | bcrypt-pbkdf@^1.0.0: 241 | version "1.0.1" 242 | resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" 243 | dependencies: 244 | tweetnacl "^0.14.3" 245 | 246 | big.js@^3.1.3: 247 | version "3.2.0" 248 | resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" 249 | 250 | binary-extensions@^1.0.0: 251 | version "1.11.0" 252 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.11.0.tgz#46aa1751fb6a2f93ee5e689bb1087d4b14c6c205" 253 | 254 | block-stream@*: 255 | version "0.0.9" 256 | resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" 257 | dependencies: 258 | inherits "~2.0.0" 259 | 260 | bluebird@3.3.3: 261 | version "3.3.3" 262 | resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.3.3.tgz#cf96a45d77b9a97a43c46a365c4619f62bf976d0" 263 | 264 | bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: 265 | version "4.11.8" 266 | resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" 267 | 268 | body-parser@1.18.2: 269 | version "1.18.2" 270 | resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.2.tgz#87678a19d84b47d859b83199bd59bce222b10454" 271 | dependencies: 272 | bytes "3.0.0" 273 | content-type "~1.0.4" 274 | debug "2.6.9" 275 | depd "~1.1.1" 276 | http-errors "~1.6.2" 277 | iconv-lite "0.4.19" 278 | on-finished "~2.3.0" 279 | qs "6.5.1" 280 | raw-body "2.3.2" 281 | type-is "~1.6.15" 282 | 283 | bonjour@^3.5.0: 284 | version "3.5.0" 285 | resolved "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5" 286 | dependencies: 287 | array-flatten "^2.1.0" 288 | deep-equal "^1.0.1" 289 | dns-equal "^1.0.0" 290 | dns-txt "^2.0.2" 291 | multicast-dns "^6.0.1" 292 | multicast-dns-service-types "^1.1.0" 293 | 294 | boom@2.x.x: 295 | version "2.10.1" 296 | resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" 297 | dependencies: 298 | hoek "2.x.x" 299 | 300 | brace-expansion@^1.1.7: 301 | version "1.1.8" 302 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292" 303 | dependencies: 304 | balanced-match "^1.0.0" 305 | concat-map "0.0.1" 306 | 307 | braces@^1.8.2: 308 | version "1.8.5" 309 | resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" 310 | dependencies: 311 | expand-range "^1.8.1" 312 | preserve "^0.2.0" 313 | repeat-element "^1.1.2" 314 | 315 | brorand@^1.0.1: 316 | version "1.1.0" 317 | resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" 318 | 319 | browserify-aes@^1.0.0, browserify-aes@^1.0.4: 320 | version "1.1.1" 321 | resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.1.1.tgz#38b7ab55edb806ff2dcda1a7f1620773a477c49f" 322 | dependencies: 323 | buffer-xor "^1.0.3" 324 | cipher-base "^1.0.0" 325 | create-hash "^1.1.0" 326 | evp_bytestokey "^1.0.3" 327 | inherits "^2.0.1" 328 | safe-buffer "^5.0.1" 329 | 330 | browserify-cipher@^1.0.0: 331 | version "1.0.0" 332 | resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.0.tgz#9988244874bf5ed4e28da95666dcd66ac8fc363a" 333 | dependencies: 334 | browserify-aes "^1.0.4" 335 | browserify-des "^1.0.0" 336 | evp_bytestokey "^1.0.0" 337 | 338 | browserify-des@^1.0.0: 339 | version "1.0.0" 340 | resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.0.tgz#daa277717470922ed2fe18594118a175439721dd" 341 | dependencies: 342 | cipher-base "^1.0.1" 343 | des.js "^1.0.0" 344 | inherits "^2.0.1" 345 | 346 | browserify-rsa@^4.0.0: 347 | version "4.0.1" 348 | resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" 349 | dependencies: 350 | bn.js "^4.1.0" 351 | randombytes "^2.0.1" 352 | 353 | browserify-sign@^4.0.0: 354 | version "4.0.4" 355 | resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" 356 | dependencies: 357 | bn.js "^4.1.1" 358 | browserify-rsa "^4.0.0" 359 | create-hash "^1.1.0" 360 | create-hmac "^1.1.2" 361 | elliptic "^6.0.0" 362 | inherits "^2.0.1" 363 | parse-asn1 "^5.0.0" 364 | 365 | browserify-zlib@^0.2.0: 366 | version "0.2.0" 367 | resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" 368 | dependencies: 369 | pako "~1.0.5" 370 | 371 | buffer-indexof@^1.0.0: 372 | version "1.1.1" 373 | resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c" 374 | 375 | buffer-xor@^1.0.3: 376 | version "1.0.3" 377 | resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" 378 | 379 | buffer@^4.3.0: 380 | version "4.9.1" 381 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" 382 | dependencies: 383 | base64-js "^1.0.2" 384 | ieee754 "^1.1.4" 385 | isarray "^1.0.0" 386 | 387 | buffer@^5.0.3: 388 | version "5.0.8" 389 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.0.8.tgz#84daa52e7cf2fa8ce4195bc5cf0f7809e0930b24" 390 | dependencies: 391 | base64-js "^1.0.2" 392 | ieee754 "^1.1.4" 393 | 394 | builtin-modules@^1.0.0, builtin-modules@^1.1.1: 395 | version "1.1.1" 396 | resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" 397 | 398 | builtin-status-codes@^3.0.0: 399 | version "3.0.0" 400 | resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" 401 | 402 | bytes@3.0.0: 403 | version "3.0.0" 404 | resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" 405 | 406 | camelcase-keys@^2.0.0: 407 | version "2.1.0" 408 | resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" 409 | dependencies: 410 | camelcase "^2.0.0" 411 | map-obj "^1.0.0" 412 | 413 | camelcase@^1.0.2: 414 | version "1.2.1" 415 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" 416 | 417 | camelcase@^2.0.0: 418 | version "2.1.1" 419 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" 420 | 421 | camelcase@^3.0.0: 422 | version "3.0.0" 423 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" 424 | 425 | camelcase@^4.1.0: 426 | version "4.1.0" 427 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" 428 | 429 | caseless@~0.12.0: 430 | version "0.12.0" 431 | resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" 432 | 433 | center-align@^0.1.1: 434 | version "0.1.3" 435 | resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" 436 | dependencies: 437 | align-text "^0.1.3" 438 | lazy-cache "^1.0.3" 439 | 440 | chalk@^1.1.3: 441 | version "1.1.3" 442 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" 443 | dependencies: 444 | ansi-styles "^2.2.1" 445 | escape-string-regexp "^1.0.2" 446 | has-ansi "^2.0.0" 447 | strip-ansi "^3.0.0" 448 | supports-color "^2.0.0" 449 | 450 | chalk@^2.1.0, chalk@^2.3.0: 451 | version "2.3.0" 452 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.0.tgz#b5ea48efc9c1793dccc9b4767c93914d3f2d52ba" 453 | dependencies: 454 | ansi-styles "^3.1.0" 455 | escape-string-regexp "^1.0.5" 456 | supports-color "^4.0.0" 457 | 458 | chokidar@^1.6.0, chokidar@^1.7.0: 459 | version "1.7.0" 460 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" 461 | dependencies: 462 | anymatch "^1.3.0" 463 | async-each "^1.0.0" 464 | glob-parent "^2.0.0" 465 | inherits "^2.0.1" 466 | is-binary-path "^1.0.0" 467 | is-glob "^2.0.0" 468 | path-is-absolute "^1.0.0" 469 | readdirp "^2.0.0" 470 | optionalDependencies: 471 | fsevents "^1.0.0" 472 | 473 | cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: 474 | version "1.0.4" 475 | resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" 476 | dependencies: 477 | inherits "^2.0.1" 478 | safe-buffer "^5.0.1" 479 | 480 | cliui@^2.1.0: 481 | version "2.1.0" 482 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" 483 | dependencies: 484 | center-align "^0.1.1" 485 | right-align "^0.1.1" 486 | wordwrap "0.0.2" 487 | 488 | cliui@^3.2.0: 489 | version "3.2.0" 490 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" 491 | dependencies: 492 | string-width "^1.0.1" 493 | strip-ansi "^3.0.1" 494 | wrap-ansi "^2.0.0" 495 | 496 | co@^4.6.0: 497 | version "4.6.0" 498 | resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" 499 | 500 | code-point-at@^1.0.0: 501 | version "1.1.0" 502 | resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" 503 | 504 | color-convert@^1.9.0: 505 | version "1.9.1" 506 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed" 507 | dependencies: 508 | color-name "^1.1.1" 509 | 510 | color-name@^1.1.1: 511 | version "1.1.3" 512 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 513 | 514 | combined-stream@^1.0.5, combined-stream@~1.0.5: 515 | version "1.0.5" 516 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" 517 | dependencies: 518 | delayed-stream "~1.0.0" 519 | 520 | commander@^2.9.0: 521 | version "2.12.2" 522 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.12.2.tgz#0f5946c427ed9ec0d91a46bb9def53e54650e555" 523 | 524 | compressible@~2.0.11: 525 | version "2.0.12" 526 | resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.12.tgz#c59a5c99db76767e9876500e271ef63b3493bd66" 527 | dependencies: 528 | mime-db ">= 1.30.0 < 2" 529 | 530 | compression@^1.5.2: 531 | version "1.7.1" 532 | resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.1.tgz#eff2603efc2e22cf86f35d2eb93589f9875373db" 533 | dependencies: 534 | accepts "~1.3.4" 535 | bytes "3.0.0" 536 | compressible "~2.0.11" 537 | debug "2.6.9" 538 | on-headers "~1.0.1" 539 | safe-buffer "5.1.1" 540 | vary "~1.1.2" 541 | 542 | concat-map@0.0.1: 543 | version "0.0.1" 544 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 545 | 546 | connect-history-api-fallback@^1.3.0: 547 | version "1.5.0" 548 | resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz#b06873934bc5e344fef611a196a6faae0aee015a" 549 | 550 | console-browserify@^1.1.0: 551 | version "1.1.0" 552 | resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" 553 | dependencies: 554 | date-now "^0.1.4" 555 | 556 | console-control-strings@^1.0.0, console-control-strings@~1.1.0: 557 | version "1.1.0" 558 | resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" 559 | 560 | constants-browserify@^1.0.0: 561 | version "1.0.0" 562 | resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" 563 | 564 | content-disposition@0.5.2: 565 | version "0.5.2" 566 | resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" 567 | 568 | content-type@~1.0.4: 569 | version "1.0.4" 570 | resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" 571 | 572 | cookie-signature@1.0.6: 573 | version "1.0.6" 574 | resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" 575 | 576 | cookie@0.3.1: 577 | version "0.3.1" 578 | resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" 579 | 580 | core-js@^1.0.0: 581 | version "1.2.7" 582 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" 583 | 584 | core-util-is@1.0.2, core-util-is@~1.0.0: 585 | version "1.0.2" 586 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 587 | 588 | create-ecdh@^4.0.0: 589 | version "4.0.0" 590 | resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.0.tgz#888c723596cdf7612f6498233eebd7a35301737d" 591 | dependencies: 592 | bn.js "^4.1.0" 593 | elliptic "^6.0.0" 594 | 595 | create-hash@^1.1.0, create-hash@^1.1.2: 596 | version "1.1.3" 597 | resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.1.3.tgz#606042ac8b9262750f483caddab0f5819172d8fd" 598 | dependencies: 599 | cipher-base "^1.0.1" 600 | inherits "^2.0.1" 601 | ripemd160 "^2.0.0" 602 | sha.js "^2.4.0" 603 | 604 | create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: 605 | version "1.1.6" 606 | resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.6.tgz#acb9e221a4e17bdb076e90657c42b93e3726cf06" 607 | dependencies: 608 | cipher-base "^1.0.3" 609 | create-hash "^1.1.0" 610 | inherits "^2.0.1" 611 | ripemd160 "^2.0.0" 612 | safe-buffer "^5.0.1" 613 | sha.js "^2.4.8" 614 | 615 | cross-spawn@^5.0.1: 616 | version "5.1.0" 617 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" 618 | dependencies: 619 | lru-cache "^4.0.1" 620 | shebang-command "^1.2.0" 621 | which "^1.2.9" 622 | 623 | cryptiles@2.x.x: 624 | version "2.0.5" 625 | resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" 626 | dependencies: 627 | boom "2.x.x" 628 | 629 | crypto-browserify@^3.11.0: 630 | version "3.12.0" 631 | resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" 632 | dependencies: 633 | browserify-cipher "^1.0.0" 634 | browserify-sign "^4.0.0" 635 | create-ecdh "^4.0.0" 636 | create-hash "^1.1.0" 637 | create-hmac "^1.1.0" 638 | diffie-hellman "^5.0.0" 639 | inherits "^2.0.1" 640 | pbkdf2 "^3.0.3" 641 | public-encrypt "^4.0.0" 642 | randombytes "^2.0.0" 643 | randomfill "^1.0.3" 644 | 645 | css-color-keywords@^1.0.0: 646 | version "1.0.0" 647 | resolved "https://registry.yarnpkg.com/css-color-keywords/-/css-color-keywords-1.0.0.tgz#fea2616dc676b2962686b3af8dbdbe180b244e05" 648 | 649 | css-to-react-native@^2.0.3: 650 | version "2.0.4" 651 | resolved "https://registry.yarnpkg.com/css-to-react-native/-/css-to-react-native-2.0.4.tgz#cf4cc407558b3474d4ba8be1a2cd3b6ce713101b" 652 | dependencies: 653 | css-color-keywords "^1.0.0" 654 | fbjs "^0.8.5" 655 | postcss-value-parser "^3.3.0" 656 | 657 | currently-unhandled@^0.4.1: 658 | version "0.4.1" 659 | resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" 660 | dependencies: 661 | array-find-index "^1.0.1" 662 | 663 | d@1: 664 | version "1.0.0" 665 | resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f" 666 | dependencies: 667 | es5-ext "^0.10.9" 668 | 669 | dashdash@^1.12.0: 670 | version "1.14.1" 671 | resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" 672 | dependencies: 673 | assert-plus "^1.0.0" 674 | 675 | date-now@^0.1.4: 676 | version "0.1.4" 677 | resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" 678 | 679 | debug@2.6.9, debug@^2.2.0, debug@^2.6.6, debug@^2.6.8: 680 | version "2.6.9" 681 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 682 | dependencies: 683 | ms "2.0.0" 684 | 685 | debug@^3.1.0: 686 | version "3.1.0" 687 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" 688 | dependencies: 689 | ms "2.0.0" 690 | 691 | decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2: 692 | version "1.2.0" 693 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" 694 | 695 | deep-equal@^1.0.1: 696 | version "1.0.1" 697 | resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" 698 | 699 | deep-extend@~0.4.0: 700 | version "0.4.2" 701 | resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" 702 | 703 | define-properties@^1.1.2: 704 | version "1.1.2" 705 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94" 706 | dependencies: 707 | foreach "^2.0.5" 708 | object-keys "^1.0.8" 709 | 710 | del@^3.0.0: 711 | version "3.0.0" 712 | resolved "https://registry.yarnpkg.com/del/-/del-3.0.0.tgz#53ecf699ffcbcb39637691ab13baf160819766e5" 713 | dependencies: 714 | globby "^6.1.0" 715 | is-path-cwd "^1.0.0" 716 | is-path-in-cwd "^1.0.0" 717 | p-map "^1.1.1" 718 | pify "^3.0.0" 719 | rimraf "^2.2.8" 720 | 721 | delayed-stream@~1.0.0: 722 | version "1.0.0" 723 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 724 | 725 | delegates@^1.0.0: 726 | version "1.0.0" 727 | resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" 728 | 729 | depd@1.1.1, depd@~1.1.1: 730 | version "1.1.1" 731 | resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.1.tgz#5783b4e1c459f06fa5ca27f991f3d06e7a310359" 732 | 733 | des.js@^1.0.0: 734 | version "1.0.0" 735 | resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" 736 | dependencies: 737 | inherits "^2.0.1" 738 | minimalistic-assert "^1.0.0" 739 | 740 | destroy@~1.0.4: 741 | version "1.0.4" 742 | resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" 743 | 744 | detect-libc@^1.0.2: 745 | version "1.0.3" 746 | resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" 747 | 748 | detect-node@^2.0.3: 749 | version "2.0.3" 750 | resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.3.tgz#a2033c09cc8e158d37748fbde7507832bd6ce127" 751 | 752 | diff@^3.2.0: 753 | version "3.4.0" 754 | resolved "https://registry.yarnpkg.com/diff/-/diff-3.4.0.tgz#b1d85507daf3964828de54b37d0d73ba67dda56c" 755 | 756 | diffie-hellman@^5.0.0: 757 | version "5.0.2" 758 | resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.2.tgz#b5835739270cfe26acf632099fded2a07f209e5e" 759 | dependencies: 760 | bn.js "^4.1.0" 761 | miller-rabin "^4.0.0" 762 | randombytes "^2.0.0" 763 | 764 | dns-equal@^1.0.0: 765 | version "1.0.0" 766 | resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" 767 | 768 | dns-packet@^1.0.1: 769 | version "1.2.2" 770 | resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.2.2.tgz#a8a26bec7646438963fc86e06f8f8b16d6c8bf7a" 771 | dependencies: 772 | ip "^1.1.0" 773 | safe-buffer "^5.0.1" 774 | 775 | dns-txt@^2.0.2: 776 | version "2.0.2" 777 | resolved "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6" 778 | dependencies: 779 | buffer-indexof "^1.0.0" 780 | 781 | dom-walk@^0.1.0: 782 | version "0.1.1" 783 | resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.1.tgz#672226dc74c8f799ad35307df936aba11acd6018" 784 | 785 | domain-browser@^1.1.1: 786 | version "1.1.7" 787 | resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.1.7.tgz#867aa4b093faa05f1de08c06f4d7b21fdf8698bc" 788 | 789 | dts-generator@^2.1.0: 790 | version "2.1.0" 791 | resolved "https://registry.yarnpkg.com/dts-generator/-/dts-generator-2.1.0.tgz#039b87a4f5f847b3b8ef00ddee3eb09545decefe" 792 | dependencies: 793 | bluebird "3.3.3" 794 | glob "7.0.0" 795 | mkdirp "0.5.1" 796 | 797 | ecc-jsbn@~0.1.1: 798 | version "0.1.1" 799 | resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" 800 | dependencies: 801 | jsbn "~0.1.0" 802 | 803 | ee-first@1.1.1: 804 | version "1.1.1" 805 | resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" 806 | 807 | elliptic@^6.0.0: 808 | version "6.4.0" 809 | resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df" 810 | dependencies: 811 | bn.js "^4.4.0" 812 | brorand "^1.0.1" 813 | hash.js "^1.0.0" 814 | hmac-drbg "^1.0.0" 815 | inherits "^2.0.1" 816 | minimalistic-assert "^1.0.0" 817 | minimalistic-crypto-utils "^1.0.0" 818 | 819 | emojis-list@^2.0.0: 820 | version "2.1.0" 821 | resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" 822 | 823 | encodeurl@~1.0.1: 824 | version "1.0.1" 825 | resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.1.tgz#79e3d58655346909fe6f0f45a5de68103b294d20" 826 | 827 | encoding@^0.1.11: 828 | version "0.1.12" 829 | resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb" 830 | dependencies: 831 | iconv-lite "~0.4.13" 832 | 833 | enhanced-resolve@^3.0.0, enhanced-resolve@^3.4.0: 834 | version "3.4.1" 835 | resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz#0421e339fd71419b3da13d129b3979040230476e" 836 | dependencies: 837 | graceful-fs "^4.1.2" 838 | memory-fs "^0.4.0" 839 | object-assign "^4.0.1" 840 | tapable "^0.2.7" 841 | 842 | errno@^0.1.3: 843 | version "0.1.6" 844 | resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.6.tgz#c386ce8a6283f14fc09563b71560908c9bf53026" 845 | dependencies: 846 | prr "~1.0.1" 847 | 848 | error-ex@^1.2.0: 849 | version "1.3.1" 850 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" 851 | dependencies: 852 | is-arrayish "^0.2.1" 853 | 854 | error-stack-parser@^1.3.6: 855 | version "1.3.6" 856 | resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-1.3.6.tgz#e0e73b93e417138d1cd7c0b746b1a4a14854c292" 857 | dependencies: 858 | stackframe "^0.3.1" 859 | 860 | es-abstract@^1.7.0: 861 | version "1.10.0" 862 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.10.0.tgz#1ecb36c197842a00d8ee4c2dfd8646bb97d60864" 863 | dependencies: 864 | es-to-primitive "^1.1.1" 865 | function-bind "^1.1.1" 866 | has "^1.0.1" 867 | is-callable "^1.1.3" 868 | is-regex "^1.0.4" 869 | 870 | es-to-primitive@^1.1.1: 871 | version "1.1.1" 872 | resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d" 873 | dependencies: 874 | is-callable "^1.1.1" 875 | is-date-object "^1.0.1" 876 | is-symbol "^1.0.1" 877 | 878 | es5-ext@^0.10.14, es5-ext@^0.10.35, es5-ext@^0.10.9, es5-ext@~0.10.14: 879 | version "0.10.37" 880 | resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.37.tgz#0ee741d148b80069ba27d020393756af257defc3" 881 | dependencies: 882 | es6-iterator "~2.0.1" 883 | es6-symbol "~3.1.1" 884 | 885 | es6-iterator@^2.0.1, es6-iterator@~2.0.1: 886 | version "2.0.3" 887 | resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" 888 | dependencies: 889 | d "1" 890 | es5-ext "^0.10.35" 891 | es6-symbol "^3.1.1" 892 | 893 | es6-map@^0.1.3: 894 | version "0.1.5" 895 | resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.5.tgz#9136e0503dcc06a301690f0bb14ff4e364e949f0" 896 | dependencies: 897 | d "1" 898 | es5-ext "~0.10.14" 899 | es6-iterator "~2.0.1" 900 | es6-set "~0.1.5" 901 | es6-symbol "~3.1.1" 902 | event-emitter "~0.3.5" 903 | 904 | es6-set@~0.1.5: 905 | version "0.1.5" 906 | resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.5.tgz#d2b3ec5d4d800ced818db538d28974db0a73ccb1" 907 | dependencies: 908 | d "1" 909 | es5-ext "~0.10.14" 910 | es6-iterator "~2.0.1" 911 | es6-symbol "3.1.1" 912 | event-emitter "~0.3.5" 913 | 914 | es6-symbol@3.1.1, es6-symbol@^3.1.1, es6-symbol@~3.1.1: 915 | version "3.1.1" 916 | resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" 917 | dependencies: 918 | d "1" 919 | es5-ext "~0.10.14" 920 | 921 | es6-weak-map@^2.0.1: 922 | version "2.0.2" 923 | resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.2.tgz#5e3ab32251ffd1538a1f8e5ffa1357772f92d96f" 924 | dependencies: 925 | d "1" 926 | es5-ext "^0.10.14" 927 | es6-iterator "^2.0.1" 928 | es6-symbol "^3.1.1" 929 | 930 | escape-html@~1.0.3: 931 | version "1.0.3" 932 | resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" 933 | 934 | escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: 935 | version "1.0.5" 936 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 937 | 938 | escope@^3.6.0: 939 | version "3.6.0" 940 | resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3" 941 | dependencies: 942 | es6-map "^0.1.3" 943 | es6-weak-map "^2.0.1" 944 | esrecurse "^4.1.0" 945 | estraverse "^4.1.1" 946 | 947 | esrecurse@^4.1.0: 948 | version "4.2.0" 949 | resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.0.tgz#fa9568d98d3823f9a41d91e902dcab9ea6e5b163" 950 | dependencies: 951 | estraverse "^4.1.0" 952 | object-assign "^4.0.1" 953 | 954 | estraverse@^4.1.0, estraverse@^4.1.1: 955 | version "4.2.0" 956 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" 957 | 958 | esutils@^2.0.2: 959 | version "2.0.2" 960 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" 961 | 962 | etag@~1.8.1: 963 | version "1.8.1" 964 | resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" 965 | 966 | event-emitter@~0.3.5: 967 | version "0.3.5" 968 | resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" 969 | dependencies: 970 | d "1" 971 | es5-ext "~0.10.14" 972 | 973 | eventemitter3@1.x.x: 974 | version "1.2.0" 975 | resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-1.2.0.tgz#1c86991d816ad1e504750e73874224ecf3bec508" 976 | 977 | events@^1.0.0: 978 | version "1.1.1" 979 | resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" 980 | 981 | eventsource@0.1.6: 982 | version "0.1.6" 983 | resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-0.1.6.tgz#0acede849ed7dd1ccc32c811bb11b944d4f29232" 984 | dependencies: 985 | original ">=0.0.5" 986 | 987 | evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: 988 | version "1.0.3" 989 | resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" 990 | dependencies: 991 | md5.js "^1.3.4" 992 | safe-buffer "^5.1.1" 993 | 994 | execa@^0.7.0: 995 | version "0.7.0" 996 | resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" 997 | dependencies: 998 | cross-spawn "^5.0.1" 999 | get-stream "^3.0.0" 1000 | is-stream "^1.1.0" 1001 | npm-run-path "^2.0.0" 1002 | p-finally "^1.0.0" 1003 | signal-exit "^3.0.0" 1004 | strip-eof "^1.0.0" 1005 | 1006 | expand-brackets@^0.1.4: 1007 | version "0.1.5" 1008 | resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" 1009 | dependencies: 1010 | is-posix-bracket "^0.1.0" 1011 | 1012 | expand-range@^1.8.1: 1013 | version "1.8.2" 1014 | resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" 1015 | dependencies: 1016 | fill-range "^2.1.0" 1017 | 1018 | express@^4.16.2: 1019 | version "4.16.2" 1020 | resolved "https://registry.yarnpkg.com/express/-/express-4.16.2.tgz#e35c6dfe2d64b7dca0a5cd4f21781be3299e076c" 1021 | dependencies: 1022 | accepts "~1.3.4" 1023 | array-flatten "1.1.1" 1024 | body-parser "1.18.2" 1025 | content-disposition "0.5.2" 1026 | content-type "~1.0.4" 1027 | cookie "0.3.1" 1028 | cookie-signature "1.0.6" 1029 | debug "2.6.9" 1030 | depd "~1.1.1" 1031 | encodeurl "~1.0.1" 1032 | escape-html "~1.0.3" 1033 | etag "~1.8.1" 1034 | finalhandler "1.1.0" 1035 | fresh "0.5.2" 1036 | merge-descriptors "1.0.1" 1037 | methods "~1.1.2" 1038 | on-finished "~2.3.0" 1039 | parseurl "~1.3.2" 1040 | path-to-regexp "0.1.7" 1041 | proxy-addr "~2.0.2" 1042 | qs "6.5.1" 1043 | range-parser "~1.2.0" 1044 | safe-buffer "5.1.1" 1045 | send "0.16.1" 1046 | serve-static "1.13.1" 1047 | setprototypeof "1.1.0" 1048 | statuses "~1.3.1" 1049 | type-is "~1.6.15" 1050 | utils-merge "1.0.1" 1051 | vary "~1.1.2" 1052 | 1053 | extend@~3.0.0: 1054 | version "3.0.1" 1055 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" 1056 | 1057 | extglob@^0.3.1: 1058 | version "0.3.2" 1059 | resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" 1060 | dependencies: 1061 | is-extglob "^1.0.0" 1062 | 1063 | extsprintf@1.3.0: 1064 | version "1.3.0" 1065 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" 1066 | 1067 | extsprintf@^1.2.0: 1068 | version "1.4.0" 1069 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" 1070 | 1071 | fast-deep-equal@^1.0.0: 1072 | version "1.0.0" 1073 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz#96256a3bc975595eb36d82e9929d060d893439ff" 1074 | 1075 | fast-json-stable-stringify@^2.0.0: 1076 | version "2.0.0" 1077 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" 1078 | 1079 | faye-websocket@^0.10.0: 1080 | version "0.10.0" 1081 | resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" 1082 | dependencies: 1083 | websocket-driver ">=0.5.1" 1084 | 1085 | faye-websocket@~0.11.0: 1086 | version "0.11.1" 1087 | resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.1.tgz#f0efe18c4f56e4f40afc7e06c719fd5ee6188f38" 1088 | dependencies: 1089 | websocket-driver ">=0.5.1" 1090 | 1091 | fbjs@^0.8.16, fbjs@^0.8.5, fbjs@^0.8.9: 1092 | version "0.8.16" 1093 | resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.16.tgz#5e67432f550dc41b572bf55847b8aca64e5337db" 1094 | dependencies: 1095 | core-js "^1.0.0" 1096 | isomorphic-fetch "^2.1.1" 1097 | loose-envify "^1.0.0" 1098 | object-assign "^4.1.0" 1099 | promise "^7.1.1" 1100 | setimmediate "^1.0.5" 1101 | ua-parser-js "^0.7.9" 1102 | 1103 | filename-regex@^2.0.0: 1104 | version "2.0.1" 1105 | resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" 1106 | 1107 | fill-range@^2.1.0: 1108 | version "2.2.3" 1109 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" 1110 | dependencies: 1111 | is-number "^2.1.0" 1112 | isobject "^2.0.0" 1113 | randomatic "^1.1.3" 1114 | repeat-element "^1.1.2" 1115 | repeat-string "^1.5.2" 1116 | 1117 | finalhandler@1.1.0: 1118 | version "1.1.0" 1119 | resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.0.tgz#ce0b6855b45853e791b2fcc680046d88253dd7f5" 1120 | dependencies: 1121 | debug "2.6.9" 1122 | encodeurl "~1.0.1" 1123 | escape-html "~1.0.3" 1124 | on-finished "~2.3.0" 1125 | parseurl "~1.3.2" 1126 | statuses "~1.3.1" 1127 | unpipe "~1.0.0" 1128 | 1129 | find-up@^1.0.0: 1130 | version "1.1.2" 1131 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" 1132 | dependencies: 1133 | path-exists "^2.0.0" 1134 | pinkie-promise "^2.0.0" 1135 | 1136 | find-up@^2.0.0, find-up@^2.1.0: 1137 | version "2.1.0" 1138 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" 1139 | dependencies: 1140 | locate-path "^2.0.0" 1141 | 1142 | for-in@^1.0.1: 1143 | version "1.0.2" 1144 | resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" 1145 | 1146 | for-own@^0.1.4: 1147 | version "0.1.5" 1148 | resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" 1149 | dependencies: 1150 | for-in "^1.0.1" 1151 | 1152 | foreach@^2.0.5: 1153 | version "2.0.5" 1154 | resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" 1155 | 1156 | forever-agent@~0.6.1: 1157 | version "0.6.1" 1158 | resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" 1159 | 1160 | fork-ts-checker-webpack-plugin@^0.2.10: 1161 | version "0.2.10" 1162 | resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-0.2.10.tgz#d0a4080e77e9f5d6e3b43cdce7d26658f9d250c6" 1163 | dependencies: 1164 | babel-code-frame "^6.22.0" 1165 | chalk "^1.1.3" 1166 | chokidar "^1.7.0" 1167 | lodash.endswith "^4.2.1" 1168 | lodash.isfunction "^3.0.8" 1169 | lodash.isstring "^4.0.1" 1170 | lodash.startswith "^4.2.1" 1171 | minimatch "^3.0.4" 1172 | 1173 | form-data@~2.1.1: 1174 | version "2.1.4" 1175 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1" 1176 | dependencies: 1177 | asynckit "^0.4.0" 1178 | combined-stream "^1.0.5" 1179 | mime-types "^2.1.12" 1180 | 1181 | forwarded@~0.1.2: 1182 | version "0.1.2" 1183 | resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" 1184 | 1185 | fresh@0.5.2: 1186 | version "0.5.2" 1187 | resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" 1188 | 1189 | fs.realpath@^1.0.0: 1190 | version "1.0.0" 1191 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 1192 | 1193 | fsevents@^1.0.0: 1194 | version "1.1.3" 1195 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.3.tgz#11f82318f5fe7bb2cd22965a108e9306208216d8" 1196 | dependencies: 1197 | nan "^2.3.0" 1198 | node-pre-gyp "^0.6.39" 1199 | 1200 | fstream-ignore@^1.0.5: 1201 | version "1.0.5" 1202 | resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" 1203 | dependencies: 1204 | fstream "^1.0.0" 1205 | inherits "2" 1206 | minimatch "^3.0.0" 1207 | 1208 | fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2: 1209 | version "1.0.11" 1210 | resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" 1211 | dependencies: 1212 | graceful-fs "^4.1.2" 1213 | inherits "~2.0.0" 1214 | mkdirp ">=0.5 0" 1215 | rimraf "2" 1216 | 1217 | function-bind@^1.0.2, function-bind@^1.1.1: 1218 | version "1.1.1" 1219 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 1220 | 1221 | gauge@~2.7.3: 1222 | version "2.7.4" 1223 | resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" 1224 | dependencies: 1225 | aproba "^1.0.3" 1226 | console-control-strings "^1.0.0" 1227 | has-unicode "^2.0.0" 1228 | object-assign "^4.1.0" 1229 | signal-exit "^3.0.0" 1230 | string-width "^1.0.1" 1231 | strip-ansi "^3.0.1" 1232 | wide-align "^1.1.0" 1233 | 1234 | get-caller-file@^1.0.1: 1235 | version "1.0.2" 1236 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" 1237 | 1238 | get-stdin@^4.0.1: 1239 | version "4.0.1" 1240 | resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" 1241 | 1242 | get-stream@^3.0.0: 1243 | version "3.0.0" 1244 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" 1245 | 1246 | getpass@^0.1.1: 1247 | version "0.1.7" 1248 | resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" 1249 | dependencies: 1250 | assert-plus "^1.0.0" 1251 | 1252 | glob-base@^0.3.0: 1253 | version "0.3.0" 1254 | resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" 1255 | dependencies: 1256 | glob-parent "^2.0.0" 1257 | is-glob "^2.0.0" 1258 | 1259 | glob-parent@^2.0.0: 1260 | version "2.0.0" 1261 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" 1262 | dependencies: 1263 | is-glob "^2.0.0" 1264 | 1265 | glob@7.0.0: 1266 | version "7.0.0" 1267 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.0.tgz#3b20a357fffcf46bb384aed6f8ae9a647fdb6ac4" 1268 | dependencies: 1269 | inflight "^1.0.4" 1270 | inherits "2" 1271 | minimatch "2 || 3" 1272 | once "^1.3.0" 1273 | path-is-absolute "^1.0.0" 1274 | 1275 | glob@^7.0.3, glob@^7.0.5, glob@^7.1.1: 1276 | version "7.1.2" 1277 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" 1278 | dependencies: 1279 | fs.realpath "^1.0.0" 1280 | inflight "^1.0.4" 1281 | inherits "2" 1282 | minimatch "^3.0.4" 1283 | once "^1.3.0" 1284 | path-is-absolute "^1.0.0" 1285 | 1286 | global@^4.3.0: 1287 | version "4.3.2" 1288 | resolved "https://registry.yarnpkg.com/global/-/global-4.3.2.tgz#e76989268a6c74c38908b1305b10fc0e394e9d0f" 1289 | dependencies: 1290 | min-document "^2.19.0" 1291 | process "~0.5.1" 1292 | 1293 | globby@^6.1.0: 1294 | version "6.1.0" 1295 | resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" 1296 | dependencies: 1297 | array-union "^1.0.1" 1298 | glob "^7.0.3" 1299 | object-assign "^4.0.1" 1300 | pify "^2.0.0" 1301 | pinkie-promise "^2.0.0" 1302 | 1303 | graceful-fs@^4.1.2: 1304 | version "4.1.11" 1305 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" 1306 | 1307 | handle-thing@^1.2.5: 1308 | version "1.2.5" 1309 | resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-1.2.5.tgz#fd7aad726bf1a5fd16dfc29b2f7a6601d27139c4" 1310 | 1311 | happypack@^4.0.0: 1312 | version "4.0.0" 1313 | resolved "https://registry.yarnpkg.com/happypack/-/happypack-4.0.0.tgz#de1770d472dab33e3f31782a3edb4e77cc658631" 1314 | dependencies: 1315 | async "1.5.0" 1316 | json-stringify-safe "5.0.1" 1317 | loader-utils "1.1.0" 1318 | serialize-error "^2.1.0" 1319 | 1320 | har-schema@^1.0.5: 1321 | version "1.0.5" 1322 | resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" 1323 | 1324 | har-validator@~4.2.1: 1325 | version "4.2.1" 1326 | resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" 1327 | dependencies: 1328 | ajv "^4.9.1" 1329 | har-schema "^1.0.5" 1330 | 1331 | has-ansi@^2.0.0: 1332 | version "2.0.0" 1333 | resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" 1334 | dependencies: 1335 | ansi-regex "^2.0.0" 1336 | 1337 | has-flag@^1.0.0: 1338 | version "1.0.0" 1339 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" 1340 | 1341 | has-flag@^2.0.0: 1342 | version "2.0.0" 1343 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" 1344 | 1345 | has-unicode@^2.0.0: 1346 | version "2.0.1" 1347 | resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" 1348 | 1349 | has@^1.0.1: 1350 | version "1.0.1" 1351 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28" 1352 | dependencies: 1353 | function-bind "^1.0.2" 1354 | 1355 | hash-base@^2.0.0: 1356 | version "2.0.2" 1357 | resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-2.0.2.tgz#66ea1d856db4e8a5470cadf6fce23ae5244ef2e1" 1358 | dependencies: 1359 | inherits "^2.0.1" 1360 | 1361 | hash-base@^3.0.0: 1362 | version "3.0.4" 1363 | resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" 1364 | dependencies: 1365 | inherits "^2.0.1" 1366 | safe-buffer "^5.0.1" 1367 | 1368 | hash.js@^1.0.0, hash.js@^1.0.3: 1369 | version "1.1.3" 1370 | resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.3.tgz#340dedbe6290187151c1ea1d777a3448935df846" 1371 | dependencies: 1372 | inherits "^2.0.3" 1373 | minimalistic-assert "^1.0.0" 1374 | 1375 | hawk@3.1.3, hawk@~3.1.3: 1376 | version "3.1.3" 1377 | resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" 1378 | dependencies: 1379 | boom "2.x.x" 1380 | cryptiles "2.x.x" 1381 | hoek "2.x.x" 1382 | sntp "1.x.x" 1383 | 1384 | hmac-drbg@^1.0.0: 1385 | version "1.0.1" 1386 | resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" 1387 | dependencies: 1388 | hash.js "^1.0.3" 1389 | minimalistic-assert "^1.0.0" 1390 | minimalistic-crypto-utils "^1.0.1" 1391 | 1392 | hoek@2.x.x: 1393 | version "2.16.3" 1394 | resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" 1395 | 1396 | hoist-non-react-statics@^1.2.0: 1397 | version "1.2.0" 1398 | resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz#aa448cf0986d55cc40773b17174b7dd066cb7cfb" 1399 | 1400 | hosted-git-info@^2.1.4: 1401 | version "2.5.0" 1402 | resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.5.0.tgz#6d60e34b3abbc8313062c3b798ef8d901a07af3c" 1403 | 1404 | hpack.js@^2.1.6: 1405 | version "2.1.6" 1406 | resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" 1407 | dependencies: 1408 | inherits "^2.0.1" 1409 | obuf "^1.0.0" 1410 | readable-stream "^2.0.1" 1411 | wbuf "^1.1.0" 1412 | 1413 | html-entities@^1.2.0: 1414 | version "1.2.1" 1415 | resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.1.tgz#0df29351f0721163515dfb9e5543e5f6eed5162f" 1416 | 1417 | http-deceiver@^1.2.7: 1418 | version "1.2.7" 1419 | resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" 1420 | 1421 | http-errors@1.6.2, http-errors@~1.6.2: 1422 | version "1.6.2" 1423 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.2.tgz#0a002cc85707192a7e7946ceedc11155f60ec736" 1424 | dependencies: 1425 | depd "1.1.1" 1426 | inherits "2.0.3" 1427 | setprototypeof "1.0.3" 1428 | statuses ">= 1.3.1 < 2" 1429 | 1430 | http-parser-js@>=0.4.0: 1431 | version "0.4.9" 1432 | resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.9.tgz#ea1a04fb64adff0242e9974f297dd4c3cad271e1" 1433 | 1434 | http-proxy-middleware@~0.17.4: 1435 | version "0.17.4" 1436 | resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.17.4.tgz#642e8848851d66f09d4f124912846dbaeb41b833" 1437 | dependencies: 1438 | http-proxy "^1.16.2" 1439 | is-glob "^3.1.0" 1440 | lodash "^4.17.2" 1441 | micromatch "^2.3.11" 1442 | 1443 | http-proxy@^1.16.2: 1444 | version "1.16.2" 1445 | resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.16.2.tgz#06dff292952bf64dbe8471fa9df73066d4f37742" 1446 | dependencies: 1447 | eventemitter3 "1.x.x" 1448 | requires-port "1.x.x" 1449 | 1450 | http-signature@~1.1.0: 1451 | version "1.1.1" 1452 | resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" 1453 | dependencies: 1454 | assert-plus "^0.2.0" 1455 | jsprim "^1.2.2" 1456 | sshpk "^1.7.0" 1457 | 1458 | https-browserify@^1.0.0: 1459 | version "1.0.0" 1460 | resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" 1461 | 1462 | iconv-lite@0.4.19, iconv-lite@~0.4.13: 1463 | version "0.4.19" 1464 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" 1465 | 1466 | ieee754@^1.1.4: 1467 | version "1.1.8" 1468 | resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" 1469 | 1470 | import-local@^0.1.1: 1471 | version "0.1.1" 1472 | resolved "https://registry.yarnpkg.com/import-local/-/import-local-0.1.1.tgz#b1179572aacdc11c6a91009fb430dbcab5f668a8" 1473 | dependencies: 1474 | pkg-dir "^2.0.0" 1475 | resolve-cwd "^2.0.0" 1476 | 1477 | indent-string@^2.1.0: 1478 | version "2.1.0" 1479 | resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" 1480 | dependencies: 1481 | repeating "^2.0.0" 1482 | 1483 | indexof@0.0.1: 1484 | version "0.0.1" 1485 | resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" 1486 | 1487 | inflight@^1.0.4: 1488 | version "1.0.6" 1489 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1490 | dependencies: 1491 | once "^1.3.0" 1492 | wrappy "1" 1493 | 1494 | inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: 1495 | version "2.0.3" 1496 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 1497 | 1498 | inherits@2.0.1: 1499 | version "2.0.1" 1500 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" 1501 | 1502 | ini@~1.3.0: 1503 | version "1.3.5" 1504 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" 1505 | 1506 | internal-ip@1.2.0: 1507 | version "1.2.0" 1508 | resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-1.2.0.tgz#ae9fbf93b984878785d50a8de1b356956058cf5c" 1509 | dependencies: 1510 | meow "^3.3.0" 1511 | 1512 | interpret@^1.0.0: 1513 | version "1.1.0" 1514 | resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.1.0.tgz#7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614" 1515 | 1516 | invert-kv@^1.0.0: 1517 | version "1.0.0" 1518 | resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" 1519 | 1520 | ip@^1.1.0, ip@^1.1.5: 1521 | version "1.1.5" 1522 | resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" 1523 | 1524 | ipaddr.js@1.5.2: 1525 | version "1.5.2" 1526 | resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.5.2.tgz#d4b505bde9946987ccf0fc58d9010ff9607e3fa0" 1527 | 1528 | is-arrayish@^0.2.1: 1529 | version "0.2.1" 1530 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 1531 | 1532 | is-binary-path@^1.0.0: 1533 | version "1.0.1" 1534 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" 1535 | dependencies: 1536 | binary-extensions "^1.0.0" 1537 | 1538 | is-buffer@^1.1.5: 1539 | version "1.1.6" 1540 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" 1541 | 1542 | is-builtin-module@^1.0.0: 1543 | version "1.0.0" 1544 | resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" 1545 | dependencies: 1546 | builtin-modules "^1.0.0" 1547 | 1548 | is-callable@^1.1.1, is-callable@^1.1.3: 1549 | version "1.1.3" 1550 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2" 1551 | 1552 | is-date-object@^1.0.1: 1553 | version "1.0.1" 1554 | resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" 1555 | 1556 | is-dotfile@^1.0.0: 1557 | version "1.0.3" 1558 | resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" 1559 | 1560 | is-equal-shallow@^0.1.3: 1561 | version "0.1.3" 1562 | resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" 1563 | dependencies: 1564 | is-primitive "^2.0.0" 1565 | 1566 | is-extendable@^0.1.1: 1567 | version "0.1.1" 1568 | resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" 1569 | 1570 | is-extglob@^1.0.0: 1571 | version "1.0.0" 1572 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" 1573 | 1574 | is-extglob@^2.1.0: 1575 | version "2.1.1" 1576 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 1577 | 1578 | is-finite@^1.0.0: 1579 | version "1.0.2" 1580 | resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" 1581 | dependencies: 1582 | number-is-nan "^1.0.0" 1583 | 1584 | is-fullwidth-code-point@^1.0.0: 1585 | version "1.0.0" 1586 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" 1587 | dependencies: 1588 | number-is-nan "^1.0.0" 1589 | 1590 | is-fullwidth-code-point@^2.0.0: 1591 | version "2.0.0" 1592 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" 1593 | 1594 | is-glob@^2.0.0, is-glob@^2.0.1: 1595 | version "2.0.1" 1596 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" 1597 | dependencies: 1598 | is-extglob "^1.0.0" 1599 | 1600 | is-glob@^3.1.0: 1601 | version "3.1.0" 1602 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" 1603 | dependencies: 1604 | is-extglob "^2.1.0" 1605 | 1606 | is-number@^2.1.0: 1607 | version "2.1.0" 1608 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" 1609 | dependencies: 1610 | kind-of "^3.0.2" 1611 | 1612 | is-number@^3.0.0: 1613 | version "3.0.0" 1614 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" 1615 | dependencies: 1616 | kind-of "^3.0.2" 1617 | 1618 | is-path-cwd@^1.0.0: 1619 | version "1.0.0" 1620 | resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" 1621 | 1622 | is-path-in-cwd@^1.0.0: 1623 | version "1.0.0" 1624 | resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz#6477582b8214d602346094567003be8a9eac04dc" 1625 | dependencies: 1626 | is-path-inside "^1.0.0" 1627 | 1628 | is-path-inside@^1.0.0: 1629 | version "1.0.1" 1630 | resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" 1631 | dependencies: 1632 | path-is-inside "^1.0.1" 1633 | 1634 | is-plain-object@^2.0.1: 1635 | version "2.0.4" 1636 | resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" 1637 | dependencies: 1638 | isobject "^3.0.1" 1639 | 1640 | is-posix-bracket@^0.1.0: 1641 | version "0.1.1" 1642 | resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" 1643 | 1644 | is-primitive@^2.0.0: 1645 | version "2.0.0" 1646 | resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" 1647 | 1648 | is-regex@^1.0.4: 1649 | version "1.0.4" 1650 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" 1651 | dependencies: 1652 | has "^1.0.1" 1653 | 1654 | is-stream@^1.0.1, is-stream@^1.1.0: 1655 | version "1.1.0" 1656 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" 1657 | 1658 | is-symbol@^1.0.1: 1659 | version "1.0.1" 1660 | resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572" 1661 | 1662 | is-typedarray@~1.0.0: 1663 | version "1.0.0" 1664 | resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" 1665 | 1666 | is-utf8@^0.2.0: 1667 | version "0.2.1" 1668 | resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" 1669 | 1670 | is-wsl@^1.1.0: 1671 | version "1.1.0" 1672 | resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" 1673 | 1674 | isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: 1675 | version "1.0.0" 1676 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 1677 | 1678 | isexe@^2.0.0: 1679 | version "2.0.0" 1680 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 1681 | 1682 | isobject@^2.0.0: 1683 | version "2.1.0" 1684 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" 1685 | dependencies: 1686 | isarray "1.0.0" 1687 | 1688 | isobject@^3.0.1: 1689 | version "3.0.1" 1690 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" 1691 | 1692 | isomorphic-fetch@^2.1.1: 1693 | version "2.2.1" 1694 | resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9" 1695 | dependencies: 1696 | node-fetch "^1.0.1" 1697 | whatwg-fetch ">=0.10.0" 1698 | 1699 | isstream@~0.1.2: 1700 | version "0.1.2" 1701 | resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" 1702 | 1703 | js-tokens@^3.0.0, js-tokens@^3.0.2: 1704 | version "3.0.2" 1705 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" 1706 | 1707 | jsbn@~0.1.0: 1708 | version "0.1.1" 1709 | resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" 1710 | 1711 | json-loader@^0.5.4: 1712 | version "0.5.7" 1713 | resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.7.tgz#dca14a70235ff82f0ac9a3abeb60d337a365185d" 1714 | 1715 | json-schema-traverse@^0.3.0: 1716 | version "0.3.1" 1717 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" 1718 | 1719 | json-schema@0.2.3: 1720 | version "0.2.3" 1721 | resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" 1722 | 1723 | json-stable-stringify@^1.0.1: 1724 | version "1.0.1" 1725 | resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" 1726 | dependencies: 1727 | jsonify "~0.0.0" 1728 | 1729 | json-stringify-safe@5.0.1, json-stringify-safe@~5.0.1: 1730 | version "5.0.1" 1731 | resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" 1732 | 1733 | json3@^3.3.2: 1734 | version "3.3.2" 1735 | resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" 1736 | 1737 | json5@^0.5.0, json5@^0.5.1: 1738 | version "0.5.1" 1739 | resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" 1740 | 1741 | jsonify@~0.0.0: 1742 | version "0.0.0" 1743 | resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" 1744 | 1745 | jsprim@^1.2.2: 1746 | version "1.4.1" 1747 | resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" 1748 | dependencies: 1749 | assert-plus "1.0.0" 1750 | extsprintf "1.3.0" 1751 | json-schema "0.2.3" 1752 | verror "1.10.0" 1753 | 1754 | killable@^1.0.0: 1755 | version "1.0.0" 1756 | resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.0.tgz#da8b84bd47de5395878f95d64d02f2449fe05e6b" 1757 | 1758 | kind-of@^3.0.2: 1759 | version "3.2.2" 1760 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" 1761 | dependencies: 1762 | is-buffer "^1.1.5" 1763 | 1764 | kind-of@^4.0.0: 1765 | version "4.0.0" 1766 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" 1767 | dependencies: 1768 | is-buffer "^1.1.5" 1769 | 1770 | lazy-cache@^1.0.3: 1771 | version "1.0.4" 1772 | resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" 1773 | 1774 | lcid@^1.0.0: 1775 | version "1.0.0" 1776 | resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" 1777 | dependencies: 1778 | invert-kv "^1.0.0" 1779 | 1780 | load-json-file@^1.0.0: 1781 | version "1.1.0" 1782 | resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" 1783 | dependencies: 1784 | graceful-fs "^4.1.2" 1785 | parse-json "^2.2.0" 1786 | pify "^2.0.0" 1787 | pinkie-promise "^2.0.0" 1788 | strip-bom "^2.0.0" 1789 | 1790 | load-json-file@^2.0.0: 1791 | version "2.0.0" 1792 | resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" 1793 | dependencies: 1794 | graceful-fs "^4.1.2" 1795 | parse-json "^2.2.0" 1796 | pify "^2.0.0" 1797 | strip-bom "^3.0.0" 1798 | 1799 | loader-runner@^2.3.0: 1800 | version "2.3.0" 1801 | resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2" 1802 | 1803 | loader-utils@1.1.0, loader-utils@^1.0.2, loader-utils@^1.1.0: 1804 | version "1.1.0" 1805 | resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.1.0.tgz#c98aef488bcceda2ffb5e2de646d6a754429f5cd" 1806 | dependencies: 1807 | big.js "^3.1.3" 1808 | emojis-list "^2.0.0" 1809 | json5 "^0.5.0" 1810 | 1811 | locate-path@^2.0.0: 1812 | version "2.0.0" 1813 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" 1814 | dependencies: 1815 | p-locate "^2.0.0" 1816 | path-exists "^3.0.0" 1817 | 1818 | lodash.endswith@^4.2.1: 1819 | version "4.2.1" 1820 | resolved "https://registry.yarnpkg.com/lodash.endswith/-/lodash.endswith-4.2.1.tgz#fed59ac1738ed3e236edd7064ec456448b37bc09" 1821 | 1822 | lodash.isfunction@^3.0.8: 1823 | version "3.0.8" 1824 | resolved "https://registry.yarnpkg.com/lodash.isfunction/-/lodash.isfunction-3.0.8.tgz#4db709fc81bc4a8fd7127a458a5346c5cdce2c6b" 1825 | 1826 | lodash.isstring@^4.0.1: 1827 | version "4.0.1" 1828 | resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" 1829 | 1830 | lodash.startswith@^4.2.1: 1831 | version "4.2.1" 1832 | resolved "https://registry.yarnpkg.com/lodash.startswith/-/lodash.startswith-4.2.1.tgz#c598c4adce188a27e53145731cdc6c0e7177600c" 1833 | 1834 | lodash@^4.14.0, lodash@^4.17.2, lodash@^4.6.1: 1835 | version "4.17.4" 1836 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" 1837 | 1838 | loglevel@^1.4.1: 1839 | version "1.6.0" 1840 | resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.0.tgz#ae0caa561111498c5ba13723d6fb631d24003934" 1841 | 1842 | longest@^1.0.1: 1843 | version "1.0.1" 1844 | resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" 1845 | 1846 | loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.3.1: 1847 | version "1.3.1" 1848 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" 1849 | dependencies: 1850 | js-tokens "^3.0.0" 1851 | 1852 | loud-rejection@^1.0.0: 1853 | version "1.6.0" 1854 | resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" 1855 | dependencies: 1856 | currently-unhandled "^0.4.1" 1857 | signal-exit "^3.0.0" 1858 | 1859 | lru-cache@^4.0.1: 1860 | version "4.1.1" 1861 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55" 1862 | dependencies: 1863 | pseudomap "^1.0.2" 1864 | yallist "^2.1.2" 1865 | 1866 | map-obj@^1.0.0, map-obj@^1.0.1: 1867 | version "1.0.1" 1868 | resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" 1869 | 1870 | md5.js@^1.3.4: 1871 | version "1.3.4" 1872 | resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.4.tgz#e9bdbde94a20a5ac18b04340fc5764d5b09d901d" 1873 | dependencies: 1874 | hash-base "^3.0.0" 1875 | inherits "^2.0.1" 1876 | 1877 | media-typer@0.3.0: 1878 | version "0.3.0" 1879 | resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" 1880 | 1881 | mem@^1.1.0: 1882 | version "1.1.0" 1883 | resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" 1884 | dependencies: 1885 | mimic-fn "^1.0.0" 1886 | 1887 | memory-fs@^0.4.0, memory-fs@~0.4.1: 1888 | version "0.4.1" 1889 | resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" 1890 | dependencies: 1891 | errno "^0.1.3" 1892 | readable-stream "^2.0.1" 1893 | 1894 | meow@^3.3.0: 1895 | version "3.7.0" 1896 | resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" 1897 | dependencies: 1898 | camelcase-keys "^2.0.0" 1899 | decamelize "^1.1.2" 1900 | loud-rejection "^1.0.0" 1901 | map-obj "^1.0.1" 1902 | minimist "^1.1.3" 1903 | normalize-package-data "^2.3.4" 1904 | object-assign "^4.0.1" 1905 | read-pkg-up "^1.0.1" 1906 | redent "^1.0.0" 1907 | trim-newlines "^1.0.0" 1908 | 1909 | merge-descriptors@1.0.1: 1910 | version "1.0.1" 1911 | resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" 1912 | 1913 | methods@~1.1.2: 1914 | version "1.1.2" 1915 | resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" 1916 | 1917 | micromatch@^2.1.5, micromatch@^2.3.11: 1918 | version "2.3.11" 1919 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" 1920 | dependencies: 1921 | arr-diff "^2.0.0" 1922 | array-unique "^0.2.1" 1923 | braces "^1.8.2" 1924 | expand-brackets "^0.1.4" 1925 | extglob "^0.3.1" 1926 | filename-regex "^2.0.0" 1927 | is-extglob "^1.0.0" 1928 | is-glob "^2.0.1" 1929 | kind-of "^3.0.2" 1930 | normalize-path "^2.0.1" 1931 | object.omit "^2.0.0" 1932 | parse-glob "^3.0.4" 1933 | regex-cache "^0.4.2" 1934 | 1935 | miller-rabin@^4.0.0: 1936 | version "4.0.1" 1937 | resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" 1938 | dependencies: 1939 | bn.js "^4.0.0" 1940 | brorand "^1.0.1" 1941 | 1942 | "mime-db@>= 1.30.0 < 2": 1943 | version "1.32.0" 1944 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.32.0.tgz#485b3848b01a3cda5f968b4882c0771e58e09414" 1945 | 1946 | mime-db@~1.30.0: 1947 | version "1.30.0" 1948 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.30.0.tgz#74c643da2dd9d6a45399963465b26d5ca7d71f01" 1949 | 1950 | mime-types@^2.1.12, mime-types@~2.1.15, mime-types@~2.1.16, mime-types@~2.1.17, mime-types@~2.1.7: 1951 | version "2.1.17" 1952 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.17.tgz#09d7a393f03e995a79f8af857b70a9e0ab16557a" 1953 | dependencies: 1954 | mime-db "~1.30.0" 1955 | 1956 | mime@1.4.1: 1957 | version "1.4.1" 1958 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" 1959 | 1960 | mime@^1.5.0: 1961 | version "1.6.0" 1962 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" 1963 | 1964 | mimic-fn@^1.0.0: 1965 | version "1.1.0" 1966 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18" 1967 | 1968 | min-document@^2.19.0: 1969 | version "2.19.0" 1970 | resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685" 1971 | dependencies: 1972 | dom-walk "^0.1.0" 1973 | 1974 | minimalistic-assert@^1.0.0: 1975 | version "1.0.0" 1976 | resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz#702be2dda6b37f4836bcb3f5db56641b64a1d3d3" 1977 | 1978 | minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: 1979 | version "1.0.1" 1980 | resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" 1981 | 1982 | "minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4: 1983 | version "3.0.4" 1984 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 1985 | dependencies: 1986 | brace-expansion "^1.1.7" 1987 | 1988 | minimist@0.0.8: 1989 | version "0.0.8" 1990 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 1991 | 1992 | minimist@^1.1.3, minimist@^1.2.0: 1993 | version "1.2.0" 1994 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" 1995 | 1996 | mkdirp@0.5.1, mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.1, mkdirp@~0.5.0: 1997 | version "0.5.1" 1998 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 1999 | dependencies: 2000 | minimist "0.0.8" 2001 | 2002 | ms@2.0.0: 2003 | version "2.0.0" 2004 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 2005 | 2006 | multicast-dns-service-types@^1.1.0: 2007 | version "1.1.0" 2008 | resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" 2009 | 2010 | multicast-dns@^6.0.1: 2011 | version "6.2.1" 2012 | resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.2.1.tgz#c5035defa9219d30640558a49298067352098060" 2013 | dependencies: 2014 | dns-packet "^1.0.1" 2015 | thunky "^0.1.0" 2016 | 2017 | nan@^2.3.0: 2018 | version "2.8.0" 2019 | resolved "https://registry.yarnpkg.com/nan/-/nan-2.8.0.tgz#ed715f3fe9de02b57a5e6252d90a96675e1f085a" 2020 | 2021 | negotiator@0.6.1: 2022 | version "0.6.1" 2023 | resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" 2024 | 2025 | node-fetch@^1.0.1: 2026 | version "1.7.3" 2027 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" 2028 | dependencies: 2029 | encoding "^0.1.11" 2030 | is-stream "^1.0.1" 2031 | 2032 | node-forge@0.6.33: 2033 | version "0.6.33" 2034 | resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.6.33.tgz#463811879f573d45155ad6a9f43dc296e8e85ebc" 2035 | 2036 | node-libs-browser@^2.0.0: 2037 | version "2.1.0" 2038 | resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.1.0.tgz#5f94263d404f6e44767d726901fff05478d600df" 2039 | dependencies: 2040 | assert "^1.1.1" 2041 | browserify-zlib "^0.2.0" 2042 | buffer "^4.3.0" 2043 | console-browserify "^1.1.0" 2044 | constants-browserify "^1.0.0" 2045 | crypto-browserify "^3.11.0" 2046 | domain-browser "^1.1.1" 2047 | events "^1.0.0" 2048 | https-browserify "^1.0.0" 2049 | os-browserify "^0.3.0" 2050 | path-browserify "0.0.0" 2051 | process "^0.11.10" 2052 | punycode "^1.2.4" 2053 | querystring-es3 "^0.2.0" 2054 | readable-stream "^2.3.3" 2055 | stream-browserify "^2.0.1" 2056 | stream-http "^2.7.2" 2057 | string_decoder "^1.0.0" 2058 | timers-browserify "^2.0.4" 2059 | tty-browserify "0.0.0" 2060 | url "^0.11.0" 2061 | util "^0.10.3" 2062 | vm-browserify "0.0.4" 2063 | 2064 | node-pre-gyp@^0.6.39: 2065 | version "0.6.39" 2066 | resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz#c00e96860b23c0e1420ac7befc5044e1d78d8649" 2067 | dependencies: 2068 | detect-libc "^1.0.2" 2069 | hawk "3.1.3" 2070 | mkdirp "^0.5.1" 2071 | nopt "^4.0.1" 2072 | npmlog "^4.0.2" 2073 | rc "^1.1.7" 2074 | request "2.81.0" 2075 | rimraf "^2.6.1" 2076 | semver "^5.3.0" 2077 | tar "^2.2.1" 2078 | tar-pack "^3.4.0" 2079 | 2080 | nopt@^4.0.1: 2081 | version "4.0.1" 2082 | resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" 2083 | dependencies: 2084 | abbrev "1" 2085 | osenv "^0.1.4" 2086 | 2087 | normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: 2088 | version "2.4.0" 2089 | resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" 2090 | dependencies: 2091 | hosted-git-info "^2.1.4" 2092 | is-builtin-module "^1.0.0" 2093 | semver "2 || 3 || 4 || 5" 2094 | validate-npm-package-license "^3.0.1" 2095 | 2096 | normalize-path@^2.0.0, normalize-path@^2.0.1: 2097 | version "2.1.1" 2098 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" 2099 | dependencies: 2100 | remove-trailing-separator "^1.0.1" 2101 | 2102 | npm-run-path@^2.0.0: 2103 | version "2.0.2" 2104 | resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" 2105 | dependencies: 2106 | path-key "^2.0.0" 2107 | 2108 | npmlog@^4.0.2: 2109 | version "4.1.2" 2110 | resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" 2111 | dependencies: 2112 | are-we-there-yet "~1.1.2" 2113 | console-control-strings "~1.1.0" 2114 | gauge "~2.7.3" 2115 | set-blocking "~2.0.0" 2116 | 2117 | number-is-nan@^1.0.0: 2118 | version "1.0.1" 2119 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" 2120 | 2121 | oauth-sign@~0.8.1: 2122 | version "0.8.2" 2123 | resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" 2124 | 2125 | object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: 2126 | version "4.1.1" 2127 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 2128 | 2129 | object-keys@^1.0.8: 2130 | version "1.0.11" 2131 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d" 2132 | 2133 | object.omit@^2.0.0: 2134 | version "2.0.1" 2135 | resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" 2136 | dependencies: 2137 | for-own "^0.1.4" 2138 | is-extendable "^0.1.1" 2139 | 2140 | obuf@^1.0.0, obuf@^1.1.1: 2141 | version "1.1.1" 2142 | resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.1.tgz#104124b6c602c6796881a042541d36db43a5264e" 2143 | 2144 | on-finished@~2.3.0: 2145 | version "2.3.0" 2146 | resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" 2147 | dependencies: 2148 | ee-first "1.1.1" 2149 | 2150 | on-headers@~1.0.1: 2151 | version "1.0.1" 2152 | resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.1.tgz#928f5d0f470d49342651ea6794b0857c100693f7" 2153 | 2154 | once@^1.3.0, once@^1.3.3: 2155 | version "1.4.0" 2156 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 2157 | dependencies: 2158 | wrappy "1" 2159 | 2160 | opn@^5.1.0: 2161 | version "5.1.0" 2162 | resolved "https://registry.yarnpkg.com/opn/-/opn-5.1.0.tgz#72ce2306a17dbea58ff1041853352b4a8fc77519" 2163 | dependencies: 2164 | is-wsl "^1.1.0" 2165 | 2166 | original@>=0.0.5: 2167 | version "1.0.0" 2168 | resolved "https://registry.yarnpkg.com/original/-/original-1.0.0.tgz#9147f93fa1696d04be61e01bd50baeaca656bd3b" 2169 | dependencies: 2170 | url-parse "1.0.x" 2171 | 2172 | os-browserify@^0.3.0: 2173 | version "0.3.0" 2174 | resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" 2175 | 2176 | os-homedir@^1.0.0: 2177 | version "1.0.2" 2178 | resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" 2179 | 2180 | os-locale@^1.4.0: 2181 | version "1.4.0" 2182 | resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" 2183 | dependencies: 2184 | lcid "^1.0.0" 2185 | 2186 | os-locale@^2.0.0: 2187 | version "2.1.0" 2188 | resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" 2189 | dependencies: 2190 | execa "^0.7.0" 2191 | lcid "^1.0.0" 2192 | mem "^1.1.0" 2193 | 2194 | os-tmpdir@^1.0.0: 2195 | version "1.0.2" 2196 | resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" 2197 | 2198 | osenv@^0.1.4: 2199 | version "0.1.4" 2200 | resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644" 2201 | dependencies: 2202 | os-homedir "^1.0.0" 2203 | os-tmpdir "^1.0.0" 2204 | 2205 | p-finally@^1.0.0: 2206 | version "1.0.0" 2207 | resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" 2208 | 2209 | p-limit@^1.1.0: 2210 | version "1.1.0" 2211 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.1.0.tgz#b07ff2d9a5d88bec806035895a2bab66a27988bc" 2212 | 2213 | p-locate@^2.0.0: 2214 | version "2.0.0" 2215 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" 2216 | dependencies: 2217 | p-limit "^1.1.0" 2218 | 2219 | p-map@^1.1.1: 2220 | version "1.2.0" 2221 | resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" 2222 | 2223 | pako@~1.0.5: 2224 | version "1.0.6" 2225 | resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.6.tgz#0101211baa70c4bca4a0f63f2206e97b7dfaf258" 2226 | 2227 | parse-asn1@^5.0.0: 2228 | version "5.1.0" 2229 | resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.0.tgz#37c4f9b7ed3ab65c74817b5f2480937fbf97c712" 2230 | dependencies: 2231 | asn1.js "^4.0.0" 2232 | browserify-aes "^1.0.0" 2233 | create-hash "^1.1.0" 2234 | evp_bytestokey "^1.0.0" 2235 | pbkdf2 "^3.0.3" 2236 | 2237 | parse-glob@^3.0.4: 2238 | version "3.0.4" 2239 | resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" 2240 | dependencies: 2241 | glob-base "^0.3.0" 2242 | is-dotfile "^1.0.0" 2243 | is-extglob "^1.0.0" 2244 | is-glob "^2.0.0" 2245 | 2246 | parse-json@^2.2.0: 2247 | version "2.2.0" 2248 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" 2249 | dependencies: 2250 | error-ex "^1.2.0" 2251 | 2252 | parseurl@~1.3.2: 2253 | version "1.3.2" 2254 | resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" 2255 | 2256 | path-browserify@0.0.0: 2257 | version "0.0.0" 2258 | resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a" 2259 | 2260 | path-exists@^2.0.0: 2261 | version "2.1.0" 2262 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" 2263 | dependencies: 2264 | pinkie-promise "^2.0.0" 2265 | 2266 | path-exists@^3.0.0: 2267 | version "3.0.0" 2268 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" 2269 | 2270 | path-is-absolute@^1.0.0: 2271 | version "1.0.1" 2272 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 2273 | 2274 | path-is-inside@^1.0.1: 2275 | version "1.0.2" 2276 | resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" 2277 | 2278 | path-key@^2.0.0: 2279 | version "2.0.1" 2280 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" 2281 | 2282 | path-parse@^1.0.5: 2283 | version "1.0.5" 2284 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" 2285 | 2286 | path-to-regexp@0.1.7: 2287 | version "0.1.7" 2288 | resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" 2289 | 2290 | path-type@^1.0.0: 2291 | version "1.1.0" 2292 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" 2293 | dependencies: 2294 | graceful-fs "^4.1.2" 2295 | pify "^2.0.0" 2296 | pinkie-promise "^2.0.0" 2297 | 2298 | path-type@^2.0.0: 2299 | version "2.0.0" 2300 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" 2301 | dependencies: 2302 | pify "^2.0.0" 2303 | 2304 | pbkdf2@^3.0.3: 2305 | version "3.0.14" 2306 | resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.14.tgz#a35e13c64799b06ce15320f459c230e68e73bade" 2307 | dependencies: 2308 | create-hash "^1.1.2" 2309 | create-hmac "^1.1.4" 2310 | ripemd160 "^2.0.1" 2311 | safe-buffer "^5.0.1" 2312 | sha.js "^2.4.8" 2313 | 2314 | performance-now@^0.2.0: 2315 | version "0.2.0" 2316 | resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" 2317 | 2318 | pify@^2.0.0: 2319 | version "2.3.0" 2320 | resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" 2321 | 2322 | pify@^3.0.0: 2323 | version "3.0.0" 2324 | resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" 2325 | 2326 | pinkie-promise@^2.0.0: 2327 | version "2.0.1" 2328 | resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" 2329 | dependencies: 2330 | pinkie "^2.0.0" 2331 | 2332 | pinkie@^2.0.0: 2333 | version "2.0.4" 2334 | resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" 2335 | 2336 | pkg-dir@^2.0.0: 2337 | version "2.0.0" 2338 | resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" 2339 | dependencies: 2340 | find-up "^2.1.0" 2341 | 2342 | portfinder@^1.0.9: 2343 | version "1.0.13" 2344 | resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.13.tgz#bb32ecd87c27104ae6ee44b5a3ccbf0ebb1aede9" 2345 | dependencies: 2346 | async "^1.5.2" 2347 | debug "^2.2.0" 2348 | mkdirp "0.5.x" 2349 | 2350 | postcss-value-parser@^3.3.0: 2351 | version "3.3.0" 2352 | resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz#87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15" 2353 | 2354 | preserve@^0.2.0: 2355 | version "0.2.0" 2356 | resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" 2357 | 2358 | process-nextick-args@~1.0.6: 2359 | version "1.0.7" 2360 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" 2361 | 2362 | process@^0.11.10: 2363 | version "0.11.10" 2364 | resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" 2365 | 2366 | process@~0.5.1: 2367 | version "0.5.2" 2368 | resolved "https://registry.yarnpkg.com/process/-/process-0.5.2.tgz#1638d8a8e34c2f440a91db95ab9aeb677fc185cf" 2369 | 2370 | promise@^7.1.1: 2371 | version "7.3.1" 2372 | resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" 2373 | dependencies: 2374 | asap "~2.0.3" 2375 | 2376 | prop-types@^15.5.4, prop-types@^15.6.0: 2377 | version "15.6.0" 2378 | resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.0.tgz#ceaf083022fc46b4a35f69e13ef75aed0d639856" 2379 | dependencies: 2380 | fbjs "^0.8.16" 2381 | loose-envify "^1.3.1" 2382 | object-assign "^4.1.1" 2383 | 2384 | proxy-addr@~2.0.2: 2385 | version "2.0.2" 2386 | resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.2.tgz#6571504f47bb988ec8180253f85dd7e14952bdec" 2387 | dependencies: 2388 | forwarded "~0.1.2" 2389 | ipaddr.js "1.5.2" 2390 | 2391 | prr@~1.0.1: 2392 | version "1.0.1" 2393 | resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" 2394 | 2395 | pseudomap@^1.0.2: 2396 | version "1.0.2" 2397 | resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" 2398 | 2399 | public-encrypt@^4.0.0: 2400 | version "4.0.0" 2401 | resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.0.tgz#39f699f3a46560dd5ebacbca693caf7c65c18cc6" 2402 | dependencies: 2403 | bn.js "^4.1.0" 2404 | browserify-rsa "^4.0.0" 2405 | create-hash "^1.1.0" 2406 | parse-asn1 "^5.0.0" 2407 | randombytes "^2.0.1" 2408 | 2409 | punycode@1.3.2: 2410 | version "1.3.2" 2411 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" 2412 | 2413 | punycode@^1.2.4, punycode@^1.4.1: 2414 | version "1.4.1" 2415 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" 2416 | 2417 | qs@6.5.1: 2418 | version "6.5.1" 2419 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8" 2420 | 2421 | qs@~6.4.0: 2422 | version "6.4.0" 2423 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" 2424 | 2425 | querystring-es3@^0.2.0: 2426 | version "0.2.1" 2427 | resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" 2428 | 2429 | querystring@0.2.0: 2430 | version "0.2.0" 2431 | resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" 2432 | 2433 | querystringify@0.0.x: 2434 | version "0.0.4" 2435 | resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-0.0.4.tgz#0cf7f84f9463ff0ae51c4c4b142d95be37724d9c" 2436 | 2437 | querystringify@~1.0.0: 2438 | version "1.0.0" 2439 | resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-1.0.0.tgz#6286242112c5b712fa654e526652bf6a13ff05cb" 2440 | 2441 | randomatic@^1.1.3: 2442 | version "1.1.7" 2443 | resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.7.tgz#c7abe9cc8b87c0baa876b19fde83fd464797e38c" 2444 | dependencies: 2445 | is-number "^3.0.0" 2446 | kind-of "^4.0.0" 2447 | 2448 | randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: 2449 | version "2.0.5" 2450 | resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.5.tgz#dc009a246b8d09a177b4b7a0ae77bc570f4b1b79" 2451 | dependencies: 2452 | safe-buffer "^5.1.0" 2453 | 2454 | randomfill@^1.0.3: 2455 | version "1.0.3" 2456 | resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.3.tgz#b96b7df587f01dd91726c418f30553b1418e3d62" 2457 | dependencies: 2458 | randombytes "^2.0.5" 2459 | safe-buffer "^5.1.0" 2460 | 2461 | range-parser@^1.0.3, range-parser@~1.2.0: 2462 | version "1.2.0" 2463 | resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" 2464 | 2465 | raw-body@2.3.2: 2466 | version "2.3.2" 2467 | resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.2.tgz#bcd60c77d3eb93cde0050295c3f379389bc88f89" 2468 | dependencies: 2469 | bytes "3.0.0" 2470 | http-errors "1.6.2" 2471 | iconv-lite "0.4.19" 2472 | unpipe "1.0.0" 2473 | 2474 | rc@^1.1.7: 2475 | version "1.2.2" 2476 | resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.2.tgz#d8ce9cb57e8d64d9c7badd9876c7c34cbe3c7077" 2477 | dependencies: 2478 | deep-extend "~0.4.0" 2479 | ini "~1.3.0" 2480 | minimist "^1.2.0" 2481 | strip-json-comments "~2.0.1" 2482 | 2483 | react-deep-force-update@^2.1.1: 2484 | version "2.1.1" 2485 | resolved "https://registry.yarnpkg.com/react-deep-force-update/-/react-deep-force-update-2.1.1.tgz#8ea4263cd6455a050b37445b3f08fd839d86e909" 2486 | 2487 | react-dom@^16.2.0: 2488 | version "16.2.0" 2489 | resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.2.0.tgz#69003178601c0ca19b709b33a83369fe6124c044" 2490 | dependencies: 2491 | fbjs "^0.8.16" 2492 | loose-envify "^1.1.0" 2493 | object-assign "^4.1.1" 2494 | prop-types "^15.6.0" 2495 | 2496 | react-hot-loader@^3.1.3: 2497 | version "3.1.3" 2498 | resolved "https://registry.yarnpkg.com/react-hot-loader/-/react-hot-loader-3.1.3.tgz#6f92877326958c7cb0134b512474517869126082" 2499 | dependencies: 2500 | global "^4.3.0" 2501 | react-deep-force-update "^2.1.1" 2502 | react-proxy "^3.0.0-alpha.0" 2503 | redbox-react "^1.3.6" 2504 | source-map "^0.6.1" 2505 | 2506 | react-proxy@^3.0.0-alpha.0: 2507 | version "3.0.0-alpha.1" 2508 | resolved "https://registry.yarnpkg.com/react-proxy/-/react-proxy-3.0.0-alpha.1.tgz#4400426bcfa80caa6724c7755695315209fa4b07" 2509 | dependencies: 2510 | lodash "^4.6.1" 2511 | 2512 | react@^16.2.0: 2513 | version "16.2.0" 2514 | resolved "https://registry.yarnpkg.com/react/-/react-16.2.0.tgz#a31bd2dab89bff65d42134fa187f24d054c273ba" 2515 | dependencies: 2516 | fbjs "^0.8.16" 2517 | loose-envify "^1.1.0" 2518 | object-assign "^4.1.1" 2519 | prop-types "^15.6.0" 2520 | 2521 | read-pkg-up@^1.0.1: 2522 | version "1.0.1" 2523 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" 2524 | dependencies: 2525 | find-up "^1.0.0" 2526 | read-pkg "^1.0.0" 2527 | 2528 | read-pkg-up@^2.0.0: 2529 | version "2.0.0" 2530 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" 2531 | dependencies: 2532 | find-up "^2.0.0" 2533 | read-pkg "^2.0.0" 2534 | 2535 | read-pkg@^1.0.0: 2536 | version "1.1.0" 2537 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" 2538 | dependencies: 2539 | load-json-file "^1.0.0" 2540 | normalize-package-data "^2.3.2" 2541 | path-type "^1.0.0" 2542 | 2543 | read-pkg@^2.0.0: 2544 | version "2.0.0" 2545 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" 2546 | dependencies: 2547 | load-json-file "^2.0.0" 2548 | normalize-package-data "^2.3.2" 2549 | path-type "^2.0.0" 2550 | 2551 | readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.2.6, readable-stream@^2.2.9, readable-stream@^2.3.3: 2552 | version "2.3.3" 2553 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c" 2554 | dependencies: 2555 | core-util-is "~1.0.0" 2556 | inherits "~2.0.3" 2557 | isarray "~1.0.0" 2558 | process-nextick-args "~1.0.6" 2559 | safe-buffer "~5.1.1" 2560 | string_decoder "~1.0.3" 2561 | util-deprecate "~1.0.1" 2562 | 2563 | readdirp@^2.0.0: 2564 | version "2.1.0" 2565 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" 2566 | dependencies: 2567 | graceful-fs "^4.1.2" 2568 | minimatch "^3.0.2" 2569 | readable-stream "^2.0.2" 2570 | set-immediate-shim "^1.0.1" 2571 | 2572 | redbox-react@^1.3.6: 2573 | version "1.5.0" 2574 | resolved "https://registry.yarnpkg.com/redbox-react/-/redbox-react-1.5.0.tgz#04dab11557d26651bf3562a67c22ace56c5d3967" 2575 | dependencies: 2576 | error-stack-parser "^1.3.6" 2577 | object-assign "^4.0.1" 2578 | prop-types "^15.5.4" 2579 | sourcemapped-stacktrace "^1.1.6" 2580 | 2581 | redent@^1.0.0: 2582 | version "1.0.0" 2583 | resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" 2584 | dependencies: 2585 | indent-string "^2.1.0" 2586 | strip-indent "^1.0.1" 2587 | 2588 | regex-cache@^0.4.2: 2589 | version "0.4.4" 2590 | resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" 2591 | dependencies: 2592 | is-equal-shallow "^0.1.3" 2593 | 2594 | remove-trailing-separator@^1.0.1: 2595 | version "1.1.0" 2596 | resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" 2597 | 2598 | repeat-element@^1.1.2: 2599 | version "1.1.2" 2600 | resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" 2601 | 2602 | repeat-string@^1.5.2: 2603 | version "1.6.1" 2604 | resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" 2605 | 2606 | repeating@^2.0.0: 2607 | version "2.0.1" 2608 | resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" 2609 | dependencies: 2610 | is-finite "^1.0.0" 2611 | 2612 | request@2.81.0: 2613 | version "2.81.0" 2614 | resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" 2615 | dependencies: 2616 | aws-sign2 "~0.6.0" 2617 | aws4 "^1.2.1" 2618 | caseless "~0.12.0" 2619 | combined-stream "~1.0.5" 2620 | extend "~3.0.0" 2621 | forever-agent "~0.6.1" 2622 | form-data "~2.1.1" 2623 | har-validator "~4.2.1" 2624 | hawk "~3.1.3" 2625 | http-signature "~1.1.0" 2626 | is-typedarray "~1.0.0" 2627 | isstream "~0.1.2" 2628 | json-stringify-safe "~5.0.1" 2629 | mime-types "~2.1.7" 2630 | oauth-sign "~0.8.1" 2631 | performance-now "^0.2.0" 2632 | qs "~6.4.0" 2633 | safe-buffer "^5.0.1" 2634 | stringstream "~0.0.4" 2635 | tough-cookie "~2.3.0" 2636 | tunnel-agent "^0.6.0" 2637 | uuid "^3.0.0" 2638 | 2639 | require-directory@^2.1.1: 2640 | version "2.1.1" 2641 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" 2642 | 2643 | require-main-filename@^1.0.1: 2644 | version "1.0.1" 2645 | resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" 2646 | 2647 | requires-port@1.0.x, requires-port@1.x.x, requires-port@~1.0.0: 2648 | version "1.0.0" 2649 | resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" 2650 | 2651 | resolve-cwd@^2.0.0: 2652 | version "2.0.0" 2653 | resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" 2654 | dependencies: 2655 | resolve-from "^3.0.0" 2656 | 2657 | resolve-from@^3.0.0: 2658 | version "3.0.0" 2659 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" 2660 | 2661 | resolve@^1.3.2: 2662 | version "1.5.0" 2663 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.5.0.tgz#1f09acce796c9a762579f31b2c1cc4c3cddf9f36" 2664 | dependencies: 2665 | path-parse "^1.0.5" 2666 | 2667 | right-align@^0.1.1: 2668 | version "0.1.3" 2669 | resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" 2670 | dependencies: 2671 | align-text "^0.1.1" 2672 | 2673 | rimraf@2, rimraf@^2.2.8, rimraf@^2.5.1, rimraf@^2.6.1: 2674 | version "2.6.2" 2675 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" 2676 | dependencies: 2677 | glob "^7.0.5" 2678 | 2679 | ripemd160@^2.0.0, ripemd160@^2.0.1: 2680 | version "2.0.1" 2681 | resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.1.tgz#0f4584295c53a3628af7e6d79aca21ce57d1c6e7" 2682 | dependencies: 2683 | hash-base "^2.0.0" 2684 | inherits "^2.0.1" 2685 | 2686 | safe-buffer@5.1.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: 2687 | version "5.1.1" 2688 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" 2689 | 2690 | select-hose@^2.0.0: 2691 | version "2.0.0" 2692 | resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" 2693 | 2694 | selfsigned@^1.9.1: 2695 | version "1.10.1" 2696 | resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.1.tgz#bf8cb7b83256c4551e31347c6311778db99eec52" 2697 | dependencies: 2698 | node-forge "0.6.33" 2699 | 2700 | "semver@2 || 3 || 4 || 5", semver@^5.0.1, semver@^5.3.0: 2701 | version "5.4.1" 2702 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" 2703 | 2704 | send@0.16.1: 2705 | version "0.16.1" 2706 | resolved "https://registry.yarnpkg.com/send/-/send-0.16.1.tgz#a70e1ca21d1382c11d0d9f6231deb281080d7ab3" 2707 | dependencies: 2708 | debug "2.6.9" 2709 | depd "~1.1.1" 2710 | destroy "~1.0.4" 2711 | encodeurl "~1.0.1" 2712 | escape-html "~1.0.3" 2713 | etag "~1.8.1" 2714 | fresh "0.5.2" 2715 | http-errors "~1.6.2" 2716 | mime "1.4.1" 2717 | ms "2.0.0" 2718 | on-finished "~2.3.0" 2719 | range-parser "~1.2.0" 2720 | statuses "~1.3.1" 2721 | 2722 | serialize-error@^2.1.0: 2723 | version "2.1.0" 2724 | resolved "https://registry.yarnpkg.com/serialize-error/-/serialize-error-2.1.0.tgz#50b679d5635cdf84667bdc8e59af4e5b81d5f60a" 2725 | 2726 | serve-index@^1.7.2: 2727 | version "1.9.1" 2728 | resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" 2729 | dependencies: 2730 | accepts "~1.3.4" 2731 | batch "0.6.1" 2732 | debug "2.6.9" 2733 | escape-html "~1.0.3" 2734 | http-errors "~1.6.2" 2735 | mime-types "~2.1.17" 2736 | parseurl "~1.3.2" 2737 | 2738 | serve-static@1.13.1: 2739 | version "1.13.1" 2740 | resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.1.tgz#4c57d53404a761d8f2e7c1e8a18a47dbf278a719" 2741 | dependencies: 2742 | encodeurl "~1.0.1" 2743 | escape-html "~1.0.3" 2744 | parseurl "~1.3.2" 2745 | send "0.16.1" 2746 | 2747 | set-blocking@^2.0.0, set-blocking@~2.0.0: 2748 | version "2.0.0" 2749 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" 2750 | 2751 | set-immediate-shim@^1.0.1: 2752 | version "1.0.1" 2753 | resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" 2754 | 2755 | setimmediate@^1.0.4, setimmediate@^1.0.5: 2756 | version "1.0.5" 2757 | resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" 2758 | 2759 | setprototypeof@1.0.3: 2760 | version "1.0.3" 2761 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04" 2762 | 2763 | setprototypeof@1.1.0: 2764 | version "1.1.0" 2765 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" 2766 | 2767 | sha.js@^2.4.0, sha.js@^2.4.8: 2768 | version "2.4.9" 2769 | resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.9.tgz#98f64880474b74f4a38b8da9d3c0f2d104633e7d" 2770 | dependencies: 2771 | inherits "^2.0.1" 2772 | safe-buffer "^5.0.1" 2773 | 2774 | shebang-command@^1.2.0: 2775 | version "1.2.0" 2776 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" 2777 | dependencies: 2778 | shebang-regex "^1.0.0" 2779 | 2780 | shebang-regex@^1.0.0: 2781 | version "1.0.0" 2782 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" 2783 | 2784 | signal-exit@^3.0.0: 2785 | version "3.0.2" 2786 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" 2787 | 2788 | sntp@1.x.x: 2789 | version "1.0.9" 2790 | resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" 2791 | dependencies: 2792 | hoek "2.x.x" 2793 | 2794 | sockjs-client@1.1.4: 2795 | version "1.1.4" 2796 | resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.1.4.tgz#5babe386b775e4cf14e7520911452654016c8b12" 2797 | dependencies: 2798 | debug "^2.6.6" 2799 | eventsource "0.1.6" 2800 | faye-websocket "~0.11.0" 2801 | inherits "^2.0.1" 2802 | json3 "^3.3.2" 2803 | url-parse "^1.1.8" 2804 | 2805 | sockjs@0.3.18: 2806 | version "0.3.18" 2807 | resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.18.tgz#d9b289316ca7df77595ef299e075f0f937eb4207" 2808 | dependencies: 2809 | faye-websocket "^0.10.0" 2810 | uuid "^2.0.2" 2811 | 2812 | source-list-map@^2.0.0: 2813 | version "2.0.0" 2814 | resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.0.tgz#aaa47403f7b245a92fbc97ea08f250d6087ed085" 2815 | 2816 | source-map@0.5.6: 2817 | version "0.5.6" 2818 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" 2819 | 2820 | source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1: 2821 | version "0.5.7" 2822 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" 2823 | 2824 | source-map@^0.6.1, source-map@~0.6.1: 2825 | version "0.6.1" 2826 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 2827 | 2828 | sourcemapped-stacktrace@^1.1.6: 2829 | version "1.1.8" 2830 | resolved "https://registry.yarnpkg.com/sourcemapped-stacktrace/-/sourcemapped-stacktrace-1.1.8.tgz#6b7a3f1a6fb15f6d40e701e23ce404553480d688" 2831 | dependencies: 2832 | source-map "0.5.6" 2833 | 2834 | spdx-correct@~1.0.0: 2835 | version "1.0.2" 2836 | resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" 2837 | dependencies: 2838 | spdx-license-ids "^1.0.2" 2839 | 2840 | spdx-expression-parse@~1.0.0: 2841 | version "1.0.4" 2842 | resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" 2843 | 2844 | spdx-license-ids@^1.0.2: 2845 | version "1.2.2" 2846 | resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" 2847 | 2848 | spdy-transport@^2.0.18: 2849 | version "2.0.20" 2850 | resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-2.0.20.tgz#735e72054c486b2354fe89e702256004a39ace4d" 2851 | dependencies: 2852 | debug "^2.6.8" 2853 | detect-node "^2.0.3" 2854 | hpack.js "^2.1.6" 2855 | obuf "^1.1.1" 2856 | readable-stream "^2.2.9" 2857 | safe-buffer "^5.0.1" 2858 | wbuf "^1.7.2" 2859 | 2860 | spdy@^3.4.1: 2861 | version "3.4.7" 2862 | resolved "https://registry.yarnpkg.com/spdy/-/spdy-3.4.7.tgz#42ff41ece5cc0f99a3a6c28aabb73f5c3b03acbc" 2863 | dependencies: 2864 | debug "^2.6.8" 2865 | handle-thing "^1.2.5" 2866 | http-deceiver "^1.2.7" 2867 | safe-buffer "^5.0.1" 2868 | select-hose "^2.0.0" 2869 | spdy-transport "^2.0.18" 2870 | 2871 | sshpk@^1.7.0: 2872 | version "1.13.1" 2873 | resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.1.tgz#512df6da6287144316dc4c18fe1cf1d940739be3" 2874 | dependencies: 2875 | asn1 "~0.2.3" 2876 | assert-plus "^1.0.0" 2877 | dashdash "^1.12.0" 2878 | getpass "^0.1.1" 2879 | optionalDependencies: 2880 | bcrypt-pbkdf "^1.0.0" 2881 | ecc-jsbn "~0.1.1" 2882 | jsbn "~0.1.0" 2883 | tweetnacl "~0.14.0" 2884 | 2885 | stackframe@^0.3.1: 2886 | version "0.3.1" 2887 | resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-0.3.1.tgz#33aa84f1177a5548c8935533cbfeb3420975f5a4" 2888 | 2889 | "statuses@>= 1.3.1 < 2": 2890 | version "1.4.0" 2891 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087" 2892 | 2893 | statuses@~1.3.1: 2894 | version "1.3.1" 2895 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" 2896 | 2897 | stream-browserify@^2.0.1: 2898 | version "2.0.1" 2899 | resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db" 2900 | dependencies: 2901 | inherits "~2.0.1" 2902 | readable-stream "^2.0.2" 2903 | 2904 | stream-http@^2.7.2: 2905 | version "2.7.2" 2906 | resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.7.2.tgz#40a050ec8dc3b53b33d9909415c02c0bf1abfbad" 2907 | dependencies: 2908 | builtin-status-codes "^3.0.0" 2909 | inherits "^2.0.1" 2910 | readable-stream "^2.2.6" 2911 | to-arraybuffer "^1.0.0" 2912 | xtend "^4.0.0" 2913 | 2914 | string-width@^1.0.1, string-width@^1.0.2: 2915 | version "1.0.2" 2916 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" 2917 | dependencies: 2918 | code-point-at "^1.0.0" 2919 | is-fullwidth-code-point "^1.0.0" 2920 | strip-ansi "^3.0.0" 2921 | 2922 | string-width@^2.0.0: 2923 | version "2.1.1" 2924 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" 2925 | dependencies: 2926 | is-fullwidth-code-point "^2.0.0" 2927 | strip-ansi "^4.0.0" 2928 | 2929 | string_decoder@^1.0.0, string_decoder@~1.0.3: 2930 | version "1.0.3" 2931 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab" 2932 | dependencies: 2933 | safe-buffer "~5.1.0" 2934 | 2935 | stringstream@~0.0.4: 2936 | version "0.0.5" 2937 | resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" 2938 | 2939 | strip-ansi@^3.0.0, strip-ansi@^3.0.1: 2940 | version "3.0.1" 2941 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 2942 | dependencies: 2943 | ansi-regex "^2.0.0" 2944 | 2945 | strip-ansi@^4.0.0: 2946 | version "4.0.0" 2947 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" 2948 | dependencies: 2949 | ansi-regex "^3.0.0" 2950 | 2951 | strip-bom@^2.0.0: 2952 | version "2.0.0" 2953 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" 2954 | dependencies: 2955 | is-utf8 "^0.2.0" 2956 | 2957 | strip-bom@^3.0.0: 2958 | version "3.0.0" 2959 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" 2960 | 2961 | strip-eof@^1.0.0: 2962 | version "1.0.0" 2963 | resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" 2964 | 2965 | strip-indent@^1.0.1: 2966 | version "1.0.1" 2967 | resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" 2968 | dependencies: 2969 | get-stdin "^4.0.1" 2970 | 2971 | strip-json-comments@~2.0.1: 2972 | version "2.0.1" 2973 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" 2974 | 2975 | styled-components@^2.4.0: 2976 | version "2.4.0" 2977 | resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-2.4.0.tgz#086d0fd483d54638837fca3ea546a030b94adf75" 2978 | dependencies: 2979 | buffer "^5.0.3" 2980 | css-to-react-native "^2.0.3" 2981 | fbjs "^0.8.9" 2982 | hoist-non-react-statics "^1.2.0" 2983 | is-plain-object "^2.0.1" 2984 | prop-types "^15.5.4" 2985 | stylis "^3.4.0" 2986 | supports-color "^3.2.3" 2987 | 2988 | stylis@^3.4.0: 2989 | version "3.4.5" 2990 | resolved "https://registry.yarnpkg.com/stylis/-/stylis-3.4.5.tgz#d7b9595fc18e7b9c8775eca8270a9a1d3e59806e" 2991 | 2992 | supports-color@^2.0.0: 2993 | version "2.0.0" 2994 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" 2995 | 2996 | supports-color@^3.2.3: 2997 | version "3.2.3" 2998 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" 2999 | dependencies: 3000 | has-flag "^1.0.0" 3001 | 3002 | supports-color@^4.0.0, supports-color@^4.2.1: 3003 | version "4.5.0" 3004 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.5.0.tgz#be7a0de484dec5c5cddf8b3d59125044912f635b" 3005 | dependencies: 3006 | has-flag "^2.0.0" 3007 | 3008 | tapable@^0.2.7: 3009 | version "0.2.8" 3010 | resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.2.8.tgz#99372a5c999bf2df160afc0d74bed4f47948cd22" 3011 | 3012 | tar-pack@^3.4.0: 3013 | version "3.4.1" 3014 | resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.1.tgz#e1dbc03a9b9d3ba07e896ad027317eb679a10a1f" 3015 | dependencies: 3016 | debug "^2.2.0" 3017 | fstream "^1.0.10" 3018 | fstream-ignore "^1.0.5" 3019 | once "^1.3.3" 3020 | readable-stream "^2.1.4" 3021 | rimraf "^2.5.1" 3022 | tar "^2.2.1" 3023 | uid-number "^0.0.6" 3024 | 3025 | tar@^2.2.1: 3026 | version "2.2.1" 3027 | resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" 3028 | dependencies: 3029 | block-stream "*" 3030 | fstream "^1.0.2" 3031 | inherits "2" 3032 | 3033 | thunky@^0.1.0: 3034 | version "0.1.0" 3035 | resolved "https://registry.yarnpkg.com/thunky/-/thunky-0.1.0.tgz#bf30146824e2b6e67b0f2d7a4ac8beb26908684e" 3036 | 3037 | time-stamp@^2.0.0: 3038 | version "2.0.0" 3039 | resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-2.0.0.tgz#95c6a44530e15ba8d6f4a3ecb8c3a3fac46da357" 3040 | 3041 | timers-browserify@^2.0.4: 3042 | version "2.0.4" 3043 | resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.4.tgz#96ca53f4b794a5e7c0e1bd7cc88a372298fa01e6" 3044 | dependencies: 3045 | setimmediate "^1.0.4" 3046 | 3047 | to-arraybuffer@^1.0.0: 3048 | version "1.0.1" 3049 | resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" 3050 | 3051 | tough-cookie@~2.3.0: 3052 | version "2.3.3" 3053 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.3.tgz#0b618a5565b6dea90bf3425d04d55edc475a7561" 3054 | dependencies: 3055 | punycode "^1.4.1" 3056 | 3057 | trim-newlines@^1.0.0: 3058 | version "1.0.0" 3059 | resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" 3060 | 3061 | ts-loader@^3.2.0: 3062 | version "3.2.0" 3063 | resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-3.2.0.tgz#23211922179b81f7448754b7fdfca45b8374a15a" 3064 | dependencies: 3065 | chalk "^2.3.0" 3066 | enhanced-resolve "^3.0.0" 3067 | loader-utils "^1.0.2" 3068 | semver "^5.0.1" 3069 | 3070 | tslib@^1.7.1, tslib@^1.8.0: 3071 | version "1.8.1" 3072 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.8.1.tgz#6946af2d1d651a7b1863b531d6e5afa41aa44eac" 3073 | 3074 | tslint-react@^3.2.0: 3075 | version "3.2.0" 3076 | resolved "https://registry.yarnpkg.com/tslint-react/-/tslint-react-3.2.0.tgz#851fb505201c63d0343c51726e6364f7e9ad2e99" 3077 | dependencies: 3078 | tsutils "^2.8.0" 3079 | 3080 | tslint@^5.8.0: 3081 | version "5.8.0" 3082 | resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.8.0.tgz#1f49ad5b2e77c76c3af4ddcae552ae4e3612eb13" 3083 | dependencies: 3084 | babel-code-frame "^6.22.0" 3085 | builtin-modules "^1.1.1" 3086 | chalk "^2.1.0" 3087 | commander "^2.9.0" 3088 | diff "^3.2.0" 3089 | glob "^7.1.1" 3090 | minimatch "^3.0.4" 3091 | resolve "^1.3.2" 3092 | semver "^5.3.0" 3093 | tslib "^1.7.1" 3094 | tsutils "^2.12.1" 3095 | 3096 | tsutils@^2.12.1, tsutils@^2.8.0: 3097 | version "2.14.0" 3098 | resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.14.0.tgz#bc5291622aa2448c1baffc544bcc14ecfa528fb7" 3099 | dependencies: 3100 | tslib "^1.8.0" 3101 | 3102 | tty-browserify@0.0.0: 3103 | version "0.0.0" 3104 | resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" 3105 | 3106 | tunnel-agent@^0.6.0: 3107 | version "0.6.0" 3108 | resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" 3109 | dependencies: 3110 | safe-buffer "^5.0.1" 3111 | 3112 | tweetnacl@^0.14.3, tweetnacl@~0.14.0: 3113 | version "0.14.5" 3114 | resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" 3115 | 3116 | type-is@~1.6.15: 3117 | version "1.6.15" 3118 | resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.15.tgz#cab10fb4909e441c82842eafe1ad646c81804410" 3119 | dependencies: 3120 | media-typer "0.3.0" 3121 | mime-types "~2.1.15" 3122 | 3123 | typescript@^2.6.2: 3124 | version "2.6.2" 3125 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.6.2.tgz#3c5b6fd7f6de0914269027f03c0946758f7673a4" 3126 | 3127 | ua-parser-js@^0.7.9: 3128 | version "0.7.17" 3129 | resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.17.tgz#e9ec5f9498b9ec910e7ae3ac626a805c4d09ecac" 3130 | 3131 | uglify-js@^2.8.29: 3132 | version "2.8.29" 3133 | resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd" 3134 | dependencies: 3135 | source-map "~0.5.1" 3136 | yargs "~3.10.0" 3137 | optionalDependencies: 3138 | uglify-to-browserify "~1.0.0" 3139 | 3140 | uglify-to-browserify@~1.0.0: 3141 | version "1.0.2" 3142 | resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" 3143 | 3144 | uglifyjs-webpack-plugin@^0.4.6: 3145 | version "0.4.6" 3146 | resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz#b951f4abb6bd617e66f63eb891498e391763e309" 3147 | dependencies: 3148 | source-map "^0.5.6" 3149 | uglify-js "^2.8.29" 3150 | webpack-sources "^1.0.1" 3151 | 3152 | uid-number@^0.0.6: 3153 | version "0.0.6" 3154 | resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" 3155 | 3156 | unpipe@1.0.0, unpipe@~1.0.0: 3157 | version "1.0.0" 3158 | resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" 3159 | 3160 | url-parse@1.0.x: 3161 | version "1.0.5" 3162 | resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.0.5.tgz#0854860422afdcfefeb6c965c662d4800169927b" 3163 | dependencies: 3164 | querystringify "0.0.x" 3165 | requires-port "1.0.x" 3166 | 3167 | url-parse@^1.1.8: 3168 | version "1.2.0" 3169 | resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.2.0.tgz#3a19e8aaa6d023ddd27dcc44cb4fc8f7fec23986" 3170 | dependencies: 3171 | querystringify "~1.0.0" 3172 | requires-port "~1.0.0" 3173 | 3174 | url@^0.11.0: 3175 | version "0.11.0" 3176 | resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" 3177 | dependencies: 3178 | punycode "1.3.2" 3179 | querystring "0.2.0" 3180 | 3181 | util-deprecate@~1.0.1: 3182 | version "1.0.2" 3183 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 3184 | 3185 | util@0.10.3, util@^0.10.3: 3186 | version "0.10.3" 3187 | resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" 3188 | dependencies: 3189 | inherits "2.0.1" 3190 | 3191 | utils-merge@1.0.1: 3192 | version "1.0.1" 3193 | resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" 3194 | 3195 | uuid@^2.0.2: 3196 | version "2.0.3" 3197 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" 3198 | 3199 | uuid@^3.0.0: 3200 | version "3.1.0" 3201 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04" 3202 | 3203 | validate-npm-package-license@^3.0.1: 3204 | version "3.0.1" 3205 | resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" 3206 | dependencies: 3207 | spdx-correct "~1.0.0" 3208 | spdx-expression-parse "~1.0.0" 3209 | 3210 | vary@~1.1.2: 3211 | version "1.1.2" 3212 | resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" 3213 | 3214 | verror@1.10.0: 3215 | version "1.10.0" 3216 | resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" 3217 | dependencies: 3218 | assert-plus "^1.0.0" 3219 | core-util-is "1.0.2" 3220 | extsprintf "^1.2.0" 3221 | 3222 | vm-browserify@0.0.4: 3223 | version "0.0.4" 3224 | resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" 3225 | dependencies: 3226 | indexof "0.0.1" 3227 | 3228 | watchpack@^1.4.0: 3229 | version "1.4.0" 3230 | resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.4.0.tgz#4a1472bcbb952bd0a9bb4036801f954dfb39faac" 3231 | dependencies: 3232 | async "^2.1.2" 3233 | chokidar "^1.7.0" 3234 | graceful-fs "^4.1.2" 3235 | 3236 | wbuf@^1.1.0, wbuf@^1.7.2: 3237 | version "1.7.2" 3238 | resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.2.tgz#d697b99f1f59512df2751be42769c1580b5801fe" 3239 | dependencies: 3240 | minimalistic-assert "^1.0.0" 3241 | 3242 | webpack-dev-middleware@^1.11.0: 3243 | version "1.12.2" 3244 | resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.12.2.tgz#f8fc1120ce3b4fc5680ceecb43d777966b21105e" 3245 | dependencies: 3246 | memory-fs "~0.4.1" 3247 | mime "^1.5.0" 3248 | path-is-absolute "^1.0.0" 3249 | range-parser "^1.0.3" 3250 | time-stamp "^2.0.0" 3251 | 3252 | webpack-dev-server@^2.9.7: 3253 | version "2.9.7" 3254 | resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-2.9.7.tgz#100ad6a14775478924d417ca6dcfb9d52a98faed" 3255 | dependencies: 3256 | ansi-html "0.0.7" 3257 | array-includes "^3.0.3" 3258 | bonjour "^3.5.0" 3259 | chokidar "^1.6.0" 3260 | compression "^1.5.2" 3261 | connect-history-api-fallback "^1.3.0" 3262 | debug "^3.1.0" 3263 | del "^3.0.0" 3264 | express "^4.16.2" 3265 | html-entities "^1.2.0" 3266 | http-proxy-middleware "~0.17.4" 3267 | import-local "^0.1.1" 3268 | internal-ip "1.2.0" 3269 | ip "^1.1.5" 3270 | killable "^1.0.0" 3271 | loglevel "^1.4.1" 3272 | opn "^5.1.0" 3273 | portfinder "^1.0.9" 3274 | selfsigned "^1.9.1" 3275 | serve-index "^1.7.2" 3276 | sockjs "0.3.18" 3277 | sockjs-client "1.1.4" 3278 | spdy "^3.4.1" 3279 | strip-ansi "^3.0.1" 3280 | supports-color "^4.2.1" 3281 | webpack-dev-middleware "^1.11.0" 3282 | yargs "^6.6.0" 3283 | 3284 | webpack-sources@^1.0.1: 3285 | version "1.1.0" 3286 | resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.1.0.tgz#a101ebae59d6507354d71d8013950a3a8b7a5a54" 3287 | dependencies: 3288 | source-list-map "^2.0.0" 3289 | source-map "~0.6.1" 3290 | 3291 | webpack@^3.10.0: 3292 | version "3.10.0" 3293 | resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.10.0.tgz#5291b875078cf2abf42bdd23afe3f8f96c17d725" 3294 | dependencies: 3295 | acorn "^5.0.0" 3296 | acorn-dynamic-import "^2.0.0" 3297 | ajv "^5.1.5" 3298 | ajv-keywords "^2.0.0" 3299 | async "^2.1.2" 3300 | enhanced-resolve "^3.4.0" 3301 | escope "^3.6.0" 3302 | interpret "^1.0.0" 3303 | json-loader "^0.5.4" 3304 | json5 "^0.5.1" 3305 | loader-runner "^2.3.0" 3306 | loader-utils "^1.1.0" 3307 | memory-fs "~0.4.1" 3308 | mkdirp "~0.5.0" 3309 | node-libs-browser "^2.0.0" 3310 | source-map "^0.5.3" 3311 | supports-color "^4.2.1" 3312 | tapable "^0.2.7" 3313 | uglifyjs-webpack-plugin "^0.4.6" 3314 | watchpack "^1.4.0" 3315 | webpack-sources "^1.0.1" 3316 | yargs "^8.0.2" 3317 | 3318 | websocket-driver@>=0.5.1: 3319 | version "0.7.0" 3320 | resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.0.tgz#0caf9d2d755d93aee049d4bdd0d3fe2cca2a24eb" 3321 | dependencies: 3322 | http-parser-js ">=0.4.0" 3323 | websocket-extensions ">=0.1.1" 3324 | 3325 | websocket-extensions@>=0.1.1: 3326 | version "0.1.3" 3327 | resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.3.tgz#5d2ff22977003ec687a4b87073dfbbac146ccf29" 3328 | 3329 | whatwg-fetch@>=0.10.0: 3330 | version "2.0.3" 3331 | resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz#9c84ec2dcf68187ff00bc64e1274b442176e1c84" 3332 | 3333 | which-module@^1.0.0: 3334 | version "1.0.0" 3335 | resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" 3336 | 3337 | which-module@^2.0.0: 3338 | version "2.0.0" 3339 | resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" 3340 | 3341 | which@^1.2.9: 3342 | version "1.3.0" 3343 | resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a" 3344 | dependencies: 3345 | isexe "^2.0.0" 3346 | 3347 | wide-align@^1.1.0: 3348 | version "1.1.2" 3349 | resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710" 3350 | dependencies: 3351 | string-width "^1.0.2" 3352 | 3353 | window-size@0.1.0: 3354 | version "0.1.0" 3355 | resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" 3356 | 3357 | wordwrap@0.0.2: 3358 | version "0.0.2" 3359 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" 3360 | 3361 | wrap-ansi@^2.0.0: 3362 | version "2.1.0" 3363 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" 3364 | dependencies: 3365 | string-width "^1.0.1" 3366 | strip-ansi "^3.0.1" 3367 | 3368 | wrappy@1: 3369 | version "1.0.2" 3370 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 3371 | 3372 | xtend@^4.0.0: 3373 | version "4.0.1" 3374 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" 3375 | 3376 | y18n@^3.2.1: 3377 | version "3.2.1" 3378 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" 3379 | 3380 | yallist@^2.1.2: 3381 | version "2.1.2" 3382 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" 3383 | 3384 | yargs-parser@^4.2.0: 3385 | version "4.2.1" 3386 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c" 3387 | dependencies: 3388 | camelcase "^3.0.0" 3389 | 3390 | yargs-parser@^7.0.0: 3391 | version "7.0.0" 3392 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9" 3393 | dependencies: 3394 | camelcase "^4.1.0" 3395 | 3396 | yargs@^6.6.0: 3397 | version "6.6.0" 3398 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208" 3399 | dependencies: 3400 | camelcase "^3.0.0" 3401 | cliui "^3.2.0" 3402 | decamelize "^1.1.1" 3403 | get-caller-file "^1.0.1" 3404 | os-locale "^1.4.0" 3405 | read-pkg-up "^1.0.1" 3406 | require-directory "^2.1.1" 3407 | require-main-filename "^1.0.1" 3408 | set-blocking "^2.0.0" 3409 | string-width "^1.0.2" 3410 | which-module "^1.0.0" 3411 | y18n "^3.2.1" 3412 | yargs-parser "^4.2.0" 3413 | 3414 | yargs@^8.0.2: 3415 | version "8.0.2" 3416 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360" 3417 | dependencies: 3418 | camelcase "^4.1.0" 3419 | cliui "^3.2.0" 3420 | decamelize "^1.1.1" 3421 | get-caller-file "^1.0.1" 3422 | os-locale "^2.0.0" 3423 | read-pkg-up "^2.0.0" 3424 | require-directory "^2.1.1" 3425 | require-main-filename "^1.0.1" 3426 | set-blocking "^2.0.0" 3427 | string-width "^2.0.0" 3428 | which-module "^2.0.0" 3429 | y18n "^3.2.1" 3430 | yargs-parser "^7.0.0" 3431 | 3432 | yargs@~3.10.0: 3433 | version "3.10.0" 3434 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" 3435 | dependencies: 3436 | camelcase "^1.0.2" 3437 | cliui "^2.1.0" 3438 | decamelize "^1.0.0" 3439 | window-size "0.1.0" 3440 | --------------------------------------------------------------------------------