npmモジュールを作るときの自分の手順をまとめました。
プロトタイプをコーディング済みで、コンセプトが固まっている前提です。
モジュール名を決める
READMEを書く
- モジュール名のディレクトリをつくる
- エディタ*1でREADMEを書く。 内容は、
- commit
git init git add README.md git commit -m 'First commit.'
githubにpush
- githubでモジュール名のプロジェクトを作る。READMEやgitignoreは作りません
git remote addgit push origin mastergithub上の見た目を確認します
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を使います
fixpackcommit前にやった方がdiffが汚れないgit commit
git add package.json git commit -m 'Add package.json.'
テストの枠組を用意する
npm install --save-dev mocha.gitignoreをつくる。node_modules echo node_modules/ > .gitignorenpm 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