[WEB-5459] feat(codemods): add function declaration transformer with tests (#8137)

- Add jscodeshift-based codemod to convert arrow function components to function declarations
- Support React.FC, observer-wrapped, and forwardRef components
- Include comprehensive test suite covering edge cases
- Add npm script to run transformer across codebase
- Target only .tsx files in source directories, excluding node_modules and declaration files

* [WEB-5459] chore: updates after running codemod

---------

Co-authored-by: sriramveeraghanta <veeraghanta.sriram@gmail.com>
This commit is contained in:
Aaron 2025-11-20 19:09:40 +07:00 committed by GitHub
parent 90866fb925
commit 83fdebf64d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
1771 changed files with 17003 additions and 13856 deletions

View file

@ -18,7 +18,7 @@ const SubMenuContext = React.createContext<{ closeSubmenu: () => void } | null>(
const useSubMenu = () => React.useContext(SubMenuContext);
// SubMenu implementation
const SubMenu: React.FC<TSubMenuProps> = (props) => {
function SubMenu(props: TSubMenuProps) {
const { children, trigger, disabled = false, className = "" } = props;
return (
@ -34,9 +34,9 @@ const SubMenu: React.FC<TSubMenuProps> = (props) => {
</BaseMenu.Portal>
</BaseMenu.SubmenuRoot>
);
};
}
const MenuItem: React.FC<TMenuItemProps> = (props) => {
function MenuItem(props: TMenuItemProps) {
const { children, disabled = false, onClick, className } = props;
const submenuContext = useSubMenu();
@ -59,7 +59,7 @@ const MenuItem: React.FC<TMenuItemProps> = (props) => {
{children}
</BaseMenu.Item>
);
};
}
function Menu(props: TMenuProps) {
const {