GruntJS로 묻는 것을 조작하는 grunt-sstp를 만들었다

10666 단어 묻다SSPgruntNode.js
요 전날 쓴 이 기사대로. Mac에서 움직이는 묻거나 환경을 만들면, 기세가 너무 Grunt 플러그인 만들어 버렸습니다.

grunt-sstp - https://www.npmjs.org/package/grunt-sstp

사쿠라 씨가 귀엽기 때문에 어쩔 수 없었습니다.



사용법


$ npm install grunt-sstp --save-dev

npm 명령으로 설치하십시오.
grunt.initConfig({
  sstp: {
    options: {}
  }
})

// Load task
grunt.loadNpmTasks('grunt-sstp');

// run sstp notify
grunt.task.run('sstp');

Gruntfile.js에 추가하기만 하면 됩니다.

사쿠라 스크립트를 직접 작성



일단, 스스로 사쿠라 스크립트를 쓸 수 없다면 재미있지 않기 때문에, 몇개의 접수를 만들었습니다.
사쿠라 스크립트용의 빌더는 누군가 만들어 준다고 믿고 있다.

options.success



태스크가 성공했을 때 실행하는 스크립트입니다.
  sstp: {
    options: {
      success: 'NOTIFY SSTP/1.1\n\
                Sender: grunt-sstp\n\
                Script: \\\\0\\\\s[5]タスクの実行に成功したよ\\\\1\\\\s[10]良かったな\\\\e\n\
                Option: nodescript,notranslate\n\
                Charset: UTF-8'
    }
  }



options.warning



태스크에서 경고가 발생했을 때 실행하는 스크립트입니다.
  sstp: {
    options: {
      warning: 'NOTIFY SSTP/1.1\n\
                Sender: grunt-sstp\n\
                Script: \\\\0\\\\s[5]警告を発生させたよ\\\\1\\\\s[10]問題ないな\\\\e\n\
                Option: nodescript,notranslate\n\
                Charset: UTF-8'
    }
  }



options.error



작업에서 오류가 발생했을 때 실행할 스크립트입니다.
  sstp: {
    options: {
      error: 'NOTIFY SSTP/1.1\n\
              Sender: grunt-sstp\n\
              Script: \\\\0\\\\s[5]エラーを発生させたよ\\\\1\\\\s[10]テストだから気にするな\\\\e\n\
              Option: nodescript,notranslate\n\
              Charset: UTF-8'
    }
  }



options.fatal



태스크가 Fatal Error가 발생했을 때 실행하는 스크립트입니다.
  sstp: {
    options: {
      fatal: 'NOTIFY SSTP/1.1\n\
              Sender: grunt-sstp\n\
              Script: \\\\0\\\\s[5]致命的なエラーを発生させたよ\\\\1\\\\s[10]テストとはいえビックリするな\\\\e\n\
              Option: nodescript,notranslate\n\
              Charset: UTF-8'
    }
  }



options.command



경고, 오류, Fatal Error가 정의되지 않은 경우 실행되는 스크립트 정의입니다.
  sstp: {
    options: {
      command: 'NOTIFY SSTP/1.1\n\
                Sender: grunt-sstp\n\
                Script: \\\\h\\\\s[0]タスクの実行をしたよ\\\\w9\\\\u\\\\s[11]失敗してるぞ\\\\w9\\\\w9\\\\h\\\\s[4]\\\\n\\\\nええー\\\\e\n\
                Option: nodescript,notranslate\n\
                Charset: UTF-8',
    }
  }



SSTP+사쿠라 스크립트의 사양



자신이 구현에 있어서 참고로 한 페이지입니다.

Sakura Script Transfer Protocol과 통신하는 데 필요한 사양
h tp // 우사다. 사쿠라. vg / 콘텐츠 ts / stp. HTML

사쿠라 스크립트를 작성하는 데 필요한 사양
h tp // 우사다. 사쿠라. vg/안녕 ts/북마크. HTML

표정 변경에 필요한 사양
h tp // 우사다. 사쿠라. vg / 혼텐 ts / ㅇ l. HTML

수수하게 링크가 죽어 있기 때문에, 꽤 필요한 정보를 잡기 어렵습니다.
그렇지만, 표정을 바꾸어 내면 즐거움 배증입니다. 최선을 다하고 정보를 잡으십시오.

만든 소감



이번은 처음의 NodeJS & Grunt 플러그인 만들기였기 때문에 고생할까라고 생각했지만 이외에 담백하게 만들 수 있었습니다.
소켓 통신+Grunt의 훅같은 일을 해, 대체로 하루 걸리지 않을 정도였습니다.
$ npm install -g generator-gruntplugin
$ yo gruntplugin

이번은 yeoman 씨의 제너레이터로부터 편지지를 작성했습니다.
최초의 구성에 헤매면 yeoman씨의 차례군요.

최초의 구성이 생겼으면, 나머지는 기능에 맞추어 코딩해, npm publish 하고 올리면 좋았습니다.
구현에서 어려웠던 것은 Grunt의 훅 주위였습니다만, grunt-notify 리스펙트입니다. 선인이 있는 분야는 살아납니다.
편리한 레벨에서 사용했던 자신이 grunt-notify 안의 구현을 완벽하게 이해할 수 있게 된 레벨에서 리스펙트입니다. 감사합니다.

그리고, 테스트를 grunt.util.spwan 로 태스크를 호출해, 그 결과와 통신 내용의 확인과, 대미인 테스트로 했으므로 커버리지를 취득할 수 없다고 하는 사태에. . .
소켓 통신이나 Grunt의 처리를 훅할 때의 테스트의 작성 방법을 전혀 모릅니다.
이 근처, 좋은 쓰는 방법이 있으면, 꼭 가르쳐 주세요.

그런 다음 처음에는 nodeunit에서 테스트를 작성했지만 중간에 mochachai로 전환했습니다.
nodeunit이 좋지 않기보다, mocha와 chai는 테스트를 깨끗이 써서 굉장히 즐겁습니다.

어쩌면 마음이 가면 다시 묻거나 관계의 장난감 만들 것입니다.
다음은 무엇을 만들면 재미있을까.

좋은 웹페이지 즐겨찾기