Better Array[String] sort comparator in JavaScript

알파벳과 한글이 섞인 문자열 리스트를 소팅하는데 가끔씩 이상하게 안되는 때가 있다. 아마 문자열끼리 비교하는 그 비교연산함수의 잘못인 것 같은데, 나는 이런 경우에 다음과 같은 comparator를 사용한다. 다른 글자가 나올 때 까지 비교하다가, 전부 같으면 length 비교로 끝내버린다. 처음에는 Array.prototype.sort의 문제라 짐작하여 외부 소팅 라이브러리를 했었는데, 특정 상황에서 소팅을 거부하는 element들이 꼭 생겼다. 현재 위의 comparator로 교체한 […]

ReferenceError: babelHelpers is not defined

babel-loader에서 왜 resolve가 안되는지 감도 안 잡히는 문제였다. 아마, 보일러플레이트의 업데이트가 늦어지면서 webpack과 babel 사이에서 버전 충돌이 나버린 것 같다. 충돌이 나는 것은 나는 것이고, 일단 돌아가지 않는 내 코드는 어떻게 고쳐야할까. 일단 내가 시도한 방법들을 보자. (즉, 바쁘다면 제일 마지막 문단을 보는 것이 좋다) 쓰려고 시도한 bootstrap-vue라는 라이브러리에서 babelHelpers에 대한 레퍼런스가 없다며 실행되기를 거부했는데, […]

Webkit ES6 Bug (declare var twice)

내가 발견한 버그는 아니다. JS가 Minify 된 후 다음의 에러와 함께 Cannot declare a let variable twice: ‘e’. 정상적으로 작동되지 않는 경우를 발견했다. 이 버그에 영향 받는 것은 safari 10 버전이라고 한다. 밑으로는 얼마나 영향 받는지 모르겠지만, Sierra와 iOS10의 사파리는 이 버그를 가지는 것으로 확인했다. let e = e => { console.log(e); for (let e of […]

ESLint – Configuration for rule “indent” is invalid

보일러플레이트에서 쓰는 라이브러리 버전이 조금 낡은 것 같아서 npm-check를 이용해서 eslint와 airbnb preset을 업데이트 했는데, 그 이후로 eslint가 터지기 시작했다. 여기저기 찾다보니 최근에 생긴 문제는 아닌 것 같았는데, 질답 문서들이 꽤 옛날까지 거슬러 올라갔기 때문. 그래서 이것 저것 다 해보다가, rm -rf node_modules && npm install을 하니 깔끔하게 돌아간다. 역시 기계가 말을 안들을때는 배터리를 뺐다 […]