├── .eslintrc
├── .gitignore
├── LICENSE
├── PlatformTouchable.js
├── README.md
├── example.js
├── package.json
└── yarn.lock
/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "extends": [
3 | "react-native-prettier"
4 | ]
5 | }
6 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2017, React Native Platform Touchable Contributors
2 | All rights reserved.
3 |
4 | Redistribution and use in source and binary forms, with or without
5 | modification, are permitted provided that the following conditions are met:
6 |
7 | * Redistributions of source code must retain the above copyright notice, this
8 | list of conditions and the following disclaimer.
9 |
10 | * Redistributions in binary form must reproduce the above copyright notice,
11 | this list of conditions and the following disclaimer in the documentation
12 | and/or other materials provided with the distribution.
13 |
14 | * Neither the name of the copyright holder nor the names of its
15 | contributors may be used to endorse or promote products derived from
16 | this software without specific prior written permission.
17 |
18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
22 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
24 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
25 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
26 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 |
--------------------------------------------------------------------------------
/PlatformTouchable.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import {
3 | Platform,
4 | TouchableNativeFeedback,
5 | TouchableOpacity,
6 | TouchableWithoutFeedback,
7 | View,
8 | } from 'react-native';
9 |
10 | let TouchableComponent;
11 |
12 | if (Platform.OS === 'android') {
13 | TouchableComponent =
14 | Platform.Version <= 20 ? TouchableOpacity : TouchableNativeFeedback;
15 | } else {
16 | TouchableComponent = TouchableOpacity;
17 | }
18 |
19 | if (TouchableComponent !== TouchableNativeFeedback) {
20 | TouchableComponent.SelectableBackground = () => ({});
21 | TouchableComponent.SelectableBackgroundBorderless = () => ({});
22 | TouchableComponent.Ripple = () => ({});
23 | TouchableComponent.canUseNativeForeground = () => false;
24 | }
25 |
26 | export default class PlatformTouchable extends React.Component {
27 | static SelectableBackground = TouchableComponent.SelectableBackground;
28 | static SelectableBackgroundBorderless = TouchableComponent.SelectableBackgroundBorderless;
29 | static Ripple = TouchableComponent.Ripple;
30 | static canUseNativeForeground = TouchableComponent.canUseNativeForeground;
31 |
32 | render() {
33 | let {
34 | children,
35 | style,
36 | foreground,
37 | background,
38 | useForeground,
39 | ...props
40 | } = this.props;
41 |
42 | // Even though it works for TouchableWithoutFeedback and
43 | // TouchableNativeFeedback with this component, we want
44 | // the API to be the same for all components so we require
45 | // exactly one direct child for every touchable type.
46 | children = React.Children.only(children);
47 |
48 | if (TouchableComponent === TouchableNativeFeedback) {
49 | useForeground =
50 | foreground && TouchableNativeFeedback.canUseNativeForeground();
51 |
52 | if (foreground && background) {
53 | console.warn(
54 | 'Specified foreground and background for Touchable, only one can be used at a time. Defaulted to foreground.'
55 | );
56 | }
57 |
58 | return (
59 |
63 |
64 | {children}
65 |
66 |
67 | );
68 | } else if (TouchableComponent === TouchableWithoutFeedback) {
69 | return (
70 |
71 |
72 | {children}
73 |
74 |
75 | );
76 | } else {
77 | let TouchableFallback = this.props.fallback || TouchableComponent;
78 | return (
79 |
80 | {children}
81 |
82 | );
83 | }
84 | }
85 | }
86 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # react-native-platform-touchable is no longer maintained
2 |
3 | 🚨 We recommend using [react-native-gesture-handler buttons](https://software-mansion.github.io/react-native-gesture-handler/docs/component-buttons.html) instead!
4 |
5 |
6 |
7 | #``
8 |
9 | A wrapper around the various `Touchable*` components built into React Native core in order to use `TouchableNativeFeedback` whenever possible, provide an easier interface to using it, and flatten out API differences between the Touchable components.
10 |
11 | - iOS: Defaults to `TouchableOpacity` with default `activeOpacity`.
12 | - Android: Defaults to `TouchableNativeFeedback` with background from Android app style, unless Android API <= 20 / Android < 5.0, then defaults to `TouchableOpacity`.
13 | - `Touchable` requires exactly one child, for example:
14 |
15 | ```javascript
16 | // Good
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 | // Bad
25 |
26 |
27 |
28 |
29 | ```
30 |
31 | ## Usage
32 |
33 | ```
34 | npm i react-native-platform-touchable --save
35 |
36 | # or
37 |
38 | yarn add react-native-platform-touchable
39 | ```
40 |
41 | ```javascript
42 | import React from 'react';
43 | import { Text, View } from 'react-native';
44 | import Touchable from 'react-native-platform-touchable';
45 |
46 | export default class App extends React.Component {
47 | render() {
48 | return (
49 |
50 | console.log('hello!')}
52 | style={{
53 | backgroundColor: '#eee',
54 | paddingVertical: 30,
55 | paddingHorizontal: 80,
56 | }}
57 | background={Touchable.Ripple('blue')}>
58 | Hello there!
59 |
60 |
61 | );
62 | }
63 | }
64 | ```
65 |
66 | ## Statics
67 |
68 | - `Touchable.SelectableBackground()` - creates an object that represents android theme's default background for selectable elements
69 | - `Touchable.SelectableBackgroundBorderless()` - creates an object that represent android theme's default background for borderless selectable elements.
70 | - `Touchable.Ripple(color: string, borderless: boolean)` - creates an object that represents ripple drawable with specified color (as a string). If property borderless evaluates to true the ripple will render outside of the view bounds.
71 |
72 | ## props
73 |
74 | You can use the same props as you would use on `TouchableOpacity`, `TouchableHighlight`, `TouchableNativeFeedback`, and `TouchableWithoutFeedback`. Listed below.
75 |
76 | - `fallback` - If `TouchableNativeFeedback` is not available (on iOS and on Android API <= 20 / Android < 5.0), the component specified in this prop is used instead. Defaults to `TouchableOpacity`.
77 |
78 | - `hitSlop` - use this! pass in an object of the format `{ top: number, left: number, right: number, bottom: number }`, this makes the `Touchable` easier to press by expanding the touchable area by the number of points that you specify on each side, without having to change the layout of the `Touchable`, eg: by adding padding.
79 | - `onPress` - fired when you press (touch in, release within bounds).
80 | - `onPressIn` - fired immediately on press in (like `onmousedown` on web)
81 | - `onPressOut` - fired immediately on press out (like `onmouseout` on web)
82 | - `onLongPress` - fired when you press and hold.
83 | - `delayLongPress` - time to wait for `onLongPress` to fire.
84 | - `delayPressIn` - time to wait for `onPressIn` to fire
85 | - `delayPressOut` - time to wait for `onPressOut` to fire
86 | - `disabled` - default `false`, when `true` the button is disabled.
87 | - `onLayout` - see [onLayout documentation on View](http://facebook.github.io/react-native/releases/0.45/docs/view.html#onlayout)
88 | - `pressRetentionOffset` - see [React Native
89 | documentation](https://facebook.github.io/react-native/docs/touchablewithoutfeedback.html#pressretentionoffset).
90 | - accessibility props - see [`TouchableWithoutFeedback`](https://facebook.github.io/react-native/docs/touchablewithoutfeedback#props) for the list of supported props and [Accessibility guide](https://facebook.github.io/react-native/docs/accessibility.html) for more information.
91 |
92 |
93 | ### Additional props used by TouchableOpacity (default iOS)
94 |
95 | - `activeOpacity` - sets the opacity to animate to when touch is active.
96 |
97 | ### Additional props used by TouchableNativeFeedback (default Android)
98 |
99 | - `background` - customize the touch effect with `Touchable.SelectableBackground`, `Touchable.SelectableBackgroundBorderless`, or `Touchable.Ripple(color: string, borderless: boolean)`.
100 | - `foreground` - same as `background`, should be used instead of background if the `Touchable` has any images as children and you want the ripple to be rendered above the image (if the image is not opaque, `background` will not be visible, you must use foreground)
101 |
102 | ### Additional props used by TouchableHighlight
103 |
104 | - `underlayColor` - the color of the background when touch is active.
105 | - `onHideUnderlay` - fired immediately after the underlay is hidden
106 | - `onShowUnderlay` - fired immediately after the underlay is shown
107 |
108 | ## Rounded corners on Touchables with TouchableNativeFeedback behavior
109 |
110 | - See [this example on Snack](https://snack.expo.io/ry3Xv9HNW) that demonstrates how to have `Touchable` with `TouchableNativeFeedback` behavior respect rounded corners from `borderRadius`.
111 | - Known issue: rounded corners do not work if you use a `foreground` ripple, see [facebook/react-native/issues/14798](https://github.com/facebook/react-native/issues/14798)
112 |
--------------------------------------------------------------------------------
/example.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { Text, View } from 'react-native';
3 | import Touchable from 'react-native-platform-touchable';
4 |
5 | export default class App extends React.Component {
6 | render() {
7 | return (
8 |
9 | alert('hello!')}
11 | style={{ backgroundColor: '#eee', padding: 30 }}
12 | background={Touchable.Ripple('pink', false)}>
13 | Hello there!
14 |
15 |
16 | );
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "react-native-platform-touchable",
3 | "version": "1.1.1",
4 | "description": "Uses TouchableNativeFeedback where possible and fallback to alternatives where not.",
5 | "license": "BSD-3-Clause",
6 | "main": "PlatformTouchable.js",
7 | "scripts": {
8 | "lint": "eslint .",
9 | "prettier": "eslint . --fix"
10 | },
11 | "files": [
12 | "PlatformTouchable.js"
13 | ],
14 | "keywords": [
15 | "react-native",
16 | "react"
17 | ],
18 | "author": "Brent Vatne ",
19 | "license": "MIT",
20 | "devDependencies": {
21 | "eslint": "^4.1.1",
22 | "eslint-config-react-native-prettier": "^1.0.1"
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | acorn-jsx@^3.0.0:
6 | version "3.0.1"
7 | resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b"
8 | dependencies:
9 | acorn "^3.0.4"
10 |
11 | acorn@^3.0.4:
12 | version "3.3.0"
13 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a"
14 |
15 | acorn@^5.0.1:
16 | version "5.0.3"
17 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.0.3.tgz#c460df08491463f028ccb82eab3730bf01087b3d"
18 |
19 | ajv-keywords@^1.0.0:
20 | version "1.5.1"
21 | resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c"
22 |
23 | ajv@^4.7.0:
24 | version "4.11.8"
25 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536"
26 | dependencies:
27 | co "^4.6.0"
28 | json-stable-stringify "^1.0.1"
29 |
30 | ansi-escapes@^2.0.0:
31 | version "2.0.0"
32 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-2.0.0.tgz#5bae52be424878dd9783e8910e3fc2922e83c81b"
33 |
34 | ansi-regex@^2.0.0:
35 | version "2.1.1"
36 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
37 |
38 | ansi-regex@^3.0.0:
39 | version "3.0.0"
40 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"
41 |
42 | ansi-styles@^2.2.1:
43 | version "2.2.1"
44 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
45 |
46 | argparse@^1.0.7:
47 | version "1.0.9"
48 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86"
49 | dependencies:
50 | sprintf-js "~1.0.2"
51 |
52 | array-union@^1.0.1:
53 | version "1.0.2"
54 | resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39"
55 | dependencies:
56 | array-uniq "^1.0.1"
57 |
58 | array-uniq@^1.0.1:
59 | version "1.0.3"
60 | resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6"
61 |
62 | arrify@^1.0.0:
63 | version "1.0.1"
64 | resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
65 |
66 | babel-code-frame@^6.22.0:
67 | version "6.22.0"
68 | resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4"
69 | dependencies:
70 | chalk "^1.1.0"
71 | esutils "^2.0.2"
72 | js-tokens "^3.0.0"
73 |
74 | babel-eslint@^7.2.3:
75 | version "7.2.3"
76 | resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-7.2.3.tgz#b2fe2d80126470f5c19442dc757253a897710827"
77 | dependencies:
78 | babel-code-frame "^6.22.0"
79 | babel-traverse "^6.23.1"
80 | babel-types "^6.23.0"
81 | babylon "^6.17.0"
82 |
83 | babel-messages@^6.23.0:
84 | version "6.23.0"
85 | resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e"
86 | dependencies:
87 | babel-runtime "^6.22.0"
88 |
89 | babel-runtime@^6.22.0:
90 | version "6.23.0"
91 | resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.23.0.tgz#0a9489f144de70efb3ce4300accdb329e2fc543b"
92 | dependencies:
93 | core-js "^2.4.0"
94 | regenerator-runtime "^0.10.0"
95 |
96 | babel-traverse@^6.23.1:
97 | version "6.25.0"
98 | resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.25.0.tgz#2257497e2fcd19b89edc13c4c91381f9512496f1"
99 | dependencies:
100 | babel-code-frame "^6.22.0"
101 | babel-messages "^6.23.0"
102 | babel-runtime "^6.22.0"
103 | babel-types "^6.25.0"
104 | babylon "^6.17.2"
105 | debug "^2.2.0"
106 | globals "^9.0.0"
107 | invariant "^2.2.0"
108 | lodash "^4.2.0"
109 |
110 | babel-types@^6.23.0, babel-types@^6.25.0:
111 | version "6.25.0"
112 | resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.25.0.tgz#70afb248d5660e5d18f811d91c8303b54134a18e"
113 | dependencies:
114 | babel-runtime "^6.22.0"
115 | esutils "^2.0.2"
116 | lodash "^4.2.0"
117 | to-fast-properties "^1.0.1"
118 |
119 | babylon@^6.17.0, babylon@^6.17.2:
120 | version "6.17.4"
121 | resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.17.4.tgz#3e8b7402b88d22c3423e137a1577883b15ff869a"
122 |
123 | balanced-match@^1.0.0:
124 | version "1.0.0"
125 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
126 |
127 | brace-expansion@^1.1.7:
128 | version "1.1.8"
129 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292"
130 | dependencies:
131 | balanced-match "^1.0.0"
132 | concat-map "0.0.1"
133 |
134 | builtin-modules@^1.0.0, builtin-modules@^1.1.1:
135 | version "1.1.1"
136 | resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f"
137 |
138 | caller-path@^0.1.0:
139 | version "0.1.0"
140 | resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f"
141 | dependencies:
142 | callsites "^0.2.0"
143 |
144 | callsites@^0.2.0:
145 | version "0.2.0"
146 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca"
147 |
148 | chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3:
149 | version "1.1.3"
150 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
151 | dependencies:
152 | ansi-styles "^2.2.1"
153 | escape-string-regexp "^1.0.2"
154 | has-ansi "^2.0.0"
155 | strip-ansi "^3.0.0"
156 | supports-color "^2.0.0"
157 |
158 | circular-json@^0.3.1:
159 | version "0.3.1"
160 | resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.1.tgz#be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d"
161 |
162 | cli-cursor@^2.1.0:
163 | version "2.1.0"
164 | resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5"
165 | dependencies:
166 | restore-cursor "^2.0.0"
167 |
168 | cli-width@^2.0.0:
169 | version "2.1.0"
170 | resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.1.0.tgz#b234ca209b29ef66fc518d9b98d5847b00edf00a"
171 |
172 | co@^4.6.0:
173 | version "4.6.0"
174 | resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
175 |
176 | concat-map@0.0.1:
177 | version "0.0.1"
178 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
179 |
180 | concat-stream@^1.6.0:
181 | version "1.6.0"
182 | resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7"
183 | dependencies:
184 | inherits "^2.0.3"
185 | readable-stream "^2.2.2"
186 | typedarray "^0.0.6"
187 |
188 | contains-path@^0.1.0:
189 | version "0.1.0"
190 | resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a"
191 |
192 | core-js@^2.4.0:
193 | version "2.4.1"
194 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e"
195 |
196 | core-util-is@~1.0.0:
197 | version "1.0.2"
198 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
199 |
200 | debug@^2.2.0, debug@^2.6.8:
201 | version "2.6.8"
202 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc"
203 | dependencies:
204 | ms "2.0.0"
205 |
206 | deep-is@~0.1.3:
207 | version "0.1.3"
208 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
209 |
210 | del@^2.0.2:
211 | version "2.2.2"
212 | resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8"
213 | dependencies:
214 | globby "^5.0.0"
215 | is-path-cwd "^1.0.0"
216 | is-path-in-cwd "^1.0.0"
217 | object-assign "^4.0.1"
218 | pify "^2.0.0"
219 | pinkie-promise "^2.0.0"
220 | rimraf "^2.2.8"
221 |
222 | doctrine@1.5.0:
223 | version "1.5.0"
224 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa"
225 | dependencies:
226 | esutils "^2.0.2"
227 | isarray "^1.0.0"
228 |
229 | doctrine@^2.0.0:
230 | version "2.0.0"
231 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.0.0.tgz#c73d8d2909d22291e1a007a395804da8b665fe63"
232 | dependencies:
233 | esutils "^2.0.2"
234 | isarray "^1.0.0"
235 |
236 | error-ex@^1.2.0:
237 | version "1.3.1"
238 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc"
239 | dependencies:
240 | is-arrayish "^0.2.1"
241 |
242 | escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
243 | version "1.0.5"
244 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
245 |
246 | eslint-config-prettier@^2.2.0:
247 | version "2.3.0"
248 | resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-2.3.0.tgz#b75b1eabea0c8b97b34403647ee25db349b9d8a0"
249 | dependencies:
250 | get-stdin "^5.0.1"
251 |
252 | eslint-config-react-native-prettier@^1.0.1:
253 | version "1.0.1"
254 | resolved "https://registry.yarnpkg.com/eslint-config-react-native-prettier/-/eslint-config-react-native-prettier-1.0.1.tgz#dd994a1ce2c32520ac17e2714952bbd497c6e641"
255 | dependencies:
256 | babel-eslint "^7.2.3"
257 | eslint-config-prettier "^2.2.0"
258 | eslint-plugin-babel "^4.1.1"
259 | eslint-plugin-flowtype "^2.34.1"
260 | eslint-plugin-import "^2.6.0"
261 | eslint-plugin-prettier "^2.1.2"
262 | eslint-plugin-react "^7.1.0"
263 | prettier "^1.5.2"
264 |
265 | eslint-import-resolver-node@^0.3.1:
266 | version "0.3.1"
267 | resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.1.tgz#4422574cde66a9a7b099938ee4d508a199e0e3cc"
268 | dependencies:
269 | debug "^2.6.8"
270 | resolve "^1.2.0"
271 |
272 | eslint-module-utils@^2.0.0:
273 | version "2.1.1"
274 | resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.1.1.tgz#abaec824177613b8a95b299639e1b6facf473449"
275 | dependencies:
276 | debug "^2.6.8"
277 | pkg-dir "^1.0.0"
278 |
279 | eslint-plugin-babel@^4.1.1:
280 | version "4.1.1"
281 | resolved "https://registry.yarnpkg.com/eslint-plugin-babel/-/eslint-plugin-babel-4.1.1.tgz#ef285c87039b67beb3bbd227f5b0eed4fb376b87"
282 |
283 | eslint-plugin-flowtype@^2.34.1:
284 | version "2.34.1"
285 | resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.34.1.tgz#ea109175645b05d37baeac53b9b65066d79b9446"
286 | dependencies:
287 | lodash "^4.15.0"
288 |
289 | eslint-plugin-import@^2.6.0:
290 | version "2.6.1"
291 | resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.6.1.tgz#f580be62bb809421d46e338372764afcc9f59bf6"
292 | dependencies:
293 | builtin-modules "^1.1.1"
294 | contains-path "^0.1.0"
295 | debug "^2.6.8"
296 | doctrine "1.5.0"
297 | eslint-import-resolver-node "^0.3.1"
298 | eslint-module-utils "^2.0.0"
299 | has "^1.0.1"
300 | lodash.cond "^4.3.0"
301 | minimatch "^3.0.3"
302 | read-pkg-up "^2.0.0"
303 |
304 | eslint-plugin-prettier@^2.1.2:
305 | version "2.1.2"
306 | resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-2.1.2.tgz#4b90f4ee7f92bfbe2e926017e1ca40eb628965ea"
307 | dependencies:
308 | fast-diff "^1.1.1"
309 | jest-docblock "^20.0.1"
310 |
311 | eslint-plugin-react@^7.1.0:
312 | version "7.1.0"
313 | resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.1.0.tgz#27770acf39f5fd49cd0af4083ce58104eb390d4c"
314 | dependencies:
315 | doctrine "^2.0.0"
316 | has "^1.0.1"
317 | jsx-ast-utils "^1.4.1"
318 |
319 | eslint-scope@^3.7.1:
320 | version "3.7.1"
321 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8"
322 | dependencies:
323 | esrecurse "^4.1.0"
324 | estraverse "^4.1.1"
325 |
326 | eslint@^4.1.1:
327 | version "4.1.1"
328 | resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.1.1.tgz#facbdfcfe3e0facd3a8b80dc98c4e6c13ae582df"
329 | dependencies:
330 | babel-code-frame "^6.22.0"
331 | chalk "^1.1.3"
332 | concat-stream "^1.6.0"
333 | debug "^2.6.8"
334 | doctrine "^2.0.0"
335 | eslint-scope "^3.7.1"
336 | espree "^3.4.3"
337 | esquery "^1.0.0"
338 | estraverse "^4.2.0"
339 | esutils "^2.0.2"
340 | file-entry-cache "^2.0.0"
341 | glob "^7.1.2"
342 | globals "^9.17.0"
343 | ignore "^3.3.3"
344 | imurmurhash "^0.1.4"
345 | inquirer "^3.0.6"
346 | is-my-json-valid "^2.16.0"
347 | is-resolvable "^1.0.0"
348 | js-yaml "^3.8.4"
349 | json-stable-stringify "^1.0.1"
350 | levn "^0.3.0"
351 | lodash "^4.17.4"
352 | minimatch "^3.0.2"
353 | mkdirp "^0.5.1"
354 | natural-compare "^1.4.0"
355 | optionator "^0.8.2"
356 | path-is-inside "^1.0.2"
357 | pluralize "^4.0.0"
358 | progress "^2.0.0"
359 | require-uncached "^1.0.3"
360 | strip-json-comments "~2.0.1"
361 | table "^4.0.1"
362 | text-table "~0.2.0"
363 |
364 | espree@^3.4.3:
365 | version "3.4.3"
366 | resolved "https://registry.yarnpkg.com/espree/-/espree-3.4.3.tgz#2910b5ccd49ce893c2ffffaab4fd8b3a31b82374"
367 | dependencies:
368 | acorn "^5.0.1"
369 | acorn-jsx "^3.0.0"
370 |
371 | esprima@^3.1.1:
372 | version "3.1.3"
373 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633"
374 |
375 | esquery@^1.0.0:
376 | version "1.0.0"
377 | resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.0.tgz#cfba8b57d7fba93f17298a8a006a04cda13d80fa"
378 | dependencies:
379 | estraverse "^4.0.0"
380 |
381 | esrecurse@^4.1.0:
382 | version "4.2.0"
383 | resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.0.tgz#fa9568d98d3823f9a41d91e902dcab9ea6e5b163"
384 | dependencies:
385 | estraverse "^4.1.0"
386 | object-assign "^4.0.1"
387 |
388 | estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0:
389 | version "4.2.0"
390 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
391 |
392 | esutils@^2.0.2:
393 | version "2.0.2"
394 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
395 |
396 | external-editor@^2.0.4:
397 | version "2.0.4"
398 | resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.0.4.tgz#1ed9199da9cbfe2ef2f7a31b2fde8b0d12368972"
399 | dependencies:
400 | iconv-lite "^0.4.17"
401 | jschardet "^1.4.2"
402 | tmp "^0.0.31"
403 |
404 | fast-diff@^1.1.1:
405 | version "1.1.1"
406 | resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.1.1.tgz#0aea0e4e605b6a2189f0e936d4b7fbaf1b7cfd9b"
407 |
408 | fast-levenshtein@~2.0.4:
409 | version "2.0.6"
410 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
411 |
412 | figures@^2.0.0:
413 | version "2.0.0"
414 | resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962"
415 | dependencies:
416 | escape-string-regexp "^1.0.5"
417 |
418 | file-entry-cache@^2.0.0:
419 | version "2.0.0"
420 | resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361"
421 | dependencies:
422 | flat-cache "^1.2.1"
423 | object-assign "^4.0.1"
424 |
425 | find-up@^1.0.0:
426 | version "1.1.2"
427 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"
428 | dependencies:
429 | path-exists "^2.0.0"
430 | pinkie-promise "^2.0.0"
431 |
432 | find-up@^2.0.0:
433 | version "2.1.0"
434 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
435 | dependencies:
436 | locate-path "^2.0.0"
437 |
438 | flat-cache@^1.2.1:
439 | version "1.2.2"
440 | resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.2.2.tgz#fa86714e72c21db88601761ecf2f555d1abc6b96"
441 | dependencies:
442 | circular-json "^0.3.1"
443 | del "^2.0.2"
444 | graceful-fs "^4.1.2"
445 | write "^0.2.1"
446 |
447 | fs.realpath@^1.0.0:
448 | version "1.0.0"
449 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
450 |
451 | function-bind@^1.0.2:
452 | version "1.1.0"
453 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771"
454 |
455 | generate-function@^2.0.0:
456 | version "2.0.0"
457 | resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74"
458 |
459 | generate-object-property@^1.1.0:
460 | version "1.2.0"
461 | resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0"
462 | dependencies:
463 | is-property "^1.0.0"
464 |
465 | get-stdin@^5.0.1:
466 | version "5.0.1"
467 | resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-5.0.1.tgz#122e161591e21ff4c52530305693f20e6393a398"
468 |
469 | glob@^7.0.3, glob@^7.0.5, glob@^7.1.2:
470 | version "7.1.2"
471 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15"
472 | dependencies:
473 | fs.realpath "^1.0.0"
474 | inflight "^1.0.4"
475 | inherits "2"
476 | minimatch "^3.0.4"
477 | once "^1.3.0"
478 | path-is-absolute "^1.0.0"
479 |
480 | globals@^9.0.0, globals@^9.17.0:
481 | version "9.18.0"
482 | resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a"
483 |
484 | globby@^5.0.0:
485 | version "5.0.0"
486 | resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d"
487 | dependencies:
488 | array-union "^1.0.1"
489 | arrify "^1.0.0"
490 | glob "^7.0.3"
491 | object-assign "^4.0.1"
492 | pify "^2.0.0"
493 | pinkie-promise "^2.0.0"
494 |
495 | graceful-fs@^4.1.2:
496 | version "4.1.11"
497 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
498 |
499 | has-ansi@^2.0.0:
500 | version "2.0.0"
501 | resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
502 | dependencies:
503 | ansi-regex "^2.0.0"
504 |
505 | has@^1.0.1:
506 | version "1.0.1"
507 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28"
508 | dependencies:
509 | function-bind "^1.0.2"
510 |
511 | hosted-git-info@^2.1.4:
512 | version "2.5.0"
513 | resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.5.0.tgz#6d60e34b3abbc8313062c3b798ef8d901a07af3c"
514 |
515 | iconv-lite@^0.4.17:
516 | version "0.4.18"
517 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.18.tgz#23d8656b16aae6742ac29732ea8f0336a4789cf2"
518 |
519 | ignore@^3.3.3:
520 | version "3.3.3"
521 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.3.tgz#432352e57accd87ab3110e82d3fea0e47812156d"
522 |
523 | imurmurhash@^0.1.4:
524 | version "0.1.4"
525 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
526 |
527 | inflight@^1.0.4:
528 | version "1.0.6"
529 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
530 | dependencies:
531 | once "^1.3.0"
532 | wrappy "1"
533 |
534 | inherits@2, inherits@^2.0.3, inherits@~2.0.3:
535 | version "2.0.3"
536 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
537 |
538 | inquirer@^3.0.6:
539 | version "3.1.1"
540 | resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.1.1.tgz#87621c4fba4072f48a8dd71c9f9df6f100b2d534"
541 | dependencies:
542 | ansi-escapes "^2.0.0"
543 | chalk "^1.0.0"
544 | cli-cursor "^2.1.0"
545 | cli-width "^2.0.0"
546 | external-editor "^2.0.4"
547 | figures "^2.0.0"
548 | lodash "^4.3.0"
549 | mute-stream "0.0.7"
550 | run-async "^2.2.0"
551 | rx-lite "^4.0.8"
552 | rx-lite-aggregates "^4.0.8"
553 | string-width "^2.0.0"
554 | strip-ansi "^3.0.0"
555 | through "^2.3.6"
556 |
557 | invariant@^2.2.0:
558 | version "2.2.2"
559 | resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360"
560 | dependencies:
561 | loose-envify "^1.0.0"
562 |
563 | is-arrayish@^0.2.1:
564 | version "0.2.1"
565 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
566 |
567 | is-builtin-module@^1.0.0:
568 | version "1.0.0"
569 | resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe"
570 | dependencies:
571 | builtin-modules "^1.0.0"
572 |
573 | is-fullwidth-code-point@^2.0.0:
574 | version "2.0.0"
575 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
576 |
577 | is-my-json-valid@^2.16.0:
578 | version "2.16.0"
579 | resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz#f079dd9bfdae65ee2038aae8acbc86ab109e3693"
580 | dependencies:
581 | generate-function "^2.0.0"
582 | generate-object-property "^1.1.0"
583 | jsonpointer "^4.0.0"
584 | xtend "^4.0.0"
585 |
586 | is-path-cwd@^1.0.0:
587 | version "1.0.0"
588 | resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d"
589 |
590 | is-path-in-cwd@^1.0.0:
591 | version "1.0.0"
592 | resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz#6477582b8214d602346094567003be8a9eac04dc"
593 | dependencies:
594 | is-path-inside "^1.0.0"
595 |
596 | is-path-inside@^1.0.0:
597 | version "1.0.0"
598 | resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.0.tgz#fc06e5a1683fbda13de667aff717bbc10a48f37f"
599 | dependencies:
600 | path-is-inside "^1.0.1"
601 |
602 | is-promise@^2.1.0:
603 | version "2.1.0"
604 | resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa"
605 |
606 | is-property@^1.0.0:
607 | version "1.0.2"
608 | resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84"
609 |
610 | is-resolvable@^1.0.0:
611 | version "1.0.0"
612 | resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.0.0.tgz#8df57c61ea2e3c501408d100fb013cf8d6e0cc62"
613 | dependencies:
614 | tryit "^1.0.1"
615 |
616 | isarray@^1.0.0, isarray@~1.0.0:
617 | version "1.0.0"
618 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
619 |
620 | jest-docblock@^20.0.1:
621 | version "20.0.3"
622 | resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-20.0.3.tgz#17bea984342cc33d83c50fbe1545ea0efaa44712"
623 |
624 | js-tokens@^3.0.0:
625 | version "3.0.2"
626 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
627 |
628 | js-yaml@^3.8.4:
629 | version "3.8.4"
630 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.8.4.tgz#520b4564f86573ba96662af85a8cafa7b4b5a6f6"
631 | dependencies:
632 | argparse "^1.0.7"
633 | esprima "^3.1.1"
634 |
635 | jschardet@^1.4.2:
636 | version "1.4.2"
637 | resolved "https://registry.yarnpkg.com/jschardet/-/jschardet-1.4.2.tgz#2aa107f142af4121d145659d44f50830961e699a"
638 |
639 | json-stable-stringify@^1.0.1:
640 | version "1.0.1"
641 | resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af"
642 | dependencies:
643 | jsonify "~0.0.0"
644 |
645 | jsonify@~0.0.0:
646 | version "0.0.0"
647 | resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73"
648 |
649 | jsonpointer@^4.0.0:
650 | version "4.0.1"
651 | resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9"
652 |
653 | jsx-ast-utils@^1.4.1:
654 | version "1.4.1"
655 | resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-1.4.1.tgz#3867213e8dd79bf1e8f2300c0cfc1efb182c0df1"
656 |
657 | levn@^0.3.0, levn@~0.3.0:
658 | version "0.3.0"
659 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
660 | dependencies:
661 | prelude-ls "~1.1.2"
662 | type-check "~0.3.2"
663 |
664 | load-json-file@^2.0.0:
665 | version "2.0.0"
666 | resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8"
667 | dependencies:
668 | graceful-fs "^4.1.2"
669 | parse-json "^2.2.0"
670 | pify "^2.0.0"
671 | strip-bom "^3.0.0"
672 |
673 | locate-path@^2.0.0:
674 | version "2.0.0"
675 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
676 | dependencies:
677 | p-locate "^2.0.0"
678 | path-exists "^3.0.0"
679 |
680 | lodash.cond@^4.3.0:
681 | version "4.5.2"
682 | resolved "https://registry.yarnpkg.com/lodash.cond/-/lodash.cond-4.5.2.tgz#f471a1da486be60f6ab955d17115523dd1d255d5"
683 |
684 | lodash@^4.0.0, lodash@^4.15.0, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.3.0:
685 | version "4.17.4"
686 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
687 |
688 | loose-envify@^1.0.0:
689 | version "1.3.1"
690 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848"
691 | dependencies:
692 | js-tokens "^3.0.0"
693 |
694 | mimic-fn@^1.0.0:
695 | version "1.1.0"
696 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18"
697 |
698 | minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4:
699 | version "3.0.4"
700 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
701 | dependencies:
702 | brace-expansion "^1.1.7"
703 |
704 | minimist@0.0.8:
705 | version "0.0.8"
706 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
707 |
708 | mkdirp@^0.5.1:
709 | version "0.5.1"
710 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
711 | dependencies:
712 | minimist "0.0.8"
713 |
714 | ms@2.0.0:
715 | version "2.0.0"
716 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
717 |
718 | mute-stream@0.0.7:
719 | version "0.0.7"
720 | resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab"
721 |
722 | natural-compare@^1.4.0:
723 | version "1.4.0"
724 | resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
725 |
726 | normalize-package-data@^2.3.2:
727 | version "2.4.0"
728 | resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f"
729 | dependencies:
730 | hosted-git-info "^2.1.4"
731 | is-builtin-module "^1.0.0"
732 | semver "2 || 3 || 4 || 5"
733 | validate-npm-package-license "^3.0.1"
734 |
735 | object-assign@^4.0.1:
736 | version "4.1.1"
737 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
738 |
739 | once@^1.3.0:
740 | version "1.4.0"
741 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
742 | dependencies:
743 | wrappy "1"
744 |
745 | onetime@^2.0.0:
746 | version "2.0.1"
747 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4"
748 | dependencies:
749 | mimic-fn "^1.0.0"
750 |
751 | optionator@^0.8.2:
752 | version "0.8.2"
753 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64"
754 | dependencies:
755 | deep-is "~0.1.3"
756 | fast-levenshtein "~2.0.4"
757 | levn "~0.3.0"
758 | prelude-ls "~1.1.2"
759 | type-check "~0.3.2"
760 | wordwrap "~1.0.0"
761 |
762 | os-tmpdir@~1.0.1:
763 | version "1.0.2"
764 | resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
765 |
766 | p-limit@^1.1.0:
767 | version "1.1.0"
768 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.1.0.tgz#b07ff2d9a5d88bec806035895a2bab66a27988bc"
769 |
770 | p-locate@^2.0.0:
771 | version "2.0.0"
772 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
773 | dependencies:
774 | p-limit "^1.1.0"
775 |
776 | parse-json@^2.2.0:
777 | version "2.2.0"
778 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
779 | dependencies:
780 | error-ex "^1.2.0"
781 |
782 | path-exists@^2.0.0:
783 | version "2.1.0"
784 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b"
785 | dependencies:
786 | pinkie-promise "^2.0.0"
787 |
788 | path-exists@^3.0.0:
789 | version "3.0.0"
790 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
791 |
792 | path-is-absolute@^1.0.0:
793 | version "1.0.1"
794 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
795 |
796 | path-is-inside@^1.0.1, path-is-inside@^1.0.2:
797 | version "1.0.2"
798 | resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53"
799 |
800 | path-parse@^1.0.5:
801 | version "1.0.5"
802 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1"
803 |
804 | path-type@^2.0.0:
805 | version "2.0.0"
806 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73"
807 | dependencies:
808 | pify "^2.0.0"
809 |
810 | pify@^2.0.0:
811 | version "2.3.0"
812 | resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
813 |
814 | pinkie-promise@^2.0.0:
815 | version "2.0.1"
816 | resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
817 | dependencies:
818 | pinkie "^2.0.0"
819 |
820 | pinkie@^2.0.0:
821 | version "2.0.4"
822 | resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
823 |
824 | pkg-dir@^1.0.0:
825 | version "1.0.0"
826 | resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4"
827 | dependencies:
828 | find-up "^1.0.0"
829 |
830 | pluralize@^4.0.0:
831 | version "4.0.0"
832 | resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-4.0.0.tgz#59b708c1c0190a2f692f1c7618c446b052fd1762"
833 |
834 | prelude-ls@~1.1.2:
835 | version "1.1.2"
836 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
837 |
838 | prettier@^1.5.2:
839 | version "1.5.2"
840 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.5.2.tgz#7ea0751da27b93bfb6cecfcec509994f52d83bb3"
841 |
842 | process-nextick-args@~1.0.6:
843 | version "1.0.7"
844 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3"
845 |
846 | progress@^2.0.0:
847 | version "2.0.0"
848 | resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.0.tgz#8a1be366bf8fc23db2bd23f10c6fe920b4389d1f"
849 |
850 | read-pkg-up@^2.0.0:
851 | version "2.0.0"
852 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be"
853 | dependencies:
854 | find-up "^2.0.0"
855 | read-pkg "^2.0.0"
856 |
857 | read-pkg@^2.0.0:
858 | version "2.0.0"
859 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8"
860 | dependencies:
861 | load-json-file "^2.0.0"
862 | normalize-package-data "^2.3.2"
863 | path-type "^2.0.0"
864 |
865 | readable-stream@^2.2.2:
866 | version "2.3.3"
867 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c"
868 | dependencies:
869 | core-util-is "~1.0.0"
870 | inherits "~2.0.3"
871 | isarray "~1.0.0"
872 | process-nextick-args "~1.0.6"
873 | safe-buffer "~5.1.1"
874 | string_decoder "~1.0.3"
875 | util-deprecate "~1.0.1"
876 |
877 | regenerator-runtime@^0.10.0:
878 | version "0.10.5"
879 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658"
880 |
881 | require-uncached@^1.0.3:
882 | version "1.0.3"
883 | resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3"
884 | dependencies:
885 | caller-path "^0.1.0"
886 | resolve-from "^1.0.0"
887 |
888 | resolve-from@^1.0.0:
889 | version "1.0.1"
890 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226"
891 |
892 | resolve@^1.2.0:
893 | version "1.3.3"
894 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.3.3.tgz#655907c3469a8680dc2de3a275a8fdd69691f0e5"
895 | dependencies:
896 | path-parse "^1.0.5"
897 |
898 | restore-cursor@^2.0.0:
899 | version "2.0.0"
900 | resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf"
901 | dependencies:
902 | onetime "^2.0.0"
903 | signal-exit "^3.0.2"
904 |
905 | rimraf@^2.2.8:
906 | version "2.6.1"
907 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d"
908 | dependencies:
909 | glob "^7.0.5"
910 |
911 | run-async@^2.2.0:
912 | version "2.3.0"
913 | resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0"
914 | dependencies:
915 | is-promise "^2.1.0"
916 |
917 | rx-lite-aggregates@^4.0.8:
918 | version "4.0.8"
919 | resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be"
920 | dependencies:
921 | rx-lite "*"
922 |
923 | rx-lite@*, rx-lite@^4.0.8:
924 | version "4.0.8"
925 | resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444"
926 |
927 | safe-buffer@~5.1.0, safe-buffer@~5.1.1:
928 | version "5.1.1"
929 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853"
930 |
931 | "semver@2 || 3 || 4 || 5":
932 | version "5.3.0"
933 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
934 |
935 | signal-exit@^3.0.2:
936 | version "3.0.2"
937 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
938 |
939 | slice-ansi@0.0.4:
940 | version "0.0.4"
941 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35"
942 |
943 | spdx-correct@~1.0.0:
944 | version "1.0.2"
945 | resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40"
946 | dependencies:
947 | spdx-license-ids "^1.0.2"
948 |
949 | spdx-expression-parse@~1.0.0:
950 | version "1.0.4"
951 | resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c"
952 |
953 | spdx-license-ids@^1.0.2:
954 | version "1.2.2"
955 | resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57"
956 |
957 | sprintf-js@~1.0.2:
958 | version "1.0.3"
959 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
960 |
961 | string-width@^2.0.0:
962 | version "2.1.0"
963 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.0.tgz#030664561fc146c9423ec7d978fe2457437fe6d0"
964 | dependencies:
965 | is-fullwidth-code-point "^2.0.0"
966 | strip-ansi "^4.0.0"
967 |
968 | string_decoder@~1.0.3:
969 | version "1.0.3"
970 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab"
971 | dependencies:
972 | safe-buffer "~5.1.0"
973 |
974 | strip-ansi@^3.0.0:
975 | version "3.0.1"
976 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
977 | dependencies:
978 | ansi-regex "^2.0.0"
979 |
980 | strip-ansi@^4.0.0:
981 | version "4.0.0"
982 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f"
983 | dependencies:
984 | ansi-regex "^3.0.0"
985 |
986 | strip-bom@^3.0.0:
987 | version "3.0.0"
988 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
989 |
990 | strip-json-comments@~2.0.1:
991 | version "2.0.1"
992 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
993 |
994 | supports-color@^2.0.0:
995 | version "2.0.0"
996 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
997 |
998 | table@^4.0.1:
999 | version "4.0.1"
1000 | resolved "https://registry.yarnpkg.com/table/-/table-4.0.1.tgz#a8116c133fac2c61f4a420ab6cdf5c4d61f0e435"
1001 | dependencies:
1002 | ajv "^4.7.0"
1003 | ajv-keywords "^1.0.0"
1004 | chalk "^1.1.1"
1005 | lodash "^4.0.0"
1006 | slice-ansi "0.0.4"
1007 | string-width "^2.0.0"
1008 |
1009 | text-table@~0.2.0:
1010 | version "0.2.0"
1011 | resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
1012 |
1013 | through@^2.3.6:
1014 | version "2.3.8"
1015 | resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
1016 |
1017 | tmp@^0.0.31:
1018 | version "0.0.31"
1019 | resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.31.tgz#8f38ab9438e17315e5dbd8b3657e8bfb277ae4a7"
1020 | dependencies:
1021 | os-tmpdir "~1.0.1"
1022 |
1023 | to-fast-properties@^1.0.1:
1024 | version "1.0.3"
1025 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47"
1026 |
1027 | tryit@^1.0.1:
1028 | version "1.0.3"
1029 | resolved "https://registry.yarnpkg.com/tryit/-/tryit-1.0.3.tgz#393be730a9446fd1ead6da59a014308f36c289cb"
1030 |
1031 | type-check@~0.3.2:
1032 | version "0.3.2"
1033 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
1034 | dependencies:
1035 | prelude-ls "~1.1.2"
1036 |
1037 | typedarray@^0.0.6:
1038 | version "0.0.6"
1039 | resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
1040 |
1041 | util-deprecate@~1.0.1:
1042 | version "1.0.2"
1043 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
1044 |
1045 | validate-npm-package-license@^3.0.1:
1046 | version "3.0.1"
1047 | resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc"
1048 | dependencies:
1049 | spdx-correct "~1.0.0"
1050 | spdx-expression-parse "~1.0.0"
1051 |
1052 | wordwrap@~1.0.0:
1053 | version "1.0.0"
1054 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
1055 |
1056 | wrappy@1:
1057 | version "1.0.2"
1058 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
1059 |
1060 | write@^0.2.1:
1061 | version "0.2.1"
1062 | resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757"
1063 | dependencies:
1064 | mkdirp "^0.5.1"
1065 |
1066 | xtend@^4.0.0:
1067 | version "4.0.1"
1068 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
1069 |
--------------------------------------------------------------------------------