개인 패키지, 공개 패키지의 변경된 포크 또는 공개 패키지의 다운 스트림으로 구성된 더 큰 NPM 패키지 라이브러리를 테스트하고 있습니다. 추가 NPM 패키지를 사용하지 않고 package.json에 쉘 스크립트에 특정 이름의 스크립트가 있는지 확인하십시오.
lib
|-package_1
|-package_2
|-package_N
그래서 나는 각 디렉토리
npm test
명령에서 실행 내 패키지 lib 디렉토리를 통해 쉘 스크립트를 실행하고 있습니다.
for D in *; do
if [ -d "${D}" ]; then
echo "================================="
echo "${D}" # PRINT DIRECTORY NAME
echo "================================="
cd $D
npm run tests
cd ../ # LEAVE PACKAGE DIR
fi
done
불행히도 패키지의 JSON 파일에 tests-script의 이름을 지정하는 독특한 패턴이 없습니다. 일부 패키지는 test
시계 모드의 스크립트로 실행되며 cli 스크립트 (주로 이름은 testcli
)와 다릅니다. 만 두 가지 옵션이 존재하는지,
if has-testcli-script then
npm run testcli
else
npm run test
내가 지금 가정 : 내가하고 싶은 무엇
는 다음 의사 코드 같은 것입니다. 필자는 추가 글로벌 NPM 패키지를 설치하지 않고 스크립트가 있는지 여부를 파악하는 방법에 관심이 있습니다.