[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

@ -1,5 +1,4 @@
"use client";
import { useState } from "react";
import { observer } from "mobx-react";
import { Controller, useForm } from "react-hook-form";
@ -43,7 +42,7 @@ const defaultShowPassword = {
confirmPassword: false,
};
const SecurityPage = () => {
function SecurityPage() {
// store
const { data: currentUser, changePassword } = useUser();
// states
@ -254,6 +253,6 @@ const SecurityPage = () => {
</ProfileSettingContentWrapper>
</>
);
};
}
export default observer(SecurityPage);

View file

@ -1,5 +1,4 @@
"use client";
import { useEffect, useRef, useState } from "react";
import { observer } from "mobx-react";
import Link from "next/link";
@ -37,7 +36,7 @@ const WORKSPACE_ACTION_LINKS = [
},
];
const ProjectActionIcons = ({ type, size, className = "" }: { type: string; size?: number; className?: string }) => {
function ProjectActionIcons({ type, size, className = "" }: { type: string; size?: number; className?: string }) {
const icons = {
profile: CircleUser,
security: KeyRound,
@ -51,8 +50,9 @@ const ProjectActionIcons = ({ type, size, className = "" }: { type: string; size
const Icon = icons[type as keyof typeof icons];
if (!Icon) return null;
return <Icon size={size} className={className} />;
};
export const ProfileLayoutSidebar = observer(() => {
}
export const ProfileLayoutSidebar = observer(function ProfileLayoutSidebar() {
// states
const [isSigningOut, setIsSigningOut] = useState(false);
// router