- eslint config ✅
- tsconfig 설정 ✅
- pnpm-workspace.yaml ➡️
- package.json의 script 설정
- turbo.json 셋업
.yaml 확장자는 이전에 GitHub action으로 빌드 에러 검사하고, 스토리북 크로매틱으로 배포할때 workflow? 설정할때 본 적이 있다.
YAML 이란 뭘까?
- 'YAML'은 'YAML은 마크업 언어가 아니다(YAML Ain't Markup Language)' 또는 '또 다른 마크업 언어(Yet Another Markup Language)'의 약어
- 사람이 쉽게 이해할 수 있는 데이터 직렬화 언어
- 구성(config) 파일과 서로 다른 시스템 간의 데이터 교환을 비롯한 다양한 애플리케이션에 특히 적합.
간단하고 직관적인 구조로 다양한 도메인에서 사용성이 향상되어 사용자가 명확하고 이해하기 쉬운 방식으로 데이터를 정의하고 구성할 수 있다. - 확장자 : .yaml 또는 .yml
- 특징
1) 모든 YAML 파일의 데이터는 key-value 쌍의 형식을 따른다.
2) YAML은 대소문자를 구분하며, key는 중복되지 말아야 한다. (unique)
pnpm으로 프로젝트를 만들면 루트에 pnpm-workspace.yaml이 생성된다.
이 파일의 역할은
1) pnpm을 사용하는 monorepo의 구조를 정의하고, 2) 종속성을 효율적으로 관리하며, 3) 어떤 패키지가 포함되고 제외될지 설정
하는 것 이라고 한다 ^.^
packages:
- "apps/*"
- "packages/*"
위 코드에 의해, apps와 packages 폴더 하위의 모든 파일이 workspace로 정의된다.
이 외에 추가할 디렉토리는 없는거같아서 우선 유지해야겠다.
turborepo GitHub 에서는 아래와 같이 작성되어있다.
packages:
- ".github/actions/*"
- "cli"
- "docs"
- "packages/*"
- "turborepo-tests/*"
# Intentionally exclude the npm turbo package from the workspaces.
- "!packages/turbo"
- "crates/*/js"
- examples
# Exclude the non-monorepo example as it should be treated as independent of this repo
- "!examples/non-monorepo"
'개발개발 > Date-project' 카테고리의 다른 글
[date] Storybook 설정하기 (0) | 2025.03.06 |
---|---|
[date] package.json과 turbo.json 설정하기 (0) | 2025.03.06 |
[date] tsconfig 설정하기 (0) | 2025.03.05 |
[date] turborepo config 설정하기 - eslint (0) | 2025.03.05 |
[date] Slack - GitHub 웹훅(webhook) 연동하기 (0) | 2025.03.04 |