npmモジュールを作るときの自分の手順をまとめました。
プロトタイプをコーディング済みで、コンセプトが固まっている前提です。
モジュール名を決める
READMEを書く
- モジュール名のディレクトリをつくる
- エディタ*1でREADMEを書く。 内容は、
- commit
git init git add README.md git commit -m 'First commit.'
githubにpush
- githubでモジュール名のプロジェクトを作る。READMEやgitignoreは作りません
git remote add
git push origin master
github上の見た目を確認します
package.jsonをつくる
npm init
内容は、- name: そのまま
- version: 0.0.1
- description: READMEで決めたもの
- entry point: そのまま
- test command: そのまま
- git repository: そのまま
- keyword: descriptionの単語から適当に選んで羅列
- author: ledsun*3
- license: MIT
- ライセンスを修正。細かすぎて伝わらない package.json 小ネタ三選 - t-wadaのブログを参考にして、mit-license.orgを使います
fixpack
commit前にやった方がdiffが汚れないgit commit
git add package.json git commit -m 'Add package.json.'
テストの枠組を用意する
npm install --save-dev mocha
.gitignore
をつくる。node_modules echo node_modules/ > .gitignore
npm run test
にmocha
を書く。6to5使うならmocha --compilers js:6to5/register
にしますnpm test
してみるtest.js
を書くrequire('./')
(ES6ならimport)だけ書くindex.js
を書く。空ファイルですgit commit
git add index.js test.js .gitignore package.json git commit -m 'Add package.json.'
開発する
普通にTDDします。
- ソースファイルが複数になったら
src
ディレクトリを作ります - テストファイルが複数になったら
test
ディレクトリを作ります - ライブラリをES6で書いて公開する所から始めよう | Web Scratchを参考にして6to5を使うなら、
npm run build
を書いたり、index.js
を.gitignore
に追加したりします - twada/power-assert · GitHubを使うなら、
npm install --save-dev espower-loader power-assert
して、
require('espower-loader')({ cwd: process.cwd(), pattern: 'test.js' });
なenable-power-assert.js
を作って、npm test
をmocha --require enable-power-assert.js
に書き換えます
最初はpower-assertを使わないで書いています。 実装が難しくて、テストの失敗を繰り返す場合には、power-assertを追加します。
公開する
npmのアカウントを作ります。
- package.jsonの
files
にindex.js
を書く npm publish