ぬぬん!

やってみたこと,思ったこと

hp-managerというプラグイン作った時の手順まとめ

作ったもの

www.npmjs.com
以前の記事で書いたコレ↓の中枢部分だけ抜いたもの。

gomayumax.hatenablog.com

hubotでしか動作確認してないのでhubotでのご使用をおすすめします^q^
機能詳細はnpmの方を読んでください。

制作過程

なにせ、node moduleを作るのは初めてだったもので
今後もできるようにメモ的に残しておく

今回はローカルのhubotで動作確認をしたかった。
よって、hubotとは別の作業ディレクトリで変更した内容を
即座にhubotに反映してテストしたかった。

そんなやり方のメモ

ローカルでnode module開発できるようにする

<plugin名>.gitのディレクトリを作る

作成するモジュールを置く場所(開発する場所)を作ります。

ここから策1,2に分岐

策1

呼び出し元のpackage.jsonを編集

  "dependencies": {
    "hubot-hitpoint": "file://<開発プラグインまでの絶対パス>/<plugin名>.git"
   }

そして、インストール
npm installしてnode_module/に入っていることを確認

策2

npm linkを使う。
下記サイトがわかりやすくて泣いた。

npm linkが意外と便利だった | TEJI TECH BLOG

簡単に言うとnode_module/の下に作業ディレクトリのエイリアスを置くことで
変更を即時反映したって話。

その他学んだこと

  • インターフェイスを意識して作りましょう(熱い教えを頂いた
  • ユーザを超意識する
  • package.jsonに書くモジュール名とディレクトリ名は同じじゃないとダメ
  • npm publishするときはpackage.jsonのバージョンを変更してから
  • return { hoge: hensu}ってやった時hensuは展開されない(だから前もって返すオブジェクトを作る)
  • モジュールとして読み込めるようにするには最後にコレを書く→module.exports = hpManager;
  • 英語でモジュールの説明しんどい

本当にメモになってしまった。
またモジュールについてはhubotの機能紹介ついでに書きたいなー