├── .babelrc ├── .github └── FUNDING.yml ├── .gitignore ├── LICENSE.md ├── README.md ├── package.json ├── rollup.config.js ├── src ├── Layer.js ├── LayersManager.js ├── context.js └── index.js └── yarn.lock /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | ["env", { "modules": false }], 4 | "react" 5 | ], 6 | "plugins": [ 7 | "transform-class-properties", 8 | "external-helpers" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: giuseppeg 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | lib 2 | node_modules 3 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018-present Giuseppe Gurgone 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 📚 React Layers Manager 2 | 3 | Manage layers and `z-index` in React applications effectively. 4 | 5 | No more 6 | 7 | ```css 8 | z-index: 10000; 9 | z-index: 10001; 10 | z-index: 999; 11 | z-index: 99999; 12 | ``` 13 | 14 | That's right 👦 15 | 16 | ## 👩‍🏫 The issue with z-index: 9999 17 | 18 | Some [CSS properties create stacking contextes](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Positioning/Understanding_z_index/The_stacking_context). 19 | 20 | Within a stacking context, child elements are stacked according to [some rules](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Positioning/Understanding_z_index/Adding_z-index) and in general one on top of each other based on their z-index value. 21 | 22 | The problem though is that elements cannot escape their parent stackig context. 23 | 24 | What this means in practice is that an element with `z-index: 9999` inside of a stacking context with `z-index: 1` will always be below a stacking context sibling of the latter with `z-index: 2` for example: 25 | 26 | ```html 27 |
28 | I am on top and I don't care about your 9999 29 |
30 | 31 |
32 |
33 | I want to be in front of you 34 |
35 |
36 | ``` 37 | 38 | `react-layers-manager` solves this issue. 39 | 40 | ## 💪 How it works 41 | 42 | `react-layers-manager` leverages the power of the new React Context API introduced in React 16.3 and Portals to render your layers as siblings of your application root. 43 | 44 | This way layers are guaranteed to always be on top of your application! 45 | 46 | ## Installation 47 | 48 | ``` 49 | npm i react-layers-manager 50 | ``` 51 | 52 | ## Usage 53 | 54 | `react-layers-manager` exposes two components: 55 | 56 | * `LayersManager` that is just a wrapper for your app 57 | * `Layer` to be used contextually in your components when you want to render something in a layer 58 | 59 | ```jsx 60 | import React from 'react' 61 | import ReactDOM from 'react-dom' 62 | import { LayersManager, Layer } from 'react-layers-manager' 63 | 64 | const SampleModal = () => ( 65 | 66 | We have updated our privacy policy :trollface: 67 | 68 | ) 69 | 70 | const App = () => ( 71 |

Hello folks

72 | 73 | 74 | ) 75 | 76 | ReactDOM.render( 77 | 78 | 79 | , 80 | document.getElementById('root') 81 | ) 82 | ``` 83 | 84 | ### Layer 85 | 86 | The `Layer` component accepts a few optional `props`: 87 | 88 | ```js 89 | type Props = { 90 | // Renders a layer at a specific index. 91 | // By default layers are appended to the layers manager container. 92 | index?: number, 93 | 94 | // Invoked when the layer mounts with the app element. 95 | // This is useful to set aria-hidden="true" for example when showing a modal 96 | // or disable scrolling. 97 | onMount?: (root: HTMLElement) => void, 98 | 99 | // Invoked when the layer unmounts with the app element. 100 | onUnmount?: (root: HTMLElement) => void, 101 | } 102 | ``` 103 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "react-layers-manager", 3 | "version": "0.1.2", 4 | "repository": "giuseppeg/react-layers-manager", 5 | "main": "./lib/index.cjs.js", 6 | "module": "./lib/index.es.js", 7 | "files": [ 8 | "index.js", 9 | "lib", 10 | "README.md", 11 | "LICENSE.md" 12 | ], 13 | "description": "Manage layers and z-index in React applications effectively", 14 | "keywords": [ 15 | "react", 16 | "z-index", 17 | "zIndex", 18 | "layers", 19 | "modal", 20 | "tooltip" 21 | ], 22 | "author": "Giuseppe Gurgone", 23 | "license": "MIT", 24 | "devDependencies": { 25 | "babel-core": "^6.26.3", 26 | "babel-plugin-external-helpers": "^6.22.0", 27 | "babel-plugin-transform-class-properties": "^6.24.1", 28 | "babel-preset-env": "^1.7.0", 29 | "babel-preset-react": "^6.24.1", 30 | "rollup": "^0.60.1", 31 | "rollup-plugin-babel": "^3.0.4" 32 | }, 33 | "peerDependencies": { 34 | "react": ">= 16.3.x" 35 | }, 36 | "scripts": { 37 | "prepublish": "rm -rf lib && rollup -c" 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /rollup.config.js: -------------------------------------------------------------------------------- 1 | import babel from 'rollup-plugin-babel' 2 | 3 | export default ['cjs', 'es'].map(format => ({ 4 | input: './src/index.js', 5 | output: { 6 | file: `./lib/index.${format}.js`, 7 | format 8 | }, 9 | plugins: [ 10 | babel({ 11 | exclude: 'node_modules/**' 12 | }) 13 | ], 14 | external: ['react', 'react-dom'] 15 | })); 16 | -------------------------------------------------------------------------------- /src/Layer.js: -------------------------------------------------------------------------------- 1 | import React from "react" 2 | import { createPortal } from "react-dom" 3 | import { Consumer } from "./context" 4 | 5 | const Layer = props => ( 6 | 7 | {({ host, root }) => 8 | host && root && 9 | } 10 | 11 | ) 12 | export default Layer 13 | 14 | class LayerImpl extends React.Component { 15 | state = { container: null } 16 | componentDidMount() { 17 | const { host, index, onMount, root } = this.props 18 | const container = host.ownerDocument.createElement("div") 19 | const sibling = typeof index === "number" && host.children[index] 20 | sibling 21 | ? host.insertBefore(container, sibling) 22 | : host.appendChild(container) 23 | this.setState({ container }, () => { 24 | root && onMount && onMount(root) 25 | }) 26 | } 27 | componentWillUnmount() { 28 | const { container } = this.state 29 | const { root, host, onUnmount } = this.props 30 | root && onUnmount && onUnmount(root) 31 | host && container && host.removeChild(container) 32 | } 33 | render() { 34 | const { container } = this.state 35 | return container && createPortal(this.props.children, container) 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/LayersManager.js: -------------------------------------------------------------------------------- 1 | import React from "react" 2 | import { Provider } from "./context" 3 | 4 | export default class LayersManager extends React.Component { 5 | root = React.createRef() 6 | host = React.createRef() 7 | state = { 8 | root: this.root.current, 9 | host: this.host.current, 10 | } 11 | componentDidMount() { 12 | this.setState({ 13 | root: this.root.current, 14 | host: this.host.current, 15 | }) 16 | } 17 | render() { 18 | return ( 19 | 20 |
21 | {this.props.children} 22 |
23 |
24 | 25 | ) 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/context.js: -------------------------------------------------------------------------------- 1 | import { createContext } from "react" 2 | export const { Provider, Consumer } = createContext() 3 | -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | export { default as LayersManager } from "./LayersManager" 2 | export { default as Layer } from "./Layer" 3 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@types/estree@0.0.39": 6 | version "0.0.39" 7 | resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" 8 | 9 | "@types/node@*": 10 | version "10.3.1" 11 | resolved "https://registry.yarnpkg.com/@types/node/-/node-10.3.1.tgz#51092fbacaed768a122a293814474fbf6e5e8b6d" 12 | 13 | ansi-regex@^2.0.0: 14 | version "2.1.1" 15 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" 16 | 17 | ansi-styles@^2.2.1: 18 | version "2.2.1" 19 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" 20 | 21 | babel-code-frame@^6.26.0: 22 | version "6.26.0" 23 | resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" 24 | dependencies: 25 | chalk "^1.1.3" 26 | esutils "^2.0.2" 27 | js-tokens "^3.0.2" 28 | 29 | babel-core@^6.26.0, babel-core@^6.26.3: 30 | version "6.26.3" 31 | resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz#b2e2f09e342d0f0c88e2f02e067794125e75c207" 32 | dependencies: 33 | babel-code-frame "^6.26.0" 34 | babel-generator "^6.26.0" 35 | babel-helpers "^6.24.1" 36 | babel-messages "^6.23.0" 37 | babel-register "^6.26.0" 38 | babel-runtime "^6.26.0" 39 | babel-template "^6.26.0" 40 | babel-traverse "^6.26.0" 41 | babel-types "^6.26.0" 42 | babylon "^6.18.0" 43 | convert-source-map "^1.5.1" 44 | debug "^2.6.9" 45 | json5 "^0.5.1" 46 | lodash "^4.17.4" 47 | minimatch "^3.0.4" 48 | path-is-absolute "^1.0.1" 49 | private "^0.1.8" 50 | slash "^1.0.0" 51 | source-map "^0.5.7" 52 | 53 | babel-generator@^6.26.0: 54 | version "6.26.1" 55 | resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90" 56 | dependencies: 57 | babel-messages "^6.23.0" 58 | babel-runtime "^6.26.0" 59 | babel-types "^6.26.0" 60 | detect-indent "^4.0.0" 61 | jsesc "^1.3.0" 62 | lodash "^4.17.4" 63 | source-map "^0.5.7" 64 | trim-right "^1.0.1" 65 | 66 | babel-helper-builder-binary-assignment-operator-visitor@^6.24.1: 67 | version "6.24.1" 68 | resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz#cce4517ada356f4220bcae8a02c2b346f9a56664" 69 | dependencies: 70 | babel-helper-explode-assignable-expression "^6.24.1" 71 | babel-runtime "^6.22.0" 72 | babel-types "^6.24.1" 73 | 74 | babel-helper-builder-react-jsx@^6.24.1: 75 | version "6.26.0" 76 | resolved "https://registry.yarnpkg.com/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz#39ff8313b75c8b65dceff1f31d383e0ff2a408a0" 77 | dependencies: 78 | babel-runtime "^6.26.0" 79 | babel-types "^6.26.0" 80 | esutils "^2.0.2" 81 | 82 | babel-helper-call-delegate@^6.24.1: 83 | version "6.24.1" 84 | resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d" 85 | dependencies: 86 | babel-helper-hoist-variables "^6.24.1" 87 | babel-runtime "^6.22.0" 88 | babel-traverse "^6.24.1" 89 | babel-types "^6.24.1" 90 | 91 | babel-helper-define-map@^6.24.1: 92 | version "6.26.0" 93 | resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz#a5f56dab41a25f97ecb498c7ebaca9819f95be5f" 94 | dependencies: 95 | babel-helper-function-name "^6.24.1" 96 | babel-runtime "^6.26.0" 97 | babel-types "^6.26.0" 98 | lodash "^4.17.4" 99 | 100 | babel-helper-explode-assignable-expression@^6.24.1: 101 | version "6.24.1" 102 | resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz#f25b82cf7dc10433c55f70592d5746400ac22caa" 103 | dependencies: 104 | babel-runtime "^6.22.0" 105 | babel-traverse "^6.24.1" 106 | babel-types "^6.24.1" 107 | 108 | babel-helper-function-name@^6.24.1: 109 | version "6.24.1" 110 | resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9" 111 | dependencies: 112 | babel-helper-get-function-arity "^6.24.1" 113 | babel-runtime "^6.22.0" 114 | babel-template "^6.24.1" 115 | babel-traverse "^6.24.1" 116 | babel-types "^6.24.1" 117 | 118 | babel-helper-get-function-arity@^6.24.1: 119 | version "6.24.1" 120 | resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d" 121 | dependencies: 122 | babel-runtime "^6.22.0" 123 | babel-types "^6.24.1" 124 | 125 | babel-helper-hoist-variables@^6.24.1: 126 | version "6.24.1" 127 | resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76" 128 | dependencies: 129 | babel-runtime "^6.22.0" 130 | babel-types "^6.24.1" 131 | 132 | babel-helper-optimise-call-expression@^6.24.1: 133 | version "6.24.1" 134 | resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz#f7a13427ba9f73f8f4fa993c54a97882d1244257" 135 | dependencies: 136 | babel-runtime "^6.22.0" 137 | babel-types "^6.24.1" 138 | 139 | babel-helper-regex@^6.24.1: 140 | version "6.26.0" 141 | resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz#325c59f902f82f24b74faceed0363954f6495e72" 142 | dependencies: 143 | babel-runtime "^6.26.0" 144 | babel-types "^6.26.0" 145 | lodash "^4.17.4" 146 | 147 | babel-helper-remap-async-to-generator@^6.24.1: 148 | version "6.24.1" 149 | resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz#5ec581827ad723fecdd381f1c928390676e4551b" 150 | dependencies: 151 | babel-helper-function-name "^6.24.1" 152 | babel-runtime "^6.22.0" 153 | babel-template "^6.24.1" 154 | babel-traverse "^6.24.1" 155 | babel-types "^6.24.1" 156 | 157 | babel-helper-replace-supers@^6.24.1: 158 | version "6.24.1" 159 | resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz#bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a" 160 | dependencies: 161 | babel-helper-optimise-call-expression "^6.24.1" 162 | babel-messages "^6.23.0" 163 | babel-runtime "^6.22.0" 164 | babel-template "^6.24.1" 165 | babel-traverse "^6.24.1" 166 | babel-types "^6.24.1" 167 | 168 | babel-helpers@^6.24.1: 169 | version "6.24.1" 170 | resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" 171 | dependencies: 172 | babel-runtime "^6.22.0" 173 | babel-template "^6.24.1" 174 | 175 | babel-messages@^6.23.0: 176 | version "6.23.0" 177 | resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" 178 | dependencies: 179 | babel-runtime "^6.22.0" 180 | 181 | babel-plugin-check-es2015-constants@^6.22.0: 182 | version "6.22.0" 183 | resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a" 184 | dependencies: 185 | babel-runtime "^6.22.0" 186 | 187 | babel-plugin-external-helpers@^6.22.0: 188 | version "6.22.0" 189 | resolved "https://registry.yarnpkg.com/babel-plugin-external-helpers/-/babel-plugin-external-helpers-6.22.0.tgz#2285f48b02bd5dede85175caf8c62e86adccefa1" 190 | integrity sha1-IoX0iwK9Xe3oUXXK+MYuhq3M76E= 191 | dependencies: 192 | babel-runtime "^6.22.0" 193 | 194 | babel-plugin-syntax-async-functions@^6.8.0: 195 | version "6.13.0" 196 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" 197 | 198 | babel-plugin-syntax-class-properties@^6.8.0: 199 | version "6.13.0" 200 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz#d7eb23b79a317f8543962c505b827c7d6cac27de" 201 | 202 | babel-plugin-syntax-exponentiation-operator@^6.8.0: 203 | version "6.13.0" 204 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de" 205 | 206 | babel-plugin-syntax-flow@^6.18.0: 207 | version "6.18.0" 208 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz#4c3ab20a2af26aa20cd25995c398c4eb70310c8d" 209 | 210 | babel-plugin-syntax-jsx@^6.3.13, babel-plugin-syntax-jsx@^6.8.0: 211 | version "6.18.0" 212 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946" 213 | 214 | babel-plugin-syntax-trailing-function-commas@^6.22.0: 215 | version "6.22.0" 216 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3" 217 | 218 | babel-plugin-transform-async-to-generator@^6.22.0: 219 | version "6.24.1" 220 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761" 221 | dependencies: 222 | babel-helper-remap-async-to-generator "^6.24.1" 223 | babel-plugin-syntax-async-functions "^6.8.0" 224 | babel-runtime "^6.22.0" 225 | 226 | babel-plugin-transform-class-properties@^6.24.1: 227 | version "6.24.1" 228 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz#6a79763ea61d33d36f37b611aa9def81a81b46ac" 229 | dependencies: 230 | babel-helper-function-name "^6.24.1" 231 | babel-plugin-syntax-class-properties "^6.8.0" 232 | babel-runtime "^6.22.0" 233 | babel-template "^6.24.1" 234 | 235 | babel-plugin-transform-es2015-arrow-functions@^6.22.0: 236 | version "6.22.0" 237 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221" 238 | dependencies: 239 | babel-runtime "^6.22.0" 240 | 241 | babel-plugin-transform-es2015-block-scoped-functions@^6.22.0: 242 | version "6.22.0" 243 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141" 244 | dependencies: 245 | babel-runtime "^6.22.0" 246 | 247 | babel-plugin-transform-es2015-block-scoping@^6.23.0: 248 | version "6.26.0" 249 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz#d70f5299c1308d05c12f463813b0a09e73b1895f" 250 | dependencies: 251 | babel-runtime "^6.26.0" 252 | babel-template "^6.26.0" 253 | babel-traverse "^6.26.0" 254 | babel-types "^6.26.0" 255 | lodash "^4.17.4" 256 | 257 | babel-plugin-transform-es2015-classes@^6.23.0: 258 | version "6.24.1" 259 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db" 260 | dependencies: 261 | babel-helper-define-map "^6.24.1" 262 | babel-helper-function-name "^6.24.1" 263 | babel-helper-optimise-call-expression "^6.24.1" 264 | babel-helper-replace-supers "^6.24.1" 265 | babel-messages "^6.23.0" 266 | babel-runtime "^6.22.0" 267 | babel-template "^6.24.1" 268 | babel-traverse "^6.24.1" 269 | babel-types "^6.24.1" 270 | 271 | babel-plugin-transform-es2015-computed-properties@^6.22.0: 272 | version "6.24.1" 273 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3" 274 | dependencies: 275 | babel-runtime "^6.22.0" 276 | babel-template "^6.24.1" 277 | 278 | babel-plugin-transform-es2015-destructuring@^6.23.0: 279 | version "6.23.0" 280 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d" 281 | dependencies: 282 | babel-runtime "^6.22.0" 283 | 284 | babel-plugin-transform-es2015-duplicate-keys@^6.22.0: 285 | version "6.24.1" 286 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e" 287 | dependencies: 288 | babel-runtime "^6.22.0" 289 | babel-types "^6.24.1" 290 | 291 | babel-plugin-transform-es2015-for-of@^6.23.0: 292 | version "6.23.0" 293 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691" 294 | dependencies: 295 | babel-runtime "^6.22.0" 296 | 297 | babel-plugin-transform-es2015-function-name@^6.22.0: 298 | version "6.24.1" 299 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b" 300 | dependencies: 301 | babel-helper-function-name "^6.24.1" 302 | babel-runtime "^6.22.0" 303 | babel-types "^6.24.1" 304 | 305 | babel-plugin-transform-es2015-literals@^6.22.0: 306 | version "6.22.0" 307 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e" 308 | dependencies: 309 | babel-runtime "^6.22.0" 310 | 311 | babel-plugin-transform-es2015-modules-amd@^6.22.0, babel-plugin-transform-es2015-modules-amd@^6.24.1: 312 | version "6.24.1" 313 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz#3b3e54017239842d6d19c3011c4bd2f00a00d154" 314 | dependencies: 315 | babel-plugin-transform-es2015-modules-commonjs "^6.24.1" 316 | babel-runtime "^6.22.0" 317 | babel-template "^6.24.1" 318 | 319 | babel-plugin-transform-es2015-modules-commonjs@^6.23.0, babel-plugin-transform-es2015-modules-commonjs@^6.24.1: 320 | version "6.26.2" 321 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz#58a793863a9e7ca870bdc5a881117ffac27db6f3" 322 | dependencies: 323 | babel-plugin-transform-strict-mode "^6.24.1" 324 | babel-runtime "^6.26.0" 325 | babel-template "^6.26.0" 326 | babel-types "^6.26.0" 327 | 328 | babel-plugin-transform-es2015-modules-systemjs@^6.23.0: 329 | version "6.24.1" 330 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23" 331 | dependencies: 332 | babel-helper-hoist-variables "^6.24.1" 333 | babel-runtime "^6.22.0" 334 | babel-template "^6.24.1" 335 | 336 | babel-plugin-transform-es2015-modules-umd@^6.23.0: 337 | version "6.24.1" 338 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468" 339 | dependencies: 340 | babel-plugin-transform-es2015-modules-amd "^6.24.1" 341 | babel-runtime "^6.22.0" 342 | babel-template "^6.24.1" 343 | 344 | babel-plugin-transform-es2015-object-super@^6.22.0: 345 | version "6.24.1" 346 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d" 347 | dependencies: 348 | babel-helper-replace-supers "^6.24.1" 349 | babel-runtime "^6.22.0" 350 | 351 | babel-plugin-transform-es2015-parameters@^6.23.0: 352 | version "6.24.1" 353 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b" 354 | dependencies: 355 | babel-helper-call-delegate "^6.24.1" 356 | babel-helper-get-function-arity "^6.24.1" 357 | babel-runtime "^6.22.0" 358 | babel-template "^6.24.1" 359 | babel-traverse "^6.24.1" 360 | babel-types "^6.24.1" 361 | 362 | babel-plugin-transform-es2015-shorthand-properties@^6.22.0: 363 | version "6.24.1" 364 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0" 365 | dependencies: 366 | babel-runtime "^6.22.0" 367 | babel-types "^6.24.1" 368 | 369 | babel-plugin-transform-es2015-spread@^6.22.0: 370 | version "6.22.0" 371 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1" 372 | dependencies: 373 | babel-runtime "^6.22.0" 374 | 375 | babel-plugin-transform-es2015-sticky-regex@^6.22.0: 376 | version "6.24.1" 377 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc" 378 | dependencies: 379 | babel-helper-regex "^6.24.1" 380 | babel-runtime "^6.22.0" 381 | babel-types "^6.24.1" 382 | 383 | babel-plugin-transform-es2015-template-literals@^6.22.0: 384 | version "6.22.0" 385 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d" 386 | dependencies: 387 | babel-runtime "^6.22.0" 388 | 389 | babel-plugin-transform-es2015-typeof-symbol@^6.23.0: 390 | version "6.23.0" 391 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372" 392 | dependencies: 393 | babel-runtime "^6.22.0" 394 | 395 | babel-plugin-transform-es2015-unicode-regex@^6.22.0: 396 | version "6.24.1" 397 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9" 398 | dependencies: 399 | babel-helper-regex "^6.24.1" 400 | babel-runtime "^6.22.0" 401 | regexpu-core "^2.0.0" 402 | 403 | babel-plugin-transform-exponentiation-operator@^6.22.0: 404 | version "6.24.1" 405 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz#2ab0c9c7f3098fa48907772bb813fe41e8de3a0e" 406 | dependencies: 407 | babel-helper-builder-binary-assignment-operator-visitor "^6.24.1" 408 | babel-plugin-syntax-exponentiation-operator "^6.8.0" 409 | babel-runtime "^6.22.0" 410 | 411 | babel-plugin-transform-flow-strip-types@^6.22.0: 412 | version "6.22.0" 413 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz#84cb672935d43714fdc32bce84568d87441cf7cf" 414 | dependencies: 415 | babel-plugin-syntax-flow "^6.18.0" 416 | babel-runtime "^6.22.0" 417 | 418 | babel-plugin-transform-react-display-name@^6.23.0: 419 | version "6.25.0" 420 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz#67e2bf1f1e9c93ab08db96792e05392bf2cc28d1" 421 | dependencies: 422 | babel-runtime "^6.22.0" 423 | 424 | babel-plugin-transform-react-jsx-self@^6.22.0: 425 | version "6.22.0" 426 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz#df6d80a9da2612a121e6ddd7558bcbecf06e636e" 427 | dependencies: 428 | babel-plugin-syntax-jsx "^6.8.0" 429 | babel-runtime "^6.22.0" 430 | 431 | babel-plugin-transform-react-jsx-source@^6.22.0: 432 | version "6.22.0" 433 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz#66ac12153f5cd2d17b3c19268f4bf0197f44ecd6" 434 | dependencies: 435 | babel-plugin-syntax-jsx "^6.8.0" 436 | babel-runtime "^6.22.0" 437 | 438 | babel-plugin-transform-react-jsx@^6.24.1: 439 | version "6.24.1" 440 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz#840a028e7df460dfc3a2d29f0c0d91f6376e66a3" 441 | dependencies: 442 | babel-helper-builder-react-jsx "^6.24.1" 443 | babel-plugin-syntax-jsx "^6.8.0" 444 | babel-runtime "^6.22.0" 445 | 446 | babel-plugin-transform-regenerator@^6.22.0: 447 | version "6.26.0" 448 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz#e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f" 449 | dependencies: 450 | regenerator-transform "^0.10.0" 451 | 452 | babel-plugin-transform-strict-mode@^6.24.1: 453 | version "6.24.1" 454 | resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758" 455 | dependencies: 456 | babel-runtime "^6.22.0" 457 | babel-types "^6.24.1" 458 | 459 | babel-preset-env@^1.7.0: 460 | version "1.7.0" 461 | resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.7.0.tgz#dea79fa4ebeb883cd35dab07e260c1c9c04df77a" 462 | dependencies: 463 | babel-plugin-check-es2015-constants "^6.22.0" 464 | babel-plugin-syntax-trailing-function-commas "^6.22.0" 465 | babel-plugin-transform-async-to-generator "^6.22.0" 466 | babel-plugin-transform-es2015-arrow-functions "^6.22.0" 467 | babel-plugin-transform-es2015-block-scoped-functions "^6.22.0" 468 | babel-plugin-transform-es2015-block-scoping "^6.23.0" 469 | babel-plugin-transform-es2015-classes "^6.23.0" 470 | babel-plugin-transform-es2015-computed-properties "^6.22.0" 471 | babel-plugin-transform-es2015-destructuring "^6.23.0" 472 | babel-plugin-transform-es2015-duplicate-keys "^6.22.0" 473 | babel-plugin-transform-es2015-for-of "^6.23.0" 474 | babel-plugin-transform-es2015-function-name "^6.22.0" 475 | babel-plugin-transform-es2015-literals "^6.22.0" 476 | babel-plugin-transform-es2015-modules-amd "^6.22.0" 477 | babel-plugin-transform-es2015-modules-commonjs "^6.23.0" 478 | babel-plugin-transform-es2015-modules-systemjs "^6.23.0" 479 | babel-plugin-transform-es2015-modules-umd "^6.23.0" 480 | babel-plugin-transform-es2015-object-super "^6.22.0" 481 | babel-plugin-transform-es2015-parameters "^6.23.0" 482 | babel-plugin-transform-es2015-shorthand-properties "^6.22.0" 483 | babel-plugin-transform-es2015-spread "^6.22.0" 484 | babel-plugin-transform-es2015-sticky-regex "^6.22.0" 485 | babel-plugin-transform-es2015-template-literals "^6.22.0" 486 | babel-plugin-transform-es2015-typeof-symbol "^6.23.0" 487 | babel-plugin-transform-es2015-unicode-regex "^6.22.0" 488 | babel-plugin-transform-exponentiation-operator "^6.22.0" 489 | babel-plugin-transform-regenerator "^6.22.0" 490 | browserslist "^3.2.6" 491 | invariant "^2.2.2" 492 | semver "^5.3.0" 493 | 494 | babel-preset-flow@^6.23.0: 495 | version "6.23.0" 496 | resolved "https://registry.yarnpkg.com/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz#e71218887085ae9a24b5be4169affb599816c49d" 497 | dependencies: 498 | babel-plugin-transform-flow-strip-types "^6.22.0" 499 | 500 | babel-preset-react@^6.24.1: 501 | version "6.24.1" 502 | resolved "https://registry.yarnpkg.com/babel-preset-react/-/babel-preset-react-6.24.1.tgz#ba69dfaea45fc3ec639b6a4ecea6e17702c91380" 503 | dependencies: 504 | babel-plugin-syntax-jsx "^6.3.13" 505 | babel-plugin-transform-react-display-name "^6.23.0" 506 | babel-plugin-transform-react-jsx "^6.24.1" 507 | babel-plugin-transform-react-jsx-self "^6.22.0" 508 | babel-plugin-transform-react-jsx-source "^6.22.0" 509 | babel-preset-flow "^6.23.0" 510 | 511 | babel-register@^6.26.0: 512 | version "6.26.0" 513 | resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071" 514 | dependencies: 515 | babel-core "^6.26.0" 516 | babel-runtime "^6.26.0" 517 | core-js "^2.5.0" 518 | home-or-tmp "^2.0.0" 519 | lodash "^4.17.4" 520 | mkdirp "^0.5.1" 521 | source-map-support "^0.4.15" 522 | 523 | babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.26.0: 524 | version "6.26.0" 525 | resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" 526 | dependencies: 527 | core-js "^2.4.0" 528 | regenerator-runtime "^0.11.0" 529 | 530 | babel-template@^6.24.1, babel-template@^6.26.0: 531 | version "6.26.0" 532 | resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" 533 | dependencies: 534 | babel-runtime "^6.26.0" 535 | babel-traverse "^6.26.0" 536 | babel-types "^6.26.0" 537 | babylon "^6.18.0" 538 | lodash "^4.17.4" 539 | 540 | babel-traverse@^6.24.1, babel-traverse@^6.26.0: 541 | version "6.26.0" 542 | resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" 543 | dependencies: 544 | babel-code-frame "^6.26.0" 545 | babel-messages "^6.23.0" 546 | babel-runtime "^6.26.0" 547 | babel-types "^6.26.0" 548 | babylon "^6.18.0" 549 | debug "^2.6.8" 550 | globals "^9.18.0" 551 | invariant "^2.2.2" 552 | lodash "^4.17.4" 553 | 554 | babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0: 555 | version "6.26.0" 556 | resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" 557 | dependencies: 558 | babel-runtime "^6.26.0" 559 | esutils "^2.0.2" 560 | lodash "^4.17.4" 561 | to-fast-properties "^1.0.3" 562 | 563 | babylon@^6.18.0: 564 | version "6.18.0" 565 | resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" 566 | 567 | balanced-match@^1.0.0: 568 | version "1.0.0" 569 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 570 | 571 | brace-expansion@^1.1.7: 572 | version "1.1.11" 573 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 574 | dependencies: 575 | balanced-match "^1.0.0" 576 | concat-map "0.0.1" 577 | 578 | browserslist@^3.2.6: 579 | version "3.2.8" 580 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-3.2.8.tgz#b0005361d6471f0f5952797a76fc985f1f978fc6" 581 | dependencies: 582 | caniuse-lite "^1.0.30000844" 583 | electron-to-chromium "^1.3.47" 584 | 585 | caniuse-lite@^1.0.30000844: 586 | version "1.0.30000850" 587 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000850.tgz#e68a88db4ea598b4c33b8419f7385473e4802495" 588 | 589 | chalk@^1.1.3: 590 | version "1.1.3" 591 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" 592 | dependencies: 593 | ansi-styles "^2.2.1" 594 | escape-string-regexp "^1.0.2" 595 | has-ansi "^2.0.0" 596 | strip-ansi "^3.0.0" 597 | supports-color "^2.0.0" 598 | 599 | concat-map@0.0.1: 600 | version "0.0.1" 601 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 602 | 603 | convert-source-map@^1.5.1: 604 | version "1.5.1" 605 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5" 606 | 607 | core-js@^2.4.0, core-js@^2.5.0: 608 | version "2.5.7" 609 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.7.tgz#f972608ff0cead68b841a16a932d0b183791814e" 610 | 611 | debug@^2.6.8, debug@^2.6.9: 612 | version "2.6.9" 613 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 614 | dependencies: 615 | ms "2.0.0" 616 | 617 | detect-indent@^4.0.0: 618 | version "4.0.0" 619 | resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" 620 | dependencies: 621 | repeating "^2.0.0" 622 | 623 | electron-to-chromium@^1.3.47: 624 | version "1.3.48" 625 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.48.tgz#d3b0d8593814044e092ece2108fc3ac9aea4b900" 626 | 627 | escape-string-regexp@^1.0.2: 628 | version "1.0.5" 629 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 630 | 631 | estree-walker@^0.2.1: 632 | version "0.2.1" 633 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.2.1.tgz#bdafe8095383d8414d5dc2ecf4c9173b6db9412e" 634 | 635 | esutils@^2.0.2: 636 | version "2.0.2" 637 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" 638 | 639 | globals@^9.18.0: 640 | version "9.18.0" 641 | resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" 642 | 643 | has-ansi@^2.0.0: 644 | version "2.0.0" 645 | resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" 646 | dependencies: 647 | ansi-regex "^2.0.0" 648 | 649 | home-or-tmp@^2.0.0: 650 | version "2.0.0" 651 | resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" 652 | dependencies: 653 | os-homedir "^1.0.0" 654 | os-tmpdir "^1.0.1" 655 | 656 | invariant@^2.2.2: 657 | version "2.2.4" 658 | resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" 659 | dependencies: 660 | loose-envify "^1.0.0" 661 | 662 | is-finite@^1.0.0: 663 | version "1.0.2" 664 | resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" 665 | dependencies: 666 | number-is-nan "^1.0.0" 667 | 668 | js-tokens@^3.0.0, js-tokens@^3.0.2: 669 | version "3.0.2" 670 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" 671 | 672 | jsesc@^1.3.0: 673 | version "1.3.0" 674 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" 675 | 676 | jsesc@~0.5.0: 677 | version "0.5.0" 678 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" 679 | 680 | json5@^0.5.1: 681 | version "0.5.1" 682 | resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" 683 | 684 | lodash@^4.17.4: 685 | version "4.17.14" 686 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.14.tgz#9ce487ae66c96254fe20b599f21b6816028078ba" 687 | integrity sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw== 688 | 689 | loose-envify@^1.0.0: 690 | version "1.3.1" 691 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" 692 | dependencies: 693 | js-tokens "^3.0.0" 694 | 695 | minimatch@^3.0.2, minimatch@^3.0.4: 696 | version "3.0.4" 697 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 698 | dependencies: 699 | brace-expansion "^1.1.7" 700 | 701 | minimist@0.0.8: 702 | version "0.0.8" 703 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 704 | 705 | mkdirp@^0.5.1: 706 | version "0.5.1" 707 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 708 | dependencies: 709 | minimist "0.0.8" 710 | 711 | ms@2.0.0: 712 | version "2.0.0" 713 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 714 | 715 | number-is-nan@^1.0.0: 716 | version "1.0.1" 717 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" 718 | 719 | os-homedir@^1.0.0: 720 | version "1.0.2" 721 | resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" 722 | 723 | os-tmpdir@^1.0.1: 724 | version "1.0.2" 725 | resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" 726 | 727 | path-is-absolute@^1.0.1: 728 | version "1.0.1" 729 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 730 | 731 | private@^0.1.6, private@^0.1.8: 732 | version "0.1.8" 733 | resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" 734 | 735 | regenerate@^1.2.1: 736 | version "1.4.0" 737 | resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" 738 | 739 | regenerator-runtime@^0.11.0: 740 | version "0.11.1" 741 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" 742 | 743 | regenerator-transform@^0.10.0: 744 | version "0.10.1" 745 | resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.10.1.tgz#1e4996837231da8b7f3cf4114d71b5691a0680dd" 746 | dependencies: 747 | babel-runtime "^6.18.0" 748 | babel-types "^6.19.0" 749 | private "^0.1.6" 750 | 751 | regexpu-core@^2.0.0: 752 | version "2.0.0" 753 | resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" 754 | dependencies: 755 | regenerate "^1.2.1" 756 | regjsgen "^0.2.0" 757 | regjsparser "^0.1.4" 758 | 759 | regjsgen@^0.2.0: 760 | version "0.2.0" 761 | resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" 762 | 763 | regjsparser@^0.1.4: 764 | version "0.1.5" 765 | resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" 766 | dependencies: 767 | jsesc "~0.5.0" 768 | 769 | repeating@^2.0.0: 770 | version "2.0.1" 771 | resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" 772 | dependencies: 773 | is-finite "^1.0.0" 774 | 775 | rollup-plugin-babel@^3.0.4: 776 | version "3.0.4" 777 | resolved "https://registry.yarnpkg.com/rollup-plugin-babel/-/rollup-plugin-babel-3.0.4.tgz#41b3e762fe64450dd61da3105a2cf7ad76be4edc" 778 | dependencies: 779 | rollup-pluginutils "^1.5.0" 780 | 781 | rollup-pluginutils@^1.5.0: 782 | version "1.5.2" 783 | resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-1.5.2.tgz#1e156e778f94b7255bfa1b3d0178be8f5c552408" 784 | dependencies: 785 | estree-walker "^0.2.1" 786 | minimatch "^3.0.2" 787 | 788 | rollup@^0.60.1: 789 | version "0.60.1" 790 | resolved "https://registry.yarnpkg.com/rollup/-/rollup-0.60.1.tgz#07cb66153f1541d5f7e82b8393b405c31647dae9" 791 | dependencies: 792 | "@types/estree" "0.0.39" 793 | "@types/node" "*" 794 | 795 | semver@^5.3.0: 796 | version "5.5.0" 797 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" 798 | 799 | slash@^1.0.0: 800 | version "1.0.0" 801 | resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" 802 | 803 | source-map-support@^0.4.15: 804 | version "0.4.18" 805 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" 806 | dependencies: 807 | source-map "^0.5.6" 808 | 809 | source-map@^0.5.6, source-map@^0.5.7: 810 | version "0.5.7" 811 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" 812 | 813 | strip-ansi@^3.0.0: 814 | version "3.0.1" 815 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 816 | dependencies: 817 | ansi-regex "^2.0.0" 818 | 819 | supports-color@^2.0.0: 820 | version "2.0.0" 821 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" 822 | 823 | to-fast-properties@^1.0.3: 824 | version "1.0.3" 825 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" 826 | 827 | trim-right@^1.0.1: 828 | version "1.0.1" 829 | resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" 830 | --------------------------------------------------------------------------------