ESLint has released the first beta versions of v8 🎉
https://eslint.org/blog/2021/08/eslint-v8.0.0-beta.0-released
https://eslint.org/blog/2021/08/eslint-v8.0.0-beta.1-released
https://eslint.org/blog/2021/09/eslint-v8.0.0-beta.2-released
https://eslint.org/blog/2021/09/eslint-v8.0.0-rc.0-released

It would be awesome to have official ESLint 8 support. 👊
I'm happy to help where I can of course 🙂
function useFoo() {
          const foo = "fine";
          if (true) {
            // Shadowed variable with constant construction in a nested scope is fine.
            const foo = {};
          }
          return useMemo(() => foo, [foo]);
        }
      `,
    },
    {
      code: normalizeIndent`
        function MyComponent({foo}) {
          return useMemo(() => foo, [foo])
        }
      `,
    },
    {
      code: normalizeIndent`
        function MyComponent() {
          const foo = true ? "fine" : "also fine";
          return useMemo(() => foo, [foo]);
        }
      `,
    },
  ],
  invalid: [
    {
      code: normalizeIndent`
        function MyComponent(props) {