My First Github Contribution

Screenshot from 2018-05-07 02-29-32.png

최근에 PR 보내서 merge된 것이 있었다. 코드를 짠 것은 하나도 없었고 README.md 만을 수정한 PR이라서 더 간단히 승인받은 느낌. 간단히 설명하면, babel-plugin-import의 기능을 ts-loader에서 구현한 ts-import-plugin이라는 녀석이 있다. 그 기능이라 함은, lodash로 대표되는 대형 라이브러리를 수동으로 쪼개서 import할 때 import isNil from 'lodash.nil';로 귀찮게 작성하느니, 그것까지 babel-transpiler에서 preprocessing을 해주겠다는 것.

하지만 TypeScript는 babel을 안쓰잖아? 그래서 TS쪽에서는 ts-import-plugin이라는 것이 있었다~ 이말이야! antd-mobile 이라는 녀석을 쓰려고 ts-import-plugin 레포의 README.md 파일을 보고 따라했는데 제대로 돌아가지 않았던 것! 그래서 ts-import-plugin 파일을 뜯어보니 styleExt 옵션을 받아서 적용하는 부분이 사실 없어도 될 것 같다고 판단했다. 코드를 보니 antd-mobile에서 react-native와 web을 동시에 지원하면서 file naming convention이 바뀌었더라고.


원래라면 관련된 이슈에 나도 비슷한 문제가 있었다며 댓글을 하나 작성한다. 그리고 내 나름의 방법을 찾은 경우에 이 코드 쓰면 되던데? 하면서 이슈에다가 해결법을 올리고, 나와 비슷한 문제를 겪고 있다면 참고하라구~ 하고 사라지는 정도로만 Github을 사용했었다.

문제를 근원적으로 고치는 것이 아니라 Workaround만 제시하는 경우가 많았기 때문이기도 하고, PR을 날릴 때 이런 저런 테스트를 다 돌려서 날리는 것도 힘들고. 특히,  CSS 관련 PR을 날릴라손 하면 IE 테스트하기가 너무 끔찍하게 싫었다.

그러다가 문득, 해결책까지 다 찾아놓고 Github Contribution을 쌓을 마지막 발걸음이 귀찮다고 기회를 계속 날리고 있는 것 같다는 생각이 불현듯 찾아왔다. 그래서 이번에는 그 마지막 발걸음이 엄청 쉬운 케이스였기도 했고, 이제부터 조금씩 PR을 날릴 짬(?)이 되지 않았나 하는 자신감도 생겼기에 앞으로도 종종 날려보기로 했다. 여담으로 저 브루클린 아저씨는 angular.js (Angular1) 때부터 봤던 아저씨인데 여기서 만나게 돼서 좀 반가웠음. (티는 안냈지만ㅎ)

Leave a Reply