chore: bump eslint config to latest (#308)

* chore: bump eslint config to latest

* lint fix

* lint pass

* use roles directly
This commit is contained in:
Michał Pierzchała
2020-05-15 10:10:49 +02:00
committed by GitHub
parent ab34712133
commit 29ce4f2b48
16 changed files with 139 additions and 66 deletions
+2 -1
View File
@@ -9,6 +9,7 @@
"import/no-unresolved": [
2,
{ "ignore": ["^@theme", "^@docusaurus", "^@generated"] }
]
],
"react-native-a11y/has-valid-accessibility-ignores-invert-colors": 0
}
}
+1 -1
View File
@@ -21,7 +21,7 @@
"devDependencies": {
"@babel/cli": "^7.8.4",
"@babel/core": "^7.9.0",
"@callstack/eslint-config": "^9.1.0",
"@callstack/eslint-config": "^10.0.0",
"@release-it/conventional-changelog": "^1.1.0",
"@types/react": "^16.9.34",
"@types/react-native": "^0.62.2",
+3 -5
View File
@@ -5,10 +5,8 @@ import { render } from '..';
const BUTTON_LABEL = 'cool button';
const BUTTON_HINT = 'click this button';
const BUTTON_ROLE = 'button';
const TEXT_LABEL = 'cool text';
const TEXT_HINT = 'static text';
const TEXT_ROLE = 'link';
// Little hack to make all the methods happy with type
const NO_MATCHES_TEXT: any = 'not-existent-element';
const NO_INSTANCES_FOUND = 'No instances found';
@@ -27,13 +25,13 @@ class Button extends React.Component<any> {
<TouchableOpacity
accessibilityHint={BUTTON_HINT}
accessibilityLabel={BUTTON_LABEL}
accessibilityRole={BUTTON_ROLE}
accessibilityRole="button"
accessibilityStates={['selected']}
>
<Typography
accessibilityHint={TEXT_HINT}
accessibilityLabel={TEXT_LABEL}
accessibilityRole={TEXT_ROLE}
accessibilityRole="link"
accessibilityStates={['selected']}
accessibilityState={{ expanded: false, selected: true }}
accessibilityValue={{ min: 40, max: 60 }}
@@ -51,7 +49,7 @@ function Section() {
<Typography
accessibilityHint={TEXT_HINT}
accessibilityLabel={TEXT_LABEL}
accessibilityRole={TEXT_ROLE}
accessibilityRole="link"
// $FlowFixMe - removed in RN 0.62
accessibilityStates={['selected', 'disabled']}
accessibilityState={{ expanded: false }}
+1 -1
View File
@@ -32,7 +32,7 @@ class Button extends React.Component<any, any> {
}
test('debug', () => {
jest.spyOn(console, 'log').mockImplementation(x => x);
jest.spyOn(console, 'log').mockImplementation((x) => x);
const component = <Button onPress={jest.fn} text="Press me" />;
debug(component);
+3 -2
View File
@@ -20,8 +20,9 @@ function QuestionsBoard({ questions, onSubmit }) {
<Text>{q}</Text>
<TextInput
accessibilityLabel="answer input"
onChangeText={text => {
setData(state => ({
accessibilityHint="input"
onChangeText={(text) => {
setData((state) => ({
...state,
[index + 1]: { q, a: text },
}));
+7 -4
View File
@@ -45,7 +45,7 @@ class Banana extends React.Component<any, any> {
}
changeFresh = () => {
this.setState(state => ({
this.setState((state) => ({
fresh: !state.fresh,
}));
};
@@ -320,7 +320,7 @@ test('toJSON', () => {
});
test('debug', () => {
jest.spyOn(console, 'log').mockImplementation(x => x);
jest.spyOn(console, 'log').mockImplementation((x) => x);
const { debug } = render(<Banana />);
@@ -343,7 +343,7 @@ test('debug', () => {
});
test('debug changing component', () => {
jest.spyOn(console, 'log').mockImplementation(x => x);
jest.spyOn(console, 'log').mockImplementation((x) => x);
const { getByProps, debug } = render(<Banana />);
@@ -390,7 +390,9 @@ test('renders options.wrapper around updated node', () => {
wrapper: WrapperComponent,
});
rerender(<View testID="inner" accessibilityLabel="test" />);
rerender(
<View testID="inner" accessibilityLabel="test" accessibilityHint="test" />
);
expect(getByTestId('wrapper')).toBeTruthy();
expect(toJSON()).toMatchInlineSnapshot(`
@@ -399,6 +401,7 @@ test('renders options.wrapper around updated node', () => {
testID="wrapper"
>
<View
accessibilityHint="test"
accessibilityLabel="test"
testID="inner"
/>
+1 -1
View File
@@ -24,7 +24,7 @@ class BananaContainer extends React.Component<{}, any> {
state = { fresh: false };
onChangeFresh = async () => {
await new Promise(resolve => setTimeout(resolve, 300));
await new Promise((resolve) => setTimeout(resolve, 300));
this.setState({ fresh: true });
};
+1 -1
View File
@@ -2,7 +2,7 @@
let cleanupQueue = new Set();
export default function cleanup() {
cleanupQueue.forEach(fn => fn());
cleanupQueue.forEach((fn) => fn());
cleanupQueue.clear();
}
+1 -1
View File
@@ -3,5 +3,5 @@
* Wait for microtasks queue to flush
*/
export default function flushMicrotasksQueue(): Promise<any> {
return new Promise(resolve => setImmediate(resolve));
return new Promise((resolve) => setImmediate(resolve));
}
+11 -11
View File
@@ -1,7 +1,7 @@
// @flow
import makeQuery from './makeQuery';
import type { A11yRole, A11yStates, A11yState, A11yValue } from '../types.flow';
import type { WaitForOptions } from './findByAPI';
import makeQuery from './makeQuery';
type GetReturn = ReactTestInstance;
type GetAllReturn = Array<ReactTestInstance>;
@@ -44,18 +44,18 @@ type A11yAPI = {|
findAllByA11yStates: (A11yStates, ?WaitForOptions) => FindAllReturn,
// State
getByA11yState: A11yState => GetReturn,
getAllByA11yState: A11yState => GetAllReturn,
queryByA11yState: A11yState => QueryReturn,
queryAllByA11yState: A11yState => QueryAllReturn,
getByA11yState: (A11yState) => GetReturn,
getAllByA11yState: (A11yState) => GetAllReturn,
queryByA11yState: (A11yState) => QueryReturn,
queryAllByA11yState: (A11yState) => QueryAllReturn,
findByA11yState: (A11yState, ?WaitForOptions) => FindReturn,
findAllByA11yState: (A11yState, ?WaitForOptions) => FindAllReturn,
// Value
getByA11yValue: A11yValue => GetReturn,
getAllByA11yValue: A11yValue => GetAllReturn,
queryByA11yValue: A11yValue => QueryReturn,
queryAllByA11yValue: A11yValue => QueryAllReturn,
getByA11yValue: (A11yValue) => GetReturn,
getAllByA11yValue: (A11yValue) => GetAllReturn,
queryByA11yValue: (A11yValue) => QueryReturn,
queryAllByA11yValue: (A11yValue) => QueryAllReturn,
findByA11yValue: (A11yValue, ?WaitForOptions) => FindReturn,
findAllByA11yValue: (A11yValue, ?WaitForOptions) => FindAllReturn,
|};
@@ -87,14 +87,14 @@ export function matchArrayValue(
return prop.includes(matcher);
}
return !matcher.some(e => !prop.includes(e));
return !matcher.some((e) => !prop.includes(e));
}
export function matchObject<T: {}>(prop?: T, matcher: T): boolean {
return prop
? Object.keys(matcher).length !== 0 &&
Object.keys(prop).length !== 0 &&
!Object.keys(matcher).some(key => prop[key] !== matcher[key])
!Object.keys(matcher).some((key) => prop[key] !== matcher[key])
: false;
}
+1 -1
View File
@@ -1,4 +1,5 @@
// @flow
import waitForElement from '../waitForElement';
import {
fixedGetByTestId,
getAllByTestId,
@@ -9,7 +10,6 @@ import {
getByDisplayValue,
getAllByDisplayValue,
} from './getByAPI';
import waitForElement from '../waitForElement';
export type WaitForOptions = {
timeout?: number,
+10 -10
View File
@@ -36,7 +36,7 @@ const getNodeByText = (node, text) => {
};
const getChildrenAsText = (children, TextComponent, textContent = []) => {
React.Children.forEach(children, child => {
React.Children.forEach(children, (child) => {
if (typeof child === 'string') {
textContent.push(child);
return;
@@ -90,7 +90,7 @@ export const getByName = (instance: ReactTestInstance, warnFn?: Function) =>
warnFn && warnFn('getByName');
try {
return typeof name === 'string'
? instance.find(node => filterNodeByName(node, name))
? instance.find((node) => filterNodeByName(node, name))
: instance.findByType(name);
} catch (error) {
throw new ErrorWithStack(prepareErrorMessage(error), getByNameFn);
@@ -110,7 +110,7 @@ export const getByType = (instance: ReactTestInstance, warnFn?: Function) =>
export const getByText = (instance: ReactTestInstance) =>
function getByTextFn(text: string | RegExp) {
try {
return instance.find(node => getNodeByText(node, text));
return instance.find((node) => getNodeByText(node, text));
} catch (error) {
throw new ErrorWithStack(prepareErrorMessage(error), getByTextFn);
}
@@ -119,7 +119,7 @@ export const getByText = (instance: ReactTestInstance) =>
export const getByPlaceholder = (instance: ReactTestInstance) =>
function getByPlaceholderFn(placeholder: string | RegExp) {
try {
return instance.find(node =>
return instance.find((node) =>
getTextInputNodeByPlaceholder(node, placeholder)
);
} catch (error) {
@@ -130,7 +130,7 @@ export const getByPlaceholder = (instance: ReactTestInstance) =>
export const getByDisplayValue = (instance: ReactTestInstance) =>
function getByDisplayValueFn(placeholder: string | RegExp) {
try {
return instance.find(node =>
return instance.find((node) =>
getTextInputNodeByDisplayValue(node, placeholder)
);
} catch (error) {
@@ -181,7 +181,7 @@ export const getAllByName = (instance: ReactTestInstance, warnFn?: Function) =>
warnFn && warnFn('getAllByName');
const results =
typeof name === 'string'
? instance.findAll(node => filterNodeByName(node, name))
? instance.findAll((node) => filterNodeByName(node, name))
: instance.findAllByType(name);
if (results.length === 0) {
throw new ErrorWithStack('No instances found', getAllByNameFn);
@@ -201,7 +201,7 @@ export const getAllByType = (instance: ReactTestInstance, warnFn?: Function) =>
export const getAllByText = (instance: ReactTestInstance) =>
function getAllByTextFn(text: string | RegExp) {
const results = instance.findAll(node => getNodeByText(node, text));
const results = instance.findAll((node) => getNodeByText(node, text));
if (results.length === 0) {
throw new ErrorWithStack(
`No instances found with text: ${String(text)}`,
@@ -213,7 +213,7 @@ export const getAllByText = (instance: ReactTestInstance) =>
export const getAllByPlaceholder = (instance: ReactTestInstance) =>
function getAllByPlaceholderFn(placeholder: string | RegExp) {
const results = instance.findAll(node =>
const results = instance.findAll((node) =>
getTextInputNodeByPlaceholder(node, placeholder)
);
if (results.length === 0) {
@@ -227,7 +227,7 @@ export const getAllByPlaceholder = (instance: ReactTestInstance) =>
export const getAllByDisplayValue = (instance: ReactTestInstance) =>
function getAllByDisplayValueFn(value: string | RegExp) {
const results = instance.findAll(node =>
const results = instance.findAll((node) =>
getTextInputNodeByDisplayValue(node, value)
);
if (results.length === 0) {
@@ -256,7 +256,7 @@ export const getAllByTestId = (instance: ReactTestInstance) =>
function getAllByTestIdFn(testID: string): ReactTestInstance[] {
const results = instance
.findAllByProps({ testID })
.filter(element => typeof element.type === 'string');
.filter((element) => typeof element.type === 'string');
if (results.length === 0) {
throw new ErrorWithStack(
+4 -4
View File
@@ -1,10 +1,10 @@
// @flow
import waitForElement from '../waitForElement';
import {
ErrorWithStack,
prepareErrorMessage,
createQueryByError,
} from './errors';
import waitForElement from '../waitForElement';
import type { WaitForOptions } from './findByAPI';
function isNodeValid(node: ReactTestInstance) {
@@ -13,7 +13,7 @@ function isNodeValid(node: ReactTestInstance) {
function makeAliases(aliases: Array<string>, query: Function) {
return aliases
.map(alias => ({ [alias]: query }))
.map((alias) => ({ [alias]: query }))
.reduce((acc, query) => ({ ...acc, ...query }), {});
}
@@ -34,7 +34,7 @@ const makeQuery = <P: mixed, M: mixed>(
const getBy = (matcher: M) => {
try {
return instance.find(
node => isNodeValid(node) && matcherFn(node.props[name], matcher)
(node) => isNodeValid(node) && matcherFn(node.props[name], matcher)
);
} catch (error) {
throw new ErrorWithStack(prepareErrorMessage(error), getBy);
@@ -43,7 +43,7 @@ const makeQuery = <P: mixed, M: mixed>(
const getAllBy = (matcher: M) => {
const results = instance.findAll(
node => isNodeValid(node) && matcherFn(node.props[name], matcher)
(node) => isNodeValid(node) && matcherFn(node.props[name], matcher)
);
if (results.length === 0) {
+2 -2
View File
@@ -68,7 +68,7 @@ function updateWithAct(
renderer: ReactTestRenderer,
wrap: (innerElement: React.Element<any>) => React.Element<any>
) {
return function(component: React.Element<any>) {
return function (component: React.Element<any>) {
act(() => {
renderer.update(wrap(component));
});
@@ -79,6 +79,6 @@ function debug(instance: ReactTestInstance, renderer) {
function debugImpl(message?: string) {
return debugDeep(renderer.toJSON(), message);
}
debugImpl.shallow = message => debugShallow(instance, message);
debugImpl.shallow = (message) => debugShallow(instance, message);
return debugImpl;
}
+1 -1
View File
@@ -6,7 +6,7 @@ export default function waitForElement<T>(
): Promise<T> {
const startTime = Date.now();
return new Promise((resolve, reject) => {
const rejectOrRerun = error => {
const rejectOrRerun = (error) => {
if (Date.now() - startTime >= timeout) {
reject(error);
return;
+90 -20
View File
@@ -738,23 +738,26 @@
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
"@callstack/eslint-config@^9.1.0":
version "9.1.0"
resolved "https://registry.yarnpkg.com/@callstack/eslint-config/-/eslint-config-9.1.0.tgz#098e400f0d92be8cca375b8f03bb7594179e5856"
integrity sha512-mesv2gOOkb+tf80LbCWd2A05cZ5W7U/UGTwJxxDoeU/rw9XI8qWsBWkwpuY73MxFH+zzSqqSsDn9O3UfOxhpeg==
"@callstack/eslint-config@^10.0.0":
version "10.0.0"
resolved "https://registry.yarnpkg.com/@callstack/eslint-config/-/eslint-config-10.0.0.tgz#d7a6c1e950dbc27c65b486c403a6e8ab17d61756"
integrity sha512-VywLiGompJeUEHAEVt20Y66k5z6016F7r2cEHB7/SQMjtcK9Cftakp7KJcH0acgbyaSciGV2hzDuwd8402YJGw==
dependencies:
"@typescript-eslint/eslint-plugin" "^2.31.0"
"@typescript-eslint/parser" "^2.31.0"
babel-eslint "^10.0.3"
eslint-config-prettier "^6.7.0"
eslint-config-prettier "^6.10.1"
eslint-plugin-flowtype "^4.5.2"
eslint-plugin-import "^2.19.1"
eslint-plugin-jest "^23.1.1"
eslint-plugin-prettier "^3.1.1"
eslint-plugin-prettier "^3.1.3"
eslint-plugin-promise "^4.2.1"
eslint-plugin-react "^7.17.0"
eslint-plugin-react-hooks "^2.3.0"
eslint-plugin-react-hooks "^4.0.0"
eslint-plugin-react-native "^3.8.1"
eslint-plugin-react-native-a11y "^2.0.0"
eslint-restricted-globals "^0.2.0"
prettier "^1.19.1"
prettier "^2.0.4"
"@cnakazawa/watch@^1.0.3":
version "1.0.4"
@@ -1400,6 +1403,11 @@
resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0"
integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==
"@types/eslint-visitor-keys@^1.0.0":
version "1.0.0"
resolved "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d"
integrity sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==
"@types/events@*":
version "3.0.0"
resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7"
@@ -1541,6 +1549,26 @@
dependencies:
"@types/yargs-parser" "*"
"@typescript-eslint/eslint-plugin@^2.31.0":
version "2.33.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.33.0.tgz#d6c8319d5011b4783bb3d2dadf105d8bdd499bd5"
integrity sha512-QV6P32Btu1sCI/kTqjTNI/8OpCYyvlGjW5vD8MpTIg+HGE5S88HtT1G+880M4bXlvXj/NjsJJG0aGcVh0DdbeQ==
dependencies:
"@typescript-eslint/experimental-utils" "2.33.0"
functional-red-black-tree "^1.0.1"
regexpp "^3.0.0"
tsutils "^3.17.1"
"@typescript-eslint/experimental-utils@2.33.0":
version "2.33.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.33.0.tgz#000f1e5f344fbea1323dc91cc174805d75f99a03"
integrity sha512-qzPM2AuxtMrRq78LwyZa8Qn6gcY8obkIrBs1ehqmQADwkYzTE1Pb4y2W+U3rE/iFkSWcWHG2LS6MJfj6SmHApg==
dependencies:
"@types/json-schema" "^7.0.3"
"@typescript-eslint/typescript-estree" "2.33.0"
eslint-scope "^5.0.0"
eslint-utils "^2.0.0"
"@typescript-eslint/experimental-utils@^2.5.0":
version "2.29.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.29.0.tgz#3cb8060de9265ba131625a96bbfec31ba6d4a0fe"
@@ -1551,6 +1579,16 @@
eslint-scope "^5.0.0"
eslint-utils "^2.0.0"
"@typescript-eslint/parser@^2.31.0":
version "2.33.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.33.0.tgz#395c0ef229ebef883608f8632a34f0acf02b9bdd"
integrity sha512-AUtmwUUhJoH6yrtxZMHbRUEMsC2G6z5NSxg9KsROOGqNXasM71I8P2NihtumlWTUCRld70vqIZ6Pm4E5PAziEA==
dependencies:
"@types/eslint-visitor-keys" "^1.0.0"
"@typescript-eslint/experimental-utils" "2.33.0"
"@typescript-eslint/typescript-estree" "2.33.0"
eslint-visitor-keys "^1.1.0"
"@typescript-eslint/typescript-estree@2.29.0":
version "2.29.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.29.0.tgz#1be6612bb02fc37ac9f466521c1459a4744e8d3a"
@@ -1564,6 +1602,19 @@
semver "^6.3.0"
tsutils "^3.17.1"
"@typescript-eslint/typescript-estree@2.33.0":
version "2.33.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.33.0.tgz#33504c050ccafd38f397a645d4e9534d2eccbb5c"
integrity sha512-d8rY6/yUxb0+mEwTShCQF2zYQdLlqihukNfG9IUlLYz5y1CH6G/9XYbrxQLq3Z14RNvkCC6oe+OcFlyUpwUbkg==
dependencies:
debug "^4.1.1"
eslint-visitor-keys "^1.1.0"
glob "^7.1.6"
is-glob "^4.0.1"
lodash "^4.17.15"
semver "^7.3.2"
tsutils "^3.17.1"
JSONStream@^1.0.4:
version "1.3.5"
resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0"
@@ -1876,6 +1927,11 @@ assign-symbols@^1.0.0:
resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"
integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=
ast-types-flow@^0.0.7:
version "0.0.7"
resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad"
integrity sha1-9wtzXGvKGlycItmCw+Oef+ujva0=
astral-regex@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9"
@@ -3311,7 +3367,7 @@ escodegen@^1.14.1:
optionalDependencies:
source-map "~0.6.1"
eslint-config-prettier@^6.7.0:
eslint-config-prettier@^6.10.1:
version "6.11.0"
resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.11.0.tgz#f6d2238c1290d01c859a8b5c1f7d352a0b0da8b1"
integrity sha512-oB8cpLWSAjOVFEJhhyMZh6NOEOtBVziaqdDQ86+qhDHFbZXoRTM7pNSvFRfW/W/L/LrQ38C99J5CGuRBBzBsdA==
@@ -3366,7 +3422,7 @@ eslint-plugin-jest@^23.1.1:
dependencies:
"@typescript-eslint/experimental-utils" "^2.5.0"
eslint-plugin-prettier@^3.1.1:
eslint-plugin-prettier@^3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.3.tgz#ae116a0fc0e598fdae48743a4430903de5b4e6ca"
integrity sha512-+HG5jmu/dN3ZV3T6eCD7a4BlAySdN7mLIbJYo0z1cFQuI+r2DiTJEFeF68ots93PsnrMxbzIZ2S/ieX+mkrBeQ==
@@ -3378,10 +3434,19 @@ eslint-plugin-promise@^4.2.1:
resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-4.2.1.tgz#845fd8b2260ad8f82564c1222fce44ad71d9418a"
integrity sha512-VoM09vT7bfA7D+upt+FjeBO5eHIJQBUWki1aPvB+vbNiHS3+oGIJGIeyBtKQTME6UPXXy3vV07OL1tHd3ANuDw==
eslint-plugin-react-hooks@^2.3.0:
version "2.5.1"
resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-2.5.1.tgz#4ef5930592588ce171abeb26f400c7fbcbc23cd0"
integrity sha512-Y2c4b55R+6ZzwtTppKwSmK/Kar8AdLiC2f9NADCuxbcTgPPg41Gyqa6b9GppgXSvCtkRw43ZE86CT5sejKC6/g==
eslint-plugin-react-hooks@^4.0.0:
version "4.0.2"
resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.0.2.tgz#03700ca761eacc1b6436074c456f90a8e331ff28"
integrity sha512-kAMRjNztrLW1rK+81X1NwMB2LqG+nc7Q8AibnG8/VyWhQK8SP6JotCFG+HL4u1EjziplxVz4jARdR8gGk8pLDA==
eslint-plugin-react-native-a11y@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/eslint-plugin-react-native-a11y/-/eslint-plugin-react-native-a11y-2.0.0.tgz#073a9cd6a15dd4d157f71d875e02671fdad57d37"
integrity sha512-GGObfzttlR3bs8sy25/r5Rw3/7cfbigi/uIlvqTg/lUSzmzljrhXf7lkwKKDJh0O21XVxrVDz94BAqXU5wU+xw==
dependencies:
"@babel/runtime" "^7.9.2"
ast-types-flow "^0.0.7"
jsx-ast-utils "^2.2.3"
eslint-plugin-react-native-globals@^0.1.1:
version "0.1.2"
@@ -7150,10 +7215,10 @@ prettier-linter-helpers@^1.0.0:
dependencies:
fast-diff "^1.1.2"
prettier@^1.19.1:
version "1.19.1"
resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb"
integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==
prettier@^2.0.4:
version "2.0.5"
resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.0.5.tgz#d6d56282455243f2f92cc1716692c08aa31522d4"
integrity sha512-7PtVymN48hGcO4fGjybyBSIWDsLU4H4XlvOHfq91pz9kkGlonzwTfYkaIEwiRg/dAJF9YlbsduBAgtYLi+8cFg==
pretty-format@^24.7.0, pretty-format@^24.9.0:
version "24.9.0"
@@ -7543,6 +7608,11 @@ regexpp@^2.0.1:
resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f"
integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==
regexpp@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2"
integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==
regexpu-core@^4.7.0:
version "4.7.0"
resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.0.tgz#fcbf458c50431b0bb7b45d6967b8192d91f3d938"
@@ -8992,7 +9062,7 @@ uuid@7.0.1:
resolved "https://registry.yarnpkg.com/uuid/-/uuid-7.0.1.tgz#95ed6ff3d8c881cbf85f0f05cc3915ef994818ef"
integrity sha512-yqjRXZzSJm9Dbl84H2VDHpM3zMjzSJQ+hn6C4zqd5ilW+7P4ZmLEEqwho9LjP+tGuZlF4xrHQXT0h9QZUS/pWA==
uuid@7.0.3:
uuid@7.0.3, uuid@^7.0.3:
version "7.0.3"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-7.0.3.tgz#c5c9f2c8cf25dc0a372c4df1441c41f5bd0c680b"
integrity sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==
@@ -9112,7 +9182,7 @@ which-module@^2.0.0:
resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=
which@^1.2.9, which@^1.3.1:
which@^1.2.9:
version "1.3.1"
resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==