본문으로 건너뛰기

2023.07.30

· 약 4분

0. 근황

  1. 와인앱
  • 와인앱은 지금 거의 중단상태다. 다른 우선순위 높은 것들이 너무 많이 나오고 있기 때문이다. 하지만 끝까지 만들기는 할꺼다! 무조껀!
  1. 와인 자격증
  • 와인 자격증은 8월 26일(토)에 신청했다. 같이 공부하는 사람들이 테이스팅을 너무 잘해서 주눅들기는 한데 Level 2 시험은 이론 공부라.. 나는 이론공부 열심히 해서 자격증은 가장 높은 등급으로 따고 싶다.
  • 테이스팅 자신감 붙으면 Level 3도 도전 해봐야지 💪

1. vite bundle analyze ci 만들기

rollup-plugin-analyzer 플러그인이 있는데 진짜 유용하다. 실수로 import 한 패키지가 있는지 확인도 유용하고 (dev 환경에만 들어가야 하는데 production에 포함되는지 확인도 가능) lodash 같이 tree-shacking 안되는 라이블러리가 포함되었는지도 확인이 가능하다.

하지만 vite-plugin-legacy과 같이 사용했을 때 vite-plugin-legacy 이후에 플러그인을 넣었을 때 작동하지 않는 문제가 있다. 파보지는 않았는데 legacy bundling된 이후에 if 문으로 다 건너 뛰어 버리는 것 같다. 그래서 vite-plugin-analyzer 이후에 vite-plugin-legacy가 돌도록 선언해줘야 한다.

return {
plugins: [
analyze({
limit: 10,
skipFormatted: false,
summaryOnly: true,
writeTo: (analyzeString) => {
fs.writeFileSync('bundle-analyze.txt', analyzeString);
},
}),
legacy(),
]
}

나는 결과를 pr comment로 받아보고 싶기 때문에 번들링 결과를 파일에 저장하고, 이 파일을 읽어 pr-comment로 달아줘야 한다.

파일을 읽고 인코딩한 후 pr-comment actions의 도움을 받아 코멘트에 값을 추가하면 된다~!!

- name: Read analyze report
id: read-analyze-report
run: |
report=$(cat ./bundle-analyze.txt | sed '1,2d')
report_encoded=$(echo "${report//$'\n'/%0A}")
echo "::set-output name=report::$report_encoded"

- name: PR comment
uses: thollander/actions-comment-pull-request@v2
with:
message: |
<h2> :pencil: Bundle Analyze Report</h2>
<strong>새로운 패키지를 추가했다면 꼭 확인해보세요 🙄 </strong><br/>
번들사이즈가 큰 상위 10개 파일을 확인해볼 수 있어요.
<br/>
<br/>
<details><summary><strong>분석결과 보기</strong></summary>

${{ steps.read-analyze-report.outputs.report }}

</details>
reactions: eyes, rocket
comment_tag: execution
mode: upsert

tada~ 🎉

img

2. Git commit 내역에서 committer 변경하기

github 회사 계정과 개인 계정을 두개 관리하고 있어서 committer가 잘 못 올라간 적이 많았다. author는 바꾸기 쉬웠는데 committer는 바꾸기 어려웠는데 이번에 방법을 찾아서 기록한다.

git filter-branch --env-filter '
WRONG_EMAIL="변경전 이메일"
NEW_NAME="새로운 이름"
NEW_EMAIL="새로운 이메일"

if [ "$GIT_COMMITTER_EMAIL" = "$WRONG_EMAIL" ]
then
export GIT_COMMITTER_NAME="$NEW_NAME"
export GIT_COMMITTER_EMAIL="$NEW_EMAIL"
fi
if [ "$GIT_AUTHOR_EMAIL" = "$WRONG_EMAIL" ]
then
export GIT_AUTHOR_NAME="$NEW_NAME"
export GIT_AUTHOR_EMAIL="$NEW_EMAIL"
fi
' --tag-name-filter cat -- --branches --tags

참고: https://velog.io/@anjaekk/Git-push%ED%96%88%EB%8D%98-%EB%AA%A8%EB%93%A0-commit-author%EC%99%80-committer%EB%B3%80%EA%B2%BD