-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: config react docgen typescript #85
Conversation
return true; | ||
}, | ||
}, | ||
check: false, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
더 빠른 빌드를 위해 타입 체크 비활성화
shouldExtractLiteralValuesFromEnum: true, | ||
propFilter: (prop) => { | ||
if (prop.parent) { | ||
return !prop.parent.fileName.includes('node_modules'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
{component}.type.ts 파일에서만 다루는 type을 취급하기 위함
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
확인이 늦었습니다 죄송송죄요 🥺
typescript: { | ||
reactDocgen: 'react-docgen-typescript', | ||
reactDocgenTypescriptOptions: { | ||
shouldExtractLiteralValuesFromEnum: true, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
shouldExtractLiteralValuesFromEnum: true, | |
shouldExtractLiteralValuesFromEnum: true, | |
shouldRemoveUndefinedFromOptional: true, |
optional field의 경우 | undefined
가 붙어있어서 제어할 때 번거로운 거 같아요.
특히 boolean 타입의 경우가 그렇다고 느꼈습니다!!
react-docgen-typescript의 이슈 코멘트 보고 스크립트 작성해야 한다는 말이 이건가? 했는데
찾아보니 해당 이슈 이후로 optional field에 한해서 | undefined
를 없애주는 옵션이 만들어졌네요.
설정해두는 게 좋을 거 같아 코드 제안 남겨뒀습니다!!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
제가 브랜치 바꾸는 걸 실수해서 커밋 하나 revert 해놨습니다 죄송해용 |
621b50e
to
175b4fd
Compare
1️⃣ 어떤 작업을 했나요? (Summary)
해결 완 😙
2️⃣ 알아두시면 좋아요!
#78 PR comment에 union type과 관련해 분석한 내용을 적어두었습니다.
결론은 스토리북에서 취급하는 버그가 아니었고, react-docgen 을 추가로 활용합니다.
reactDocgen의 기본 설정은 react-docgen이지만, TypeScript 파일을 적절히 처리하기 위해 react-docgen-typescript를 설정합니다.
forwardRef 활용해서 수정 했었던 속성 누락 문제까지 전부 해결돼서 #78은 닫았습니다.
undefined type 표시
특정 prop의 타입을 변형하려면 react-docgen-typescript의 출력을 후처리해야 하고, 번들러 로더 설정에서 후처리 수행 스크립트 or 플러그인을 작성해야 합니다.
다만, 플러그인 작성시 모든 TS 파일의 소스 코드에서 undefined를 제거하게 됩니다.
=> 결론: 타입 정보는 그대로 보존합니다.
4️⃣ 체크리스트 (Checklist)
main
브랜치의 최신 코드를pull
받았나요?