퍼블리쉬없이 npm 패키지 테스트하기

terminal
1
2
3
4
5
# pwd: npm package
npm link

# pwd: other project
npm link -S {packagename}

상황

  • 패키지를 업데이트하고 퍼블리쉬한다
  • 해당 패키지를 사용하는 프로젝트에서 install 한다
  • 테스트한다
  • 퍼블리쉬를 해야지 확인할 수 있는 불편함이 있다. 테스트용 퍼블리쉬를 할 때마다 버전이 계속 증가한다

해결

  • npm link 명령을 통해 퍼블리쉬 없이 테스트해볼 수 있다
  • 글로벌 모듈이 설치되는 위치에 심볼릭 링크가 추가된다
  • npm link -S {packagename}명령으로 로컬의 패키지를 설치한다

  • npm r -g {packagename} 테스트를 다 끝내서 필요 없어졌다면 심볼릭 링크를 삭제

참고

npm repo command

  • npm repo 명령으로 연결된 원격 레포 페이지를 브라우저로 바로 열어볼 수 있다
  • 꿀기능이다

조건

package.json
1
2
3
4
5
6
7
{
// ...
"repository": {
"type": "git",
"url": "https://github.com/chinsun9/chinsun9.github.io.git"
}
}
  • package.json에 repository 필드가 존재해야 한다
  • npm init -y명령을 사용하면 알아서 git config를 읽어서 해당 필드들을 채워준다

npm bug

npm bug, npm bugs, npm issue

  • issue 페이지를 바로 열어볼 수 있다!
  • repo와 마찬가지로 bugs 필드가 존재해야 한다

참고

npm scripts pre post

package.json
1
2
3
4
5
6
7
8
9
{
// ...
"scripts": {
"prebuild": "echo 1",
"build": "echo 2",
"postbuild": "echo 3"
// ...
}
}
  • yarn build or npm run build 했을 때 1,2,3 순서로 실행된다
  • pre는 전처리, post는 후처리라고 생각하면 된다

참고

npm 패키지 고르는 법

여러 비슷한 패키지들이 있는데 어떤 것을 고를지 고민될때가 있다
또 내가 알고 있는 패키지를 대체할 좋은 패키지가 있는지 찾아볼 때도 있다
이럴때 유용한 npm trends 가 있다

  • npm trends를 통해 패키지들을 비교해볼 수 있다
  • 패키지를 검색하면 연관된 패키지들이 추천되고 서로 비교해볼 수 있다

참고

npm 패키지 unpublish

1
npm unpublish {패키지명} -f
  • 내 패지키 디렉터리로 가서 위 명령을 실행
  • 처음에 브라우저로 npm에 접속한다음에 패키지 > 세팅 에 딜리트가 있는줄 알았는데,
  • cli로 지워야 했다

주의사항

  • unpublish하면 24시간 동안 동일한 이름의 패키지를 publish 할 수 없다

삭제 조건

  • 72 시간 이내에 게시된 패키지
  • 새로 생성 된 패키지의 경우 npm Public Registry의 다른 패키지가 패키지에 종속되지 않는 한 게시 후 처음 72 시간 이내에 언제든지 게시를 취소할 수 있습니다
  • 72 시간 이상 전에 게시된 패키지
    • 다른 패키지의 종속성이 아니어야 한다
    • 지난주에 다운로드 횟수가 300 회 미만
    • 단일 소유자

참고