-
Notifications
You must be signed in to change notification settings - Fork 38
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: create unified-storybook app #5610
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎ 2 Skipped Deployments
|
🎉 @WANZARGEN and @Hansoo-mzc have been randomly selected as the reviewers! Please review. 🙏 |
# SpaceONE 통합 Storybook 개요 | ||
<br/> | ||
<br/> | ||
|
||
## 소개 | ||
이 Storybook은 **웹 콘솔(Web Console)용 Storybook**과 **범용 컴포넌트 라이브러리(Mirinae) Storybook**을 통합하여 구성되었습니다. | ||
<br/> | ||
<br/> | ||
|
||
## 구성 요소 | ||
<br/> | ||
|
||
### 범용 컴포넌트 라이브러리 Storybook | ||
| | 역할 | 프레임워크 | | ||
|------|------------------------------------------------|----------------| | ||
| Mirinae | 다양한 웹 프로젝트에서 재사용할 수 있는 공통 UI 컴포넌트를 제공합니다. | Vue2.7 + composition API (Vite 기반) | | ||
|
||
### 프로젝트 Storybook | ||
| | 역할 | 프레임워크 | | ||
|------|------------------------------------------------|----------------| | ||
| Web Console | 웹 콘솔에서 활용하는 프로젝트 전용 컴포넌트와 훅을 제공합니다. | Vue2.7 + composition API (Vite 기반, 프로젝트별 설정 적용) | | ||
|
||
## 목적 | ||
이 통합된 Storybook은 다음과 같은 목표를 가지고 있습니다: | ||
1. **컴포넌트의 일관된 관리**: 범용 및 프로젝트별 컴포넌트를 체계적으로 관리할 수 있도록 합니다. 기획자 디자이너부터 개발자까지 신뢰도 높은 컴포넌트 상태관리를 유지합니다. | ||
2. **재사용성 극대화**: 범용 컴포넌트를 활용한 다양한 프로젝트에서 일관된 UI 가이드를 유지할 수 있도록 지원합니다. | ||
3. **확장성 고려 및 통합**: 향후 추가될 프로젝트용 Storybook과 새로운 범용 컴포넌트 라이브러리를 손쉽게 통합할 수 있도록 설계되었습니다. | ||
4. **테스트 및 문서화**: 컴포넌트의 테스트와 문서화를 통해 개발자들이 컴포넌트를 안전하게 사용할 수 있도록 지원합니다. |
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.
nitpick: Since this is an open-source project, please write all documentation and comments in English to ensure better collaboration and accessibility for the global developer community.
apps/unified-storybook/.eslintignore
Outdated
# he-tree-vue | ||
src/data-display/tree/he-tree-vue/components/Tree.vue | ||
src/data-display/tree/he-tree-vue/plugins/* | ||
src/data-display/tree/he-tree-vue/helpers.ts |
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.
question: Why is this code needed here? Shouldn't component-related files be excluded from the Storybook app's ESLint scope in the first place? This seems to be mixing concerns between the main application and Storybook configuration.
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.
Not needed. I forgot to check the ESLint and tsconfig after copying and pasting. I'll fix it.
apps/unified-storybook/.eslintrc.js
Outdated
module.exports = { | ||
root: false, | ||
extends: ['custom'], | ||
rules: { | ||
// eslint-plugin-import rules | ||
'import/order': [ | ||
'error', | ||
{ | ||
groups: ['builtin', 'external', 'internal', 'index'], | ||
pathGroups: [ | ||
{ | ||
pattern: 'vue', | ||
group: 'builtin', | ||
}, | ||
{ | ||
pattern: '@vue/test-utils', | ||
group: 'builtin', | ||
}, | ||
{ | ||
pattern: 'vue/types/**', | ||
group: 'builtin', | ||
}, | ||
{ | ||
pattern: '@/translations/**', | ||
group: 'internal', | ||
position: 'after', | ||
}, | ||
{ | ||
pattern: '@/styles/**', | ||
group: 'internal', | ||
position: 'after', | ||
}, | ||
], | ||
pathGroupsExcludedImportTypes: ['@vue/test-utils'], | ||
alphabetize: { | ||
order: 'asc', | ||
caseInsensitive: true, | ||
}, | ||
'newlines-between': 'always', | ||
}, | ||
], | ||
}, | ||
ignorePatterns: ['**/node_modules/**'], | ||
settings: { | ||
'import/parsers': { | ||
'@typescript-eslint/parser': ['.ts'], | ||
}, | ||
'import/resolver': { | ||
typescript: {}, | ||
}, | ||
}, | ||
}; |
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.
suggestion: I think this .eslintrc.js file is meant to target files under apps/unified-storybook/*. Perhaps we could update the ESLint rules to focus specifically on Storybook-related files? Rather than following the existing configuration, it might be better to revise it with proper scope consideration.
"include": [ | ||
"**/*.ts", | ||
"**/*.js", | ||
"../../packages/mirinae/**/*.@(ts|js|cjs|vue|mdx)" |
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.
question: Would this section need some adjustments? I'd love to hear your thoughts on potential improvements here.
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.
Please revise the ESLint and TypeScript configurations to properly target Storybook-related files (apps/unified-storybook/). I'll review again after these adjustments.
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.
(Duplicated request changes)
feat(unified-storybook): add initial setup for unified storybook - Added ESLint configuration and ignore files - Configured Storybook with custom themes and settings - Introduced PostCSS and Tailwind CSS configurations - Included icons, manifest, and other public assets - Set up TypeScript configuration for the project feat(unified-storybook): add initial setup for unified storybook - Added ESLint configuration and ignore files - Configured Storybook with custom themes and settings - Introduced PostCSS and Tailwind CSS configurations - Included icons, manifest, and other public assets Signed-off-by: sulmo <[email protected]>
docs: update storybook introduction to english - Translated the Storybook overview and sections from Korean to English. - Updated component descriptions for clarity and consistency. ``` Signed-off-by: sulmo <[email protected]>
- Disabled ESLint rule for import dependencies in vite config files - Removed .eslintignore file from unified-storybook - Simplified .eslintrc.js by removing custom rules and settings - Cleaned up tsconfig.json by removing unused paths and types Signed-off-by: sulmo <[email protected]>
476a732
to
90cd365
Compare
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.
Thanks!
- Renamed the development script for unified-storybook. - Added configuration for the new script in turbo.json. Signed-off-by: sulmo <[email protected]>
Skip Review (optional)
style
,chore
,ci
,test
,docs
)Description (optional)
SSIA
Things to Talk About (optional)