Skip to content

Commit 95bf266

Browse files
committed
Update README
1 parent e2cb589 commit 95bf266

File tree

1 file changed

+30
-7
lines changed

1 file changed

+30
-7
lines changed

README.md

+30-7
Original file line numberDiff line numberDiff line change
@@ -85,19 +85,41 @@ $ git clone [email protected]:titicacadev/triple-frontend.git && cd triple-frontend
8585
$ npm install
8686
```
8787

88-
[Lerna bootstrap](https://github.com/lerna/lerna/tree/master/commands/bootstrap)
89-
커맨드로 Monorepo 개발 환경을 구성합니다:
88+
#### npm@7 or above
89+
90+
[NPM Workspaces](https://docs.npmjs.com/cli/v7/using-npm/workspaces) 에 의해
91+
root의 `node_modules` 디렉토리 밑에 Symlink로 패키지들이 링크됩니다.
92+
93+
```sh
94+
$ ls -l node_modules/@titicaca
95+
total 0
96+
lrwxr-xr-x 1 inbeom staff 27 Dec 27 10:47 action-sheet -> ../../packages/action-sheet
97+
lrwxr-xr-x 1 inbeom staff 25 Dec 27 10:47 ad-banners -> ../../packages/ad-banners
98+
lrwxr-xr-x 1 inbeom staff 25 Dec 27 10:47 app-banner -> ../../packages/app-banner
99+
lrwxr-xr-x 1 inbeom staff 35 Dec 27 10:47 app-installation-cta -> ../../packages/app-installation-cta
100+
lrwxr-xr-x 1 inbeom staff 21 Dec 27 10:47 author -> ../../packages/author
101+
...
102+
```
103+
104+
#### npm < 7
105+
106+
Workspaces를 이용하지 못하는 환경인 경우 [Lerna bootstrap](https://github.com/lerna/lerna/tree/master/commands/bootstrap)
107+
커맨드로 개발 환경을 구성합니다:
90108

91109
```sh
92110
$ lerna bootstrap
111+
...
93112
```
94113

114+
개별 패키지의 `node_modules`(`packages/*/node_modules`) 디렉토리에 개별 패키지의
115+
의존성 트리가 구성됩니다.
116+
95117
### Workflow
96118

97119
#### 기능 추가
98120

99121
1. 작업자가 코드 기여
100-
- 디펜던시에 변경이 있는 경우 `lerna bootstrap` 실행 필요
122+
- (npm < 7) 디펜던시에 변경이 있는 경우 `lerna bootstrap` 실행 필요
101123
2. 커밋 & 푸시
102124
3. PR 생성 & 리뷰
103125
4. 버전 생성 (Optional): `npm run version` (경우에 따라 PR과 함께 혹은 별도로 생성)
@@ -109,7 +131,7 @@ $ lerna bootstrap
109131

110132
1. `lerna create [패키지명]` 커맨드로 패키지 추가
111133
2. 적절한 `package.json``tsconfig.json` 수정 및 생성
112-
3. 프로젝트 루트에서 `lerna bootstrap` 커맨드 실행으로 디펜던시 링크
134+
3. (npm < 7) 프로젝트 루트에서 `lerna bootstrap` 커맨드 실행으로 디펜던시 링크
113135
4. `src`에 코드 작성
114136
5. 버전 생성 (Optional): 기존 패키지에서 분리가 일어나서 API 인터페이스에
115137
변경이 있었다면 MAJOR, 기존 패키지와 관련 없는 패키지 추가라면 MINOR 버전
@@ -130,12 +152,13 @@ $ lerna bootstrap
130152

131153
- 모든 PR 리뷰는 GitHub의 `@frontend` 팀에게 자동으로 할당됩니다.
132154
- 팀 멤버 2인 이상이 승인해야 머지할 수 있습니다.
133-
- 머지 전 머지 체크리스트를 모두 확인해야 합니다. (TBD: `PULL_REQUEST_TEMPLATE.md` 작성 필요)
155+
- 머지 전 머지 체크리스트를 모두 확인해야 합니다.
134156

135157
### 주의사항
136158

137-
- 새로운 패키지를 추가하거나 패키지 간 의존성 그래프가 바뀌면 반드시
138-
`lerna bootstrap` 커맨드로 의존성을 바로잡아야 합니다.
159+
- npm Workspaces를 이용하지 않는 경우, 새로운 패키지를 추가하거나 패키지 간
160+
의존성 그래프가 바뀌면 반드시 `lerna bootstrap` 커맨드로 의존성을 바로잡아야
161+
합니다.
139162
- Docs를 비롯한 패키지 내에서 다른 패키지를 import하는 경우, 대상 패키지를
140163
빌드한 이후에만 의도한 동작을 수행할 수 있습니다.
141164
- 뷰 및 기능에 변경이 있는 기여인 경우, docs 페이지도 그에 준하게 업데이트해야

0 commit comments

Comments
 (0)