@samitouri / QOS-React / commits / 037b25cfdc

test(eslint): create eslint test fixtures (#32396)

michael faith committed Feb 16, 2025 at 12:23 UTC 037b25cfdcd18deea0e1c6c2e8d2548dbf32f7f3
31 files changed +3629 -944
fixtures/eslint-v6/.eslintrc.json renamed
+3 -4
@@ -1,15 +1,14 @@
1 {
2 "root": true,
3 + "extends": ["plugin:react-hooks/recommended-legacy"],
4 "parserOptions": {
4 - "ecmaVersion": 8,
5 + "ecmaVersion": 2020,
6 "sourceType": "module",
7 "ecmaFeatures": {
8 "jsx": true
9 }
10 },
10 - "plugins": ["react-hooks"],
11 "rules": {
12 - "react-hooks/rules-of-hooks": 2,
13 - "react-hooks/exhaustive-deps": 2
12 + "react-hooks/exhaustive-deps": "error"
13 }
14 }
fixtures/eslint-v6/README.md new
+12
@@ -0,0 +1,12 @@
1 +# ESLint v6 Fixture
2 +
3 +This fixture allows us to test e2e functionality for `eslint-plugin-react-hooks` with eslint version 6.
4 +
5 +Run the following to test.
6 +
7 +```sh
8 +cd fixtures/eslint-v6
9 +yarn
10 +yarn build
11 +yarn lint
12 +```
fixtures/eslint-v6/build.mjs new
+5
@@ -0,0 +1,5 @@
1 +#!/usr/bin/env node
2 +
3 +import {exec} from 'node:child_process';
4 +
5 +exec('cd ../.. && yarn build -r stable eslint-plugin-react-hooks');
fixtures/eslint-v6/index.js new
+143
@@ -0,0 +1,143 @@
1 +/**
2 + * Exhaustive Deps
3 + */
4 +// Valid because dependencies are declared correctly
5 +function Comment({comment, commentSource}) {
6 + const currentUserID = comment.viewer.id;
7 + const environment = RelayEnvironment.forUser(currentUserID);
8 + const commentID = nullthrows(comment.id);
9 + useEffect(() => {
10 + const subscription = SubscriptionCounter.subscribeOnce(
11 + `StoreSubscription_${commentID}`,
12 + () =>
13 + StoreSubscription.subscribe(
14 + environment,
15 + {
16 + comment_id: commentID,
17 + },
18 + currentUserID,
19 + commentSource
20 + )
21 + );
22 + return () => subscription.dispose();
23 + }, [commentID, commentSource, currentUserID, environment]);
24 +}
25 +
26 +// Valid because no dependencies
27 +function UseEffectWithNoDependencies() {
28 + const local = {};
29 + useEffect(() => {
30 + console.log(local);
31 + });
32 +}
33 +function UseEffectWithEmptyDependencies() {
34 + useEffect(() => {
35 + const local = {};
36 + console.log(local);
37 + }, []);
38 +}
39 +
40 +// OK because `props` wasn't defined.
41 +function ComponentWithNoPropsDefined() {
42 + useEffect(() => {
43 + console.log(props.foo);
44 + }, []);
45 +}
46 +
47 +// Valid because props are declared as a dependency
48 +function ComponentWithPropsDeclaredAsDep({foo}) {
49 + useEffect(() => {
50 + console.log(foo.length);
51 + console.log(foo.slice(0));
52 + }, [foo]);
53 +}
54 +
55 +// Valid because individual props are declared as dependencies
56 +function ComponentWithIndividualPropsDeclaredAsDeps(props) {
57 + useEffect(() => {
58 + console.log(props.foo);
59 + console.log(props.bar);
60 + }, [props.bar, props.foo]);
61 +}
62 +
63 +// Invalid because neither props or props.foo are declared as dependencies
64 +function ComponentWithoutDeclaringPropAsDep(props) {
65 + useEffect(() => {
66 + console.log(props.foo);
67 + // eslint-disable-next-line react-hooks/exhaustive-deps
68 + }, []);
69 + useCallback(() => {
70 + console.log(props.foo);
71 + // eslint-disable-next-line react-hooks/exhaustive-deps
72 + }, []);
73 + useMemo(() => {
74 + console.log(props.foo);
75 + // eslint-disable-next-line react-hooks/exhaustive-deps
76 + }, []);
77 + React.useEffect(() => {
78 + console.log(props.foo);
79 + // eslint-disable-next-line react-hooks/exhaustive-deps
80 + }, []);
81 + React.useCallback(() => {
82 + console.log(props.foo);
83 + // eslint-disable-next-line react-hooks/exhaustive-deps
84 + }, []);
85 + React.useMemo(() => {
86 + console.log(props.foo);
87 + // eslint-disable-next-line react-hooks/exhaustive-deps
88 + }, []);
89 + React.notReactiveHook(() => {
90 + console.log(props.foo);
91 + }, []); // This one isn't a violation
92 +}
93 +
94 +/**
95 + * Rules of Hooks
96 + */
97 +// Valid because functions can call functions.
98 +function normalFunctionWithConditionalFunction() {
99 + if (cond) {
100 + doSomething();
101 + }
102 +}
103 +
104 +// Valid because hooks can call hooks.
105 +function useHook() {
106 + useState();
107 +}
108 +const whatever = function useHook() {
109 + useState();
110 +};
111 +const useHook1 = () => {
112 + useState();
113 +};
114 +let useHook2 = () => useState();
115 +useHook2 = () => {
116 + useState();
117 +};
118 +
119 +// Invalid because hooks can't be called in conditionals.
120 +function ComponentWithConditionalHook() {
121 + if (cond) {
122 + // eslint-disable-next-line react-hooks/rules-of-hooks
123 + useConditionalHook();
124 + }
125 +}
126 +
127 +// Invalid because hooks can't be called in loops.
128 +function useHookInLoops() {
129 + while (a) {
130 + // eslint-disable-next-line react-hooks/rules-of-hooks
131 + useHook1();
132 + if (b) return;
133 + // eslint-disable-next-line react-hooks/rules-of-hooks
134 + useHook2();
135 + }
136 + while (c) {
137 + // eslint-disable-next-line react-hooks/rules-of-hooks
138 + useHook3();
139 + if (d) return;
140 + // eslint-disable-next-line react-hooks/rules-of-hooks
141 + useHook4();
142 + }
143 +}
fixtures/eslint-v6/package.json new
+12
@@ -0,0 +1,12 @@
1 +{
2 + "private": true,
3 + "name": "eslint-v6",
4 + "dependencies": {
5 + "eslint": "^6",
6 + "eslint-plugin-react-hooks": "link:../../build/node_modules/eslint-plugin-react-hooks"
7 + },
8 + "scripts": {
9 + "build": "node build.mjs && yarn",
10 + "lint": "eslint index.js --report-unused-disable-directives"
11 + }
12 +}
fixtures/eslint-v6/yarn.lock new
+865
@@ -0,0 +1,865 @@
1 +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 +# yarn lockfile v1
3 +
4 +
5 +"@babel/code-frame@^7.0.0":
6 + version "7.26.2"
7 + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.26.2.tgz#4b5fab97d33338eff916235055f0ebc21e573a85"
8 + integrity sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==
9 + dependencies:
10 + "@babel/helper-validator-identifier" "^7.25.9"
11 + js-tokens "^4.0.0"
12 + picocolors "^1.0.0"
13 +
14 +"@babel/helper-validator-identifier@^7.25.9":
15 + version "7.25.9"
16 + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz#24b64e2c3ec7cd3b3c547729b8d16871f22cbdc7"
17 + integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==
18 +
19 +acorn-jsx@^5.2.0:
20 + version "5.3.2"
21 + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
22 + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
23 +
24 +acorn@^7.1.1:
25 + version "7.4.1"
26 + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
27 + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
28 +
29 +ajv@^6.10.0, ajv@^6.10.2:
30 + version "6.12.6"
31 + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
32 + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
33 + dependencies:
34 + fast-deep-equal "^3.1.1"
35 + fast-json-stable-stringify "^2.0.0"
36 + json-schema-traverse "^0.4.1"
37 + uri-js "^4.2.2"
38 +
39 +ansi-escapes@^4.2.1:
40 + version "4.3.2"
41 + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e"
42 + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==
43 + dependencies:
44 + type-fest "^0.21.3"
45 +
46 +ansi-regex@^4.1.0:
47 + version "4.1.1"
48 + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.1.tgz#164daac87ab2d6f6db3a29875e2d1766582dabed"
49 + integrity sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==
50 +
51 +ansi-regex@^5.0.1:
52 + version "5.0.1"
53 + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
54 + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
55 +
56 +ansi-styles@^3.2.0, ansi-styles@^3.2.1:
57 + version "3.2.1"
58 + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
59 + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
60 + dependencies:
61 + color-convert "^1.9.0"
62 +
63 +ansi-styles@^4.1.0:
64 + version "4.3.0"
65 + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
66 + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
67 + dependencies:
68 + color-convert "^2.0.1"
69 +
70 +argparse@^1.0.7:
71 + version "1.0.10"
72 + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
73 + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
74 + dependencies:
75 + sprintf-js "~1.0.2"
76 +
77 +astral-regex@^1.0.0:
78 + version "1.0.0"
79 + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9"
80 + integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==
81 +
82 +balanced-match@^1.0.0:
83 + version "1.0.0"
84 + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
85 + integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
86 +
87 +brace-expansion@^1.1.7:
88 + version "1.1.11"
89 + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
90 + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
91 + dependencies:
92 + balanced-match "^1.0.0"
93 + concat-map "0.0.1"
94 +
95 +callsites@^3.0.0:
96 + version "3.1.0"
97 + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
98 + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
99 +
100 +chalk@^2.1.0:
101 + version "2.4.2"
102 + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
103 + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
104 + dependencies:
105 + ansi-styles "^3.2.1"
106 + escape-string-regexp "^1.0.5"
107 + supports-color "^5.3.0"
108 +
109 +chalk@^4.1.0:
110 + version "4.1.2"
111 + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
112 + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
113 + dependencies:
114 + ansi-styles "^4.1.0"
115 + supports-color "^7.1.0"
116 +
117 +chardet@^0.7.0:
118 + version "0.7.0"
119 + resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e"
120 + integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==
121 +
122 +cli-cursor@^3.1.0:
123 + version "3.1.0"
124 + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307"
125 + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==
126 + dependencies:
127 + restore-cursor "^3.1.0"
128 +
129 +cli-width@^3.0.0:
130 + version "3.0.0"
131 + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6"
132 + integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==
133 +
134 +color-convert@^1.9.0:
135 + version "1.9.3"
136 + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
137 + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
138 + dependencies:
139 + color-name "1.1.3"
140 +
141 +color-convert@^2.0.1:
142 + version "2.0.1"
143 + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
144 + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
145 + dependencies:
146 + color-name "~1.1.4"
147 +
148 +color-name@1.1.3:
149 + version "1.1.3"
150 + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
151 + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
152 +
153 +color-name@~1.1.4:
154 + version "1.1.4"
155 + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
156 + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
157 +
158 +concat-map@0.0.1:
159 + version "0.0.1"
160 + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
161 + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
162 +
163 +cross-spawn@^6.0.5:
164 + version "6.0.6"
165 + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.6.tgz#30d0efa0712ddb7eb5a76e1e8721bffafa6b5d57"
166 + integrity sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==
167 + dependencies:
168 + nice-try "^1.0.4"
169 + path-key "^2.0.1"
170 + semver "^5.5.0"
171 + shebang-command "^1.2.0"
172 + which "^1.2.9"
173 +
174 +debug@^4.0.1:
175 + version "4.4.0"
176 + resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.0.tgz#2b3f2aea2ffeb776477460267377dc8710faba8a"
177 + integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==
178 + dependencies:
179 + ms "^2.1.3"
180 +
181 +deep-is@~0.1.3:
182 + version "0.1.3"
183 + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
184 + integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=
185 +
186 +doctrine@^3.0.0:
187 + version "3.0.0"
188 + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"
189 + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==
190 + dependencies:
191 + esutils "^2.0.2"
192 +
193 +emoji-regex@^7.0.1:
194 + version "7.0.3"
195 + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156"
196 + integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==
197 +
198 +emoji-regex@^8.0.0:
199 + version "8.0.0"
200 + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
201 + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
202 +
203 +escape-string-regexp@^1.0.5:
204 + version "1.0.5"
205 + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
206 + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
207 +
208 +"eslint-plugin-react-hooks@link:../../build/node_modules/eslint-plugin-react-hooks":
209 + version "0.0.0"
210 + uid ""
211 +
212 +eslint-scope@^5.0.0:
213 + version "5.1.1"
214 + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c"
215 + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==
216 + dependencies:
217 + esrecurse "^4.3.0"
218 + estraverse "^4.1.1"
219 +
220 +eslint-utils@^1.4.3:
221 + version "1.4.3"
222 + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.3.tgz#74fec7c54d0776b6f67e0251040b5806564e981f"
223 + integrity sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==
224 + dependencies:
225 + eslint-visitor-keys "^1.1.0"
226 +
227 +eslint-visitor-keys@^1.1.0:
228 + version "1.3.0"
229 + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e"
230 + integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==
231 +
232 +eslint@^6:
233 + version "6.8.0"
234 + resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.8.0.tgz#62262d6729739f9275723824302fb227c8c93ffb"
235 + integrity sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==
236 + dependencies:
237 + "@babel/code-frame" "^7.0.0"
238 + ajv "^6.10.0"
239 + chalk "^2.1.0"
240 + cross-spawn "^6.0.5"
241 + debug "^4.0.1"
242 + doctrine "^3.0.0"
243 + eslint-scope "^5.0.0"
244 + eslint-utils "^1.4.3"
245 + eslint-visitor-keys "^1.1.0"
246 + espree "^6.1.2"
247 + esquery "^1.0.1"
248 + esutils "^2.0.2"
249 + file-entry-cache "^5.0.1"
250 + functional-red-black-tree "^1.0.1"
251 + glob-parent "^5.0.0"
252 + globals "^12.1.0"
253 + ignore "^4.0.6"
254 + import-fresh "^3.0.0"
255 + imurmurhash "^0.1.4"
256 + inquirer "^7.0.0"
257 + is-glob "^4.0.0"
258 + js-yaml "^3.13.1"
259 + json-stable-stringify-without-jsonify "^1.0.1"
260 + levn "^0.3.0"
261 + lodash "^4.17.14"
262 + minimatch "^3.0.4"
263 + mkdirp "^0.5.1"
264 + natural-compare "^1.4.0"
265 + optionator "^0.8.3"
266 + progress "^2.0.0"
267 + regexpp "^2.0.1"
268 + semver "^6.1.2"
269 + strip-ansi "^5.2.0"
270 + strip-json-comments "^3.0.1"
271 + table "^5.2.3"
272 + text-table "^0.2.0"
273 + v8-compile-cache "^2.0.3"
274 +
275 +espree@^6.1.2:
276 + version "6.2.1"
277 + resolved "https://registry.yarnpkg.com/espree/-/espree-6.2.1.tgz#77fc72e1fd744a2052c20f38a5b575832e82734a"
278 + integrity sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==
279 + dependencies:
280 + acorn "^7.1.1"
281 + acorn-jsx "^5.2.0"
282 + eslint-visitor-keys "^1.1.0"
283 +
284 +esprima@^4.0.0:
285 + version "4.0.1"
286 + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
287 + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
288 +
289 +esquery@^1.0.1:
290 + version "1.6.0"
291 + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.6.0.tgz#91419234f804d852a82dceec3e16cdc22cf9dae7"
292 + integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==
293 + dependencies:
294 + estraverse "^5.1.0"
295 +
296 +esrecurse@^4.3.0:
297 + version "4.3.0"
298 + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921"
299 + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
300 + dependencies:
301 + estraverse "^5.2.0"
302 +
303 +estraverse@^4.1.1:
304 + version "4.2.0"
305 + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
306 + integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=
307 +
308 +estraverse@^5.1.0, estraverse@^5.2.0:
309 + version "5.3.0"
310 + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123"
311 + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
312 +
313 +esutils@^2.0.2:
314 + version "2.0.2"
315 + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
316 + integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=
317 +
318 +external-editor@^3.0.3:
319 + version "3.1.0"
320 + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495"
321 + integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==
322 + dependencies:
323 + chardet "^0.7.0"
324 + iconv-lite "^0.4.24"
325 + tmp "^0.0.33"
326 +
327 +fast-deep-equal@^3.1.1:
328 + version "3.1.3"
329 + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
330 + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
331 +
332 +fast-json-stable-stringify@^2.0.0:
333 + version "2.0.0"
334 + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
335 + integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I=
336 +
337 +fast-levenshtein@~2.0.6:
338 + version "2.0.6"
339 + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
340 + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==
341 +
342 +figures@^3.0.0:
343 + version "3.2.0"
344 + resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af"
345 + integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==
346 + dependencies:
347 + escape-string-regexp "^1.0.5"
348 +
349 +file-entry-cache@^5.0.1:
350 + version "5.0.1"
351 + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c"
352 + integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==
353 + dependencies:
354 + flat-cache "^2.0.1"
355 +
356 +flat-cache@^2.0.1:
357 + version "2.0.1"
358 + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0"
359 + integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==
360 + dependencies:
361 + flatted "^2.0.0"
362 + rimraf "2.6.3"
363 + write "1.0.3"
364 +
365 +flatted@^2.0.0:
366 + version "2.0.2"
367 + resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138"
368 + integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==
369 +
370 +fs.realpath@^1.0.0:
371 + version "1.0.0"
372 + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
373 + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
374 +
375 +functional-red-black-tree@^1.0.1:
376 + version "1.0.1"
377 + resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
378 + integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==
379 +
380 +glob-parent@^5.0.0:
381 + version "5.1.2"
382 + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
383 + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
384 + dependencies:
385 + is-glob "^4.0.1"
386 +
387 +glob@^7.1.3:
388 + version "7.1.3"
389 + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1"
390 + integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==
391 + dependencies:
392 + fs.realpath "^1.0.0"
393 + inflight "^1.0.4"
394 + inherits "2"
395 + minimatch "^3.0.4"
396 + once "^1.3.0"
397 + path-is-absolute "^1.0.0"
398 +
399 +globals@^12.1.0:
400 + version "12.4.0"
401 + resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8"
402 + integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==
403 + dependencies:
404 + type-fest "^0.8.1"
405 +
406 +has-flag@^3.0.0:
407 + version "3.0.0"
408 + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
409 + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
410 +
411 +has-flag@^4.0.0:
412 + version "4.0.0"
413 + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
414 + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
415 +
416 +iconv-lite@^0.4.24:
417 + version "0.4.24"
418 + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
419 + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
420 + dependencies:
421 + safer-buffer ">= 2.1.2 < 3"
422 +
423 +ignore@^4.0.6:
424 + version "4.0.6"
425 + resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
426 + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
427 +
428 +import-fresh@^3.0.0:
429 + version "3.3.1"
430 + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.1.tgz#9cecb56503c0ada1f2741dbbd6546e4b13b57ccf"
431 + integrity sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==
432 + dependencies:
433 + parent-module "^1.0.0"
434 + resolve-from "^4.0.0"
435 +
436 +imurmurhash@^0.1.4:
437 + version "0.1.4"
438 + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
439 + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
440 +
441 +inflight@^1.0.4:
442 + version "1.0.6"
443 + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
444 + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
445 + dependencies:
446 + once "^1.3.0"
447 + wrappy "1"
448 +
449 +inherits@2:
450 + version "2.0.3"
451 + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
452 + integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=
453 +
454 +inquirer@^7.0.0:
455 + version "7.3.3"
456 + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003"
457 + integrity sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==
458 + dependencies:
459 + ansi-escapes "^4.2.1"
460 + chalk "^4.1.0"
461 + cli-cursor "^3.1.0"
462 + cli-width "^3.0.0"
463 + external-editor "^3.0.3"
464 + figures "^3.0.0"
465 + lodash "^4.17.19"
466 + mute-stream "0.0.8"
467 + run-async "^2.4.0"
468 + rxjs "^6.6.0"
469 + string-width "^4.1.0"
470 + strip-ansi "^6.0.0"
471 + through "^2.3.6"
472 +
473 +is-extglob@^2.1.1:
474 + version "2.1.1"
475 + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
476 + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
477 +
478 +is-fullwidth-code-point@^2.0.0:
479 + version "2.0.0"
480 + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
481 + integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=
482 +
483 +is-fullwidth-code-point@^3.0.0:
484 + version "3.0.0"
485 + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
486 + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
487 +
488 +is-glob@^4.0.0, is-glob@^4.0.1:
489 + version "4.0.3"
490 + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
491 + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
492 + dependencies:
493 + is-extglob "^2.1.1"
494 +
495 +isexe@^2.0.0:
496 + version "2.0.0"
497 + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
498 + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
499 +
500 +js-tokens@^4.0.0:
501 + version "4.0.0"
502 + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
503 + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
504 +
505 +js-yaml@^3.13.1:
506 + version "3.14.1"
507 + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537"
508 + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==
509 + dependencies:
510 + argparse "^1.0.7"
511 + esprima "^4.0.0"
512 +
513 +json-schema-traverse@^0.4.1:
514 + version "0.4.1"
515 + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
516 + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
517 +
518 +json-stable-stringify-without-jsonify@^1.0.1:
519 + version "1.0.1"
520 + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
521 + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==
522 +
523 +levn@^0.3.0, levn@~0.3.0:
524 + version "0.3.0"
525 + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
526 + integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=
527 + dependencies:
528 + prelude-ls "~1.1.2"
529 + type-check "~0.3.2"
530 +
531 +lodash@^4.17.14, lodash@^4.17.19:
532 + version "4.17.21"
533 + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
534 + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
535 +
536 +mimic-fn@^2.1.0:
537 + version "2.1.0"
538 + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
539 + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
540 +
541 +minimatch@^3.0.4:
542 + version "3.0.4"
543 + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
544 + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
545 + dependencies:
546 + brace-expansion "^1.1.7"
547 +
548 +minimist@0.0.8:
549 + version "0.0.8"
550 + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
551 + integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=
552 +
553 +mkdirp@^0.5.1:
554 + version "0.5.1"
555 + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
556 + integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=
557 + dependencies:
558 + minimist "0.0.8"
559 +
560 +ms@^2.1.3:
561 + version "2.1.3"
562 + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
563 + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
564 +
565 +mute-stream@0.0.8:
566 + version "0.0.8"
567 + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d"
568 + integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==
569 +
570 +natural-compare@^1.4.0:
571 + version "1.4.0"
572 + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
573 + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=
574 +
575 +nice-try@^1.0.4:
576 + version "1.0.5"
577 + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366"
578 + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==
579 +
580 +once@^1.3.0:
581 + version "1.4.0"
582 + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
583 + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
584 + dependencies:
585 + wrappy "1"
586 +
587 +onetime@^5.1.0:
588 + version "5.1.2"
589 + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e"
590 + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==
591 + dependencies:
592 + mimic-fn "^2.1.0"
593 +
594 +optionator@^0.8.3:
595 + version "0.8.3"
596 + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495"
597 + integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==
598 + dependencies:
599 + deep-is "~0.1.3"
600 + fast-levenshtein "~2.0.6"
601 + levn "~0.3.0"
602 + prelude-ls "~1.1.2"
603 + type-check "~0.3.2"
604 + word-wrap "~1.2.3"
605 +
606 +os-tmpdir@~1.0.2:
607 + version "1.0.2"
608 + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
609 + integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=
610 +
611 +parent-module@^1.0.0:
612 + version "1.0.1"
613 + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
614 + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
615 + dependencies:
616 + callsites "^3.0.0"
617 +
618 +path-is-absolute@^1.0.0:
619 + version "1.0.1"
620 + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
621 + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
622 +
623 +path-key@^2.0.1:
624 + version "2.0.1"
625 + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
626 + integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==
627 +
628 +picocolors@^1.0.0:
629 + version "1.1.1"
630 + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b"
631 + integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==
632 +
633 +prelude-ls@~1.1.2:
634 + version "1.1.2"
635 + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
636 + integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=
637 +
638 +progress@^2.0.0:
639 + version "2.0.3"
640 + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
641 + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
642 +
643 +punycode@^2.1.0:
644 + version "2.1.1"
645 + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
646 + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
647 +
648 +regexpp@^2.0.1:
649 + version "2.0.1"
650 + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f"
651 + integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==
652 +
653 +resolve-from@^4.0.0:
654 + version "4.0.0"
655 + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
656 + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
657 +
658 +restore-cursor@^3.1.0:
659 + version "3.1.0"
660 + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e"
661 + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==
662 + dependencies:
663 + onetime "^5.1.0"
664 + signal-exit "^3.0.2"
665 +
666 +rimraf@2.6.3:
667 + version "2.6.3"
668 + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab"
669 + integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==
670 + dependencies:
671 + glob "^7.1.3"
672 +
673 +run-async@^2.4.0:
674 + version "2.4.1"
675 + resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455"
676 + integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==
677 +
678 +rxjs@^6.6.0:
679 + version "6.6.7"
680 + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9"
681 + integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==
682 + dependencies:
683 + tslib "^1.9.0"
684 +
685 +"safer-buffer@>= 2.1.2 < 3":
686 + version "2.1.2"
687 + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
688 + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
689 +
690 +semver@^5.5.0:
691 + version "5.7.2"
692 + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8"
693 + integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==
694 +
695 +semver@^6.1.2:
696 + version "6.3.1"
697 + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
698 + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
699 +
700 +shebang-command@^1.2.0:
701 + version "1.2.0"
702 + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
703 + integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==
704 + dependencies:
705 + shebang-regex "^1.0.0"
706 +
707 +shebang-regex@^1.0.0:
708 + version "1.0.0"
709 + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
710 + integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==
711 +
712 +signal-exit@^3.0.2:
713 + version "3.0.2"
714 + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
715 + integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=
716 +
717 +slice-ansi@^2.1.0:
718 + version "2.1.0"
719 + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636"
720 + integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==
721 + dependencies:
722 + ansi-styles "^3.2.0"
723 + astral-regex "^1.0.0"
724 + is-fullwidth-code-point "^2.0.0"
725 +
726 +sprintf-js@~1.0.2:
727 + version "1.0.3"
728 + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
729 + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
730 +
731 +string-width@^3.0.0:
732 + version "3.1.0"
733 + resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961"
734 + integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==
735 + dependencies:
736 + emoji-regex "^7.0.1"
737 + is-fullwidth-code-point "^2.0.0"
738 + strip-ansi "^5.1.0"
739 +
740 +string-width@^4.1.0:
741 + version "4.2.3"
742 + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
743 + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
744 + dependencies:
745 + emoji-regex "^8.0.0"
746 + is-fullwidth-code-point "^3.0.0"
747 + strip-ansi "^6.0.1"
748 +
749 +strip-ansi@^5.1.0, strip-ansi@^5.2.0:
750 + version "5.2.0"
751 + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae"
752 + integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==
753 + dependencies:
754 + ansi-regex "^4.1.0"
755 +
756 +strip-ansi@^6.0.0, strip-ansi@^6.0.1:
757 + version "6.0.1"
758 + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
759 + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
760 + dependencies:
761 + ansi-regex "^5.0.1"
762 +
763 +strip-json-comments@^3.0.1:
764 + version "3.1.1"
765 + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
766 + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
767 +
768 +supports-color@^5.3.0:
769 + version "5.5.0"
770 + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
771 + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
772 + dependencies:
773 + has-flag "^3.0.0"
774 +
775 +supports-color@^7.1.0:
776 + version "7.2.0"
777 + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
778 + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
779 + dependencies:
780 + has-flag "^4.0.0"
781 +
782 +table@^5.2.3:
783 + version "5.4.6"
784 + resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e"
785 + integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==
786 + dependencies:
787 + ajv "^6.10.2"
788 + lodash "^4.17.14"
789 + slice-ansi "^2.1.0"
790 + string-width "^3.0.0"
791 +
792 +text-table@^0.2.0:
793 + version "0.2.0"
794 + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
795 + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==
796 +
797 +through@^2.3.6:
798 + version "2.3.8"
799 + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
800 + integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
801 +
802 +tmp@^0.0.33:
803 + version "0.0.33"
804 + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"
805 + integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==
806 + dependencies:
807 + os-tmpdir "~1.0.2"
808 +
809 +tslib@^1.9.0:
810 + version "1.14.1"
811 + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
812 + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
813 +
814 +type-check@~0.3.2:
815 + version "0.3.2"
816 + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
817 + integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=
818 + dependencies:
819 + prelude-ls "~1.1.2"
820 +
821 +type-fest@^0.21.3:
822 + version "0.21.3"
823 + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37"
824 + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==
825 +
826 +type-fest@^0.8.1:
827 + version "0.8.1"
828 + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d"
829 + integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==
830 +
831 +uri-js@^4.2.2:
832 + version "4.2.2"
833 + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0"
834 + integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==
835 + dependencies:
836 + punycode "^2.1.0"
837 +
838 +v8-compile-cache@^2.0.3:
839 + version "2.4.0"
840 + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz#cdada8bec61e15865f05d097c5f4fd30e94dc128"
841 + integrity sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==
842 +
843 +which@^1.2.9:
844 + version "1.3.1"
845 + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
846 + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
847 + dependencies:
848 + isexe "^2.0.0"
849 +
850 +word-wrap@~1.2.3:
851 + version "1.2.5"
852 + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34"
853 + integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==
854 +
855 +wrappy@1:
856 + version "1.0.2"
857 + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
858 + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
859 +
860 +write@1.0.3:
861 + version "1.0.3"
862 + resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3"
863 + integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==
864 + dependencies:
865 + mkdirp "^0.5.1"
fixtures/eslint-v7/.eslintrc.json new
+14
@@ -0,0 +1,14 @@
1 +{
2 + "root": true,
3 + "extends": ["plugin:react-hooks/recommended-legacy"],
4 + "parserOptions": {
5 + "ecmaVersion": 2020,
6 + "sourceType": "module",
7 + "ecmaFeatures": {
8 + "jsx": true
9 + }
10 + },
11 + "rules": {
12 + "react-hooks/exhaustive-deps": "error"
13 + }
14 +}
fixtures/eslint-v7/README.md new
+12
@@ -0,0 +1,12 @@
1 +# ESLint v7 Fixture
2 +
3 +This fixture allows us to test e2e functionality for `eslint-plugin-react-hooks` with eslint version 7.
4 +
5 +Run the following to test.
6 +
7 +```sh
8 +cd fixtures/eslint-v7
9 +yarn
10 +yarn build
11 +yarn lint
12 +```
fixtures/eslint-v7/build.mjs new
+5
@@ -0,0 +1,5 @@
1 +#!/usr/bin/env node
2 +
3 +import {exec} from 'node:child_process';
4 +
5 +exec('cd ../.. && yarn build -r stable eslint-plugin-react-hooks');
fixtures/eslint-v7/index.js new
+143
@@ -0,0 +1,143 @@
1 +/**
2 + * Exhaustive Deps
3 + */
4 +// Valid because dependencies are declared correctly
5 +function Comment({comment, commentSource}) {
6 + const currentUserID = comment.viewer.id;
7 + const environment = RelayEnvironment.forUser(currentUserID);
8 + const commentID = nullthrows(comment.id);
9 + useEffect(() => {
10 + const subscription = SubscriptionCounter.subscribeOnce(
11 + `StoreSubscription_${commentID}`,
12 + () =>
13 + StoreSubscription.subscribe(
14 + environment,
15 + {
16 + comment_id: commentID,
17 + },
18 + currentUserID,
19 + commentSource
20 + )
21 + );
22 + return () => subscription.dispose();
23 + }, [commentID, commentSource, currentUserID, environment]);
24 +}
25 +
26 +// Valid because no dependencies
27 +function UseEffectWithNoDependencies() {
28 + const local = {};
29 + useEffect(() => {
30 + console.log(local);
31 + });
32 +}
33 +function UseEffectWithEmptyDependencies() {
34 + useEffect(() => {
35 + const local = {};
36 + console.log(local);
37 + }, []);
38 +}
39 +
40 +// OK because `props` wasn't defined.
41 +function ComponentWithNoPropsDefined() {
42 + useEffect(() => {
43 + console.log(props.foo);
44 + }, []);
45 +}
46 +
47 +// Valid because props are declared as a dependency
48 +function ComponentWithPropsDeclaredAsDep({foo}) {
49 + useEffect(() => {
50 + console.log(foo.length);
51 + console.log(foo.slice(0));
52 + }, [foo]);
53 +}
54 +
55 +// Valid because individual props are declared as dependencies
56 +function ComponentWithIndividualPropsDeclaredAsDeps(props) {
57 + useEffect(() => {
58 + console.log(props.foo);
59 + console.log(props.bar);
60 + }, [props.bar, props.foo]);
61 +}
62 +
63 +// Invalid because neither props or props.foo are declared as dependencies
64 +function ComponentWithoutDeclaringPropAsDep(props) {
65 + useEffect(() => {
66 + console.log(props.foo);
67 + // eslint-disable-next-line react-hooks/exhaustive-deps
68 + }, []);
69 + useCallback(() => {
70 + console.log(props.foo);
71 + // eslint-disable-next-line react-hooks/exhaustive-deps
72 + }, []);
73 + useMemo(() => {
74 + console.log(props.foo);
75 + // eslint-disable-next-line react-hooks/exhaustive-deps
76 + }, []);
77 + React.useEffect(() => {
78 + console.log(props.foo);
79 + // eslint-disable-next-line react-hooks/exhaustive-deps
80 + }, []);
81 + React.useCallback(() => {
82 + console.log(props.foo);
83 + // eslint-disable-next-line react-hooks/exhaustive-deps
84 + }, []);
85 + React.useMemo(() => {
86 + console.log(props.foo);
87 + // eslint-disable-next-line react-hooks/exhaustive-deps
88 + }, []);
89 + React.notReactiveHook(() => {
90 + console.log(props.foo);
91 + }, []); // This one isn't a violation
92 +}
93 +
94 +/**
95 + * Rules of Hooks
96 + */
97 +// Valid because functions can call functions.
98 +function normalFunctionWithConditionalFunction() {
99 + if (cond) {
100 + doSomething();
101 + }
102 +}
103 +
104 +// Valid because hooks can call hooks.
105 +function useHook() {
106 + useState();
107 +}
108 +const whatever = function useHook() {
109 + useState();
110 +};
111 +const useHook1 = () => {
112 + useState();
113 +};
114 +let useHook2 = () => useState();
115 +useHook2 = () => {
116 + useState();
117 +};
118 +
119 +// Invalid because hooks can't be called in conditionals.
120 +function ComponentWithConditionalHook() {
121 + if (cond) {
122 + // eslint-disable-next-line react-hooks/rules-of-hooks
123 + useConditionalHook();
124 + }
125 +}
126 +
127 +// Invalid because hooks can't be called in loops.
128 +function useHookInLoops() {
129 + while (a) {
130 + // eslint-disable-next-line react-hooks/rules-of-hooks
131 + useHook1();
132 + if (b) return;
133 + // eslint-disable-next-line react-hooks/rules-of-hooks
134 + useHook2();
135 + }
136 + while (c) {
137 + // eslint-disable-next-line react-hooks/rules-of-hooks
138 + useHook3();
139 + if (d) return;
140 + // eslint-disable-next-line react-hooks/rules-of-hooks
141 + useHook4();
142 + }
143 +}
fixtures/eslint-v7/package.json new
+12
@@ -0,0 +1,12 @@
1 +{
2 + "private": true,
3 + "name": "eslint-v7",
4 + "dependencies": {
5 + "eslint": "^7",
6 + "eslint-plugin-react-hooks": "link:../../build/node_modules/eslint-plugin-react-hooks"
7 + },
8 + "scripts": {
9 + "build": "node build.mjs && yarn",
10 + "lint": "eslint index.js --report-unused-disable-directives"
11 + }
12 +}
fixtures/eslint-v7/yarn.lock new
+769
@@ -0,0 +1,769 @@
1 +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 +# yarn lockfile v1
3 +
4 +
5 +"@babel/code-frame@7.12.11":
6 + version "7.12.11"
7 + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f"
8 + integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==
9 + dependencies:
10 + "@babel/highlight" "^7.10.4"
11 +
12 +"@babel/helper-validator-identifier@^7.25.9":
13 + version "7.25.9"
14 + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz#24b64e2c3ec7cd3b3c547729b8d16871f22cbdc7"
15 + integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==
16 +
17 +"@babel/highlight@^7.10.4":
18 + version "7.25.9"
19 + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.25.9.tgz#8141ce68fc73757946f983b343f1231f4691acc6"
20 + integrity sha512-llL88JShoCsth8fF8R4SJnIn+WLvR6ccFxu1H3FlMhDontdcmZWf2HgIZ7AIqV3Xcck1idlohrN4EUBQz6klbw==
21 + dependencies:
22 + "@babel/helper-validator-identifier" "^7.25.9"
23 + chalk "^2.4.2"
24 + js-tokens "^4.0.0"
25 + picocolors "^1.0.0"
26 +
27 +"@eslint/eslintrc@^0.4.3":
28 + version "0.4.3"
29 + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c"
30 + integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==
31 + dependencies:
32 + ajv "^6.12.4"
33 + debug "^4.1.1"
34 + espree "^7.3.0"
35 + globals "^13.9.0"
36 + ignore "^4.0.6"
37 + import-fresh "^3.2.1"
38 + js-yaml "^3.13.1"
39 + minimatch "^3.0.4"
40 + strip-json-comments "^3.1.1"
41 +
42 +"@humanwhocodes/config-array@^0.5.0":
43 + version "0.5.0"
44 + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9"
45 + integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==
46 + dependencies:
47 + "@humanwhocodes/object-schema" "^1.2.0"
48 + debug "^4.1.1"
49 + minimatch "^3.0.4"
50 +
51 +"@humanwhocodes/object-schema@^1.2.0":
52 + version "1.2.1"
53 + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45"
54 + integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==
55 +
56 +acorn-jsx@^5.3.1:
57 + version "5.3.2"
58 + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
59 + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
60 +
61 +acorn@^7.4.0:
62 + version "7.4.1"
63 + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
64 + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
65 +
66 +ajv@^6.10.0, ajv@^6.12.4:
67 + version "6.12.6"
68 + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
69 + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
70 + dependencies:
71 + fast-deep-equal "^3.1.1"
72 + fast-json-stable-stringify "^2.0.0"
73 + json-schema-traverse "^0.4.1"
74 + uri-js "^4.2.2"
75 +
76 +ajv@^8.0.1:
77 + version "8.17.1"
78 + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.17.1.tgz#37d9a5c776af6bc92d7f4f9510eba4c0a60d11a6"
79 + integrity sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==
80 + dependencies:
81 + fast-deep-equal "^3.1.3"
82 + fast-uri "^3.0.1"
83 + json-schema-traverse "^1.0.0"
84 + require-from-string "^2.0.2"
85 +
86 +ansi-colors@^4.1.1:
87 + version "4.1.3"
88 + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b"
89 + integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==
90 +
91 +ansi-regex@^5.0.1:
92 + version "5.0.1"
93 + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
94 + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
95 +
96 +ansi-styles@^3.2.1:
97 + version "3.2.1"
98 + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
99 + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
100 + dependencies:
101 + color-convert "^1.9.0"
102 +
103 +ansi-styles@^4.0.0, ansi-styles@^4.1.0:
104 + version "4.3.0"
105 + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
106 + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
107 + dependencies:
108 + color-convert "^2.0.1"
109 +
110 +argparse@^1.0.7:
111 + version "1.0.10"
112 + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
113 + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
114 + dependencies:
115 + sprintf-js "~1.0.2"
116 +
117 +astral-regex@^2.0.0:
118 + version "2.0.0"
119 + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31"
120 + integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==
121 +
122 +balanced-match@^1.0.0:
123 + version "1.0.0"
124 + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
125 + integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
126 +
127 +brace-expansion@^1.1.7:
128 + version "1.1.11"
129 + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
130 + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
131 + dependencies:
132 + balanced-match "^1.0.0"
133 + concat-map "0.0.1"
134 +
135 +callsites@^3.0.0:
136 + version "3.1.0"
137 + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
138 + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
139 +
140 +chalk@^2.4.2:
141 + version "2.4.2"
142 + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
143 + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
144 + dependencies:
145 + ansi-styles "^3.2.1"
146 + escape-string-regexp "^1.0.5"
147 + supports-color "^5.3.0"
148 +
149 +chalk@^4.0.0:
150 + version "4.1.2"
151 + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
152 + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
153 + dependencies:
154 + ansi-styles "^4.1.0"
155 + supports-color "^7.1.0"
156 +
157 +color-convert@^1.9.0:
158 + version "1.9.3"
159 + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
160 + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
161 + dependencies:
162 + color-name "1.1.3"
163 +
164 +color-convert@^2.0.1:
165 + version "2.0.1"
166 + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
167 + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
168 + dependencies:
169 + color-name "~1.1.4"
170 +
171 +color-name@1.1.3:
172 + version "1.1.3"
173 + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
174 + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
175 +
176 +color-name@~1.1.4:
177 + version "1.1.4"
178 + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
179 + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
180 +
181 +concat-map@0.0.1:
182 + version "0.0.1"
183 + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
184 + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
185 +
186 +cross-spawn@^7.0.2:
187 + version "7.0.6"
188 + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f"
189 + integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==
190 + dependencies:
191 + path-key "^3.1.0"
192 + shebang-command "^2.0.0"
193 + which "^2.0.1"
194 +
195 +debug@^4.0.1, debug@^4.1.1:
196 + version "4.4.0"
197 + resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.0.tgz#2b3f2aea2ffeb776477460267377dc8710faba8a"
198 + integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==
199 + dependencies:
200 + ms "^2.1.3"
201 +
202 +deep-is@^0.1.3:
203 + version "0.1.4"
204 + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831"
205 + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
206 +
207 +doctrine@^3.0.0:
208 + version "3.0.0"
209 + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"
210 + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==
211 + dependencies:
212 + esutils "^2.0.2"
213 +
214 +emoji-regex@^8.0.0:
215 + version "8.0.0"
216 + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
217 + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
218 +
219 +enquirer@^2.3.5:
220 + version "2.4.1"
221 + resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.4.1.tgz#93334b3fbd74fc7097b224ab4a8fb7e40bf4ae56"
222 + integrity sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==
223 + dependencies:
224 + ansi-colors "^4.1.1"
225 + strip-ansi "^6.0.1"
226 +
227 +escape-string-regexp@^1.0.5:
228 + version "1.0.5"
229 + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
230 + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
231 +
232 +escape-string-regexp@^4.0.0:
233 + version "4.0.0"
234 + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
235 + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
236 +
237 +"eslint-plugin-react-hooks@link:../../build/node_modules/eslint-plugin-react-hooks":
238 + version "0.0.0"
239 + uid ""
240 +
241 +eslint-scope@^5.1.1:
242 + version "5.1.1"
243 + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c"
244 + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==
245 + dependencies:
246 + esrecurse "^4.3.0"
247 + estraverse "^4.1.1"
248 +
249 +eslint-utils@^2.1.0:
250 + version "2.1.0"
251 + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27"
252 + integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==
253 + dependencies:
254 + eslint-visitor-keys "^1.1.0"
255 +
256 +eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0:
257 + version "1.3.0"
258 + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e"
259 + integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==
260 +
261 +eslint-visitor-keys@^2.0.0:
262 + version "2.1.0"
263 + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303"
264 + integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==
265 +
266 +eslint@^7:
267 + version "7.32.0"
268 + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d"
269 + integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==
270 + dependencies:
271 + "@babel/code-frame" "7.12.11"
272 + "@eslint/eslintrc" "^0.4.3"
273 + "@humanwhocodes/config-array" "^0.5.0"
274 + ajv "^6.10.0"
275 + chalk "^4.0.0"
276 + cross-spawn "^7.0.2"
277 + debug "^4.0.1"
278 + doctrine "^3.0.0"
279 + enquirer "^2.3.5"
280 + escape-string-regexp "^4.0.0"
281 + eslint-scope "^5.1.1"
282 + eslint-utils "^2.1.0"
283 + eslint-visitor-keys "^2.0.0"
284 + espree "^7.3.1"
285 + esquery "^1.4.0"
286 + esutils "^2.0.2"
287 + fast-deep-equal "^3.1.3"
288 + file-entry-cache "^6.0.1"
289 + functional-red-black-tree "^1.0.1"
290 + glob-parent "^5.1.2"
291 + globals "^13.6.0"
292 + ignore "^4.0.6"
293 + import-fresh "^3.0.0"
294 + imurmurhash "^0.1.4"
295 + is-glob "^4.0.0"
296 + js-yaml "^3.13.1"
297 + json-stable-stringify-without-jsonify "^1.0.1"
298 + levn "^0.4.1"
299 + lodash.merge "^4.6.2"
300 + minimatch "^3.0.4"
301 + natural-compare "^1.4.0"
302 + optionator "^0.9.1"
303 + progress "^2.0.0"
304 + regexpp "^3.1.0"
305 + semver "^7.2.1"
306 + strip-ansi "^6.0.0"
307 + strip-json-comments "^3.1.0"
308 + table "^6.0.9"
309 + text-table "^0.2.0"
310 + v8-compile-cache "^2.0.3"
311 +
312 +espree@^7.3.0, espree@^7.3.1:
313 + version "7.3.1"
314 + resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6"
315 + integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==
316 + dependencies:
317 + acorn "^7.4.0"
318 + acorn-jsx "^5.3.1"
319 + eslint-visitor-keys "^1.3.0"
320 +
321 +esprima@^4.0.0:
322 + version "4.0.1"
323 + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
324 + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
325 +
326 +esquery@^1.4.0:
327 + version "1.6.0"
328 + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.6.0.tgz#91419234f804d852a82dceec3e16cdc22cf9dae7"
329 + integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==
330 + dependencies:
331 + estraverse "^5.1.0"
332 +
333 +esrecurse@^4.3.0:
334 + version "4.3.0"
335 + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921"
336 + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
337 + dependencies:
338 + estraverse "^5.2.0"
339 +
340 +estraverse@^4.1.1:
341 + version "4.2.0"
342 + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
343 + integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=
344 +
345 +estraverse@^5.1.0, estraverse@^5.2.0:
346 + version "5.3.0"
347 + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123"
348 + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
349 +
350 +esutils@^2.0.2:
351 + version "2.0.2"
352 + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
353 + integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=
354 +
355 +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
356 + version "3.1.3"
357 + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
358 + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
359 +
360 +fast-json-stable-stringify@^2.0.0:
361 + version "2.0.0"
362 + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
363 + integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I=
364 +
365 +fast-levenshtein@^2.0.6:
366 + version "2.0.6"
367 + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
368 + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==
369 +
370 +fast-uri@^3.0.1:
371 + version "3.0.6"
372 + resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.0.6.tgz#88f130b77cfaea2378d56bf970dea21257a68748"
373 + integrity sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==
374 +
375 +file-entry-cache@^6.0.1:
376 + version "6.0.1"
377 + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027"
378 + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==
379 + dependencies:
380 + flat-cache "^3.0.4"
381 +
382 +flat-cache@^3.0.4:
383 + version "3.2.0"
384 + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee"
385 + integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==
386 + dependencies:
387 + flatted "^3.2.9"
388 + keyv "^4.5.3"
389 + rimraf "^3.0.2"
390 +
391 +flatted@^3.2.9:
392 + version "3.3.2"
393 + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.2.tgz#adba1448a9841bec72b42c532ea23dbbedef1a27"
394 + integrity sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==
395 +
396 +fs.realpath@^1.0.0:
397 + version "1.0.0"
398 + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
399 + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
400 +
401 +functional-red-black-tree@^1.0.1:
402 + version "1.0.1"
403 + resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
404 + integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==
405 +
406 +glob-parent@^5.1.2:
407 + version "5.1.2"
408 + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
409 + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
410 + dependencies:
411 + is-glob "^4.0.1"
412 +
413 +glob@^7.1.3:
414 + version "7.1.3"
415 + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1"
416 + integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==
417 + dependencies:
418 + fs.realpath "^1.0.0"
419 + inflight "^1.0.4"
420 + inherits "2"
421 + minimatch "^3.0.4"
422 + once "^1.3.0"
423 + path-is-absolute "^1.0.0"
424 +
425 +globals@^13.6.0, globals@^13.9.0:
426 + version "13.24.0"
427 + resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171"
428 + integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==
429 + dependencies:
430 + type-fest "^0.20.2"
431 +
432 +has-flag@^3.0.0:
433 + version "3.0.0"
434 + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
435 + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
436 +
437 +has-flag@^4.0.0:
438 + version "4.0.0"
439 + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
440 + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
441 +
442 +ignore@^4.0.6:
443 + version "4.0.6"
444 + resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
445 + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
446 +
447 +import-fresh@^3.0.0, import-fresh@^3.2.1:
448 + version "3.3.1"
449 + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.1.tgz#9cecb56503c0ada1f2741dbbd6546e4b13b57ccf"
450 + integrity sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==
451 + dependencies:
452 + parent-module "^1.0.0"
453 + resolve-from "^4.0.0"
454 +
455 +imurmurhash@^0.1.4:
456 + version "0.1.4"
457 + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
458 + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
459 +
460 +inflight@^1.0.4:
461 + version "1.0.6"
462 + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
463 + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
464 + dependencies:
465 + once "^1.3.0"
466 + wrappy "1"
467 +
468 +inherits@2:
469 + version "2.0.3"
470 + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
471 + integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=
472 +
473 +is-extglob@^2.1.1:
474 + version "2.1.1"
475 + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
476 + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
477 +
478 +is-fullwidth-code-point@^3.0.0:
479 + version "3.0.0"
480 + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
481 + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
482 +
483 +is-glob@^4.0.0, is-glob@^4.0.1:
484 + version "4.0.3"
485 + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
486 + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
487 + dependencies:
488 + is-extglob "^2.1.1"
489 +
490 +isexe@^2.0.0:
491 + version "2.0.0"
492 + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
493 + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
494 +
495 +js-tokens@^4.0.0:
496 + version "4.0.0"
497 + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
498 + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
499 +
500 +js-yaml@^3.13.1:
501 + version "3.14.1"
502 + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537"
503 + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==
504 + dependencies:
505 + argparse "^1.0.7"
506 + esprima "^4.0.0"
507 +
508 +json-buffer@3.0.1:
509 + version "3.0.1"
510 + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13"
511 + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==
512 +
513 +json-schema-traverse@^0.4.1:
514 + version "0.4.1"
515 + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
516 + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
517 +
518 +json-schema-traverse@^1.0.0:
519 + version "1.0.0"
520 + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2"
521 + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==
522 +
523 +json-stable-stringify-without-jsonify@^1.0.1:
524 + version "1.0.1"
525 + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
526 + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==
527 +
528 +keyv@^4.5.3:
529 + version "4.5.4"
530 + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93"
531 + integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==
532 + dependencies:
533 + json-buffer "3.0.1"
534 +
535 +levn@^0.4.1:
536 + version "0.4.1"
537 + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
538 + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==
539 + dependencies:
540 + prelude-ls "^1.2.1"
541 + type-check "~0.4.0"
542 +
543 +lodash.merge@^4.6.2:
544 + version "4.6.2"
545 + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
546 + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
547 +
548 +lodash.truncate@^4.4.2:
549 + version "4.4.2"
550 + resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193"
551 + integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==
552 +
553 +minimatch@^3.0.4:
554 + version "3.0.4"
555 + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
556 + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
557 + dependencies:
558 + brace-expansion "^1.1.7"
559 +
560 +ms@^2.1.3:
561 + version "2.1.3"
562 + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
563 + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
564 +
565 +natural-compare@^1.4.0:
566 + version "1.4.0"
567 + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
568 + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=
569 +
570 +once@^1.3.0:
571 + version "1.4.0"
572 + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
573 + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
574 + dependencies:
575 + wrappy "1"
576 +
577 +optionator@^0.9.1:
578 + version "0.9.4"
579 + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734"
580 + integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==
581 + dependencies:
582 + deep-is "^0.1.3"
583 + fast-levenshtein "^2.0.6"
584 + levn "^0.4.1"
585 + prelude-ls "^1.2.1"
586 + type-check "^0.4.0"
587 + word-wrap "^1.2.5"
588 +
589 +parent-module@^1.0.0:
590 + version "1.0.1"
591 + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
592 + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
593 + dependencies:
594 + callsites "^3.0.0"
595 +
596 +path-is-absolute@^1.0.0:
597 + version "1.0.1"
598 + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
599 + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
600 +
601 +path-key@^3.1.0:
602 + version "3.1.1"
603 + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
604 + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
605 +
606 +picocolors@^1.0.0:
607 + version "1.1.1"
608 + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b"
609 + integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==
610 +
611 +prelude-ls@^1.2.1:
612 + version "1.2.1"
613 + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
614 + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
615 +
616 +progress@^2.0.0:
617 + version "2.0.3"
618 + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
619 + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
620 +
621 +punycode@^2.1.0:
622 + version "2.1.1"
623 + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
624 + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
625 +
626 +regexpp@^3.1.0:
627 + version "3.2.0"
628 + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2"
629 + integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==
630 +
631 +require-from-string@^2.0.2:
632 + version "2.0.2"
633 + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909"
634 + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==
635 +
636 +resolve-from@^4.0.0:
637 + version "4.0.0"
638 + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
639 + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
640 +
641 +rimraf@^3.0.2:
642 + version "3.0.2"
643 + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
644 + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
645 + dependencies:
646 + glob "^7.1.3"
647 +
648 +semver@^7.2.1:
649 + version "7.7.1"
650 + resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.1.tgz#abd5098d82b18c6c81f6074ff2647fd3e7220c9f"
651 + integrity sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==
652 +
653 +shebang-command@^2.0.0:
654 + version "2.0.0"
655 + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
656 + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
657 + dependencies:
658 + shebang-regex "^3.0.0"
659 +
660 +shebang-regex@^3.0.0:
661 + version "3.0.0"
662 + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
663 + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
664 +
665 +slice-ansi@^4.0.0:
666 + version "4.0.0"
667 + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b"
668 + integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==
669 + dependencies:
670 + ansi-styles "^4.0.0"
671 + astral-regex "^2.0.0"
672 + is-fullwidth-code-point "^3.0.0"
673 +
674 +sprintf-js@~1.0.2:
675 + version "1.0.3"
676 + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
677 + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
678 +
679 +string-width@^4.2.3:
680 + version "4.2.3"
681 + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
682 + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
683 + dependencies:
684 + emoji-regex "^8.0.0"
685 + is-fullwidth-code-point "^3.0.0"
686 + strip-ansi "^6.0.1"
687 +
688 +strip-ansi@^6.0.0, strip-ansi@^6.0.1:
689 + version "6.0.1"
690 + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
691 + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
692 + dependencies:
693 + ansi-regex "^5.0.1"
694 +
695 +strip-json-comments@^3.1.0, strip-json-comments@^3.1.1:
696 + version "3.1.1"
697 + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
698 + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
699 +
700 +supports-color@^5.3.0:
701 + version "5.5.0"
702 + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
703 + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
704 + dependencies:
705 + has-flag "^3.0.0"
706 +
707 +supports-color@^7.1.0:
708 + version "7.2.0"
709 + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
710 + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
711 + dependencies:
712 + has-flag "^4.0.0"
713 +
714 +table@^6.0.9:
715 + version "6.9.0"
716 + resolved "https://registry.yarnpkg.com/table/-/table-6.9.0.tgz#50040afa6264141c7566b3b81d4d82c47a8668f5"
717 + integrity sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==
718 + dependencies:
719 + ajv "^8.0.1"
720 + lodash.truncate "^4.4.2"
721 + slice-ansi "^4.0.0"
722 + string-width "^4.2.3"
723 + strip-ansi "^6.0.1"
724 +
725 +text-table@^0.2.0:
726 + version "0.2.0"
727 + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
728 + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==
729 +
730 +type-check@^0.4.0, type-check@~0.4.0:
731 + version "0.4.0"
732 + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
733 + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==
734 + dependencies:
735 + prelude-ls "^1.2.1"
736 +
737 +type-fest@^0.20.2:
738 + version "0.20.2"
739 + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4"
740 + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==
741 +
742 +uri-js@^4.2.2:
743 + version "4.2.2"
744 + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0"
745 + integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==
746 + dependencies:
747 + punycode "^2.1.0"
748 +
749 +v8-compile-cache@^2.0.3:
750 + version "2.4.0"
751 + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz#cdada8bec61e15865f05d097c5f4fd30e94dc128"
752 + integrity sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==
753 +
754 +which@^2.0.1:
755 + version "2.0.2"
756 + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
757 + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
758 + dependencies:
759 + isexe "^2.0.0"
760 +
761 +word-wrap@^1.2.5:
762 + version "1.2.5"
763 + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34"
764 + integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==
765 +
766 +wrappy@1:
767 + version "1.0.2"
768 + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
769 + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
fixtures/eslint-v8/.eslintrc.json new
+14
@@ -0,0 +1,14 @@
1 +{
2 + "root": true,
3 + "extends": ["plugin:react-hooks/recommended-legacy"],
4 + "parserOptions": {
5 + "ecmaVersion": 2020,
6 + "sourceType": "module",
7 + "ecmaFeatures": {
8 + "jsx": true
9 + }
10 + },
11 + "rules": {
12 + "react-hooks/exhaustive-deps": "error"
13 + }
14 +}
fixtures/eslint-v8/README.md new
+12
@@ -0,0 +1,12 @@
1 +# ESLint v8 Fixture
2 +
3 +This fixture allows us to test e2e functionality for `eslint-plugin-react-hooks` with eslint version 8.
4 +
5 +Run the following to test.
6 +
7 +```sh
8 +cd fixtures/eslint-v8
9 +yarn
10 +yarn build
11 +yarn lint
12 +```
fixtures/eslint-v8/build.mjs new
+5
@@ -0,0 +1,5 @@
1 +#!/usr/bin/env node
2 +
3 +import {exec} from 'node:child_process';
4 +
5 +exec('cd ../.. && yarn build -r stable eslint-plugin-react-hooks');
fixtures/eslint-v8/index.js new
+143
@@ -0,0 +1,143 @@
1 +/**
2 + * Exhaustive Deps
3 + */
4 +// Valid because dependencies are declared correctly
5 +function Comment({comment, commentSource}) {
6 + const currentUserID = comment.viewer.id;
7 + const environment = RelayEnvironment.forUser(currentUserID);
8 + const commentID = nullthrows(comment.id);
9 + useEffect(() => {
10 + const subscription = SubscriptionCounter.subscribeOnce(
11 + `StoreSubscription_${commentID}`,
12 + () =>
13 + StoreSubscription.subscribe(
14 + environment,
15 + {
16 + comment_id: commentID,
17 + },
18 + currentUserID,
19 + commentSource
20 + )
21 + );
22 + return () => subscription.dispose();
23 + }, [commentID, commentSource, currentUserID, environment]);
24 +}
25 +
26 +// Valid because no dependencies
27 +function UseEffectWithNoDependencies() {
28 + const local = {};
29 + useEffect(() => {
30 + console.log(local);
31 + });
32 +}
33 +function UseEffectWithEmptyDependencies() {
34 + useEffect(() => {
35 + const local = {};
36 + console.log(local);
37 + }, []);
38 +}
39 +
40 +// OK because `props` wasn't defined.
41 +function ComponentWithNoPropsDefined() {
42 + useEffect(() => {
43 + console.log(props.foo);
44 + }, []);
45 +}
46 +
47 +// Valid because props are declared as a dependency
48 +function ComponentWithPropsDeclaredAsDep({foo}) {
49 + useEffect(() => {
50 + console.log(foo.length);
51 + console.log(foo.slice(0));
52 + }, [foo]);
53 +}
54 +
55 +// Valid because individual props are declared as dependencies
56 +function ComponentWithIndividualPropsDeclaredAsDeps(props) {
57 + useEffect(() => {
58 + console.log(props.foo);
59 + console.log(props.bar);
60 + }, [props.bar, props.foo]);
61 +}
62 +
63 +// Invalid because neither props or props.foo are declared as dependencies
64 +function ComponentWithoutDeclaringPropAsDep(props) {
65 + useEffect(() => {
66 + console.log(props.foo);
67 + // eslint-disable-next-line react-hooks/exhaustive-deps
68 + }, []);
69 + useCallback(() => {
70 + console.log(props.foo);
71 + // eslint-disable-next-line react-hooks/exhaustive-deps
72 + }, []);
73 + useMemo(() => {
74 + console.log(props.foo);
75 + // eslint-disable-next-line react-hooks/exhaustive-deps
76 + }, []);
77 + React.useEffect(() => {
78 + console.log(props.foo);
79 + // eslint-disable-next-line react-hooks/exhaustive-deps
80 + }, []);
81 + React.useCallback(() => {
82 + console.log(props.foo);
83 + // eslint-disable-next-line react-hooks/exhaustive-deps
84 + }, []);
85 + React.useMemo(() => {
86 + console.log(props.foo);
87 + // eslint-disable-next-line react-hooks/exhaustive-deps
88 + }, []);
89 + React.notReactiveHook(() => {
90 + console.log(props.foo);
91 + }, []); // This one isn't a violation
92 +}
93 +
94 +/**
95 + * Rules of Hooks
96 + */
97 +// Valid because functions can call functions.
98 +function normalFunctionWithConditionalFunction() {
99 + if (cond) {
100 + doSomething();
101 + }
102 +}
103 +
104 +// Valid because hooks can call hooks.
105 +function useHook() {
106 + useState();
107 +}
108 +const whatever = function useHook() {
109 + useState();
110 +};
111 +const useHook1 = () => {
112 + useState();
113 +};
114 +let useHook2 = () => useState();
115 +useHook2 = () => {
116 + useState();
117 +};
118 +
119 +// Invalid because hooks can't be called in conditionals.
120 +function ComponentWithConditionalHook() {
121 + if (cond) {
122 + // eslint-disable-next-line react-hooks/rules-of-hooks
123 + useConditionalHook();
124 + }
125 +}
126 +
127 +// Invalid because hooks can't be called in loops.
128 +function useHookInLoops() {
129 + while (a) {
130 + // eslint-disable-next-line react-hooks/rules-of-hooks
131 + useHook1();
132 + if (b) return;
133 + // eslint-disable-next-line react-hooks/rules-of-hooks
134 + useHook2();
135 + }
136 + while (c) {
137 + // eslint-disable-next-line react-hooks/rules-of-hooks
138 + useHook3();
139 + if (d) return;
140 + // eslint-disable-next-line react-hooks/rules-of-hooks
141 + useHook4();
142 + }
143 +}
fixtures/eslint-v8/package.json new
+12
@@ -0,0 +1,12 @@
1 +{
2 + "private": true,
3 + "name": "eslint-v8",
4 + "dependencies": {
5 + "eslint": "^8",
6 + "eslint-plugin-react-hooks": "link:../../build/node_modules/eslint-plugin-react-hooks"
7 + },
8 + "scripts": {
9 + "build": "node build.mjs && yarn",
10 + "lint": "eslint index.js --report-unused-disable-directives"
11 + }
12 +}
fixtures/eslint-v8/yarn.lock new
+676
@@ -0,0 +1,676 @@
1 +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 +# yarn lockfile v1
3 +
4 +
5 +"@eslint-community/eslint-utils@^4.2.0":
6 + version "4.4.1"
7 + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz#d1145bf2c20132d6400495d6df4bf59362fd9d56"
8 + integrity sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==
9 + dependencies:
10 + eslint-visitor-keys "^3.4.3"
11 +
12 +"@eslint-community/regexpp@^4.6.1":
13 + version "4.12.1"
14 + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.12.1.tgz#cfc6cffe39df390a3841cde2abccf92eaa7ae0e0"
15 + integrity sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==
16 +
17 +"@eslint/eslintrc@^2.1.4":
18 + version "2.1.4"
19 + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad"
20 + integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==
21 + dependencies:
22 + ajv "^6.12.4"
23 + debug "^4.3.2"
24 + espree "^9.6.0"
25 + globals "^13.19.0"
26 + ignore "^5.2.0"
27 + import-fresh "^3.2.1"
28 + js-yaml "^4.1.0"
29 + minimatch "^3.1.2"
30 + strip-json-comments "^3.1.1"
31 +
32 +"@eslint/js@8.57.1":
33 + version "8.57.1"
34 + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.1.tgz#de633db3ec2ef6a3c89e2f19038063e8a122e2c2"
35 + integrity sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==
36 +
37 +"@humanwhocodes/config-array@^0.13.0":
38 + version "0.13.0"
39 + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.13.0.tgz#fb907624df3256d04b9aa2df50d7aa97ec648748"
40 + integrity sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==
41 + dependencies:
42 + "@humanwhocodes/object-schema" "^2.0.3"
43 + debug "^4.3.1"
44 + minimatch "^3.0.5"
45 +
46 +"@humanwhocodes/module-importer@^1.0.1":
47 + version "1.0.1"
48 + resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c"
49 + integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==
50 +
51 +"@humanwhocodes/object-schema@^2.0.3":
52 + version "2.0.3"
53 + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz#4a2868d75d6d6963e423bcf90b7fd1be343409d3"
54 + integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==
55 +
56 +"@nodelib/fs.scandir@2.1.5":
57 + version "2.1.5"
58 + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
59 + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==
60 + dependencies:
61 + "@nodelib/fs.stat" "2.0.5"
62 + run-parallel "^1.1.9"
63 +
64 +"@nodelib/fs.stat@2.0.5":
65 + version "2.0.5"
66 + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b"
67 + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
68 +
69 +"@nodelib/fs.walk@^1.2.8":
70 + version "1.2.8"
71 + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a"
72 + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==
73 + dependencies:
74 + "@nodelib/fs.scandir" "2.1.5"
75 + fastq "^1.6.0"
76 +
77 +"@ungap/structured-clone@^1.2.0":
78 + version "1.3.0"
79 + resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.3.0.tgz#d06bbb384ebcf6c505fde1c3d0ed4ddffe0aaff8"
80 + integrity sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==
81 +
82 +acorn-jsx@^5.3.2:
83 + version "5.3.2"
84 + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
85 + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
86 +
87 +acorn@^8.9.0:
88 + version "8.14.0"
89 + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.0.tgz#063e2c70cac5fb4f6467f0b11152e04c682795b0"
90 + integrity sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==
91 +
92 +ajv@^6.12.4:
93 + version "6.12.6"
94 + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
95 + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
96 + dependencies:
97 + fast-deep-equal "^3.1.1"
98 + fast-json-stable-stringify "^2.0.0"
99 + json-schema-traverse "^0.4.1"
100 + uri-js "^4.2.2"
101 +
102 +ansi-regex@^5.0.1:
103 + version "5.0.1"
104 + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
105 + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
106 +
107 +ansi-styles@^4.1.0:
108 + version "4.3.0"
109 + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
110 + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
111 + dependencies:
112 + color-convert "^2.0.1"
113 +
114 +argparse@^2.0.1:
115 + version "2.0.1"
116 + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
117 + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
118 +
119 +balanced-match@^1.0.0:
120 + version "1.0.0"
121 + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
122 + integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
123 +
124 +brace-expansion@^1.1.7:
125 + version "1.1.11"
126 + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
127 + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
128 + dependencies:
129 + balanced-match "^1.0.0"
130 + concat-map "0.0.1"
131 +
132 +callsites@^3.0.0:
133 + version "3.1.0"
134 + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
135 + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
136 +
137 +chalk@^4.0.0:
138 + version "4.1.2"
139 + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
140 + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
141 + dependencies:
142 + ansi-styles "^4.1.0"
143 + supports-color "^7.1.0"
144 +
145 +color-convert@^2.0.1:
146 + version "2.0.1"
147 + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
148 + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
149 + dependencies:
150 + color-name "~1.1.4"
151 +
152 +color-name@~1.1.4:
153 + version "1.1.4"
154 + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
155 + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
156 +
157 +concat-map@0.0.1:
158 + version "0.0.1"
159 + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
160 + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
161 +
162 +cross-spawn@^7.0.2:
163 + version "7.0.6"
164 + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f"
165 + integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==
166 + dependencies:
167 + path-key "^3.1.0"
168 + shebang-command "^2.0.0"
169 + which "^2.0.1"
170 +
171 +debug@^4.3.1, debug@^4.3.2:
172 + version "4.4.0"
173 + resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.0.tgz#2b3f2aea2ffeb776477460267377dc8710faba8a"
174 + integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==
175 + dependencies:
176 + ms "^2.1.3"
177 +
178 +deep-is@^0.1.3:
179 + version "0.1.4"
180 + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831"
181 + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
182 +
183 +doctrine@^3.0.0:
184 + version "3.0.0"
185 + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"
186 + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==
187 + dependencies:
188 + esutils "^2.0.2"
189 +
190 +escape-string-regexp@^4.0.0:
191 + version "4.0.0"
192 + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
193 + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
194 +
195 +"eslint-plugin-react-hooks@link:../../build/node_modules/eslint-plugin-react-hooks":
196 + version "0.0.0"
197 + uid ""
198 +
199 +eslint-scope@^7.2.2:
200 + version "7.2.2"
201 + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f"
202 + integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==
203 + dependencies:
204 + esrecurse "^4.3.0"
205 + estraverse "^5.2.0"
206 +
207 +eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3:
208 + version "3.4.3"
209 + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800"
210 + integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==
211 +
212 +eslint@^8:
213 + version "8.57.1"
214 + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.57.1.tgz#7df109654aba7e3bbe5c8eae533c5e461d3c6ca9"
215 + integrity sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==
216 + dependencies:
217 + "@eslint-community/eslint-utils" "^4.2.0"
218 + "@eslint-community/regexpp" "^4.6.1"
219 + "@eslint/eslintrc" "^2.1.4"
220 + "@eslint/js" "8.57.1"
221 + "@humanwhocodes/config-array" "^0.13.0"
222 + "@humanwhocodes/module-importer" "^1.0.1"
223 + "@nodelib/fs.walk" "^1.2.8"
224 + "@ungap/structured-clone" "^1.2.0"
225 + ajv "^6.12.4"
226 + chalk "^4.0.0"
227 + cross-spawn "^7.0.2"
228 + debug "^4.3.2"
229 + doctrine "^3.0.0"
230 + escape-string-regexp "^4.0.0"
231 + eslint-scope "^7.2.2"
232 + eslint-visitor-keys "^3.4.3"
233 + espree "^9.6.1"
234 + esquery "^1.4.2"
235 + esutils "^2.0.2"
236 + fast-deep-equal "^3.1.3"
237 + file-entry-cache "^6.0.1"
238 + find-up "^5.0.0"
239 + glob-parent "^6.0.2"
240 + globals "^13.19.0"
241 + graphemer "^1.4.0"
242 + ignore "^5.2.0"
243 + imurmurhash "^0.1.4"
244 + is-glob "^4.0.0"
245 + is-path-inside "^3.0.3"
246 + js-yaml "^4.1.0"
247 + json-stable-stringify-without-jsonify "^1.0.1"
248 + levn "^0.4.1"
249 + lodash.merge "^4.6.2"
250 + minimatch "^3.1.2"
251 + natural-compare "^1.4.0"
252 + optionator "^0.9.3"
253 + strip-ansi "^6.0.1"
254 + text-table "^0.2.0"
255 +
256 +espree@^9.6.0, espree@^9.6.1:
257 + version "9.6.1"
258 + resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f"
259 + integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==
260 + dependencies:
261 + acorn "^8.9.0"
262 + acorn-jsx "^5.3.2"
263 + eslint-visitor-keys "^3.4.1"
264 +
265 +esquery@^1.4.2:
266 + version "1.6.0"
267 + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.6.0.tgz#91419234f804d852a82dceec3e16cdc22cf9dae7"
268 + integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==
269 + dependencies:
270 + estraverse "^5.1.0"
271 +
272 +esrecurse@^4.3.0:
273 + version "4.3.0"
274 + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921"
275 + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
276 + dependencies:
277 + estraverse "^5.2.0"
278 +
279 +estraverse@^5.1.0, estraverse@^5.2.0:
280 + version "5.3.0"
281 + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123"
282 + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
283 +
284 +esutils@^2.0.2:
285 + version "2.0.2"
286 + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
287 + integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=
288 +
289 +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
290 + version "3.1.3"
291 + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
292 + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
293 +
294 +fast-json-stable-stringify@^2.0.0:
295 + version "2.0.0"
296 + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
297 + integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I=
298 +
299 +fast-levenshtein@^2.0.6:
300 + version "2.0.6"
301 + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
302 + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==
303 +
304 +fastq@^1.6.0:
305 + version "1.19.0"
306 + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.19.0.tgz#a82c6b7c2bb4e44766d865f07997785fecfdcb89"
307 + integrity sha512-7SFSRCNjBQIZH/xZR3iy5iQYR8aGBE0h3VG6/cwlbrpdciNYBMotQav8c1XI3HjHH+NikUpP53nPdlZSdWmFzA==
308 + dependencies:
309 + reusify "^1.0.4"
310 +
311 +file-entry-cache@^6.0.1:
312 + version "6.0.1"
313 + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027"
314 + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==
315 + dependencies:
316 + flat-cache "^3.0.4"
317 +
318 +find-up@^5.0.0:
319 + version "5.0.0"
320 + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc"
321 + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==
322 + dependencies:
323 + locate-path "^6.0.0"
324 + path-exists "^4.0.0"
325 +
326 +flat-cache@^3.0.4:
327 + version "3.2.0"
328 + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee"
329 + integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==
330 + dependencies:
331 + flatted "^3.2.9"
332 + keyv "^4.5.3"
333 + rimraf "^3.0.2"
334 +
335 +flatted@^3.2.9:
336 + version "3.3.2"
337 + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.2.tgz#adba1448a9841bec72b42c532ea23dbbedef1a27"
338 + integrity sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==
339 +
340 +fs.realpath@^1.0.0:
341 + version "1.0.0"
342 + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
343 + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
344 +
345 +glob-parent@^6.0.2:
346 + version "6.0.2"
347 + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3"
348 + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==
349 + dependencies:
350 + is-glob "^4.0.3"
351 +
352 +glob@^7.1.3:
353 + version "7.1.3"
354 + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1"
355 + integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==
356 + dependencies:
357 + fs.realpath "^1.0.0"
358 + inflight "^1.0.4"
359 + inherits "2"
360 + minimatch "^3.0.4"
361 + once "^1.3.0"
362 + path-is-absolute "^1.0.0"
363 +
364 +globals@^13.19.0:
365 + version "13.24.0"
366 + resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171"
367 + integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==
368 + dependencies:
369 + type-fest "^0.20.2"
370 +
371 +graphemer@^1.4.0:
372 + version "1.4.0"
373 + resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6"
374 + integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==
375 +
376 +has-flag@^4.0.0:
377 + version "4.0.0"
378 + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
379 + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
380 +
381 +ignore@^5.2.0:
382 + version "5.3.2"
383 + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5"
384 + integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==
385 +
386 +import-fresh@^3.2.1:
387 + version "3.3.1"
388 + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.1.tgz#9cecb56503c0ada1f2741dbbd6546e4b13b57ccf"
389 + integrity sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==
390 + dependencies:
391 + parent-module "^1.0.0"
392 + resolve-from "^4.0.0"
393 +
394 +imurmurhash@^0.1.4:
395 + version "0.1.4"
396 + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
397 + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
398 +
399 +inflight@^1.0.4:
400 + version "1.0.6"
401 + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
402 + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
403 + dependencies:
404 + once "^1.3.0"
405 + wrappy "1"
406 +
407 +inherits@2:
408 + version "2.0.3"
409 + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
410 + integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=
411 +
412 +is-extglob@^2.1.1:
413 + version "2.1.1"
414 + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
415 + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
416 +
417 +is-glob@^4.0.0, is-glob@^4.0.3:
418 + version "4.0.3"
419 + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
420 + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
421 + dependencies:
422 + is-extglob "^2.1.1"
423 +
424 +is-path-inside@^3.0.3:
425 + version "3.0.3"
426 + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283"
427 + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==
428 +
429 +isexe@^2.0.0:
430 + version "2.0.0"
431 + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
432 + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
433 +
434 +js-yaml@^4.1.0:
435 + version "4.1.0"
436 + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602"
437 + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
438 + dependencies:
439 + argparse "^2.0.1"
440 +
441 +json-buffer@3.0.1:
442 + version "3.0.1"
443 + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13"
444 + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==
445 +
446 +json-schema-traverse@^0.4.1:
447 + version "0.4.1"
448 + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
449 + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
450 +
451 +json-stable-stringify-without-jsonify@^1.0.1:
452 + version "1.0.1"
453 + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
454 + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==
455 +
456 +keyv@^4.5.3:
457 + version "4.5.4"
458 + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93"
459 + integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==
460 + dependencies:
461 + json-buffer "3.0.1"
462 +
463 +levn@^0.4.1:
464 + version "0.4.1"
465 + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
466 + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==
467 + dependencies:
468 + prelude-ls "^1.2.1"
469 + type-check "~0.4.0"
470 +
471 +locate-path@^6.0.0:
472 + version "6.0.0"
473 + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286"
474 + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==
475 + dependencies:
476 + p-locate "^5.0.0"
477 +
478 +lodash.merge@^4.6.2:
479 + version "4.6.2"
480 + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
481 + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
482 +
483 +minimatch@^3.0.4:
484 + version "3.0.4"
485 + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
486 + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
487 + dependencies:
488 + brace-expansion "^1.1.7"
489 +
490 +minimatch@^3.0.5, minimatch@^3.1.2:
491 + version "3.1.2"
492 + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
493 + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
494 + dependencies:
495 + brace-expansion "^1.1.7"
496 +
497 +ms@^2.1.3:
498 + version "2.1.3"
499 + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
500 + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
501 +
502 +natural-compare@^1.4.0:
503 + version "1.4.0"
504 + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
505 + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=
506 +
507 +once@^1.3.0:
508 + version "1.4.0"
509 + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
510 + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
511 + dependencies:
512 + wrappy "1"
513 +
514 +optionator@^0.9.3:
515 + version "0.9.4"
516 + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734"
517 + integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==
518 + dependencies:
519 + deep-is "^0.1.3"
520 + fast-levenshtein "^2.0.6"
521 + levn "^0.4.1"
522 + prelude-ls "^1.2.1"
523 + type-check "^0.4.0"
524 + word-wrap "^1.2.5"
525 +
526 +p-limit@^3.0.2:
527 + version "3.1.0"
528 + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
529 + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
530 + dependencies:
531 + yocto-queue "^0.1.0"
532 +
533 +p-locate@^5.0.0:
534 + version "5.0.0"
535 + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834"
536 + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==
537 + dependencies:
538 + p-limit "^3.0.2"
539 +
540 +parent-module@^1.0.0:
541 + version "1.0.1"
542 + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
543 + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
544 + dependencies:
545 + callsites "^3.0.0"
546 +
547 +path-exists@^4.0.0:
548 + version "4.0.0"
549 + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
550 + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
551 +
552 +path-is-absolute@^1.0.0:
553 + version "1.0.1"
554 + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
555 + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
556 +
557 +path-key@^3.1.0:
558 + version "3.1.1"
559 + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
560 + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
561 +
562 +prelude-ls@^1.2.1:
563 + version "1.2.1"
564 + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
565 + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
566 +
567 +punycode@^2.1.0:
568 + version "2.1.1"
569 + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
570 + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
571 +
572 +queue-microtask@^1.2.2:
573 + version "1.2.3"
574 + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
575 + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
576 +
577 +resolve-from@^4.0.0:
578 + version "4.0.0"
579 + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
580 + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
581 +
582 +reusify@^1.0.4:
583 + version "1.0.4"
584 + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
585 + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
586 +
587 +rimraf@^3.0.2:
588 + version "3.0.2"
589 + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
590 + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
591 + dependencies:
592 + glob "^7.1.3"
593 +
594 +run-parallel@^1.1.9:
595 + version "1.2.0"
596 + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
597 + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==
598 + dependencies:
599 + queue-microtask "^1.2.2"
600 +
601 +shebang-command@^2.0.0:
602 + version "2.0.0"
603 + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
604 + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
605 + dependencies:
606 + shebang-regex "^3.0.0"
607 +
608 +shebang-regex@^3.0.0:
609 + version "3.0.0"
610 + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
611 + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
612 +
613 +strip-ansi@^6.0.1:
614 + version "6.0.1"
615 + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
616 + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
617 + dependencies:
618 + ansi-regex "^5.0.1"
619 +
620 +strip-json-comments@^3.1.1:
621 + version "3.1.1"
622 + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
623 + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
624 +
625 +supports-color@^7.1.0:
626 + version "7.2.0"
627 + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
628 + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
629 + dependencies:
630 + has-flag "^4.0.0"
631 +
632 +text-table@^0.2.0:
633 + version "0.2.0"
634 + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
635 + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==
636 +
637 +type-check@^0.4.0, type-check@~0.4.0:
638 + version "0.4.0"
639 + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
640 + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==
641 + dependencies:
642 + prelude-ls "^1.2.1"
643 +
644 +type-fest@^0.20.2:
645 + version "0.20.2"
646 + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4"
647 + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==
648 +
649 +uri-js@^4.2.2:
650 + version "4.2.2"
651 + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0"
652 + integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==
653 + dependencies:
654 + punycode "^2.1.0"
655 +
656 +which@^2.0.1:
657 + version "2.0.2"
658 + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
659 + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
660 + dependencies:
661 + isexe "^2.0.0"
662 +
663 +word-wrap@^1.2.5:
664 + version "1.2.5"
665 + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34"
666 + integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==
667 +
668 +wrappy@1:
669 + version "1.0.2"
670 + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
671 + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
672 +
673 +yocto-queue@^0.1.0:
674 + version "0.1.0"
675 + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
676 + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==
fixtures/eslint-v9/README.md new
+12
@@ -0,0 +1,12 @@
1 +# ESLint v9 Fixture
2 +
3 +This fixture allows us to test e2e functionality for `eslint-plugin-react-hooks` with eslint version 9.
4 +
5 +Run the following to test.
6 +
7 +```sh
8 +cd fixtures/eslint-v9
9 +yarn
10 +yarn build
11 +yarn lint
12 +```
fixtures/eslint-v9/build.mjs new
+5
@@ -0,0 +1,5 @@
1 +#!/usr/bin/env node
2 +
3 +import {exec} from 'node:child_process';
4 +
5 +exec('cd ../.. && yarn build -r stable eslint-plugin-react-hooks');
fixtures/eslint-v9/eslint.config.mjs new
+21
@@ -0,0 +1,21 @@
1 +import * as reactHooks from 'eslint-plugin-react-hooks';
2 +
3 +export default [
4 + {
5 + languageOptions: {
6 + ecmaVersion: 'latest',
7 + sourceType: 'module',
8 + parserOptions: {
9 + ecmaFeatures: {
10 + jsx: true,
11 + },
12 + },
13 + },
14 + },
15 + reactHooks.configs['recommended-latest'],
16 + {
17 + rules: {
18 + 'react-hooks/exhaustive-deps': 'error',
19 + },
20 + },
21 +];
fixtures/eslint-v9/index.js new
+143
@@ -0,0 +1,143 @@
1 +/**
2 + * Exhaustive Deps
3 + */
4 +// Valid because dependencies are declared correctly
5 +function Comment({comment, commentSource}) {
6 + const currentUserID = comment.viewer.id;
7 + const environment = RelayEnvironment.forUser(currentUserID);
8 + const commentID = nullthrows(comment.id);
9 + useEffect(() => {
10 + const subscription = SubscriptionCounter.subscribeOnce(
11 + `StoreSubscription_${commentID}`,
12 + () =>
13 + StoreSubscription.subscribe(
14 + environment,
15 + {
16 + comment_id: commentID,
17 + },
18 + currentUserID,
19 + commentSource
20 + )
21 + );
22 + return () => subscription.dispose();
23 + }, [commentID, commentSource, currentUserID, environment]);
24 +}
25 +
26 +// Valid because no dependencies
27 +function UseEffectWithNoDependencies() {
28 + const local = {};
29 + useEffect(() => {
30 + console.log(local);
31 + });
32 +}
33 +function UseEffectWithEmptyDependencies() {
34 + useEffect(() => {
35 + const local = {};
36 + console.log(local);
37 + }, []);
38 +}
39 +
40 +// OK because `props` wasn't defined.
41 +function ComponentWithNoPropsDefined() {
42 + useEffect(() => {
43 + console.log(props.foo);
44 + }, []);
45 +}
46 +
47 +// Valid because props are declared as a dependency
48 +function ComponentWithPropsDeclaredAsDep({foo}) {
49 + useEffect(() => {
50 + console.log(foo.length);
51 + console.log(foo.slice(0));
52 + }, [foo]);
53 +}
54 +
55 +// Valid because individual props are declared as dependencies
56 +function ComponentWithIndividualPropsDeclaredAsDeps(props) {
57 + useEffect(() => {
58 + console.log(props.foo);
59 + console.log(props.bar);
60 + }, [props.bar, props.foo]);
61 +}
62 +
63 +// Invalid because neither props or props.foo are declared as dependencies
64 +function ComponentWithoutDeclaringPropAsDep(props) {
65 + useEffect(() => {
66 + console.log(props.foo);
67 + // eslint-disable-next-line react-hooks/exhaustive-deps
68 + }, []);
69 + useCallback(() => {
70 + console.log(props.foo);
71 + // eslint-disable-next-line react-hooks/exhaustive-deps
72 + }, []);
73 + useMemo(() => {
74 + console.log(props.foo);
75 + // eslint-disable-next-line react-hooks/exhaustive-deps
76 + }, []);
77 + React.useEffect(() => {
78 + console.log(props.foo);
79 + // eslint-disable-next-line react-hooks/exhaustive-deps
80 + }, []);
81 + React.useCallback(() => {
82 + console.log(props.foo);
83 + // eslint-disable-next-line react-hooks/exhaustive-deps
84 + }, []);
85 + React.useMemo(() => {
86 + console.log(props.foo);
87 + // eslint-disable-next-line react-hooks/exhaustive-deps
88 + }, []);
89 + React.notReactiveHook(() => {
90 + console.log(props.foo);
91 + }, []); // This one isn't a violation
92 +}
93 +
94 +/**
95 + * Rules of Hooks
96 + */
97 +// Valid because functions can call functions.
98 +function normalFunctionWithConditionalFunction() {
99 + if (cond) {
100 + doSomething();
101 + }
102 +}
103 +
104 +// Valid because hooks can call hooks.
105 +function useHook() {
106 + useState();
107 +}
108 +const whatever = function useHook() {
109 + useState();
110 +};
111 +const useHook1 = () => {
112 + useState();
113 +};
114 +let useHook2 = () => useState();
115 +useHook2 = () => {
116 + useState();
117 +};
118 +
119 +// Invalid because hooks can't be called in conditionals.
120 +function ComponentWithConditionalHook() {
121 + if (cond) {
122 + // eslint-disable-next-line react-hooks/rules-of-hooks
123 + useConditionalHook();
124 + }
125 +}
126 +
127 +// Invalid because hooks can't be called in loops.
128 +function useHookInLoops() {
129 + while (a) {
130 + // eslint-disable-next-line react-hooks/rules-of-hooks
131 + useHook1();
132 + if (b) return;
133 + // eslint-disable-next-line react-hooks/rules-of-hooks
134 + useHook2();
135 + }
136 + while (c) {
137 + // eslint-disable-next-line react-hooks/rules-of-hooks
138 + useHook3();
139 + if (d) return;
140 + // eslint-disable-next-line react-hooks/rules-of-hooks
141 + useHook4();
142 + }
143 +}
fixtures/eslint-v9/package.json new
+12
@@ -0,0 +1,12 @@
1 +{
2 + "private": true,
3 + "name": "eslint-v9",
4 + "dependencies": {
5 + "eslint": "^9",
6 + "eslint-plugin-react-hooks": "link:../../build/node_modules/eslint-plugin-react-hooks"
7 + },
8 + "scripts": {
9 + "build": "node build.mjs && yarn",
10 + "lint": "eslint index.js --report-unused-disable-directives"
11 + }
12 +}
fixtures/eslint-v9/yarn.lock new
+579
@@ -0,0 +1,579 @@
1 +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 +# yarn lockfile v1
3 +
4 +
5 +"@eslint-community/eslint-utils@^4.2.0":
6 + version "4.4.1"
7 + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz#d1145bf2c20132d6400495d6df4bf59362fd9d56"
8 + integrity sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==
9 + dependencies:
10 + eslint-visitor-keys "^3.4.3"
11 +
12 +"@eslint-community/regexpp@^4.12.1":
13 + version "4.12.1"
14 + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.12.1.tgz#cfc6cffe39df390a3841cde2abccf92eaa7ae0e0"
15 + integrity sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==
16 +
17 +"@eslint/config-array@^0.19.0":
18 + version "0.19.2"
19 + resolved "https://registry.yarnpkg.com/@eslint/config-array/-/config-array-0.19.2.tgz#3060b809e111abfc97adb0bb1172778b90cb46aa"
20 + integrity sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==
21 + dependencies:
22 + "@eslint/object-schema" "^2.1.6"
23 + debug "^4.3.1"
24 + minimatch "^3.1.2"
25 +
26 +"@eslint/core@^0.10.0":
27 + version "0.10.0"
28 + resolved "https://registry.yarnpkg.com/@eslint/core/-/core-0.10.0.tgz#23727063c21b335f752dbb3a16450f6f9cbc9091"
29 + integrity sha512-gFHJ+xBOo4G3WRlR1e/3G8A6/KZAH6zcE/hkLRCZTi/B9avAG365QhFA8uOGzTMqgTghpn7/fSnscW++dpMSAw==
30 + dependencies:
31 + "@types/json-schema" "^7.0.15"
32 +
33 +"@eslint/core@^0.11.0":
34 + version "0.11.0"
35 + resolved "https://registry.yarnpkg.com/@eslint/core/-/core-0.11.0.tgz#7a9226e850922e42cbd2ba71361eacbe74352a12"
36 + integrity sha512-DWUB2pksgNEb6Bz2fggIy1wh6fGgZP4Xyy/Mt0QZPiloKKXerbqq9D3SBQTlCRYOrcRPu4vuz+CGjwdfqxnoWA==
37 + dependencies:
38 + "@types/json-schema" "^7.0.15"
39 +
40 +"@eslint/eslintrc@^3.2.0":
41 + version "3.2.0"
42 + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-3.2.0.tgz#57470ac4e2e283a6bf76044d63281196e370542c"
43 + integrity sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==
44 + dependencies:
45 + ajv "^6.12.4"
46 + debug "^4.3.2"
47 + espree "^10.0.1"
48 + globals "^14.0.0"
49 + ignore "^5.2.0"
50 + import-fresh "^3.2.1"
51 + js-yaml "^4.1.0"
52 + minimatch "^3.1.2"
53 + strip-json-comments "^3.1.1"
54 +
55 +"@eslint/js@9.20.0":
56 + version "9.20.0"
57 + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.20.0.tgz#7421bcbe74889fcd65d1be59f00130c289856eb4"
58 + integrity sha512-iZA07H9io9Wn836aVTytRaNqh00Sad+EamwOVJT12GTLw1VGMFV/4JaME+JjLtr9fiGaoWgYnS54wrfWsSs4oQ==
59 +
60 +"@eslint/object-schema@^2.1.6":
61 + version "2.1.6"
62 + resolved "https://registry.yarnpkg.com/@eslint/object-schema/-/object-schema-2.1.6.tgz#58369ab5b5b3ca117880c0f6c0b0f32f6950f24f"
63 + integrity sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==
64 +
65 +"@eslint/plugin-kit@^0.2.5":
66 + version "0.2.5"
67 + resolved "https://registry.yarnpkg.com/@eslint/plugin-kit/-/plugin-kit-0.2.5.tgz#ee07372035539e7847ef834e3f5e7b79f09e3a81"
68 + integrity sha512-lB05FkqEdUg2AA0xEbUz0SnkXT1LcCTa438W4IWTUh4hdOnVbQyOJ81OrDXsJk/LSiJHubgGEFoR5EHq1NsH1A==
69 + dependencies:
70 + "@eslint/core" "^0.10.0"
71 + levn "^0.4.1"
72 +
73 +"@humanfs/core@^0.19.1":
74 + version "0.19.1"
75 + resolved "https://registry.yarnpkg.com/@humanfs/core/-/core-0.19.1.tgz#17c55ca7d426733fe3c561906b8173c336b40a77"
76 + integrity sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==
77 +
78 +"@humanfs/node@^0.16.6":
79 + version "0.16.6"
80 + resolved "https://registry.yarnpkg.com/@humanfs/node/-/node-0.16.6.tgz#ee2a10eaabd1131987bf0488fd9b820174cd765e"
81 + integrity sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==
82 + dependencies:
83 + "@humanfs/core" "^0.19.1"
84 + "@humanwhocodes/retry" "^0.3.0"
85 +
86 +"@humanwhocodes/module-importer@^1.0.1":
87 + version "1.0.1"
88 + resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c"
89 + integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==
90 +
91 +"@humanwhocodes/retry@^0.3.0":
92 + version "0.3.1"
93 + resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.3.1.tgz#c72a5c76a9fbaf3488e231b13dc52c0da7bab42a"
94 + integrity sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==
95 +
96 +"@humanwhocodes/retry@^0.4.1":
97 + version "0.4.1"
98 + resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.4.1.tgz#9a96ce501bc62df46c4031fbd970e3cc6b10f07b"
99 + integrity sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==
100 +
101 +"@types/estree@^1.0.6":
102 + version "1.0.6"
103 + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.6.tgz#628effeeae2064a1b4e79f78e81d87b7e5fc7b50"
104 + integrity sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==
105 +
106 +"@types/json-schema@^7.0.15":
107 + version "7.0.15"
108 + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841"
109 + integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==
110 +
111 +acorn-jsx@^5.3.2:
112 + version "5.3.2"
113 + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
114 + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
115 +
116 +acorn@^8.14.0:
117 + version "8.14.0"
118 + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.0.tgz#063e2c70cac5fb4f6467f0b11152e04c682795b0"
119 + integrity sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==
120 +
121 +ajv@^6.12.4:
122 + version "6.12.6"
123 + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
124 + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
125 + dependencies:
126 + fast-deep-equal "^3.1.1"
127 + fast-json-stable-stringify "^2.0.0"
128 + json-schema-traverse "^0.4.1"
129 + uri-js "^4.2.2"
130 +
131 +ansi-styles@^4.1.0:
132 + version "4.3.0"
133 + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
134 + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
135 + dependencies:
136 + color-convert "^2.0.1"
137 +
138 +argparse@^2.0.1:
139 + version "2.0.1"
140 + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
141 + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
142 +
143 +balanced-match@^1.0.0:
144 + version "1.0.0"
145 + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
146 + integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
147 +
148 +brace-expansion@^1.1.7:
149 + version "1.1.11"
150 + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
151 + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
152 + dependencies:
153 + balanced-match "^1.0.0"
154 + concat-map "0.0.1"
155 +
156 +callsites@^3.0.0:
157 + version "3.1.0"
158 + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
159 + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
160 +
161 +chalk@^4.0.0:
162 + version "4.1.2"
163 + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
164 + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
165 + dependencies:
166 + ansi-styles "^4.1.0"
167 + supports-color "^7.1.0"
168 +
169 +color-convert@^2.0.1:
170 + version "2.0.1"
171 + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
172 + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
173 + dependencies:
174 + color-name "~1.1.4"
175 +
176 +color-name@~1.1.4:
177 + version "1.1.4"
178 + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
179 + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
180 +
181 +concat-map@0.0.1:
182 + version "0.0.1"
183 + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
184 + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
185 +
186 +cross-spawn@^7.0.6:
187 + version "7.0.6"
188 + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f"
189 + integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==
190 + dependencies:
191 + path-key "^3.1.0"
192 + shebang-command "^2.0.0"
193 + which "^2.0.1"
194 +
195 +debug@^4.3.1, debug@^4.3.2:
196 + version "4.4.0"
197 + resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.0.tgz#2b3f2aea2ffeb776477460267377dc8710faba8a"
198 + integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==
199 + dependencies:
200 + ms "^2.1.3"
201 +
202 +deep-is@^0.1.3:
203 + version "0.1.4"
204 + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831"
205 + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
206 +
207 +escape-string-regexp@^4.0.0:
208 + version "4.0.0"
209 + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
210 + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
211 +
212 +"eslint-plugin-react-hooks@link:../../build/node_modules/eslint-plugin-react-hooks":
213 + version "0.0.0"
214 + uid ""
215 +
216 +eslint-scope@^8.2.0:
217 + version "8.2.0"
218 + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-8.2.0.tgz#377aa6f1cb5dc7592cfd0b7f892fd0cf352ce442"
219 + integrity sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==
220 + dependencies:
221 + esrecurse "^4.3.0"
222 + estraverse "^5.2.0"
223 +
224 +eslint-visitor-keys@^3.4.3:
225 + version "3.4.3"
226 + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800"
227 + integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==
228 +
229 +eslint-visitor-keys@^4.2.0:
230 + version "4.2.0"
231 + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz#687bacb2af884fcdda8a6e7d65c606f46a14cd45"
232 + integrity sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==
233 +
234 +eslint@^9:
235 + version "9.20.1"
236 + resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.20.1.tgz#923924c078f5226832449bac86662dd7e53c91d6"
237 + integrity sha512-m1mM33o6dBUjxl2qb6wv6nGNwCAsns1eKtaQ4l/NPHeTvhiUPbtdfMyktxN4B3fgHIgsYh1VT3V9txblpQHq+g==
238 + dependencies:
239 + "@eslint-community/eslint-utils" "^4.2.0"
240 + "@eslint-community/regexpp" "^4.12.1"
241 + "@eslint/config-array" "^0.19.0"
242 + "@eslint/core" "^0.11.0"
243 + "@eslint/eslintrc" "^3.2.0"
244 + "@eslint/js" "9.20.0"
245 + "@eslint/plugin-kit" "^0.2.5"
246 + "@humanfs/node" "^0.16.6"
247 + "@humanwhocodes/module-importer" "^1.0.1"
248 + "@humanwhocodes/retry" "^0.4.1"
249 + "@types/estree" "^1.0.6"
250 + "@types/json-schema" "^7.0.15"
251 + ajv "^6.12.4"
252 + chalk "^4.0.0"
253 + cross-spawn "^7.0.6"
254 + debug "^4.3.2"
255 + escape-string-regexp "^4.0.0"
256 + eslint-scope "^8.2.0"
257 + eslint-visitor-keys "^4.2.0"
258 + espree "^10.3.0"
259 + esquery "^1.5.0"
260 + esutils "^2.0.2"
261 + fast-deep-equal "^3.1.3"
262 + file-entry-cache "^8.0.0"
263 + find-up "^5.0.0"
264 + glob-parent "^6.0.2"
265 + ignore "^5.2.0"
266 + imurmurhash "^0.1.4"
267 + is-glob "^4.0.0"
268 + json-stable-stringify-without-jsonify "^1.0.1"
269 + lodash.merge "^4.6.2"
270 + minimatch "^3.1.2"
271 + natural-compare "^1.4.0"
272 + optionator "^0.9.3"
273 +
274 +espree@^10.0.1, espree@^10.3.0:
275 + version "10.3.0"
276 + resolved "https://registry.yarnpkg.com/espree/-/espree-10.3.0.tgz#29267cf5b0cb98735b65e64ba07e0ed49d1eed8a"
277 + integrity sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==
278 + dependencies:
279 + acorn "^8.14.0"
280 + acorn-jsx "^5.3.2"
281 + eslint-visitor-keys "^4.2.0"
282 +
283 +esquery@^1.5.0:
284 + version "1.6.0"
285 + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.6.0.tgz#91419234f804d852a82dceec3e16cdc22cf9dae7"
286 + integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==
287 + dependencies:
288 + estraverse "^5.1.0"
289 +
290 +esrecurse@^4.3.0:
291 + version "4.3.0"
292 + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921"
293 + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
294 + dependencies:
295 + estraverse "^5.2.0"
296 +
297 +estraverse@^5.1.0, estraverse@^5.2.0:
298 + version "5.3.0"
299 + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123"
300 + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
301 +
302 +esutils@^2.0.2:
303 + version "2.0.2"
304 + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
305 + integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=
306 +
307 +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
308 + version "3.1.3"
309 + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
310 + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
311 +
312 +fast-json-stable-stringify@^2.0.0:
313 + version "2.0.0"
314 + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
315 + integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I=
316 +
317 +fast-levenshtein@^2.0.6:
318 + version "2.0.6"
319 + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
320 + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==
321 +
322 +file-entry-cache@^8.0.0:
323 + version "8.0.0"
324 + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-8.0.0.tgz#7787bddcf1131bffb92636c69457bbc0edd6d81f"
325 + integrity sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==
326 + dependencies:
327 + flat-cache "^4.0.0"
328 +
329 +find-up@^5.0.0:
330 + version "5.0.0"
331 + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc"
332 + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==
333 + dependencies:
334 + locate-path "^6.0.0"
335 + path-exists "^4.0.0"
336 +
337 +flat-cache@^4.0.0:
338 + version "4.0.1"
339 + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-4.0.1.tgz#0ece39fcb14ee012f4b0410bd33dd9c1f011127c"
340 + integrity sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==
341 + dependencies:
342 + flatted "^3.2.9"
343 + keyv "^4.5.4"
344 +
345 +flatted@^3.2.9:
346 + version "3.3.2"
347 + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.2.tgz#adba1448a9841bec72b42c532ea23dbbedef1a27"
348 + integrity sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==
349 +
350 +glob-parent@^6.0.2:
351 + version "6.0.2"
352 + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3"
353 + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==
354 + dependencies:
355 + is-glob "^4.0.3"
356 +
357 +globals@^14.0.0:
358 + version "14.0.0"
359 + resolved "https://registry.yarnpkg.com/globals/-/globals-14.0.0.tgz#898d7413c29babcf6bafe56fcadded858ada724e"
360 + integrity sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==
361 +
362 +has-flag@^4.0.0:
363 + version "4.0.0"
364 + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
365 + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
366 +
367 +ignore@^5.2.0:
368 + version "5.3.2"
369 + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5"
370 + integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==
371 +
372 +import-fresh@^3.2.1:
373 + version "3.3.1"
374 + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.1.tgz#9cecb56503c0ada1f2741dbbd6546e4b13b57ccf"
375 + integrity sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==
376 + dependencies:
377 + parent-module "^1.0.0"
378 + resolve-from "^4.0.0"
379 +
380 +imurmurhash@^0.1.4:
381 + version "0.1.4"
382 + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
383 + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
384 +
385 +is-extglob@^2.1.1:
386 + version "2.1.1"
387 + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
388 + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
389 +
390 +is-glob@^4.0.0, is-glob@^4.0.3:
391 + version "4.0.3"
392 + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
393 + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
394 + dependencies:
395 + is-extglob "^2.1.1"
396 +
397 +isexe@^2.0.0:
398 + version "2.0.0"
399 + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
400 + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
401 +
402 +js-yaml@^4.1.0:
403 + version "4.1.0"
404 + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602"
405 + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
406 + dependencies:
407 + argparse "^2.0.1"
408 +
409 +json-buffer@3.0.1:
410 + version "3.0.1"
411 + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13"
412 + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==
413 +
414 +json-schema-traverse@^0.4.1:
415 + version "0.4.1"
416 + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
417 + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
418 +
419 +json-stable-stringify-without-jsonify@^1.0.1:
420 + version "1.0.1"
421 + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
422 + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==
423 +
424 +keyv@^4.5.4:
425 + version "4.5.4"
426 + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93"
427 + integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==
428 + dependencies:
429 + json-buffer "3.0.1"
430 +
431 +levn@^0.4.1:
432 + version "0.4.1"
433 + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
434 + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==
435 + dependencies:
436 + prelude-ls "^1.2.1"
437 + type-check "~0.4.0"
438 +
439 +locate-path@^6.0.0:
440 + version "6.0.0"
441 + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286"
442 + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==
443 + dependencies:
444 + p-locate "^5.0.0"
445 +
446 +lodash.merge@^4.6.2:
447 + version "4.6.2"
448 + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
449 + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
450 +
451 +minimatch@^3.1.2:
452 + version "3.1.2"
453 + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
454 + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
455 + dependencies:
456 + brace-expansion "^1.1.7"
457 +
458 +ms@^2.1.3:
459 + version "2.1.3"
460 + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
461 + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
462 +
463 +natural-compare@^1.4.0:
464 + version "1.4.0"
465 + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
466 + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=
467 +
468 +optionator@^0.9.3:
469 + version "0.9.4"
470 + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734"
471 + integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==
472 + dependencies:
473 + deep-is "^0.1.3"
474 + fast-levenshtein "^2.0.6"
475 + levn "^0.4.1"
476 + prelude-ls "^1.2.1"
477 + type-check "^0.4.0"
478 + word-wrap "^1.2.5"
479 +
480 +p-limit@^3.0.2:
481 + version "3.1.0"
482 + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
483 + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
484 + dependencies:
485 + yocto-queue "^0.1.0"
486 +
487 +p-locate@^5.0.0:
488 + version "5.0.0"
489 + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834"
490 + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==
491 + dependencies:
492 + p-limit "^3.0.2"
493 +
494 +parent-module@^1.0.0:
495 + version "1.0.1"
496 + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
497 + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
498 + dependencies:
499 + callsites "^3.0.0"
500 +
501 +path-exists@^4.0.0:
502 + version "4.0.0"
503 + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
504 + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
505 +
506 +path-key@^3.1.0:
507 + version "3.1.1"
508 + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
509 + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
510 +
511 +prelude-ls@^1.2.1:
512 + version "1.2.1"
513 + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
514 + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
515 +
516 +punycode@^2.1.0:
517 + version "2.1.1"
518 + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
519 + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
520 +
521 +resolve-from@^4.0.0:
522 + version "4.0.0"
523 + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
524 + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
525 +
526 +shebang-command@^2.0.0:
527 + version "2.0.0"
528 + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
529 + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
530 + dependencies:
531 + shebang-regex "^3.0.0"
532 +
533 +shebang-regex@^3.0.0:
534 + version "3.0.0"
535 + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
536 + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
537 +
538 +strip-json-comments@^3.1.1:
539 + version "3.1.1"
540 + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
541 + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
542 +
543 +supports-color@^7.1.0:
544 + version "7.2.0"
545 + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
546 + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
547 + dependencies:
548 + has-flag "^4.0.0"
549 +
550 +type-check@^0.4.0, type-check@~0.4.0:
551 + version "0.4.0"
552 + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
553 + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==
554 + dependencies:
555 + prelude-ls "^1.2.1"
556 +
557 +uri-js@^4.2.2:
558 + version "4.2.2"
559 + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0"
560 + integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==
561 + dependencies:
562 + punycode "^2.1.0"
563 +
564 +which@^2.0.1:
565 + version "2.0.2"
566 + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
567 + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
568 + dependencies:
569 + isexe "^2.0.0"
570 +
571 +word-wrap@^1.2.5:
572 + version "1.2.5"
573 + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34"
574 + integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==
575 +
576 +yocto-queue@^0.1.0:
577 + version "0.1.0"
578 + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
579 + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==
fixtures/eslint/README.md deleted
-7
@@ -1,7 +0,0 @@
1 -# ESLint Playground Fixture
2 -
3 -This is an internal playground for quick iteration on our lint rules inside an IDE like VSCode.
4 -
5 -See instructions in `./index.js` in this directory.
6 -
7 -![Demo](https://duaw26jehqd4r.cloudfront.net/items/2Z390a31003O0l0o0e3O/Screen%20Recording%202019-01-16%20at%2010.29%20PM.gif?v=d6856125)
\ No newline at end of file
fixtures/eslint/index.js deleted
-26
@@ -1,26 +0,0 @@
1 -// This is a testing playground for our lint rules.
2 -
3 -// 1. Run yarn && yarn start
4 -// 2. "File > Add Folder to Workspace" this specific folder in VSCode with ESLint extension
5 -// 3. Changes to the rule source should get picked up without restarting ESLint server
6 -
7 -function Comment({comment, commentSource}) {
8 - const currentUserID = comment.viewer.id;
9 - const environment = RelayEnvironment.forUser(currentUserID);
10 - const commentID = nullthrows(comment.id);
11 - useEffect(() => {
12 - const subscription = SubscriptionCounter.subscribeOnce(
13 - `StoreSubscription_${commentID}`,
14 - () =>
15 - StoreSubscription.subscribe(
16 - environment,
17 - {
18 - comment_id: commentID,
19 - },
20 - currentUserID,
21 - commentSource
22 - )
23 - );
24 - return () => subscription.dispose();
25 - }, [commentID, commentSource, currentUserID, environment]);
26 -}
fixtures/eslint/package.json deleted
-12
@@ -1,12 +0,0 @@
1 -{
2 - "private": true,
3 - "name": "eslint-playground",
4 - "dependencies": {
5 - "eslint": "4.1.0",
6 - "eslint-plugin-react-hooks": "link:./proxy"
7 - },
8 - "scripts": {
9 - "start": "./watch.sh",
10 - "lint": "eslint index.js"
11 - }
12 -}
fixtures/eslint/proxy/index.js deleted
-35
@@ -1,35 +0,0 @@
1 -'use strict';
2 -
3 -// This file is a proxy for our rule definition that will
4 -// load the latest built version on every check. This makes
5 -// it convenient to test inside IDEs (which would otherwise
6 -// load a version of our rule once and never restart the server).
7 -// See instructions in ../index.js playground.
8 -
9 -let build;
10 -reload();
11 -
12 -function reload() {
13 - for (let id in require.cache) {
14 - if (/eslint-plugin-react-hooks/.test(id)) {
15 - delete require.cache[id];
16 - }
17 - }
18 - // Point to the built version.
19 - build = require('../../../build/oss-experimental/eslint-plugin-react-hooks');
20 -}
21 -
22 -let rules = {};
23 -for (let key in build.rules) {
24 - if (build.rules.hasOwnProperty(key)) {
25 - rules[key] = Object.assign({}, build.rules, {
26 - create() {
27 - // Reload changes to the built rule
28 - reload();
29 - return build.rules[key].create.apply(this, arguments);
30 - },
31 - });
32 - }
33 -}
34 -
35 -module.exports = {rules};
fixtures/eslint/proxy/package.json deleted
-4
@@ -1,4 +0,0 @@
1 -{
2 - "private": true,
3 - "version": "0.0.0"
4 -}
\ No newline at end of file
fixtures/eslint/watch.sh deleted
-3
@@ -1,3 +0,0 @@
1 -#!/bin/bash
2 -(cd ../.. && yarn build eslint --type=NODE_DEV)
3 -(cd ../.. && watchman-make --make 'yarn build eslint --type=NODE_DEV' -p 'packages/eslint-plugin-*/**/*' -t ignored)
fixtures/eslint/yarn.lock deleted
-853
@@ -1,853 +0,0 @@
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 - integrity sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=
9 - dependencies:
10 - acorn "^3.0.4"
11 -
12 -acorn@^3.0.4:
13 - version "3.3.0"
14 - resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a"
15 - integrity sha1-ReN/s56No/JbruP/U2niu18iAXo=
16 -
17 -acorn@^5.5.0:
18 - version "5.7.3"
19 - resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279"
20 - integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==
21 -
22 -ajv-keywords@^3.0.0:
23 - version "3.2.0"
24 - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.2.0.tgz#e86b819c602cf8821ad637413698f1dec021847a"
25 - integrity sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=
26 -
27 -ajv@^6.0.1:
28 - version "6.7.0"
29 - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.7.0.tgz#e3ce7bb372d6577bb1839f1dfdfcbf5ad2948d96"
30 - integrity sha512-RZXPviBTtfmtka9n9sy1N5M5b82CbxWIR6HIis4s3WQTXDJamc/0gpCWNGz6EWdWp4DOfjzJfhz/AS9zVPjjWg==
31 - dependencies:
32 - fast-deep-equal "^2.0.1"
33 - fast-json-stable-stringify "^2.0.0"
34 - json-schema-traverse "^0.4.1"
35 - uri-js "^4.2.2"
36 -
37 -ansi-escapes@^3.0.0:
38 - version "3.1.0"
39 - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.1.0.tgz#f73207bb81207d75fd6c83f125af26eea378ca30"
40 - integrity sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==
41 -
42 -ansi-regex@^2.0.0:
43 - version "2.1.1"
44 - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
45 - integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8=
46 -
47 -ansi-regex@^3.0.0:
48 - version "3.0.0"
49 - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"
50 - integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=
51 -
52 -ansi-styles@^2.2.1:
53 - version "2.2.1"
54 - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
55 - integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=
56 -
57 -ansi-styles@^3.2.1:
58 - version "3.2.1"
59 - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
60 - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
61 - dependencies:
62 - color-convert "^1.9.0"
63 -
64 -argparse@^1.0.7:
65 - version "1.0.10"
66 - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
67 - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
68 - dependencies:
69 - sprintf-js "~1.0.2"
70 -
71 -babel-code-frame@^6.22.0:
72 - version "6.26.0"
73 - resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
74 - integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=
75 - dependencies:
76 - chalk "^1.1.3"
77 - esutils "^2.0.2"
78 - js-tokens "^3.0.2"
79 -
80 -balanced-match@^1.0.0:
81 - version "1.0.0"
82 - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
83 - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
84 -
85 -brace-expansion@^1.1.7:
86 - version "1.1.11"
87 - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
88 - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
89 - dependencies:
90 - balanced-match "^1.0.0"
91 - concat-map "0.0.1"
92 -
93 -buffer-from@^1.0.0:
94 - version "1.1.1"
95 - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
96 - integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==
97 -
98 -caller-path@^0.1.0:
99 - version "0.1.0"
100 - resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f"
101 - integrity sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=
102 - dependencies:
103 - callsites "^0.2.0"
104 -
105 -callsites@^0.2.0:
106 - version "0.2.0"
107 - resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca"
108 - integrity sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=
109 -
110 -chalk@^1.1.3:
111 - version "1.1.3"
112 - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
113 - integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=
114 - dependencies:
115 - ansi-styles "^2.2.1"
116 - escape-string-regexp "^1.0.2"
117 - has-ansi "^2.0.0"
118 - strip-ansi "^3.0.0"
119 - supports-color "^2.0.0"
120 -
121 -chalk@^2.0.0, chalk@^2.1.0:
122 - version "2.4.2"
123 - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
124 - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
125 - dependencies:
126 - ansi-styles "^3.2.1"
127 - escape-string-regexp "^1.0.5"
128 - supports-color "^5.3.0"
129 -
130 -chardet@^0.4.0:
131 - version "0.4.2"
132 - resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2"
133 - integrity sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=
134 -
135 -circular-json@^0.3.1:
136 - version "0.3.3"
137 - resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66"
138 - integrity sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==
139 -
140 -cli-cursor@^2.1.0:
141 - version "2.1.0"
142 - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5"
143 - integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=
144 - dependencies:
145 - restore-cursor "^2.0.0"
146 -
147 -cli-width@^2.0.0:
148 - version "2.2.0"
149 - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639"
150 - integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=
151 -
152 -color-convert@^1.9.0:
153 - version "1.9.3"
154 - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
155 - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
156 - dependencies:
157 - color-name "1.1.3"
158 -
159 -color-name@1.1.3:
160 - version "1.1.3"
161 - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
162 - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
163 -
164 -concat-map@0.0.1:
165 - version "0.0.1"
166 - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
167 - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
168 -
169 -concat-stream@^1.6.0:
170 - version "1.6.2"
171 - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
172 - integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==
173 - dependencies:
174 - buffer-from "^1.0.0"
175 - inherits "^2.0.3"
176 - readable-stream "^2.2.2"
177 - typedarray "^0.0.6"
178 -
179 -core-util-is@~1.0.0:
180 - version "1.0.2"
181 - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
182 - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
183 -
184 -debug@^2.6.8:
185 - version "2.6.9"
186 - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
187 - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
188 - dependencies:
189 - ms "2.0.0"
190 -
191 -deep-is@~0.1.3:
192 - version "0.1.3"
193 - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
194 - integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=
195 -
196 -doctrine@^2.0.0:
197 - version "2.1.0"
198 - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d"
199 - integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==
200 - dependencies:
201 - esutils "^2.0.2"
202 -
203 -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
204 - version "1.0.5"
205 - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
206 - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
207 -
208 -"eslint-plugin-react-hooks@link:./proxy":
209 - version "0.0.0"
210 - uid ""
211 -
212 -eslint-scope@^3.7.1:
213 - version "3.7.3"
214 - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.3.tgz#bb507200d3d17f60247636160b4826284b108535"
215 - integrity sha512-W+B0SvF4gamyCTmUc+uITPY0989iXVfKvhwtmJocTaYoc/3khEHmEmvfY/Gn9HA9VV75jrQECsHizkNw1b68FA==
216 - dependencies:
217 - esrecurse "^4.1.0"
218 - estraverse "^4.1.1"
219 -
220 -eslint@4.1.0:
221 - version "4.1.0"
222 - resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.1.0.tgz#bbb55a28220ee08b69da9554d45a6b2ebfd7d913"
223 - integrity sha1-u7VaKCIO4Itp2pVU1FprLr/X2RM=
224 - dependencies:
225 - babel-code-frame "^6.22.0"
226 - chalk "^1.1.3"
227 - concat-stream "^1.6.0"
228 - debug "^2.6.8"
229 - doctrine "^2.0.0"
230 - eslint-scope "^3.7.1"
231 - espree "^3.4.3"
232 - esquery "^1.0.0"
233 - estraverse "^4.2.0"
234 - esutils "^2.0.2"
235 - file-entry-cache "^2.0.0"
236 - glob "^7.1.2"
237 - globals "^9.17.0"
238 - ignore "^3.3.3"
239 - imurmurhash "^0.1.4"
240 - inquirer "^3.0.6"
241 - is-my-json-valid "^2.16.0"
242 - is-resolvable "^1.0.0"
243 - js-yaml "^3.8.4"
244 - json-stable-stringify "^1.0.1"
245 - levn "^0.3.0"
246 - lodash "^4.17.4"
247 - minimatch "^3.0.2"
248 - mkdirp "^0.5.1"
249 - natural-compare "^1.4.0"
250 - optionator "^0.8.2"
251 - path-is-inside "^1.0.2"
252 - pluralize "^4.0.0"
253 - progress "^2.0.0"
254 - require-uncached "^1.0.3"
255 - strip-json-comments "~2.0.1"
256 - table "^4.0.1"
257 - text-table "~0.2.0"
258 -
259 -espree@^3.4.3:
260 - version "3.5.4"
261 - resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.4.tgz#b0f447187c8a8bed944b815a660bddf5deb5d1a7"
262 - integrity sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==
263 - dependencies:
264 - acorn "^5.5.0"
265 - acorn-jsx "^3.0.0"
266 -
267 -esprima@^4.0.0:
268 - version "4.0.1"
269 - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
270 - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
271 -
272 -esquery@^1.0.0:
273 - version "1.0.1"
274 - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708"
275 - integrity sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==
276 - dependencies:
277 - estraverse "^4.0.0"
278 -
279 -esrecurse@^4.1.0:
280 - version "4.2.1"
281 - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf"
282 - integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==
283 - dependencies:
284 - estraverse "^4.1.0"
285 -
286 -estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0:
287 - version "4.2.0"
288 - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
289 - integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=
290 -
291 -esutils@^2.0.2:
292 - version "2.0.2"
293 - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
294 - integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=
295 -
296 -external-editor@^2.0.4:
297 - version "2.2.0"
298 - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.2.0.tgz#045511cfd8d133f3846673d1047c154e214ad3d5"
299 - integrity sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==
300 - dependencies:
301 - chardet "^0.4.0"
302 - iconv-lite "^0.4.17"
303 - tmp "^0.0.33"
304 -
305 -fast-deep-equal@^2.0.1:
306 - version "2.0.1"
307 - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49"
308 - integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=
309 -
310 -fast-json-stable-stringify@^2.0.0:
311 - version "2.0.0"
312 - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
313 - integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I=
314 -
315 -fast-levenshtein@~2.0.4:
316 - version "2.0.6"
317 - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
318 - integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
319 -
320 -figures@^2.0.0:
321 - version "2.0.0"
322 - resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962"
323 - integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=
324 - dependencies:
325 - escape-string-regexp "^1.0.5"
326 -
327 -file-entry-cache@^2.0.0:
328 - version "2.0.0"
329 - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361"
330 - integrity sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=
331 - dependencies:
332 - flat-cache "^1.2.1"
333 - object-assign "^4.0.1"
334 -
335 -flat-cache@^1.2.1:
336 - version "1.3.4"
337 - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.4.tgz#2c2ef77525cc2929007dfffa1dd314aa9c9dee6f"
338 - integrity sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==
339 - dependencies:
340 - circular-json "^0.3.1"
341 - graceful-fs "^4.1.2"
342 - rimraf "~2.6.2"
343 - write "^0.2.1"
344 -
345 -fs.realpath@^1.0.0:
346 - version "1.0.0"
347 - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
348 - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
349 -
350 -generate-function@^2.0.0:
351 - version "2.3.1"
352 - resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.3.1.tgz#f069617690c10c868e73b8465746764f97c3479f"
353 - integrity sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==
354 - dependencies:
355 - is-property "^1.0.2"
356 -
357 -generate-object-property@^1.1.0:
358 - version "1.2.0"
359 - resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0"
360 - integrity sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=
361 - dependencies:
362 - is-property "^1.0.0"
363 -
364 -glob@^7.1.2, glob@^7.1.3:
365 - version "7.1.3"
366 - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1"
367 - integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==
368 - dependencies:
369 - fs.realpath "^1.0.0"
370 - inflight "^1.0.4"
371 - inherits "2"
372 - minimatch "^3.0.4"
373 - once "^1.3.0"
374 - path-is-absolute "^1.0.0"
375 -
376 -globals@^9.17.0:
377 - version "9.18.0"
378 - resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a"
379 - integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==
380 -
381 -graceful-fs@^4.1.2:
382 - version "4.1.15"
383 - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00"
384 - integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==
385 -
386 -has-ansi@^2.0.0:
387 - version "2.0.0"
388 - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
389 - integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=
390 - dependencies:
391 - ansi-regex "^2.0.0"
392 -
393 -has-flag@^3.0.0:
394 - version "3.0.0"
395 - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
396 - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
397 -
398 -iconv-lite@^0.4.17:
399 - version "0.4.24"
400 - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
401 - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
402 - dependencies:
403 - safer-buffer ">= 2.1.2 < 3"
404 -
405 -ignore@^3.3.3:
406 - version "3.3.10"
407 - resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043"
408 - integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==
409 -
410 -imurmurhash@^0.1.4:
411 - version "0.1.4"
412 - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
413 - integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
414 -
415 -inflight@^1.0.4:
416 - version "1.0.6"
417 - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
418 - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
419 - dependencies:
420 - once "^1.3.0"
421 - wrappy "1"
422 -
423 -inherits@2, inherits@^2.0.3, inherits@~2.0.3:
424 - version "2.0.3"
425 - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
426 - integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=
427 -
428 -inquirer@^3.0.6:
429 - version "3.3.0"
430 - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9"
431 - integrity sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==
432 - dependencies:
433 - ansi-escapes "^3.0.0"
434 - chalk "^2.0.0"
435 - cli-cursor "^2.1.0"
436 - cli-width "^2.0.0"
437 - external-editor "^2.0.4"
438 - figures "^2.0.0"
439 - lodash "^4.3.0"
440 - mute-stream "0.0.7"
441 - run-async "^2.2.0"
442 - rx-lite "^4.0.8"
443 - rx-lite-aggregates "^4.0.8"
444 - string-width "^2.1.0"
445 - strip-ansi "^4.0.0"
446 - through "^2.3.6"
447 -
448 -is-fullwidth-code-point@^2.0.0:
449 - version "2.0.0"
450 - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
451 - integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=
452 -
453 -is-my-ip-valid@^1.0.0:
454 - version "1.0.0"
455 - resolved "https://registry.yarnpkg.com/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz#7b351b8e8edd4d3995d4d066680e664d94696824"
456 - integrity sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ==
457 -
458 -is-my-json-valid@^2.16.0:
459 - version "2.19.0"
460 - resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.19.0.tgz#8fd6e40363cd06b963fa877d444bfb5eddc62175"
461 - integrity sha512-mG0f/unGX1HZ5ep4uhRaPOS8EkAY8/j6mDRMJrutq4CqhoJWYp7qAlonIPy3TV7p3ju4TK9fo/PbnoksWmsp5Q==
462 - dependencies:
463 - generate-function "^2.0.0"
464 - generate-object-property "^1.1.0"
465 - is-my-ip-valid "^1.0.0"
466 - jsonpointer "^4.0.0"
467 - xtend "^4.0.0"
468 -
469 -is-promise@^2.1.0:
470 - version "2.1.0"
471 - resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa"
472 - integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=
473 -
474 -is-property@^1.0.0, is-property@^1.0.2:
475 - version "1.0.2"
476 - resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84"
477 - integrity sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=
478 -
479 -is-resolvable@^1.0.0:
480 - version "1.1.0"
481 - resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88"
482 - integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==
483 -
484 -isarray@~1.0.0:
485 - version "1.0.0"
486 - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
487 - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
488 -
489 -js-tokens@^3.0.2:
490 - version "3.0.2"
491 - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
492 - integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls=
493 -
494 -js-yaml@^3.8.4:
495 - version "3.12.1"
496 - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.1.tgz#295c8632a18a23e054cf5c9d3cecafe678167600"
497 - integrity sha512-um46hB9wNOKlwkHgiuyEVAybXBjwFUV0Z/RaHJblRd9DXltue9FTYvzCr9ErQrK9Adz5MU4gHWVaNUfdmrC8qA==
498 - dependencies:
499 - argparse "^1.0.7"
500 - esprima "^4.0.0"
501 -
502 -json-schema-traverse@^0.4.1:
503 - version "0.4.1"
504 - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
505 - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
506 -
507 -json-stable-stringify@^1.0.1:
508 - version "1.0.1"
509 - resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af"
510 - integrity sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=
511 - dependencies:
512 - jsonify "~0.0.0"
513 -
514 -jsonify@~0.0.0:
515 - version "0.0.0"
516 - resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73"
517 - integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=
518 -
519 -jsonpointer@^4.0.0:
520 - version "4.0.1"
521 - resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9"
522 - integrity sha1-T9kss04OnbPInIYi7PUfm5eMbLk=
523 -
524 -levn@^0.3.0, levn@~0.3.0:
525 - version "0.3.0"
526 - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
527 - integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=
528 - dependencies:
529 - prelude-ls "~1.1.2"
530 - type-check "~0.3.2"
531 -
532 -lodash@^4.17.4, lodash@^4.3.0:
533 - version "4.17.11"
534 - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d"
535 - integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==
536 -
537 -mimic-fn@^1.0.0:
538 - version "1.2.0"
539 - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022"
540 - integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==
541 -
542 -minimatch@^3.0.2, minimatch@^3.0.4:
543 - version "3.0.4"
544 - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
545 - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
546 - dependencies:
547 - brace-expansion "^1.1.7"
548 -
549 -minimist@0.0.8:
550 - version "0.0.8"
551 - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
552 - integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=
553 -
554 -mkdirp@^0.5.1:
555 - version "0.5.1"
556 - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
557 - integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=
558 - dependencies:
559 - minimist "0.0.8"
560 -
561 -ms@2.0.0:
562 - version "2.0.0"
563 - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
564 - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
565 -
566 -mute-stream@0.0.7:
567 - version "0.0.7"
568 - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab"
569 - integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=
570 -
571 -natural-compare@^1.4.0:
572 - version "1.4.0"
573 - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
574 - integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=
575 -
576 -object-assign@^4.0.1:
577 - version "4.1.1"
578 - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
579 - integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
580 -
581 -once@^1.3.0:
582 - version "1.4.0"
583 - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
584 - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
585 - dependencies:
586 - wrappy "1"
587 -
588 -onetime@^2.0.0:
589 - version "2.0.1"
590 - resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4"
591 - integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=
592 - dependencies:
593 - mimic-fn "^1.0.0"
594 -
595 -optionator@^0.8.2:
596 - version "0.8.2"
597 - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64"
598 - integrity sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=
599 - dependencies:
600 - deep-is "~0.1.3"
601 - fast-levenshtein "~2.0.4"
602 - levn "~0.3.0"
603 - prelude-ls "~1.1.2"
604 - type-check "~0.3.2"
605 - wordwrap "~1.0.0"
606 -
607 -os-tmpdir@~1.0.2:
608 - version "1.0.2"
609 - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
610 - integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=
611 -
612 -path-is-absolute@^1.0.0:
613 - version "1.0.1"
614 - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
615 - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
616 -
617 -path-is-inside@^1.0.2:
618 - version "1.0.2"
619 - resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53"
620 - integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=
621 -
622 -pluralize@^4.0.0:
623 - version "4.0.0"
624 - resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-4.0.0.tgz#59b708c1c0190a2f692f1c7618c446b052fd1762"
625 - integrity sha1-WbcIwcAZCi9pLxx2GMRGsFL9F2I=
626 -
627 -prelude-ls@~1.1.2:
628 - version "1.1.2"
629 - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
630 - integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=
631 -
632 -process-nextick-args@~2.0.0:
633 - version "2.0.0"
634 - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa"
635 - integrity sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==
636 -
637 -progress@^2.0.0:
638 - version "2.0.3"
639 - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
640 - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
641 -
642 -punycode@^2.1.0:
643 - version "2.1.1"
644 - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
645 - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
646 -
647 -readable-stream@^2.2.2:
648 - version "2.3.6"
649 - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf"
650 - integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==
651 - dependencies:
652 - core-util-is "~1.0.0"
653 - inherits "~2.0.3"
654 - isarray "~1.0.0"
655 - process-nextick-args "~2.0.0"
656 - safe-buffer "~5.1.1"
657 - string_decoder "~1.1.1"
658 - util-deprecate "~1.0.1"
659 -
660 -require-uncached@^1.0.3:
661 - version "1.0.3"
662 - resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3"
663 - integrity sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=
664 - dependencies:
665 - caller-path "^0.1.0"
666 - resolve-from "^1.0.0"
667 -
668 -resolve-from@^1.0.0:
669 - version "1.0.1"
670 - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226"
671 - integrity sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=
672 -
673 -restore-cursor@^2.0.0:
674 - version "2.0.0"
675 - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf"
676 - integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368=
677 - dependencies:
678 - onetime "^2.0.0"
679 - signal-exit "^3.0.2"
680 -
681 -rimraf@~2.6.2:
682 - version "2.6.3"
683 - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab"
684 - integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==
685 - dependencies:
686 - glob "^7.1.3"
687 -
688 -run-async@^2.2.0:
689 - version "2.3.0"
690 - resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0"
691 - integrity sha1-A3GrSuC91yDUFm19/aZP96RFpsA=
692 - dependencies:
693 - is-promise "^2.1.0"
694 -
695 -rx-lite-aggregates@^4.0.8:
696 - version "4.0.8"
697 - resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be"
698 - integrity sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=
699 - dependencies:
700 - rx-lite "*"
701 -
702 -rx-lite@*, rx-lite@^4.0.8:
703 - version "4.0.8"
704 - resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444"
705 - integrity sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=
706 -
707 -safe-buffer@~5.1.0, safe-buffer@~5.1.1:
708 - version "5.1.2"
709 - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
710 - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
711 -
712 -"safer-buffer@>= 2.1.2 < 3":
713 - version "2.1.2"
714 - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
715 - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
716 -
717 -signal-exit@^3.0.2:
718 - version "3.0.2"
719 - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
720 - integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=
721 -
722 -slice-ansi@1.0.0:
723 - version "1.0.0"
724 - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d"
725 - integrity sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==
726 - dependencies:
727 - is-fullwidth-code-point "^2.0.0"
728 -
729 -sprintf-js@~1.0.2:
730 - version "1.0.3"
731 - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
732 - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
733 -
734 -string-width@^2.1.0, string-width@^2.1.1:
735 - version "2.1.1"
736 - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
737 - integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==
738 - dependencies:
739 - is-fullwidth-code-point "^2.0.0"
740 - strip-ansi "^4.0.0"
741 -
742 -string_decoder@~1.1.1:
743 - version "1.1.1"
744 - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
745 - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
746 - dependencies:
747 - safe-buffer "~5.1.0"
748 -
749 -strip-ansi@^3.0.0:
750 - version "3.0.1"
751 - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
752 - integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=
753 - dependencies:
754 - ansi-regex "^2.0.0"
755 -
756 -strip-ansi@^4.0.0:
757 - version "4.0.0"
758 - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f"
759 - integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8=
760 - dependencies:
761 - ansi-regex "^3.0.0"
762 -
763 -strip-json-comments@~2.0.1:
764 - version "2.0.1"
765 - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
766 - integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo=
767 -
768 -supports-color@^2.0.0:
769 - version "2.0.0"
770 - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
771 - integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=
772 -
773 -supports-color@^5.3.0:
774 - version "5.5.0"
775 - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
776 - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
777 - dependencies:
778 - has-flag "^3.0.0"
779 -
780 -table@^4.0.1:
781 - version "4.0.3"
782 - resolved "https://registry.yarnpkg.com/table/-/table-4.0.3.tgz#00b5e2b602f1794b9acaf9ca908a76386a7813bc"
783 - integrity sha512-S7rnFITmBH1EnyKcvxBh1LjYeQMmnZtCXSEbHcH6S0NoKit24ZuFO/T1vDcLdYsLQkM188PVVhQmzKIuThNkKg==
784 - dependencies:
785 - ajv "^6.0.1"
786 - ajv-keywords "^3.0.0"
787 - chalk "^2.1.0"
788 - lodash "^4.17.4"
789 - slice-ansi "1.0.0"
790 - string-width "^2.1.1"
791 -
792 -text-table@~0.2.0:
793 - version "0.2.0"
794 - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
795 - integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=
796 -
797 -through@^2.3.6:
798 - version "2.3.8"
799 - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
800 - integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
801 -
802 -tmp@^0.0.33:
803 - version "0.0.33"
804 - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"
805 - integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==
806 - dependencies:
807 - os-tmpdir "~1.0.2"
808 -
809 -type-check@~0.3.2:
810 - version "0.3.2"
811 - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
812 - integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=
813 - dependencies:
814 - prelude-ls "~1.1.2"
815 -
816 -typedarray@^0.0.6:
817 - version "0.0.6"
818 - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
819 - integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
820 -
821 -uri-js@^4.2.2:
822 - version "4.2.2"
823 - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0"
824 - integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==
825 - dependencies:
826 - punycode "^2.1.0"
827 -
828 -util-deprecate@~1.0.1:
829 - version "1.0.2"
830 - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
831 - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
832 -
833 -wordwrap@~1.0.0:
834 - version "1.0.0"
835 - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
836 - integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=
837 -
838 -wrappy@1:
839 - version "1.0.2"
840 - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
841 - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
842 -
843 -write@^0.2.1:
844 - version "0.2.1"
845 - resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757"
846 - integrity sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=
847 - dependencies:
848 - mkdirp "^0.5.1"
849 -
850 -xtend@^4.0.0:
851 - version "4.0.1"
852 - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
853 - integrity sha1-pcbVMr5lbiPbgg77lDofBJmNY68=