5.2.0 β€’ Published 2 years ago

@croquiscom/pastel-ui v5.2.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

npm version

Pastel UI

νŒŒμŠ€ν…” UIλŠ” μΉ΄μΉ΄μ˜€μŠ€νƒ€μΌ νŒŒνŠΈλ„ˆμ„Όν„° λ””μžμΈ μ‹œμŠ€ν…œμ„ μœ„ν•œ λ¦¬μ•‘νŠΈ 기반의 λΌμ΄λΈŒλŸ¬λ¦¬μž…λ‹ˆλ‹€.

μ‚¬μš©

ν”„λ‘œμ νŠΈμ— @croquiscom/pastel-uiκ³Ό peer dependenciesλ₯Ό μΆ”κ°€ν•΄μ€λ‹ˆλ‹€.

npm install --save @croquiscom/pastel-ui @emotion/react @emotion/styled react react-dom
import React from 'react'
import { value color, value text_styles, value HStack } from '@croquiscom/pastel-ui';
import styled from '@emotion/styled';

export default function Test() {
  return (
    <HStack spacing={10}>
      <BaseText variant='Heading_24_Bold' color={colors.gray900}>Hello</BaseText>
      <StyledText>Pastel UI</StyledText>
    </HStack>
  );
}

const StyledText = styled.p`
  ${text_styles.Body_14_SemiBold};
  color: ${colors.gray600};
`;

개발

μš”κ΅¬λ˜λŠ” 개발 ν™˜κ²½

Node.js v14+, Yarn v1.22+

λ‘œμ»¬μ— 클둠된 λ ˆν¬μ§€ν† λ¦¬λ‘œ μ΄λ™ν•˜μ—¬, node_modulesλ₯Ό μ„€μΉ˜ν•©λ‹ˆλ‹€.

yarn

