Skip to content

modern-agile-team/modern-kit

Repository files navigation

@modern-kit


@modern-kit는 클라이언트 개발에 유용한 리액트 컴포넌트, 커스텀 훅유틸리티 함수, 타입을 제공하는 라이브러리입니다.

클라이언트 개발에 필요한 모듈들을 제공하는 것 뿐만아니라, 다양한 레퍼런스를 제공하기 위한 목적을 갖고 있습니다.

@modern-kit는 Next.js의 SSR(Server Side Rendering)환경에서도 호환되는 등 CJS(CommonJs)환경에서도 호환되기 위해 CJS(CommonJs)ESM(ECMAScript Module) 두 포맷을 모두 지원합니다.


Official Documentation

@modern-kit의 공식 문서는 아래 웹사이트에서 확인하실 수 있습니다


Usage

@modern-kit/react

  • React와 관련된 유용한 컴포넌트커스텀 훅을 제공하는 라이브러리입니다.
npm i @modern-kit/react
yarn add @modern-kit/react
pnpm i @modern-kit/react

@modern-kit/utils

  • 클라이언트 개발과 관련된 유용한 유틸리티 함수를 제공하는 라이브러리입니다.
npm i @modern-kit/utils
yarn add @modern-kit/utils
pnpm i @modern-kit/utils

@modern-kit/types

  • 유용한 유틸 타입들을 제공하는 라이브러리 입니다.
npm i @modern-kit/types
yarn add @modern-kit/types
pnpm i @modern-kit/types

Lint & Test & build

  • root 폴더에서 진행해주세요.
  • 패키지 매니저는 yarn berry, Node 버전은 v20을 사용하셔야 합니다.
yarn eslint packages
  • 위 명령어를 통해 모든 패키지의 lint 검사를 진행할 수 있습니다.
yarn test
  • test 명령어를 통해 vitestreact-testing-library로 테스트를 진행할 수 있습니다.
yarn typecheck
  • typecheck 명령어를 통해 typecheck를 진행할 수 있습니다.
yarn build
  • build 명령어를 통해 관리하는 모든 패키지들의 build, 상단의 lint, test, typecheck를 모두 진행합니다.

Documentation

  • @modern-kit은 docusaurus를 기반으로 문서화 작업을 진행합니다.
yarn start:docs
  • start:docs 명령어를 통해 개발 서버를 실행해 문서 작업을 미리 확인 할 수 있습니다.
yarn build:docs
  • build:docs 명령어를 통해 document build를 진행합니다.
  • 신규 문서 작업 후 해당 build 작업이 정상적으로 진행되어야 합니다.

Contributing

모든 기여에 감사드립니다! 누구든지 라이브러리에 기여할 수 있습니다. Contributing Guide

Contributors


Stack

  • Node v20
  • React, TypeScript
  • Vitest, React-Testing-Library
  • Rollup, ESBuild
  • Yarn Berry(v4) & Workspaces
  • Lerna (for Versioning & Publishing)
  • docusaurus (documentation)

Tools

  • Yarn Berryworkspaces를 활용해 Monolithic Repository 환경을 구축
    • packages 내부의 패키지들은 로컬 패키지처럼 상호 의존성을 갖습니다.
  • lerna를 활용한 통합 빌드, 통합 테스트, 통합 배포 환경 구축
  • github actions를 활용한 CI/CD 구축
  • changeset을 활용한 모노레포 환경에서 패키지 일관성 유지NPM 배포 진행
  • dependabot을 활용한 자동 의존성 관리
  • codecov를 활용한 테스트 코드 커버리지 체크신뢰성 있는 코드 제공
  • docusaurus를 활용한 문서화

License

MIT © Modern Agile. See LICENSE for details.