├── .gitignore ├── README.md ├── example ├── .gitignore ├── package.json ├── public │ └── index.html ├── src │ └── index.js └── yarn.lock ├── index.js ├── package.json └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # react-dispatcher-decorator 2 | 3 | ``` 4 | npm install react-dispatcher-decorator --save 5 | ``` 6 | 7 | ## Concept 8 | 9 | dispatch/subscribe by background event-emitter given by React context feature. 10 | 11 | ## Requirement 12 | 13 | - https://www.npmjs.com/package/babel-plugin-transform-decorators-legacy if you use babel 14 | - `Object.assign` native or polyfill 15 | 16 | ## Example 17 | 18 | ```js 19 | import React from "react"; 20 | import {dispatcher, subscriber} from "react-dispatcher-decorator"; 21 | 22 | // This component subscribes events from child components by context 23 | @subscriber((self, subscribe) => { 24 | subscribe('foo', (prop) => { 25 | console.log('foo received on', prop); 26 | // self.setState({...}) 27 | }); 28 | }) 29 | class App extends React.Component { 30 | render() { 31 | return 32 | } 33 | } 34 | 35 | // This component has this.context.dispatch and it will dispatch to parent subscriber 36 | @dispatcher 37 | class Child extends React.Component { 38 | render() { 39 | return 40 | } 41 | } 42 | 43 | 44 | import ReactDOM from "react-dom"; 45 | const el = document.querySelector(".main"); 46 | ReactDOM.render(, el); 47 | ``` 48 | 49 | # v0.2.0 50 | 51 | - Added FSA style. `dispatch` and `subscribe` can take 1 object. 52 | 53 | https://github.com/acdlite/flux-standard-action 54 | 55 | ```js 56 | // In dispatcher 57 | this.context.dispatch({type: 'bar'}) 58 | 59 | // In subscriber 60 | subscribe(action => { 61 | switch (action.type) { 62 | case 'bar': 63 | console.log('on bar') 64 | break; 65 | } 66 | }); 67 | ``` 68 | 69 | This makes easy to add flowtype/typescript annotations and it can migrate with other flux. 70 | 71 | ## license 72 | 73 | MIT 74 | -------------------------------------------------------------------------------- /example/.gitignore: -------------------------------------------------------------------------------- 1 | ### https://raw.github.com/github/gitignore/d866fb556184cc1edffd9d0f1ca205fe1916a7f6/Node.gitignore 2 | 3 | # Logs 4 | logs 5 | *.log 6 | 7 | # Runtime data 8 | pids 9 | *.pid 10 | *.seed 11 | 12 | # Directory for instrumented libs generated by jscoverage/JSCover 13 | lib-cov 14 | 15 | # Coverage directory used by tools like istanbul 16 | coverage 17 | 18 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 19 | .grunt 20 | 21 | # node-waf configuration 22 | .lock-wscript 23 | 24 | # Compiled binary addons (http://nodejs.org/api/addons.html) 25 | build/Release 26 | 27 | # Dependency directory 28 | # https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git- 29 | node_modules 30 | 31 | 32 | ### https://raw.github.com/github/gitignore/d866fb556184cc1edffd9d0f1ca205fe1916a7f6/Global/OSX.gitignore 33 | 34 | .DS_Store 35 | .AppleDouble 36 | .LSOverride 37 | 38 | # Icon must end with two \r 39 | Icon 40 | 41 | # Thumbnails 42 | ._* 43 | 44 | # Files that might appear on external disk 45 | .Spotlight-V100 46 | .Trashes 47 | 48 | # Directories potentially created on remote AFP share 49 | .AppleDB 50 | .AppleDesktop 51 | Network Trash Folder 52 | Temporary Items 53 | .apdisk 54 | 55 | 56 | public/bundle.js 57 | -------------------------------------------------------------------------------- /example/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "dispatchable-container-example", 3 | "version": "1.1.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "build": "browserify -t babelify src/index.js -o public/bundle.js", 8 | "test": "echo \"Error: no test specified\" && exit 1" 9 | }, 10 | "keywords": [], 11 | "author": "mizchi", 12 | "license": "MIT", 13 | "devDependencies": { 14 | "babel-plugin-transform-decorators-legacy": "^1.3.4", 15 | "babel-preset-latest": "^6.24.0", 16 | "babel-preset-react": "^6.23.0", 17 | "babelify": "^7.3.0", 18 | "browserify": "^14.1.0", 19 | "react": "^15.4.2", 20 | "react-dom": "^15.4.2" 21 | }, 22 | "babel": { 23 | "presets": [ 24 | "react", 25 | "latest" 26 | ], 27 | "plugins": [ 28 | "transform-decorators-legacy" 29 | ] 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /example/public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | app 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /example/src/index.js: -------------------------------------------------------------------------------- 1 | import ReactDOM from "react-dom"; 2 | import React from "react"; 3 | const el = document.querySelector(".main"); 4 | import {dispatcher, subscriber} from "../../index"; 5 | 6 | @dispatcher 7 | class Child extends React.Component { 8 | onClick() { 9 | this.context.dispatch('foo'); 10 | } 11 | 12 | render() { 13 | return
14 | 15 |
16 | 17 |
18 |
19 | } 20 | } 21 | 22 | @subscriber((self, subscribe) => { 23 | // Emitter style 24 | subscribe('foo', () => { 25 | console.log('foo received on', self); 26 | self.forceUpdate(); 27 | }); 28 | 29 | // FSA style 30 | subscribe(action => { 31 | switch (action.type) { 32 | case 'bar': 33 | console.log('bar received on', self); 34 | self.forceUpdate(); 35 | } 36 | }); 37 | }) 38 | class App extends React.Component { 39 | render() { 40 | return 41 | } 42 | } 43 | 44 | ReactDOM.render(, el) 45 | -------------------------------------------------------------------------------- /example/yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | JSONStream@^1.0.3: 6 | version "1.3.1" 7 | resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.1.tgz#707f761e01dae9e16f1bcf93703b78c70966579a" 8 | dependencies: 9 | jsonparse "^1.2.0" 10 | through ">=2.2.7 <3" 11 | 12 | acorn@^4.0.3: 13 | version "4.0.11" 14 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.11.tgz#edcda3bd937e7556410d42ed5860f67399c794c0" 15 | 16 | ansi-regex@^2.0.0: 17 | version "2.1.1" 18 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" 19 | 20 | ansi-styles@^2.2.1: 21 | version "2.2.1" 22 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" 23 | 24 | array-filter@~0.0.0: 25 | version "0.0.1" 26 | resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-0.0.1.tgz#7da8cf2e26628ed732803581fd21f67cacd2eeec" 27 | 28 | array-map@~0.0.0: 29 | version "0.0.0" 30 | resolved "https://registry.yarnpkg.com/array-map/-/array-map-0.0.0.tgz#88a2bab73d1cf7bcd5c1b118a003f66f665fa662" 31 | 32 | array-reduce@~0.0.0: 33 | version "0.0.0" 34 | resolved "https://registry.yarnpkg.com/array-reduce/-/array-reduce-0.0.0.tgz#173899d3ffd1c7d9383e4479525dbe278cab5f2b" 35 | 36 | asap@~2.0.3: 37 | version "2.0.5" 38 | resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.5.tgz#522765b50c3510490e52d7dcfe085ef9ba96958f" 39 | 40 | asn1.js@^4.0.0: 41 | version "4.9.1" 42 | resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.9.1.tgz#48ba240b45a9280e94748990ba597d216617fd40" 43 | dependencies: 44 | bn.js "^4.0.0" 45 | inherits "^2.0.1" 46 | minimalistic-assert "^1.0.0" 47 | 48 | assert@^1.4.0: 49 | version "1.4.1" 50 | resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" 51 | dependencies: 52 | util "0.10.3" 53 | 54 | astw@^2.0.0: 55 | version "2.2.0" 56 | resolved "https://registry.yarnpkg.com/astw/-/astw-2.2.0.tgz#7bd41784d32493987aeb239b6b4e1c57a873b917" 57 | dependencies: 58 | acorn "^4.0.3" 59 | 60 | babel-code-frame@^6.22.0: 61 | version "6.22.0" 62 | resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4" 63 | dependencies: 64 | chalk "^1.1.0" 65 | esutils "^2.0.2" 66 | js-tokens "^3.0.0" 67 | 68 | babel-core@^6.0.14, babel-core@^6.24.0: 69 | version "6.24.0" 70 | resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.24.0.tgz#8f36a0a77f5c155aed6f920b844d23ba56742a02" 71 | dependencies: 72 | babel-code-frame "^6.22.0" 73 | babel-generator "^6.24.0" 74 | babel-helpers "^6.23.0" 75 | babel-messages "^6.23.0" 76 | babel-register "^6.24.0" 77 | babel-runtime "^6.22.0" 78 | babel-template "^6.23.0" 79 | babel-traverse "^6.23.1" 80 | babel-types "^6.23.0" 81 | babylon "^6.11.0" 82 | convert-source-map "^1.1.0" 83 | debug "^2.1.1" 84 | json5 "^0.5.0" 85 | lodash "^4.2.0" 86 | minimatch "^3.0.2" 87 | path-is-absolute "^1.0.0" 88 | private "^0.1.6" 89 | slash "^1.0.0" 90 | source-map "^0.5.0" 91 | 92 | babel-generator@^6.24.0: 93 | version "6.24.0" 94 | resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.24.0.tgz#eba270a8cc4ce6e09a61be43465d7c62c1f87c56" 95 | dependencies: 96 | babel-messages "^6.23.0" 97 | babel-runtime "^6.22.0" 98 | babel-types "^6.23.0" 99 | detect-indent "^4.0.0" 100 | jsesc "^1.3.0" 101 | lodash "^4.2.0" 102 | source-map "^0.5.0" 103 | trim-right "^1.0.1" 104 | 105 | babel-helper-builder-binary-assignment-operator-visitor@^6.22.0: 106 | version "6.22.0" 107 | resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.22.0.tgz#29df56be144d81bdeac08262bfa41d2c5e91cdcd" 108 | dependencies: 109 | babel-helper-explode-assignable-expression "^6.22.0" 110 | babel-runtime "^6.22.0" 111 | babel-types "^6.22.0" 112 | 113 | babel-helper-builder-react-jsx@^6.23.0: 114 | version "6.23.0" 115 | resolved "https://registry.yarnpkg.com/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.23.0.tgz#d53fc8c996e0bc56d0de0fc4cc55a7138395ea4b" 116 | dependencies: 117 | babel-runtime "^6.22.0" 118 | babel-types "^6.23.0" 119 | esutils "^2.0.0" 120 | lodash "^4.2.0" 121 | 122 | babel-helper-call-delegate@^6.22.0: 123 | version "6.22.0" 124 | resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.22.0.tgz#119921b56120f17e9dae3f74b4f5cc7bcc1b37ef" 125 | dependencies: 126 | babel-helper-hoist-variables "^6.22.0" 127 | babel-runtime "^6.22.0" 128 | babel-traverse "^6.22.0" 129 | babel-types "^6.22.0" 130 | 131 | babel-helper-define-map@^6.23.0: 132 | version "6.23.0" 133 | resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.23.0.tgz#1444f960c9691d69a2ced6a205315f8fd00804e7" 134 | dependencies: 135 | babel-helper-function-name "^6.23.0" 136 | babel-runtime "^6.22.0" 137 | babel-types "^6.23.0" 138 | lodash "^4.2.0" 139 | 140 | babel-helper-explode-assignable-expression@^6.22.0: 141 | version "6.22.0" 142 | resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.22.0.tgz#c97bf76eed3e0bae4048121f2b9dae1a4e7d0478" 143 | dependencies: 144 | babel-runtime "^6.22.0" 145 | babel-traverse "^6.22.0" 146 | babel-types "^6.22.0" 147 | 148 | babel-helper-function-name@^6.22.0, babel-helper-function-name@^6.23.0: 149 | version "6.23.0" 150 | resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.23.0.tgz#25742d67175c8903dbe4b6cb9d9e1fcb8dcf23a6" 151 | dependencies: 152 | babel-helper-get-function-arity "^6.22.0" 153 | babel-runtime "^6.22.0" 154 | babel-template "^6.23.0" 155 | babel-traverse "^6.23.0" 156 | babel-types "^6.23.0" 157 | 158 | babel-helper-get-function-arity@^6.22.0: 159 | version "6.22.0" 160 | resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.22.0.tgz#0beb464ad69dc7347410ac6ade9f03a50634f5ce" 161 | dependencies: 162 | babel-runtime "^6.22.0" 163 | babel-types "^6.22.0" 164 | 165 | babel-helper-hoist-variables@^6.22.0: 166 | version "6.22.0" 167 | resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.22.0.tgz#3eacbf731d80705845dd2e9718f600cfb9b4ba72" 168 | dependencies: 169 | babel-runtime "^6.22.0" 170 | babel-types "^6.22.0" 171 | 172 | babel-helper-optimise-call-expression@^6.23.0: 173 | version "6.23.0" 174 | resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.23.0.tgz#f3ee7eed355b4282138b33d02b78369e470622f5" 175 | dependencies: 176 | babel-runtime "^6.22.0" 177 | babel-types "^6.23.0" 178 | 179 | babel-helper-regex@^6.22.0: 180 | version "6.22.0" 181 | resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.22.0.tgz#79f532be1647b1f0ee3474b5f5c3da58001d247d" 182 | dependencies: 183 | babel-runtime "^6.22.0" 184 | babel-types "^6.22.0" 185 | lodash "^4.2.0" 186 | 187 | babel-helper-remap-async-to-generator@^6.22.0: 188 | version "6.22.0" 189 | resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.22.0.tgz#2186ae73278ed03b8b15ced089609da981053383" 190 | dependencies: 191 | babel-helper-function-name "^6.22.0" 192 | babel-runtime "^6.22.0" 193 | babel-template "^6.22.0" 194 | babel-traverse "^6.22.0" 195 | babel-types "^6.22.0" 196 | 197 | babel-helper-replace-supers@^6.22.0, babel-helper-replace-supers@^6.23.0: 198 | version "6.23.0" 199 | resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.23.0.tgz#eeaf8ad9b58ec4337ca94223bacdca1f8d9b4bfd" 200 | dependencies: 201 | babel-helper-optimise-call-expression "^6.23.0" 202 | babel-messages "^6.23.0" 203 | babel-runtime "^6.22.0" 204 | babel-template "^6.23.0" 205 | babel-traverse "^6.23.0" 206 | babel-types "^6.23.0" 207 | 208 | babel-helpers@^6.23.0: 209 | version "6.23.0" 210 | resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.23.0.tgz#4f8f2e092d0b6a8808a4bde79c27f1e2ecf0d992" 211 | dependencies: 212 | babel-runtime "^6.22.0" 213 | babel-template "^6.23.0" 214 | 215 | babel-messages@^6.23.0: 216 | version "6.23.0" 217 | resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" 218 | dependencies: 219 | babel-runtime "^6.22.0" 220 | 221 | babel-plugin-check-es2015-constants@^6.22.0: 222 | version "6.22.0" 223 | resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a" 224 | dependencies: 225 | babel-runtime "^6.22.0" 226 | 227 | babel-plugin-syntax-async-functions@^6.8.0: 228 | version "6.13.0" 229 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" 230 | 231 | babel-plugin-syntax-decorators@^6.1.18: 232 | version "6.13.0" 233 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz#312563b4dbde3cc806cee3e416cceeaddd11ac0b" 234 | 235 | babel-plugin-syntax-exponentiation-operator@^6.8.0: 236 | version "6.13.0" 237 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de" 238 | 239 | babel-plugin-syntax-flow@^6.18.0: 240 | version "6.18.0" 241 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz#4c3ab20a2af26aa20cd25995c398c4eb70310c8d" 242 | 243 | babel-plugin-syntax-jsx@^6.3.13, babel-plugin-syntax-jsx@^6.8.0: 244 | version "6.18.0" 245 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946" 246 | 247 | babel-plugin-syntax-trailing-function-commas@^6.22.0: 248 | version "6.22.0" 249 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3" 250 | 251 | babel-plugin-transform-async-to-generator@^6.22.0: 252 | version "6.22.0" 253 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.22.0.tgz#194b6938ec195ad36efc4c33a971acf00d8cd35e" 254 | dependencies: 255 | babel-helper-remap-async-to-generator "^6.22.0" 256 | babel-plugin-syntax-async-functions "^6.8.0" 257 | babel-runtime "^6.22.0" 258 | 259 | babel-plugin-transform-decorators-legacy@^1.3.4: 260 | version "1.3.4" 261 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-decorators-legacy/-/babel-plugin-transform-decorators-legacy-1.3.4.tgz#741b58f6c5bce9e6027e0882d9c994f04f366925" 262 | dependencies: 263 | babel-plugin-syntax-decorators "^6.1.18" 264 | babel-runtime "^6.2.0" 265 | babel-template "^6.3.0" 266 | 267 | babel-plugin-transform-es2015-arrow-functions@^6.22.0: 268 | version "6.22.0" 269 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221" 270 | dependencies: 271 | babel-runtime "^6.22.0" 272 | 273 | babel-plugin-transform-es2015-block-scoped-functions@^6.22.0: 274 | version "6.22.0" 275 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141" 276 | dependencies: 277 | babel-runtime "^6.22.0" 278 | 279 | babel-plugin-transform-es2015-block-scoping@^6.22.0: 280 | version "6.23.0" 281 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.23.0.tgz#e48895cf0b375be148cd7c8879b422707a053b51" 282 | dependencies: 283 | babel-runtime "^6.22.0" 284 | babel-template "^6.23.0" 285 | babel-traverse "^6.23.0" 286 | babel-types "^6.23.0" 287 | lodash "^4.2.0" 288 | 289 | babel-plugin-transform-es2015-classes@^6.22.0: 290 | version "6.23.0" 291 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.23.0.tgz#49b53f326202a2fd1b3bbaa5e2edd8a4f78643c1" 292 | dependencies: 293 | babel-helper-define-map "^6.23.0" 294 | babel-helper-function-name "^6.23.0" 295 | babel-helper-optimise-call-expression "^6.23.0" 296 | babel-helper-replace-supers "^6.23.0" 297 | babel-messages "^6.23.0" 298 | babel-runtime "^6.22.0" 299 | babel-template "^6.23.0" 300 | babel-traverse "^6.23.0" 301 | babel-types "^6.23.0" 302 | 303 | babel-plugin-transform-es2015-computed-properties@^6.22.0: 304 | version "6.22.0" 305 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.22.0.tgz#7c383e9629bba4820c11b0425bdd6290f7f057e7" 306 | dependencies: 307 | babel-runtime "^6.22.0" 308 | babel-template "^6.22.0" 309 | 310 | babel-plugin-transform-es2015-destructuring@^6.22.0: 311 | version "6.23.0" 312 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d" 313 | dependencies: 314 | babel-runtime "^6.22.0" 315 | 316 | babel-plugin-transform-es2015-duplicate-keys@^6.22.0: 317 | version "6.22.0" 318 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.22.0.tgz#672397031c21610d72dd2bbb0ba9fb6277e1c36b" 319 | dependencies: 320 | babel-runtime "^6.22.0" 321 | babel-types "^6.22.0" 322 | 323 | babel-plugin-transform-es2015-for-of@^6.22.0: 324 | version "6.23.0" 325 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691" 326 | dependencies: 327 | babel-runtime "^6.22.0" 328 | 329 | babel-plugin-transform-es2015-function-name@^6.22.0: 330 | version "6.22.0" 331 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.22.0.tgz#f5fcc8b09093f9a23c76ac3d9e392c3ec4b77104" 332 | dependencies: 333 | babel-helper-function-name "^6.22.0" 334 | babel-runtime "^6.22.0" 335 | babel-types "^6.22.0" 336 | 337 | babel-plugin-transform-es2015-literals@^6.22.0: 338 | version "6.22.0" 339 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e" 340 | dependencies: 341 | babel-runtime "^6.22.0" 342 | 343 | babel-plugin-transform-es2015-modules-amd@^6.24.0: 344 | version "6.24.0" 345 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.0.tgz#a1911fb9b7ec7e05a43a63c5995007557bcf6a2e" 346 | dependencies: 347 | babel-plugin-transform-es2015-modules-commonjs "^6.24.0" 348 | babel-runtime "^6.22.0" 349 | babel-template "^6.22.0" 350 | 351 | babel-plugin-transform-es2015-modules-commonjs@^6.24.0: 352 | version "6.24.0" 353 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.24.0.tgz#e921aefb72c2cc26cb03d107626156413222134f" 354 | dependencies: 355 | babel-plugin-transform-strict-mode "^6.22.0" 356 | babel-runtime "^6.22.0" 357 | babel-template "^6.23.0" 358 | babel-types "^6.23.0" 359 | 360 | babel-plugin-transform-es2015-modules-systemjs@^6.22.0: 361 | version "6.23.0" 362 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.23.0.tgz#ae3469227ffac39b0310d90fec73bfdc4f6317b0" 363 | dependencies: 364 | babel-helper-hoist-variables "^6.22.0" 365 | babel-runtime "^6.22.0" 366 | babel-template "^6.23.0" 367 | 368 | babel-plugin-transform-es2015-modules-umd@^6.24.0: 369 | version "6.24.0" 370 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.0.tgz#fd5fa63521cae8d273927c3958afd7c067733450" 371 | dependencies: 372 | babel-plugin-transform-es2015-modules-amd "^6.24.0" 373 | babel-runtime "^6.22.0" 374 | babel-template "^6.23.0" 375 | 376 | babel-plugin-transform-es2015-object-super@^6.22.0: 377 | version "6.22.0" 378 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.22.0.tgz#daa60e114a042ea769dd53fe528fc82311eb98fc" 379 | dependencies: 380 | babel-helper-replace-supers "^6.22.0" 381 | babel-runtime "^6.22.0" 382 | 383 | babel-plugin-transform-es2015-parameters@^6.22.0: 384 | version "6.23.0" 385 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.23.0.tgz#3a2aabb70c8af945d5ce386f1a4250625a83ae3b" 386 | dependencies: 387 | babel-helper-call-delegate "^6.22.0" 388 | babel-helper-get-function-arity "^6.22.0" 389 | babel-runtime "^6.22.0" 390 | babel-template "^6.23.0" 391 | babel-traverse "^6.23.0" 392 | babel-types "^6.23.0" 393 | 394 | babel-plugin-transform-es2015-shorthand-properties@^6.22.0: 395 | version "6.22.0" 396 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.22.0.tgz#8ba776e0affaa60bff21e921403b8a652a2ff723" 397 | dependencies: 398 | babel-runtime "^6.22.0" 399 | babel-types "^6.22.0" 400 | 401 | babel-plugin-transform-es2015-spread@^6.22.0: 402 | version "6.22.0" 403 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1" 404 | dependencies: 405 | babel-runtime "^6.22.0" 406 | 407 | babel-plugin-transform-es2015-sticky-regex@^6.22.0: 408 | version "6.22.0" 409 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.22.0.tgz#ab316829e866ee3f4b9eb96939757d19a5bc4593" 410 | dependencies: 411 | babel-helper-regex "^6.22.0" 412 | babel-runtime "^6.22.0" 413 | babel-types "^6.22.0" 414 | 415 | babel-plugin-transform-es2015-template-literals@^6.22.0: 416 | version "6.22.0" 417 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d" 418 | dependencies: 419 | babel-runtime "^6.22.0" 420 | 421 | babel-plugin-transform-es2015-typeof-symbol@^6.22.0: 422 | version "6.23.0" 423 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372" 424 | dependencies: 425 | babel-runtime "^6.22.0" 426 | 427 | babel-plugin-transform-es2015-unicode-regex@^6.22.0: 428 | version "6.22.0" 429 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.22.0.tgz#8d9cc27e7ee1decfe65454fb986452a04a613d20" 430 | dependencies: 431 | babel-helper-regex "^6.22.0" 432 | babel-runtime "^6.22.0" 433 | regexpu-core "^2.0.0" 434 | 435 | babel-plugin-transform-exponentiation-operator@^6.22.0: 436 | version "6.22.0" 437 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.22.0.tgz#d57c8335281918e54ef053118ce6eb108468084d" 438 | dependencies: 439 | babel-helper-builder-binary-assignment-operator-visitor "^6.22.0" 440 | babel-plugin-syntax-exponentiation-operator "^6.8.0" 441 | babel-runtime "^6.22.0" 442 | 443 | babel-plugin-transform-flow-strip-types@^6.22.0: 444 | version "6.22.0" 445 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz#84cb672935d43714fdc32bce84568d87441cf7cf" 446 | dependencies: 447 | babel-plugin-syntax-flow "^6.18.0" 448 | babel-runtime "^6.22.0" 449 | 450 | babel-plugin-transform-react-display-name@^6.23.0: 451 | version "6.23.0" 452 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.23.0.tgz#4398910c358441dc4cef18787264d0412ed36b37" 453 | dependencies: 454 | babel-runtime "^6.22.0" 455 | 456 | babel-plugin-transform-react-jsx-self@^6.22.0: 457 | version "6.22.0" 458 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz#df6d80a9da2612a121e6ddd7558bcbecf06e636e" 459 | dependencies: 460 | babel-plugin-syntax-jsx "^6.8.0" 461 | babel-runtime "^6.22.0" 462 | 463 | babel-plugin-transform-react-jsx-source@^6.22.0: 464 | version "6.22.0" 465 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz#66ac12153f5cd2d17b3c19268f4bf0197f44ecd6" 466 | dependencies: 467 | babel-plugin-syntax-jsx "^6.8.0" 468 | babel-runtime "^6.22.0" 469 | 470 | babel-plugin-transform-react-jsx@^6.23.0: 471 | version "6.23.0" 472 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.23.0.tgz#23e892f7f2e759678eb5e4446a8f8e94e81b3470" 473 | dependencies: 474 | babel-helper-builder-react-jsx "^6.23.0" 475 | babel-plugin-syntax-jsx "^6.8.0" 476 | babel-runtime "^6.22.0" 477 | 478 | babel-plugin-transform-regenerator@^6.22.0: 479 | version "6.22.0" 480 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.22.0.tgz#65740593a319c44522157538d690b84094617ea6" 481 | dependencies: 482 | regenerator-transform "0.9.8" 483 | 484 | babel-plugin-transform-strict-mode@^6.22.0: 485 | version "6.22.0" 486 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.22.0.tgz#e008df01340fdc87e959da65991b7e05970c8c7c" 487 | dependencies: 488 | babel-runtime "^6.22.0" 489 | babel-types "^6.22.0" 490 | 491 | babel-preset-es2015@^6.24.0: 492 | version "6.24.0" 493 | resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.24.0.tgz#c162d68b1932696e036cd3110dc1ccd303d2673a" 494 | dependencies: 495 | babel-plugin-check-es2015-constants "^6.22.0" 496 | babel-plugin-transform-es2015-arrow-functions "^6.22.0" 497 | babel-plugin-transform-es2015-block-scoped-functions "^6.22.0" 498 | babel-plugin-transform-es2015-block-scoping "^6.22.0" 499 | babel-plugin-transform-es2015-classes "^6.22.0" 500 | babel-plugin-transform-es2015-computed-properties "^6.22.0" 501 | babel-plugin-transform-es2015-destructuring "^6.22.0" 502 | babel-plugin-transform-es2015-duplicate-keys "^6.22.0" 503 | babel-plugin-transform-es2015-for-of "^6.22.0" 504 | babel-plugin-transform-es2015-function-name "^6.22.0" 505 | babel-plugin-transform-es2015-literals "^6.22.0" 506 | babel-plugin-transform-es2015-modules-amd "^6.24.0" 507 | babel-plugin-transform-es2015-modules-commonjs "^6.24.0" 508 | babel-plugin-transform-es2015-modules-systemjs "^6.22.0" 509 | babel-plugin-transform-es2015-modules-umd "^6.24.0" 510 | babel-plugin-transform-es2015-object-super "^6.22.0" 511 | babel-plugin-transform-es2015-parameters "^6.22.0" 512 | babel-plugin-transform-es2015-shorthand-properties "^6.22.0" 513 | babel-plugin-transform-es2015-spread "^6.22.0" 514 | babel-plugin-transform-es2015-sticky-regex "^6.22.0" 515 | babel-plugin-transform-es2015-template-literals "^6.22.0" 516 | babel-plugin-transform-es2015-typeof-symbol "^6.22.0" 517 | babel-plugin-transform-es2015-unicode-regex "^6.22.0" 518 | babel-plugin-transform-regenerator "^6.22.0" 519 | 520 | babel-preset-es2016@^6.22.0: 521 | version "6.22.0" 522 | resolved "https://registry.yarnpkg.com/babel-preset-es2016/-/babel-preset-es2016-6.22.0.tgz#b061aaa3983d40c9fbacfa3743b5df37f336156c" 523 | dependencies: 524 | babel-plugin-transform-exponentiation-operator "^6.22.0" 525 | 526 | babel-preset-es2017@^6.22.0: 527 | version "6.22.0" 528 | resolved "https://registry.yarnpkg.com/babel-preset-es2017/-/babel-preset-es2017-6.22.0.tgz#de2f9da5a30c50d293fb54a0ba15d6ddc573f0f2" 529 | dependencies: 530 | babel-plugin-syntax-trailing-function-commas "^6.22.0" 531 | babel-plugin-transform-async-to-generator "^6.22.0" 532 | 533 | babel-preset-flow@^6.23.0: 534 | version "6.23.0" 535 | resolved "https://registry.yarnpkg.com/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz#e71218887085ae9a24b5be4169affb599816c49d" 536 | dependencies: 537 | babel-plugin-transform-flow-strip-types "^6.22.0" 538 | 539 | babel-preset-latest@^6.24.0: 540 | version "6.24.0" 541 | resolved "https://registry.yarnpkg.com/babel-preset-latest/-/babel-preset-latest-6.24.0.tgz#a68d20f509edcc5d7433a48dfaebf7e4f2cd4cb7" 542 | dependencies: 543 | babel-preset-es2015 "^6.24.0" 544 | babel-preset-es2016 "^6.22.0" 545 | babel-preset-es2017 "^6.22.0" 546 | 547 | babel-preset-react@^6.23.0: 548 | version "6.23.0" 549 | resolved "https://registry.yarnpkg.com/babel-preset-react/-/babel-preset-react-6.23.0.tgz#eb7cee4de98a3f94502c28565332da9819455195" 550 | dependencies: 551 | babel-plugin-syntax-jsx "^6.3.13" 552 | babel-plugin-transform-react-display-name "^6.23.0" 553 | babel-plugin-transform-react-jsx "^6.23.0" 554 | babel-plugin-transform-react-jsx-self "^6.22.0" 555 | babel-plugin-transform-react-jsx-source "^6.22.0" 556 | babel-preset-flow "^6.23.0" 557 | 558 | babel-register@^6.24.0: 559 | version "6.24.0" 560 | resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.24.0.tgz#5e89f8463ba9970356d02eb07dabe3308b080cfd" 561 | dependencies: 562 | babel-core "^6.24.0" 563 | babel-runtime "^6.22.0" 564 | core-js "^2.4.0" 565 | home-or-tmp "^2.0.0" 566 | lodash "^4.2.0" 567 | mkdirp "^0.5.1" 568 | source-map-support "^0.4.2" 569 | 570 | babel-runtime@^6.18.0, babel-runtime@^6.2.0, babel-runtime@^6.22.0: 571 | version "6.23.0" 572 | resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.23.0.tgz#0a9489f144de70efb3ce4300accdb329e2fc543b" 573 | dependencies: 574 | core-js "^2.4.0" 575 | regenerator-runtime "^0.10.0" 576 | 577 | babel-template@^6.22.0, babel-template@^6.23.0, babel-template@^6.3.0: 578 | version "6.23.0" 579 | resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.23.0.tgz#04d4f270adbb3aa704a8143ae26faa529238e638" 580 | dependencies: 581 | babel-runtime "^6.22.0" 582 | babel-traverse "^6.23.0" 583 | babel-types "^6.23.0" 584 | babylon "^6.11.0" 585 | lodash "^4.2.0" 586 | 587 | babel-traverse@^6.22.0, babel-traverse@^6.23.0, babel-traverse@^6.23.1: 588 | version "6.23.1" 589 | resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.23.1.tgz#d3cb59010ecd06a97d81310065f966b699e14f48" 590 | dependencies: 591 | babel-code-frame "^6.22.0" 592 | babel-messages "^6.23.0" 593 | babel-runtime "^6.22.0" 594 | babel-types "^6.23.0" 595 | babylon "^6.15.0" 596 | debug "^2.2.0" 597 | globals "^9.0.0" 598 | invariant "^2.2.0" 599 | lodash "^4.2.0" 600 | 601 | babel-types@^6.19.0, babel-types@^6.22.0, babel-types@^6.23.0: 602 | version "6.23.0" 603 | resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.23.0.tgz#bb17179d7538bad38cd0c9e115d340f77e7e9acf" 604 | dependencies: 605 | babel-runtime "^6.22.0" 606 | esutils "^2.0.2" 607 | lodash "^4.2.0" 608 | to-fast-properties "^1.0.1" 609 | 610 | babelify@^7.3.0: 611 | version "7.3.0" 612 | resolved "https://registry.yarnpkg.com/babelify/-/babelify-7.3.0.tgz#aa56aede7067fd7bd549666ee16dc285087e88e5" 613 | dependencies: 614 | babel-core "^6.0.14" 615 | object-assign "^4.0.0" 616 | 617 | babylon@^6.11.0, babylon@^6.15.0: 618 | version "6.16.1" 619 | resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.16.1.tgz#30c5a22f481978a9e7f8cdfdf496b11d94b404d3" 620 | 621 | balanced-match@^0.4.1: 622 | version "0.4.2" 623 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" 624 | 625 | base64-js@^1.0.2: 626 | version "1.2.0" 627 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.0.tgz#a39992d723584811982be5e290bb6a53d86700f1" 628 | 629 | bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: 630 | version "4.11.6" 631 | resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215" 632 | 633 | brace-expansion@^1.0.0: 634 | version "1.1.6" 635 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.6.tgz#7197d7eaa9b87e648390ea61fc66c84427420df9" 636 | dependencies: 637 | balanced-match "^0.4.1" 638 | concat-map "0.0.1" 639 | 640 | brorand@^1.0.1: 641 | version "1.1.0" 642 | resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" 643 | 644 | browser-pack@^6.0.1: 645 | version "6.0.2" 646 | resolved "https://registry.yarnpkg.com/browser-pack/-/browser-pack-6.0.2.tgz#f86cd6cef4f5300c8e63e07a4d512f65fbff4531" 647 | dependencies: 648 | JSONStream "^1.0.3" 649 | combine-source-map "~0.7.1" 650 | defined "^1.0.0" 651 | through2 "^2.0.0" 652 | umd "^3.0.0" 653 | 654 | browser-resolve@^1.11.0, browser-resolve@^1.7.0: 655 | version "1.11.2" 656 | resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.2.tgz#8ff09b0a2c421718a1051c260b32e48f442938ce" 657 | dependencies: 658 | resolve "1.1.7" 659 | 660 | browserify-aes@^1.0.0, browserify-aes@^1.0.4: 661 | version "1.0.6" 662 | resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.0.6.tgz#5e7725dbdef1fd5930d4ebab48567ce451c48a0a" 663 | dependencies: 664 | buffer-xor "^1.0.2" 665 | cipher-base "^1.0.0" 666 | create-hash "^1.1.0" 667 | evp_bytestokey "^1.0.0" 668 | inherits "^2.0.1" 669 | 670 | browserify-cipher@^1.0.0: 671 | version "1.0.0" 672 | resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.0.tgz#9988244874bf5ed4e28da95666dcd66ac8fc363a" 673 | dependencies: 674 | browserify-aes "^1.0.4" 675 | browserify-des "^1.0.0" 676 | evp_bytestokey "^1.0.0" 677 | 678 | browserify-des@^1.0.0: 679 | version "1.0.0" 680 | resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.0.tgz#daa277717470922ed2fe18594118a175439721dd" 681 | dependencies: 682 | cipher-base "^1.0.1" 683 | des.js "^1.0.0" 684 | inherits "^2.0.1" 685 | 686 | browserify-rsa@^4.0.0: 687 | version "4.0.1" 688 | resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" 689 | dependencies: 690 | bn.js "^4.1.0" 691 | randombytes "^2.0.1" 692 | 693 | browserify-sign@^4.0.0: 694 | version "4.0.0" 695 | resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.0.tgz#10773910c3c206d5420a46aad8694f820b85968f" 696 | dependencies: 697 | bn.js "^4.1.1" 698 | browserify-rsa "^4.0.0" 699 | create-hash "^1.1.0" 700 | create-hmac "^1.1.2" 701 | elliptic "^6.0.0" 702 | inherits "^2.0.1" 703 | parse-asn1 "^5.0.0" 704 | 705 | browserify-zlib@~0.1.2: 706 | version "0.1.4" 707 | resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.1.4.tgz#bb35f8a519f600e0fa6b8485241c979d0141fb2d" 708 | dependencies: 709 | pako "~0.2.0" 710 | 711 | browserify@^14.1.0: 712 | version "14.1.0" 713 | resolved "https://registry.yarnpkg.com/browserify/-/browserify-14.1.0.tgz#0508cc1e7bf4c152312c2fa523e676c0b0b92311" 714 | dependencies: 715 | JSONStream "^1.0.3" 716 | assert "^1.4.0" 717 | browser-pack "^6.0.1" 718 | browser-resolve "^1.11.0" 719 | browserify-zlib "~0.1.2" 720 | buffer "^5.0.2" 721 | cached-path-relative "^1.0.0" 722 | concat-stream "~1.5.1" 723 | console-browserify "^1.1.0" 724 | constants-browserify "~1.0.0" 725 | crypto-browserify "^3.0.0" 726 | defined "^1.0.0" 727 | deps-sort "^2.0.0" 728 | domain-browser "~1.1.0" 729 | duplexer2 "~0.1.2" 730 | events "~1.1.0" 731 | glob "^7.1.0" 732 | has "^1.0.0" 733 | htmlescape "^1.1.0" 734 | https-browserify "~0.0.0" 735 | inherits "~2.0.1" 736 | insert-module-globals "^7.0.0" 737 | labeled-stream-splicer "^2.0.0" 738 | module-deps "^4.0.8" 739 | os-browserify "~0.1.1" 740 | parents "^1.0.1" 741 | path-browserify "~0.0.0" 742 | process "~0.11.0" 743 | punycode "^1.3.2" 744 | querystring-es3 "~0.2.0" 745 | read-only-stream "^2.0.0" 746 | readable-stream "^2.0.2" 747 | resolve "^1.1.4" 748 | shasum "^1.0.0" 749 | shell-quote "^1.6.1" 750 | stream-browserify "^2.0.0" 751 | stream-http "^2.0.0" 752 | string_decoder "~0.10.0" 753 | subarg "^1.0.0" 754 | syntax-error "^1.1.1" 755 | through2 "^2.0.0" 756 | timers-browserify "^1.0.1" 757 | tty-browserify "~0.0.0" 758 | url "~0.11.0" 759 | util "~0.10.1" 760 | vm-browserify "~0.0.1" 761 | xtend "^4.0.0" 762 | 763 | buffer-shims@^1.0.0: 764 | version "1.0.0" 765 | resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51" 766 | 767 | buffer-xor@^1.0.2: 768 | version "1.0.3" 769 | resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" 770 | 771 | buffer@^5.0.2: 772 | version "5.0.5" 773 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.0.5.tgz#35c9393244a90aff83581063d16f0882cecc9418" 774 | dependencies: 775 | base64-js "^1.0.2" 776 | ieee754 "^1.1.4" 777 | 778 | builtin-status-codes@^3.0.0: 779 | version "3.0.0" 780 | resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" 781 | 782 | cached-path-relative@^1.0.0: 783 | version "1.0.1" 784 | resolved "https://registry.yarnpkg.com/cached-path-relative/-/cached-path-relative-1.0.1.tgz#d09c4b52800aa4c078e2dd81a869aac90d2e54e7" 785 | 786 | chalk@^1.1.0: 787 | version "1.1.3" 788 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" 789 | dependencies: 790 | ansi-styles "^2.2.1" 791 | escape-string-regexp "^1.0.2" 792 | has-ansi "^2.0.0" 793 | strip-ansi "^3.0.0" 794 | supports-color "^2.0.0" 795 | 796 | cipher-base@^1.0.0, cipher-base@^1.0.1: 797 | version "1.0.3" 798 | resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.3.tgz#eeabf194419ce900da3018c207d212f2a6df0a07" 799 | dependencies: 800 | inherits "^2.0.1" 801 | 802 | combine-source-map@~0.7.1: 803 | version "0.7.2" 804 | resolved "https://registry.yarnpkg.com/combine-source-map/-/combine-source-map-0.7.2.tgz#0870312856b307a87cc4ac486f3a9a62aeccc09e" 805 | dependencies: 806 | convert-source-map "~1.1.0" 807 | inline-source-map "~0.6.0" 808 | lodash.memoize "~3.0.3" 809 | source-map "~0.5.3" 810 | 811 | concat-map@0.0.1: 812 | version "0.0.1" 813 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 814 | 815 | concat-stream@~1.5.0, concat-stream@~1.5.1: 816 | version "1.5.2" 817 | resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.5.2.tgz#708978624d856af41a5a741defdd261da752c266" 818 | dependencies: 819 | inherits "~2.0.1" 820 | readable-stream "~2.0.0" 821 | typedarray "~0.0.5" 822 | 823 | console-browserify@^1.1.0: 824 | version "1.1.0" 825 | resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" 826 | dependencies: 827 | date-now "^0.1.4" 828 | 829 | constants-browserify@~1.0.0: 830 | version "1.0.0" 831 | resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" 832 | 833 | convert-source-map@^1.1.0: 834 | version "1.4.0" 835 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.4.0.tgz#e3dad195bf61bfe13a7a3c73e9876ec14a0268f3" 836 | 837 | convert-source-map@~1.1.0: 838 | version "1.1.3" 839 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.1.3.tgz#4829c877e9fe49b3161f3bf3673888e204699860" 840 | 841 | core-js@^1.0.0: 842 | version "1.2.7" 843 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" 844 | 845 | core-js@^2.4.0: 846 | version "2.4.1" 847 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e" 848 | 849 | core-util-is@~1.0.0: 850 | version "1.0.2" 851 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 852 | 853 | create-ecdh@^4.0.0: 854 | version "4.0.0" 855 | resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.0.tgz#888c723596cdf7612f6498233eebd7a35301737d" 856 | dependencies: 857 | bn.js "^4.1.0" 858 | elliptic "^6.0.0" 859 | 860 | create-hash@^1.1.0, create-hash@^1.1.1: 861 | version "1.1.2" 862 | resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.1.2.tgz#51210062d7bb7479f6c65bb41a92208b1d61abad" 863 | dependencies: 864 | cipher-base "^1.0.1" 865 | inherits "^2.0.1" 866 | ripemd160 "^1.0.0" 867 | sha.js "^2.3.6" 868 | 869 | create-hmac@^1.1.0, create-hmac@^1.1.2: 870 | version "1.1.4" 871 | resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.4.tgz#d3fb4ba253eb8b3f56e39ea2fbcb8af747bd3170" 872 | dependencies: 873 | create-hash "^1.1.0" 874 | inherits "^2.0.1" 875 | 876 | crypto-browserify@^3.0.0: 877 | version "3.11.0" 878 | resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.11.0.tgz#3652a0906ab9b2a7e0c3ce66a408e957a2485522" 879 | dependencies: 880 | browserify-cipher "^1.0.0" 881 | browserify-sign "^4.0.0" 882 | create-ecdh "^4.0.0" 883 | create-hash "^1.1.0" 884 | create-hmac "^1.1.0" 885 | diffie-hellman "^5.0.0" 886 | inherits "^2.0.1" 887 | pbkdf2 "^3.0.3" 888 | public-encrypt "^4.0.0" 889 | randombytes "^2.0.0" 890 | 891 | date-now@^0.1.4: 892 | version "0.1.4" 893 | resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" 894 | 895 | debug@^2.1.1, debug@^2.2.0: 896 | version "2.6.3" 897 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.3.tgz#0f7eb8c30965ec08c72accfa0130c8b79984141d" 898 | dependencies: 899 | ms "0.7.2" 900 | 901 | defined@^1.0.0: 902 | version "1.0.0" 903 | resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" 904 | 905 | deps-sort@^2.0.0: 906 | version "2.0.0" 907 | resolved "https://registry.yarnpkg.com/deps-sort/-/deps-sort-2.0.0.tgz#091724902e84658260eb910748cccd1af6e21fb5" 908 | dependencies: 909 | JSONStream "^1.0.3" 910 | shasum "^1.0.0" 911 | subarg "^1.0.0" 912 | through2 "^2.0.0" 913 | 914 | des.js@^1.0.0: 915 | version "1.0.0" 916 | resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" 917 | dependencies: 918 | inherits "^2.0.1" 919 | minimalistic-assert "^1.0.0" 920 | 921 | detect-indent@^4.0.0: 922 | version "4.0.0" 923 | resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" 924 | dependencies: 925 | repeating "^2.0.0" 926 | 927 | detective@^4.0.0: 928 | version "4.5.0" 929 | resolved "https://registry.yarnpkg.com/detective/-/detective-4.5.0.tgz#6e5a8c6b26e6c7a254b1c6b6d7490d98ec91edd1" 930 | dependencies: 931 | acorn "^4.0.3" 932 | defined "^1.0.0" 933 | 934 | diffie-hellman@^5.0.0: 935 | version "5.0.2" 936 | resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.2.tgz#b5835739270cfe26acf632099fded2a07f209e5e" 937 | dependencies: 938 | bn.js "^4.1.0" 939 | miller-rabin "^4.0.0" 940 | randombytes "^2.0.0" 941 | 942 | domain-browser@~1.1.0: 943 | version "1.1.7" 944 | resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.1.7.tgz#867aa4b093faa05f1de08c06f4d7b21fdf8698bc" 945 | 946 | duplexer2@^0.1.2, duplexer2@~0.1.0, duplexer2@~0.1.2: 947 | version "0.1.4" 948 | resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" 949 | dependencies: 950 | readable-stream "^2.0.2" 951 | 952 | elliptic@^6.0.0: 953 | version "6.4.0" 954 | resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df" 955 | dependencies: 956 | bn.js "^4.4.0" 957 | brorand "^1.0.1" 958 | hash.js "^1.0.0" 959 | hmac-drbg "^1.0.0" 960 | inherits "^2.0.1" 961 | minimalistic-assert "^1.0.0" 962 | minimalistic-crypto-utils "^1.0.0" 963 | 964 | encoding@^0.1.11: 965 | version "0.1.12" 966 | resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb" 967 | dependencies: 968 | iconv-lite "~0.4.13" 969 | 970 | escape-string-regexp@^1.0.2: 971 | version "1.0.5" 972 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 973 | 974 | esutils@^2.0.0, esutils@^2.0.2: 975 | version "2.0.2" 976 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" 977 | 978 | events@~1.1.0: 979 | version "1.1.1" 980 | resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" 981 | 982 | evp_bytestokey@^1.0.0: 983 | version "1.0.0" 984 | resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.0.tgz#497b66ad9fef65cd7c08a6180824ba1476b66e53" 985 | dependencies: 986 | create-hash "^1.1.1" 987 | 988 | fbjs@^0.8.1, fbjs@^0.8.4: 989 | version "0.8.11" 990 | resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.11.tgz#340b590b8a2278a01ef7467c07a16da9b753db24" 991 | dependencies: 992 | core-js "^1.0.0" 993 | isomorphic-fetch "^2.1.1" 994 | loose-envify "^1.0.0" 995 | object-assign "^4.1.0" 996 | promise "^7.1.1" 997 | setimmediate "^1.0.5" 998 | ua-parser-js "^0.7.9" 999 | 1000 | fs.realpath@^1.0.0: 1001 | version "1.0.0" 1002 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 1003 | 1004 | function-bind@^1.0.2: 1005 | version "1.1.0" 1006 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771" 1007 | 1008 | glob@^7.1.0: 1009 | version "7.1.1" 1010 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" 1011 | dependencies: 1012 | fs.realpath "^1.0.0" 1013 | inflight "^1.0.4" 1014 | inherits "2" 1015 | minimatch "^3.0.2" 1016 | once "^1.3.0" 1017 | path-is-absolute "^1.0.0" 1018 | 1019 | globals@^9.0.0: 1020 | version "9.16.0" 1021 | resolved "https://registry.yarnpkg.com/globals/-/globals-9.16.0.tgz#63e903658171ec2d9f51b1d31de5e2b8dc01fb80" 1022 | 1023 | has-ansi@^2.0.0: 1024 | version "2.0.0" 1025 | resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" 1026 | dependencies: 1027 | ansi-regex "^2.0.0" 1028 | 1029 | has@^1.0.0: 1030 | version "1.0.1" 1031 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28" 1032 | dependencies: 1033 | function-bind "^1.0.2" 1034 | 1035 | hash.js@^1.0.0, hash.js@^1.0.3: 1036 | version "1.0.3" 1037 | resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.0.3.tgz#1332ff00156c0a0ffdd8236013d07b77a0451573" 1038 | dependencies: 1039 | inherits "^2.0.1" 1040 | 1041 | hmac-drbg@^1.0.0: 1042 | version "1.0.0" 1043 | resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.0.tgz#3db471f45aae4a994a0688322171f51b8b91bee5" 1044 | dependencies: 1045 | hash.js "^1.0.3" 1046 | minimalistic-assert "^1.0.0" 1047 | minimalistic-crypto-utils "^1.0.1" 1048 | 1049 | home-or-tmp@^2.0.0: 1050 | version "2.0.0" 1051 | resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" 1052 | dependencies: 1053 | os-homedir "^1.0.0" 1054 | os-tmpdir "^1.0.1" 1055 | 1056 | htmlescape@^1.1.0: 1057 | version "1.1.1" 1058 | resolved "https://registry.yarnpkg.com/htmlescape/-/htmlescape-1.1.1.tgz#3a03edc2214bca3b66424a3e7959349509cb0351" 1059 | 1060 | https-browserify@~0.0.0: 1061 | version "0.0.1" 1062 | resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-0.0.1.tgz#3f91365cabe60b77ed0ebba24b454e3e09d95a82" 1063 | 1064 | iconv-lite@~0.4.13: 1065 | version "0.4.15" 1066 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.15.tgz#fe265a218ac6a57cfe854927e9d04c19825eddeb" 1067 | 1068 | ieee754@^1.1.4: 1069 | version "1.1.8" 1070 | resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" 1071 | 1072 | indexof@0.0.1: 1073 | version "0.0.1" 1074 | resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" 1075 | 1076 | inflight@^1.0.4: 1077 | version "1.0.6" 1078 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1079 | dependencies: 1080 | once "^1.3.0" 1081 | wrappy "1" 1082 | 1083 | inherits@2, inherits@^2.0.1, inherits@~2.0.1: 1084 | version "2.0.3" 1085 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 1086 | 1087 | inherits@2.0.1: 1088 | version "2.0.1" 1089 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" 1090 | 1091 | inline-source-map@~0.6.0: 1092 | version "0.6.2" 1093 | resolved "https://registry.yarnpkg.com/inline-source-map/-/inline-source-map-0.6.2.tgz#f9393471c18a79d1724f863fa38b586370ade2a5" 1094 | dependencies: 1095 | source-map "~0.5.3" 1096 | 1097 | insert-module-globals@^7.0.0: 1098 | version "7.0.1" 1099 | resolved "https://registry.yarnpkg.com/insert-module-globals/-/insert-module-globals-7.0.1.tgz#c03bf4e01cb086d5b5e5ace8ad0afe7889d638c3" 1100 | dependencies: 1101 | JSONStream "^1.0.3" 1102 | combine-source-map "~0.7.1" 1103 | concat-stream "~1.5.1" 1104 | is-buffer "^1.1.0" 1105 | lexical-scope "^1.2.0" 1106 | process "~0.11.0" 1107 | through2 "^2.0.0" 1108 | xtend "^4.0.0" 1109 | 1110 | invariant@^2.2.0: 1111 | version "2.2.2" 1112 | resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" 1113 | dependencies: 1114 | loose-envify "^1.0.0" 1115 | 1116 | is-buffer@^1.1.0: 1117 | version "1.1.5" 1118 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc" 1119 | 1120 | is-finite@^1.0.0: 1121 | version "1.0.2" 1122 | resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" 1123 | dependencies: 1124 | number-is-nan "^1.0.0" 1125 | 1126 | is-stream@^1.0.1: 1127 | version "1.1.0" 1128 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" 1129 | 1130 | isarray@~0.0.1: 1131 | version "0.0.1" 1132 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" 1133 | 1134 | isarray@~1.0.0: 1135 | version "1.0.0" 1136 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 1137 | 1138 | isomorphic-fetch@^2.1.1: 1139 | version "2.2.1" 1140 | resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9" 1141 | dependencies: 1142 | node-fetch "^1.0.1" 1143 | whatwg-fetch ">=0.10.0" 1144 | 1145 | js-tokens@^3.0.0: 1146 | version "3.0.1" 1147 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7" 1148 | 1149 | jsesc@^1.3.0: 1150 | version "1.3.0" 1151 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" 1152 | 1153 | jsesc@~0.5.0: 1154 | version "0.5.0" 1155 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" 1156 | 1157 | json-stable-stringify@~0.0.0: 1158 | version "0.0.1" 1159 | resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz#611c23e814db375527df851193db59dd2af27f45" 1160 | dependencies: 1161 | jsonify "~0.0.0" 1162 | 1163 | json5@^0.5.0: 1164 | version "0.5.1" 1165 | resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" 1166 | 1167 | jsonify@~0.0.0: 1168 | version "0.0.0" 1169 | resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" 1170 | 1171 | jsonparse@^1.2.0: 1172 | version "1.3.0" 1173 | resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.0.tgz#85fc245b1d9259acc6941960b905adf64e7de0e8" 1174 | 1175 | labeled-stream-splicer@^2.0.0: 1176 | version "2.0.0" 1177 | resolved "https://registry.yarnpkg.com/labeled-stream-splicer/-/labeled-stream-splicer-2.0.0.tgz#a52e1d138024c00b86b1c0c91f677918b8ae0a59" 1178 | dependencies: 1179 | inherits "^2.0.1" 1180 | isarray "~0.0.1" 1181 | stream-splicer "^2.0.0" 1182 | 1183 | lexical-scope@^1.2.0: 1184 | version "1.2.0" 1185 | resolved "https://registry.yarnpkg.com/lexical-scope/-/lexical-scope-1.2.0.tgz#fcea5edc704a4b3a8796cdca419c3a0afaf22df4" 1186 | dependencies: 1187 | astw "^2.0.0" 1188 | 1189 | lodash.memoize@~3.0.3: 1190 | version "3.0.4" 1191 | resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-3.0.4.tgz#2dcbd2c287cbc0a55cc42328bd0c736150d53e3f" 1192 | 1193 | lodash@^4.2.0: 1194 | version "4.17.4" 1195 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" 1196 | 1197 | loose-envify@^1.0.0, loose-envify@^1.1.0: 1198 | version "1.3.1" 1199 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" 1200 | dependencies: 1201 | js-tokens "^3.0.0" 1202 | 1203 | miller-rabin@^4.0.0: 1204 | version "4.0.0" 1205 | resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.0.tgz#4a62fb1d42933c05583982f4c716f6fb9e6c6d3d" 1206 | dependencies: 1207 | bn.js "^4.0.0" 1208 | brorand "^1.0.1" 1209 | 1210 | minimalistic-assert@^1.0.0: 1211 | version "1.0.0" 1212 | resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz#702be2dda6b37f4836bcb3f5db56641b64a1d3d3" 1213 | 1214 | minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: 1215 | version "1.0.1" 1216 | resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" 1217 | 1218 | minimatch@^3.0.2: 1219 | version "3.0.3" 1220 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774" 1221 | dependencies: 1222 | brace-expansion "^1.0.0" 1223 | 1224 | minimist@0.0.8: 1225 | version "0.0.8" 1226 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 1227 | 1228 | minimist@^1.1.0: 1229 | version "1.2.0" 1230 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" 1231 | 1232 | mkdirp@^0.5.1: 1233 | version "0.5.1" 1234 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 1235 | dependencies: 1236 | minimist "0.0.8" 1237 | 1238 | module-deps@^4.0.8: 1239 | version "4.1.1" 1240 | resolved "https://registry.yarnpkg.com/module-deps/-/module-deps-4.1.1.tgz#23215833f1da13fd606ccb8087b44852dcb821fd" 1241 | dependencies: 1242 | JSONStream "^1.0.3" 1243 | browser-resolve "^1.7.0" 1244 | cached-path-relative "^1.0.0" 1245 | concat-stream "~1.5.0" 1246 | defined "^1.0.0" 1247 | detective "^4.0.0" 1248 | duplexer2 "^0.1.2" 1249 | inherits "^2.0.1" 1250 | parents "^1.0.0" 1251 | readable-stream "^2.0.2" 1252 | resolve "^1.1.3" 1253 | stream-combiner2 "^1.1.1" 1254 | subarg "^1.0.0" 1255 | through2 "^2.0.0" 1256 | xtend "^4.0.0" 1257 | 1258 | ms@0.7.2: 1259 | version "0.7.2" 1260 | resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765" 1261 | 1262 | node-fetch@^1.0.1: 1263 | version "1.6.3" 1264 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.6.3.tgz#dc234edd6489982d58e8f0db4f695029abcd8c04" 1265 | dependencies: 1266 | encoding "^0.1.11" 1267 | is-stream "^1.0.1" 1268 | 1269 | number-is-nan@^1.0.0: 1270 | version "1.0.1" 1271 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" 1272 | 1273 | object-assign@^4.0.0, object-assign@^4.1.0: 1274 | version "4.1.1" 1275 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 1276 | 1277 | once@^1.3.0: 1278 | version "1.4.0" 1279 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 1280 | dependencies: 1281 | wrappy "1" 1282 | 1283 | os-browserify@~0.1.1: 1284 | version "0.1.2" 1285 | resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.1.2.tgz#49ca0293e0b19590a5f5de10c7f265a617d8fe54" 1286 | 1287 | os-homedir@^1.0.0: 1288 | version "1.0.2" 1289 | resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" 1290 | 1291 | os-tmpdir@^1.0.1: 1292 | version "1.0.2" 1293 | resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" 1294 | 1295 | pako@~0.2.0: 1296 | version "0.2.9" 1297 | resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" 1298 | 1299 | parents@^1.0.0, parents@^1.0.1: 1300 | version "1.0.1" 1301 | resolved "https://registry.yarnpkg.com/parents/-/parents-1.0.1.tgz#fedd4d2bf193a77745fe71e371d73c3307d9c751" 1302 | dependencies: 1303 | path-platform "~0.11.15" 1304 | 1305 | parse-asn1@^5.0.0: 1306 | version "5.1.0" 1307 | resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.0.tgz#37c4f9b7ed3ab65c74817b5f2480937fbf97c712" 1308 | dependencies: 1309 | asn1.js "^4.0.0" 1310 | browserify-aes "^1.0.0" 1311 | create-hash "^1.1.0" 1312 | evp_bytestokey "^1.0.0" 1313 | pbkdf2 "^3.0.3" 1314 | 1315 | path-browserify@~0.0.0: 1316 | version "0.0.0" 1317 | resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a" 1318 | 1319 | path-is-absolute@^1.0.0: 1320 | version "1.0.1" 1321 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 1322 | 1323 | path-parse@^1.0.5: 1324 | version "1.0.5" 1325 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" 1326 | 1327 | path-platform@~0.11.15: 1328 | version "0.11.15" 1329 | resolved "https://registry.yarnpkg.com/path-platform/-/path-platform-0.11.15.tgz#e864217f74c36850f0852b78dc7bf7d4a5721bf2" 1330 | 1331 | pbkdf2@^3.0.3: 1332 | version "3.0.9" 1333 | resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.9.tgz#f2c4b25a600058b3c3773c086c37dbbee1ffe693" 1334 | dependencies: 1335 | create-hmac "^1.1.2" 1336 | 1337 | private@^0.1.6: 1338 | version "0.1.7" 1339 | resolved "https://registry.yarnpkg.com/private/-/private-0.1.7.tgz#68ce5e8a1ef0a23bb570cc28537b5332aba63ef1" 1340 | 1341 | process-nextick-args@~1.0.6: 1342 | version "1.0.7" 1343 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" 1344 | 1345 | process@~0.11.0: 1346 | version "0.11.9" 1347 | resolved "https://registry.yarnpkg.com/process/-/process-0.11.9.tgz#7bd5ad21aa6253e7da8682264f1e11d11c0318c1" 1348 | 1349 | promise@^7.1.1: 1350 | version "7.1.1" 1351 | resolved "https://registry.yarnpkg.com/promise/-/promise-7.1.1.tgz#489654c692616b8aa55b0724fa809bb7db49c5bf" 1352 | dependencies: 1353 | asap "~2.0.3" 1354 | 1355 | public-encrypt@^4.0.0: 1356 | version "4.0.0" 1357 | resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.0.tgz#39f699f3a46560dd5ebacbca693caf7c65c18cc6" 1358 | dependencies: 1359 | bn.js "^4.1.0" 1360 | browserify-rsa "^4.0.0" 1361 | create-hash "^1.1.0" 1362 | parse-asn1 "^5.0.0" 1363 | randombytes "^2.0.1" 1364 | 1365 | punycode@1.3.2: 1366 | version "1.3.2" 1367 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" 1368 | 1369 | punycode@^1.3.2: 1370 | version "1.4.1" 1371 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" 1372 | 1373 | querystring-es3@~0.2.0: 1374 | version "0.2.1" 1375 | resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" 1376 | 1377 | querystring@0.2.0: 1378 | version "0.2.0" 1379 | resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" 1380 | 1381 | randombytes@^2.0.0, randombytes@^2.0.1: 1382 | version "2.0.3" 1383 | resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.3.tgz#674c99760901c3c4112771a31e521dc349cc09ec" 1384 | 1385 | react-dom@^15.4.2: 1386 | version "15.4.2" 1387 | resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-15.4.2.tgz#015363f05b0a1fd52ae9efdd3a0060d90695208f" 1388 | dependencies: 1389 | fbjs "^0.8.1" 1390 | loose-envify "^1.1.0" 1391 | object-assign "^4.1.0" 1392 | 1393 | react@^15.4.2: 1394 | version "15.4.2" 1395 | resolved "https://registry.yarnpkg.com/react/-/react-15.4.2.tgz#41f7991b26185392ba9bae96c8889e7e018397ef" 1396 | dependencies: 1397 | fbjs "^0.8.4" 1398 | loose-envify "^1.1.0" 1399 | object-assign "^4.1.0" 1400 | 1401 | read-only-stream@^2.0.0: 1402 | version "2.0.0" 1403 | resolved "https://registry.yarnpkg.com/read-only-stream/-/read-only-stream-2.0.0.tgz#2724fd6a8113d73764ac288d4386270c1dbf17f0" 1404 | dependencies: 1405 | readable-stream "^2.0.2" 1406 | 1407 | readable-stream@^2.0.2, readable-stream@^2.1.0, readable-stream@^2.1.5: 1408 | version "2.2.6" 1409 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.6.tgz#8b43aed76e71483938d12a8d46c6cf1a00b1f816" 1410 | dependencies: 1411 | buffer-shims "^1.0.0" 1412 | core-util-is "~1.0.0" 1413 | inherits "~2.0.1" 1414 | isarray "~1.0.0" 1415 | process-nextick-args "~1.0.6" 1416 | string_decoder "~0.10.x" 1417 | util-deprecate "~1.0.1" 1418 | 1419 | readable-stream@~2.0.0: 1420 | version "2.0.6" 1421 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e" 1422 | dependencies: 1423 | core-util-is "~1.0.0" 1424 | inherits "~2.0.1" 1425 | isarray "~1.0.0" 1426 | process-nextick-args "~1.0.6" 1427 | string_decoder "~0.10.x" 1428 | util-deprecate "~1.0.1" 1429 | 1430 | regenerate@^1.2.1: 1431 | version "1.3.2" 1432 | resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.2.tgz#d1941c67bad437e1be76433add5b385f95b19260" 1433 | 1434 | regenerator-runtime@^0.10.0: 1435 | version "0.10.3" 1436 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.3.tgz#8c4367a904b51ea62a908ac310bf99ff90a82a3e" 1437 | 1438 | regenerator-transform@0.9.8: 1439 | version "0.9.8" 1440 | resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.9.8.tgz#0f88bb2bc03932ddb7b6b7312e68078f01026d6c" 1441 | dependencies: 1442 | babel-runtime "^6.18.0" 1443 | babel-types "^6.19.0" 1444 | private "^0.1.6" 1445 | 1446 | regexpu-core@^2.0.0: 1447 | version "2.0.0" 1448 | resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" 1449 | dependencies: 1450 | regenerate "^1.2.1" 1451 | regjsgen "^0.2.0" 1452 | regjsparser "^0.1.4" 1453 | 1454 | regjsgen@^0.2.0: 1455 | version "0.2.0" 1456 | resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" 1457 | 1458 | regjsparser@^0.1.4: 1459 | version "0.1.5" 1460 | resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" 1461 | dependencies: 1462 | jsesc "~0.5.0" 1463 | 1464 | repeating@^2.0.0: 1465 | version "2.0.1" 1466 | resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" 1467 | dependencies: 1468 | is-finite "^1.0.0" 1469 | 1470 | resolve@1.1.7: 1471 | version "1.1.7" 1472 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" 1473 | 1474 | resolve@^1.1.3, resolve@^1.1.4: 1475 | version "1.3.2" 1476 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.3.2.tgz#1f0442c9e0cbb8136e87b9305f932f46c7f28235" 1477 | dependencies: 1478 | path-parse "^1.0.5" 1479 | 1480 | ripemd160@^1.0.0: 1481 | version "1.0.1" 1482 | resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-1.0.1.tgz#93a4bbd4942bc574b69a8fa57c71de10ecca7d6e" 1483 | 1484 | setimmediate@^1.0.5: 1485 | version "1.0.5" 1486 | resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" 1487 | 1488 | sha.js@^2.3.6, sha.js@~2.4.4: 1489 | version "2.4.8" 1490 | resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.8.tgz#37068c2c476b6baf402d14a49c67f597921f634f" 1491 | dependencies: 1492 | inherits "^2.0.1" 1493 | 1494 | shasum@^1.0.0: 1495 | version "1.0.2" 1496 | resolved "https://registry.yarnpkg.com/shasum/-/shasum-1.0.2.tgz#e7012310d8f417f4deb5712150e5678b87ae565f" 1497 | dependencies: 1498 | json-stable-stringify "~0.0.0" 1499 | sha.js "~2.4.4" 1500 | 1501 | shell-quote@^1.6.1: 1502 | version "1.6.1" 1503 | resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.6.1.tgz#f4781949cce402697127430ea3b3c5476f481767" 1504 | dependencies: 1505 | array-filter "~0.0.0" 1506 | array-map "~0.0.0" 1507 | array-reduce "~0.0.0" 1508 | jsonify "~0.0.0" 1509 | 1510 | slash@^1.0.0: 1511 | version "1.0.0" 1512 | resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" 1513 | 1514 | source-map-support@^0.4.2: 1515 | version "0.4.14" 1516 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.14.tgz#9d4463772598b86271b4f523f6c1f4e02a7d6aef" 1517 | dependencies: 1518 | source-map "^0.5.6" 1519 | 1520 | source-map@^0.5.0, source-map@^0.5.6, source-map@~0.5.3: 1521 | version "0.5.6" 1522 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" 1523 | 1524 | stream-browserify@^2.0.0: 1525 | version "2.0.1" 1526 | resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db" 1527 | dependencies: 1528 | inherits "~2.0.1" 1529 | readable-stream "^2.0.2" 1530 | 1531 | stream-combiner2@^1.1.1: 1532 | version "1.1.1" 1533 | resolved "https://registry.yarnpkg.com/stream-combiner2/-/stream-combiner2-1.1.1.tgz#fb4d8a1420ea362764e21ad4780397bebcb41cbe" 1534 | dependencies: 1535 | duplexer2 "~0.1.0" 1536 | readable-stream "^2.0.2" 1537 | 1538 | stream-http@^2.0.0: 1539 | version "2.6.3" 1540 | resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.6.3.tgz#4c3ddbf9635968ea2cfd4e48d43de5def2625ac3" 1541 | dependencies: 1542 | builtin-status-codes "^3.0.0" 1543 | inherits "^2.0.1" 1544 | readable-stream "^2.1.0" 1545 | to-arraybuffer "^1.0.0" 1546 | xtend "^4.0.0" 1547 | 1548 | stream-splicer@^2.0.0: 1549 | version "2.0.0" 1550 | resolved "https://registry.yarnpkg.com/stream-splicer/-/stream-splicer-2.0.0.tgz#1b63be438a133e4b671cc1935197600175910d83" 1551 | dependencies: 1552 | inherits "^2.0.1" 1553 | readable-stream "^2.0.2" 1554 | 1555 | string_decoder@~0.10.0, string_decoder@~0.10.x: 1556 | version "0.10.31" 1557 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" 1558 | 1559 | strip-ansi@^3.0.0: 1560 | version "3.0.1" 1561 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 1562 | dependencies: 1563 | ansi-regex "^2.0.0" 1564 | 1565 | subarg@^1.0.0: 1566 | version "1.0.0" 1567 | resolved "https://registry.yarnpkg.com/subarg/-/subarg-1.0.0.tgz#f62cf17581e996b48fc965699f54c06ae268b8d2" 1568 | dependencies: 1569 | minimist "^1.1.0" 1570 | 1571 | supports-color@^2.0.0: 1572 | version "2.0.0" 1573 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" 1574 | 1575 | syntax-error@^1.1.1: 1576 | version "1.3.0" 1577 | resolved "https://registry.yarnpkg.com/syntax-error/-/syntax-error-1.3.0.tgz#1ed9266c4d40be75dc55bf9bb1cb77062bb96ca1" 1578 | dependencies: 1579 | acorn "^4.0.3" 1580 | 1581 | through2@^2.0.0: 1582 | version "2.0.3" 1583 | resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" 1584 | dependencies: 1585 | readable-stream "^2.1.5" 1586 | xtend "~4.0.1" 1587 | 1588 | "through@>=2.2.7 <3": 1589 | version "2.3.8" 1590 | resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" 1591 | 1592 | timers-browserify@^1.0.1: 1593 | version "1.4.2" 1594 | resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-1.4.2.tgz#c9c58b575be8407375cb5e2462dacee74359f41d" 1595 | dependencies: 1596 | process "~0.11.0" 1597 | 1598 | to-arraybuffer@^1.0.0: 1599 | version "1.0.1" 1600 | resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" 1601 | 1602 | to-fast-properties@^1.0.1: 1603 | version "1.0.2" 1604 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.2.tgz#f3f5c0c3ba7299a7ef99427e44633257ade43320" 1605 | 1606 | trim-right@^1.0.1: 1607 | version "1.0.1" 1608 | resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" 1609 | 1610 | tty-browserify@~0.0.0: 1611 | version "0.0.0" 1612 | resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" 1613 | 1614 | typedarray@~0.0.5: 1615 | version "0.0.6" 1616 | resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" 1617 | 1618 | ua-parser-js@^0.7.9: 1619 | version "0.7.12" 1620 | resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.12.tgz#04c81a99bdd5dc52263ea29d24c6bf8d4818a4bb" 1621 | 1622 | umd@^3.0.0: 1623 | version "3.0.1" 1624 | resolved "https://registry.yarnpkg.com/umd/-/umd-3.0.1.tgz#8ae556e11011f63c2596708a8837259f01b3d60e" 1625 | 1626 | url@~0.11.0: 1627 | version "0.11.0" 1628 | resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" 1629 | dependencies: 1630 | punycode "1.3.2" 1631 | querystring "0.2.0" 1632 | 1633 | util-deprecate@~1.0.1: 1634 | version "1.0.2" 1635 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 1636 | 1637 | util@0.10.3, util@~0.10.1: 1638 | version "0.10.3" 1639 | resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" 1640 | dependencies: 1641 | inherits "2.0.1" 1642 | 1643 | vm-browserify@~0.0.1: 1644 | version "0.0.4" 1645 | resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" 1646 | dependencies: 1647 | indexof "0.0.1" 1648 | 1649 | whatwg-fetch@>=0.10.0: 1650 | version "2.0.3" 1651 | resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz#9c84ec2dcf68187ff00bc64e1274b442176e1c84" 1652 | 1653 | wrappy@1: 1654 | version "1.0.2" 1655 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 1656 | 1657 | xtend@^4.0.0, xtend@~4.0.1: 1658 | version "4.0.1" 1659 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" 1660 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | var EventEmitter = require("events").EventEmitter; 2 | var React = require("react"); 3 | var PropTypes = require("prop-types"); 4 | 5 | var DISPATCHER_TYPES = {dispatch: PropTypes.any}; 6 | 7 | function subscriber(subscribe) { 8 | return function(cls) { 9 | cls.childContextTypes = Object.assign({}, DISPATCHER_TYPES, cls.childContextTypes); 10 | var originalGetChildContext = cls.prototype.getChildContext; 11 | Object.defineProperty(cls.prototype, 'getChildContext', { 12 | configurable: true, 13 | value: function() { 14 | // merge with original getChildContext 15 | var oldResult = originalGetChildContext && originalGetChildContext.apply(this, arguments); 16 | 17 | if (!this.emitter) { 18 | var emitter = new EventEmitter; 19 | this.emitter = emitter; 20 | subscribe(this, function() { 21 | var args = arguments 22 | if (args.length === 1 && args[0] instanceof Object) { 23 | emitter.on.call(emitter, 'rdr-internal:dispatch-fsa', args[0]) 24 | } else { 25 | emitter.on.apply(emitter, arguments) 26 | } 27 | }, emitter); 28 | } 29 | var self = this; 30 | return Object.assign({}, oldResult, { 31 | dispatch: function() { 32 | var args = arguments; 33 | if (args.length === 1 && args[0] instanceof Object) { 34 | return self.emitter.emit.call(self.emitter, 'rdr-internal:dispatch-fsa', args[0]); 35 | } else { 36 | return self.emitter.emit.apply(self.emitter, arguments); 37 | } 38 | } 39 | }); 40 | } 41 | }); 42 | 43 | var originalCompenentWillUnmount = cls.prototype.componentWillUnmount; 44 | Object.defineProperty(cls.prototype, 'componentWillUnmount', { 45 | configurable: true, 46 | value: function() { 47 | originalCompenentWillUnmount && originalCompenentWillUnmount.apply(this, arguments); 48 | this.emitter.removeAllListeners(); 49 | } 50 | }); 51 | } 52 | } 53 | 54 | function dispatcher(cls) { 55 | cls.contextTypes = Object.assign({}, DISPATCHER_TYPES, cls.contextTypes); 56 | } 57 | 58 | module.exports = {subscriber: subscriber, dispatcher: dispatcher, ContextTypes: DISPATCHER_TYPES}; 59 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "react-dispatcher-decorator", 3 | "version": "0.2.1", 4 | "description": "dispatcher decorator for react", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "keywords": [ 10 | "react" 11 | ], 12 | "author": "mizchi", 13 | "license": "MIT", 14 | "peerDependencies": { 15 | "react": "*" 16 | }, 17 | "devDependencies": { 18 | "react": "15.1.0" 19 | }, 20 | "directories": { 21 | "example": "example" 22 | }, 23 | "dependencies": { 24 | "prop-types": "^15.5.8" 25 | }, 26 | "repository": { 27 | "type": "git", 28 | "url": "git+https://github.com/mizchi/react-dispatcher-decorator.git" 29 | }, 30 | "bugs": { 31 | "url": "https://github.com/mizchi/react-dispatcher-decorator/issues" 32 | }, 33 | "homepage": "https://github.com/mizchi/react-dispatcher-decorator#readme" 34 | } 35 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | asap@~2.0.3: 6 | version "2.0.5" 7 | resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.5.tgz#522765b50c3510490e52d7dcfe085ef9ba96958f" 8 | 9 | core-js@^1.0.0: 10 | version "1.2.7" 11 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" 12 | 13 | encoding@^0.1.11: 14 | version "0.1.12" 15 | resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb" 16 | dependencies: 17 | iconv-lite "~0.4.13" 18 | 19 | fbjs@^0.8.0, fbjs@^0.8.9: 20 | version "0.8.11" 21 | resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.11.tgz#340b590b8a2278a01ef7467c07a16da9b753db24" 22 | dependencies: 23 | core-js "^1.0.0" 24 | isomorphic-fetch "^2.1.1" 25 | loose-envify "^1.0.0" 26 | object-assign "^4.1.0" 27 | promise "^7.1.1" 28 | setimmediate "^1.0.5" 29 | ua-parser-js "^0.7.9" 30 | 31 | iconv-lite@~0.4.13: 32 | version "0.4.15" 33 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.15.tgz#fe265a218ac6a57cfe854927e9d04c19825eddeb" 34 | 35 | is-stream@^1.0.1: 36 | version "1.1.0" 37 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" 38 | 39 | isomorphic-fetch@^2.1.1: 40 | version "2.2.1" 41 | resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9" 42 | dependencies: 43 | node-fetch "^1.0.1" 44 | whatwg-fetch ">=0.10.0" 45 | 46 | js-tokens@^3.0.0: 47 | version "3.0.1" 48 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7" 49 | 50 | loose-envify@^1.0.0, loose-envify@^1.1.0: 51 | version "1.3.1" 52 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" 53 | dependencies: 54 | js-tokens "^3.0.0" 55 | 56 | node-fetch@^1.0.1: 57 | version "1.6.3" 58 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.6.3.tgz#dc234edd6489982d58e8f0db4f695029abcd8c04" 59 | dependencies: 60 | encoding "^0.1.11" 61 | is-stream "^1.0.1" 62 | 63 | object-assign@^4.1.0: 64 | version "4.1.1" 65 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 66 | 67 | promise@^7.1.1: 68 | version "7.1.1" 69 | resolved "https://registry.yarnpkg.com/promise/-/promise-7.1.1.tgz#489654c692616b8aa55b0724fa809bb7db49c5bf" 70 | dependencies: 71 | asap "~2.0.3" 72 | 73 | prop-types@^15.5.8: 74 | version "15.5.8" 75 | resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.5.8.tgz#6b7b2e141083be38c8595aa51fc55775c7199394" 76 | dependencies: 77 | fbjs "^0.8.9" 78 | 79 | react@15.1.0: 80 | version "15.1.0" 81 | resolved "https://registry.yarnpkg.com/react/-/react-15.1.0.tgz#5f7a9f085a00509898efd2b24cb12ea1dfaf8b40" 82 | dependencies: 83 | fbjs "^0.8.0" 84 | loose-envify "^1.1.0" 85 | object-assign "^4.1.0" 86 | 87 | setimmediate@^1.0.5: 88 | version "1.0.5" 89 | resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" 90 | 91 | ua-parser-js@^0.7.9: 92 | version "0.7.12" 93 | resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.12.tgz#04c81a99bdd5dc52263ea29d24c6bf8d4818a4bb" 94 | 95 | whatwg-fetch@>=0.10.0: 96 | version "2.0.3" 97 | resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz#9c84ec2dcf68187ff00bc64e1274b442176e1c84" 98 | --------------------------------------------------------------------------------