├── .babelrc ├── .eslintrc ├── .gitignore ├── .npmignore ├── .travis.yml ├── README.md ├── dist ├── redux-stack.js └── redux-stack.min.js ├── examples └── initializers │ ├── devtools.js │ ├── ex-navigation.js │ ├── index.js │ ├── middleware.js │ ├── reducers.js │ ├── redux-logger.js │ └── redux-persist.js ├── lib ├── __tests__ │ └── redux-stack.spec.js ├── redux-stack.js └── redux-stack.min.js ├── media └── redux-stack-xp.png ├── package.json ├── src ├── __tests__ │ ├── __snapshots__ │ │ └── redux-stack.spec.js.snap │ └── redux-stack.spec.js └── redux-stack.js ├── webpack.config.js └── yarn.lock /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["es2015"] 3 | } 4 | -------------------------------------------------------------------------------- /.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ 3 | "standard", 4 | "standard-flow", 5 | "standard-jsx" 6 | ], 7 | "rules":{ 8 | "space-before-blocks": [2, "never"], 9 | "space-before-function-paren": [2, "never"], 10 | "space-infix-ops": 2, 11 | "comma-dangle":0, 12 | "generator-star-spacing":0 13 | }, 14 | "env":{ 15 | "jest": true 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | examples/ 3 | .babelrc 4 | .eslintrc 5 | media/ 6 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "6.0" 4 | - "7.0" 5 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 |

3 | Redux Stack 4 |

5 | 6 | # Redux stack 7 | [![npm](https://img.shields.io/npm/v/redux-stack.svg?maxAge=2592000?style=plastic)]() 8 | [![Build Status](https://travis-ci.org/jondot/redux-stack.svg?branch=master)](https://travis-ci.org/jondot/redux-stack) 9 | 10 | 11 | Redux Stack is a library that helps you build modular, structured, and cleaner redux apps. 12 | 13 | As the Redux ecosystem grows, libraries integrate by 14 | offering their own middleware, or enhancers, or even 15 | custom `compose` and `createStore` functions. When each library require 16 | a different way, or a "non standard" way to integrate with your Redux 17 | store, reducers, and middleware, it's inevitable that something will 18 | break, or at least for the code base to be rigid and not modular enough to scale. 19 | 20 | Redux Stack introduces a concept of _initializers_. Small pieces of 21 | integration code, per library, that "declares" how it integrates. Redux Stack will 22 | mesh these together to create your personalized store builder. 23 | 24 | 25 | ## Quick Start 26 | 27 | Create an `initializers` folder, and drop an initializer there. An initializer 28 | is the main abstraction around Redux Stack, and it's responsibility is to 29 | declare, for each integration, how to configure the store. To see how 30 | the redux DevTools initializer looks like, for example, check out [this file](examples/initializers/devtools). We'll come back to initializers in a bit. 31 | 32 | To create your store, you only need to pull the initializers and configure with redux-stack: 33 | 34 | ```javascript 35 | import { createStore, combineReducers } from 'redux' 36 | import { buildStack } from 'redux-stack' 37 | import stack from './initializers' 38 | 39 | const { reducers, enhancer } = buildStack(stack) 40 | const store = createStore(combineReducers(reducers), {}, enhancer) 41 | 42 | export default store 43 | ``` 44 | 45 | ## Initializers 46 | 47 | An initializer in Redux Stack, is a simple Javascript module that exports 48 | the following shape: 49 | 50 | ```javascript 51 | export default { 52 | reducers: {} 53 | enhancers: [] 54 | composers: [] 55 | } 56 | ``` 57 | 58 | The `reducers`, `enhancers` (`applyMiddleware` is one example of an enhancer), and `composers` fields all contain one or 59 | more of the standard redux [reducer](http://redux.js.org/docs/basics/Reducers.html), [enhancer](https://github.com/reactjs/redux/blob/master/docs/Glossary.md#store-enhancer) 60 | and [composer](https://github.com/reactjs/redux/blob/master/docs/api/compose.md). 61 | 62 | To learn how to make your own initializer, take a look at the example initializers in the [examples folder](examples/initializers), which 63 | cover trivial and more complex configuration. 64 | 65 | ## Towards Redux Initializers and Presets 66 | 67 | One goal is to have an extensive, pre-made set of initializers as part of redux-stack so people don't need to write them. For every well-known library you'll have a ready-made initializer that takes care of its configuration and integration into your Redux app. 68 | 69 | So if you build a new initializer for a redux library, please feel free 70 | to submit! 71 | 72 | Another goal is to provide `presets`, which are sets of initializers, 73 | or complete stacks for you to use. This idea is inspired from [babel presets](https://babeljs.io/docs/plugins/preset-latest/). So you could even do something like this: 74 | 75 | 76 | ```javascript 77 | import { createStore, combineReducers } from 'redux' 78 | import { buildStack } from 'redux-stack' 79 | import stack from 'stack-react-native' 80 | 81 | const { reducers, enhancer } = buildStack(stack) 82 | const store = createStore(combineReducers(reducers), {}, enhancer) 83 | 84 | export default store 85 | ``` 86 | 87 | ## Example Store Setup 88 | 89 | Here's how Redux Stack improves the way your code base feels, and supports 90 | modularity. 91 | 92 | ### Before 93 | 94 | ```javascript 95 | import users from '@/modules/users/state' 96 | import settings from '@/modules/settings/state' 97 | import intro from '@/modules/intro/state' 98 | import { NavigationReducer, createNavigationEnabledStore } from '@exponent/ex-navigation' 99 | import thunk from 'redux-thunk' 100 | import createLogger from 'redux-logger' 101 | import { createStore, applyMiddleware, combineReducers, compose } from 'redux' 102 | import { persistStore, autoRehydrate } from 'redux-persist' 103 | import immutableTransform from 'redux-persist-transform-immutable' 104 | import {AsyncStorage} from 'react-native' 105 | const devtools = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose 106 | 107 | const reducers = { 108 | users, 109 | settings, 110 | intro, 111 | } 112 | const rootReducer = combineReducers({navigation: NavigationReducer, ...reducers}) 113 | 114 | 115 | const logger = createLogger({ 116 | collapsed: true, 117 | // only log in development mode 118 | predicate: () => __DEV__, 119 | // transform immutable state to plain objects 120 | stateTransformer: state => removeNavigation(fromJS(state).toJS()), 121 | // transform immutable action payloads to plain objects 122 | actionTransformer: action => 123 | action && action.payload && action.payload.toJS 124 | ? {...action, payload: action.payload.toJS()} 125 | : action 126 | }) 127 | 128 | let middleware = [ 129 | thunk, 130 | logger 131 | ] 132 | 133 | const createStoreWithNavigation = createNavigationEnabledStore({ 134 | createStore, 135 | navigationStateKey: 'navigation', 136 | }) 137 | 138 | const initialState = {} 139 | 140 | const store = createStoreWithNavigation( 141 | rootReducer, 142 | initialState, 143 | compose( 144 | autoRehydrate(), 145 | devtools( 146 | applyMiddleware(...middleware) 147 | ) 148 | ) 149 | ) 150 | 151 | persistStore(store, { 152 | storage: AsyncStorage, 153 | blacklist: ['navigation'], 154 | transforms: [immutableTransform()] 155 | }) 156 | 157 | export default store 158 | ``` 159 | 160 | The setup code is convoluted. In addition imports and library usage are 161 | separated and out of mind. It also means that if you ever want to change, 162 | or remove components you'll have to hunt them out and hope you didn't break 163 | your app; we see a lot of importance for how your order your integration. 164 | 165 | 166 | ### After 167 | 168 | ```javascript 169 | import { createStore, combineReducers } from 'redux' 170 | import { buildStack } from 'redux-stack' 171 | import stack from '@/initializers' 172 | 173 | const initialState = {} 174 | const { reducers, enhancer } = buildStack(stack) 175 | const store = createStore(combineReducers(reducers), initialState, enhancer) 176 | 177 | export default store 178 | ``` 179 | 180 | Where we have a new `initializers` folder: 181 | 182 | ``` 183 | initializers/ 184 | ├── devtools.js 185 | ├── ex-navigation.js 186 | ├── index.js 187 | ├── middleware.js 188 | ├── reducers.js 189 | ├── redux-logger.js 190 | └── redux-persist.js 191 | ``` 192 | 193 | The setup code is a no brainer. It is clean and reasonable and probably will 194 | look the same for every new app you make, so you can even extract that out 195 | into an npm module. 196 | 197 | The [initializers realm is separate and modular](examples/initializers/). You can remove and add any 198 | initializer you like and be certain nothing will break. If you 199 | built your app in a modular fashion, every module can "contribute" an initializer 200 | which sets itself app, and no drama happens - no other code to change or module 201 | to wreck by mistake. 202 | 203 | 204 | # Contributing 205 | 206 | Fork, implement, add tests, pull request, get my everlasting thanks and a respectable place here :). 207 | 208 | 209 | ### Thanks: 210 | 211 | To all [Contributors](https://github.com/jondot/redux-stack/graphs/contributors) - you make this happen, thanks! 212 | 213 | 214 | # Copyright 215 | 216 | Copyright (c) 2016 [Dotan Nahum](http://gplus.to/dotan) [@jondot](http://twitter.com/jondot). See [LICENSE](LICENSE.txt) for further details. 217 | -------------------------------------------------------------------------------- /dist/redux-stack.js: -------------------------------------------------------------------------------- 1 | (function webpackUniversalModuleDefinition(root, factory) { 2 | if(typeof exports === 'object' && typeof module === 'object') 3 | module.exports = factory(require("ramda"), require("redux")); 4 | else if(typeof define === 'function' && define.amd) 5 | define(["ramda", "redux"], factory); 6 | else if(typeof exports === 'object') 7 | exports["Redux"] = factory(require("ramda"), require("redux")); 8 | else 9 | root["Redux"] = factory(root["ramda"], root["redux"]); 10 | })(this, function(__WEBPACK_EXTERNAL_MODULE_1__, __WEBPACK_EXTERNAL_MODULE_2__) { 11 | return /******/ (function(modules) { // webpackBootstrap 12 | /******/ // The module cache 13 | /******/ var installedModules = {}; 14 | 15 | /******/ // The require function 16 | /******/ function __webpack_require__(moduleId) { 17 | 18 | /******/ // Check if module is in cache 19 | /******/ if(installedModules[moduleId]) 20 | /******/ return installedModules[moduleId].exports; 21 | 22 | /******/ // Create a new module (and put it into the cache) 23 | /******/ var module = installedModules[moduleId] = { 24 | /******/ exports: {}, 25 | /******/ id: moduleId, 26 | /******/ loaded: false 27 | /******/ }; 28 | 29 | /******/ // Execute the module function 30 | /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); 31 | 32 | /******/ // Flag the module as loaded 33 | /******/ module.loaded = true; 34 | 35 | /******/ // Return the exports of the module 36 | /******/ return module.exports; 37 | /******/ } 38 | 39 | 40 | /******/ // expose the modules object (__webpack_modules__) 41 | /******/ __webpack_require__.m = modules; 42 | 43 | /******/ // expose the module cache 44 | /******/ __webpack_require__.c = installedModules; 45 | 46 | /******/ // __webpack_public_path__ 47 | /******/ __webpack_require__.p = ""; 48 | 49 | /******/ // Load entry module and return exports 50 | /******/ return __webpack_require__(0); 51 | /******/ }) 52 | /************************************************************************/ 53 | /******/ ([ 54 | /* 0 */ 55 | /***/ function(module, exports, __webpack_require__) { 56 | 57 | 'use strict'; 58 | 59 | Object.defineProperty(exports, "__esModule", { 60 | value: true 61 | }); 62 | exports.buildStack = undefined; 63 | 64 | var _ramda = __webpack_require__(1); 65 | 66 | var _ramda2 = _interopRequireDefault(_ramda); 67 | 68 | var _redux = __webpack_require__(2); 69 | 70 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 71 | 72 | function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } 73 | 74 | // TODO: stack formatter + printer dump at build time, etc. 75 | 76 | // composition for arrays, hashes, and functions 77 | var mergeStack = _ramda2.default.reduce(_ramda2.default.mergeWith(function (a, b) { 78 | return _ramda2.default.isArrayLike(a) && _ramda2.default.isArrayLike(b) ? _ramda2.default.concat(a, b) : typeof a === 'function' && typeof b === 'function' ? (0, _redux.compose)(a, b) : _ramda2.default.merge(a, b); 79 | }), []); 80 | 81 | var combineStack = function combineStack(userStack, initial) { 82 | return mergeStack(_ramda2.default.concat(_ramda2.default.map(function (_ref) { 83 | var _ref$reducers = _ref.reducers, 84 | reducers = _ref$reducers === undefined ? [] : _ref$reducers, 85 | _ref$enhancers = _ref.enhancers, 86 | enhancers = _ref$enhancers === undefined ? [] : _ref$enhancers, 87 | _ref$composers = _ref.composers, 88 | composers = _ref$composers === undefined ? [] : _ref$composers; 89 | return { reducers: reducers, enhancers: enhancers, composers: composers }; 90 | }, userStack), [initial])); 91 | }; 92 | 93 | var buildStack = function buildStack() { 94 | var userStack = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; 95 | var initial = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { reducers: {}, enhancers: [], composers: [_redux.compose] }; 96 | 97 | var combinedStack = combineStack(userStack, initial); 98 | var stackCompose = combinedStack.composers && combinedStack.composers.length > 0 ? _redux.compose.apply(undefined, _toConsumableArray(combinedStack.composers)) : _redux.compose; // inception! 99 | var stack = { reducers: combinedStack.reducers, enhancer: stackCompose.apply(undefined, _toConsumableArray(combinedStack.enhancers)), meta: userStack }; 100 | return stack; 101 | }; 102 | 103 | exports.buildStack = buildStack; 104 | 105 | /***/ }, 106 | /* 1 */ 107 | /***/ function(module, exports) { 108 | 109 | module.exports = __WEBPACK_EXTERNAL_MODULE_1__; 110 | 111 | /***/ }, 112 | /* 2 */ 113 | /***/ function(module, exports) { 114 | 115 | module.exports = __WEBPACK_EXTERNAL_MODULE_2__; 116 | 117 | /***/ } 118 | /******/ ]) 119 | }); 120 | ; -------------------------------------------------------------------------------- /dist/redux-stack.min.js: -------------------------------------------------------------------------------- 1 | !function(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r(require("ramda"),require("redux")):"function"==typeof define&&define.amd?define(["ramda","redux"],r):"object"==typeof exports?exports.Redux=r(require("ramda"),require("redux")):e.Redux=r(e.ramda,e.redux)}(this,function(e,r){return function(e){function r(t){if(o[t])return o[t].exports;var n=o[t]={exports:{},id:t,loaded:!1};return e[t].call(n.exports,n,n.exports,r),n.loaded=!0,n.exports}var o={};return r.m=e,r.c=o,r.p="",r(0)}([function(e,r,o){"use strict";function t(e){return e&&e.__esModule?e:{"default":e}}function n(e){if(Array.isArray(e)){for(var r=0,o=Array(e.length);e.length>r;r++)o[r]=e[r];return o}return Array.from(e)}Object.defineProperty(r,"__esModule",{value:!0}),r.buildStack=void 0;var u=o(1),c=t(u),d=o(2),a=c["default"].reduce(c["default"].mergeWith(function(e,r){return c["default"].isArrayLike(e)&&c["default"].isArrayLike(r)?c["default"].concat(e,r):"function"==typeof e&&"function"==typeof r?(0,d.compose)(e,r):c["default"].merge(e,r)}),[]),i=function(e,r){return a(c["default"].concat(c["default"].map(function(e){var r=e.reducers,o=void 0===r?[]:r,t=e.enhancers,n=void 0===t?[]:t,u=e.composers,c=void 0===u?[]:u;return{reducers:o,enhancers:n,composers:c}},e),[r]))},s=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{reducers:{},enhancers:[],composers:[d.compose]},o=i(e,r),t=o.composers&&o.composers.length>0?d.compose.apply(void 0,n(o.composers)):d.compose,u={reducers:o.reducers,enhancer:t.apply(void 0,n(o.enhancers)),meta:e};return u};r.buildStack=s},function(r,o){r.exports=e},function(e,o){e.exports=r}])}); -------------------------------------------------------------------------------- /examples/initializers/devtools.js: -------------------------------------------------------------------------------- 1 | // 2 | // react-native-debugger devtools, which rely on the normal 3 | // redux devtools. 4 | // 5 | // Devtools will require a 'composer'. Their own custom 6 | // function composition. No big deal, as we'll eventually 7 | // compose it with the standard redux compose. 8 | // 9 | // SEE: 10 | // https://github.com/jhen0409/react-native-debugger 11 | // 12 | import { compose } from 'redux' 13 | const devtools = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose 14 | export default { 15 | composers: [devtools] 16 | } 17 | -------------------------------------------------------------------------------- /examples/initializers/ex-navigation.js: -------------------------------------------------------------------------------- 1 | // 2 | // Exponent's navigation component. It requires more than 3 | // the usual for set up and this is a perfect example for 4 | // how redux-stack can simplify it. 5 | // 6 | // SEE: 7 | // https://github.com/exponentjs/ex-navigation 8 | // 9 | import { NavigationReducer, createNavigationEnabledStore } from '@exponent/ex-navigation' 10 | 11 | const navEnhancer = (createStoreFn) => { 12 | return createNavigationEnabledStore({ 13 | createStore: createStoreFn, 14 | navigationStateKey: 'navigation', 15 | }) 16 | } 17 | 18 | export default { 19 | name: 'ex-navigation', 20 | reducers: {navigation: NavigationReducer}, 21 | enhancers: [navEnhancer], 22 | } 23 | -------------------------------------------------------------------------------- /examples/initializers/index.js: -------------------------------------------------------------------------------- 1 | // 2 | // For convenience we grab all intializers and export 3 | // them in one place. 4 | // 5 | // If you're not using React Native, you can dynamically 6 | // grab everything that's under 'initializers/' and being 7 | // explicit like below is not needed. 8 | // 9 | import initNavigation from './ex-navigation' 10 | import initLogger from './redux-logger' 11 | import initDevTools from './devtools' 12 | import initPersist from './redux-persist' 13 | import initMiddleware from './middleware' 14 | import initReducers from './reducers' 15 | 16 | export default [ 17 | initLogger, 18 | initPersist, 19 | initNavigation, 20 | initMiddleware, 21 | initReducers, 22 | initDevTools, 23 | ] 24 | 25 | -------------------------------------------------------------------------------- /examples/initializers/middleware.js: -------------------------------------------------------------------------------- 1 | // 2 | // Add async middleware, and other "core" middleware that 3 | // you choose to. `applyMiddleware` creates an enhancer, 4 | // so we can export that under `enhancers`. 5 | // 6 | // SEE 7 | // https://github.com/gaearon/redux-thunk 8 | // https://github.com/pburtchaell/redux-promise-middleware 9 | // 10 | import { applyMiddleware } from 'redux' 11 | import thunk from 'redux-thunk' 12 | import reduxPromiseMiddleware from 'redux-promise-middleware' 13 | 14 | const middleware = [ 15 | reduxPromiseMiddleware(), 16 | thunk, 17 | ] 18 | 19 | export default { 20 | name: 'middleware', 21 | enhancers: [applyMiddleware(...middleware)], 22 | } 23 | -------------------------------------------------------------------------------- /examples/initializers/reducers.js: -------------------------------------------------------------------------------- 1 | // 2 | // reducers 3 | // 4 | // Optionally you can include your reducer forming in one place as 5 | // an initializer. 6 | // 7 | // In addition, if you want more modularity you can make an initializer 8 | // per reducer. So if you were ever to kill the 'settings' module, 9 | // you would only need to remove that initializer file. 10 | // 11 | 12 | import users from '@/modules/users/state' 13 | import settings from '@/modules/settings/state' 14 | import intro from '@/modules/intro/state' 15 | 16 | const reducers = { 17 | users, 18 | settings, 19 | intro, 20 | } 21 | 22 | export default { 23 | name: 'reducers', 24 | reducers: reducers 25 | } 26 | -------------------------------------------------------------------------------- /examples/initializers/redux-logger.js: -------------------------------------------------------------------------------- 1 | // 2 | // Set up redux-logger, and take into account that our 3 | // reducers use immutablejs. 4 | // 5 | // SEE 6 | // https://github.com/evgenyrodionov/redux-logger 7 | // 8 | declare var __DEV__:any 9 | 10 | import createLogger from 'redux-logger' 11 | import {fromJS} from 'immutable' 12 | import { applyMiddleware } from 'redux' 13 | 14 | // log actions in development mode 15 | const removeNavigation = (state) => { 16 | delete state.navigation 17 | return state 18 | } 19 | const logger = createLogger({ 20 | collapsed: true, 21 | // only log in development mode 22 | predicate: () => __DEV__, 23 | // transform immutable state to plain objects 24 | stateTransformer: state => removeNavigation(fromJS(state).toJS()), 25 | // transform immutable action payloads to plain objects 26 | actionTransformer: action => 27 | action && action.payload && action.payload.toJS 28 | ? {...action, payload: action.payload.toJS()} 29 | : action 30 | }) 31 | 32 | export default { 33 | enhancers: __DEV__ ? [applyMiddleware(logger)] : [] 34 | } 35 | -------------------------------------------------------------------------------- /examples/initializers/redux-persist.js: -------------------------------------------------------------------------------- 1 | // 2 | // Set up redux-persist with immutable transform, under React Native 3 | // Again we have a perfect example where there is a lot of boilerplate 4 | // code that has nothing to do with our app. If we ever want to remove 5 | // immutablejs, we can just do it here. 6 | // 7 | // SEE 8 | // https://github.com/rt2zz/redux-persist 9 | // 10 | import {AsyncStorage} from 'react-native' 11 | import { persistStore, autoRehydrate } from 'redux-persist' 12 | import immutableTransform from 'redux-persist-transform-immutable' 13 | 14 | const createStoreWithPersist = createStoreFn => (...args) => { 15 | const store = createStoreFn(...args) 16 | persistStore(store, { 17 | storage: AsyncStorage, 18 | blacklist: ['navigation'], 19 | transforms: [immutableTransform()] 20 | }).purge() 21 | return store 22 | } 23 | 24 | export default { 25 | enhancers: [autoRehydrate(), createStoreWithPersist] 26 | } 27 | -------------------------------------------------------------------------------- /lib/__tests__/redux-stack.spec.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var _reduxStack = require('../redux-stack'); 4 | 5 | describe('buildStack', function () { 6 | it('with empty user stack', function () { 7 | var stack = (0, _reduxStack.buildStack)(); 8 | expect(stack).toMatchSnapshot(); 9 | expect(stack.enhancer(1)).toEqual(1); 10 | }); 11 | it('with staggered stack', function () { 12 | var stack = (0, _reduxStack.buildStack)([{ reducers: { users: function users(x) { 13 | return x; 14 | } } }, { enhancers: [function (x) { 15 | return x * 2; 16 | }] }, { composers: [function (x) { 17 | return x; 18 | }] }]); 19 | expect(stack).toMatchSnapshot(); 20 | expect(stack.enhancer(1)).toEqual(2); 21 | }); 22 | it('with additive stack', function () { 23 | var stack = (0, _reduxStack.buildStack)([{ reducers: { users: function users(x) { 24 | return x; 25 | } }, enhancers: [function (x) { 26 | return x; 27 | }] }, { reducers: { posts: function posts(x) { 28 | return x; 29 | } } }, { enhancers: [function (x) { 30 | return x * 4; 31 | }] }, { composers: [function (x) { 32 | return x; 33 | }] }]); 34 | expect(stack).toMatchSnapshot(); 35 | expect(stack.enhancer(1)).toEqual(4); 36 | }); 37 | }); -------------------------------------------------------------------------------- /lib/redux-stack.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | Object.defineProperty(exports, "__esModule", { 4 | value: true 5 | }); 6 | exports.buildStack = undefined; 7 | 8 | var _ramda = require('ramda'); 9 | 10 | var _ramda2 = _interopRequireDefault(_ramda); 11 | 12 | var _redux = require('redux'); 13 | 14 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 15 | 16 | function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } 17 | 18 | // TODO: stack formatter + printer dump at build time, etc. 19 | 20 | // composition for arrays, hashes, and functions 21 | var mergeStack = _ramda2.default.reduce(_ramda2.default.mergeWith(function (a, b) { 22 | return _ramda2.default.isArrayLike(a) && _ramda2.default.isArrayLike(b) ? _ramda2.default.concat(a, b) : typeof a === 'function' && typeof b === 'function' ? (0, _redux.compose)(a, b) : _ramda2.default.merge(a, b); 23 | }), []); 24 | 25 | var combineStack = function combineStack(userStack, initial) { 26 | return mergeStack(_ramda2.default.concat(_ramda2.default.map(function (_ref) { 27 | var _ref$reducers = _ref.reducers, 28 | reducers = _ref$reducers === undefined ? [] : _ref$reducers, 29 | _ref$enhancers = _ref.enhancers, 30 | enhancers = _ref$enhancers === undefined ? [] : _ref$enhancers, 31 | _ref$composers = _ref.composers, 32 | composers = _ref$composers === undefined ? [] : _ref$composers; 33 | return { reducers: reducers, enhancers: enhancers, composers: composers }; 34 | }, userStack), [initial])); 35 | }; 36 | 37 | var buildStack = function buildStack() { 38 | var userStack = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; 39 | var initial = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { reducers: {}, enhancers: [], composers: [_redux.compose] }; 40 | 41 | var combinedStack = combineStack(userStack, initial); 42 | var stackCompose = combinedStack.composers && combinedStack.composers.length > 0 ? _redux.compose.apply(undefined, _toConsumableArray(combinedStack.composers)) : _redux.compose; // inception! 43 | var stack = { reducers: combinedStack.reducers, enhancer: stackCompose.apply(undefined, _toConsumableArray(combinedStack.enhancers)), meta: userStack }; 44 | return stack; 45 | }; 46 | 47 | exports.buildStack = buildStack; -------------------------------------------------------------------------------- /lib/redux-stack.min.js: -------------------------------------------------------------------------------- 1 | !function(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r(require("ramda"),require("redux")):"function"==typeof define&&define.amd?define(["ramda","redux"],r):"object"==typeof exports?exports.Redux=r(require("ramda"),require("redux")):e.Redux=r(e.ramda,e.redux)}(this,function(e,r){return function(e){function r(t){if(o[t])return o[t].exports;var n=o[t]={exports:{},id:t,loaded:!1};return e[t].call(n.exports,n,n.exports,r),n.loaded=!0,n.exports}var o={};return r.m=e,r.c=o,r.p="",r(0)}([function(e,r,o){"use strict";function t(e){return e&&e.__esModule?e:{"default":e}}function n(e){if(Array.isArray(e)){for(var r=0,o=Array(e.length);e.length>r;r++)o[r]=e[r];return o}return Array.from(e)}Object.defineProperty(r,"__esModule",{value:!0}),r.buildStack=void 0;var u=o(1),c=t(u),d=o(2),a=c["default"].reduce(c["default"].mergeWith(function(e,r){return c["default"].isArrayLike(e)&&c["default"].isArrayLike(r)?c["default"].concat(e,r):"function"==typeof e&&"function"==typeof r?(0,d.compose)(e,r):c["default"].merge(e,r)}),[]),i=function(e,r){return a(c["default"].concat(c["default"].map(function(e){var r=e.reducers,o=void 0===r?[]:r,t=e.enhancers,n=void 0===t?[]:t,u=e.composers,c=void 0===u?[]:u;return{reducers:o,enhancers:n,composers:c}},e),[r]))},s=function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{reducers:{},enhancers:[],composers:[d.compose]},o=i(e,r),t=o.composers&&o.composers.length>0?d.compose.apply(void 0,n(o.composers)):d.compose,u={reducers:o.reducers,enhancer:t.apply(void 0,n(o.enhancers)),meta:e};return u};r.buildStack=s},function(r,o){r.exports=e},function(e,o){e.exports=r}])}); -------------------------------------------------------------------------------- /media/redux-stack-xp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jondot/redux-stack/87ab063d2131808ca60fd84a9de15b3b397930d2/media/redux-stack-xp.png -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "redux-stack", 3 | "version": "1.0.1", 4 | "main": "lib/redux-stack.js", 5 | "license": "MIT", 6 | "scripts": { 7 | "build:lib": "babel src --out-dir lib", 8 | "build:umd:min": "NODE_ENV=production webpack src/redux-stack.js dist/redux-stack.min.js", 9 | "build:umd": "NODE_ENV=development webpack src/redux-stack.js dist/redux-stack.js", 10 | "build": "npm run build:lib && npm run build:umd && npm run build:umd:min", 11 | "release":"npm run build && npm publish", 12 | "test":"jest" 13 | }, 14 | "dependencies": { 15 | "ramda": "^0.22.1" 16 | }, 17 | "peerDependencies": { 18 | "redux": "^3.6.0" 19 | }, 20 | "devDependencies": { 21 | "babel-cli": "^6.18.0", 22 | "babel-core": "^6.18.2", 23 | "babel-jest": "^17.0.0", 24 | "babel-loader": "^6.2.7", 25 | "babel-preset-es2015": "^6.18.0", 26 | "babel-preset-stage-0": "^6.16.0", 27 | "jest": "^17.0.0", 28 | "redux": "^3.6.0", 29 | "webpack": "^1.13.3" 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/__tests__/__snapshots__/redux-stack.spec.js.snap: -------------------------------------------------------------------------------- 1 | exports[`buildStack with additive stack 1`] = ` 2 | Object { 3 | "enhancer": [Function], 4 | "meta": Array [ 5 | Object { 6 | "enhancers": Array [ 7 | [Function], 8 | ], 9 | "reducers": Object { 10 | "users": [Function], 11 | }, 12 | }, 13 | Object { 14 | "reducers": Object { 15 | "posts": [Function], 16 | }, 17 | }, 18 | Object { 19 | "enhancers": Array [ 20 | [Function], 21 | ], 22 | }, 23 | Object { 24 | "composers": Array [ 25 | [Function], 26 | ], 27 | }, 28 | ], 29 | "reducers": Object { 30 | "posts": [Function], 31 | "users": [Function], 32 | }, 33 | } 34 | `; 35 | 36 | exports[`buildStack with empty user stack 1`] = ` 37 | Object { 38 | "enhancer": [Function], 39 | "meta": Array [], 40 | "reducers": Object {}, 41 | } 42 | `; 43 | 44 | exports[`buildStack with staggered stack 1`] = ` 45 | Object { 46 | "enhancer": [Function], 47 | "meta": Array [ 48 | Object { 49 | "reducers": Object { 50 | "users": [Function], 51 | }, 52 | }, 53 | Object { 54 | "enhancers": Array [ 55 | [Function], 56 | ], 57 | }, 58 | Object { 59 | "composers": Array [ 60 | [Function], 61 | ], 62 | }, 63 | ], 64 | "reducers": Object { 65 | "users": [Function], 66 | }, 67 | } 68 | `; 69 | -------------------------------------------------------------------------------- /src/__tests__/redux-stack.spec.js: -------------------------------------------------------------------------------- 1 | import { buildStack } from '../redux-stack' 2 | describe('buildStack', ()=>{ 3 | it('with empty user stack', ()=>{ 4 | const stack = buildStack() 5 | expect(stack).toMatchSnapshot() 6 | expect(stack.enhancer(1)).toEqual(1) 7 | }) 8 | it('with staggered stack', ()=>{ 9 | const stack = buildStack( 10 | [ 11 | {reducers: { users: x=>x }}, 12 | {enhancers: [x=>x*2]}, 13 | {composers: [x=>x]}, 14 | ] 15 | ) 16 | expect(stack).toMatchSnapshot() 17 | expect(stack.enhancer(1)).toEqual(2) 18 | }) 19 | it('with additive stack', ()=>{ 20 | const stack = buildStack( 21 | [ 22 | {reducers: { users: x=>x }, enhancers: [x=>x]}, 23 | {reducers: { posts: x=>x }}, 24 | {enhancers: [x=>x*4]}, 25 | {composers: [x=>x]}, 26 | ] 27 | ) 28 | expect(stack).toMatchSnapshot() 29 | expect(stack.enhancer(1)).toEqual(4) 30 | }) 31 | }) 32 | -------------------------------------------------------------------------------- /src/redux-stack.js: -------------------------------------------------------------------------------- 1 | import R from 'ramda' 2 | import { compose } from 'redux' 3 | 4 | // TODO: stack formatter + printer dump at build time, etc. 5 | 6 | // composition for arrays, hashes, and functions 7 | const mergeStack = R.reduce(R.mergeWith((a, b) => 8 | R.isArrayLike(a) && R.isArrayLike(b) ? 9 | R.concat(a, b) 10 | : (typeof a === 'function' && typeof b === 'function' ? compose(a, b) : R.merge(a, b))), []) 11 | 12 | const combineStack = (userStack, initial) => mergeStack(R.concat( 13 | R.map(({reducers = [], enhancers = [], composers = []}) => ({reducers, enhancers, composers}), userStack), 14 | [initial] 15 | )) 16 | 17 | const buildStack = (userStack = [], initial = { reducers: {}, enhancers: [], composers: [compose] }) => { 18 | const combinedStack = combineStack(userStack, initial) 19 | const stackCompose = combinedStack.composers && combinedStack.composers.length > 0 ? compose(...combinedStack.composers) : compose // inception! 20 | const stack = { reducers: combinedStack.reducers, enhancer: stackCompose(...combinedStack.enhancers), meta: userStack } 21 | return stack 22 | } 23 | 24 | export { buildStack } 25 | -------------------------------------------------------------------------------- /webpack.config.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | var webpack = require('webpack') 4 | var path = require('path') 5 | 6 | var env = process.env.NODE_ENV 7 | var config = { 8 | externals:{ 9 | redux: true, 10 | ramda: true, 11 | }, 12 | module: { 13 | loaders: [ 14 | { test: /\.js$/, loader: 'babel', exclude: /node_modules/ } 15 | ] 16 | }, 17 | output: { 18 | library: 'Redux', 19 | libraryTarget: 'umd' 20 | }, 21 | plugins: [ 22 | new webpack.optimize.OccurrenceOrderPlugin(), 23 | new webpack.DefinePlugin({ 24 | 'process.env.NODE_ENV': JSON.stringify(env) 25 | }) 26 | ] 27 | } 28 | 29 | if (env === 'production'){ 30 | config.plugins.push( 31 | new webpack.optimize.UglifyJsPlugin({ 32 | compressor: { 33 | pure_getters: true, 34 | unsafe: true, 35 | unsafe_comps: true, 36 | warnings: false, 37 | screw_ie8: false 38 | }, 39 | mangle: { 40 | screw_ie8: false 41 | }, 42 | output: { 43 | screw_ie8: false 44 | } 45 | }) 46 | ) 47 | } 48 | 49 | module.exports = config 50 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | abab@^1.0.0: 4 | version "1.0.3" 5 | resolved "https://registry.yarnpkg.com/abab/-/abab-1.0.3.tgz#b81de5f7274ec4e756d797cd834f303642724e5d" 6 | 7 | abbrev@1, abbrev@1.0.x: 8 | version "1.0.9" 9 | resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" 10 | 11 | acorn-globals@^1.0.4: 12 | version "1.0.9" 13 | resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-1.0.9.tgz#55bb5e98691507b74579d0513413217c380c54cf" 14 | dependencies: 15 | acorn "^2.1.0" 16 | 17 | acorn@^2.1.0, acorn@^2.4.0: 18 | version "2.7.0" 19 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-2.7.0.tgz#ab6e7d9d886aaca8b085bc3312b79a198433f0e7" 20 | 21 | acorn@^3.0.0: 22 | version "3.3.0" 23 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" 24 | 25 | align-text@^0.1.1, align-text@^0.1.3: 26 | version "0.1.4" 27 | resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" 28 | dependencies: 29 | kind-of "^3.0.2" 30 | longest "^1.0.1" 31 | repeat-string "^1.5.2" 32 | 33 | amdefine@>=0.0.4: 34 | version "1.0.1" 35 | resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" 36 | 37 | ansi-escapes@^1.4.0: 38 | version "1.4.0" 39 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" 40 | 41 | ansi-regex@^2.0.0: 42 | version "2.0.0" 43 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.0.0.tgz#c5061b6e0ef8a81775e50f5d66151bf6bf371107" 44 | 45 | ansi-styles@^2.2.1: 46 | version "2.2.1" 47 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" 48 | 49 | ansicolors@~0.2.1: 50 | version "0.2.1" 51 | resolved "https://registry.yarnpkg.com/ansicolors/-/ansicolors-0.2.1.tgz#be089599097b74a5c9c4a84a0cdbcdb62bd87aef" 52 | 53 | anymatch@^1.3.0: 54 | version "1.3.0" 55 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.0.tgz#a3e52fa39168c825ff57b0248126ce5a8ff95507" 56 | dependencies: 57 | arrify "^1.0.0" 58 | micromatch "^2.1.5" 59 | 60 | append-transform@^0.3.0: 61 | version "0.3.0" 62 | resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-0.3.0.tgz#d6933ce4a85f09445d9ccc4cc119051b7381a813" 63 | 64 | aproba@^1.0.3: 65 | version "1.0.4" 66 | resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.0.4.tgz#2713680775e7614c8ba186c065d4e2e52d1072c0" 67 | 68 | are-we-there-yet@~1.1.2: 69 | version "1.1.2" 70 | resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz#80e470e95a084794fe1899262c5667c6e88de1b3" 71 | dependencies: 72 | delegates "^1.0.0" 73 | readable-stream "^2.0.0 || ^1.1.13" 74 | 75 | argparse@^1.0.7: 76 | version "1.0.9" 77 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86" 78 | dependencies: 79 | sprintf-js "~1.0.2" 80 | 81 | arr-diff@^2.0.0: 82 | version "2.0.0" 83 | resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" 84 | dependencies: 85 | arr-flatten "^1.0.1" 86 | 87 | arr-flatten@^1.0.1: 88 | version "1.0.1" 89 | resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.0.1.tgz#e5ffe54d45e19f32f216e91eb99c8ce892bb604b" 90 | 91 | array-differ@^1.0.0: 92 | version "1.0.0" 93 | resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" 94 | 95 | array-equal@^1.0.0: 96 | version "1.0.0" 97 | resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" 98 | 99 | array-union@^1.0.1: 100 | version "1.0.2" 101 | resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" 102 | dependencies: 103 | array-uniq "^1.0.1" 104 | 105 | array-uniq@^1.0.1: 106 | version "1.0.3" 107 | resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" 108 | 109 | array-unique@^0.2.1: 110 | version "0.2.1" 111 | resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" 112 | 113 | arrify@^1.0.0, arrify@^1.0.1: 114 | version "1.0.1" 115 | resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" 116 | 117 | asn1@~0.2.3: 118 | version "0.2.3" 119 | resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" 120 | 121 | assert-plus@^0.2.0: 122 | version "0.2.0" 123 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" 124 | 125 | assert-plus@^1.0.0: 126 | version "1.0.0" 127 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" 128 | 129 | assert@^1.1.1: 130 | version "1.4.1" 131 | resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" 132 | dependencies: 133 | util "0.10.3" 134 | 135 | async-each@^1.0.0: 136 | version "1.0.1" 137 | resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" 138 | 139 | async@^0.9.0: 140 | version "0.9.2" 141 | resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d" 142 | 143 | async@^1.3.0, async@^1.4.0, async@^1.4.2, async@1.x: 144 | version "1.5.2" 145 | resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" 146 | 147 | async@~0.2.6: 148 | version "0.2.10" 149 | resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1" 150 | 151 | asynckit@^0.4.0: 152 | version "0.4.0" 153 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 154 | 155 | aws-sign2@~0.6.0: 156 | version "0.6.0" 157 | resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" 158 | 159 | aws4@^1.2.1: 160 | version "1.5.0" 161 | resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.5.0.tgz#0a29ffb79c31c9e712eeb087e8e7a64b4a56d755" 162 | 163 | babel-cli: 164 | version "6.18.0" 165 | resolved "https://registry.yarnpkg.com/babel-cli/-/babel-cli-6.18.0.tgz#92117f341add9dead90f6fa7d0a97c0cc08ec186" 166 | dependencies: 167 | babel-core "^6.18.0" 168 | babel-polyfill "^6.16.0" 169 | babel-register "^6.18.0" 170 | babel-runtime "^6.9.0" 171 | commander "^2.8.1" 172 | convert-source-map "^1.1.0" 173 | fs-readdir-recursive "^1.0.0" 174 | glob "^5.0.5" 175 | lodash "^4.2.0" 176 | output-file-sync "^1.1.0" 177 | path-is-absolute "^1.0.0" 178 | slash "^1.0.0" 179 | source-map "^0.5.0" 180 | v8flags "^2.0.10" 181 | optionalDependencies: 182 | chokidar "^1.0.0" 183 | 184 | babel-code-frame@^6.16.0: 185 | version "6.16.0" 186 | resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.16.0.tgz#f90e60da0862909d3ce098733b5d3987c97cb8de" 187 | dependencies: 188 | chalk "^1.1.0" 189 | esutils "^2.0.2" 190 | js-tokens "^2.0.0" 191 | 192 | babel-core, babel-core@^6.0.0, babel-core@^6.18.0: 193 | version "6.18.2" 194 | resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.18.2.tgz#d8bb14dd6986fa4f3566a26ceda3964fa0e04e5b" 195 | dependencies: 196 | babel-code-frame "^6.16.0" 197 | babel-generator "^6.18.0" 198 | babel-helpers "^6.16.0" 199 | babel-messages "^6.8.0" 200 | babel-register "^6.18.0" 201 | babel-runtime "^6.9.1" 202 | babel-template "^6.16.0" 203 | babel-traverse "^6.18.0" 204 | babel-types "^6.18.0" 205 | babylon "^6.11.0" 206 | convert-source-map "^1.1.0" 207 | debug "^2.1.1" 208 | json5 "^0.5.0" 209 | lodash "^4.2.0" 210 | minimatch "^3.0.2" 211 | path-is-absolute "^1.0.0" 212 | private "^0.1.6" 213 | slash "^1.0.0" 214 | source-map "^0.5.0" 215 | 216 | babel-generator@^6.18.0: 217 | version "6.18.0" 218 | resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.18.0.tgz#e4f104cb3063996d9850556a45aae4a022060a07" 219 | dependencies: 220 | babel-messages "^6.8.0" 221 | babel-runtime "^6.9.0" 222 | babel-types "^6.18.0" 223 | detect-indent "^4.0.0" 224 | jsesc "^1.3.0" 225 | lodash "^4.2.0" 226 | source-map "^0.5.0" 227 | 228 | babel-helper-bindify-decorators@^6.18.0: 229 | version "6.18.0" 230 | resolved "https://registry.yarnpkg.com/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.18.0.tgz#fc00c573676a6e702fffa00019580892ec8780a5" 231 | dependencies: 232 | babel-runtime "^6.0.0" 233 | babel-traverse "^6.18.0" 234 | babel-types "^6.18.0" 235 | 236 | babel-helper-builder-binary-assignment-operator-visitor@^6.8.0: 237 | version "6.18.0" 238 | resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.18.0.tgz#8ae814989f7a53682152e3401a04fabd0bb333a6" 239 | dependencies: 240 | babel-helper-explode-assignable-expression "^6.18.0" 241 | babel-runtime "^6.0.0" 242 | babel-types "^6.18.0" 243 | 244 | babel-helper-call-delegate@^6.18.0: 245 | version "6.18.0" 246 | resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.18.0.tgz#05b14aafa430884b034097ef29e9f067ea4133bd" 247 | dependencies: 248 | babel-helper-hoist-variables "^6.18.0" 249 | babel-runtime "^6.0.0" 250 | babel-traverse "^6.18.0" 251 | babel-types "^6.18.0" 252 | 253 | babel-helper-define-map@^6.18.0, babel-helper-define-map@^6.8.0: 254 | version "6.18.0" 255 | resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.18.0.tgz#8d6c85dc7fbb4c19be3de40474d18e97c3676ec2" 256 | dependencies: 257 | babel-helper-function-name "^6.18.0" 258 | babel-runtime "^6.9.0" 259 | babel-types "^6.18.0" 260 | lodash "^4.2.0" 261 | 262 | babel-helper-explode-assignable-expression@^6.18.0: 263 | version "6.18.0" 264 | resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.18.0.tgz#14b8e8c2d03ad735d4b20f1840b24cd1f65239fe" 265 | dependencies: 266 | babel-runtime "^6.0.0" 267 | babel-traverse "^6.18.0" 268 | babel-types "^6.18.0" 269 | 270 | babel-helper-explode-class@^6.8.0: 271 | version "6.18.0" 272 | resolved "https://registry.yarnpkg.com/babel-helper-explode-class/-/babel-helper-explode-class-6.18.0.tgz#c44f76f4fa23b9c5d607cbac5d4115e7a76f62cb" 273 | dependencies: 274 | babel-helper-bindify-decorators "^6.18.0" 275 | babel-runtime "^6.0.0" 276 | babel-traverse "^6.18.0" 277 | babel-types "^6.18.0" 278 | 279 | babel-helper-function-name@^6.18.0, babel-helper-function-name@^6.8.0: 280 | version "6.18.0" 281 | resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.18.0.tgz#68ec71aeba1f3e28b2a6f0730190b754a9bf30e6" 282 | dependencies: 283 | babel-helper-get-function-arity "^6.18.0" 284 | babel-runtime "^6.0.0" 285 | babel-template "^6.8.0" 286 | babel-traverse "^6.18.0" 287 | babel-types "^6.18.0" 288 | 289 | babel-helper-get-function-arity@^6.18.0: 290 | version "6.18.0" 291 | resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.18.0.tgz#a5b19695fd3f9cdfc328398b47dafcd7094f9f24" 292 | dependencies: 293 | babel-runtime "^6.0.0" 294 | babel-types "^6.18.0" 295 | 296 | babel-helper-hoist-variables@^6.18.0: 297 | version "6.18.0" 298 | resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.18.0.tgz#a835b5ab8b46d6de9babefae4d98ea41e866b82a" 299 | dependencies: 300 | babel-runtime "^6.0.0" 301 | babel-types "^6.18.0" 302 | 303 | babel-helper-optimise-call-expression@^6.18.0: 304 | version "6.18.0" 305 | resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.18.0.tgz#9261d0299ee1a4f08a6dd28b7b7c777348fd8f0f" 306 | dependencies: 307 | babel-runtime "^6.0.0" 308 | babel-types "^6.18.0" 309 | 310 | babel-helper-regex@^6.8.0: 311 | version "6.18.0" 312 | resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.18.0.tgz#ae0ebfd77de86cb2f1af258e2cc20b5fe893ecc6" 313 | dependencies: 314 | babel-runtime "^6.9.0" 315 | babel-types "^6.18.0" 316 | lodash "^4.2.0" 317 | 318 | babel-helper-remap-async-to-generator@^6.16.0, babel-helper-remap-async-to-generator@^6.16.2: 319 | version "6.18.0" 320 | resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.18.0.tgz#336cdf3cab650bb191b02fc16a3708e7be7f9ce5" 321 | dependencies: 322 | babel-helper-function-name "^6.18.0" 323 | babel-runtime "^6.0.0" 324 | babel-template "^6.16.0" 325 | babel-traverse "^6.18.0" 326 | babel-types "^6.18.0" 327 | 328 | babel-helper-replace-supers@^6.18.0, babel-helper-replace-supers@^6.8.0: 329 | version "6.18.0" 330 | resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.18.0.tgz#28ec69877be4144dbd64f4cc3a337e89f29a924e" 331 | dependencies: 332 | babel-helper-optimise-call-expression "^6.18.0" 333 | babel-messages "^6.8.0" 334 | babel-runtime "^6.0.0" 335 | babel-template "^6.16.0" 336 | babel-traverse "^6.18.0" 337 | babel-types "^6.18.0" 338 | 339 | babel-helpers@^6.16.0: 340 | version "6.16.0" 341 | resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.16.0.tgz#1095ec10d99279460553e67eb3eee9973d3867e3" 342 | dependencies: 343 | babel-runtime "^6.0.0" 344 | babel-template "^6.16.0" 345 | 346 | babel-jest, babel-jest@^17.0.0: 347 | version "17.0.0" 348 | resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-17.0.0.tgz#4dbee762eb2f2ca77c4dacc17eb61f38157b0f01" 349 | dependencies: 350 | babel-core "^6.0.0" 351 | babel-plugin-istanbul "^2.0.0" 352 | babel-preset-jest "^16.0.0" 353 | 354 | babel-loader: 355 | version "6.2.7" 356 | resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-6.2.7.tgz#16fdbf64328030dc5a606827d389c8b92a2a8032" 357 | dependencies: 358 | find-cache-dir "^0.1.1" 359 | loader-utils "^0.2.11" 360 | mkdirp "^0.5.1" 361 | object-assign "^4.0.1" 362 | 363 | babel-messages@^6.8.0: 364 | version "6.8.0" 365 | resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.8.0.tgz#bf504736ca967e6d65ef0adb5a2a5f947c8e0eb9" 366 | dependencies: 367 | babel-runtime "^6.0.0" 368 | 369 | babel-plugin-check-es2015-constants@^6.3.13: 370 | version "6.8.0" 371 | resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.8.0.tgz#dbf024c32ed37bfda8dee1e76da02386a8d26fe7" 372 | dependencies: 373 | babel-runtime "^6.0.0" 374 | 375 | babel-plugin-istanbul@^2.0.0: 376 | version "2.0.3" 377 | resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-2.0.3.tgz#266b304b9109607d60748474394676982f660df4" 378 | dependencies: 379 | find-up "^1.1.2" 380 | istanbul-lib-instrument "^1.1.4" 381 | object-assign "^4.1.0" 382 | test-exclude "^2.1.1" 383 | 384 | babel-plugin-jest-hoist@^16.0.0: 385 | version "16.0.0" 386 | resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-16.0.0.tgz#b58ca3f770982a7e7c25b5614b2e57e9dafc6e76" 387 | 388 | babel-plugin-syntax-async-functions@^6.8.0: 389 | version "6.13.0" 390 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" 391 | 392 | babel-plugin-syntax-async-generators@^6.5.0: 393 | version "6.13.0" 394 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz#6bc963ebb16eccbae6b92b596eb7f35c342a8b9a" 395 | 396 | babel-plugin-syntax-class-constructor-call@^6.18.0: 397 | version "6.18.0" 398 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-class-constructor-call/-/babel-plugin-syntax-class-constructor-call-6.18.0.tgz#9cb9d39fe43c8600bec8146456ddcbd4e1a76416" 399 | 400 | babel-plugin-syntax-class-properties@^6.8.0: 401 | version "6.13.0" 402 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz#d7eb23b79a317f8543962c505b827c7d6cac27de" 403 | 404 | babel-plugin-syntax-decorators@^6.13.0: 405 | version "6.13.0" 406 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz#312563b4dbde3cc806cee3e416cceeaddd11ac0b" 407 | 408 | babel-plugin-syntax-do-expressions@^6.8.0: 409 | version "6.13.0" 410 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-do-expressions/-/babel-plugin-syntax-do-expressions-6.13.0.tgz#5747756139aa26d390d09410b03744ba07e4796d" 411 | 412 | babel-plugin-syntax-dynamic-import@^6.18.0: 413 | version "6.18.0" 414 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz#8d6a26229c83745a9982a441051572caa179b1da" 415 | 416 | babel-plugin-syntax-exponentiation-operator@^6.8.0: 417 | version "6.13.0" 418 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de" 419 | 420 | babel-plugin-syntax-export-extensions@^6.8.0: 421 | version "6.13.0" 422 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz#70a1484f0f9089a4e84ad44bac353c95b9b12721" 423 | 424 | babel-plugin-syntax-function-bind@^6.8.0: 425 | version "6.13.0" 426 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-function-bind/-/babel-plugin-syntax-function-bind-6.13.0.tgz#48c495f177bdf31a981e732f55adc0bdd2601f46" 427 | 428 | babel-plugin-syntax-object-rest-spread@^6.8.0: 429 | version "6.13.0" 430 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" 431 | 432 | babel-plugin-syntax-trailing-function-commas@^6.3.13: 433 | version "6.13.0" 434 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.13.0.tgz#2b84b7d53dd744f94ff1fad7669406274b23f541" 435 | 436 | babel-plugin-transform-async-generator-functions@^6.17.0: 437 | version "6.17.0" 438 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.17.0.tgz#d0b5a2b2f0940f2b245fa20a00519ed7bc6cae54" 439 | dependencies: 440 | babel-helper-remap-async-to-generator "^6.16.2" 441 | babel-plugin-syntax-async-generators "^6.5.0" 442 | babel-runtime "^6.0.0" 443 | 444 | babel-plugin-transform-async-to-generator@^6.16.0: 445 | version "6.16.0" 446 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.16.0.tgz#19ec36cb1486b59f9f468adfa42ce13908ca2999" 447 | dependencies: 448 | babel-helper-remap-async-to-generator "^6.16.0" 449 | babel-plugin-syntax-async-functions "^6.8.0" 450 | babel-runtime "^6.0.0" 451 | 452 | babel-plugin-transform-class-constructor-call@^6.3.13: 453 | version "6.18.0" 454 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-constructor-call/-/babel-plugin-transform-class-constructor-call-6.18.0.tgz#80855e38a1ab47b8c6c647f8ea1bcd2c00ca3aae" 455 | dependencies: 456 | babel-plugin-syntax-class-constructor-call "^6.18.0" 457 | babel-runtime "^6.0.0" 458 | babel-template "^6.8.0" 459 | 460 | babel-plugin-transform-class-properties@^6.18.0: 461 | version "6.18.0" 462 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.18.0.tgz#bc1266a39d4c8726e0bd7b15c56235177e6ede57" 463 | dependencies: 464 | babel-helper-function-name "^6.18.0" 465 | babel-plugin-syntax-class-properties "^6.8.0" 466 | babel-runtime "^6.9.1" 467 | 468 | babel-plugin-transform-decorators@^6.13.0: 469 | version "6.13.0" 470 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.13.0.tgz#82d65c1470ae83e2d13eebecb0a1c2476d62da9d" 471 | dependencies: 472 | babel-helper-define-map "^6.8.0" 473 | babel-helper-explode-class "^6.8.0" 474 | babel-plugin-syntax-decorators "^6.13.0" 475 | babel-runtime "^6.0.0" 476 | babel-template "^6.8.0" 477 | babel-types "^6.13.0" 478 | 479 | babel-plugin-transform-do-expressions@^6.3.13: 480 | version "6.8.0" 481 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-do-expressions/-/babel-plugin-transform-do-expressions-6.8.0.tgz#fda692af339835cc255bb7544efb8f7c1306c273" 482 | dependencies: 483 | babel-plugin-syntax-do-expressions "^6.8.0" 484 | babel-runtime "^6.0.0" 485 | 486 | babel-plugin-transform-es2015-arrow-functions@^6.3.13: 487 | version "6.8.0" 488 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.8.0.tgz#5b63afc3181bdc9a8c4d481b5a4f3f7d7fef3d9d" 489 | dependencies: 490 | babel-runtime "^6.0.0" 491 | 492 | babel-plugin-transform-es2015-block-scoped-functions@^6.3.13: 493 | version "6.8.0" 494 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.8.0.tgz#ed95d629c4b5a71ae29682b998f70d9833eb366d" 495 | dependencies: 496 | babel-runtime "^6.0.0" 497 | 498 | babel-plugin-transform-es2015-block-scoping@^6.18.0: 499 | version "6.18.0" 500 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.18.0.tgz#3bfdcfec318d46df22525cdea88f1978813653af" 501 | dependencies: 502 | babel-runtime "^6.9.0" 503 | babel-template "^6.15.0" 504 | babel-traverse "^6.18.0" 505 | babel-types "^6.18.0" 506 | lodash "^4.2.0" 507 | 508 | babel-plugin-transform-es2015-classes@^6.18.0: 509 | version "6.18.0" 510 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.18.0.tgz#ffe7a17321bf83e494dcda0ae3fc72df48ffd1d9" 511 | dependencies: 512 | babel-helper-define-map "^6.18.0" 513 | babel-helper-function-name "^6.18.0" 514 | babel-helper-optimise-call-expression "^6.18.0" 515 | babel-helper-replace-supers "^6.18.0" 516 | babel-messages "^6.8.0" 517 | babel-runtime "^6.9.0" 518 | babel-template "^6.14.0" 519 | babel-traverse "^6.18.0" 520 | babel-types "^6.18.0" 521 | 522 | babel-plugin-transform-es2015-computed-properties@^6.3.13: 523 | version "6.8.0" 524 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.8.0.tgz#f51010fd61b3bd7b6b60a5fdfd307bb7a5279870" 525 | dependencies: 526 | babel-helper-define-map "^6.8.0" 527 | babel-runtime "^6.0.0" 528 | babel-template "^6.8.0" 529 | 530 | babel-plugin-transform-es2015-destructuring@^6.18.0: 531 | version "6.18.0" 532 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.18.0.tgz#a08fb89415ab82058649558bedb7bf8dafa76ba5" 533 | dependencies: 534 | babel-runtime "^6.9.0" 535 | 536 | babel-plugin-transform-es2015-duplicate-keys@^6.6.0: 537 | version "6.8.0" 538 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.8.0.tgz#fd8f7f7171fc108cc1c70c3164b9f15a81c25f7d" 539 | dependencies: 540 | babel-runtime "^6.0.0" 541 | babel-types "^6.8.0" 542 | 543 | babel-plugin-transform-es2015-for-of@^6.18.0: 544 | version "6.18.0" 545 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.18.0.tgz#4c517504db64bf8cfc119a6b8f177211f2028a70" 546 | dependencies: 547 | babel-runtime "^6.0.0" 548 | 549 | babel-plugin-transform-es2015-function-name@^6.9.0: 550 | version "6.9.0" 551 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.9.0.tgz#8c135b17dbd064e5bba56ec511baaee2fca82719" 552 | dependencies: 553 | babel-helper-function-name "^6.8.0" 554 | babel-runtime "^6.9.0" 555 | babel-types "^6.9.0" 556 | 557 | babel-plugin-transform-es2015-literals@^6.3.13: 558 | version "6.8.0" 559 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.8.0.tgz#50aa2e5c7958fc2ab25d74ec117e0cc98f046468" 560 | dependencies: 561 | babel-runtime "^6.0.0" 562 | 563 | babel-plugin-transform-es2015-modules-amd@^6.18.0: 564 | version "6.18.0" 565 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.18.0.tgz#49a054cbb762bdf9ae2d8a807076cfade6141e40" 566 | dependencies: 567 | babel-plugin-transform-es2015-modules-commonjs "^6.18.0" 568 | babel-runtime "^6.0.0" 569 | babel-template "^6.8.0" 570 | 571 | babel-plugin-transform-es2015-modules-commonjs@^6.18.0: 572 | version "6.18.0" 573 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.18.0.tgz#c15ae5bb11b32a0abdcc98a5837baa4ee8d67bcc" 574 | dependencies: 575 | babel-plugin-transform-strict-mode "^6.18.0" 576 | babel-runtime "^6.0.0" 577 | babel-template "^6.16.0" 578 | babel-types "^6.18.0" 579 | 580 | babel-plugin-transform-es2015-modules-systemjs@^6.18.0: 581 | version "6.18.0" 582 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.18.0.tgz#f09294707163edae4d3b3e8bfacecd01d920b7ad" 583 | dependencies: 584 | babel-helper-hoist-variables "^6.18.0" 585 | babel-runtime "^6.11.6" 586 | babel-template "^6.14.0" 587 | 588 | babel-plugin-transform-es2015-modules-umd@^6.18.0: 589 | version "6.18.0" 590 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.18.0.tgz#23351770ece5c1f8e83ed67cb1d7992884491e50" 591 | dependencies: 592 | babel-plugin-transform-es2015-modules-amd "^6.18.0" 593 | babel-runtime "^6.0.0" 594 | babel-template "^6.8.0" 595 | 596 | babel-plugin-transform-es2015-object-super@^6.3.13: 597 | version "6.8.0" 598 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.8.0.tgz#1b858740a5a4400887c23dcff6f4d56eea4a24c5" 599 | dependencies: 600 | babel-helper-replace-supers "^6.8.0" 601 | babel-runtime "^6.0.0" 602 | 603 | babel-plugin-transform-es2015-parameters@^6.18.0: 604 | version "6.18.0" 605 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.18.0.tgz#9b2cfe238c549f1635ba27fc1daa858be70608b1" 606 | dependencies: 607 | babel-helper-call-delegate "^6.18.0" 608 | babel-helper-get-function-arity "^6.18.0" 609 | babel-runtime "^6.9.0" 610 | babel-template "^6.16.0" 611 | babel-traverse "^6.18.0" 612 | babel-types "^6.18.0" 613 | 614 | babel-plugin-transform-es2015-shorthand-properties@^6.18.0: 615 | version "6.18.0" 616 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.18.0.tgz#e2ede3b7df47bf980151926534d1dd0cbea58f43" 617 | dependencies: 618 | babel-runtime "^6.0.0" 619 | babel-types "^6.18.0" 620 | 621 | babel-plugin-transform-es2015-spread@^6.3.13: 622 | version "6.8.0" 623 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.8.0.tgz#0217f737e3b821fa5a669f187c6ed59205f05e9c" 624 | dependencies: 625 | babel-runtime "^6.0.0" 626 | 627 | babel-plugin-transform-es2015-sticky-regex@^6.3.13: 628 | version "6.8.0" 629 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.8.0.tgz#e73d300a440a35d5c64f5c2a344dc236e3df47be" 630 | dependencies: 631 | babel-helper-regex "^6.8.0" 632 | babel-runtime "^6.0.0" 633 | babel-types "^6.8.0" 634 | 635 | babel-plugin-transform-es2015-template-literals@^6.6.0: 636 | version "6.8.0" 637 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.8.0.tgz#86eb876d0a2c635da4ec048b4f7de9dfc897e66b" 638 | dependencies: 639 | babel-runtime "^6.0.0" 640 | 641 | babel-plugin-transform-es2015-typeof-symbol@^6.18.0: 642 | version "6.18.0" 643 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.18.0.tgz#0b14c48629c90ff47a0650077f6aa699bee35798" 644 | dependencies: 645 | babel-runtime "^6.0.0" 646 | 647 | babel-plugin-transform-es2015-unicode-regex@^6.3.13: 648 | version "6.11.0" 649 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.11.0.tgz#6298ceabaad88d50a3f4f392d8de997260f6ef2c" 650 | dependencies: 651 | babel-helper-regex "^6.8.0" 652 | babel-runtime "^6.0.0" 653 | regexpu-core "^2.0.0" 654 | 655 | babel-plugin-transform-exponentiation-operator@^6.3.13: 656 | version "6.8.0" 657 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.8.0.tgz#db25742e9339eade676ca9acec46f955599a68a4" 658 | dependencies: 659 | babel-helper-builder-binary-assignment-operator-visitor "^6.8.0" 660 | babel-plugin-syntax-exponentiation-operator "^6.8.0" 661 | babel-runtime "^6.0.0" 662 | 663 | babel-plugin-transform-export-extensions@^6.3.13: 664 | version "6.8.0" 665 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-export-extensions/-/babel-plugin-transform-export-extensions-6.8.0.tgz#fa80ff655b636549431bfd38f6b817bd82e47f5b" 666 | dependencies: 667 | babel-plugin-syntax-export-extensions "^6.8.0" 668 | babel-runtime "^6.0.0" 669 | 670 | babel-plugin-transform-function-bind@^6.3.13: 671 | version "6.8.0" 672 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-function-bind/-/babel-plugin-transform-function-bind-6.8.0.tgz#e7f334ce69f50d28fe850a822eaaab9fa4f4d821" 673 | dependencies: 674 | babel-plugin-syntax-function-bind "^6.8.0" 675 | babel-runtime "^6.0.0" 676 | 677 | babel-plugin-transform-object-rest-spread@^6.16.0: 678 | version "6.16.0" 679 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.16.0.tgz#db441d56fffc1999052fdebe2e2f25ebd28e36a9" 680 | dependencies: 681 | babel-plugin-syntax-object-rest-spread "^6.8.0" 682 | babel-runtime "^6.0.0" 683 | 684 | babel-plugin-transform-regenerator@^6.16.0: 685 | version "6.16.1" 686 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.16.1.tgz#a75de6b048a14154aae14b0122756c5bed392f59" 687 | dependencies: 688 | babel-runtime "^6.9.0" 689 | babel-types "^6.16.0" 690 | private "~0.1.5" 691 | 692 | babel-plugin-transform-strict-mode@^6.18.0: 693 | version "6.18.0" 694 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.18.0.tgz#df7cf2991fe046f44163dcd110d5ca43bc652b9d" 695 | dependencies: 696 | babel-runtime "^6.0.0" 697 | babel-types "^6.18.0" 698 | 699 | babel-polyfill@^6.16.0: 700 | version "6.16.0" 701 | resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.16.0.tgz#2d45021df87e26a374b6d4d1a9c65964d17f2422" 702 | dependencies: 703 | babel-runtime "^6.9.1" 704 | core-js "^2.4.0" 705 | regenerator-runtime "^0.9.5" 706 | 707 | babel-preset-es2015: 708 | version "6.18.0" 709 | resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.18.0.tgz#b8c70df84ec948c43dcf2bf770e988eb7da88312" 710 | dependencies: 711 | babel-plugin-check-es2015-constants "^6.3.13" 712 | babel-plugin-transform-es2015-arrow-functions "^6.3.13" 713 | babel-plugin-transform-es2015-block-scoped-functions "^6.3.13" 714 | babel-plugin-transform-es2015-block-scoping "^6.18.0" 715 | babel-plugin-transform-es2015-classes "^6.18.0" 716 | babel-plugin-transform-es2015-computed-properties "^6.3.13" 717 | babel-plugin-transform-es2015-destructuring "^6.18.0" 718 | babel-plugin-transform-es2015-duplicate-keys "^6.6.0" 719 | babel-plugin-transform-es2015-for-of "^6.18.0" 720 | babel-plugin-transform-es2015-function-name "^6.9.0" 721 | babel-plugin-transform-es2015-literals "^6.3.13" 722 | babel-plugin-transform-es2015-modules-amd "^6.18.0" 723 | babel-plugin-transform-es2015-modules-commonjs "^6.18.0" 724 | babel-plugin-transform-es2015-modules-systemjs "^6.18.0" 725 | babel-plugin-transform-es2015-modules-umd "^6.18.0" 726 | babel-plugin-transform-es2015-object-super "^6.3.13" 727 | babel-plugin-transform-es2015-parameters "^6.18.0" 728 | babel-plugin-transform-es2015-shorthand-properties "^6.18.0" 729 | babel-plugin-transform-es2015-spread "^6.3.13" 730 | babel-plugin-transform-es2015-sticky-regex "^6.3.13" 731 | babel-plugin-transform-es2015-template-literals "^6.6.0" 732 | babel-plugin-transform-es2015-typeof-symbol "^6.18.0" 733 | babel-plugin-transform-es2015-unicode-regex "^6.3.13" 734 | babel-plugin-transform-regenerator "^6.16.0" 735 | 736 | babel-preset-jest@^16.0.0: 737 | version "16.0.0" 738 | resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-16.0.0.tgz#417aabc2d7d93170f43c20ef1ea0145e8f7f2db5" 739 | dependencies: 740 | babel-plugin-jest-hoist "^16.0.0" 741 | 742 | babel-preset-stage-0: 743 | version "6.16.0" 744 | resolved "https://registry.yarnpkg.com/babel-preset-stage-0/-/babel-preset-stage-0-6.16.0.tgz#f5a263c420532fd57491f1a7315b3036e428f823" 745 | dependencies: 746 | babel-plugin-transform-do-expressions "^6.3.13" 747 | babel-plugin-transform-function-bind "^6.3.13" 748 | babel-preset-stage-1 "^6.16.0" 749 | 750 | babel-preset-stage-1@^6.16.0: 751 | version "6.16.0" 752 | resolved "https://registry.yarnpkg.com/babel-preset-stage-1/-/babel-preset-stage-1-6.16.0.tgz#9d31fbbdae7b17c549fd3ac93e3cf6902695e479" 753 | dependencies: 754 | babel-plugin-transform-class-constructor-call "^6.3.13" 755 | babel-plugin-transform-export-extensions "^6.3.13" 756 | babel-preset-stage-2 "^6.16.0" 757 | 758 | babel-preset-stage-2@^6.16.0: 759 | version "6.18.0" 760 | resolved "https://registry.yarnpkg.com/babel-preset-stage-2/-/babel-preset-stage-2-6.18.0.tgz#9eb7bf9a8e91c68260d5ba7500493caaada4b5b5" 761 | dependencies: 762 | babel-plugin-syntax-dynamic-import "^6.18.0" 763 | babel-plugin-transform-class-properties "^6.18.0" 764 | babel-plugin-transform-decorators "^6.13.0" 765 | babel-preset-stage-3 "^6.17.0" 766 | 767 | babel-preset-stage-3@^6.17.0: 768 | version "6.17.0" 769 | resolved "https://registry.yarnpkg.com/babel-preset-stage-3/-/babel-preset-stage-3-6.17.0.tgz#b6638e46db6e91e3f889013d8ce143917c685e39" 770 | dependencies: 771 | babel-plugin-syntax-trailing-function-commas "^6.3.13" 772 | babel-plugin-transform-async-generator-functions "^6.17.0" 773 | babel-plugin-transform-async-to-generator "^6.16.0" 774 | babel-plugin-transform-exponentiation-operator "^6.3.13" 775 | babel-plugin-transform-object-rest-spread "^6.16.0" 776 | 777 | babel-register@^6.18.0: 778 | version "6.18.0" 779 | resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.18.0.tgz#892e2e03865078dd90ad2c715111ec4449b32a68" 780 | dependencies: 781 | babel-core "^6.18.0" 782 | babel-runtime "^6.11.6" 783 | core-js "^2.4.0" 784 | home-or-tmp "^2.0.0" 785 | lodash "^4.2.0" 786 | mkdirp "^0.5.1" 787 | source-map-support "^0.4.2" 788 | 789 | babel-runtime@^6.0.0, babel-runtime@^6.11.6, babel-runtime@^6.9.0, babel-runtime@^6.9.1: 790 | version "6.18.0" 791 | resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.18.0.tgz#0f4177ffd98492ef13b9f823e9994a02584c9078" 792 | dependencies: 793 | core-js "^2.4.0" 794 | regenerator-runtime "^0.9.5" 795 | 796 | babel-template@^6.14.0, babel-template@^6.15.0, babel-template@^6.16.0, babel-template@^6.8.0: 797 | version "6.16.0" 798 | resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.16.0.tgz#e149dd1a9f03a35f817ddbc4d0481988e7ebc8ca" 799 | dependencies: 800 | babel-runtime "^6.9.0" 801 | babel-traverse "^6.16.0" 802 | babel-types "^6.16.0" 803 | babylon "^6.11.0" 804 | lodash "^4.2.0" 805 | 806 | babel-traverse@^6.16.0, babel-traverse@^6.18.0: 807 | version "6.18.0" 808 | resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.18.0.tgz#5aeaa980baed2a07c8c47329cd90c3b90c80f05e" 809 | dependencies: 810 | babel-code-frame "^6.16.0" 811 | babel-messages "^6.8.0" 812 | babel-runtime "^6.9.0" 813 | babel-types "^6.18.0" 814 | babylon "^6.11.0" 815 | debug "^2.2.0" 816 | globals "^9.0.0" 817 | invariant "^2.2.0" 818 | lodash "^4.2.0" 819 | 820 | babel-types@^6.13.0, babel-types@^6.16.0, babel-types@^6.18.0, babel-types@^6.8.0, babel-types@^6.9.0: 821 | version "6.18.0" 822 | resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.18.0.tgz#1f7d5a73474c59eb9151b2417bbff4e4fce7c3f8" 823 | dependencies: 824 | babel-runtime "^6.9.1" 825 | esutils "^2.0.2" 826 | lodash "^4.2.0" 827 | to-fast-properties "^1.0.1" 828 | 829 | babylon@^6.11.0, babylon@^6.13.0: 830 | version "6.13.1" 831 | resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.13.1.tgz#adca350e088f0467647157652bafead6ddb8dfdb" 832 | 833 | balanced-match@^0.4.1: 834 | version "0.4.2" 835 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" 836 | 837 | base64-js@^1.0.2: 838 | version "1.2.0" 839 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.0.tgz#a39992d723584811982be5e290bb6a53d86700f1" 840 | 841 | Base64@~0.2.0: 842 | version "0.2.1" 843 | resolved "https://registry.yarnpkg.com/Base64/-/Base64-0.2.1.tgz#ba3a4230708e186705065e66babdd4c35cf60028" 844 | 845 | bcrypt-pbkdf@^1.0.0: 846 | version "1.0.0" 847 | resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.0.tgz#3ca76b85241c7170bf7d9703e7b9aa74630040d4" 848 | dependencies: 849 | tweetnacl "^0.14.3" 850 | 851 | big.js@^3.1.3: 852 | version "3.1.3" 853 | resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.1.3.tgz#4cada2193652eb3ca9ec8e55c9015669c9806978" 854 | 855 | binary-extensions@^1.0.0: 856 | version "1.7.0" 857 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.7.0.tgz#6c1610db163abfb34edfe42fa423343a1e01185d" 858 | 859 | block-stream@*: 860 | version "0.0.9" 861 | resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" 862 | dependencies: 863 | inherits "~2.0.0" 864 | 865 | boom@2.x.x: 866 | version "2.10.1" 867 | resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" 868 | dependencies: 869 | hoek "2.x.x" 870 | 871 | brace-expansion@^1.0.0: 872 | version "1.1.6" 873 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.6.tgz#7197d7eaa9b87e648390ea61fc66c84427420df9" 874 | dependencies: 875 | balanced-match "^0.4.1" 876 | concat-map "0.0.1" 877 | 878 | braces@^1.8.2: 879 | version "1.8.5" 880 | resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" 881 | dependencies: 882 | expand-range "^1.8.1" 883 | preserve "^0.2.0" 884 | repeat-element "^1.1.2" 885 | 886 | browser-resolve@^1.11.2: 887 | version "1.11.2" 888 | resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.2.tgz#8ff09b0a2c421718a1051c260b32e48f442938ce" 889 | dependencies: 890 | resolve "1.1.7" 891 | 892 | browserify-zlib@~0.1.4: 893 | version "0.1.4" 894 | resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.1.4.tgz#bb35f8a519f600e0fa6b8485241c979d0141fb2d" 895 | dependencies: 896 | pako "~0.2.0" 897 | 898 | bser@^1.0.2: 899 | version "1.0.2" 900 | resolved "https://registry.yarnpkg.com/bser/-/bser-1.0.2.tgz#381116970b2a6deea5646dd15dd7278444b56169" 901 | dependencies: 902 | node-int64 "^0.4.0" 903 | 904 | buffer-shims@^1.0.0: 905 | version "1.0.0" 906 | resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51" 907 | 908 | buffer@^4.9.0: 909 | version "4.9.1" 910 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" 911 | dependencies: 912 | base64-js "^1.0.2" 913 | ieee754 "^1.1.4" 914 | isarray "^1.0.0" 915 | 916 | builtin-modules@^1.0.0: 917 | version "1.1.1" 918 | resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" 919 | 920 | callsites@^2.0.0: 921 | version "2.0.0" 922 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" 923 | 924 | camelcase@^1.0.2: 925 | version "1.2.1" 926 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" 927 | 928 | camelcase@^3.0.0: 929 | version "3.0.0" 930 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" 931 | 932 | cardinal@^1.0.0: 933 | version "1.0.0" 934 | resolved "https://registry.yarnpkg.com/cardinal/-/cardinal-1.0.0.tgz#50e21c1b0aa37729f9377def196b5a9cec932ee9" 935 | dependencies: 936 | ansicolors "~0.2.1" 937 | redeyed "~1.0.0" 938 | 939 | caseless@~0.11.0: 940 | version "0.11.0" 941 | resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7" 942 | 943 | center-align@^0.1.1: 944 | version "0.1.3" 945 | resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" 946 | dependencies: 947 | align-text "^0.1.3" 948 | lazy-cache "^1.0.3" 949 | 950 | chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3: 951 | version "1.1.3" 952 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" 953 | dependencies: 954 | ansi-styles "^2.2.1" 955 | escape-string-regexp "^1.0.2" 956 | has-ansi "^2.0.0" 957 | strip-ansi "^3.0.0" 958 | supports-color "^2.0.0" 959 | 960 | chokidar@^1.0.0: 961 | version "1.6.1" 962 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.6.1.tgz#2f4447ab5e96e50fb3d789fd90d4c72e0e4c70c2" 963 | dependencies: 964 | anymatch "^1.3.0" 965 | async-each "^1.0.0" 966 | glob-parent "^2.0.0" 967 | inherits "^2.0.1" 968 | is-binary-path "^1.0.0" 969 | is-glob "^2.0.0" 970 | path-is-absolute "^1.0.0" 971 | readdirp "^2.0.0" 972 | optionalDependencies: 973 | fsevents "^1.0.0" 974 | 975 | ci-info@^1.0.0: 976 | version "1.0.0" 977 | resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.0.0.tgz#dc5285f2b4e251821683681c381c3388f46ec534" 978 | 979 | cli-table@^0.3.1: 980 | version "0.3.1" 981 | resolved "https://registry.yarnpkg.com/cli-table/-/cli-table-0.3.1.tgz#f53b05266a8b1a0b934b3d0821e6e2dc5914ae23" 982 | dependencies: 983 | colors "1.0.3" 984 | 985 | cli-usage@^0.1.1: 986 | version "0.1.4" 987 | resolved "https://registry.yarnpkg.com/cli-usage/-/cli-usage-0.1.4.tgz#7c01e0dc706c234b39c933838c8e20b2175776e2" 988 | dependencies: 989 | marked "^0.3.6" 990 | marked-terminal "^1.6.2" 991 | 992 | cliui@^2.1.0: 993 | version "2.1.0" 994 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" 995 | dependencies: 996 | center-align "^0.1.1" 997 | right-align "^0.1.1" 998 | wordwrap "0.0.2" 999 | 1000 | cliui@^3.2.0: 1001 | version "3.2.0" 1002 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" 1003 | dependencies: 1004 | string-width "^1.0.1" 1005 | strip-ansi "^3.0.1" 1006 | wrap-ansi "^2.0.0" 1007 | 1008 | clone@^1.0.2: 1009 | version "1.0.2" 1010 | resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149" 1011 | 1012 | code-point-at@^1.0.0: 1013 | version "1.1.0" 1014 | resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" 1015 | 1016 | colors@1.0.3: 1017 | version "1.0.3" 1018 | resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" 1019 | 1020 | combined-stream@^1.0.5, combined-stream@~1.0.5: 1021 | version "1.0.5" 1022 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" 1023 | dependencies: 1024 | delayed-stream "~1.0.0" 1025 | 1026 | commander@^2.8.1, commander@^2.9.0: 1027 | version "2.9.0" 1028 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" 1029 | dependencies: 1030 | graceful-readlink ">= 1.0.0" 1031 | 1032 | commondir@^1.0.1: 1033 | version "1.0.1" 1034 | resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" 1035 | 1036 | concat-map@0.0.1: 1037 | version "0.0.1" 1038 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 1039 | 1040 | console-browserify@^1.1.0: 1041 | version "1.1.0" 1042 | resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" 1043 | dependencies: 1044 | date-now "^0.1.4" 1045 | 1046 | console-control-strings@^1.0.0, console-control-strings@~1.1.0: 1047 | version "1.1.0" 1048 | resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" 1049 | 1050 | constants-browserify@0.0.1: 1051 | version "0.0.1" 1052 | resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-0.0.1.tgz#92577db527ba6c4cf0a4568d84bc031f441e21f2" 1053 | 1054 | content-type-parser@^1.0.1: 1055 | version "1.0.1" 1056 | resolved "https://registry.yarnpkg.com/content-type-parser/-/content-type-parser-1.0.1.tgz#c3e56988c53c65127fb46d4032a3a900246fdc94" 1057 | 1058 | convert-source-map@^1.1.0: 1059 | version "1.3.0" 1060 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.3.0.tgz#e9f3e9c6e2728efc2676696a70eb382f73106a67" 1061 | 1062 | core-js@^2.4.0: 1063 | version "2.4.1" 1064 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e" 1065 | 1066 | core-util-is@~1.0.0: 1067 | version "1.0.2" 1068 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 1069 | 1070 | cryptiles@2.x.x: 1071 | version "2.0.5" 1072 | resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" 1073 | dependencies: 1074 | boom "2.x.x" 1075 | 1076 | crypto-browserify@~3.2.6: 1077 | version "3.2.8" 1078 | resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.2.8.tgz#b9b11dbe6d9651dd882a01e6cc467df718ecf189" 1079 | dependencies: 1080 | pbkdf2-compat "2.0.1" 1081 | ripemd160 "0.2.0" 1082 | sha.js "2.2.6" 1083 | 1084 | "cssom@>= 0.3.0 < 0.4.0", cssom@0.3.x: 1085 | version "0.3.1" 1086 | resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.1.tgz#c9e37ef2490e64f6d1baa10fda852257082c25d3" 1087 | 1088 | "cssstyle@>= 0.2.36 < 0.3.0": 1089 | version "0.2.37" 1090 | resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-0.2.37.tgz#541097234cb2513c83ceed3acddc27ff27987d54" 1091 | dependencies: 1092 | cssom "0.3.x" 1093 | 1094 | dashdash@^1.12.0: 1095 | version "1.14.0" 1096 | resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.0.tgz#29e486c5418bf0f356034a993d51686a33e84141" 1097 | dependencies: 1098 | assert-plus "^1.0.0" 1099 | 1100 | date-now@^0.1.4: 1101 | version "0.1.4" 1102 | resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" 1103 | 1104 | debug@^2.1.1, debug@^2.2.0: 1105 | version "2.3.0" 1106 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.3.0.tgz#3912dc55d7167fc3af17d2b85c13f93deaedaa43" 1107 | dependencies: 1108 | ms "0.7.2" 1109 | 1110 | debug@~2.2.0: 1111 | version "2.2.0" 1112 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" 1113 | dependencies: 1114 | ms "0.7.1" 1115 | 1116 | decamelize@^1.0.0, decamelize@^1.1.1: 1117 | version "1.2.0" 1118 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" 1119 | 1120 | deep-extend@~0.4.0: 1121 | version "0.4.1" 1122 | resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.1.tgz#efe4113d08085f4e6f9687759810f807469e2253" 1123 | 1124 | deep-is@~0.1.3: 1125 | version "0.1.3" 1126 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" 1127 | 1128 | delayed-stream@~1.0.0: 1129 | version "1.0.0" 1130 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 1131 | 1132 | delegates@^1.0.0: 1133 | version "1.0.0" 1134 | resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" 1135 | 1136 | detect-indent@^4.0.0: 1137 | version "4.0.0" 1138 | resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" 1139 | dependencies: 1140 | repeating "^2.0.0" 1141 | 1142 | diff@^3.0.0: 1143 | version "3.0.1" 1144 | resolved "https://registry.yarnpkg.com/diff/-/diff-3.0.1.tgz#a52d90cc08956994be00877bff97110062582c35" 1145 | 1146 | domain-browser@^1.1.1: 1147 | version "1.1.7" 1148 | resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.1.7.tgz#867aa4b093faa05f1de08c06f4d7b21fdf8698bc" 1149 | 1150 | ecc-jsbn@~0.1.1: 1151 | version "0.1.1" 1152 | resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" 1153 | dependencies: 1154 | jsbn "~0.1.0" 1155 | 1156 | emojis-list@^2.0.0: 1157 | version "2.1.0" 1158 | resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" 1159 | 1160 | enhanced-resolve@~0.9.0: 1161 | version "0.9.1" 1162 | resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz#4d6e689b3725f86090927ccc86cd9f1635b89e2e" 1163 | dependencies: 1164 | graceful-fs "^4.1.2" 1165 | memory-fs "^0.2.0" 1166 | tapable "^0.1.8" 1167 | 1168 | errno@^0.1.3, "errno@>=0.1.1 <0.2.0-0": 1169 | version "0.1.4" 1170 | resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.4.tgz#b896e23a9e5e8ba33871fc996abd3635fc9a1c7d" 1171 | dependencies: 1172 | prr "~0.0.0" 1173 | 1174 | error-ex@^1.2.0: 1175 | version "1.3.0" 1176 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.0.tgz#e67b43f3e82c96ea3a584ffee0b9fc3325d802d9" 1177 | dependencies: 1178 | is-arrayish "^0.2.1" 1179 | 1180 | escape-string-regexp@^1.0.2: 1181 | version "1.0.5" 1182 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 1183 | 1184 | escodegen@^1.6.1, escodegen@1.8.x: 1185 | version "1.8.1" 1186 | resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.8.1.tgz#5a5b53af4693110bebb0867aa3430dd3b70a1018" 1187 | dependencies: 1188 | esprima "^2.7.1" 1189 | estraverse "^1.9.1" 1190 | esutils "^2.0.2" 1191 | optionator "^0.8.1" 1192 | optionalDependencies: 1193 | source-map "~0.2.0" 1194 | 1195 | esprima@^2.6.0, esprima@^2.7.1, esprima@2.7.x: 1196 | version "2.7.3" 1197 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" 1198 | 1199 | esprima@~3.0.0: 1200 | version "3.0.0" 1201 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.0.0.tgz#53cf247acda77313e551c3aa2e73342d3fb4f7d9" 1202 | 1203 | estraverse@^1.9.1: 1204 | version "1.9.3" 1205 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44" 1206 | 1207 | esutils@^2.0.2: 1208 | version "2.0.2" 1209 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" 1210 | 1211 | events@^1.0.0: 1212 | version "1.1.1" 1213 | resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" 1214 | 1215 | exec-sh@^0.2.0: 1216 | version "0.2.0" 1217 | resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.2.0.tgz#14f75de3f20d286ef933099b2ce50a90359cef10" 1218 | dependencies: 1219 | merge "^1.1.3" 1220 | 1221 | expand-brackets@^0.1.4: 1222 | version "0.1.5" 1223 | resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" 1224 | dependencies: 1225 | is-posix-bracket "^0.1.0" 1226 | 1227 | expand-range@^1.8.1: 1228 | version "1.8.2" 1229 | resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" 1230 | dependencies: 1231 | fill-range "^2.1.0" 1232 | 1233 | extend@~3.0.0: 1234 | version "3.0.0" 1235 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.0.tgz#5a474353b9f3353ddd8176dfd37b91c83a46f1d4" 1236 | 1237 | extglob@^0.3.1: 1238 | version "0.3.2" 1239 | resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" 1240 | dependencies: 1241 | is-extglob "^1.0.0" 1242 | 1243 | extsprintf@1.0.2: 1244 | version "1.0.2" 1245 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550" 1246 | 1247 | fast-levenshtein@~2.0.4: 1248 | version "2.0.5" 1249 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.5.tgz#bd33145744519ab1c36c3ee9f31f08e9079b67f2" 1250 | 1251 | fb-watchman@^1.8.0, fb-watchman@^1.9.0: 1252 | version "1.9.0" 1253 | resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-1.9.0.tgz#6f268f1f347a6b3c875d1e89da7e1ed79adfc0ec" 1254 | dependencies: 1255 | bser "^1.0.2" 1256 | 1257 | filename-regex@^2.0.0: 1258 | version "2.0.0" 1259 | resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.0.tgz#996e3e80479b98b9897f15a8a58b3d084e926775" 1260 | 1261 | fileset@0.2.x: 1262 | version "0.2.1" 1263 | resolved "https://registry.yarnpkg.com/fileset/-/fileset-0.2.1.tgz#588ef8973c6623b2a76df465105696b96aac8067" 1264 | dependencies: 1265 | glob "5.x" 1266 | minimatch "2.x" 1267 | 1268 | fill-range@^2.1.0: 1269 | version "2.2.3" 1270 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" 1271 | dependencies: 1272 | is-number "^2.1.0" 1273 | isobject "^2.0.0" 1274 | randomatic "^1.1.3" 1275 | repeat-element "^1.1.2" 1276 | repeat-string "^1.5.2" 1277 | 1278 | find-cache-dir@^0.1.1: 1279 | version "0.1.1" 1280 | resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9" 1281 | dependencies: 1282 | commondir "^1.0.1" 1283 | mkdirp "^0.5.1" 1284 | pkg-dir "^1.0.0" 1285 | 1286 | find-up@^1.0.0, find-up@^1.1.2: 1287 | version "1.1.2" 1288 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" 1289 | dependencies: 1290 | path-exists "^2.0.0" 1291 | pinkie-promise "^2.0.0" 1292 | 1293 | for-in@^0.1.5: 1294 | version "0.1.6" 1295 | resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.6.tgz#c9f96e89bfad18a545af5ec3ed352a1d9e5b4dc8" 1296 | 1297 | for-own@^0.1.4: 1298 | version "0.1.4" 1299 | resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.4.tgz#0149b41a39088c7515f51ebe1c1386d45f935072" 1300 | dependencies: 1301 | for-in "^0.1.5" 1302 | 1303 | forever-agent@~0.6.1: 1304 | version "0.6.1" 1305 | resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" 1306 | 1307 | form-data@~2.1.1: 1308 | version "2.1.2" 1309 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.2.tgz#89c3534008b97eada4cbb157d58f6f5df025eae4" 1310 | dependencies: 1311 | asynckit "^0.4.0" 1312 | combined-stream "^1.0.5" 1313 | mime-types "^2.1.12" 1314 | 1315 | fs-readdir-recursive@^1.0.0: 1316 | version "1.0.0" 1317 | resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.0.0.tgz#8cd1745c8b4f8a29c8caec392476921ba195f560" 1318 | 1319 | fs.realpath@^1.0.0: 1320 | version "1.0.0" 1321 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 1322 | 1323 | fsevents@^1.0.0: 1324 | version "1.0.15" 1325 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.0.15.tgz#fa63f590f3c2ad91275e4972a6cea545fb0aae44" 1326 | dependencies: 1327 | nan "^2.3.0" 1328 | node-pre-gyp "^0.6.29" 1329 | 1330 | fstream-ignore@~1.0.5: 1331 | version "1.0.5" 1332 | resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" 1333 | dependencies: 1334 | fstream "^1.0.0" 1335 | inherits "2" 1336 | minimatch "^3.0.0" 1337 | 1338 | fstream@^1.0.0, fstream@^1.0.2, fstream@~1.0.10: 1339 | version "1.0.10" 1340 | resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.10.tgz#604e8a92fe26ffd9f6fae30399d4984e1ab22822" 1341 | dependencies: 1342 | graceful-fs "^4.1.2" 1343 | inherits "~2.0.0" 1344 | mkdirp ">=0.5 0" 1345 | rimraf "2" 1346 | 1347 | gauge@~2.6.0: 1348 | version "2.6.0" 1349 | resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.6.0.tgz#d35301ad18e96902b4751dcbbe40f4218b942a46" 1350 | dependencies: 1351 | aproba "^1.0.3" 1352 | console-control-strings "^1.0.0" 1353 | has-color "^0.1.7" 1354 | has-unicode "^2.0.0" 1355 | object-assign "^4.1.0" 1356 | signal-exit "^3.0.0" 1357 | string-width "^1.0.1" 1358 | strip-ansi "^3.0.1" 1359 | wide-align "^1.1.0" 1360 | 1361 | generate-function@^2.0.0: 1362 | version "2.0.0" 1363 | resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74" 1364 | 1365 | generate-object-property@^1.1.0: 1366 | version "1.2.0" 1367 | resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" 1368 | dependencies: 1369 | is-property "^1.0.0" 1370 | 1371 | get-caller-file@^1.0.1: 1372 | version "1.0.2" 1373 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" 1374 | 1375 | getpass@^0.1.1: 1376 | version "0.1.6" 1377 | resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.6.tgz#283ffd9fc1256840875311c1b60e8c40187110e6" 1378 | dependencies: 1379 | assert-plus "^1.0.0" 1380 | 1381 | glob-base@^0.3.0: 1382 | version "0.3.0" 1383 | resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" 1384 | dependencies: 1385 | glob-parent "^2.0.0" 1386 | is-glob "^2.0.0" 1387 | 1388 | glob-parent@^2.0.0: 1389 | version "2.0.0" 1390 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" 1391 | dependencies: 1392 | is-glob "^2.0.0" 1393 | 1394 | glob@^5.0.15, glob@^5.0.5, glob@5.x: 1395 | version "5.0.15" 1396 | resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" 1397 | dependencies: 1398 | inflight "^1.0.4" 1399 | inherits "2" 1400 | minimatch "2 || 3" 1401 | once "^1.3.0" 1402 | path-is-absolute "^1.0.0" 1403 | 1404 | glob@^7.0.5: 1405 | version "7.1.1" 1406 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" 1407 | dependencies: 1408 | fs.realpath "^1.0.0" 1409 | inflight "^1.0.4" 1410 | inherits "2" 1411 | minimatch "^3.0.2" 1412 | once "^1.3.0" 1413 | path-is-absolute "^1.0.0" 1414 | 1415 | globals@^9.0.0: 1416 | version "9.12.0" 1417 | resolved "https://registry.yarnpkg.com/globals/-/globals-9.12.0.tgz#992ce90828c3a55fa8f16fada177adb64664cf9d" 1418 | 1419 | graceful-fs@^4.1.2, graceful-fs@^4.1.4, graceful-fs@^4.1.6: 1420 | version "4.1.10" 1421 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.10.tgz#f2d720c22092f743228775c75e3612632501f131" 1422 | 1423 | "graceful-readlink@>= 1.0.0": 1424 | version "1.0.1" 1425 | resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" 1426 | 1427 | growly@^1.2.0: 1428 | version "1.3.0" 1429 | resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" 1430 | 1431 | handlebars@^4.0.1, handlebars@^4.0.3: 1432 | version "4.0.5" 1433 | resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.5.tgz#92c6ed6bb164110c50d4d8d0fbddc70806c6f8e7" 1434 | dependencies: 1435 | async "^1.4.0" 1436 | optimist "^0.6.1" 1437 | source-map "^0.4.4" 1438 | optionalDependencies: 1439 | uglify-js "^2.6" 1440 | 1441 | har-validator@~2.0.6: 1442 | version "2.0.6" 1443 | resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d" 1444 | dependencies: 1445 | chalk "^1.1.1" 1446 | commander "^2.9.0" 1447 | is-my-json-valid "^2.12.4" 1448 | pinkie-promise "^2.0.0" 1449 | 1450 | has-ansi@^2.0.0: 1451 | version "2.0.0" 1452 | resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" 1453 | dependencies: 1454 | ansi-regex "^2.0.0" 1455 | 1456 | has-color@^0.1.7: 1457 | version "0.1.7" 1458 | resolved "https://registry.yarnpkg.com/has-color/-/has-color-0.1.7.tgz#67144a5260c34fc3cca677d041daf52fe7b78b2f" 1459 | 1460 | has-flag@^1.0.0: 1461 | version "1.0.0" 1462 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" 1463 | 1464 | has-unicode@^2.0.0: 1465 | version "2.0.1" 1466 | resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" 1467 | 1468 | hawk@~3.1.3: 1469 | version "3.1.3" 1470 | resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" 1471 | dependencies: 1472 | boom "2.x.x" 1473 | cryptiles "2.x.x" 1474 | hoek "2.x.x" 1475 | sntp "1.x.x" 1476 | 1477 | hoek@2.x.x: 1478 | version "2.16.3" 1479 | resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" 1480 | 1481 | home-or-tmp@^2.0.0: 1482 | version "2.0.0" 1483 | resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" 1484 | dependencies: 1485 | os-homedir "^1.0.0" 1486 | os-tmpdir "^1.0.1" 1487 | 1488 | hosted-git-info@^2.1.4: 1489 | version "2.1.5" 1490 | resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.1.5.tgz#0ba81d90da2e25ab34a332e6ec77936e1598118b" 1491 | 1492 | html-encoding-sniffer@^1.0.1: 1493 | version "1.0.1" 1494 | resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.1.tgz#79bf7a785ea495fe66165e734153f363ff5437da" 1495 | dependencies: 1496 | whatwg-encoding "^1.0.1" 1497 | 1498 | http-browserify@^1.3.2: 1499 | version "1.7.0" 1500 | resolved "https://registry.yarnpkg.com/http-browserify/-/http-browserify-1.7.0.tgz#33795ade72df88acfbfd36773cefeda764735b20" 1501 | dependencies: 1502 | Base64 "~0.2.0" 1503 | inherits "~2.0.1" 1504 | 1505 | http-signature@~1.1.0: 1506 | version "1.1.1" 1507 | resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" 1508 | dependencies: 1509 | assert-plus "^0.2.0" 1510 | jsprim "^1.2.2" 1511 | sshpk "^1.7.0" 1512 | 1513 | https-browserify@0.0.0: 1514 | version "0.0.0" 1515 | resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-0.0.0.tgz#b3ffdfe734b2a3d4a9efd58e8654c91fce86eafd" 1516 | 1517 | iconv-lite@^0.4.13, iconv-lite@0.4.13: 1518 | version "0.4.13" 1519 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.13.tgz#1f88aba4ab0b1508e8312acc39345f36e992e2f2" 1520 | 1521 | ieee754@^1.1.4: 1522 | version "1.1.8" 1523 | resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" 1524 | 1525 | indexof@0.0.1: 1526 | version "0.0.1" 1527 | resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" 1528 | 1529 | inflight@^1.0.4: 1530 | version "1.0.6" 1531 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1532 | dependencies: 1533 | once "^1.3.0" 1534 | wrappy "1" 1535 | 1536 | inherits@^2.0.1, inherits@~2.0.0, inherits@~2.0.1, inherits@2: 1537 | version "2.0.3" 1538 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 1539 | 1540 | inherits@2.0.1: 1541 | version "2.0.1" 1542 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" 1543 | 1544 | ini@~1.3.0: 1545 | version "1.3.4" 1546 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" 1547 | 1548 | interpret@^0.6.4: 1549 | version "0.6.6" 1550 | resolved "https://registry.yarnpkg.com/interpret/-/interpret-0.6.6.tgz#fecd7a18e7ce5ca6abfb953e1f86213a49f1625b" 1551 | 1552 | invariant@^2.2.0: 1553 | version "2.2.1" 1554 | resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.1.tgz#b097010547668c7e337028ebe816ebe36c8a8d54" 1555 | dependencies: 1556 | loose-envify "^1.0.0" 1557 | 1558 | invert-kv@^1.0.0: 1559 | version "1.0.0" 1560 | resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" 1561 | 1562 | is-arrayish@^0.2.1: 1563 | version "0.2.1" 1564 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 1565 | 1566 | is-binary-path@^1.0.0: 1567 | version "1.0.1" 1568 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" 1569 | dependencies: 1570 | binary-extensions "^1.0.0" 1571 | 1572 | is-buffer@^1.0.2: 1573 | version "1.1.4" 1574 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.4.tgz#cfc86ccd5dc5a52fa80489111c6920c457e2d98b" 1575 | 1576 | is-builtin-module@^1.0.0: 1577 | version "1.0.0" 1578 | resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" 1579 | dependencies: 1580 | builtin-modules "^1.0.0" 1581 | 1582 | is-ci@^1.0.9: 1583 | version "1.0.10" 1584 | resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.0.10.tgz#f739336b2632365061a9d48270cd56ae3369318e" 1585 | dependencies: 1586 | ci-info "^1.0.0" 1587 | 1588 | is-dotfile@^1.0.0: 1589 | version "1.0.2" 1590 | resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.2.tgz#2c132383f39199f8edc268ca01b9b007d205cc4d" 1591 | 1592 | is-equal-shallow@^0.1.3: 1593 | version "0.1.3" 1594 | resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" 1595 | dependencies: 1596 | is-primitive "^2.0.0" 1597 | 1598 | is-extendable@^0.1.1: 1599 | version "0.1.1" 1600 | resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" 1601 | 1602 | is-extglob@^1.0.0: 1603 | version "1.0.0" 1604 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" 1605 | 1606 | is-finite@^1.0.0: 1607 | version "1.0.2" 1608 | resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" 1609 | dependencies: 1610 | number-is-nan "^1.0.0" 1611 | 1612 | is-fullwidth-code-point@^1.0.0: 1613 | version "1.0.0" 1614 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" 1615 | dependencies: 1616 | number-is-nan "^1.0.0" 1617 | 1618 | is-glob@^2.0.0, is-glob@^2.0.1: 1619 | version "2.0.1" 1620 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" 1621 | dependencies: 1622 | is-extglob "^1.0.0" 1623 | 1624 | is-my-json-valid@^2.12.4: 1625 | version "2.15.0" 1626 | resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz#936edda3ca3c211fd98f3b2d3e08da43f7b2915b" 1627 | dependencies: 1628 | generate-function "^2.0.0" 1629 | generate-object-property "^1.1.0" 1630 | jsonpointer "^4.0.0" 1631 | xtend "^4.0.0" 1632 | 1633 | is-number@^2.0.2, is-number@^2.1.0: 1634 | version "2.1.0" 1635 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" 1636 | dependencies: 1637 | kind-of "^3.0.2" 1638 | 1639 | is-posix-bracket@^0.1.0: 1640 | version "0.1.1" 1641 | resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" 1642 | 1643 | is-primitive@^2.0.0: 1644 | version "2.0.0" 1645 | resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" 1646 | 1647 | is-property@^1.0.0: 1648 | version "1.0.2" 1649 | resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" 1650 | 1651 | is-typedarray@~1.0.0: 1652 | version "1.0.0" 1653 | resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" 1654 | 1655 | is-utf8@^0.2.0: 1656 | version "0.2.1" 1657 | resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" 1658 | 1659 | isarray@^1.0.0, isarray@~1.0.0, isarray@1.0.0: 1660 | version "1.0.0" 1661 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 1662 | 1663 | isarray@0.0.1: 1664 | version "0.0.1" 1665 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" 1666 | 1667 | isexe@^1.1.1: 1668 | version "1.1.2" 1669 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-1.1.2.tgz#36f3e22e60750920f5e7241a476a8c6a42275ad0" 1670 | 1671 | isobject@^2.0.0: 1672 | version "2.1.0" 1673 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" 1674 | dependencies: 1675 | isarray "1.0.0" 1676 | 1677 | isstream@~0.1.2: 1678 | version "0.1.2" 1679 | resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" 1680 | 1681 | istanbul-api@^1.0.0-aplha.10: 1682 | version "1.0.0-aplha.10" 1683 | resolved "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-1.0.0-aplha.10.tgz#902edf5cf5404e0eba7e00ef46408488a0d3e337" 1684 | dependencies: 1685 | async "1.x" 1686 | clone "^1.0.2" 1687 | fileset "0.2.x" 1688 | istanbul-lib-coverage "^1.0.0-alpha" 1689 | istanbul-lib-hook "^1.0.0-alpha" 1690 | istanbul-lib-instrument "^1.0.0-alpha" 1691 | istanbul-lib-report "^1.0.0-alpha" 1692 | istanbul-lib-source-maps "^1.0.0-alpha" 1693 | istanbul-reports "^1.0.0-alpha" 1694 | js-yaml "3.x" 1695 | mkdirp "0.5.x" 1696 | once "1.x" 1697 | 1698 | istanbul-lib-coverage@^1.0.0, istanbul-lib-coverage@^1.0.0-alpha, istanbul-lib-coverage@^1.0.0-alpha.0: 1699 | version "1.0.0" 1700 | resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.0.0.tgz#c3f9b6d226da12424064cce87fce0fb57fdfa7a2" 1701 | 1702 | istanbul-lib-hook@^1.0.0-alpha: 1703 | version "1.0.0-alpha.4" 1704 | resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-1.0.0-alpha.4.tgz#8c5bb9f6fbd8526e0ae6cf639af28266906b938f" 1705 | dependencies: 1706 | append-transform "^0.3.0" 1707 | 1708 | istanbul-lib-instrument@^1.0.0-alpha, istanbul-lib-instrument@^1.1.1, istanbul-lib-instrument@^1.1.4: 1709 | version "1.3.0" 1710 | resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.3.0.tgz#19f0a973397454989b98330333063a5b56df0e58" 1711 | dependencies: 1712 | babel-generator "^6.18.0" 1713 | babel-template "^6.16.0" 1714 | babel-traverse "^6.18.0" 1715 | babel-types "^6.18.0" 1716 | babylon "^6.13.0" 1717 | istanbul-lib-coverage "^1.0.0" 1718 | semver "^5.3.0" 1719 | 1720 | istanbul-lib-report@^1.0.0-alpha: 1721 | version "1.0.0-alpha.3" 1722 | resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-1.0.0-alpha.3.tgz#32d5f6ec7f33ca3a602209e278b2e6ff143498af" 1723 | dependencies: 1724 | async "^1.4.2" 1725 | istanbul-lib-coverage "^1.0.0-alpha" 1726 | mkdirp "^0.5.1" 1727 | path-parse "^1.0.5" 1728 | rimraf "^2.4.3" 1729 | supports-color "^3.1.2" 1730 | 1731 | istanbul-lib-source-maps@^1.0.0-alpha: 1732 | version "1.1.0" 1733 | resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.1.0.tgz#9d429218f35b823560ea300a96ff0c3bbdab785f" 1734 | dependencies: 1735 | istanbul-lib-coverage "^1.0.0-alpha.0" 1736 | mkdirp "^0.5.1" 1737 | rimraf "^2.4.4" 1738 | source-map "^0.5.3" 1739 | 1740 | istanbul-reports@^1.0.0-alpha: 1741 | version "1.0.0" 1742 | resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.0.0.tgz#24b4eb2b1d29d50f103b369bd422f6e640aa0777" 1743 | dependencies: 1744 | handlebars "^4.0.3" 1745 | 1746 | istanbul@^0.4.5: 1747 | version "0.4.5" 1748 | resolved "https://registry.yarnpkg.com/istanbul/-/istanbul-0.4.5.tgz#65c7d73d4c4da84d4f3ac310b918fb0b8033733b" 1749 | dependencies: 1750 | abbrev "1.0.x" 1751 | async "1.x" 1752 | escodegen "1.8.x" 1753 | esprima "2.7.x" 1754 | glob "^5.0.15" 1755 | handlebars "^4.0.1" 1756 | js-yaml "3.x" 1757 | mkdirp "0.5.x" 1758 | nopt "3.x" 1759 | once "1.x" 1760 | resolve "1.1.x" 1761 | supports-color "^3.1.0" 1762 | which "^1.1.1" 1763 | wordwrap "^1.0.0" 1764 | 1765 | jasmine-check@^0.1.4: 1766 | version "0.1.5" 1767 | resolved "https://registry.yarnpkg.com/jasmine-check/-/jasmine-check-0.1.5.tgz#dbad7eec56261c4b3d175ada55fe59b09ac9e415" 1768 | dependencies: 1769 | testcheck "^0.1.0" 1770 | 1771 | jest: 1772 | version "17.0.0" 1773 | resolved "https://registry.yarnpkg.com/jest/-/jest-17.0.0.tgz#ebceb910c4e32cdea2adf44aba304d1ed4ad369e" 1774 | dependencies: 1775 | jest-cli "^17.0.0" 1776 | 1777 | jest-changed-files@^16.0.0: 1778 | version "16.0.0" 1779 | resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-16.0.0.tgz#7931deff4424182b8173d80e06800d7363b19c45" 1780 | 1781 | jest-cli@^17.0.0: 1782 | version "17.0.0" 1783 | resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-17.0.0.tgz#c2e16575546d2fe875345e40fbf3d1d914bdd7cb" 1784 | dependencies: 1785 | ansi-escapes "^1.4.0" 1786 | callsites "^2.0.0" 1787 | chalk "^1.1.1" 1788 | graceful-fs "^4.1.6" 1789 | is-ci "^1.0.9" 1790 | istanbul-api "^1.0.0-aplha.10" 1791 | istanbul-lib-coverage "^1.0.0" 1792 | istanbul-lib-instrument "^1.1.1" 1793 | jest-changed-files "^16.0.0" 1794 | jest-config "^17.0.0" 1795 | jest-environment-jsdom "^17.0.0" 1796 | jest-file-exists "^17.0.0" 1797 | jest-haste-map "^17.0.0" 1798 | jest-jasmine2 "^17.0.0" 1799 | jest-mock "^17.0.0" 1800 | jest-resolve "^17.0.0" 1801 | jest-resolve-dependencies "^17.0.0" 1802 | jest-runtime "^17.0.0" 1803 | jest-snapshot "^17.0.0" 1804 | jest-util "^17.0.0" 1805 | json-stable-stringify "^1.0.0" 1806 | node-notifier "^4.6.1" 1807 | sane "~1.4.1" 1808 | strip-ansi "^3.0.1" 1809 | throat "^3.0.0" 1810 | which "^1.1.1" 1811 | worker-farm "^1.3.1" 1812 | yargs "^6.3.0" 1813 | 1814 | jest-config@^17.0.0: 1815 | version "17.0.0" 1816 | resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-17.0.0.tgz#6474051f00aed3ef050e1342bb753ee672485313" 1817 | dependencies: 1818 | chalk "^1.1.1" 1819 | istanbul "^0.4.5" 1820 | jest-environment-jsdom "^17.0.0" 1821 | jest-environment-node "^17.0.0" 1822 | jest-jasmine2 "^17.0.0" 1823 | jest-mock "^17.0.0" 1824 | jest-resolve "^17.0.0" 1825 | jest-util "^17.0.0" 1826 | json-stable-stringify "^1.0.0" 1827 | 1828 | jest-diff@^17.0.0: 1829 | version "17.0.0" 1830 | resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-17.0.0.tgz#d3288d6f28b9db4f78f93e718af5e61cd636bd71" 1831 | dependencies: 1832 | chalk "^1.1.3" 1833 | diff "^3.0.0" 1834 | jest-matcher-utils "^17.0.0" 1835 | pretty-format "~4.2.1" 1836 | 1837 | jest-environment-jsdom@^17.0.0: 1838 | version "17.0.0" 1839 | resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-17.0.0.tgz#d543000de994857bbe88afa8fd40756363757488" 1840 | dependencies: 1841 | jest-mock "^17.0.0" 1842 | jest-util "^17.0.0" 1843 | jsdom "^9.8.1" 1844 | 1845 | jest-environment-node@^17.0.0: 1846 | version "17.0.0" 1847 | resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-17.0.0.tgz#cd1f93490a397b632cd251cecf2e560da0a0c468" 1848 | dependencies: 1849 | jest-mock "^17.0.0" 1850 | jest-util "^17.0.0" 1851 | 1852 | jest-file-exists@^17.0.0: 1853 | version "17.0.0" 1854 | resolved "https://registry.yarnpkg.com/jest-file-exists/-/jest-file-exists-17.0.0.tgz#7f63eb73a1c43a13f461be261768b45af2cdd169" 1855 | 1856 | jest-haste-map@^17.0.0: 1857 | version "17.0.0" 1858 | resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-17.0.0.tgz#07ee15f555a1e8106c31c190a6f0e767d39564c2" 1859 | dependencies: 1860 | fb-watchman "^1.9.0" 1861 | graceful-fs "^4.1.6" 1862 | multimatch "^2.1.0" 1863 | sane "~1.4.1" 1864 | worker-farm "^1.3.1" 1865 | 1866 | jest-jasmine2@^17.0.0: 1867 | version "17.0.0" 1868 | resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-17.0.0.tgz#811e493b1df968f34b08f9c4573f77b9d9319624" 1869 | dependencies: 1870 | graceful-fs "^4.1.6" 1871 | jasmine-check "^0.1.4" 1872 | jest-matchers "^17.0.0" 1873 | jest-snapshot "^17.0.0" 1874 | jest-util "^17.0.0" 1875 | 1876 | jest-matcher-utils@^17.0.0: 1877 | version "17.0.0" 1878 | resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-17.0.0.tgz#d7c5609312a555a747d7938b1d560a2e320bc1a6" 1879 | dependencies: 1880 | chalk "^1.1.3" 1881 | pretty-format "~4.2.1" 1882 | 1883 | jest-matchers@^17.0.0: 1884 | version "17.0.0" 1885 | resolved "https://registry.yarnpkg.com/jest-matchers/-/jest-matchers-17.0.0.tgz#75b8dc7431e9b7afb15e7424b7869ea3d88e6af4" 1886 | dependencies: 1887 | jest-diff "^17.0.0" 1888 | jest-matcher-utils "^17.0.0" 1889 | jest-util "^17.0.0" 1890 | 1891 | jest-mock@^17.0.0: 1892 | version "17.0.0" 1893 | resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-17.0.0.tgz#2475c3fec5d3ac117e2f59d40e1f6311ab9aae40" 1894 | 1895 | jest-resolve-dependencies@^17.0.0: 1896 | version "17.0.0" 1897 | resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-17.0.0.tgz#5b9ead58af2c7be7d3a4f49ba28265d4d6db1213" 1898 | dependencies: 1899 | jest-file-exists "^17.0.0" 1900 | jest-resolve "^17.0.0" 1901 | 1902 | jest-resolve@^17.0.0: 1903 | version "17.0.0" 1904 | resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-17.0.0.tgz#6a2b53ba5080c9d9a96a63bdfc4bd6ac2c3e4628" 1905 | dependencies: 1906 | browser-resolve "^1.11.2" 1907 | jest-file-exists "^17.0.0" 1908 | jest-haste-map "^17.0.0" 1909 | resolve "^1.1.6" 1910 | 1911 | jest-runtime@^17.0.0: 1912 | version "17.0.0" 1913 | resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-17.0.0.tgz#cac76b26ed5bd6f018fa1741087ce1c70632eddd" 1914 | dependencies: 1915 | babel-core "^6.0.0" 1916 | babel-jest "^17.0.0" 1917 | babel-plugin-istanbul "^2.0.0" 1918 | chalk "^1.1.3" 1919 | graceful-fs "^4.1.6" 1920 | jest-config "^17.0.0" 1921 | jest-file-exists "^17.0.0" 1922 | jest-haste-map "^17.0.0" 1923 | jest-mock "^17.0.0" 1924 | jest-resolve "^17.0.0" 1925 | jest-snapshot "^17.0.0" 1926 | jest-util "^17.0.0" 1927 | json-stable-stringify "^1.0.0" 1928 | multimatch "^2.1.0" 1929 | yargs "^6.3.0" 1930 | 1931 | jest-snapshot@^17.0.0: 1932 | version "17.0.0" 1933 | resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-17.0.0.tgz#0601cdc610470ed5e11d9c29f7d753401659d855" 1934 | dependencies: 1935 | jest-diff "^17.0.0" 1936 | jest-file-exists "^17.0.0" 1937 | jest-matcher-utils "^17.0.0" 1938 | jest-util "^17.0.0" 1939 | natural-compare "^1.4.0" 1940 | pretty-format "~4.2.1" 1941 | 1942 | jest-util@^17.0.0: 1943 | version "17.0.0" 1944 | resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-17.0.0.tgz#3501b1b2469650b3c9341667b78695ace08e1b68" 1945 | dependencies: 1946 | chalk "^1.1.1" 1947 | diff "^3.0.0" 1948 | graceful-fs "^4.1.6" 1949 | jest-file-exists "^17.0.0" 1950 | jest-mock "^17.0.0" 1951 | mkdirp "^0.5.1" 1952 | 1953 | jodid25519@^1.0.0: 1954 | version "1.0.2" 1955 | resolved "https://registry.yarnpkg.com/jodid25519/-/jodid25519-1.0.2.tgz#06d4912255093419477d425633606e0e90782967" 1956 | dependencies: 1957 | jsbn "~0.1.0" 1958 | 1959 | js-tokens@^2.0.0: 1960 | version "2.0.0" 1961 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-2.0.0.tgz#79903f5563ee778cc1162e6dcf1a0027c97f9cb5" 1962 | 1963 | js-yaml@3.x: 1964 | version "3.6.1" 1965 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.6.1.tgz#6e5fe67d8b205ce4d22fad05b7781e8dadcc4b30" 1966 | dependencies: 1967 | argparse "^1.0.7" 1968 | esprima "^2.6.0" 1969 | 1970 | jsbn@~0.1.0: 1971 | version "0.1.0" 1972 | resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.0.tgz#650987da0dd74f4ebf5a11377a2aa2d273e97dfd" 1973 | 1974 | jsdom@^9.8.1: 1975 | version "9.8.3" 1976 | resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-9.8.3.tgz#fde29c109c32a1131e0b6c65914e64198f97c370" 1977 | dependencies: 1978 | abab "^1.0.0" 1979 | acorn "^2.4.0" 1980 | acorn-globals "^1.0.4" 1981 | array-equal "^1.0.0" 1982 | content-type-parser "^1.0.1" 1983 | cssom ">= 0.3.0 < 0.4.0" 1984 | cssstyle ">= 0.2.36 < 0.3.0" 1985 | escodegen "^1.6.1" 1986 | html-encoding-sniffer "^1.0.1" 1987 | iconv-lite "^0.4.13" 1988 | nwmatcher ">= 1.3.7 < 2.0.0" 1989 | parse5 "^1.5.1" 1990 | request "^2.55.0" 1991 | sax "^1.1.4" 1992 | symbol-tree ">= 3.1.0 < 4.0.0" 1993 | tough-cookie "^2.3.1" 1994 | webidl-conversions "^3.0.1" 1995 | whatwg-encoding "^1.0.1" 1996 | whatwg-url "^3.0.0" 1997 | xml-name-validator ">= 2.0.1 < 3.0.0" 1998 | 1999 | jsesc@^1.3.0: 2000 | version "1.3.0" 2001 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" 2002 | 2003 | jsesc@~0.5.0: 2004 | version "0.5.0" 2005 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" 2006 | 2007 | json-schema@0.2.3: 2008 | version "0.2.3" 2009 | resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" 2010 | 2011 | json-stable-stringify@^1.0.0: 2012 | version "1.0.1" 2013 | resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" 2014 | dependencies: 2015 | jsonify "~0.0.0" 2016 | 2017 | json-stringify-safe@~5.0.1: 2018 | version "5.0.1" 2019 | resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" 2020 | 2021 | json5@^0.5.0: 2022 | version "0.5.0" 2023 | resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.0.tgz#9b20715b026cbe3778fd769edccd822d8332a5b2" 2024 | 2025 | jsonify@~0.0.0: 2026 | version "0.0.0" 2027 | resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" 2028 | 2029 | jsonpointer@^4.0.0: 2030 | version "4.0.0" 2031 | resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.0.tgz#6661e161d2fc445f19f98430231343722e1fcbd5" 2032 | 2033 | jsprim@^1.2.2: 2034 | version "1.3.1" 2035 | resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.3.1.tgz#2a7256f70412a29ee3670aaca625994c4dcff252" 2036 | dependencies: 2037 | extsprintf "1.0.2" 2038 | json-schema "0.2.3" 2039 | verror "1.3.6" 2040 | 2041 | kind-of@^3.0.2: 2042 | version "3.0.4" 2043 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.0.4.tgz#7b8ecf18a4e17f8269d73b501c9f232c96887a74" 2044 | dependencies: 2045 | is-buffer "^1.0.2" 2046 | 2047 | lazy-cache@^1.0.3: 2048 | version "1.0.4" 2049 | resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" 2050 | 2051 | lcid@^1.0.0: 2052 | version "1.0.0" 2053 | resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" 2054 | dependencies: 2055 | invert-kv "^1.0.0" 2056 | 2057 | levn@~0.3.0: 2058 | version "0.3.0" 2059 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" 2060 | dependencies: 2061 | prelude-ls "~1.1.2" 2062 | type-check "~0.3.2" 2063 | 2064 | load-json-file@^1.0.0: 2065 | version "1.1.0" 2066 | resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" 2067 | dependencies: 2068 | graceful-fs "^4.1.2" 2069 | parse-json "^2.2.0" 2070 | pify "^2.0.0" 2071 | pinkie-promise "^2.0.0" 2072 | strip-bom "^2.0.0" 2073 | 2074 | loader-utils@^0.2.11: 2075 | version "0.2.16" 2076 | resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.16.tgz#f08632066ed8282835dff88dfb52704765adee6d" 2077 | dependencies: 2078 | big.js "^3.1.3" 2079 | emojis-list "^2.0.0" 2080 | json5 "^0.5.0" 2081 | object-assign "^4.0.1" 2082 | 2083 | lodash-es@^4.2.1: 2084 | version "4.16.6" 2085 | resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.16.6.tgz#c8552faedaa4d1d591de8da9b3980ef1c52efa08" 2086 | 2087 | lodash._arraycopy@^3.0.0: 2088 | version "3.0.0" 2089 | resolved "https://registry.yarnpkg.com/lodash._arraycopy/-/lodash._arraycopy-3.0.0.tgz#76e7b7c1f1fb92547374878a562ed06a3e50f6e1" 2090 | 2091 | lodash._arrayeach@^3.0.0: 2092 | version "3.0.0" 2093 | resolved "https://registry.yarnpkg.com/lodash._arrayeach/-/lodash._arrayeach-3.0.0.tgz#bab156b2a90d3f1bbd5c653403349e5e5933ef9e" 2094 | 2095 | lodash._baseassign@^3.0.0: 2096 | version "3.2.0" 2097 | resolved "https://registry.yarnpkg.com/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz#8c38a099500f215ad09e59f1722fd0c52bfe0a4e" 2098 | dependencies: 2099 | lodash._basecopy "^3.0.0" 2100 | lodash.keys "^3.0.0" 2101 | 2102 | lodash._baseclone@^3.0.0: 2103 | version "3.3.0" 2104 | resolved "https://registry.yarnpkg.com/lodash._baseclone/-/lodash._baseclone-3.3.0.tgz#303519bf6393fe7e42f34d8b630ef7794e3542b7" 2105 | dependencies: 2106 | lodash._arraycopy "^3.0.0" 2107 | lodash._arrayeach "^3.0.0" 2108 | lodash._baseassign "^3.0.0" 2109 | lodash._basefor "^3.0.0" 2110 | lodash.isarray "^3.0.0" 2111 | lodash.keys "^3.0.0" 2112 | 2113 | lodash._basecopy@^3.0.0: 2114 | version "3.0.1" 2115 | resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36" 2116 | 2117 | lodash._basefor@^3.0.0: 2118 | version "3.0.3" 2119 | resolved "https://registry.yarnpkg.com/lodash._basefor/-/lodash._basefor-3.0.3.tgz#7550b4e9218ef09fad24343b612021c79b4c20c2" 2120 | 2121 | lodash._bindcallback@^3.0.0: 2122 | version "3.0.1" 2123 | resolved "https://registry.yarnpkg.com/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz#e531c27644cf8b57a99e17ed95b35c748789392e" 2124 | 2125 | lodash._getnative@^3.0.0: 2126 | version "3.9.1" 2127 | resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" 2128 | 2129 | lodash.assign@^4.2.0: 2130 | version "4.2.0" 2131 | resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" 2132 | 2133 | lodash.clonedeep@^3.0.0: 2134 | version "3.0.2" 2135 | resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-3.0.2.tgz#a0a1e40d82a5ea89ff5b147b8444ed63d92827db" 2136 | dependencies: 2137 | lodash._baseclone "^3.0.0" 2138 | lodash._bindcallback "^3.0.0" 2139 | 2140 | lodash.isarguments@^3.0.0: 2141 | version "3.1.0" 2142 | resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" 2143 | 2144 | lodash.isarray@^3.0.0: 2145 | version "3.0.4" 2146 | resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" 2147 | 2148 | lodash.keys@^3.0.0: 2149 | version "3.1.2" 2150 | resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" 2151 | dependencies: 2152 | lodash._getnative "^3.0.0" 2153 | lodash.isarguments "^3.0.0" 2154 | lodash.isarray "^3.0.0" 2155 | 2156 | lodash@^4.2.0, lodash@^4.2.1: 2157 | version "4.16.6" 2158 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.16.6.tgz#d22c9ac660288f3843e16ba7d2b5d06cca27d777" 2159 | 2160 | longest@^1.0.1: 2161 | version "1.0.1" 2162 | resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" 2163 | 2164 | loose-envify@^1.0.0, loose-envify@^1.1.0: 2165 | version "1.3.0" 2166 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.0.tgz#6b26248c42f6d4fa4b0d8542f78edfcde35642a8" 2167 | dependencies: 2168 | js-tokens "^2.0.0" 2169 | 2170 | makeerror@1.0.x: 2171 | version "1.0.11" 2172 | resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" 2173 | dependencies: 2174 | tmpl "1.0.x" 2175 | 2176 | marked-terminal@^1.6.2: 2177 | version "1.7.0" 2178 | resolved "https://registry.yarnpkg.com/marked-terminal/-/marked-terminal-1.7.0.tgz#c8c460881c772c7604b64367007ee5f77f125904" 2179 | dependencies: 2180 | cardinal "^1.0.0" 2181 | chalk "^1.1.3" 2182 | cli-table "^0.3.1" 2183 | lodash.assign "^4.2.0" 2184 | node-emoji "^1.4.1" 2185 | 2186 | marked@^0.3.6: 2187 | version "0.3.6" 2188 | resolved "https://registry.yarnpkg.com/marked/-/marked-0.3.6.tgz#b2c6c618fccece4ef86c4fc6cb8a7cbf5aeda8d7" 2189 | 2190 | memory-fs@^0.2.0: 2191 | version "0.2.0" 2192 | resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.2.0.tgz#f2bb25368bc121e391c2520de92969caee0a0290" 2193 | 2194 | memory-fs@~0.3.0: 2195 | version "0.3.0" 2196 | resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.3.0.tgz#7bcc6b629e3a43e871d7e29aca6ae8a7f15cbb20" 2197 | dependencies: 2198 | errno "^0.1.3" 2199 | readable-stream "^2.0.1" 2200 | 2201 | merge@^1.1.3: 2202 | version "1.2.0" 2203 | resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.0.tgz#7531e39d4949c281a66b8c5a6e0265e8b05894da" 2204 | 2205 | micromatch@^2.1.5, micromatch@^2.3.11: 2206 | version "2.3.11" 2207 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" 2208 | dependencies: 2209 | arr-diff "^2.0.0" 2210 | array-unique "^0.2.1" 2211 | braces "^1.8.2" 2212 | expand-brackets "^0.1.4" 2213 | extglob "^0.3.1" 2214 | filename-regex "^2.0.0" 2215 | is-extglob "^1.0.0" 2216 | is-glob "^2.0.1" 2217 | kind-of "^3.0.2" 2218 | normalize-path "^2.0.1" 2219 | object.omit "^2.0.0" 2220 | parse-glob "^3.0.4" 2221 | regex-cache "^0.4.2" 2222 | 2223 | mime-db@~1.24.0: 2224 | version "1.24.0" 2225 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.24.0.tgz#e2d13f939f0016c6e4e9ad25a8652f126c467f0c" 2226 | 2227 | mime-types@^2.1.12, mime-types@~2.1.7: 2228 | version "2.1.12" 2229 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.12.tgz#152ba256777020dd4663f54c2e7bc26381e71729" 2230 | dependencies: 2231 | mime-db "~1.24.0" 2232 | 2233 | minimatch@^3.0.0, minimatch@^3.0.2, "minimatch@2 || 3": 2234 | version "3.0.3" 2235 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774" 2236 | dependencies: 2237 | brace-expansion "^1.0.0" 2238 | 2239 | minimatch@2.x: 2240 | version "2.0.10" 2241 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-2.0.10.tgz#8d087c39c6b38c001b97fca7ce6d0e1e80afbac7" 2242 | dependencies: 2243 | brace-expansion "^1.0.0" 2244 | 2245 | minimist@^1.1.1, minimist@^1.2.0: 2246 | version "1.2.0" 2247 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" 2248 | 2249 | minimist@~0.0.1: 2250 | version "0.0.10" 2251 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" 2252 | 2253 | minimist@0.0.8: 2254 | version "0.0.8" 2255 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 2256 | 2257 | mkdirp@^0.5.1, "mkdirp@>=0.5 0", mkdirp@~0.5.0, mkdirp@~0.5.1, mkdirp@0.5.x: 2258 | version "0.5.1" 2259 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 2260 | dependencies: 2261 | minimist "0.0.8" 2262 | 2263 | ms@0.7.1: 2264 | version "0.7.1" 2265 | resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" 2266 | 2267 | ms@0.7.2: 2268 | version "0.7.2" 2269 | resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765" 2270 | 2271 | multimatch@^2.1.0: 2272 | version "2.1.0" 2273 | resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-2.1.0.tgz#9c7906a22fb4c02919e2f5f75161b4cdbd4b2a2b" 2274 | dependencies: 2275 | array-differ "^1.0.0" 2276 | array-union "^1.0.1" 2277 | arrify "^1.0.0" 2278 | minimatch "^3.0.0" 2279 | 2280 | nan@^2.3.0: 2281 | version "2.4.0" 2282 | resolved "https://registry.yarnpkg.com/nan/-/nan-2.4.0.tgz#fb3c59d45fe4effe215f0b890f8adf6eb32d2232" 2283 | 2284 | natural-compare@^1.4.0: 2285 | version "1.4.0" 2286 | resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" 2287 | 2288 | node-emoji@^1.4.1: 2289 | version "1.4.1" 2290 | resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-1.4.1.tgz#c9fa0cf91094335bcb967a6f42b2305c15af2ebc" 2291 | dependencies: 2292 | string.prototype.codepointat "^0.2.0" 2293 | 2294 | node-int64@^0.4.0: 2295 | version "0.4.0" 2296 | resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" 2297 | 2298 | node-libs-browser@^0.6.0: 2299 | version "0.6.0" 2300 | resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-0.6.0.tgz#244806d44d319e048bc8607b5cc4eaf9a29d2e3c" 2301 | dependencies: 2302 | assert "^1.1.1" 2303 | browserify-zlib "~0.1.4" 2304 | buffer "^4.9.0" 2305 | console-browserify "^1.1.0" 2306 | constants-browserify "0.0.1" 2307 | crypto-browserify "~3.2.6" 2308 | domain-browser "^1.1.1" 2309 | events "^1.0.0" 2310 | http-browserify "^1.3.2" 2311 | https-browserify "0.0.0" 2312 | os-browserify "~0.1.2" 2313 | path-browserify "0.0.0" 2314 | process "^0.11.0" 2315 | punycode "^1.2.4" 2316 | querystring-es3 "~0.2.0" 2317 | readable-stream "^1.1.13" 2318 | stream-browserify "^1.0.0" 2319 | string_decoder "~0.10.25" 2320 | timers-browserify "^1.0.1" 2321 | tty-browserify "0.0.0" 2322 | url "~0.10.1" 2323 | util "~0.10.3" 2324 | vm-browserify "0.0.4" 2325 | 2326 | node-notifier@^4.6.1: 2327 | version "4.6.1" 2328 | resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-4.6.1.tgz#056d14244f3dcc1ceadfe68af9cff0c5473a33f3" 2329 | dependencies: 2330 | cli-usage "^0.1.1" 2331 | growly "^1.2.0" 2332 | lodash.clonedeep "^3.0.0" 2333 | minimist "^1.1.1" 2334 | semver "^5.1.0" 2335 | shellwords "^0.1.0" 2336 | which "^1.0.5" 2337 | 2338 | node-pre-gyp@^0.6.29: 2339 | version "0.6.31" 2340 | resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.31.tgz#d8a00ddaa301a940615dbcc8caad4024d58f6017" 2341 | dependencies: 2342 | mkdirp "~0.5.1" 2343 | nopt "~3.0.6" 2344 | npmlog "^4.0.0" 2345 | rc "~1.1.6" 2346 | request "^2.75.0" 2347 | rimraf "~2.5.4" 2348 | semver "~5.3.0" 2349 | tar "~2.2.1" 2350 | tar-pack "~3.3.0" 2351 | 2352 | node-uuid@~1.4.7: 2353 | version "1.4.7" 2354 | resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.7.tgz#6da5a17668c4b3dd59623bda11cf7fa4c1f60a6f" 2355 | 2356 | nopt@~3.0.6, nopt@3.x: 2357 | version "3.0.6" 2358 | resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" 2359 | dependencies: 2360 | abbrev "1" 2361 | 2362 | normalize-package-data@^2.3.2: 2363 | version "2.3.5" 2364 | resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.5.tgz#8d924f142960e1777e7ffe170543631cc7cb02df" 2365 | dependencies: 2366 | hosted-git-info "^2.1.4" 2367 | is-builtin-module "^1.0.0" 2368 | semver "2 || 3 || 4 || 5" 2369 | validate-npm-package-license "^3.0.1" 2370 | 2371 | normalize-path@^2.0.1: 2372 | version "2.0.1" 2373 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.0.1.tgz#47886ac1662760d4261b7d979d241709d3ce3f7a" 2374 | 2375 | npmlog@^4.0.0: 2376 | version "4.0.0" 2377 | resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.0.0.tgz#e094503961c70c1774eb76692080e8d578a9f88f" 2378 | dependencies: 2379 | are-we-there-yet "~1.1.2" 2380 | console-control-strings "~1.1.0" 2381 | gauge "~2.6.0" 2382 | set-blocking "~2.0.0" 2383 | 2384 | number-is-nan@^1.0.0: 2385 | version "1.0.1" 2386 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" 2387 | 2388 | "nwmatcher@>= 1.3.7 < 2.0.0": 2389 | version "1.3.9" 2390 | resolved "https://registry.yarnpkg.com/nwmatcher/-/nwmatcher-1.3.9.tgz#8bab486ff7fa3dfd086656bbe8b17116d3692d2a" 2391 | 2392 | oauth-sign@~0.8.1: 2393 | version "0.8.2" 2394 | resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" 2395 | 2396 | object-assign@^4.0.1, object-assign@^4.1.0: 2397 | version "4.1.0" 2398 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0" 2399 | 2400 | object.omit@^2.0.0: 2401 | version "2.0.1" 2402 | resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" 2403 | dependencies: 2404 | for-own "^0.1.4" 2405 | is-extendable "^0.1.1" 2406 | 2407 | once@^1.3.0, once@1.x: 2408 | version "1.4.0" 2409 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 2410 | dependencies: 2411 | wrappy "1" 2412 | 2413 | once@~1.3.3: 2414 | version "1.3.3" 2415 | resolved "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20" 2416 | dependencies: 2417 | wrappy "1" 2418 | 2419 | optimist@^0.6.1, optimist@~0.6.0: 2420 | version "0.6.1" 2421 | resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" 2422 | dependencies: 2423 | minimist "~0.0.1" 2424 | wordwrap "~0.0.2" 2425 | 2426 | optionator@^0.8.1: 2427 | version "0.8.2" 2428 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" 2429 | dependencies: 2430 | deep-is "~0.1.3" 2431 | fast-levenshtein "~2.0.4" 2432 | levn "~0.3.0" 2433 | prelude-ls "~1.1.2" 2434 | type-check "~0.3.2" 2435 | wordwrap "~1.0.0" 2436 | 2437 | os-browserify@~0.1.2: 2438 | version "0.1.2" 2439 | resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.1.2.tgz#49ca0293e0b19590a5f5de10c7f265a617d8fe54" 2440 | 2441 | os-homedir@^1.0.0: 2442 | version "1.0.2" 2443 | resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" 2444 | 2445 | os-locale@^1.4.0: 2446 | version "1.4.0" 2447 | resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" 2448 | dependencies: 2449 | lcid "^1.0.0" 2450 | 2451 | os-tmpdir@^1.0.1: 2452 | version "1.0.2" 2453 | resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" 2454 | 2455 | output-file-sync@^1.1.0: 2456 | version "1.1.2" 2457 | resolved "https://registry.yarnpkg.com/output-file-sync/-/output-file-sync-1.1.2.tgz#d0a33eefe61a205facb90092e826598d5245ce76" 2458 | dependencies: 2459 | graceful-fs "^4.1.4" 2460 | mkdirp "^0.5.1" 2461 | object-assign "^4.1.0" 2462 | 2463 | pako@~0.2.0: 2464 | version "0.2.9" 2465 | resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" 2466 | 2467 | parse-glob@^3.0.4: 2468 | version "3.0.4" 2469 | resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" 2470 | dependencies: 2471 | glob-base "^0.3.0" 2472 | is-dotfile "^1.0.0" 2473 | is-extglob "^1.0.0" 2474 | is-glob "^2.0.0" 2475 | 2476 | parse-json@^2.2.0: 2477 | version "2.2.0" 2478 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" 2479 | dependencies: 2480 | error-ex "^1.2.0" 2481 | 2482 | parse5@^1.5.1: 2483 | version "1.5.1" 2484 | resolved "https://registry.yarnpkg.com/parse5/-/parse5-1.5.1.tgz#9b7f3b0de32be78dc2401b17573ccaf0f6f59d94" 2485 | 2486 | path-browserify@0.0.0: 2487 | version "0.0.0" 2488 | resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a" 2489 | 2490 | path-exists@^2.0.0: 2491 | version "2.1.0" 2492 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" 2493 | dependencies: 2494 | pinkie-promise "^2.0.0" 2495 | 2496 | path-is-absolute@^1.0.0: 2497 | version "1.0.1" 2498 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 2499 | 2500 | path-parse@^1.0.5: 2501 | version "1.0.5" 2502 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" 2503 | 2504 | path-type@^1.0.0: 2505 | version "1.1.0" 2506 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" 2507 | dependencies: 2508 | graceful-fs "^4.1.2" 2509 | pify "^2.0.0" 2510 | pinkie-promise "^2.0.0" 2511 | 2512 | pbkdf2-compat@2.0.1: 2513 | version "2.0.1" 2514 | resolved "https://registry.yarnpkg.com/pbkdf2-compat/-/pbkdf2-compat-2.0.1.tgz#b6e0c8fa99494d94e0511575802a59a5c142f288" 2515 | 2516 | pify@^2.0.0: 2517 | version "2.3.0" 2518 | resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" 2519 | 2520 | pinkie-promise@^2.0.0: 2521 | version "2.0.1" 2522 | resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" 2523 | dependencies: 2524 | pinkie "^2.0.0" 2525 | 2526 | pinkie@^2.0.0: 2527 | version "2.0.4" 2528 | resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" 2529 | 2530 | pkg-dir@^1.0.0: 2531 | version "1.0.0" 2532 | resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" 2533 | dependencies: 2534 | find-up "^1.0.0" 2535 | 2536 | prelude-ls@~1.1.2: 2537 | version "1.1.2" 2538 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" 2539 | 2540 | preserve@^0.2.0: 2541 | version "0.2.0" 2542 | resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" 2543 | 2544 | pretty-format@~4.2.1: 2545 | version "4.2.3" 2546 | resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-4.2.3.tgz#8894c2ac81419cf801629d8f66320a25380d8b05" 2547 | 2548 | private@^0.1.6, private@~0.1.5: 2549 | version "0.1.6" 2550 | resolved "https://registry.yarnpkg.com/private/-/private-0.1.6.tgz#55c6a976d0f9bafb9924851350fe47b9b5fbb7c1" 2551 | 2552 | process-nextick-args@~1.0.6: 2553 | version "1.0.7" 2554 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" 2555 | 2556 | process@^0.11.0, process@~0.11.0: 2557 | version "0.11.9" 2558 | resolved "https://registry.yarnpkg.com/process/-/process-0.11.9.tgz#7bd5ad21aa6253e7da8682264f1e11d11c0318c1" 2559 | 2560 | prr@~0.0.0: 2561 | version "0.0.0" 2562 | resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a" 2563 | 2564 | punycode@^1.2.4, punycode@^1.4.1: 2565 | version "1.4.1" 2566 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" 2567 | 2568 | punycode@1.3.2: 2569 | version "1.3.2" 2570 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" 2571 | 2572 | qs@~6.3.0: 2573 | version "6.3.0" 2574 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.0.tgz#f403b264f23bc01228c74131b407f18d5ea5d442" 2575 | 2576 | querystring-es3@~0.2.0: 2577 | version "0.2.1" 2578 | resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" 2579 | 2580 | querystring@0.2.0: 2581 | version "0.2.0" 2582 | resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" 2583 | 2584 | ramda: 2585 | version "0.22.1" 2586 | resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.22.1.tgz#031da0c3df417c5b33c96234757eb37033f36a0e" 2587 | 2588 | randomatic@^1.1.3: 2589 | version "1.1.5" 2590 | resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.5.tgz#5e9ef5f2d573c67bd2b8124ae90b5156e457840b" 2591 | dependencies: 2592 | is-number "^2.0.2" 2593 | kind-of "^3.0.2" 2594 | 2595 | rc@~1.1.6: 2596 | version "1.1.6" 2597 | resolved "https://registry.yarnpkg.com/rc/-/rc-1.1.6.tgz#43651b76b6ae53b5c802f1151fa3fc3b059969c9" 2598 | dependencies: 2599 | deep-extend "~0.4.0" 2600 | ini "~1.3.0" 2601 | minimist "^1.2.0" 2602 | strip-json-comments "~1.0.4" 2603 | 2604 | read-pkg-up@^1.0.1: 2605 | version "1.0.1" 2606 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" 2607 | dependencies: 2608 | find-up "^1.0.0" 2609 | read-pkg "^1.0.0" 2610 | 2611 | read-pkg@^1.0.0: 2612 | version "1.1.0" 2613 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" 2614 | dependencies: 2615 | load-json-file "^1.0.0" 2616 | normalize-package-data "^2.3.2" 2617 | path-type "^1.0.0" 2618 | 2619 | readable-stream@^1.0.27-1, readable-stream@^1.1.13: 2620 | version "1.1.14" 2621 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" 2622 | dependencies: 2623 | core-util-is "~1.0.0" 2624 | inherits "~2.0.1" 2625 | isarray "0.0.1" 2626 | string_decoder "~0.10.x" 2627 | 2628 | "readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@~2.1.4: 2629 | version "2.1.5" 2630 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz#66fa8b720e1438b364681f2ad1a63c618448c9d0" 2631 | dependencies: 2632 | buffer-shims "^1.0.0" 2633 | core-util-is "~1.0.0" 2634 | inherits "~2.0.1" 2635 | isarray "~1.0.0" 2636 | process-nextick-args "~1.0.6" 2637 | string_decoder "~0.10.x" 2638 | util-deprecate "~1.0.1" 2639 | 2640 | readdirp@^2.0.0: 2641 | version "2.1.0" 2642 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" 2643 | dependencies: 2644 | graceful-fs "^4.1.2" 2645 | minimatch "^3.0.2" 2646 | readable-stream "^2.0.2" 2647 | set-immediate-shim "^1.0.1" 2648 | 2649 | redeyed@~1.0.0: 2650 | version "1.0.1" 2651 | resolved "https://registry.yarnpkg.com/redeyed/-/redeyed-1.0.1.tgz#e96c193b40c0816b00aec842698e61185e55498a" 2652 | dependencies: 2653 | esprima "~3.0.0" 2654 | 2655 | redux: 2656 | version "3.6.0" 2657 | resolved "https://registry.yarnpkg.com/redux/-/redux-3.6.0.tgz#887c2b3d0b9bd86eca2be70571c27654c19e188d" 2658 | dependencies: 2659 | lodash "^4.2.1" 2660 | lodash-es "^4.2.1" 2661 | loose-envify "^1.1.0" 2662 | symbol-observable "^1.0.2" 2663 | 2664 | regenerate@^1.2.1: 2665 | version "1.3.1" 2666 | resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.1.tgz#0300203a5d2fdcf89116dce84275d011f5903f33" 2667 | 2668 | regenerator-runtime@^0.9.5: 2669 | version "0.9.6" 2670 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.9.6.tgz#d33eb95d0d2001a4be39659707c51b0cb71ce029" 2671 | 2672 | regex-cache@^0.4.2: 2673 | version "0.4.3" 2674 | resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145" 2675 | dependencies: 2676 | is-equal-shallow "^0.1.3" 2677 | is-primitive "^2.0.0" 2678 | 2679 | regexpu-core@^2.0.0: 2680 | version "2.0.0" 2681 | resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" 2682 | dependencies: 2683 | regenerate "^1.2.1" 2684 | regjsgen "^0.2.0" 2685 | regjsparser "^0.1.4" 2686 | 2687 | regjsgen@^0.2.0: 2688 | version "0.2.0" 2689 | resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" 2690 | 2691 | regjsparser@^0.1.4: 2692 | version "0.1.5" 2693 | resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" 2694 | dependencies: 2695 | jsesc "~0.5.0" 2696 | 2697 | repeat-element@^1.1.2: 2698 | version "1.1.2" 2699 | resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" 2700 | 2701 | repeat-string@^1.5.2: 2702 | version "1.6.1" 2703 | resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" 2704 | 2705 | repeating@^2.0.0: 2706 | version "2.0.1" 2707 | resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" 2708 | dependencies: 2709 | is-finite "^1.0.0" 2710 | 2711 | request@^2.55.0, request@^2.75.0: 2712 | version "2.78.0" 2713 | resolved "https://registry.yarnpkg.com/request/-/request-2.78.0.tgz#e1c8dec346e1c81923b24acdb337f11decabe9cc" 2714 | dependencies: 2715 | aws-sign2 "~0.6.0" 2716 | aws4 "^1.2.1" 2717 | caseless "~0.11.0" 2718 | combined-stream "~1.0.5" 2719 | extend "~3.0.0" 2720 | forever-agent "~0.6.1" 2721 | form-data "~2.1.1" 2722 | har-validator "~2.0.6" 2723 | hawk "~3.1.3" 2724 | http-signature "~1.1.0" 2725 | is-typedarray "~1.0.0" 2726 | isstream "~0.1.2" 2727 | json-stringify-safe "~5.0.1" 2728 | mime-types "~2.1.7" 2729 | node-uuid "~1.4.7" 2730 | oauth-sign "~0.8.1" 2731 | qs "~6.3.0" 2732 | stringstream "~0.0.4" 2733 | tough-cookie "~2.3.0" 2734 | tunnel-agent "~0.4.1" 2735 | 2736 | require-directory@^2.1.1: 2737 | version "2.1.1" 2738 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" 2739 | 2740 | require-main-filename@^1.0.1: 2741 | version "1.0.1" 2742 | resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" 2743 | 2744 | resolve@^1.1.6, resolve@1.1.7, resolve@1.1.x: 2745 | version "1.1.7" 2746 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" 2747 | 2748 | right-align@^0.1.1: 2749 | version "0.1.3" 2750 | resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" 2751 | dependencies: 2752 | align-text "^0.1.1" 2753 | 2754 | rimraf@^2.4.3, rimraf@^2.4.4, rimraf@~2.5.1, rimraf@~2.5.4, rimraf@2: 2755 | version "2.5.4" 2756 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04" 2757 | dependencies: 2758 | glob "^7.0.5" 2759 | 2760 | ripemd160@0.2.0: 2761 | version "0.2.0" 2762 | resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-0.2.0.tgz#2bf198bde167cacfa51c0a928e84b68bbe171fce" 2763 | 2764 | sane@~1.4.1: 2765 | version "1.4.1" 2766 | resolved "https://registry.yarnpkg.com/sane/-/sane-1.4.1.tgz#88f763d74040f5f0c256b6163db399bf110ac715" 2767 | dependencies: 2768 | exec-sh "^0.2.0" 2769 | fb-watchman "^1.8.0" 2770 | minimatch "^3.0.2" 2771 | minimist "^1.1.1" 2772 | walker "~1.0.5" 2773 | watch "~0.10.0" 2774 | 2775 | sax@^1.1.4: 2776 | version "1.2.1" 2777 | resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a" 2778 | 2779 | semver@^5.1.0, semver@^5.3.0, semver@~5.3.0, "semver@2 || 3 || 4 || 5": 2780 | version "5.3.0" 2781 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" 2782 | 2783 | set-blocking@^2.0.0, set-blocking@~2.0.0: 2784 | version "2.0.0" 2785 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" 2786 | 2787 | set-immediate-shim@^1.0.1: 2788 | version "1.0.1" 2789 | resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" 2790 | 2791 | sha.js@2.2.6: 2792 | version "2.2.6" 2793 | resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.2.6.tgz#17ddeddc5f722fb66501658895461977867315ba" 2794 | 2795 | shellwords@^0.1.0: 2796 | version "0.1.0" 2797 | resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.0.tgz#66afd47b6a12932d9071cbfd98a52e785cd0ba14" 2798 | 2799 | signal-exit@^3.0.0: 2800 | version "3.0.1" 2801 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.1.tgz#5a4c884992b63a7acd9badb7894c3ee9cfccad81" 2802 | 2803 | slash@^1.0.0: 2804 | version "1.0.0" 2805 | resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" 2806 | 2807 | sntp@1.x.x: 2808 | version "1.0.9" 2809 | resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" 2810 | dependencies: 2811 | hoek "2.x.x" 2812 | 2813 | source-list-map@~0.1.0: 2814 | version "0.1.6" 2815 | resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.6.tgz#e1e6f94f0b40c4d28dcf8f5b8766e0e45636877f" 2816 | 2817 | source-map-support@^0.4.2: 2818 | version "0.4.6" 2819 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.6.tgz#32552aa64b458392a85eab3b0b5ee61527167aeb" 2820 | dependencies: 2821 | source-map "^0.5.3" 2822 | 2823 | source-map@^0.4.4, source-map@~0.4.1: 2824 | version "0.4.4" 2825 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" 2826 | dependencies: 2827 | amdefine ">=0.0.4" 2828 | 2829 | source-map@^0.5.0, source-map@^0.5.3, source-map@~0.5.1: 2830 | version "0.5.6" 2831 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" 2832 | 2833 | source-map@~0.2.0: 2834 | version "0.2.0" 2835 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.2.0.tgz#dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d" 2836 | dependencies: 2837 | amdefine ">=0.0.4" 2838 | 2839 | spdx-correct@~1.0.0: 2840 | version "1.0.2" 2841 | resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" 2842 | dependencies: 2843 | spdx-license-ids "^1.0.2" 2844 | 2845 | spdx-expression-parse@~1.0.0: 2846 | version "1.0.4" 2847 | resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" 2848 | 2849 | spdx-license-ids@^1.0.2: 2850 | version "1.2.2" 2851 | resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" 2852 | 2853 | sprintf-js@~1.0.2: 2854 | version "1.0.3" 2855 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 2856 | 2857 | sshpk@^1.7.0: 2858 | version "1.10.1" 2859 | resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.10.1.tgz#30e1a5d329244974a1af61511339d595af6638b0" 2860 | dependencies: 2861 | asn1 "~0.2.3" 2862 | assert-plus "^1.0.0" 2863 | dashdash "^1.12.0" 2864 | getpass "^0.1.1" 2865 | optionalDependencies: 2866 | bcrypt-pbkdf "^1.0.0" 2867 | ecc-jsbn "~0.1.1" 2868 | jodid25519 "^1.0.0" 2869 | jsbn "~0.1.0" 2870 | tweetnacl "~0.14.0" 2871 | 2872 | stream-browserify@^1.0.0: 2873 | version "1.0.0" 2874 | resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-1.0.0.tgz#bf9b4abfb42b274d751479e44e0ff2656b6f1193" 2875 | dependencies: 2876 | inherits "~2.0.1" 2877 | readable-stream "^1.0.27-1" 2878 | 2879 | string_decoder@~0.10.25, string_decoder@~0.10.x: 2880 | version "0.10.31" 2881 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" 2882 | 2883 | string-width@^1.0.1, string-width@^1.0.2: 2884 | version "1.0.2" 2885 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" 2886 | dependencies: 2887 | code-point-at "^1.0.0" 2888 | is-fullwidth-code-point "^1.0.0" 2889 | strip-ansi "^3.0.0" 2890 | 2891 | string.prototype.codepointat@^0.2.0: 2892 | version "0.2.0" 2893 | resolved "https://registry.yarnpkg.com/string.prototype.codepointat/-/string.prototype.codepointat-0.2.0.tgz#6b26e9bd3afcaa7be3b4269b526de1b82000ac78" 2894 | 2895 | stringstream@~0.0.4: 2896 | version "0.0.5" 2897 | resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" 2898 | 2899 | strip-ansi@^3.0.0, strip-ansi@^3.0.1: 2900 | version "3.0.1" 2901 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 2902 | dependencies: 2903 | ansi-regex "^2.0.0" 2904 | 2905 | strip-bom@^2.0.0: 2906 | version "2.0.0" 2907 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" 2908 | dependencies: 2909 | is-utf8 "^0.2.0" 2910 | 2911 | strip-json-comments@~1.0.4: 2912 | version "1.0.4" 2913 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91" 2914 | 2915 | supports-color@^2.0.0: 2916 | version "2.0.0" 2917 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" 2918 | 2919 | supports-color@^3.1.0, supports-color@^3.1.2: 2920 | version "3.1.2" 2921 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.1.2.tgz#72a262894d9d408b956ca05ff37b2ed8a6e2a2d5" 2922 | dependencies: 2923 | has-flag "^1.0.0" 2924 | 2925 | symbol-observable@^1.0.2: 2926 | version "1.0.4" 2927 | resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.4.tgz#29bf615d4aa7121bdd898b22d4b3f9bc4e2aa03d" 2928 | 2929 | "symbol-tree@>= 3.1.0 < 4.0.0": 2930 | version "3.1.4" 2931 | resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.1.4.tgz#02b279348d337debc39694c5c95f882d448a312a" 2932 | 2933 | tapable@^0.1.8, tapable@~0.1.8: 2934 | version "0.1.10" 2935 | resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.1.10.tgz#29c35707c2b70e50d07482b5d202e8ed446dafd4" 2936 | 2937 | tar-pack@~3.3.0: 2938 | version "3.3.0" 2939 | resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.3.0.tgz#30931816418f55afc4d21775afdd6720cee45dae" 2940 | dependencies: 2941 | debug "~2.2.0" 2942 | fstream "~1.0.10" 2943 | fstream-ignore "~1.0.5" 2944 | once "~1.3.3" 2945 | readable-stream "~2.1.4" 2946 | rimraf "~2.5.1" 2947 | tar "~2.2.1" 2948 | uid-number "~0.0.6" 2949 | 2950 | tar@~2.2.1: 2951 | version "2.2.1" 2952 | resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" 2953 | dependencies: 2954 | block-stream "*" 2955 | fstream "^1.0.2" 2956 | inherits "2" 2957 | 2958 | test-exclude@^2.1.1: 2959 | version "2.1.3" 2960 | resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-2.1.3.tgz#a8d8968e1da83266f9864f2852c55e220f06434a" 2961 | dependencies: 2962 | arrify "^1.0.1" 2963 | micromatch "^2.3.11" 2964 | object-assign "^4.1.0" 2965 | read-pkg-up "^1.0.1" 2966 | require-main-filename "^1.0.1" 2967 | 2968 | testcheck@^0.1.0: 2969 | version "0.1.4" 2970 | resolved "https://registry.yarnpkg.com/testcheck/-/testcheck-0.1.4.tgz#90056edd48d11997702616ce6716f197d8190164" 2971 | 2972 | throat@^3.0.0: 2973 | version "3.0.0" 2974 | resolved "https://registry.yarnpkg.com/throat/-/throat-3.0.0.tgz#e7c64c867cbb3845f10877642f7b60055b8ec0d6" 2975 | 2976 | timers-browserify@^1.0.1: 2977 | version "1.4.2" 2978 | resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-1.4.2.tgz#c9c58b575be8407375cb5e2462dacee74359f41d" 2979 | dependencies: 2980 | process "~0.11.0" 2981 | 2982 | tmpl@1.0.x: 2983 | version "1.0.4" 2984 | resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" 2985 | 2986 | to-fast-properties@^1.0.1: 2987 | version "1.0.2" 2988 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.2.tgz#f3f5c0c3ba7299a7ef99427e44633257ade43320" 2989 | 2990 | tough-cookie@^2.3.1, tough-cookie@~2.3.0: 2991 | version "2.3.2" 2992 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" 2993 | dependencies: 2994 | punycode "^1.4.1" 2995 | 2996 | tr46@~0.0.3: 2997 | version "0.0.3" 2998 | resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" 2999 | 3000 | tty-browserify@0.0.0: 3001 | version "0.0.0" 3002 | resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" 3003 | 3004 | tunnel-agent@~0.4.1: 3005 | version "0.4.3" 3006 | resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" 3007 | 3008 | tweetnacl@^0.14.3, tweetnacl@~0.14.0: 3009 | version "0.14.3" 3010 | resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.3.tgz#3da382f670f25ded78d7b3d1792119bca0b7132d" 3011 | 3012 | type-check@~0.3.2: 3013 | version "0.3.2" 3014 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" 3015 | dependencies: 3016 | prelude-ls "~1.1.2" 3017 | 3018 | uglify-js@^2.6, uglify-js@~2.7.3: 3019 | version "2.7.4" 3020 | resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.7.4.tgz#a295a0de12b6a650c031c40deb0dc40b14568bd2" 3021 | dependencies: 3022 | async "~0.2.6" 3023 | source-map "~0.5.1" 3024 | uglify-to-browserify "~1.0.0" 3025 | yargs "~3.10.0" 3026 | 3027 | uglify-to-browserify@~1.0.0: 3028 | version "1.0.2" 3029 | resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" 3030 | 3031 | uid-number@~0.0.6: 3032 | version "0.0.6" 3033 | resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" 3034 | 3035 | url@~0.10.1: 3036 | version "0.10.3" 3037 | resolved "https://registry.yarnpkg.com/url/-/url-0.10.3.tgz#021e4d9c7705f21bbf37d03ceb58767402774c64" 3038 | dependencies: 3039 | punycode "1.3.2" 3040 | querystring "0.2.0" 3041 | 3042 | user-home@^1.1.1: 3043 | version "1.1.1" 3044 | resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" 3045 | 3046 | util-deprecate@~1.0.1: 3047 | version "1.0.2" 3048 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 3049 | 3050 | util@~0.10.3, util@0.10.3: 3051 | version "0.10.3" 3052 | resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" 3053 | dependencies: 3054 | inherits "2.0.1" 3055 | 3056 | v8flags@^2.0.10: 3057 | version "2.0.11" 3058 | resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.0.11.tgz#bca8f30f0d6d60612cc2c00641e6962d42ae6881" 3059 | dependencies: 3060 | user-home "^1.1.1" 3061 | 3062 | validate-npm-package-license@^3.0.1: 3063 | version "3.0.1" 3064 | resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" 3065 | dependencies: 3066 | spdx-correct "~1.0.0" 3067 | spdx-expression-parse "~1.0.0" 3068 | 3069 | verror@1.3.6: 3070 | version "1.3.6" 3071 | resolved "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c" 3072 | dependencies: 3073 | extsprintf "1.0.2" 3074 | 3075 | vm-browserify@0.0.4: 3076 | version "0.0.4" 3077 | resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" 3078 | dependencies: 3079 | indexof "0.0.1" 3080 | 3081 | walker@~1.0.5: 3082 | version "1.0.7" 3083 | resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" 3084 | dependencies: 3085 | makeerror "1.0.x" 3086 | 3087 | watch@~0.10.0: 3088 | version "0.10.0" 3089 | resolved "https://registry.yarnpkg.com/watch/-/watch-0.10.0.tgz#77798b2da0f9910d595f1ace5b0c2258521f21dc" 3090 | 3091 | watchpack@^0.2.1: 3092 | version "0.2.9" 3093 | resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-0.2.9.tgz#62eaa4ab5e5ba35fdfc018275626e3c0f5e3fb0b" 3094 | dependencies: 3095 | async "^0.9.0" 3096 | chokidar "^1.0.0" 3097 | graceful-fs "^4.1.2" 3098 | 3099 | webidl-conversions@^3.0.0, webidl-conversions@^3.0.1: 3100 | version "3.0.1" 3101 | resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" 3102 | 3103 | webpack: 3104 | version "1.13.3" 3105 | resolved "https://registry.yarnpkg.com/webpack/-/webpack-1.13.3.tgz#e79c46fe5a37c5ca70084ba0894c595cdcb42815" 3106 | dependencies: 3107 | acorn "^3.0.0" 3108 | async "^1.3.0" 3109 | clone "^1.0.2" 3110 | enhanced-resolve "~0.9.0" 3111 | interpret "^0.6.4" 3112 | loader-utils "^0.2.11" 3113 | memory-fs "~0.3.0" 3114 | mkdirp "~0.5.0" 3115 | node-libs-browser "^0.6.0" 3116 | optimist "~0.6.0" 3117 | supports-color "^3.1.0" 3118 | tapable "~0.1.8" 3119 | uglify-js "~2.7.3" 3120 | watchpack "^0.2.1" 3121 | webpack-core "~0.6.0" 3122 | 3123 | webpack-core@~0.6.0: 3124 | version "0.6.8" 3125 | resolved "https://registry.yarnpkg.com/webpack-core/-/webpack-core-0.6.8.tgz#edf9135de00a6a3c26dd0f14b208af0aa4af8d0a" 3126 | dependencies: 3127 | source-list-map "~0.1.0" 3128 | source-map "~0.4.1" 3129 | 3130 | whatwg-encoding@^1.0.1: 3131 | version "1.0.1" 3132 | resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.1.tgz#3c6c451a198ee7aec55b1ec61d0920c67801a5f4" 3133 | dependencies: 3134 | iconv-lite "0.4.13" 3135 | 3136 | whatwg-url@^3.0.0: 3137 | version "3.0.0" 3138 | resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-3.0.0.tgz#b9033c50c7ce763e91d78777ce825a6d7f56dac5" 3139 | dependencies: 3140 | tr46 "~0.0.3" 3141 | webidl-conversions "^3.0.0" 3142 | 3143 | which-module@^1.0.0: 3144 | version "1.0.0" 3145 | resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" 3146 | 3147 | which@^1.0.5, which@^1.1.1: 3148 | version "1.2.11" 3149 | resolved "https://registry.yarnpkg.com/which/-/which-1.2.11.tgz#c8b2eeea6b8c1659fa7c1dd4fdaabe9533dc5e8b" 3150 | dependencies: 3151 | isexe "^1.1.1" 3152 | 3153 | wide-align@^1.1.0: 3154 | version "1.1.0" 3155 | resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.0.tgz#40edde802a71fea1f070da3e62dcda2e7add96ad" 3156 | dependencies: 3157 | string-width "^1.0.1" 3158 | 3159 | window-size@^0.2.0: 3160 | version "0.2.0" 3161 | resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.2.0.tgz#b4315bb4214a3d7058ebeee892e13fa24d98b075" 3162 | 3163 | window-size@0.1.0: 3164 | version "0.1.0" 3165 | resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" 3166 | 3167 | wordwrap@^1.0.0, wordwrap@~1.0.0: 3168 | version "1.0.0" 3169 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" 3170 | 3171 | wordwrap@~0.0.2: 3172 | version "0.0.3" 3173 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" 3174 | 3175 | wordwrap@0.0.2: 3176 | version "0.0.2" 3177 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" 3178 | 3179 | worker-farm@^1.3.1: 3180 | version "1.3.1" 3181 | resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.3.1.tgz#4333112bb49b17aa050b87895ca6b2cacf40e5ff" 3182 | dependencies: 3183 | errno ">=0.1.1 <0.2.0-0" 3184 | xtend ">=4.0.0 <4.1.0-0" 3185 | 3186 | wrap-ansi@^2.0.0: 3187 | version "2.0.0" 3188 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.0.0.tgz#7d30f8f873f9a5bbc3a64dabc8d177e071ae426f" 3189 | dependencies: 3190 | string-width "^1.0.1" 3191 | 3192 | wrappy@1: 3193 | version "1.0.2" 3194 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 3195 | 3196 | "xml-name-validator@>= 2.0.1 < 3.0.0": 3197 | version "2.0.1" 3198 | resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-2.0.1.tgz#4d8b8f1eccd3419aa362061becef515e1e559635" 3199 | 3200 | xtend@^4.0.0, "xtend@>=4.0.0 <4.1.0-0": 3201 | version "4.0.1" 3202 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" 3203 | 3204 | y18n@^3.2.1: 3205 | version "3.2.1" 3206 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" 3207 | 3208 | yargs-parser@^4.0.2: 3209 | version "4.1.0" 3210 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.1.0.tgz#313df030f20124124aeae8fbab2da53ec28c56d7" 3211 | dependencies: 3212 | camelcase "^3.0.0" 3213 | 3214 | yargs@^6.3.0: 3215 | version "6.3.0" 3216 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.3.0.tgz#19c6dbb768744d571eb6ebae0c174cf2f71b188d" 3217 | dependencies: 3218 | camelcase "^3.0.0" 3219 | cliui "^3.2.0" 3220 | decamelize "^1.1.1" 3221 | get-caller-file "^1.0.1" 3222 | os-locale "^1.4.0" 3223 | read-pkg-up "^1.0.1" 3224 | require-directory "^2.1.1" 3225 | require-main-filename "^1.0.1" 3226 | set-blocking "^2.0.0" 3227 | string-width "^1.0.2" 3228 | which-module "^1.0.0" 3229 | window-size "^0.2.0" 3230 | y18n "^3.2.1" 3231 | yargs-parser "^4.0.2" 3232 | 3233 | yargs@~3.10.0: 3234 | version "3.10.0" 3235 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" 3236 | dependencies: 3237 | camelcase "^1.0.2" 3238 | cliui "^2.1.0" 3239 | decamelize "^1.0.0" 3240 | window-size "0.1.0" 3241 | 3242 | --------------------------------------------------------------------------------