프로젝트 소개
Marigold는 접근 가능한 동작을 위한 react-aria와 스타일링을 위한 Tailwind CSS를 기반으로 구축된 Marigold Design System의 React 구현체입니다. 이 저장소는 컴포넌트 라이브러리, 테마 설정, 문서화 및 테스트를 한곳에서 관리하는 모노레포입니다.
저장소 포함 내용
- 패키지로 빌드되는 컴포넌트 및 시스템 소스 폴더. CLI 명령은 "components and theme packages"를 빌드 대상으로 참조하며, 게시되는 npm 패키지는 `@marigold/components`입니다.
- 전용 `pnpm build:themes` 태스크를 통해 빌드되는 테마 패키지. 이를 통해 단일 컴포넌트 세트를 다양한 테마 출력물과 결합할 수 있습니다.
- Next.js로 구축된 문서 앱. `pnpm dev`(localhost:3000)로 개발 모드에서, `pnpm start`로 프로덕션 모드에서 실행됩니다. 여기에는 `pnpm build:component-props` 및 "registry" 태스크를 통해 생성된 컴포넌트 prop 테이블이 포함됩니다.
- `pnpm sb`로 localhost:6006에서 시작되는 Storybook 워크스페이스와 Storybook 기반 컴포넌트 테스트(`pnpm test:sb`) 및 Storybook 빌드 태스크가 포함됩니다.
툴링 및 품질 검사
전체적으로 TypeScript가 사용되며, `pnpm typecheck`는 문서를 먼저 빌드한 후 emit 없이 타입 체크를 실행합니다. 테스트는 Vitest에서 실행되며, 커버리지 및 CI 전용 변형이 포함됩니다. 린팅은 코드용 ESLint와 문서 산문용 Vale로 나뉘며, 포맷팅은 Prettier의 별도 체크 및 수정 명령으로 처리됩니다. `clean` 명령은 dist, .next, .turbo, coverage 및 storybook-static과 같은 빌드 결과물, 의존성 및 캐시를 제거합니다.
릴리스
릴리스는 로컬에서 수행되지 않습니다. GitHub Actions 워크플로우가 main으로 푸시될 때마다 Changesets 액션을 실행합니다. 이는 대기 중인 changeset을 소비하는 "release: version packages" 풀 리퀘스트를 열거나, 머지 후 버전이 상승된 패키지를 npm에 게시합니다. 기여자는 버전 상승이 필요한 변경 사항이 있을 때 `pnpm changeset`으로 changeset을 추가합니다. 프리릴리스는 `.changeset/pre.json`에 기록된 Changesets pre 모드를 사용합니다. npm dist-tag는 tag 필드에서 파생되므로, `pnpm changeset pre enter rc`는 latest 대신 "rc" 태그로 게시합니다. README에는 두 가지 주의 사항이 명시되어 있습니다. 프리릴리스 카운터는 태그가 아닌 package.json의 버전을 따르며, 채널을 전환하면 이전 dist-tag가 마지막 버전에 고정되므로 패키지별로 다시 지정하거나 제거해야 합니다.
로컬 시작하기
저장소를 클론하고 pnpm으로 의존성을 설치한 후, 문서화된 명령 테이블을 사용하여 개발, 빌드, 테스트, 린팅, 포맷팅 및 타입 체크를 수행하십시오. README는 신규 사용자에게 설치 안내를 위한 Marigold 문서 사이트와 최신 변경 사항을 위한 릴리스 노트 페이지를 안내합니다.
이 프로젝트는 MIT 라이선스 하에 게시됩니다. README는 컴포넌트 수, 성능 또는 채택률에 대해 주장하지 않으며, 해당 세부 사항은 문서 사이트 및 패키지 레지스트리에서 확인해야 합니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.