Hyunjung Im
Frontend Developer
2024-05-23
npm workspaces를 사용하면 패키지 관리가 독립적으로 이뤄지는 줄 알았는데 완전 착각했다. 작업된 것만 보고 혼자 생각하지 말고 꼭 문서를 보자.
// packages.json
{
"name": "my-workspaces-powered-project",
"workspaces": ["packages/workspace-a"]
}
root 내의 packagess 폴더에 workspace-a 패키지가 있을 때 packages.json workspaces 배열 안에 추가하면 root의 node_modules 안에 해당 패캐지 name으로 폴더가 생기는데, 해당 폴더는 packages/workspace-a 와 심볼릭 링크된 파일이다. 이 말인 즉슨 packages/workspace-a 안의 내용물을 수정하면 node_modules/<패키지>
경로안의 내용물도 똑같이 반영된다는 말
npm init -w ./packages/a
{
"workspaces": ["packages/a", "packages/b"]
}
npm run test --workspace=a
npm run test --workspace=a --workspace=b
npm run test --workspaces
--if-present
npm run test --workspaces --if-present