From 8a5cf9b4944989a2dad60a1b5ef2ee0ab98103ea Mon Sep 17 00:00:00 2001 From: Jisoo Youn Date: Tue, 23 Nov 2021 20:44:00 +0900 Subject: [PATCH] =?UTF-8?q?Update=20=EB=A6=B4=EB=A6=AC=EC=A6=88=EB=85=B8?= =?UTF-8?q?=ED=8A=B8=5F=EC=83=9D=EC=84=B1=EC=9D=84=5F=EC=9E=90=EB=8F=99?= =?UTF-8?q?=ED=99=94=ED=95=98=EA=B8=B0.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...231\355\231\224\355\225\230\352\270\260.md" | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git "a/\352\260\234\353\260\234\355\231\230\352\262\275/\353\246\264\353\246\254\354\246\210\353\205\270\355\212\270_\354\203\235\354\204\261\354\235\204_\354\236\220\353\217\231\355\231\224\355\225\230\352\270\260.md" "b/\352\260\234\353\260\234\355\231\230\352\262\275/\353\246\264\353\246\254\354\246\210\353\205\270\355\212\270_\354\203\235\354\204\261\354\235\204_\354\236\220\353\217\231\355\231\224\355\225\230\352\270\260.md" index 102c815..7b45107 100644 --- "a/\352\260\234\353\260\234\355\231\230\352\262\275/\353\246\264\353\246\254\354\246\210\353\205\270\355\212\270_\354\203\235\354\204\261\354\235\204_\354\236\220\353\217\231\355\231\224\355\225\230\352\270\260.md" +++ "b/\352\260\234\353\260\234\355\231\230\352\262\275/\353\246\264\353\246\254\354\246\210\353\205\270\355\212\270_\354\203\235\354\204\261\354\235\204_\354\236\220\353\217\231\355\231\224\355\225\230\352\270\260.md" @@ -37,6 +37,24 @@ config 옵션으로 받은 enterprise github api endpoint가 있다면 `Configur 스크린샷 2021-11-22 오후 10 54 59 +`Configuration` 에선 `package.json` 이나 `lerna.json` 에 `gitHostingServerURL` 옵션이 존재하는지 확인한다. + +이 정보를 `GitHostingAPIFactory` 에게 전달하면 `gitHostingServerURL` 가 있다면 `GithubEnterpriseAPI`의 인스턴스를, 아니라면 `GithubAPI` 인스턴스를 반환한다. + +생성한 `GitHostingAPI` 인스턴스는 `Configuration`의 `gitHostingAPI` 프로퍼티에 담아 `Changelog`에 전달되게 된다. + +기존의 각 객체들이 자신의 책임에 맞도록 응집력있게 구현되어 있어 수정하기가 수월했다. + +또 한가지 인상깊었던건 Typescript 였다. 스터디만 해봤을뿐 실제로 코드를 작성해본적이 없었는데도 불구하고 생각보다 쉽게 써내려져갔다. + +뿐만 아니라 코드를 읽는데도 많은 도움이 되었다. 생각보다 코드를 파악하는데 많은 영향을 주더라. 컴파일타임에 타입체크가 되니 생각치못한 사이드이펙트도 빠르게 확인할 수 있고.. + +Typescript와 든든한 테스트코드들이 있어 자신있게 코드를 수정할 수 있었다. 좋은 경험이었다. + +수정한 코드는 https://github.com/genie-youn/lerna-changelog 에서 확인할 수 있다. + +lerna-changelog의 저장소로도 PR은 올려둔 상태이나, 받아들여질지는 조금 지켜봐야할 것 같다. 하자는 없는것 같은데.. + #### 분석 bin/cli.js 로 제공됨.