From 73c91811099a6302e62521944f40600941ee394b Mon Sep 17 00:00:00 2001 From: feruz Date: Sat, 30 Nov 2019 09:36:23 +0200 Subject: [PATCH] linting fixes --- .eslintrc.json | 41 ++- package.json | 18 +- src/components/bottomTabBar/view/tabbar.js | 2 +- .../titleArea/view/titleAreaView.js | 2 +- .../filterBar/view/filterBarView.js | 9 +- .../iconButton/view/iconButtonView.js | 56 ++-- .../container/leaderboardContainer.js | 2 +- .../leaderboard/view/leaderboardView.js | 4 +- .../markdownEditor/view/markdownEditorView.js | 6 +- .../postView/view/postDisplayStyles.js | 4 + .../postView/view/postDisplayView.js | 2 +- src/components/posts/view/postsView.js | 2 +- .../profileEditForm/profileEditFormStyles.js | 3 + .../profileEditForm/profileEditFormView.js | 2 +- .../sideMenu/view/sideMenuStyles.js | 5 + src/components/sideMenu/view/sideMenuView.js | 5 +- src/components/tabBar/view/tabBarView.js | 2 +- src/globalStyles.js | 2 +- src/index.js | 4 +- src/navigation/baseNavigator.js | 7 +- src/providers/steem/steemConnect.js | 42 +-- .../container/applicationContainer.js | 3 +- src/screens/editor/screen/editorScreen.js | 1 - src/screens/feed/screen/feedScreen.js | 5 +- src/screens/reblogs/screen/reblogScreen.js | 2 +- src/screens/wallet/screen/walletScreen.js | 2 +- src/utils/postUrlParser.js | 9 +- src/utils/wallet.js | 1 - yarn.lock | 289 ++++++++++++------ 29 files changed, 312 insertions(+), 220 deletions(-) diff --git a/.eslintrc.json b/.eslintrc.json index 2131d41af..6444a3273 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -2,6 +2,7 @@ "parser": "babel-eslint", "extends": [ "airbnb", + "prettier", "plugin:prettier/recommended", "plugin:eslint-comments/recommended", "plugin:import/errors", @@ -16,6 +17,7 @@ "plugins": [ "react", "react-native", + "react-hooks", "jsx-a11y", "import", "prettier", @@ -26,30 +28,15 @@ "react/jsx-filename-extension": [ 2, { - "extensions": [ - ".js", - ".jsx" - ] + "extensions": [".js", ".jsx"] } ], - "max-len": [ - "error", - 100 - ], - "react/forbid-prop-types": [ - 0 - ], + "max-len": ["error", 100], + "react/forbid-prop-types": [0], "no-underscore-dangle": 0, - "react/require-default-props": [ - 0 - ], - "global-require": [ - 0 - ], - "func-names": [ - "error", - "as-needed" - ], + "react/require-default-props": [0], + "global-require": [0], + "func-names": ["error", "as-needed"], "linebreak-style": 0, "no-use-before-define": "off", "import/prefer-default-export": "off", @@ -57,6 +44,14 @@ "import/no-named-default": "off", "no-param-reassign": "off", "no-case-declarations": "off", - "no-cycle": "off" + "no-cycle": "off", + "react-hooks/rules-of-hooks": "error", + "react-hooks/exhaustive-deps": "warn", + "import/no-extraneous-dependencies": [ + "error", + { + "devDependencies": true + } + ] } -} \ No newline at end of file +} diff --git a/package.json b/package.json index 729792be5..a88e78cc3 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "react-native-navigation-bar-color": "^0.1.0", "react-native-reanimated": "^1.3.0", "react-native-render-html": "^4.1.2", - "react-native-screens": "^1.0.0-alpha.23", + "react-native-screens": "^2.0.0-alpha.15", "react-native-scrollable-tab-view": "esteemapp/react-native-scrollable-tab-view", "react-native-slider": "^0.11.0", "react-native-snap-carousel": "^3.8.0", @@ -98,16 +98,18 @@ "babel-eslint": "^10.0.1", "babel-jest": "^24.9.0", "babel-preset-react-native": "~5.0.2", - "eslint": "^6.5.1", + "eslint": "5.16.0", "eslint-config-airbnb": "^17.1.0", - "eslint-config-prettier": "^4.2.0", + "eslint-config-prettier": "^6.7.0", "eslint-plugin-eslint-comments": "^3.1.1", "eslint-plugin-import": "^2.17.2", "eslint-plugin-jest": "^22.5.1", "eslint-plugin-jsx-a11y": "^6.2.1", - "eslint-plugin-prettier": "^3.0.1", + "eslint-plugin-prettier": "^3.1.1", "eslint-plugin-react": "^7.13.0", + "eslint-plugin-react-hooks": "^2.3.0", "eslint-plugin-react-native": "^3.7.0", + "husky": "^3.1.0", "jest": "^24.9.0", "jetifier": "^1.6.3", "lint-staged": "^7.2.0", @@ -120,11 +122,15 @@ }, "lint-staged": { "*.js": [ - "npm run lint:fix", + "yarn run lint", "git add" ] }, - "pre-commit": "lint-staged", + "husky": { + "hooks": { + "pre-commit": "lint-staged" + } + }, "jest": { "preset": "react-native" }, diff --git a/src/components/bottomTabBar/view/tabbar.js b/src/components/bottomTabBar/view/tabbar.js index b0ad8b1e9..ccb63de69 100644 --- a/src/components/bottomTabBar/view/tabbar.js +++ b/src/components/bottomTabBar/view/tabbar.js @@ -142,7 +142,7 @@ const TabBarItem = ({ icon, selectedIcon, index, selected, onPress, showIcon, di if (selected) { if (showIcon) { return ( - + {selectedIcon || icon} ); diff --git a/src/components/editorElements/titleArea/view/titleAreaView.js b/src/components/editorElements/titleArea/view/titleAreaView.js index 621857734..764fa95ef 100644 --- a/src/components/editorElements/titleArea/view/titleAreaView.js +++ b/src/components/editorElements/titleArea/view/titleAreaView.js @@ -63,7 +63,7 @@ export default class TitleAreaView extends Component { this.setState({ height: event.nativeEvent.contentSize.height }); }} autoFocus={autoFocus} - onChangeText={text => this._handleOnChange(text)} + onChangeText={textT => this._handleOnChange(textT)} value={text} /> diff --git a/src/components/filterBar/view/filterBarView.js b/src/components/filterBar/view/filterBarView.js index 83196be4e..611569a89 100644 --- a/src/components/filterBar/view/filterBarView.js +++ b/src/components/filterBar/view/filterBarView.js @@ -1,10 +1,7 @@ import React from 'react'; -import { View, Text, TouchableOpacity } from 'react-native'; +import { View, TouchableOpacity } from 'react-native'; import { Icon } from '../../icon'; -// External Components -import { DropdownButton } from '../../dropdownButton'; - // Components import { LineBreak, Tag } from '../../basicUIElements'; @@ -17,8 +14,6 @@ import styles from './filterBarStyles'; */ const FilterBarView = ({ - defaultText, - dropdownIconName, iconSize, isHide, onDropdownSelect, @@ -37,7 +32,7 @@ const FilterBarView = ({ onDropdownSelect(index)} /> ))} diff --git a/src/components/iconButton/view/iconButtonView.js b/src/components/iconButton/view/iconButtonView.js index 179b60611..359b927ab 100644 --- a/src/components/iconButton/view/iconButtonView.js +++ b/src/components/iconButton/view/iconButtonView.js @@ -24,33 +24,33 @@ const IconButton = ({ style, isLoading, }) => ( - - !isLoading && onPress && onPress()} - underlayColor={backgroundColor || 'white'} - disabled={disabled} - > - {!isLoading ? ( - - ) : ( - - )} - - - ); + + !isLoading && onPress && onPress()} + underlayColor={backgroundColor || 'white'} + disabled={disabled} + > + {!isLoading ? ( + + ) : ( + + )} + + +); export default IconButton; diff --git a/src/components/leaderboard/container/leaderboardContainer.js b/src/components/leaderboard/container/leaderboardContainer.js index 60d19587e..ba5d2476d 100644 --- a/src/components/leaderboard/container/leaderboardContainer.js +++ b/src/components/leaderboard/container/leaderboardContainer.js @@ -53,7 +53,7 @@ class LeaderboardContainer extends PureComponent { const { intl, isConnected } = this.props; const { selectedIndex } = this.state; - if (index == undefined) { + if (index === undefined) { index = selectedIndex; } let users; diff --git a/src/components/leaderboard/view/leaderboardView.js b/src/components/leaderboard/view/leaderboardView.js index c2b9761ac..828be5fc4 100644 --- a/src/components/leaderboard/view/leaderboardView.js +++ b/src/components/leaderboard/view/leaderboardView.js @@ -47,8 +47,8 @@ class LeaderboardView extends PureComponent { options={VALUE.map(val => intl.formatMessage({ id: `leaderboard.${val}` }))} selectedOptionIndex={selectedIndex} defaultText={intl.formatMessage({ id: `leaderboard.${VALUE[0]}` })} - onDropdownSelect={selectedIndex => - fetchLeaderBoard(FILTER_OPTIONS[selectedIndex], selectedIndex) + onDropdownSelect={selectedIndexM => + fetchLeaderBoard(FILTER_OPTIONS[selectedIndexM], selectedIndexM) } /> diff --git a/src/components/markdownEditor/view/markdownEditorView.js b/src/components/markdownEditor/view/markdownEditorView.js index b79e11c7e..9c9dbe29e 100644 --- a/src/components/markdownEditor/view/markdownEditorView.js +++ b/src/components/markdownEditor/view/markdownEditorView.js @@ -93,6 +93,7 @@ const MarkdownEditorView = ({ } }, [_changeText, handleIsFormValid, text]); + // eslint-disable-next-line react-hooks/exhaustive-deps const _changeText = useCallback(input => { setText(input); @@ -113,6 +114,7 @@ const MarkdownEditorView = ({ setSelection(event.nativeEvent.selection); }; + // eslint-disable-next-line react-hooks/exhaustive-deps const _setTextAndSelection = useCallback(({ selection: _selection, text: _text }) => { inputRef.current.setNativeProps({ text: _text, @@ -227,8 +229,8 @@ const MarkdownEditorView = ({ )} ) : ( - _renderPreview() - )} + _renderPreview() + )} {!isPreviewActive && _renderEditorButtons()} - + {isLoggedIn && ( diff --git a/src/components/tabBar/view/tabBarView.js b/src/components/tabBar/view/tabBarView.js index c8893186a..51d89cd3b 100644 --- a/src/components/tabBar/view/tabBarView.js +++ b/src/components/tabBar/view/tabBarView.js @@ -89,7 +89,7 @@ class TabBar extends PureComponent { return arr.fill(0).reduce( (pre, cur, idx) => { - idx == 0 ? pre.inputRange.push(cur) : pre.inputRange.push(pre.inputRange[idx - 1] + 0.5); + idx === 0 ? pre.inputRange.push(cur) : pre.inputRange.push(pre.inputRange[idx - 1] + 0.5); idx % 2 ? pre.outputRange.push(defaultScale) : pre.outputRange.push(1); return pre; }, diff --git a/src/globalStyles.js b/src/globalStyles.js index d7ee023a0..a0fca4af6 100644 --- a/src/globalStyles.js +++ b/src/globalStyles.js @@ -77,6 +77,6 @@ export default EStyleSheet.create({ alignItems: 'center', }, tabBarBottom: { - paddingBottom: 60 + paddingBottom: 60, }, }); diff --git a/src/index.js b/src/index.js index 1d8a54846..7d4484730 100755 --- a/src/index.js +++ b/src/index.js @@ -3,14 +3,14 @@ import 'react-native-gesture-handler'; import { Provider, connect } from 'react-redux'; import { PersistGate } from 'redux-persist/integration/react'; import { IntlProvider } from 'react-intl'; -import { useScreens } from 'react-native-screens'; +import { enableScreens } from 'react-native-screens'; import { flattenMessages } from './utils/flattenMessages'; import messages from './config/locales'; import Application from './screens/application'; import { store, persistor } from './redux/store/store'; -useScreens(); +enableScreens(); const _renderApp = ({ locale }) => ( diff --git a/src/navigation/baseNavigator.js b/src/navigation/baseNavigator.js index 6661d0f2d..25484235d 100644 --- a/src/navigation/baseNavigator.js +++ b/src/navigation/baseNavigator.js @@ -44,7 +44,12 @@ const BaseNavigator = createBottomTabNavigator( screen: Wallet, navigationOptions: () => ({ tabBarIcon: ({ tintColor }) => ( - + ), }), }, diff --git a/src/providers/steem/steemConnect.js b/src/providers/steem/steemConnect.js index 849991d19..d8dd165a6 100644 --- a/src/providers/steem/steemConnect.js +++ b/src/providers/steem/steemConnect.js @@ -4,10 +4,10 @@ import steemConnect from './steemConnectAPI'; * @method to upvote/unvote a content * @param {*} vote */ -export const vote = vote => +export const vote = voteObj => new Promise((resolve, reject) => { steemConnect - .vote(vote.voter, vote.author, vote.permlink, vote.weight) + .vote(voteObj.voter, voteObj.author, voteObj.permlink, voteObj.weight) .then(result => { resolve(result); }) @@ -20,17 +20,17 @@ export const vote = vote => * @method to submit a comment/reply * @param {*} comment */ -export const comment = comment => +export const comment = commentObj => new Promise((resolve, reject) => { steemConnect .comment( - comment.parentAuthor, - comment.parentPermlink, - comment.author, - comment.permlink, - comment.title, - comment.body, - comment.jsonMetadata, + commentObj.parentAuthor, + commentObj.parentPermlink, + commentObj.author, + commentObj.permlink, + commentObj.title, + commentObj.body, + commentObj.jsonMetadata, ) .then(result => { resolve(result); @@ -40,7 +40,7 @@ export const comment = comment => }); }); -export const post = post => { +export const post = postObj => { // Create empty array for the operations const operations = []; @@ -49,17 +49,17 @@ export const post = post => { 'comment', { parent_author: '', // Since it is a post, parent author is empty - parent_permlink: post.tags[0], // Parent permlink will be the 0th index in the tags array - author: post.author, // Author is the current logged in username - permlink: post.permlink, // Permlink of the post - title: post.title, // Title of the post - body: post.description, // Description of the post - json_metadata: post.json_metadata, // JSON string with the tags, app, and format + parent_permlink: postObj.tags[0], // Parent permlink will be the 0th index in the tags array + author: postObj.author, // Author is the current logged in username + permlink: postObj.permlink, // Permlink of the post + title: postObj.title, // Title of the post + body: postObj.description, // Description of the post + json_metadata: postObj.json_metadata, // JSON string with the tags, app, and format }, ]; operations.push(commentOp); - const commentOptionsConfig = prepareBeneficiaries(post); + const commentOptionsConfig = prepareBeneficiaries(postObj); operations.push(commentOptionsConfig); @@ -75,10 +75,10 @@ export const post = post => { }); }; -export const prepareBeneficiaries = post => { +export const prepareBeneficiaries = postObj => { const beneficiariesObject = { - author: post.author, - permlink: post.permlink, + author: postObj.author, + permlink: postObj.permlink, allow_votes: true, allow_curation_rewards: true, max_accepted_payout: '1000000.000 SBD', diff --git a/src/screens/application/container/applicationContainer.js b/src/screens/application/container/applicationContainer.js index 0a4431a69..da2438ad0 100644 --- a/src/screens/application/container/applicationContainer.js +++ b/src/screens/application/container/applicationContainer.js @@ -12,7 +12,7 @@ import { injectIntl } from 'react-intl'; import { NavigationActions } from 'react-navigation'; import { bindActionCreators } from 'redux'; import EStyleSheet from 'react-native-extended-stylesheet'; -import { forEach, isEmpty, some } from 'lodash'; +import { isEmpty, some } from 'lodash'; import { initialMode as nativeThemeInitialMode, eventEmitter as nativeThemeEventEmitter, @@ -524,6 +524,7 @@ class ApplicationContainer extends Component { }; _connectNotificationServer = username => { + /*eslint no-undef: "warn"*/ const ws = new WebSocket(`${Config.ACTIVITY_WEBSOCKET_URL}?user=${username}`); ws.onmessage = () => { diff --git a/src/screens/editor/screen/editorScreen.js b/src/screens/editor/screen/editorScreen.js index ed9100d2a..0b307e079 100644 --- a/src/screens/editor/screen/editorScreen.js +++ b/src/screens/editor/screen/editorScreen.js @@ -11,7 +11,6 @@ import { BasicHeader, TitleArea, TagArea, - TextArea, SummaryArea, PostForm, MarkdownEditor, diff --git a/src/screens/feed/screen/feedScreen.js b/src/screens/feed/screen/feedScreen.js index 8792b7afe..358743b6d 100644 --- a/src/screens/feed/screen/feedScreen.js +++ b/src/screens/feed/screen/feedScreen.js @@ -11,10 +11,7 @@ import { AccountContainer } from '../../../containers'; // Styles import styles from './feedStyles'; -import { - POPULAR_FILTERS, - POPULAR_FILTERS_VALUE, -} from '../../../constants/options/filters'; +import { POPULAR_FILTERS, POPULAR_FILTERS_VALUE } from '../../../constants/options/filters'; const FeedScreen = () => { return ( diff --git a/src/screens/reblogs/screen/reblogScreen.js b/src/screens/reblogs/screen/reblogScreen.js index c9618d7b1..e5fe82f0c 100644 --- a/src/screens/reblogs/screen/reblogScreen.js +++ b/src/screens/reblogs/screen/reblogScreen.js @@ -1,5 +1,5 @@ import React from 'react'; -import { View, FlatList, SafeAreaView } from 'react-native'; +import { FlatList, SafeAreaView } from 'react-native'; import { useIntl } from 'react-intl'; import get from 'lodash/get'; diff --git a/src/screens/wallet/screen/walletScreen.js b/src/screens/wallet/screen/walletScreen.js index 0229d28c2..0d959cce9 100644 --- a/src/screens/wallet/screen/walletScreen.js +++ b/src/screens/wallet/screen/walletScreen.js @@ -1,6 +1,6 @@ import React, { Fragment, useState } from 'react'; import Swiper from 'react-native-swiper'; -import { SafeAreaView, View } from 'react-native'; +import { SafeAreaView } from 'react-native'; // Containers import { LoggedInContainer } from '../../../containers'; diff --git a/src/utils/postUrlParser.js b/src/utils/postUrlParser.js index efaa1c0fc..025edb03b 100644 --- a/src/utils/postUrlParser.js +++ b/src/utils/postUrlParser.js @@ -61,12 +61,9 @@ export default url => { } if ( - [ - 'https://estm.to', - 'https://esteem.app', - 'https://steemit.com', - 'https://steempeak.com', - ].some(x => url.startsWith(x)) + ['https://estm.to', 'https://esteem.app', 'https://steemit.com', 'https://steempeak.com'].some( + x => url.startsWith(x), + ) ) { return parseCatAuthorPermlink(url); } diff --git a/src/utils/wallet.js b/src/utils/wallet.js index cc16f0419..9430334cb 100644 --- a/src/utils/wallet.js +++ b/src/utils/wallet.js @@ -2,7 +2,6 @@ import get from 'lodash/get'; import parseDate from './parseDate'; import parseToken from './parseToken'; import { vestsToSp } from './conversions'; -import ss from 'react-intl'; import { getState, getFeedHistory } from '../providers/steem/dsteem'; export const groomingTransactionData = (transaction, steemPerMVests, formatNumber) => { diff --git a/yarn.lock b/yarn.lock index 36cffd3d7..07108334d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1519,6 +1519,11 @@ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.3.tgz#bdfd69d61e464dcc81b25159c270d75a73c1a636" integrity sha512-Il2DtDVRGDcqjDtE+rF8iqg1CArehSK84HZJCT7AMITlyXRBpuPhqGLDQMowraqqu1coEaimg4ZOqggt6L6L+A== +"@types/normalize-package-data@^2.4.0": + version "2.4.0" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" + integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== + "@types/prop-types@*", "@types/prop-types@^15.5.5": version "15.7.3" resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.3.tgz#2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7" @@ -1640,10 +1645,10 @@ acorn-jsx@^3.0.0: dependencies: acorn "^3.0.4" -acorn-jsx@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.0.2.tgz#84b68ea44b373c4f8686023a551f61a21b7c4a4f" - integrity sha512-tiNTrP1MP0QrChmD2DdupCr6HWSFeKVw5d/dHTu4Y7rkAkRhU/Dt7dphAfIUyxtHpl/eBVip5uTNSpQJHylpAw== +acorn-jsx@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.1.0.tgz#294adb71b57398b0680015f0a38c563ee1db5384" + integrity sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw== acorn-walk@^6.0.1: version "6.2.0" @@ -1665,10 +1670,10 @@ acorn@^6.0.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.3.0.tgz#0087509119ffa4fc0a0041d1e93a417e68cb856e" integrity sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA== -acorn@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.1.0.tgz#949d36f2c292535da602283586c2477c57eb2d6c" - integrity sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ== +acorn@^6.0.7: + version "6.4.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.0.tgz#b659d2ffbafa24baf5db1cdbb2c94a983ecd2784" + integrity sha512-gac8OEcQ2Li1dxIEWGZzsp2BitJxwkwcOm0zHAJLcPJaVvm58FRnk6RkuLRpU1EujipU2ZFODv2P9DLMfnV8mw== agent-base@4, agent-base@^4.1.0, agent-base@^4.2.0, agent-base@^4.3.0: version "4.3.0" @@ -1692,7 +1697,7 @@ ajv@^5.2.3, ajv@^5.3.0: fast-json-stable-stringify "^2.0.0" json-schema-traverse "^0.3.0" -ajv@^6.10.0, ajv@^6.10.2, ajv@^6.5.5: +ajv@^6.10.2, ajv@^6.5.5, ajv@^6.9.1: version "6.10.2" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52" integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw== @@ -2804,7 +2809,7 @@ core-util-is@1.0.2, core-util-is@~1.0.0: resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= -cosmiconfig@^5.0.2, cosmiconfig@^5.0.5, cosmiconfig@^5.1.0: +cosmiconfig@^5.0.2, cosmiconfig@^5.0.5, cosmiconfig@^5.1.0, cosmiconfig@^5.2.1: version "5.2.1" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== @@ -3395,10 +3400,10 @@ eslint-config-airbnb@^17.1.0: object.assign "^4.1.0" object.entries "^1.1.0" -eslint-config-prettier@^4.2.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-4.3.0.tgz#c55c1fcac8ce4518aeb77906984e134d9eb5a4f0" - integrity sha512-sZwhSTHVVz78+kYD3t5pCWSYEdVSBR0PXnwjDRsUs8ytIrK8PLXw+6FKp8r3Z7rx4ZszdetWlXYKOHoUrrwPlA== +eslint-config-prettier@^6.7.0: + version "6.7.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.7.0.tgz#9a876952e12df2b284adbd3440994bf1f39dfbb9" + integrity sha512-FamQVKM3jjUVwhG4hEMnbtsq7xOIDm+SY5iBPfR8gKsJoAB2IQnNF+bk1+8Fy44Nq7PPJaLvkRxILYdJWoguKQ== dependencies: get-stdin "^6.0.0" @@ -3485,7 +3490,7 @@ eslint-plugin-prettier@2.6.2: fast-diff "^1.1.1" jest-docblock "^21.0.0" -eslint-plugin-prettier@^3.0.1: +eslint-plugin-prettier@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.1.tgz#507b8562410d02a03f0ddc949c616f877852f2ba" integrity sha512-A+TZuHZ0KU0cnn56/9mfR7/KjUJ9QNVXUhwvRFSR7PGPe0zQR6PTkmyqg1AtUUEOzTqeRsUwyKFh0oVZKVCrtA== @@ -3497,6 +3502,11 @@ eslint-plugin-react-hooks@^1.5.1: resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-1.7.0.tgz#6210b6d5a37205f0b92858f895a4e827020a7d04" integrity sha512-iXTCFcOmlWvw4+TOE8CLWj6yX1GwzT0Y6cUfHHZqWnSk144VmVIRcVGtUAzrLES7C798lmvnt02C7rxaOX1HNA== +eslint-plugin-react-hooks@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-2.3.0.tgz#53e073961f1f5ccf8dd19558036c1fac8c29d99a" + integrity sha512-gLKCa52G4ee7uXzdLiorca7JIQZPPXRAQDXV83J4bUEeUuc5pIEyZYAZ45Xnxe5IuupxEqHS+hUhSLIimK1EMw== + eslint-plugin-react-native-globals@^0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/eslint-plugin-react-native-globals/-/eslint-plugin-react-native-globals-0.1.2.tgz#ee1348bc2ceb912303ce6bdbd22e2f045ea86ea2" @@ -3560,7 +3570,7 @@ eslint-scope@^3.7.1: esrecurse "^4.1.0" estraverse "^4.1.1" -eslint-scope@^4.0.0: +eslint-scope@^4.0.0, eslint-scope@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== @@ -3568,26 +3578,60 @@ eslint-scope@^4.0.0: esrecurse "^4.1.0" estraverse "^4.1.1" -eslint-scope@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.0.0.tgz#e87c8887c73e8d1ec84f1ca591645c358bfc8fb9" - integrity sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw== - dependencies: - esrecurse "^4.1.0" - estraverse "^4.1.1" - -eslint-utils@^1.3.1, eslint-utils@^1.4.2: +eslint-utils@^1.3.1: version "1.4.2" resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.2.tgz#166a5180ef6ab7eb462f162fd0e6f2463d7309ab" integrity sha512-eAZS2sEUMlIeCjBeubdj45dmBHQwPHWyBcT1VSYB7o9x9WRRqKxyUoiXlRjyAwzN7YEzHJlYg0NmzDRWx6GP4Q== dependencies: eslint-visitor-keys "^1.0.0" -eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0: +eslint-visitor-keys@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2" integrity sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A== +eslint@5.16.0: + version "5.16.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.16.0.tgz#a1e3ac1aae4a3fbd8296fcf8f7ab7314cbb6abea" + integrity sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg== + dependencies: + "@babel/code-frame" "^7.0.0" + ajv "^6.9.1" + chalk "^2.1.0" + cross-spawn "^6.0.5" + debug "^4.0.1" + doctrine "^3.0.0" + eslint-scope "^4.0.3" + eslint-utils "^1.3.1" + eslint-visitor-keys "^1.0.0" + espree "^5.0.1" + esquery "^1.0.1" + esutils "^2.0.2" + file-entry-cache "^5.0.1" + functional-red-black-tree "^1.0.1" + glob "^7.1.2" + globals "^11.7.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + inquirer "^6.2.2" + js-yaml "^3.13.0" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.3.0" + lodash "^4.17.11" + minimatch "^3.0.4" + mkdirp "^0.5.1" + natural-compare "^1.4.0" + optionator "^0.8.2" + path-is-inside "^1.0.2" + progress "^2.0.0" + regexpp "^2.0.1" + semver "^5.5.1" + strip-ansi "^4.0.0" + strip-json-comments "^2.0.1" + table "^5.2.3" + text-table "^0.2.0" + eslint@^4.0.0: version "4.19.1" resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.19.1.tgz#32d1d653e1d90408854bfb296f076ec7e186a300" @@ -3632,49 +3676,6 @@ eslint@^4.0.0: table "4.0.2" text-table "~0.2.0" -eslint@^6.5.1: - version "6.5.1" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.5.1.tgz#828e4c469697d43bb586144be152198b91e96ed6" - integrity sha512-32h99BoLYStT1iq1v2P9uwpyznQ4M2jRiFB6acitKz52Gqn+vPaMDUTB1bYi1WN4Nquj2w+t+bimYUG83DC55A== - dependencies: - "@babel/code-frame" "^7.0.0" - ajv "^6.10.0" - chalk "^2.1.0" - cross-spawn "^6.0.5" - debug "^4.0.1" - doctrine "^3.0.0" - eslint-scope "^5.0.0" - eslint-utils "^1.4.2" - eslint-visitor-keys "^1.1.0" - espree "^6.1.1" - esquery "^1.0.1" - esutils "^2.0.2" - file-entry-cache "^5.0.1" - functional-red-black-tree "^1.0.1" - glob-parent "^5.0.0" - globals "^11.7.0" - ignore "^4.0.6" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - inquirer "^6.4.1" - is-glob "^4.0.0" - js-yaml "^3.13.1" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.3.0" - lodash "^4.17.14" - minimatch "^3.0.4" - mkdirp "^0.5.1" - natural-compare "^1.4.0" - optionator "^0.8.2" - progress "^2.0.0" - regexpp "^2.0.1" - semver "^6.1.2" - strip-ansi "^5.2.0" - strip-json-comments "^3.0.1" - table "^5.2.3" - text-table "^0.2.0" - v8-compile-cache "^2.0.3" - espree@^3.5.2, espree@^3.5.4: version "3.5.4" resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.4.tgz#b0f447187c8a8bed944b815a660bddf5deb5d1a7" @@ -3683,14 +3684,14 @@ espree@^3.5.2, espree@^3.5.4: acorn "^5.5.0" acorn-jsx "^3.0.0" -espree@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-6.1.1.tgz#7f80e5f7257fc47db450022d723e356daeb1e5de" - integrity sha512-EYbr8XZUhWbYCqQRW0duU5LxzL5bETN6AjKBGy1302qqzPaCH10QbRg3Wvco79Z8x9WbiE8HYB4e75xl6qUYvQ== +espree@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-5.0.1.tgz#5d6526fa4fc7f0788a5cf75b15f30323e2f81f7a" + integrity sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A== dependencies: - acorn "^7.0.0" - acorn-jsx "^5.0.2" - eslint-visitor-keys "^1.1.0" + acorn "^6.0.7" + acorn-jsx "^5.0.0" + eslint-visitor-keys "^1.0.0" esprima@3.x.x, esprima@^3.1.3: version "3.1.3" @@ -4092,6 +4093,14 @@ find-up@^3.0.0: dependencies: locate-path "^3.0.0" +find-up@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + flat-cache@^1.2.1: version "1.3.4" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.4.tgz#2c2ef77525cc2929007dfffa1dd314aa9c9dee6f" @@ -4265,6 +4274,11 @@ get-stdin@^6.0.0: resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== +get-stdin@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-7.0.0.tgz#8d5de98f15171a125c5e516643c7a6d0ea8a96f6" + integrity sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ== + get-stream@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" @@ -4301,13 +4315,6 @@ getpass@^0.1.1: dependencies: assert-plus "^1.0.0" -glob-parent@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.0.tgz#5f4c1d1e748d30cd73ad2944b3577a81b081e8c2" - integrity sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw== - dependencies: - is-glob "^4.0.1" - glob@5.0.15, glob@^5.0.15: version "5.0.15" resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" @@ -4556,6 +4563,23 @@ https-proxy-agent@^2.2.1: agent-base "^4.3.0" debug "^3.1.0" +husky@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/husky/-/husky-3.1.0.tgz#5faad520ab860582ed94f0c1a77f0f04c90b57c0" + integrity sha512-FJkPoHHB+6s4a+jwPqBudBDvYZsoQW5/HBuMSehC8qDiCe50kpcxeqFoDSlow+9I6wg47YxBoT3WxaURlrDIIQ== + dependencies: + chalk "^2.4.2" + ci-info "^2.0.0" + cosmiconfig "^5.2.1" + execa "^1.0.0" + get-stdin "^7.0.0" + opencollective-postinstall "^2.0.2" + pkg-dir "^4.2.0" + please-upgrade-node "^3.2.0" + read-pkg "^5.2.0" + run-node "^1.0.0" + slash "^3.0.0" + iconv-lite@0.4.24, iconv-lite@^0.4.17, iconv-lite@^0.4.24, iconv-lite@^0.4.4, iconv-lite@~0.4.13: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" @@ -4692,7 +4716,7 @@ inquirer@^3.0.6: strip-ansi "^4.0.0" through "^2.3.6" -inquirer@^6.4.1: +inquirer@^6.2.2: version "6.5.2" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.2.tgz#ad50942375d036d327ff528c08bd5fab089928ca" integrity sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ== @@ -4878,7 +4902,7 @@ is-generator-fn@^2.0.0: resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== -is-glob@^4.0.0, is-glob@^4.0.1: +is-glob@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== @@ -5455,7 +5479,7 @@ js-tokens@^3.0.0, js-tokens@^3.0.2: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-yaml@^3.13.1, js-yaml@^3.9.1: +js-yaml@^3.13.0, js-yaml@^3.13.1, js-yaml@^3.9.1: version "3.13.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== @@ -5679,6 +5703,11 @@ levn@^0.3.0, levn@~0.3.0: prelude-ls "~1.1.2" type-check "~0.3.2" +lines-and-columns@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" + integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= + lint-staged@^7.2.0: version "7.3.0" resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-7.3.0.tgz#90ff33e5ca61ed3dbac35b6f6502dbefdc0db58d" @@ -5787,6 +5816,13 @@ locate-path@^3.0.0: p-locate "^3.0.0" path-exists "^3.0.0" +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + lodash._reinterpolate@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" @@ -6539,7 +6575,7 @@ nopt@^4.0.1, nopt@~4.0.1: abbrev "1" osenv "^0.1.4" -normalize-package-data@^2.3.2: +normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== @@ -6756,6 +6792,11 @@ open@^6.2.0: dependencies: is-wsl "^1.1.0" +opencollective-postinstall@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.2.tgz#5657f1bede69b6e33a45939b061eb53d3c6c3a89" + integrity sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw== + optimist@^0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" @@ -6884,6 +6925,13 @@ p-locate@^3.0.0: dependencies: p-limit "^2.0.0" +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + p-map@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" @@ -6969,6 +7017,16 @@ parse-json@^4.0.0: error-ex "^1.3.1" json-parse-better-errors "^1.0.1" +parse-json@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.0.0.tgz#73e5114c986d143efa3712d4ea24db9a4266f60f" + integrity sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + lines-and-columns "^1.1.6" + parse-node-version@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/parse-node-version/-/parse-node-version-1.0.1.tgz#e2b5dbede00e7fa9bc363607f53327e8b073189b" @@ -6994,6 +7052,11 @@ path-exists@^3.0.0: resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" @@ -7106,7 +7169,14 @@ pkg-dir@^3.0.0: dependencies: find-up "^3.0.0" -please-upgrade-node@^3.0.2: +pkg-dir@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + +please-upgrade-node@^3.0.2, please-upgrade-node@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942" integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg== @@ -7593,13 +7663,20 @@ react-native-safe-modules@^1.0.0: dependencies: dedent "^0.6.0" -"react-native-screens@^1.0.0 || ^1.0.0-alpha", react-native-screens@^1.0.0-alpha.23: +"react-native-screens@^1.0.0 || ^1.0.0-alpha": version "1.0.0-alpha.23" resolved "https://registry.yarnpkg.com/react-native-screens/-/react-native-screens-1.0.0-alpha.23.tgz#25d7ea4d11bda4fcde2d1da7ae50271c6aa636e0" integrity sha512-tOxHGQUN83MTmQB4ghoQkibqOdGiX4JQEmeyEv96MKWO/x8T2PJv84ECUos9hD3blPRQwVwSpAid1PPPhrVEaw== dependencies: debounce "^1.2.0" +react-native-screens@^2.0.0-alpha.15: + version "2.0.0-alpha.15" + resolved "https://registry.yarnpkg.com/react-native-screens/-/react-native-screens-2.0.0-alpha.15.tgz#40ee432d5f9b6169494a8fd6997add1a8c4b41b3" + integrity sha512-Nn4PRFSKLkP0MTXwqOIhMypJ7GMhcU+AZgFJd0DFQhNyU5sLNlKGEzQS6jRY+4MtHJnDXoMOr/o2l9WrI/O3Mg== + dependencies: + debounce "^1.2.0" + react-native-scrollable-tab-view@esteemapp/react-native-scrollable-tab-view: version "0.10.0" resolved "https://codeload.github.com/esteemapp/react-native-scrollable-tab-view/tar.gz/a86ddabbda728b86eb16656b8e8e71655a38400e" @@ -7829,6 +7906,16 @@ read-pkg@^3.0.0: normalize-package-data "^2.3.2" path-type "^3.0.0" +read-pkg@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" + integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== + dependencies: + "@types/normalize-package-data" "^2.4.0" + normalize-package-data "^2.5.0" + parse-json "^5.0.0" + type-fest "^0.6.0" + readable-stream@1.1.x: version "1.1.14" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" @@ -8193,6 +8280,11 @@ run-async@^2.2.0: dependencies: is-promise "^2.1.0" +run-node@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/run-node/-/run-node-1.0.0.tgz#46b50b946a2aa2d4947ae1d886e9856fd9cabe5e" + integrity sha512-kc120TBlQ3mih1LSzdAJXo4xn/GWS2ec0l3S+syHDXP9uRr0JAT8Qd3mdMuyjqCzeZktgP3try92cEgf9Nks8A== + rx-lite-aggregates@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be" @@ -8319,7 +8411,7 @@ semver@5.5.0: resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" integrity sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA== -semver@^6.0.0, semver@^6.1.2, semver@^6.2.0: +semver@^6.0.0, semver@^6.2.0: version "6.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== @@ -8849,12 +8941,7 @@ strip-eof@^1.0.0: resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= -strip-json-comments@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7" - integrity sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw== - -strip-json-comments@~2.0.1: +strip-json-comments@^2.0.1, strip-json-comments@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= @@ -9121,6 +9208,11 @@ type-check@~0.3.2: dependencies: prelude-ls "~1.1.2" +type-fest@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" + integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== + type-fest@^0.7.1: version "0.7.1" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.7.1.tgz#8dda65feaf03ed78f0a3f9678f1869147f7c5c48" @@ -9294,11 +9386,6 @@ uuid@^3.3.2: resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866" integrity sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ== -v8-compile-cache@^2.0.3: - version "2.1.0" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz#e14de37b31a6d194f5690d67efc4e7f6fc6ab30e" - integrity sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g== - validate-npm-package-license@^3.0.1: version "3.0.4" resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a"