나는이 목적을 위해 peerDependencies
을 사용하고 있습니다.하지만 충분하지 않다고 생각하거나 그렇지 않습니다. 예 : aurelia-logging
.응용 프로그램에서 종속성의 단일 버전을 보장하는 방법
aurelia-logging
을 사용하여 로깅을 수행하는 라이브러리를 만들었습니다.
정상적인 종속성에 대해서는 단지 dependencies
으로 추가합니다. 그러나 aurelia-logging
에는 모든 로거의 logLevel을 설정할 수있는 setLevel()
함수를 노출하도록 일부 전역 상태 (즉, 생성 된 모든 로거 저장)가 포함되어 있습니다.
이 전역 상태로 인해 최종 응용 프로그램은 작동하기 위해 aurelia-logging
의 단일 버전을 사용해야합니다. 그렇지 않은 경우 일부 모듈에서 aurelia-logging
의 다른 버전 (따라서 다른 인스턴스)을 사용할 수 있으며 setLevel()
함수가 올바르게 작동하지 않습니다.
라이브러리 작성자는 aurelia-logging
을 dependencies
과 peerDependencies
으로 나열하고 있습니다.
내가 원했던 일을하겠습니까?
일반적인 상태는 일반적으로 좋지 않지만이 경우에는 다른 방법이없는 것처럼 보입니다.
내 생각 엔'yarn'에서'flat' 모드를 지원해야합니다. 그 맞습니까? – unional