github에서 CoffeeScript 결정

1527 단어 GitHubCoffeeScript
요 전날, CoffeeScript로 잔잔한 물건을 만들고, github에 hosting 해보고 놀랐다.

컴파일 후의 JavaScript를 리포지토리내에 포함하고 있어도, CoffeeScript만으로 구성된 리포지토리의 취급이 되어 있었던 것이다



이유로서 2가지의 해석이 생각된다.
  • CoffeeScript에서 생성 된 JavaScript는 CoffeeScript로 취급됩니다
  • CoffeeScript에서 생성 된 JavaScript는 판정에서 제외됩니다

  • 어느 쪽이 맞는지 신경이 쓰여 조사해 보았다.

    결론



    github 언어의 detection에는 linguist라는 라이브러리가 이용되고 있으며, github 위쪽 언어의 비율에도 이것으로 추정된 데이터가 사용되고 있는 모습.

    github/linguist

    그래서, CoffeeScript 관련의 기술을 조사해 보았을 때, CoffeeScript 인가 어떤가를 판정하는 메소드, compiled_coffeescript? 를 발견

    linguist/lib/linguist/generated.rb at 4741a47d213f27cae3ee8825dc78e3fe02d3d08e · github/linguist

    소스를 읽는 한
  • js 확장자를 가진 파일 중 소스 1 행의 주석에 "Generated by"라는 문자열이 포함되어 있으면 CoffeeScript
  • 포함되지 않았더라도 전체가 (function() {}).call(this); 에 둘러싸여 있고 _fn , _len 등 자동 생성 같은 문자열이 일정 개수 포함되어 있으면 CoffeeScript

    라고, 의외로 적당한 느낌으로 판정되고 있었습니다. 재미있다.

    요약



    조사해도 일본어의 정보가 없었기 때문에 써 보았습니다. coffee break의 화제에 안성맞춤일까요?
  • 좋은 웹페이지 즐겨찾기