Skip to content

Instantly share code, notes, and snippets.

@makotot
Created January 21, 2013 13:33
Show Gist options
  • Save makotot/4586073 to your computer and use it in GitHub Desktop.
Save makotot/4586073 to your computer and use it in GitHub Desktop.
Creating plugins · gruntjs/grunt Wiki

Creating plugins

  1. npm install -g grunt-initgrunt-initをインストール。
  2. 空のディレクトリでgrunt-init gruntpluginを実行する。
  3. 開発環境用意のためnpm installを実行する。
  4. プラグインを作成する
  5. npmに公開するためにnpm publishを実行する。

Notes

Naming your task

"grunt-contrib"の名前空間はgruntの開発チームで使用しているので、その意図に沿った適切な名前をプラグインに付けるように。

Debugging

gruntは標準ではエラーの出力を表示しないが、--stackをオプションに指定することでデバッグを容易にする。常にエラーを出力するようにしたい場合は、shellでエイリアスをつくる。bashなら、alias grunt='grunt --stack'

Storing task files

プラグインのファイルはプロジェクトルートの.grunt/[npm-module-name]/に配置し、作り終えたら整理する。This is not a solution for temporary scratch files, use one of the common npm modules (eg temporary, tmp) that take advantage of the OS level temporary directories for that case.

Avoid Changing the Current Working Directory: process.cwd()

デフォルトではgruntfileが置かれたディレクトリがワーキングディレクトリになる。gruntfileでgrunt.file.setBase()を用いてワーキングディレクトリを変更できるが、プラグインでは変更しないように注意。

gruntfileでの相対パス"foo"は、path.resolve('foo')で絶対パスを取得できるようになっている。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment