├── .babelrc ├── .gitignore ├── .npmignore ├── .travis.yml ├── src ├── interfaces │ ├── types.ts │ ├── queue.ts │ └── action.ts ├── queue.ts └── reducer.ts ├── tsconfig.json ├── tslint.json ├── package.json ├── README.md ├── test └── reducer.test.js └── yarn.lock /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["es2015"] 3 | } 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | npm-debug.log 3 | node_modules 4 | lib 5 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | .gitignore 2 | .babelrc 3 | .travis.yml 4 | src 5 | test -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | 2 | language: node_js 3 | node_js: 4 | - "4" 5 | - "5" 6 | - "6" 7 | - "7" 8 | -------------------------------------------------------------------------------- /src/interfaces/types.ts: -------------------------------------------------------------------------------- 1 | import {Action} from './action'; 2 | export type Reducer = (state: T, action: Action) => T; 3 | -------------------------------------------------------------------------------- /src/interfaces/queue.ts: -------------------------------------------------------------------------------- 1 | import {QueuedAction} from './action'; 2 | export interface EntryInQueue { 3 | action: QueuedAction; 4 | state: T; 5 | } 6 | -------------------------------------------------------------------------------- /src/interfaces/action.ts: -------------------------------------------------------------------------------- 1 | export interface Action { 2 | type: string; 3 | } 4 | 5 | export interface QueuedAction extends Action { 6 | queued: true; 7 | failed: boolean; 8 | } 9 | 10 | export interface ChildAction extends QueuedAction { 11 | parent: QueuedAction; 12 | } 13 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "commonjs", 4 | "emitDecoratorMetadata": true, 5 | "experimentalDecorators": true, 6 | "target": "es5", 7 | "sourceMap": true, 8 | "noImplicitAny": true, 9 | "strictNullChecks": true, 10 | "jsx": "react", 11 | "pretty": true, 12 | "typeRoots": [ 13 | "./node_modules/@types" 14 | ], 15 | "lib": [ 16 | "dom", 17 | "es5", 18 | "es2015.promise" 19 | ], 20 | "outDir": "./lib" 21 | }, 22 | "files": [ 23 | "./src/reducer.ts" 24 | ] 25 | } -------------------------------------------------------------------------------- /tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "tslint:recommended", 3 | "rulesDirectory": "node_modules/tslint-eslint-rules/dist/rules", 4 | "rules": { 5 | "curly": true, 6 | "object-literal-sort-keys": false, 7 | "ordered-imports": false, 8 | "trailing-comma": false, 9 | "member-ordering": false, 10 | "indent": [ 11 | true, 12 | "spaces" 13 | ], 14 | "ter-indent": [ 15 | true, 16 | 4, 17 | { 18 | "SwitchCase": 1 19 | } 20 | ], 21 | "variable-name": [ 22 | true, 23 | "allow-leading-underscore" 24 | ], 25 | "interface-name": false, 26 | "triple-equals": true, 27 | "comment-format": false, 28 | "eofline": false, 29 | "semicolon": [ 30 | true, 31 | "always", 32 | "ignore-bound-class-methods" 33 | ], 34 | "max-line-length": 120, 35 | "quotemark": [ 36 | true, 37 | "single", 38 | "jsx-double" 39 | ], 40 | "array-type": [ 41 | true, 42 | "array-simple" 43 | ], 44 | "arrow-parens": false, 45 | "only-arrow-functions": false, 46 | "object-literal-shorthand": false 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "redux-queue", 3 | "version": "0.2.0", 4 | "description": "Library to handle queued requests with ease in your Redux application", 5 | "homepage": "https://github.com/JBlaak/Redux-Queue/", 6 | "repository": { 7 | "type": "git", 8 | "url": "git://github.com/JBlaak/Redux-Queue.git" 9 | }, 10 | "main": "lib/reducer.js", 11 | "scripts": { 12 | "build": "tsc", 13 | "lint": "./node_modules/.bin/tslint -c ./tslint.json ./src/*.ts", 14 | "lint-fix": "./node_modules/.bin/tslint -c ./tslint.json ./src/*.ts --fix", 15 | "mocha": "mocha --compilers js:babel-register", 16 | "test": "yarn build && yarn lint && yarn mocha", 17 | "prepublish": "yarn build" 18 | }, 19 | "keywords": [ 20 | "Redux", 21 | "Queue", 22 | "Async" 23 | ], 24 | "author": "Joris Blaak ", 25 | "license": "Apache-2.0", 26 | "devDependencies": { 27 | "babel-cli": "^6.6.5", 28 | "babel-polyfill": "^6.6.1", 29 | "babel-preset-es2015": "^6.6.0", 30 | "babel-register": "^6.6.5", 31 | "expect.js": "^0.3.1", 32 | "mocha": "^2.4.5", 33 | "tslint": "^4.4.2", 34 | "tslint-eslint-rules": "^3.4.0", 35 | "typescript": "^2.2.1" 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/queue.ts: -------------------------------------------------------------------------------- 1 | import {EntryInQueue} from './interfaces/queue'; 2 | import {QueuedAction} from './interfaces/action'; 3 | export default class Queue { 4 | 5 | private _stack: Array> = []; 6 | 7 | public get(index: number): EntryInQueue { 8 | if (typeof this._stack[index] === 'undefined') { 9 | throw new Error('Requested non-existent item from queue'); 10 | } 11 | 12 | return this._stack[index]; 13 | } 14 | 15 | public findIndex(comparitor: (entry: EntryInQueue) => boolean): number { 16 | let parentIndex = -1; 17 | for (let i = 0; i < this._stack.length && parentIndex === -1; i++) { 18 | if (comparitor(this._stack[i])) { 19 | parentIndex = i; 20 | } 21 | } 22 | 23 | return parentIndex; 24 | } 25 | 26 | public size(): number { 27 | return this._stack.length; 28 | } 29 | 30 | public setStateForIndex(index: number, state: State) { 31 | this._stack[index] = this.toEntry(this._stack[index].action, state); 32 | } 33 | 34 | public truncateAfterIndex(index: number) { 35 | this._stack.splice(index, this._stack.length - index); 36 | }; 37 | 38 | public push(state: State, action: QueuedAction) { 39 | this._stack.push(this.toEntry(action, state)); 40 | }; 41 | 42 | public injectAfter(parentIndex: number, action: QueuedAction, state: State) { 43 | this._stack.splice(parentIndex + 1, 0, this.toEntry(action, state)); 44 | }; 45 | 46 | private toEntry(action: QueuedAction, state: State): EntryInQueue { 47 | return { 48 | action: action, 49 | state: this.clone(state) 50 | }; 51 | }; 52 | 53 | private clone(obj: T): T { 54 | return JSON.parse(JSON.stringify(obj)); 55 | } 56 | 57 | } 58 | -------------------------------------------------------------------------------- /src/reducer.ts: -------------------------------------------------------------------------------- 1 | import {Action, ChildAction, QueuedAction} from './interfaces/action'; 2 | import {Reducer} from './interfaces/types'; 3 | import Queue from './queue'; 4 | 5 | export default function(reducer: Reducer): Reducer { 6 | 7 | const queue = new Queue(); 8 | 9 | const handleQueuedAction = (state: State, action: QueuedAction): State => { 10 | if ('parent' in action) { 11 | return handleChildAction(state, action); 12 | } 13 | 14 | queue.push(state, action); 15 | 16 | return reducer(state, action); 17 | }; 18 | 19 | const handleChildAction = (currentState: State, childAction: ChildAction): State => { 20 | const parentIndex = findIndexOfActionInQueue(childAction); 21 | if (parentIndex === -1) { 22 | console.warn('Action dispatched with invalid parent', childAction); 23 | return currentState; 24 | } 25 | 26 | if (childAction.failed) { 27 | return handleErroredChildAction(parentIndex); 28 | } 29 | 30 | return applyChildActionOnState(parentIndex, childAction); 31 | }; 32 | 33 | const applyChildActionOnState = (parentIndex: number, action: QueuedAction) => { 34 | const state = queue.get(parentIndex).state; 35 | 36 | queue.injectAfter(parentIndex, action, state); 37 | 38 | return replayQueueFromIndex(parentIndex, state); 39 | }; 40 | 41 | const handleErroredChildAction = (parentIndex: number) => { 42 | const parent = queue.get(parentIndex); 43 | 44 | queue.truncateAfterIndex(parentIndex); 45 | 46 | return parent.state; 47 | }; 48 | 49 | const replayQueueFromIndex = (parentIndex: number, state: State): State => { 50 | for (let i = parentIndex; i < queue.size(); i++) { 51 | queue.setStateForIndex(i, state); 52 | state = reducer(state, queue.get(i).action); 53 | } 54 | return state; 55 | }; 56 | 57 | const findIndexOfActionInQueue = function (action: ChildAction): number { 58 | return queue.findIndex(entry => entry.action === action.parent); 59 | }; 60 | 61 | return function (state: State, action: Action): State { 62 | if (action && 'queued' in action) { 63 | return handleQueuedAction(state, action); 64 | } 65 | return reducer(state, action); 66 | }; 67 | }; 68 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Redux-Queue 2 | ==== 3 | 4 | [![Build Status](https://travis-ci.org/JBlaak/Redux-Queue.svg?branch=master)](https://travis-ci.org/JBlaak/Redux-Queue) 5 | 6 | Higher order reducer so you don't have to worry about order of arrival of the results of your actions. 7 | 8 | Installation 9 | ---- 10 | 11 | Using Yarn: 12 | 13 | `yarn add redux-queue` 14 | 15 | In your `reducers.js` (or where you combine your reducers), wrap it: 16 | 17 | ```javascript 18 | import Queue from 'redux-queue'; 19 | import MyReducer from './my_reducer'; 20 | 21 | MyReducer = Queue(MyReducer); 22 | 23 | //...pass to Redux 24 | ```` 25 | 26 | tl;dr 27 | ---- 28 | 29 | Make sure the async result of your action is always executed directly after the enthusiastic one. Add `queued: true` 30 | to your actions and add `parent: action` to the async result to have them execute after the first one: 31 | 32 | ```javascript 33 | function doSomething() { 34 | return dispatch => { 35 | const action = { 36 | type: MY_ACTION, 37 | queued: true 38 | }; 39 | dispatch(action); 40 | 41 | setTimeout(() => { 42 | dispatch({ 43 | type: MY_ACTION_SUCCESS, 44 | queued: true, 45 | parent: action 46 | }); 47 | }, 1000); 48 | }; 49 | } 50 | ``` 51 | 52 | Example 53 | ---- 54 | 55 | Managing state while responses will arrive asynchronously back to you is hard. Imagine the following scenario: 56 | 57 | Dispatch action `1`, user continues and action `2` is dispatched, meanwhile you're syncing state with the server 58 | so you get the response from action `1` back, lets call this `a`. So now the order of dispatched actions on your reducer 59 | is as follows: 60 | 61 | `1 -> 2 -> a` 62 | 63 | Ok, so if I apply my server state `a` on top of `2` this might result in weird unexpected glitches in the resulting 64 | state, god forbid the initial request fails and we're left with an out-of-sync state. What we want is: 65 | 66 | `1 -> a -> 2` 67 | 68 | But without having to block user interaction while we're syncing state with, for example, a server. This is where the 69 | Redux-Queue comes into play. 70 | 71 | It will save all applied actions and prior states so it will always be able to "inject" the server response in between 72 | two other actions as well as reverting local changes when a prior request fails. 73 | 74 | Usage 75 | ---- 76 | 77 | Set-up by wrapping your regular reducers with the Queue: 78 | 79 | ```javascript 80 | import {combineReducers} from 'redux' 81 | import Queue from 'redux-queue'; 82 | 83 | let reducers = combineReducers({ 84 | entries: Queue(entries) 85 | }); 86 | ``` 87 | 88 | Dispatch actions which announce they are queued (including [Redux Thunk](https://github.com/gaearon/redux-thunk)): 89 | 90 | ```javascript 91 | function doSomething() { 92 | return dispatch => { 93 | const action = { 94 | type: MY_ACTION, 95 | queued: true 96 | }; 97 | dispatch(action); 98 | 99 | setTimeout(() => { 100 | dispatch({ 101 | type: MY_ACTION_SUCCESS, 102 | queued: true, 103 | parent: action 104 | }); 105 | }, 1000); 106 | }; 107 | } 108 | ``` 109 | 110 | No matter what happens in between `MY_ACTION` and `MY_ACTION_SUCCESS` these will always be executed in order on 111 | the entries reducer. 112 | 113 | So what to do on failure? Here you go: 114 | 115 | ```javascript 116 | function doSomething() { 117 | return dispatch => { 118 | const action = { 119 | type: MY_ACTION, 120 | queued: true 121 | }; 122 | dispatch(action); 123 | 124 | setTimeout(() => { 125 | dispatch({ 126 | type: MY_ACTION_FAILED, 127 | queued: true, 128 | failed: true, 129 | parent: action 130 | }); 131 | }, 1000); 132 | }; 133 | } 134 | ``` 135 | 136 | Now the state of entries will revert back to the state just before `MY_ACTION` 137 | -------------------------------------------------------------------------------- /test/reducer.test.js: -------------------------------------------------------------------------------- 1 | import 'babel-polyfill'; 2 | import expect from 'expect.js'; 3 | 4 | import Reducer from '../lib/reducer.js'; 5 | 6 | describe('Queued composer', function () { 7 | 8 | function getReducer() { 9 | let initialState = { 10 | val: '0' 11 | }; 12 | let reducer = function (state = initialState, action) { 13 | if (action && action.type == 'MY_ACTION') { 14 | return Object.assign(state, { 15 | val: state.val + action.val 16 | }); 17 | } 18 | return state; 19 | }; 20 | return Reducer(reducer); 21 | } 22 | 23 | it('should pass through initial state', function () { 24 | /* Given */ 25 | let reducer = getReducer(); 26 | 27 | /* When */ 28 | let state = reducer(); 29 | 30 | /* Then */ 31 | expect(state.val).to.be('0'); 32 | }); 33 | 34 | it('should apply initial action', function () { 35 | /* Given */ 36 | let action = { 37 | type: 'MY_ACTION', 38 | queued: true, 39 | val: '1' 40 | }; 41 | 42 | let reducer = getReducer(); 43 | let state = reducer(); 44 | 45 | /* When */ 46 | let result = reducer(state, action); 47 | 48 | /* Then */ 49 | expect(result.val).to.be('01'); 50 | }); 51 | 52 | it('should apply secondary action', function () { 53 | /* Given */ 54 | let first = { 55 | type: 'MY_ACTION', 56 | queued: true, 57 | val: '1' 58 | }; 59 | let second = { 60 | type: 'MY_ACTION', 61 | queued: true, 62 | val: '2' 63 | }; 64 | 65 | let reducer = getReducer(); 66 | let state = reducer(); 67 | 68 | /* When */ 69 | let result = reducer(state, first); 70 | result = reducer(result, second); 71 | 72 | /* Then */ 73 | expect(result.val).to.be('012'); 74 | }); 75 | 76 | it('should apply result of initial action', function () { 77 | /* Given */ 78 | let first = { 79 | type: 'MY_ACTION', 80 | queued: true, 81 | val: '1' 82 | }; 83 | let second = { 84 | type: 'MY_ACTION', 85 | queued: true, 86 | val: '2' 87 | }; 88 | let firstResult = { 89 | type: 'MY_ACTION', 90 | queued: true, 91 | val: 'a', 92 | parent: first 93 | }; 94 | 95 | let reducer = getReducer(); 96 | let state = reducer(); 97 | 98 | /* When */ 99 | let result = reducer(state, first); 100 | result = reducer(result, second); 101 | result = reducer(result, firstResult); 102 | 103 | /* Then */ 104 | expect(result.val).to.be('01a2'); 105 | }); 106 | 107 | it('should apply result of initial and secondary action', function () { 108 | /* Given */ 109 | let first = { 110 | type: 'MY_ACTION', 111 | queued: true, 112 | val: '1' 113 | }; 114 | let second = { 115 | type: 'MY_ACTION', 116 | queued: true, 117 | val: '2' 118 | }; 119 | let firstResult = { 120 | type: 'MY_ACTION', 121 | queued: true, 122 | val: 'a', 123 | parent: first 124 | }; 125 | let secondResult = { 126 | type: 'MY_ACTION', 127 | queued: true, 128 | val: 'b', 129 | parent: second 130 | }; 131 | 132 | let reducer = getReducer(); 133 | let state = reducer(); 134 | 135 | /* When */ 136 | let result = reducer(state, first); 137 | result = reducer(result, second); 138 | result = reducer(result, firstResult); 139 | result = reducer(result, secondResult); 140 | 141 | /* Then */ 142 | expect(result.val).to.be('01a2b'); 143 | }); 144 | 145 | it('should apply result of initial and secondary action independent of order of arrival', function () { 146 | /* Given */ 147 | let first = { 148 | type: 'MY_ACTION', 149 | queued: true, 150 | val: '1' 151 | }; 152 | let second = { 153 | type: 'MY_ACTION', 154 | queued: true, 155 | val: '2' 156 | }; 157 | let firstResult = { 158 | type: 'MY_ACTION', 159 | queued: true, 160 | val: 'a', 161 | parent: first 162 | }; 163 | let secondResult = { 164 | type: 'MY_ACTION', 165 | queued: true, 166 | val: 'b', 167 | parent: second 168 | }; 169 | 170 | let reducer = getReducer(); 171 | let state = reducer(); 172 | 173 | /* When */ 174 | let result = reducer(state, first); 175 | result = reducer(result, second); 176 | result = reducer(result, secondResult); 177 | result = reducer(result, firstResult); 178 | 179 | /* Then */ 180 | expect(result.val).to.be('01a2b'); 181 | }); 182 | 183 | it('should apply result of initial and secondary action independent of order of execution', function () { 184 | /* Given */ 185 | let first = { 186 | type: 'MY_ACTION', 187 | queued: true, 188 | val: '1' 189 | }; 190 | let second = { 191 | type: 'MY_ACTION', 192 | queued: true, 193 | val: '2' 194 | }; 195 | let firstResult = { 196 | type: 'MY_ACTION', 197 | queued: true, 198 | val: 'a', 199 | parent: first 200 | }; 201 | let secondResult = { 202 | type: 'MY_ACTION', 203 | queued: true, 204 | val: 'b', 205 | parent: second 206 | }; 207 | 208 | let reducer = getReducer(); 209 | let state = reducer(); 210 | 211 | /* When */ 212 | let result = reducer(state, first); 213 | result = reducer(result, firstResult); 214 | result = reducer(result, second); 215 | result = reducer(result, secondResult); 216 | 217 | /* Then */ 218 | expect(result.val).to.be('01a2b'); 219 | }); 220 | 221 | it('should ignore actions thrown with invalid parent', function () { 222 | /* Given */ 223 | let first = { 224 | type: 'MY_ACTION', 225 | queued: true, 226 | val: '1' 227 | }; 228 | let firstResult = { 229 | type: 'MY_ACTION', 230 | queued: true, 231 | val: 'a', 232 | parent: {/* Wut */} 233 | }; 234 | 235 | let reducer = getReducer(); 236 | let state = reducer(); 237 | 238 | /* When */ 239 | let result = reducer(state, first); 240 | result = reducer(result, firstResult); 241 | 242 | /* Then */ 243 | expect(result.val).to.be('01'); 244 | }); 245 | it('should revert state when action errors', function () { 246 | /* Given */ 247 | let first = { 248 | type: 'MY_ACTION', 249 | queued: true, 250 | val: '1' 251 | }; 252 | let second = { 253 | type: 'MY_ACTION', 254 | queued: true, 255 | val: '2' 256 | }; 257 | let firstResult = { 258 | type: 'MY_ACTION', 259 | queued: true, 260 | failed: true, 261 | val: 'a', 262 | parent: first 263 | }; 264 | 265 | 266 | let reducer = getReducer(); 267 | let state = reducer(); 268 | 269 | /* When */ 270 | let result = reducer(state, first); 271 | result = reducer(result, second); 272 | result = reducer(result, firstResult); 273 | 274 | /* Then */ 275 | expect(result.val).to.be('0'); 276 | }); 277 | 278 | it('should revert state when action errors for secondary action', function () { 279 | /* Given */ 280 | let first = { 281 | type: 'MY_ACTION', 282 | queued: true, 283 | val: '1' 284 | }; 285 | let second = { 286 | type: 'MY_ACTION', 287 | queued: true, 288 | val: '2' 289 | }; 290 | let firstResult = { 291 | type: 'MY_ACTION', 292 | queued: true, 293 | val: 'a', 294 | parent: first 295 | }; 296 | let secondResult = { 297 | type: 'MY_ACTION', 298 | queued: true, 299 | failed: true, 300 | val: 'b', 301 | parent: second 302 | }; 303 | 304 | let reducer = getReducer(); 305 | let state = reducer(); 306 | 307 | /* When */ 308 | let result = reducer(state, first); 309 | result = reducer(result, second); 310 | result = reducer(result, firstResult); 311 | result = reducer(result, secondResult); 312 | 313 | /* Then */ 314 | expect(result.val).to.be('01a'); 315 | }); 316 | 317 | it('should continue applying actions after an error', function () { 318 | /* Given */ 319 | let first = { 320 | type: 'MY_ACTION', 321 | queued: true, 322 | val: '1' 323 | }; 324 | let second = { 325 | type: 'MY_ACTION', 326 | queued: true, 327 | val: '2' 328 | }; 329 | let firstResult = { 330 | type: 'MY_ACTION', 331 | queued: true, 332 | failed: true, 333 | val: 'a', 334 | parent: first 335 | }; 336 | let secondResult = { 337 | type: 'MY_ACTION', 338 | queued: true, 339 | val: 'b', 340 | parent: second 341 | }; 342 | 343 | let reducer = getReducer(); 344 | let state = reducer(); 345 | 346 | /* When */ 347 | let result = reducer(state, first); 348 | result = reducer(result, firstResult); 349 | result = reducer(result, second); 350 | result = reducer(result, secondResult); 351 | 352 | /* Then */ 353 | expect(result.val).to.be('02b'); 354 | }); 355 | 356 | }); -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | abbrev@1: 6 | version "1.1.0" 7 | resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.0.tgz#d0554c2256636e2f56e7c2e5ad183f859428d81f" 8 | 9 | ansi-align@^1.1.0: 10 | version "1.1.0" 11 | resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-1.1.0.tgz#2f0c1658829739add5ebb15e6b0c6e3423f016ba" 12 | dependencies: 13 | string-width "^1.0.1" 14 | 15 | ansi-regex@^2.0.0: 16 | version "2.1.1" 17 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" 18 | 19 | ansi-styles@^2.2.1: 20 | version "2.2.1" 21 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" 22 | 23 | anymatch@^1.3.0: 24 | version "1.3.0" 25 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.0.tgz#a3e52fa39168c825ff57b0248126ce5a8ff95507" 26 | dependencies: 27 | arrify "^1.0.0" 28 | micromatch "^2.1.5" 29 | 30 | aproba@^1.0.3: 31 | version "1.1.1" 32 | resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.1.1.tgz#95d3600f07710aa0e9298c726ad5ecf2eacbabab" 33 | 34 | are-we-there-yet@~1.1.2: 35 | version "1.1.2" 36 | resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz#80e470e95a084794fe1899262c5667c6e88de1b3" 37 | dependencies: 38 | delegates "^1.0.0" 39 | readable-stream "^2.0.0 || ^1.1.13" 40 | 41 | arr-diff@^2.0.0: 42 | version "2.0.0" 43 | resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" 44 | dependencies: 45 | arr-flatten "^1.0.1" 46 | 47 | arr-flatten@^1.0.1: 48 | version "1.0.1" 49 | resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.0.1.tgz#e5ffe54d45e19f32f216e91eb99c8ce892bb604b" 50 | 51 | array-unique@^0.2.1: 52 | version "0.2.1" 53 | resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" 54 | 55 | arrify@^1.0.0: 56 | version "1.0.1" 57 | resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" 58 | 59 | asn1@~0.2.3: 60 | version "0.2.3" 61 | resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" 62 | 63 | assert-plus@^0.2.0: 64 | version "0.2.0" 65 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" 66 | 67 | assert-plus@^1.0.0: 68 | version "1.0.0" 69 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" 70 | 71 | async-each@^1.0.0: 72 | version "1.0.1" 73 | resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" 74 | 75 | asynckit@^0.4.0: 76 | version "0.4.0" 77 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 78 | 79 | aws-sign2@~0.6.0: 80 | version "0.6.0" 81 | resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" 82 | 83 | aws4@^1.2.1: 84 | version "1.6.0" 85 | resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" 86 | 87 | babel-cli@^6.6.5: 88 | version "6.23.0" 89 | resolved "https://registry.yarnpkg.com/babel-cli/-/babel-cli-6.23.0.tgz#52ff946a2b0f64645c35e7bd5eea267aa0948c0f" 90 | dependencies: 91 | babel-core "^6.23.0" 92 | babel-polyfill "^6.23.0" 93 | babel-register "^6.23.0" 94 | babel-runtime "^6.22.0" 95 | commander "^2.8.1" 96 | convert-source-map "^1.1.0" 97 | fs-readdir-recursive "^1.0.0" 98 | glob "^7.0.0" 99 | lodash "^4.2.0" 100 | output-file-sync "^1.1.0" 101 | path-is-absolute "^1.0.0" 102 | slash "^1.0.0" 103 | source-map "^0.5.0" 104 | v8flags "^2.0.10" 105 | optionalDependencies: 106 | chokidar "^1.6.1" 107 | 108 | babel-code-frame@^6.20.0, babel-code-frame@^6.22.0: 109 | version "6.22.0" 110 | resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4" 111 | dependencies: 112 | chalk "^1.1.0" 113 | esutils "^2.0.2" 114 | js-tokens "^3.0.0" 115 | 116 | babel-core@^6.23.0: 117 | version "6.23.1" 118 | resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.23.1.tgz#c143cb621bb2f621710c220c5d579d15b8a442df" 119 | dependencies: 120 | babel-code-frame "^6.22.0" 121 | babel-generator "^6.23.0" 122 | babel-helpers "^6.23.0" 123 | babel-messages "^6.23.0" 124 | babel-register "^6.23.0" 125 | babel-runtime "^6.22.0" 126 | babel-template "^6.23.0" 127 | babel-traverse "^6.23.1" 128 | babel-types "^6.23.0" 129 | babylon "^6.11.0" 130 | convert-source-map "^1.1.0" 131 | debug "^2.1.1" 132 | json5 "^0.5.0" 133 | lodash "^4.2.0" 134 | minimatch "^3.0.2" 135 | path-is-absolute "^1.0.0" 136 | private "^0.1.6" 137 | slash "^1.0.0" 138 | source-map "^0.5.0" 139 | 140 | babel-generator@^6.23.0: 141 | version "6.23.0" 142 | resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.23.0.tgz#6b8edab956ef3116f79d8c84c5a3c05f32a74bc5" 143 | dependencies: 144 | babel-messages "^6.23.0" 145 | babel-runtime "^6.22.0" 146 | babel-types "^6.23.0" 147 | detect-indent "^4.0.0" 148 | jsesc "^1.3.0" 149 | lodash "^4.2.0" 150 | source-map "^0.5.0" 151 | trim-right "^1.0.1" 152 | 153 | babel-helper-call-delegate@^6.22.0: 154 | version "6.22.0" 155 | resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.22.0.tgz#119921b56120f17e9dae3f74b4f5cc7bcc1b37ef" 156 | dependencies: 157 | babel-helper-hoist-variables "^6.22.0" 158 | babel-runtime "^6.22.0" 159 | babel-traverse "^6.22.0" 160 | babel-types "^6.22.0" 161 | 162 | babel-helper-define-map@^6.23.0: 163 | version "6.23.0" 164 | resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.23.0.tgz#1444f960c9691d69a2ced6a205315f8fd00804e7" 165 | dependencies: 166 | babel-helper-function-name "^6.23.0" 167 | babel-runtime "^6.22.0" 168 | babel-types "^6.23.0" 169 | lodash "^4.2.0" 170 | 171 | babel-helper-function-name@^6.22.0, babel-helper-function-name@^6.23.0: 172 | version "6.23.0" 173 | resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.23.0.tgz#25742d67175c8903dbe4b6cb9d9e1fcb8dcf23a6" 174 | dependencies: 175 | babel-helper-get-function-arity "^6.22.0" 176 | babel-runtime "^6.22.0" 177 | babel-template "^6.23.0" 178 | babel-traverse "^6.23.0" 179 | babel-types "^6.23.0" 180 | 181 | babel-helper-get-function-arity@^6.22.0: 182 | version "6.22.0" 183 | resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.22.0.tgz#0beb464ad69dc7347410ac6ade9f03a50634f5ce" 184 | dependencies: 185 | babel-runtime "^6.22.0" 186 | babel-types "^6.22.0" 187 | 188 | babel-helper-hoist-variables@^6.22.0: 189 | version "6.22.0" 190 | resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.22.0.tgz#3eacbf731d80705845dd2e9718f600cfb9b4ba72" 191 | dependencies: 192 | babel-runtime "^6.22.0" 193 | babel-types "^6.22.0" 194 | 195 | babel-helper-optimise-call-expression@^6.23.0: 196 | version "6.23.0" 197 | resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.23.0.tgz#f3ee7eed355b4282138b33d02b78369e470622f5" 198 | dependencies: 199 | babel-runtime "^6.22.0" 200 | babel-types "^6.23.0" 201 | 202 | babel-helper-regex@^6.22.0: 203 | version "6.22.0" 204 | resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.22.0.tgz#79f532be1647b1f0ee3474b5f5c3da58001d247d" 205 | dependencies: 206 | babel-runtime "^6.22.0" 207 | babel-types "^6.22.0" 208 | lodash "^4.2.0" 209 | 210 | babel-helper-replace-supers@^6.22.0, babel-helper-replace-supers@^6.23.0: 211 | version "6.23.0" 212 | resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.23.0.tgz#eeaf8ad9b58ec4337ca94223bacdca1f8d9b4bfd" 213 | dependencies: 214 | babel-helper-optimise-call-expression "^6.23.0" 215 | babel-messages "^6.23.0" 216 | babel-runtime "^6.22.0" 217 | babel-template "^6.23.0" 218 | babel-traverse "^6.23.0" 219 | babel-types "^6.23.0" 220 | 221 | babel-helpers@^6.23.0: 222 | version "6.23.0" 223 | resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.23.0.tgz#4f8f2e092d0b6a8808a4bde79c27f1e2ecf0d992" 224 | dependencies: 225 | babel-runtime "^6.22.0" 226 | babel-template "^6.23.0" 227 | 228 | babel-messages@^6.23.0: 229 | version "6.23.0" 230 | resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" 231 | dependencies: 232 | babel-runtime "^6.22.0" 233 | 234 | babel-plugin-check-es2015-constants@^6.22.0: 235 | version "6.22.0" 236 | resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a" 237 | dependencies: 238 | babel-runtime "^6.22.0" 239 | 240 | babel-plugin-transform-es2015-arrow-functions@^6.22.0: 241 | version "6.22.0" 242 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221" 243 | dependencies: 244 | babel-runtime "^6.22.0" 245 | 246 | babel-plugin-transform-es2015-block-scoped-functions@^6.22.0: 247 | version "6.22.0" 248 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141" 249 | dependencies: 250 | babel-runtime "^6.22.0" 251 | 252 | babel-plugin-transform-es2015-block-scoping@^6.22.0: 253 | version "6.23.0" 254 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.23.0.tgz#e48895cf0b375be148cd7c8879b422707a053b51" 255 | dependencies: 256 | babel-runtime "^6.22.0" 257 | babel-template "^6.23.0" 258 | babel-traverse "^6.23.0" 259 | babel-types "^6.23.0" 260 | lodash "^4.2.0" 261 | 262 | babel-plugin-transform-es2015-classes@^6.22.0: 263 | version "6.23.0" 264 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.23.0.tgz#49b53f326202a2fd1b3bbaa5e2edd8a4f78643c1" 265 | dependencies: 266 | babel-helper-define-map "^6.23.0" 267 | babel-helper-function-name "^6.23.0" 268 | babel-helper-optimise-call-expression "^6.23.0" 269 | babel-helper-replace-supers "^6.23.0" 270 | babel-messages "^6.23.0" 271 | babel-runtime "^6.22.0" 272 | babel-template "^6.23.0" 273 | babel-traverse "^6.23.0" 274 | babel-types "^6.23.0" 275 | 276 | babel-plugin-transform-es2015-computed-properties@^6.22.0: 277 | version "6.22.0" 278 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.22.0.tgz#7c383e9629bba4820c11b0425bdd6290f7f057e7" 279 | dependencies: 280 | babel-runtime "^6.22.0" 281 | babel-template "^6.22.0" 282 | 283 | babel-plugin-transform-es2015-destructuring@^6.22.0: 284 | version "6.23.0" 285 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d" 286 | dependencies: 287 | babel-runtime "^6.22.0" 288 | 289 | babel-plugin-transform-es2015-duplicate-keys@^6.22.0: 290 | version "6.22.0" 291 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.22.0.tgz#672397031c21610d72dd2bbb0ba9fb6277e1c36b" 292 | dependencies: 293 | babel-runtime "^6.22.0" 294 | babel-types "^6.22.0" 295 | 296 | babel-plugin-transform-es2015-for-of@^6.22.0: 297 | version "6.23.0" 298 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691" 299 | dependencies: 300 | babel-runtime "^6.22.0" 301 | 302 | babel-plugin-transform-es2015-function-name@^6.22.0: 303 | version "6.22.0" 304 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.22.0.tgz#f5fcc8b09093f9a23c76ac3d9e392c3ec4b77104" 305 | dependencies: 306 | babel-helper-function-name "^6.22.0" 307 | babel-runtime "^6.22.0" 308 | babel-types "^6.22.0" 309 | 310 | babel-plugin-transform-es2015-literals@^6.22.0: 311 | version "6.22.0" 312 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e" 313 | dependencies: 314 | babel-runtime "^6.22.0" 315 | 316 | babel-plugin-transform-es2015-modules-amd@^6.22.0: 317 | version "6.22.0" 318 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.22.0.tgz#bf69cd34889a41c33d90dfb740e0091ccff52f21" 319 | dependencies: 320 | babel-plugin-transform-es2015-modules-commonjs "^6.22.0" 321 | babel-runtime "^6.22.0" 322 | babel-template "^6.22.0" 323 | 324 | babel-plugin-transform-es2015-modules-commonjs@^6.22.0: 325 | version "6.23.0" 326 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.23.0.tgz#cba7aa6379fb7ec99250e6d46de2973aaffa7b92" 327 | dependencies: 328 | babel-plugin-transform-strict-mode "^6.22.0" 329 | babel-runtime "^6.22.0" 330 | babel-template "^6.23.0" 331 | babel-types "^6.23.0" 332 | 333 | babel-plugin-transform-es2015-modules-systemjs@^6.22.0: 334 | version "6.23.0" 335 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.23.0.tgz#ae3469227ffac39b0310d90fec73bfdc4f6317b0" 336 | dependencies: 337 | babel-helper-hoist-variables "^6.22.0" 338 | babel-runtime "^6.22.0" 339 | babel-template "^6.23.0" 340 | 341 | babel-plugin-transform-es2015-modules-umd@^6.22.0: 342 | version "6.23.0" 343 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.23.0.tgz#8d284ae2e19ed8fe21d2b1b26d6e7e0fcd94f0f1" 344 | dependencies: 345 | babel-plugin-transform-es2015-modules-amd "^6.22.0" 346 | babel-runtime "^6.22.0" 347 | babel-template "^6.23.0" 348 | 349 | babel-plugin-transform-es2015-object-super@^6.22.0: 350 | version "6.22.0" 351 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.22.0.tgz#daa60e114a042ea769dd53fe528fc82311eb98fc" 352 | dependencies: 353 | babel-helper-replace-supers "^6.22.0" 354 | babel-runtime "^6.22.0" 355 | 356 | babel-plugin-transform-es2015-parameters@^6.22.0: 357 | version "6.23.0" 358 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.23.0.tgz#3a2aabb70c8af945d5ce386f1a4250625a83ae3b" 359 | dependencies: 360 | babel-helper-call-delegate "^6.22.0" 361 | babel-helper-get-function-arity "^6.22.0" 362 | babel-runtime "^6.22.0" 363 | babel-template "^6.23.0" 364 | babel-traverse "^6.23.0" 365 | babel-types "^6.23.0" 366 | 367 | babel-plugin-transform-es2015-shorthand-properties@^6.22.0: 368 | version "6.22.0" 369 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.22.0.tgz#8ba776e0affaa60bff21e921403b8a652a2ff723" 370 | dependencies: 371 | babel-runtime "^6.22.0" 372 | babel-types "^6.22.0" 373 | 374 | babel-plugin-transform-es2015-spread@^6.22.0: 375 | version "6.22.0" 376 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1" 377 | dependencies: 378 | babel-runtime "^6.22.0" 379 | 380 | babel-plugin-transform-es2015-sticky-regex@^6.22.0: 381 | version "6.22.0" 382 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.22.0.tgz#ab316829e866ee3f4b9eb96939757d19a5bc4593" 383 | dependencies: 384 | babel-helper-regex "^6.22.0" 385 | babel-runtime "^6.22.0" 386 | babel-types "^6.22.0" 387 | 388 | babel-plugin-transform-es2015-template-literals@^6.22.0: 389 | version "6.22.0" 390 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d" 391 | dependencies: 392 | babel-runtime "^6.22.0" 393 | 394 | babel-plugin-transform-es2015-typeof-symbol@^6.22.0: 395 | version "6.23.0" 396 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372" 397 | dependencies: 398 | babel-runtime "^6.22.0" 399 | 400 | babel-plugin-transform-es2015-unicode-regex@^6.22.0: 401 | version "6.22.0" 402 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.22.0.tgz#8d9cc27e7ee1decfe65454fb986452a04a613d20" 403 | dependencies: 404 | babel-helper-regex "^6.22.0" 405 | babel-runtime "^6.22.0" 406 | regexpu-core "^2.0.0" 407 | 408 | babel-plugin-transform-regenerator@^6.22.0: 409 | version "6.22.0" 410 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.22.0.tgz#65740593a319c44522157538d690b84094617ea6" 411 | dependencies: 412 | regenerator-transform "0.9.8" 413 | 414 | babel-plugin-transform-strict-mode@^6.22.0: 415 | version "6.22.0" 416 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.22.0.tgz#e008df01340fdc87e959da65991b7e05970c8c7c" 417 | dependencies: 418 | babel-runtime "^6.22.0" 419 | babel-types "^6.22.0" 420 | 421 | babel-polyfill@^6.23.0, babel-polyfill@^6.6.1: 422 | version "6.23.0" 423 | resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.23.0.tgz#8364ca62df8eafb830499f699177466c3b03499d" 424 | dependencies: 425 | babel-runtime "^6.22.0" 426 | core-js "^2.4.0" 427 | regenerator-runtime "^0.10.0" 428 | 429 | babel-preset-es2015@^6.6.0: 430 | version "6.22.0" 431 | resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.22.0.tgz#af5a98ecb35eb8af764ad8a5a05eb36dc4386835" 432 | dependencies: 433 | babel-plugin-check-es2015-constants "^6.22.0" 434 | babel-plugin-transform-es2015-arrow-functions "^6.22.0" 435 | babel-plugin-transform-es2015-block-scoped-functions "^6.22.0" 436 | babel-plugin-transform-es2015-block-scoping "^6.22.0" 437 | babel-plugin-transform-es2015-classes "^6.22.0" 438 | babel-plugin-transform-es2015-computed-properties "^6.22.0" 439 | babel-plugin-transform-es2015-destructuring "^6.22.0" 440 | babel-plugin-transform-es2015-duplicate-keys "^6.22.0" 441 | babel-plugin-transform-es2015-for-of "^6.22.0" 442 | babel-plugin-transform-es2015-function-name "^6.22.0" 443 | babel-plugin-transform-es2015-literals "^6.22.0" 444 | babel-plugin-transform-es2015-modules-amd "^6.22.0" 445 | babel-plugin-transform-es2015-modules-commonjs "^6.22.0" 446 | babel-plugin-transform-es2015-modules-systemjs "^6.22.0" 447 | babel-plugin-transform-es2015-modules-umd "^6.22.0" 448 | babel-plugin-transform-es2015-object-super "^6.22.0" 449 | babel-plugin-transform-es2015-parameters "^6.22.0" 450 | babel-plugin-transform-es2015-shorthand-properties "^6.22.0" 451 | babel-plugin-transform-es2015-spread "^6.22.0" 452 | babel-plugin-transform-es2015-sticky-regex "^6.22.0" 453 | babel-plugin-transform-es2015-template-literals "^6.22.0" 454 | babel-plugin-transform-es2015-typeof-symbol "^6.22.0" 455 | babel-plugin-transform-es2015-unicode-regex "^6.22.0" 456 | babel-plugin-transform-regenerator "^6.22.0" 457 | 458 | babel-register@^6.23.0, babel-register@^6.6.5: 459 | version "6.23.0" 460 | resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.23.0.tgz#c9aa3d4cca94b51da34826c4a0f9e08145d74ff3" 461 | dependencies: 462 | babel-core "^6.23.0" 463 | babel-runtime "^6.22.0" 464 | core-js "^2.4.0" 465 | home-or-tmp "^2.0.0" 466 | lodash "^4.2.0" 467 | mkdirp "^0.5.1" 468 | source-map-support "^0.4.2" 469 | 470 | babel-runtime@^6.18.0, babel-runtime@^6.22.0: 471 | version "6.23.0" 472 | resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.23.0.tgz#0a9489f144de70efb3ce4300accdb329e2fc543b" 473 | dependencies: 474 | core-js "^2.4.0" 475 | regenerator-runtime "^0.10.0" 476 | 477 | babel-template@^6.22.0, babel-template@^6.23.0: 478 | version "6.23.0" 479 | resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.23.0.tgz#04d4f270adbb3aa704a8143ae26faa529238e638" 480 | dependencies: 481 | babel-runtime "^6.22.0" 482 | babel-traverse "^6.23.0" 483 | babel-types "^6.23.0" 484 | babylon "^6.11.0" 485 | lodash "^4.2.0" 486 | 487 | babel-traverse@^6.22.0, babel-traverse@^6.23.0, babel-traverse@^6.23.1: 488 | version "6.23.1" 489 | resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.23.1.tgz#d3cb59010ecd06a97d81310065f966b699e14f48" 490 | dependencies: 491 | babel-code-frame "^6.22.0" 492 | babel-messages "^6.23.0" 493 | babel-runtime "^6.22.0" 494 | babel-types "^6.23.0" 495 | babylon "^6.15.0" 496 | debug "^2.2.0" 497 | globals "^9.0.0" 498 | invariant "^2.2.0" 499 | lodash "^4.2.0" 500 | 501 | babel-types@^6.19.0, babel-types@^6.22.0, babel-types@^6.23.0: 502 | version "6.23.0" 503 | resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.23.0.tgz#bb17179d7538bad38cd0c9e115d340f77e7e9acf" 504 | dependencies: 505 | babel-runtime "^6.22.0" 506 | esutils "^2.0.2" 507 | lodash "^4.2.0" 508 | to-fast-properties "^1.0.1" 509 | 510 | babylon@^6.11.0, babylon@^6.15.0: 511 | version "6.16.1" 512 | resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.16.1.tgz#30c5a22f481978a9e7f8cdfdf496b11d94b404d3" 513 | 514 | balanced-match@^0.4.1: 515 | version "0.4.2" 516 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" 517 | 518 | bcrypt-pbkdf@^1.0.0: 519 | version "1.0.1" 520 | resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" 521 | dependencies: 522 | tweetnacl "^0.14.3" 523 | 524 | binary-extensions@^1.0.0: 525 | version "1.8.0" 526 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.8.0.tgz#48ec8d16df4377eae5fa5884682480af4d95c774" 527 | 528 | block-stream@*: 529 | version "0.0.9" 530 | resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" 531 | dependencies: 532 | inherits "~2.0.0" 533 | 534 | boom@2.x.x: 535 | version "2.10.1" 536 | resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" 537 | dependencies: 538 | hoek "2.x.x" 539 | 540 | boxen@^0.6.0: 541 | version "0.6.0" 542 | resolved "https://registry.yarnpkg.com/boxen/-/boxen-0.6.0.tgz#8364d4248ac34ff0ef1b2f2bf49a6c60ce0d81b6" 543 | dependencies: 544 | ansi-align "^1.1.0" 545 | camelcase "^2.1.0" 546 | chalk "^1.1.1" 547 | cli-boxes "^1.0.0" 548 | filled-array "^1.0.0" 549 | object-assign "^4.0.1" 550 | repeating "^2.0.0" 551 | string-width "^1.0.1" 552 | widest-line "^1.0.0" 553 | 554 | brace-expansion@^1.0.0: 555 | version "1.1.6" 556 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.6.tgz#7197d7eaa9b87e648390ea61fc66c84427420df9" 557 | dependencies: 558 | balanced-match "^0.4.1" 559 | concat-map "0.0.1" 560 | 561 | braces@^1.8.2: 562 | version "1.8.5" 563 | resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" 564 | dependencies: 565 | expand-range "^1.8.1" 566 | preserve "^0.2.0" 567 | repeat-element "^1.1.2" 568 | 569 | buffer-shims@^1.0.0: 570 | version "1.0.0" 571 | resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51" 572 | 573 | camelcase@^2.1.0: 574 | version "2.1.1" 575 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" 576 | 577 | capture-stack-trace@^1.0.0: 578 | version "1.0.0" 579 | resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz#4a6fa07399c26bba47f0b2496b4d0fb408c5550d" 580 | 581 | caseless@~0.11.0: 582 | version "0.11.0" 583 | resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7" 584 | 585 | chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1: 586 | version "1.1.3" 587 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" 588 | dependencies: 589 | ansi-styles "^2.2.1" 590 | escape-string-regexp "^1.0.2" 591 | has-ansi "^2.0.0" 592 | strip-ansi "^3.0.0" 593 | supports-color "^2.0.0" 594 | 595 | chokidar@^1.6.1: 596 | version "1.6.1" 597 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.6.1.tgz#2f4447ab5e96e50fb3d789fd90d4c72e0e4c70c2" 598 | dependencies: 599 | anymatch "^1.3.0" 600 | async-each "^1.0.0" 601 | glob-parent "^2.0.0" 602 | inherits "^2.0.1" 603 | is-binary-path "^1.0.0" 604 | is-glob "^2.0.0" 605 | path-is-absolute "^1.0.0" 606 | readdirp "^2.0.0" 607 | optionalDependencies: 608 | fsevents "^1.0.0" 609 | 610 | cli-boxes@^1.0.0: 611 | version "1.0.0" 612 | resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" 613 | 614 | code-point-at@^1.0.0: 615 | version "1.1.0" 616 | resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" 617 | 618 | colors@^1.1.2: 619 | version "1.1.2" 620 | resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" 621 | 622 | combined-stream@^1.0.5, combined-stream@~1.0.5: 623 | version "1.0.5" 624 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" 625 | dependencies: 626 | delayed-stream "~1.0.0" 627 | 628 | commander@0.6.1: 629 | version "0.6.1" 630 | resolved "https://registry.yarnpkg.com/commander/-/commander-0.6.1.tgz#fa68a14f6a945d54dbbe50d8cdb3320e9e3b1a06" 631 | 632 | commander@2.3.0: 633 | version "2.3.0" 634 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.3.0.tgz#fd430e889832ec353b9acd1de217c11cb3eef873" 635 | 636 | commander@^2.8.1, commander@^2.9.0: 637 | version "2.9.0" 638 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" 639 | dependencies: 640 | graceful-readlink ">= 1.0.0" 641 | 642 | concat-map@0.0.1: 643 | version "0.0.1" 644 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 645 | 646 | configstore@^2.0.0: 647 | version "2.1.0" 648 | resolved "https://registry.yarnpkg.com/configstore/-/configstore-2.1.0.tgz#737a3a7036e9886102aa6099e47bb33ab1aba1a1" 649 | dependencies: 650 | dot-prop "^3.0.0" 651 | graceful-fs "^4.1.2" 652 | mkdirp "^0.5.0" 653 | object-assign "^4.0.1" 654 | os-tmpdir "^1.0.0" 655 | osenv "^0.1.0" 656 | uuid "^2.0.1" 657 | write-file-atomic "^1.1.2" 658 | xdg-basedir "^2.0.0" 659 | 660 | console-control-strings@^1.0.0, console-control-strings@~1.1.0: 661 | version "1.1.0" 662 | resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" 663 | 664 | convert-source-map@^1.1.0: 665 | version "1.4.0" 666 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.4.0.tgz#e3dad195bf61bfe13a7a3c73e9876ec14a0268f3" 667 | 668 | core-js@^2.4.0: 669 | version "2.4.1" 670 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e" 671 | 672 | core-util-is@~1.0.0: 673 | version "1.0.2" 674 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 675 | 676 | create-error-class@^3.0.1: 677 | version "3.0.2" 678 | resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" 679 | dependencies: 680 | capture-stack-trace "^1.0.0" 681 | 682 | cryptiles@2.x.x: 683 | version "2.0.5" 684 | resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" 685 | dependencies: 686 | boom "2.x.x" 687 | 688 | dashdash@^1.12.0: 689 | version "1.14.1" 690 | resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" 691 | dependencies: 692 | assert-plus "^1.0.0" 693 | 694 | debug@2.2.0, debug@^2.1.1, debug@^2.2.0, debug@~2.2.0: 695 | version "2.2.0" 696 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" 697 | dependencies: 698 | ms "0.7.1" 699 | 700 | deep-extend@~0.4.0: 701 | version "0.4.1" 702 | resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.1.tgz#efe4113d08085f4e6f9687759810f807469e2253" 703 | 704 | delayed-stream@~1.0.0: 705 | version "1.0.0" 706 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 707 | 708 | delegates@^1.0.0: 709 | version "1.0.0" 710 | resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" 711 | 712 | detect-indent@^4.0.0: 713 | version "4.0.0" 714 | resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" 715 | dependencies: 716 | repeating "^2.0.0" 717 | 718 | diff@1.4.0: 719 | version "1.4.0" 720 | resolved "https://registry.yarnpkg.com/diff/-/diff-1.4.0.tgz#7f28d2eb9ee7b15a97efd89ce63dcfdaa3ccbabf" 721 | 722 | diff@^3.0.1: 723 | version "3.2.0" 724 | resolved "https://registry.yarnpkg.com/diff/-/diff-3.2.0.tgz#c9ce393a4b7cbd0b058a725c93df299027868ff9" 725 | 726 | doctrine@^0.7.2: 727 | version "0.7.2" 728 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-0.7.2.tgz#7cb860359ba3be90e040b26b729ce4bfa654c523" 729 | dependencies: 730 | esutils "^1.1.6" 731 | isarray "0.0.1" 732 | 733 | dot-prop@^3.0.0: 734 | version "3.0.0" 735 | resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177" 736 | dependencies: 737 | is-obj "^1.0.0" 738 | 739 | duplexer2@^0.1.4: 740 | version "0.1.4" 741 | resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" 742 | dependencies: 743 | readable-stream "^2.0.2" 744 | 745 | ecc-jsbn@~0.1.1: 746 | version "0.1.1" 747 | resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" 748 | dependencies: 749 | jsbn "~0.1.0" 750 | 751 | error-ex@^1.2.0: 752 | version "1.3.0" 753 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.0.tgz#e67b43f3e82c96ea3a584ffee0b9fc3325d802d9" 754 | dependencies: 755 | is-arrayish "^0.2.1" 756 | 757 | escape-string-regexp@1.0.2, escape-string-regexp@^1.0.2: 758 | version "1.0.2" 759 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.2.tgz#4dbc2fe674e71949caf3fb2695ce7f2dc1d9a8d1" 760 | 761 | esutils@^1.1.6: 762 | version "1.1.6" 763 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-1.1.6.tgz#c01ccaa9ae4b897c6d0c3e210ae52f3c7a844375" 764 | 765 | esutils@^2.0.2: 766 | version "2.0.2" 767 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" 768 | 769 | expand-brackets@^0.1.4: 770 | version "0.1.5" 771 | resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" 772 | dependencies: 773 | is-posix-bracket "^0.1.0" 774 | 775 | expand-range@^1.8.1: 776 | version "1.8.2" 777 | resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" 778 | dependencies: 779 | fill-range "^2.1.0" 780 | 781 | expect.js@^0.3.1: 782 | version "0.3.1" 783 | resolved "https://registry.yarnpkg.com/expect.js/-/expect.js-0.3.1.tgz#b0a59a0d2eff5437544ebf0ceaa6015841d09b5b" 784 | 785 | extend@~3.0.0: 786 | version "3.0.0" 787 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.0.tgz#5a474353b9f3353ddd8176dfd37b91c83a46f1d4" 788 | 789 | extglob@^0.3.1: 790 | version "0.3.2" 791 | resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" 792 | dependencies: 793 | is-extglob "^1.0.0" 794 | 795 | extsprintf@1.0.2: 796 | version "1.0.2" 797 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550" 798 | 799 | filename-regex@^2.0.0: 800 | version "2.0.0" 801 | resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.0.tgz#996e3e80479b98b9897f15a8a58b3d084e926775" 802 | 803 | fill-range@^2.1.0: 804 | version "2.2.3" 805 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" 806 | dependencies: 807 | is-number "^2.1.0" 808 | isobject "^2.0.0" 809 | randomatic "^1.1.3" 810 | repeat-element "^1.1.2" 811 | repeat-string "^1.5.2" 812 | 813 | filled-array@^1.0.0: 814 | version "1.1.0" 815 | resolved "https://registry.yarnpkg.com/filled-array/-/filled-array-1.1.0.tgz#c3c4f6c663b923459a9aa29912d2d031f1507f84" 816 | 817 | findup-sync@~0.3.0: 818 | version "0.3.0" 819 | resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-0.3.0.tgz#37930aa5d816b777c03445e1966cc6790a4c0b16" 820 | dependencies: 821 | glob "~5.0.0" 822 | 823 | for-in@^0.1.5: 824 | version "0.1.6" 825 | resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.6.tgz#c9f96e89bfad18a545af5ec3ed352a1d9e5b4dc8" 826 | 827 | for-own@^0.1.4: 828 | version "0.1.4" 829 | resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.4.tgz#0149b41a39088c7515f51ebe1c1386d45f935072" 830 | dependencies: 831 | for-in "^0.1.5" 832 | 833 | forever-agent@~0.6.1: 834 | version "0.6.1" 835 | resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" 836 | 837 | form-data@~2.1.1: 838 | version "2.1.2" 839 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.2.tgz#89c3534008b97eada4cbb157d58f6f5df025eae4" 840 | dependencies: 841 | asynckit "^0.4.0" 842 | combined-stream "^1.0.5" 843 | mime-types "^2.1.12" 844 | 845 | fs-readdir-recursive@^1.0.0: 846 | version "1.0.0" 847 | resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.0.0.tgz#8cd1745c8b4f8a29c8caec392476921ba195f560" 848 | 849 | fs.realpath@^1.0.0: 850 | version "1.0.0" 851 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 852 | 853 | fsevents@^1.0.0: 854 | version "1.1.1" 855 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.1.tgz#f19fd28f43eeaf761680e519a203c4d0b3d31aff" 856 | dependencies: 857 | nan "^2.3.0" 858 | node-pre-gyp "^0.6.29" 859 | 860 | fstream-ignore@~1.0.5: 861 | version "1.0.5" 862 | resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" 863 | dependencies: 864 | fstream "^1.0.0" 865 | inherits "2" 866 | minimatch "^3.0.0" 867 | 868 | fstream@^1.0.0, fstream@^1.0.2, fstream@~1.0.10: 869 | version "1.0.10" 870 | resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.10.tgz#604e8a92fe26ffd9f6fae30399d4984e1ab22822" 871 | dependencies: 872 | graceful-fs "^4.1.2" 873 | inherits "~2.0.0" 874 | mkdirp ">=0.5 0" 875 | rimraf "2" 876 | 877 | gauge@~2.7.1: 878 | version "2.7.3" 879 | resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.3.tgz#1c23855f962f17b3ad3d0dc7443f304542edfe09" 880 | dependencies: 881 | aproba "^1.0.3" 882 | console-control-strings "^1.0.0" 883 | has-unicode "^2.0.0" 884 | object-assign "^4.1.0" 885 | signal-exit "^3.0.0" 886 | string-width "^1.0.1" 887 | strip-ansi "^3.0.1" 888 | wide-align "^1.1.0" 889 | 890 | generate-function@^2.0.0: 891 | version "2.0.0" 892 | resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74" 893 | 894 | generate-object-property@^1.1.0: 895 | version "1.2.0" 896 | resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" 897 | dependencies: 898 | is-property "^1.0.0" 899 | 900 | getpass@^0.1.1: 901 | version "0.1.6" 902 | resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.6.tgz#283ffd9fc1256840875311c1b60e8c40187110e6" 903 | dependencies: 904 | assert-plus "^1.0.0" 905 | 906 | glob-base@^0.3.0: 907 | version "0.3.0" 908 | resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" 909 | dependencies: 910 | glob-parent "^2.0.0" 911 | is-glob "^2.0.0" 912 | 913 | glob-parent@^2.0.0: 914 | version "2.0.0" 915 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" 916 | dependencies: 917 | is-glob "^2.0.0" 918 | 919 | glob@3.2.11: 920 | version "3.2.11" 921 | resolved "https://registry.yarnpkg.com/glob/-/glob-3.2.11.tgz#4a973f635b9190f715d10987d5c00fd2815ebe3d" 922 | dependencies: 923 | inherits "2" 924 | minimatch "0.3" 925 | 926 | glob@^7.0.0, glob@^7.0.5, glob@^7.1.1: 927 | version "7.1.1" 928 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" 929 | dependencies: 930 | fs.realpath "^1.0.0" 931 | inflight "^1.0.4" 932 | inherits "2" 933 | minimatch "^3.0.2" 934 | once "^1.3.0" 935 | path-is-absolute "^1.0.0" 936 | 937 | glob@~5.0.0: 938 | version "5.0.15" 939 | resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" 940 | dependencies: 941 | inflight "^1.0.4" 942 | inherits "2" 943 | minimatch "2 || 3" 944 | once "^1.3.0" 945 | path-is-absolute "^1.0.0" 946 | 947 | globals@^9.0.0: 948 | version "9.16.0" 949 | resolved "https://registry.yarnpkg.com/globals/-/globals-9.16.0.tgz#63e903658171ec2d9f51b1d31de5e2b8dc01fb80" 950 | 951 | got@^5.0.0: 952 | version "5.7.1" 953 | resolved "https://registry.yarnpkg.com/got/-/got-5.7.1.tgz#5f81635a61e4a6589f180569ea4e381680a51f35" 954 | dependencies: 955 | create-error-class "^3.0.1" 956 | duplexer2 "^0.1.4" 957 | is-redirect "^1.0.0" 958 | is-retry-allowed "^1.0.0" 959 | is-stream "^1.0.0" 960 | lowercase-keys "^1.0.0" 961 | node-status-codes "^1.0.0" 962 | object-assign "^4.0.1" 963 | parse-json "^2.1.0" 964 | pinkie-promise "^2.0.0" 965 | read-all-stream "^3.0.0" 966 | readable-stream "^2.0.5" 967 | timed-out "^3.0.0" 968 | unzip-response "^1.0.2" 969 | url-parse-lax "^1.0.0" 970 | 971 | graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.4: 972 | version "4.1.11" 973 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" 974 | 975 | "graceful-readlink@>= 1.0.0": 976 | version "1.0.1" 977 | resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" 978 | 979 | growl@1.9.2: 980 | version "1.9.2" 981 | resolved "https://registry.yarnpkg.com/growl/-/growl-1.9.2.tgz#0ea7743715db8d8de2c5ede1775e1b45ac85c02f" 982 | 983 | har-validator@~2.0.6: 984 | version "2.0.6" 985 | resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d" 986 | dependencies: 987 | chalk "^1.1.1" 988 | commander "^2.9.0" 989 | is-my-json-valid "^2.12.4" 990 | pinkie-promise "^2.0.0" 991 | 992 | has-ansi@^2.0.0: 993 | version "2.0.0" 994 | resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" 995 | dependencies: 996 | ansi-regex "^2.0.0" 997 | 998 | has-unicode@^2.0.0: 999 | version "2.0.1" 1000 | resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" 1001 | 1002 | hawk@~3.1.3: 1003 | version "3.1.3" 1004 | resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" 1005 | dependencies: 1006 | boom "2.x.x" 1007 | cryptiles "2.x.x" 1008 | hoek "2.x.x" 1009 | sntp "1.x.x" 1010 | 1011 | hoek@2.x.x: 1012 | version "2.16.3" 1013 | resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" 1014 | 1015 | home-or-tmp@^2.0.0: 1016 | version "2.0.0" 1017 | resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" 1018 | dependencies: 1019 | os-homedir "^1.0.0" 1020 | os-tmpdir "^1.0.1" 1021 | 1022 | http-signature@~1.1.0: 1023 | version "1.1.1" 1024 | resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" 1025 | dependencies: 1026 | assert-plus "^0.2.0" 1027 | jsprim "^1.2.2" 1028 | sshpk "^1.7.0" 1029 | 1030 | imurmurhash@^0.1.4: 1031 | version "0.1.4" 1032 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 1033 | 1034 | inflight@^1.0.4: 1035 | version "1.0.6" 1036 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1037 | dependencies: 1038 | once "^1.3.0" 1039 | wrappy "1" 1040 | 1041 | inherits@2, inherits@^2.0.1, inherits@~2.0.0, inherits@~2.0.1: 1042 | version "2.0.3" 1043 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 1044 | 1045 | ini@~1.3.0: 1046 | version "1.3.4" 1047 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" 1048 | 1049 | invariant@^2.2.0: 1050 | version "2.2.2" 1051 | resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" 1052 | dependencies: 1053 | loose-envify "^1.0.0" 1054 | 1055 | is-arrayish@^0.2.1: 1056 | version "0.2.1" 1057 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 1058 | 1059 | is-binary-path@^1.0.0: 1060 | version "1.0.1" 1061 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" 1062 | dependencies: 1063 | binary-extensions "^1.0.0" 1064 | 1065 | is-buffer@^1.0.2: 1066 | version "1.1.4" 1067 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.4.tgz#cfc86ccd5dc5a52fa80489111c6920c457e2d98b" 1068 | 1069 | is-dotfile@^1.0.0: 1070 | version "1.0.2" 1071 | resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.2.tgz#2c132383f39199f8edc268ca01b9b007d205cc4d" 1072 | 1073 | is-equal-shallow@^0.1.3: 1074 | version "0.1.3" 1075 | resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" 1076 | dependencies: 1077 | is-primitive "^2.0.0" 1078 | 1079 | is-extendable@^0.1.1: 1080 | version "0.1.1" 1081 | resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" 1082 | 1083 | is-extglob@^1.0.0: 1084 | version "1.0.0" 1085 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" 1086 | 1087 | is-finite@^1.0.0: 1088 | version "1.0.2" 1089 | resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" 1090 | dependencies: 1091 | number-is-nan "^1.0.0" 1092 | 1093 | is-fullwidth-code-point@^1.0.0: 1094 | version "1.0.0" 1095 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" 1096 | dependencies: 1097 | number-is-nan "^1.0.0" 1098 | 1099 | is-glob@^2.0.0, is-glob@^2.0.1: 1100 | version "2.0.1" 1101 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" 1102 | dependencies: 1103 | is-extglob "^1.0.0" 1104 | 1105 | is-my-json-valid@^2.12.4: 1106 | version "2.15.0" 1107 | resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz#936edda3ca3c211fd98f3b2d3e08da43f7b2915b" 1108 | dependencies: 1109 | generate-function "^2.0.0" 1110 | generate-object-property "^1.1.0" 1111 | jsonpointer "^4.0.0" 1112 | xtend "^4.0.0" 1113 | 1114 | is-npm@^1.0.0: 1115 | version "1.0.0" 1116 | resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" 1117 | 1118 | is-number@^2.0.2, is-number@^2.1.0: 1119 | version "2.1.0" 1120 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" 1121 | dependencies: 1122 | kind-of "^3.0.2" 1123 | 1124 | is-obj@^1.0.0: 1125 | version "1.0.1" 1126 | resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" 1127 | 1128 | is-posix-bracket@^0.1.0: 1129 | version "0.1.1" 1130 | resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" 1131 | 1132 | is-primitive@^2.0.0: 1133 | version "2.0.0" 1134 | resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" 1135 | 1136 | is-property@^1.0.0: 1137 | version "1.0.2" 1138 | resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" 1139 | 1140 | is-redirect@^1.0.0: 1141 | version "1.0.0" 1142 | resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" 1143 | 1144 | is-retry-allowed@^1.0.0: 1145 | version "1.1.0" 1146 | resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" 1147 | 1148 | is-stream@^1.0.0: 1149 | version "1.1.0" 1150 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" 1151 | 1152 | is-typedarray@~1.0.0: 1153 | version "1.0.0" 1154 | resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" 1155 | 1156 | isarray@0.0.1: 1157 | version "0.0.1" 1158 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" 1159 | 1160 | isarray@1.0.0, isarray@~1.0.0: 1161 | version "1.0.0" 1162 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 1163 | 1164 | isobject@^2.0.0: 1165 | version "2.1.0" 1166 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" 1167 | dependencies: 1168 | isarray "1.0.0" 1169 | 1170 | isstream@~0.1.2: 1171 | version "0.1.2" 1172 | resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" 1173 | 1174 | jade@0.26.3: 1175 | version "0.26.3" 1176 | resolved "https://registry.yarnpkg.com/jade/-/jade-0.26.3.tgz#8f10d7977d8d79f2f6ff862a81b0513ccb25686c" 1177 | dependencies: 1178 | commander "0.6.1" 1179 | mkdirp "0.3.0" 1180 | 1181 | jodid25519@^1.0.0: 1182 | version "1.0.2" 1183 | resolved "https://registry.yarnpkg.com/jodid25519/-/jodid25519-1.0.2.tgz#06d4912255093419477d425633606e0e90782967" 1184 | dependencies: 1185 | jsbn "~0.1.0" 1186 | 1187 | js-tokens@^3.0.0: 1188 | version "3.0.1" 1189 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7" 1190 | 1191 | jsbn@~0.1.0: 1192 | version "0.1.1" 1193 | resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" 1194 | 1195 | jsesc@^1.3.0: 1196 | version "1.3.0" 1197 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" 1198 | 1199 | jsesc@~0.5.0: 1200 | version "0.5.0" 1201 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" 1202 | 1203 | json-schema@0.2.3: 1204 | version "0.2.3" 1205 | resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" 1206 | 1207 | json-stringify-safe@~5.0.1: 1208 | version "5.0.1" 1209 | resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" 1210 | 1211 | json5@^0.5.0: 1212 | version "0.5.1" 1213 | resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" 1214 | 1215 | jsonpointer@^4.0.0: 1216 | version "4.0.1" 1217 | resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" 1218 | 1219 | jsprim@^1.2.2: 1220 | version "1.3.1" 1221 | resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.3.1.tgz#2a7256f70412a29ee3670aaca625994c4dcff252" 1222 | dependencies: 1223 | extsprintf "1.0.2" 1224 | json-schema "0.2.3" 1225 | verror "1.3.6" 1226 | 1227 | kind-of@^3.0.2: 1228 | version "3.1.0" 1229 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.1.0.tgz#475d698a5e49ff5e53d14e3e732429dc8bf4cf47" 1230 | dependencies: 1231 | is-buffer "^1.0.2" 1232 | 1233 | latest-version@^2.0.0: 1234 | version "2.0.0" 1235 | resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-2.0.0.tgz#56f8d6139620847b8017f8f1f4d78e211324168b" 1236 | dependencies: 1237 | package-json "^2.0.0" 1238 | 1239 | lazy-req@^1.1.0: 1240 | version "1.1.0" 1241 | resolved "https://registry.yarnpkg.com/lazy-req/-/lazy-req-1.1.0.tgz#bdaebead30f8d824039ce0ce149d4daa07ba1fac" 1242 | 1243 | lodash@^4.2.0: 1244 | version "4.17.4" 1245 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" 1246 | 1247 | loose-envify@^1.0.0: 1248 | version "1.3.1" 1249 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" 1250 | dependencies: 1251 | js-tokens "^3.0.0" 1252 | 1253 | lowercase-keys@^1.0.0: 1254 | version "1.0.0" 1255 | resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306" 1256 | 1257 | lru-cache@2: 1258 | version "2.7.3" 1259 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.7.3.tgz#6d4524e8b955f95d4f5b58851ce21dd72fb4e952" 1260 | 1261 | micromatch@^2.1.5: 1262 | version "2.3.11" 1263 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" 1264 | dependencies: 1265 | arr-diff "^2.0.0" 1266 | array-unique "^0.2.1" 1267 | braces "^1.8.2" 1268 | expand-brackets "^0.1.4" 1269 | extglob "^0.3.1" 1270 | filename-regex "^2.0.0" 1271 | is-extglob "^1.0.0" 1272 | is-glob "^2.0.1" 1273 | kind-of "^3.0.2" 1274 | normalize-path "^2.0.1" 1275 | object.omit "^2.0.0" 1276 | parse-glob "^3.0.4" 1277 | regex-cache "^0.4.2" 1278 | 1279 | mime-db@~1.26.0: 1280 | version "1.26.0" 1281 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.26.0.tgz#eaffcd0e4fc6935cf8134da246e2e6c35305adff" 1282 | 1283 | mime-types@^2.1.12, mime-types@~2.1.7: 1284 | version "2.1.14" 1285 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.14.tgz#f7ef7d97583fcaf3b7d282b6f8b5679dab1e94ee" 1286 | dependencies: 1287 | mime-db "~1.26.0" 1288 | 1289 | minimatch@0.3: 1290 | version "0.3.0" 1291 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.3.0.tgz#275d8edaac4f1bb3326472089e7949c8394699dd" 1292 | dependencies: 1293 | lru-cache "2" 1294 | sigmund "~1.0.0" 1295 | 1296 | "minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2: 1297 | version "3.0.3" 1298 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774" 1299 | dependencies: 1300 | brace-expansion "^1.0.0" 1301 | 1302 | minimist@0.0.8, minimist@~0.0.1: 1303 | version "0.0.8" 1304 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 1305 | 1306 | minimist@^1.2.0: 1307 | version "1.2.0" 1308 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" 1309 | 1310 | mkdirp@0.3.0: 1311 | version "0.3.0" 1312 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.3.0.tgz#1bbf5ab1ba827af23575143490426455f481fe1e" 1313 | 1314 | mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1: 1315 | version "0.5.1" 1316 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 1317 | dependencies: 1318 | minimist "0.0.8" 1319 | 1320 | mocha@^2.4.5: 1321 | version "2.5.3" 1322 | resolved "https://registry.yarnpkg.com/mocha/-/mocha-2.5.3.tgz#161be5bdeb496771eb9b35745050b622b5aefc58" 1323 | dependencies: 1324 | commander "2.3.0" 1325 | debug "2.2.0" 1326 | diff "1.4.0" 1327 | escape-string-regexp "1.0.2" 1328 | glob "3.2.11" 1329 | growl "1.9.2" 1330 | jade "0.26.3" 1331 | mkdirp "0.5.1" 1332 | supports-color "1.2.0" 1333 | to-iso-string "0.0.2" 1334 | 1335 | ms@0.7.1: 1336 | version "0.7.1" 1337 | resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" 1338 | 1339 | nan@^2.3.0: 1340 | version "2.5.1" 1341 | resolved "https://registry.yarnpkg.com/nan/-/nan-2.5.1.tgz#d5b01691253326a97a2bbee9e61c55d8d60351e2" 1342 | 1343 | node-pre-gyp@^0.6.29: 1344 | version "0.6.33" 1345 | resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.33.tgz#640ac55198f6a925972e0c16c4ac26a034d5ecc9" 1346 | dependencies: 1347 | mkdirp "~0.5.1" 1348 | nopt "~3.0.6" 1349 | npmlog "^4.0.1" 1350 | rc "~1.1.6" 1351 | request "^2.79.0" 1352 | rimraf "~2.5.4" 1353 | semver "~5.3.0" 1354 | tar "~2.2.1" 1355 | tar-pack "~3.3.0" 1356 | 1357 | node-status-codes@^1.0.0: 1358 | version "1.0.0" 1359 | resolved "https://registry.yarnpkg.com/node-status-codes/-/node-status-codes-1.0.0.tgz#5ae5541d024645d32a58fcddc9ceecea7ae3ac2f" 1360 | 1361 | nopt@~3.0.6: 1362 | version "3.0.6" 1363 | resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" 1364 | dependencies: 1365 | abbrev "1" 1366 | 1367 | normalize-path@^2.0.1: 1368 | version "2.0.1" 1369 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.0.1.tgz#47886ac1662760d4261b7d979d241709d3ce3f7a" 1370 | 1371 | npmlog@^4.0.1: 1372 | version "4.0.2" 1373 | resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.0.2.tgz#d03950e0e78ce1527ba26d2a7592e9348ac3e75f" 1374 | dependencies: 1375 | are-we-there-yet "~1.1.2" 1376 | console-control-strings "~1.1.0" 1377 | gauge "~2.7.1" 1378 | set-blocking "~2.0.0" 1379 | 1380 | number-is-nan@^1.0.0: 1381 | version "1.0.1" 1382 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" 1383 | 1384 | oauth-sign@~0.8.1: 1385 | version "0.8.2" 1386 | resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" 1387 | 1388 | object-assign@^4.0.1, object-assign@^4.1.0: 1389 | version "4.1.1" 1390 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 1391 | 1392 | object.omit@^2.0.0: 1393 | version "2.0.1" 1394 | resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" 1395 | dependencies: 1396 | for-own "^0.1.4" 1397 | is-extendable "^0.1.1" 1398 | 1399 | once@^1.3.0: 1400 | version "1.4.0" 1401 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 1402 | dependencies: 1403 | wrappy "1" 1404 | 1405 | once@~1.3.3: 1406 | version "1.3.3" 1407 | resolved "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20" 1408 | dependencies: 1409 | wrappy "1" 1410 | 1411 | optimist@~0.6.0: 1412 | version "0.6.1" 1413 | resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" 1414 | dependencies: 1415 | minimist "~0.0.1" 1416 | wordwrap "~0.0.2" 1417 | 1418 | os-homedir@^1.0.0: 1419 | version "1.0.2" 1420 | resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" 1421 | 1422 | os-tmpdir@^1.0.0, os-tmpdir@^1.0.1: 1423 | version "1.0.2" 1424 | resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" 1425 | 1426 | osenv@^0.1.0: 1427 | version "0.1.4" 1428 | resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644" 1429 | dependencies: 1430 | os-homedir "^1.0.0" 1431 | os-tmpdir "^1.0.0" 1432 | 1433 | output-file-sync@^1.1.0: 1434 | version "1.1.2" 1435 | resolved "https://registry.yarnpkg.com/output-file-sync/-/output-file-sync-1.1.2.tgz#d0a33eefe61a205facb90092e826598d5245ce76" 1436 | dependencies: 1437 | graceful-fs "^4.1.4" 1438 | mkdirp "^0.5.1" 1439 | object-assign "^4.1.0" 1440 | 1441 | package-json@^2.0.0: 1442 | version "2.4.0" 1443 | resolved "https://registry.yarnpkg.com/package-json/-/package-json-2.4.0.tgz#0d15bd67d1cbbddbb2ca222ff2edb86bcb31a8bb" 1444 | dependencies: 1445 | got "^5.0.0" 1446 | registry-auth-token "^3.0.1" 1447 | registry-url "^3.0.3" 1448 | semver "^5.1.0" 1449 | 1450 | parse-glob@^3.0.4: 1451 | version "3.0.4" 1452 | resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" 1453 | dependencies: 1454 | glob-base "^0.3.0" 1455 | is-dotfile "^1.0.0" 1456 | is-extglob "^1.0.0" 1457 | is-glob "^2.0.0" 1458 | 1459 | parse-json@^2.1.0: 1460 | version "2.2.0" 1461 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" 1462 | dependencies: 1463 | error-ex "^1.2.0" 1464 | 1465 | path-is-absolute@^1.0.0: 1466 | version "1.0.1" 1467 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 1468 | 1469 | path-parse@^1.0.5: 1470 | version "1.0.5" 1471 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" 1472 | 1473 | pinkie-promise@^2.0.0: 1474 | version "2.0.1" 1475 | resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" 1476 | dependencies: 1477 | pinkie "^2.0.0" 1478 | 1479 | pinkie@^2.0.0: 1480 | version "2.0.4" 1481 | resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" 1482 | 1483 | prepend-http@^1.0.1: 1484 | version "1.0.4" 1485 | resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" 1486 | 1487 | preserve@^0.2.0: 1488 | version "0.2.0" 1489 | resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" 1490 | 1491 | private@^0.1.6: 1492 | version "0.1.7" 1493 | resolved "https://registry.yarnpkg.com/private/-/private-0.1.7.tgz#68ce5e8a1ef0a23bb570cc28537b5332aba63ef1" 1494 | 1495 | process-nextick-args@~1.0.6: 1496 | version "1.0.7" 1497 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" 1498 | 1499 | punycode@^1.4.1: 1500 | version "1.4.1" 1501 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" 1502 | 1503 | qs@~6.3.0: 1504 | version "6.3.1" 1505 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.1.tgz#918c0b3bcd36679772baf135b1acb4c1651ed79d" 1506 | 1507 | randomatic@^1.1.3: 1508 | version "1.1.6" 1509 | resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.6.tgz#110dcabff397e9dcff7c0789ccc0a49adf1ec5bb" 1510 | dependencies: 1511 | is-number "^2.0.2" 1512 | kind-of "^3.0.2" 1513 | 1514 | rc@^1.0.1, rc@^1.1.6, rc@~1.1.6: 1515 | version "1.1.7" 1516 | resolved "https://registry.yarnpkg.com/rc/-/rc-1.1.7.tgz#c5ea564bb07aff9fd3a5b32e906c1d3a65940fea" 1517 | dependencies: 1518 | deep-extend "~0.4.0" 1519 | ini "~1.3.0" 1520 | minimist "^1.2.0" 1521 | strip-json-comments "~2.0.1" 1522 | 1523 | read-all-stream@^3.0.0: 1524 | version "3.1.0" 1525 | resolved "https://registry.yarnpkg.com/read-all-stream/-/read-all-stream-3.1.0.tgz#35c3e177f2078ef789ee4bfafa4373074eaef4fa" 1526 | dependencies: 1527 | pinkie-promise "^2.0.0" 1528 | readable-stream "^2.0.0" 1529 | 1530 | readable-stream@^2.0.0, "readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.2, readable-stream@^2.0.5: 1531 | version "2.2.3" 1532 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.3.tgz#9cf49463985df016c8ae8813097a9293a9b33729" 1533 | dependencies: 1534 | buffer-shims "^1.0.0" 1535 | core-util-is "~1.0.0" 1536 | inherits "~2.0.1" 1537 | isarray "~1.0.0" 1538 | process-nextick-args "~1.0.6" 1539 | string_decoder "~0.10.x" 1540 | util-deprecate "~1.0.1" 1541 | 1542 | readable-stream@~2.1.4: 1543 | version "2.1.5" 1544 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz#66fa8b720e1438b364681f2ad1a63c618448c9d0" 1545 | dependencies: 1546 | buffer-shims "^1.0.0" 1547 | core-util-is "~1.0.0" 1548 | inherits "~2.0.1" 1549 | isarray "~1.0.0" 1550 | process-nextick-args "~1.0.6" 1551 | string_decoder "~0.10.x" 1552 | util-deprecate "~1.0.1" 1553 | 1554 | readdirp@^2.0.0: 1555 | version "2.1.0" 1556 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" 1557 | dependencies: 1558 | graceful-fs "^4.1.2" 1559 | minimatch "^3.0.2" 1560 | readable-stream "^2.0.2" 1561 | set-immediate-shim "^1.0.1" 1562 | 1563 | regenerate@^1.2.1: 1564 | version "1.3.2" 1565 | resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.2.tgz#d1941c67bad437e1be76433add5b385f95b19260" 1566 | 1567 | regenerator-runtime@^0.10.0: 1568 | version "0.10.3" 1569 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.3.tgz#8c4367a904b51ea62a908ac310bf99ff90a82a3e" 1570 | 1571 | regenerator-transform@0.9.8: 1572 | version "0.9.8" 1573 | resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.9.8.tgz#0f88bb2bc03932ddb7b6b7312e68078f01026d6c" 1574 | dependencies: 1575 | babel-runtime "^6.18.0" 1576 | babel-types "^6.19.0" 1577 | private "^0.1.6" 1578 | 1579 | regex-cache@^0.4.2: 1580 | version "0.4.3" 1581 | resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145" 1582 | dependencies: 1583 | is-equal-shallow "^0.1.3" 1584 | is-primitive "^2.0.0" 1585 | 1586 | regexpu-core@^2.0.0: 1587 | version "2.0.0" 1588 | resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" 1589 | dependencies: 1590 | regenerate "^1.2.1" 1591 | regjsgen "^0.2.0" 1592 | regjsparser "^0.1.4" 1593 | 1594 | registry-auth-token@^3.0.1: 1595 | version "3.1.0" 1596 | resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.1.0.tgz#997c08256e0c7999837b90e944db39d8a790276b" 1597 | dependencies: 1598 | rc "^1.1.6" 1599 | 1600 | registry-url@^3.0.3: 1601 | version "3.1.0" 1602 | resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942" 1603 | dependencies: 1604 | rc "^1.0.1" 1605 | 1606 | regjsgen@^0.2.0: 1607 | version "0.2.0" 1608 | resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" 1609 | 1610 | regjsparser@^0.1.4: 1611 | version "0.1.5" 1612 | resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" 1613 | dependencies: 1614 | jsesc "~0.5.0" 1615 | 1616 | repeat-element@^1.1.2: 1617 | version "1.1.2" 1618 | resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" 1619 | 1620 | repeat-string@^1.5.2: 1621 | version "1.6.1" 1622 | resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" 1623 | 1624 | repeating@^2.0.0: 1625 | version "2.0.1" 1626 | resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" 1627 | dependencies: 1628 | is-finite "^1.0.0" 1629 | 1630 | request@^2.79.0: 1631 | version "2.79.0" 1632 | resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de" 1633 | dependencies: 1634 | aws-sign2 "~0.6.0" 1635 | aws4 "^1.2.1" 1636 | caseless "~0.11.0" 1637 | combined-stream "~1.0.5" 1638 | extend "~3.0.0" 1639 | forever-agent "~0.6.1" 1640 | form-data "~2.1.1" 1641 | har-validator "~2.0.6" 1642 | hawk "~3.1.3" 1643 | http-signature "~1.1.0" 1644 | is-typedarray "~1.0.0" 1645 | isstream "~0.1.2" 1646 | json-stringify-safe "~5.0.1" 1647 | mime-types "~2.1.7" 1648 | oauth-sign "~0.8.1" 1649 | qs "~6.3.0" 1650 | stringstream "~0.0.4" 1651 | tough-cookie "~2.3.0" 1652 | tunnel-agent "~0.4.1" 1653 | uuid "^3.0.0" 1654 | 1655 | resolve@^1.1.7: 1656 | version "1.3.1" 1657 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.3.1.tgz#5d0a1632609b6b00a22284293db1d5d973676314" 1658 | dependencies: 1659 | path-parse "^1.0.5" 1660 | 1661 | rimraf@2, rimraf@~2.5.1, rimraf@~2.5.4: 1662 | version "2.5.4" 1663 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04" 1664 | dependencies: 1665 | glob "^7.0.5" 1666 | 1667 | semver-diff@^2.0.0: 1668 | version "2.1.0" 1669 | resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36" 1670 | dependencies: 1671 | semver "^5.0.3" 1672 | 1673 | semver@^5.0.3, semver@^5.1.0, semver@~5.3.0: 1674 | version "5.3.0" 1675 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" 1676 | 1677 | set-blocking@~2.0.0: 1678 | version "2.0.0" 1679 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" 1680 | 1681 | set-immediate-shim@^1.0.1: 1682 | version "1.0.1" 1683 | resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" 1684 | 1685 | sigmund@~1.0.0: 1686 | version "1.0.1" 1687 | resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" 1688 | 1689 | signal-exit@^3.0.0: 1690 | version "3.0.2" 1691 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" 1692 | 1693 | slash@^1.0.0: 1694 | version "1.0.0" 1695 | resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" 1696 | 1697 | slide@^1.1.5: 1698 | version "1.1.6" 1699 | resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" 1700 | 1701 | sntp@1.x.x: 1702 | version "1.0.9" 1703 | resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" 1704 | dependencies: 1705 | hoek "2.x.x" 1706 | 1707 | source-map-support@^0.4.2: 1708 | version "0.4.11" 1709 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.11.tgz#647f939978b38535909530885303daf23279f322" 1710 | dependencies: 1711 | source-map "^0.5.3" 1712 | 1713 | source-map@^0.5.0, source-map@^0.5.3: 1714 | version "0.5.6" 1715 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" 1716 | 1717 | sshpk@^1.7.0: 1718 | version "1.10.2" 1719 | resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.10.2.tgz#d5a804ce22695515638e798dbe23273de070a5fa" 1720 | dependencies: 1721 | asn1 "~0.2.3" 1722 | assert-plus "^1.0.0" 1723 | dashdash "^1.12.0" 1724 | getpass "^0.1.1" 1725 | optionalDependencies: 1726 | bcrypt-pbkdf "^1.0.0" 1727 | ecc-jsbn "~0.1.1" 1728 | jodid25519 "^1.0.0" 1729 | jsbn "~0.1.0" 1730 | tweetnacl "~0.14.0" 1731 | 1732 | string-width@^1.0.1: 1733 | version "1.0.2" 1734 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" 1735 | dependencies: 1736 | code-point-at "^1.0.0" 1737 | is-fullwidth-code-point "^1.0.0" 1738 | strip-ansi "^3.0.0" 1739 | 1740 | string_decoder@~0.10.x: 1741 | version "0.10.31" 1742 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" 1743 | 1744 | stringstream@~0.0.4: 1745 | version "0.0.5" 1746 | resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" 1747 | 1748 | strip-ansi@^3.0.0, strip-ansi@^3.0.1: 1749 | version "3.0.1" 1750 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 1751 | dependencies: 1752 | ansi-regex "^2.0.0" 1753 | 1754 | strip-json-comments@~2.0.1: 1755 | version "2.0.1" 1756 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" 1757 | 1758 | supports-color@1.2.0: 1759 | version "1.2.0" 1760 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-1.2.0.tgz#ff1ed1e61169d06b3cf2d588e188b18d8847e17e" 1761 | 1762 | supports-color@^2.0.0: 1763 | version "2.0.0" 1764 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" 1765 | 1766 | tar-pack@~3.3.0: 1767 | version "3.3.0" 1768 | resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.3.0.tgz#30931816418f55afc4d21775afdd6720cee45dae" 1769 | dependencies: 1770 | debug "~2.2.0" 1771 | fstream "~1.0.10" 1772 | fstream-ignore "~1.0.5" 1773 | once "~1.3.3" 1774 | readable-stream "~2.1.4" 1775 | rimraf "~2.5.1" 1776 | tar "~2.2.1" 1777 | uid-number "~0.0.6" 1778 | 1779 | tar@~2.2.1: 1780 | version "2.2.1" 1781 | resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" 1782 | dependencies: 1783 | block-stream "*" 1784 | fstream "^1.0.2" 1785 | inherits "2" 1786 | 1787 | timed-out@^3.0.0: 1788 | version "3.1.3" 1789 | resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-3.1.3.tgz#95860bfcc5c76c277f8f8326fd0f5b2e20eba217" 1790 | 1791 | to-fast-properties@^1.0.1: 1792 | version "1.0.2" 1793 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.2.tgz#f3f5c0c3ba7299a7ef99427e44633257ade43320" 1794 | 1795 | to-iso-string@0.0.2: 1796 | version "0.0.2" 1797 | resolved "https://registry.yarnpkg.com/to-iso-string/-/to-iso-string-0.0.2.tgz#4dc19e664dfccbe25bd8db508b00c6da158255d1" 1798 | 1799 | tough-cookie@~2.3.0: 1800 | version "2.3.2" 1801 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" 1802 | dependencies: 1803 | punycode "^1.4.1" 1804 | 1805 | trim-right@^1.0.1: 1806 | version "1.0.1" 1807 | resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" 1808 | 1809 | tslint-eslint-rules@^3.4.0: 1810 | version "3.4.0" 1811 | resolved "https://registry.yarnpkg.com/tslint-eslint-rules/-/tslint-eslint-rules-3.4.0.tgz#694e988121e48168bdb7879a3cc3c9f90b90a1f2" 1812 | dependencies: 1813 | doctrine "^0.7.2" 1814 | 1815 | tslint@^4.4.2: 1816 | version "4.4.2" 1817 | resolved "https://registry.yarnpkg.com/tslint/-/tslint-4.4.2.tgz#b14cb79ae039c72471ab4c2627226b940dda19c6" 1818 | dependencies: 1819 | babel-code-frame "^6.20.0" 1820 | colors "^1.1.2" 1821 | diff "^3.0.1" 1822 | findup-sync "~0.3.0" 1823 | glob "^7.1.1" 1824 | optimist "~0.6.0" 1825 | resolve "^1.1.7" 1826 | update-notifier "^1.0.2" 1827 | 1828 | tunnel-agent@~0.4.1: 1829 | version "0.4.3" 1830 | resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" 1831 | 1832 | tweetnacl@^0.14.3, tweetnacl@~0.14.0: 1833 | version "0.14.5" 1834 | resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" 1835 | 1836 | typescript@^2.2.1: 1837 | version "2.2.1" 1838 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.2.1.tgz#4862b662b988a4c8ff691cc7969622d24db76ae9" 1839 | 1840 | uid-number@~0.0.6: 1841 | version "0.0.6" 1842 | resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" 1843 | 1844 | unzip-response@^1.0.2: 1845 | version "1.0.2" 1846 | resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-1.0.2.tgz#b984f0877fc0a89c2c773cc1ef7b5b232b5b06fe" 1847 | 1848 | update-notifier@^1.0.2: 1849 | version "1.0.3" 1850 | resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-1.0.3.tgz#8f92c515482bd6831b7c93013e70f87552c7cf5a" 1851 | dependencies: 1852 | boxen "^0.6.0" 1853 | chalk "^1.0.0" 1854 | configstore "^2.0.0" 1855 | is-npm "^1.0.0" 1856 | latest-version "^2.0.0" 1857 | lazy-req "^1.1.0" 1858 | semver-diff "^2.0.0" 1859 | xdg-basedir "^2.0.0" 1860 | 1861 | url-parse-lax@^1.0.0: 1862 | version "1.0.0" 1863 | resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" 1864 | dependencies: 1865 | prepend-http "^1.0.1" 1866 | 1867 | user-home@^1.1.1: 1868 | version "1.1.1" 1869 | resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" 1870 | 1871 | util-deprecate@~1.0.1: 1872 | version "1.0.2" 1873 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 1874 | 1875 | uuid@^2.0.1: 1876 | version "2.0.3" 1877 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" 1878 | 1879 | uuid@^3.0.0: 1880 | version "3.0.1" 1881 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1" 1882 | 1883 | v8flags@^2.0.10: 1884 | version "2.0.11" 1885 | resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.0.11.tgz#bca8f30f0d6d60612cc2c00641e6962d42ae6881" 1886 | dependencies: 1887 | user-home "^1.1.1" 1888 | 1889 | verror@1.3.6: 1890 | version "1.3.6" 1891 | resolved "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c" 1892 | dependencies: 1893 | extsprintf "1.0.2" 1894 | 1895 | wide-align@^1.1.0: 1896 | version "1.1.0" 1897 | resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.0.tgz#40edde802a71fea1f070da3e62dcda2e7add96ad" 1898 | dependencies: 1899 | string-width "^1.0.1" 1900 | 1901 | widest-line@^1.0.0: 1902 | version "1.0.0" 1903 | resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-1.0.0.tgz#0c09c85c2a94683d0d7eaf8ee097d564bf0e105c" 1904 | dependencies: 1905 | string-width "^1.0.1" 1906 | 1907 | wordwrap@~0.0.2: 1908 | version "0.0.3" 1909 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" 1910 | 1911 | wrappy@1: 1912 | version "1.0.2" 1913 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 1914 | 1915 | write-file-atomic@^1.1.2: 1916 | version "1.3.1" 1917 | resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-1.3.1.tgz#7d45ba32316328dd1ec7d90f60ebc0d845bb759a" 1918 | dependencies: 1919 | graceful-fs "^4.1.11" 1920 | imurmurhash "^0.1.4" 1921 | slide "^1.1.5" 1922 | 1923 | xdg-basedir@^2.0.0: 1924 | version "2.0.0" 1925 | resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-2.0.0.tgz#edbc903cc385fc04523d966a335504b5504d1bd2" 1926 | dependencies: 1927 | os-homedir "^1.0.0" 1928 | 1929 | xtend@^4.0.0: 1930 | version "4.0.1" 1931 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" 1932 | --------------------------------------------------------------------------------