dprint 아주 좋아.

dprint란?



dprint 은 Rust 로 구현되어 고속으로 동작하는 코드 포매터입니다.
일단, 판매를 공식 페이지에서 복사하면 다음과 같습니다.
  • 형식은 매우 빠릅니다.
  • 플러그인은 URL 또는 파일 경로에서 가져올 수 있는 WebAssembly 파일입니다.
  • 공식 플러그인은 고급 설정이 가능하며, 기호에 맞게 코드를 자동 포맷 할 수 있습니다.
  • URL에서 구성을 가져와서 재사용하고 공유할 수 있습니다.

  • 실제로 움직여 보면, "흠"과 동작하는 느낌입니다. 이 동작의 가벼움은 Deno의 내장형 포맷터와 린터의 가벼움에 통하는 곳이 있습니다. ( deno fmt 내부에서 dprint가 움직이고 있기 때문에 당연합니다.)
    VS Code의 확장 기능에도 대응하고 있으므로, Deno User는 꼭 시험해 보세요! !

    설치



    공식 설치 페이지 의 거리입니다. 리눅스라면 다음과 같습니다.
    curl -fsSL https://dprint.dev/install.sh | sh
    

    명령 실행 후 설치 프로그램의 지시대로 PATH를 통과하면 완료됩니다.

    실행!



    CLI로 실행하려면 먼저 구성 파일을 만듭니다.
    $ dprint init
    What kind of project will dprint be formatting?
    
    More information: https://dprint.dev/sponsor
    
    > commercialEvaluation Dprint is formatting a project whose primary maintainer is a for-profit
                           company or individual and it is being evaluated for 30 days.
      commercialSponsored  Dprint is formatting a project whose primary maintainer is a for-profit
                           company or individual AND the primary maintainer sponsored the project.
                           Thank you for being part of moving this project forward!
      openSource           Dprint is formatting an open source project whose primary
                           maintainer is not a for-profit company (no sponsorship requirement).
      educational          Dprint is formatting a project run by a student or being used for
                           educational purposes (no sponsorship requirement).
      nonProfit            Dprint is formatting a project whose primary maintainer is a non-profit
                           organization (no sponsorship requirement).
    Select plugins (use the spacebar to select/deselect and then press enter when finished):
    > [x] dprint-plugin-typescript
      [x] dprint-plugin-json
      [x] dprint-plugin-markdown
      [x] dprint-plugin-rustfmt
    

    플러그인을 선택할 수 있다고 말하기 때문에, 대상으로 하고 싶은 것을 선택합니다.

    포맷 체크만 해도, 파일을 재기록하고 싶지 않은 경우는
    $ dprint check
    

    포맷하고 싶다면,
    $ dprint fmt
    

    OK! (잡)

    마지막으로 배경이라든지 본론이라고 할까 암캐



    단지 나는 assertNotMatch() 의 Usage 가 문서에 쓰지 않았기 때문에, 수정해 pull request 를 냈을 뿐이었다. 그렇게 하면, Deno의 github action의 CI가 fail해 버렸다.

    아무래도 python 에서 formatter 를 호출하면 차이가 나 버려, 「어이, 제대로 포맷 해라!」라고 하는 것 같습니다. Deno 를 공부할 때는 언제나 deno fmt 이나 deno lint 의 신세를 지고 있습니다만, 마크다운으로 화내는 것은. python 코드를 바라 보면 아무래도 md 파일에 대해서는 dprint 아니, 모르겠어....

    (2020/09/18 추가)
    마크다운에서도 deno fmt 사용하라는 issue 가 있었습니다.

    덧붙여서 본 기사 투고시에 dprint 에 대해서 쓰고 있는 일본어 기사는 「 ESLint에서 dprint 사용 」정도밖에 찾아볼 수 없었습니다 (그리고, 저희는 지극한 기사).

    향후, dprint 라고 하는 캐릭터 라인을 보고, 「무엇 이것?」이라고 생각하는 사람이 조금이라도 줄이면 하고 생각해, 이 기사를 씁니다.

    좋은 웹페이지 즐겨찾기