DevTools tells Babel to parse the source code using "jsx" and "typescript" plug-ins:
https://github.com/facebook/react/blob/ed6c091fe961a3b95e956ebcefe8f152177b1fb7/packages/react-devtools-extensions/src/parseHookNames.js#L446-L462

This will work for some simple usages of Flow, but syntax may diverge and cause the parsing to fail.

Let's scan the source code for a `@flow` pragma and pass "flow" instead of "typescript" if one is found.

---

We should also add tests for both Flow and TypeScript to the test component pool:
https://github.com/facebook/react/tree/main/packages/react-devtools-extensions/src/__tests__/__source__
if (__DEBUG__) {
        console.groupCollapsed(
          `parseSourceAST() Found cached source metadata for "${originalSourceURL}"`,
        );
        console.log(sourceMetadata);
        console.groupEnd();
      }
      hookSourceData.originalSourceAST = sourceMetadata.originalSourceAST;
      hookSourceData.originalSourceCode = sourceMetadata.originalSourceCode;
    } else {
      
      const originalSourceAST = parse(originalSourceCode, {
        sourceType: 'unambiguous',
        plugins: ['jsx', 'typescript'],
      });
      hookSourceData.originalSourceAST = originalSourceAST;
      if (__DEBUG__) {
        console.log(
          `parseSourceAST() Caching source metadata for "${originalSourceURL}"`,
        );
      }
      originalURLToMetadataCache.set(originalSourceURL, {
        originalSourceAST,
        originalSourceCode,
      });
    }
  });
  return Promise.resolve();
}
function flattenHooksList(