lerna
명령어
lerna bootstrap
모든 디펜던시를 설치하고 상호 종속성을 link
얘를 실행하면, 명령어는
각 패키지의 모든 외부 디펜던시에 대해
npm install
서로 종속성인 모든 Lerna
packages
를 Symlink하기모든 부투스트랩된 패키지에서
npm run prepublish
모든 부투스트랩된 패키지에서
npm run prepare
--hoist[glob]
레포 루트에서 glob
과 일치하는 external 설치. 그래서 모든 패키지에서 이용 가능하다. 이 디펜던시의 바이너리들은 dependent 만약 glob 옵션이 제공 되지 않는다면 기본적으로 **
(전부)다.
lerna hoisting
이 기능 활성화 할 때 조심해서 써야됨. 설정 잘못 건드리면 문제 일으킴
공통 디펜던시들은 top-level
node_modules
에서 설치됨.대부분의 공통 디펜던시들은 호이스팅되지만, 다른 버전을 가진 패키지는 local
node_modules
에 필수 디펜던시 설치를 하게됨예를 들어
lerna bootstrap
은 항상npm install
을 사용한다.
공통 패키지의 Binary는 symlink된다. 그래서 package.json scripts 수정할 필요 없음
참고 Node의 module resolution 알고리즘은 리커시브함 package A 를 찾을 때, local node_modules에서 찾고, 없으면
../node_modules/A
,../../node_modules/A
, ... 에서 찾음
lerna publish
lerna run
걍 에 명령어 넣으면 각 패키지에서 해당 명령어 들고 있으면 다돌림
lerna add
현재 러나 repo에 dependency로 패키지 추가
options
--dev: devdependencies로 추가
lerna.json
lerna.json의 패키지 설정은 package.json을 포함하고 있는 디렉토리와 일치하는 glob 리스트에 있다.
command.bootstrap.npmClientArgs
: lerna bootstrap
명령어가 실행되는 동안 npm i
로 직접 인자로 전달되는 스트링 배열
Last updated
Was this helpful?