Monorepos를 디버깅하는 3가지 킬러 도구
1 - 원사 이유 / npm ls
Yarn을 사용하는 경우 특정 종속성이 코드베이스 내부에 있는 이유, 그것이 어떻게 거기에 있는지, 어떤 패키지가 종속되어 있는지 확인하는 데 정말 유용합니다.
yarn why react
Official docs on Yarn why here .
Yarn 사용자가 아닌 경우 다음 명령을 사용할 수도 있습니다.
npm ls
이것을 직접 실행하여 프로젝트 내부의 종속성 오류(빨간색으로 표시됨)에 대해 알아보세요.
또는 패키지 이름을 매개변수로 제공하여 프로젝트에 패키지가 몇 번이나 참여했는지 확인할 수도 있습니다.
npm ls react
의존성의 지옥을 해결하는 데 용감해지세요! 🍀
2 - TypeScript 구성 길들이기
따라서 모노 레포의 구조에 대해 다음과 같은 것이 있다고 가정해 보겠습니다.
├─ apps/
│ ├─ frontend/
│ ├─ backend/
├─ packages/
│ ├─ tsconfig/
│ ├─ config/
tsconfig.json
및 apps/frontend
폴더에 apps/backend
가 있고 packages/tsconfig
에서 기본 구성을 확장하는 경우가 발생할 수 있습니다.또한 더 복잡한 경우가 있을 수 있으므로 하루가 끝날 때 특정 프로젝트에서 최종
tsconfig.json
이 어떻게 보이는지 궁금하다면 다음을 수행할 수 있습니다.tsc -p apps/frontend --showConfig
이것은 프로젝트가 사용할 전체 병합된 TypeScript 구성을 인쇄할 것입니다.
Original idea from here , Marius에게 큰 인사를 전합니다. 🎉
또한 이를 루트
package.json
에 다음과 같이 기록하는 것이 좋습니다."tsconfig:debug:frontend": "tsc -p apps/frontend --showConfig"
팀이 신뢰할 수 있는 멋진 디버그 스크립트를 제공합니다.
3 - eslint 구성 에이스
내 경험상 eslint 구성은 특히 두 개의 서로 다른 프로젝트에서 이해하고 병합하려고 할 때 정말 빠르게 폭발할 수 있습니다.
🤔 eslint를 실행할 때 어떤 플러그인/규칙이 실제로 사용되고 있는지 확실하지 않습니까?
파일 중 하나에 대해 다음을 시도하십시오.
npx eslint --print-config apps/frontend/what/ever/your/file.ts
이렇게 하면 사용 중인 모든 규칙과 플러그인이 출력되므로 내부에서 일어나는 일을 파악할 수 있습니다.
요약
오늘은 여기까지입니다. 즐거운 디버깅 되시기 바랍니다! 🤘
Reference
이 문제에 관하여(Monorepos를 디버깅하는 3가지 킬러 도구), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/jozsefdevs/3-killer-tools-to-debug-your-monorepos-4bph텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)