NPM 패키지를 최신 상태로 유지하는 방법을 생각합니다.
저는 의식이 낮기 때문에 약 1년 정도 방치했습니다. .
방치하면 차이가 큰 버전 업의 위험이 증가하거나
패키지 보안 위험이 발견되면 즉시 해결할 수 없게 될 수 있으므로,
정기적으로 업데이트하는 것이 좋습니다.
이번에는 다음 두 가지를 소개합니다.
yarn upgrade-interactive
로 버전 업 NPM 패키지를 통지/갱신하는 서비스는 이미 있습니다만, 통지하는 것만으로 간단하게 구현할 수 있으므로 만들어 보겠습니다
버전 업이 이루어진 패키지를 정기적으로 통지하는 메커니즘을 작성
준비
Slack과 CircleCI를 함께 사용하여 HookURL 게시
htps : // my. scck. 코 m/아 ps
여기에서 CircleCI 검색 및 추가
HookURL을 복사하십시오.
https://hooks.slack.com/services/...
HookURL을 CircleCI 환경 변수에 등록하십시오.
SETTINGS -> Projects -> 대상 GitHub 리포지토리 선택 -> 설정 아이콘 클릭 -> Environment Variables -> Add Variable
이번에는 SLACK_WEBHOOK_URL이라는 변수 이름으로 등록
CircleCI 리노베이션
수정 부분만 발췌합니다
.circleci/config.yml
version: 2
jobs:
outdated:
<<: *setup-docker
steps:
- checkout
- restore_cache:
name: Download and cache dependencies
keys:
- v1-dependencies-{{ checksum "package.json" }}
- v1-dependencies-
- run:
name: Install
command: yarn install
- run:
name: Outdated
command: |
PAYLOAD=`cat << EOF
{
"attachments": [
{
"pretext": "outdated",
"text": '$(yarn outdated --json | $(yarn bin)/format-yarn-outdated)',
"mrkdwn_in": ["text"]
}
]
}
EOF`
curl -X POST -d "payload=$PAYLOAD" $SLACK_WEBHOOK_URL
...
workflows:
version: 2
nightly:
triggers:
- schedule:
cron: '00 0 * * *'
filters:
branches:
only:
- master
jobs:
- outdated
흐름
(시간은 UTC이므로 위의 예라면 오전 9시에 실행된다)
$(yarn outdated --json | $(yarn bin)/format-yarn-outdated)
가하고있는 일은yarn outdated
를 Slack에서 쉽게 볼 수 있도록 다음 패키지를 사용하여 처리합니다.htps //w w. 음 pmjs. 코 m / Pac 카게 / 야 r-o-t t-d fur r
보충
결과
도착했다!
그렇지만 Slack 로 Markdown 볼 수 있게 했지만, 테이블은 대응하고 있지 않네. .
하지만
yarn outdated
의 결과를 정기적으로 통지 할 수 있게 되었으므로, 우선은 오케이입니다1일 1회의 통지라고 많기 때문에, 주 1회라든지라도 좋을까 생각한다 (
cron: '00 0 * * 1'
)yarn upgrade-interactive를 사용한 버전 업그레이드
패키지의 갱신을 정기적으로 통지해 왔으므로, 이번은 실제로 버전 업하는 작업입니다
지금까지 패키지의 최신 버전을 확인하고
yarn upgrade [email protected]
yarn upgrade-interactive
를 사용하면, 이것들을 정리해 할 수 있습니다 (게다가 복수 패키지를 정리해)시도하려면 package.json이있는 루트 디렉토리에서
yarn upgrade-interactive
를 실행해보십시오.그러면 다음과 같은 화면이됩니다.
버전 업하고 싶은 패키지를 Space 키로 선택
전체 선택은 a 키
실행은 Enter 키
옵션없이
upgrade-interactive
를 실행하면 package.json 범위 내에서만 버전 업그레이드가 발생합니다.그래서 yarn.lock 만 업데이트하십시오.
최신 레지스트리를보고 버전 업그레이드를 원하면
--latest
옵션을 사용하여 실행하십시오.yarn upgrade-interactive --latest
메이저 버전 업 된 패키지도 나오게 되었을까 생각합니다
그건 그렇고,
--latest
옵션을 사용하여 패키지를 업데이트 한 경우 yarn.lock과 package.json을 모두 업데이트하십시오.
Reference
이 문제에 관하여(NPM 패키지를 최신 상태로 유지하는 방법을 생각합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kurosame/items/469173c43e49ddefebbe텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)