μŠ€ν† λ¦¬λΆμ„ 톡해 ν™•μΈν•˜κΈ° μœ„ν•΄μ„  λ‹€μŒ λͺ…λ Ήμ–΄λ₯Ό μ‹€ν–‰ν•©λ‹ˆλ‹€. (λΈŒλΌμš°μ €μ—μ„œ http://localhost:6006/ 둜 μ΄λ™ν•˜μ„Έμš”.)

yarn storybook

ꡬ쑰

β”œβ”€β”€ assets
β”‚   └── icons
β”œβ”€β”€ src
β”‚   β”œβ”€β”€ [COMPONENT]
β”‚   β”‚   β”œβ”€β”€ index.ts
β”‚   β”‚   β”œβ”€β”€ [COMPONENT].tsx
β”‚   β”‚   β”œβ”€β”€ [COMPONENT].stories.mdx
β”‚   β”‚   β”œβ”€β”€ types.ts
β”‚   β”‚   └── styles.ts
β”‚   β”œβ”€β”€ icons
β”‚   β”‚   β”œβ”€β”€ generated
β”‚   β”‚   β”œβ”€β”€ Icon.stories.tsx
β”‚   β”‚   └── Icon.stories.mdx
β”‚   β”œβ”€β”€ global_styles
β”‚   β”œβ”€β”€ themes
β”‚   β”œβ”€β”€ styles
β”‚   β”œβ”€β”€ hooks
β”‚   β”œβ”€β”€ stories
β”‚   β”œβ”€β”€ types
β”‚   └── index.ts
└── tools
    β”œβ”€β”€ svgr-component-template.js
    └── svgr-index-template.js
  • COMPONENT: μ»΄ν¬λ„ŒνŠΈ 디렉토리 이름은 μ†Œλ¬Έμž, κ΅¬λΆ„μžλŠ” -둜 (eg. toggle-switch) μž‘μ„±ν•©λ‹ˆλ‹€. ν•˜μœ„μ—λŠ” κ΄€λ ¨ μ»΄ν¬λ„ŒνŠΈ 파일과 ν•΄λ‹Ή μ»΄ν¬λ„ŒνŠΈμ˜ μŠ€ν† λ¦¬λΆ(*.stories.tsx) νŒŒμΌμ„ ν¬ν•¨ν•©λ‹ˆλ‹€.
    • styles.ts, types.tsκ³Ό 같은 νŒŒμΌμ„ 포함할 수 μžˆμŠ΅λ‹ˆλ‹€.
    • μ»΄ν¬λ„ŒνŠΈλŠ” Named Exports ν•©λ‹ˆλ‹€.
    • 각 μ»΄ν¬λ„ŒνŠΈ 디렉토리와 src ν•˜μœ„μ˜ index.tsλ₯Ό 톡해 export ν•©λ‹ˆλ‹€.
  • global_styles: 리셋 μŠ€νƒ€μΌμ„ ν¬ν•¨ν•œ κΈ€λ‘œλ²Œ μŠ€νƒ€μΌμ„ ν¬ν•¨ν•©λ‹ˆλ‹€.
    • 리셋 μŠ€νƒ€μΌμ„ μœ„ν•œ class λ„€μž„μ€ prefix둜 pastel-ui-λ₯Ό λΆ™μ—¬μ€λ‹ˆλ‹€.
  • themes: color, typography와 같은 themeκ³Ό κ΄€λ ¨λœ μŠ€νƒ€μΌ, μŠ€νƒ€μΌ 토큰을 ν¬ν•¨ν•©λ‹ˆλ‹€.
  • styles: μ»΄ν¬λ„ŒνŠΈμ— 곡용으둜 μ‚¬μš©ν•  μŠ€νƒ€μΌ, μŠ€νƒ€μΌ ν•¨μˆ˜λ₯Ό ν¬ν•¨ν•©λ‹ˆλ‹€.
  • hooks: μ»€μŠ€ν…€ 훅을 ν¬ν•¨ν•©λ‹ˆλ‹€.
  • stories: μŠ€ν† λ¦¬λΆμš© μ»΄ν¬λ„ŒνŠΈλ‚˜ μŠ€νƒ€μΌ, μ»΄ν¬λ„ŒνŠΈ μ™Έμ˜ μŠ€ν† λ¦¬λΆ λ¬Έμ„œ
  • assets: svg λ“±μ˜ 에셋을 ν¬ν•¨ν•©λ‹ˆλ‹€.
  • tools: svgr template λ“±μ˜ 라이브러리 μ œμž‘μ„ μœ„ν•œ 슀크립트λ₯Ό ν¬ν•¨ν•©λ‹ˆλ‹€.

μ•„μ΄μ½˜ μΆ”κ°€

⚠️ SVGR을 톡해 svgνŒŒμΌμ„ λ¦¬μ•‘νŠΈ μ»΄ν¬λ„ŒνŠΈλ‘œ μ œλ„€λ ˆμ΄νŠΈν•©λ‹ˆλ‹€. src/icons/generated ν•˜μœ„μ—μ„œ 직접 μˆ˜μ •ν•˜μ§€ λ§μ•„μ£Όμ„Έμš”!

  • assets/icons에 svgλ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€.
  • yarn svgr을 μ‹€ν–‰ν•©λ‹ˆλ‹€.
  • src/icons/generated ν•˜μœ„μ— μ œλ„€λ ˆμ΄νŠΈλœ μ•„μ΄μ½˜ λ¦¬μ•‘νŠΈ μ»΄ν¬λ„ŒνŠΈμ™€ src/icons/generated/index.ts에 ν•΄λ‹Ή μ»΄ν¬λ„ŒνŠΈμ˜ exportκ°€ μΆ”κ°€λœ 것을 ν™•μΈν•©λ‹ˆλ‹€.
  • yarn storybook을 μ‹€ν–‰ν•˜μ—¬ μŠ€ν† λ¦¬λΆ λ‚΄μ—μ„œ Icon/Icons λ©”λ‰΄λ‘œ μ΄λ™ν•˜μ—¬ λͺ©λ‘μ—μ„œ ν•΄λ‹Ή μ•„μ΄μ½˜μ΄ 잘 μΆ”κ°€λ˜μ—ˆλŠ”μ§€ ν™•μž…λ‹ˆλ‹€.

PR

  • main을 base 브랜치둜 ν•œ μž‘μ—… 브랜치λ₯Ό μƒμ„±ν•©λ‹ˆλ‹€.
  • 배포 및 버전관리λ₯Ό changeset을 톡해 κ΄€λ¦¬ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. PR μƒμ„±μ‹œ changeset README.md λ¬Έμ„œλ₯Ό μ°Έκ³ ν•˜μ—¬ νŒŒμΌμ„ μƒμ„±ν•΄μ£Όμ„Έμš”.
  • PR 및 λ§ˆμŠ€ν„° 머지 μ‹œμ— chromatic으둜 μžλ™ λ°°ν¬λ©λ‹ˆλ‹€.

배포

Github Action을 톡해 μžλ™μœΌλ‘œ λ°°ν¬ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

changeset νŒŒμΌμ„ ν¬ν•¨ν•œ PR이 main에 λ¨Έμ§€λ˜λ©΄, Github Action μ›Œν¬ν”Œλ‘œμš°κ°€ λ™μž‘λ˜λ©°, 버전 배포λ₯Ό μœ„ν•œ Version Packages PR이 μƒμ„±λ©λ‹ˆλ‹€. ν•΄λ‹Ή PR을 λ¨Έμ§€ν•˜κ²Œ 되면 Github Action의 μ›Œν¬ν”Œλ‘œμš°κ°€ λ™μž‘λ˜λ©° νŒ¨ν‚€μ§€κ°€ λ°°ν¬λ©λ‹ˆλ‹€.

Github Action을 ν†΅ν•œ 배포가 λΆˆκ°€λŠ₯ν•  경우

npm κΆŒν•œμ΄ ν•„μš”ν•©λ‹ˆλ‹€. npm에 κ°€μž… ν›„ κΆŒν•œμ„ μš”μ²­ν•΄μ£Όμ„Έμš”.

  • Version Packages PR이 μƒμ„±λ˜μ§€ μ•Šμ•˜μ„ 경우, λ‹€μŒμ„ μˆ˜ν–‰ν•΄ changelog와 package.json을 version bumpλ₯Ό ν¬ν•¨ν•œ μž‘μ—… PR을 μƒμ„±ν•©λ‹ˆλ‹€.
yarn changeset version
git commit -m "chore: version bump"
  • Version Packages PR이 μƒμ„±λ˜μ—ˆμ„ 경우 ν•΄λ‹Ή PR을 λ¨Έμ§€ν•˜κ³  main을 μ΅œμ‹  μƒνƒœλ‘œ PULL λ°›μ•„μ£Όμ„Έμš”.
yarn release
5.1.0

2 years ago

5.2.0

2 years ago

4.0.0

2 years ago

4.0.0-next.1

2 years ago

4.0.0-next.0

2 years ago

4.0.0-next.3

2 years ago

4.0.0-next.2

2 years ago

5.0.1

2 years ago

5.0.0

2 years ago

3.2.1

2 years ago

3.2.0

2 years ago

3.0.0

2 years ago

1.9.0

2 years ago

3.1.0

2 years ago

1.2.0

2 years ago

1.8.0

2 years ago

1.6.0

2 years ago

1.4.2

2 years ago

1.4.0

2 years ago

2.0.1

2 years ago

1.7.0

2 years ago

1.5.0

2 years ago

1.3.2

2 years ago

1.3.1

2 years ago

1.3.0

2 years ago

1.1.5

2 years ago

1.1.4

2 years ago

1.1.3

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.0.0

2 years ago

1.1.2

2 years ago

0.6.10

2 years ago

0.6.12

2 years ago

0.6.11

2 years ago

0.6.7

2 years ago

0.6.9

2 years ago

0.6.8

2 years ago

0.6.6

2 years ago

0.5.4-beta.0

2 years ago

0.6.2

2 years ago

0.5.3

2 years ago

0.6.5

2 years ago

0.6.4

2 years ago

0.6.1

2 years ago

0.6.0

2 years ago

0.5.2

3 years ago

0.5.1

3 years ago

0.5.0

3 years ago

0.4.1

3 years ago

0.4.0

3 years ago

0.3.3

3 years ago

0.3.2

3 years ago

0.3.0

3 years ago

0.2.0

3 years ago

0.3.1

3 years ago

0.1.4

3 years ago

0.1.5

3 years ago

0.1.3

3 years ago

0.1.2

3 years ago

0.1.1

3 years ago

0.1.0

3 years ago