人種差別は許されない

Grunt ブログ

Grunt 1.4.0 リリース

Grunt チームは、Grunt 1.4.0 のリリースをアナウンスいたします。

このリリースは @vladikoff と、以下の貢献者の皆様のおかげで実現しました。

その他多数


ここが変更点です。

npmGitHub で Grunt を見つけることができます。

Grunt 1.2.0 リリース

Grunt チームは、Grunt 1.2.0 のリリースをアナウンスいたします。

このリリースは @vladikoff と、以下の貢献者の皆様のおかげで実現しました。

その他多数


ここが変更点です。

  • これらのプラグインに対する開発依存関係があるパッケージ内の node_modules ではなく、Node.js と NPM からアクセス可能な任意の場所に位置する Grunt プラグインの使用を許可する。(PR: https://github.com/gruntjs/grunt/pull/1677)
  • 依存関係から coffeescript を削除。移行を容易にするため、coffescript がまだ残っている場合、Grunt はそれをロードしようとします。CoffeeScript ファイルをロードし、ユーザーが coffeescript package を開発依存関係としてインストールする必要があると示す有用なエラーを Grunt が出力する場合は、そうではありません。これは require を完全に削除するよりもかなりユーザーフレンドリーですが、ユーザーは grunt --require coffeescript/register を使用して最新の grunt-cli で実行することは可能です。(PR: https://github.com/gruntjs/grunt/pull/1675)
  • Grunt オプションキーを公開して使いやすくする。(PR: https://github.com/gruntjs/grunt/pull/1570)
  • 非常に長いコマンド名の無限ループを回避する。(PR: https://github.com/gruntjs/grunt/pull/1697)
  • 依存関係の更新も含まれています。

npmGitHub で Grunt を見つけることができます。

Grunt 1.1.0 リリース

Grunt チームは、Grunt 1.1.0 のリリースをアナウンスいたします。

このリリースは、@vladikoff@shama のおかげで実現しました。


ここが変更点です。

  • mkdirp ~1.0.3 にアップデート
  • Node >=8 のバージョンのみをサポート

npmGitHub で Grunt を見つけることができます。

Grunt CLI 1.3.0 リリース

Grunt チームは、Grunt CLI 1.3.0 のリリースをアナウンスいたします。

npm install grunt-cli -g

このリリースは、@shama@vladikoff@Arkni@phated、および Liftoff の貢献者 の皆様のおかげで実現しました。


このリリースは、Gruntfile を好みの言語で記述できるようになったという点で重要です。以前は、Gruntfile はデフォルトで JavaScript または CoffeeScript でのみ記述できました。

>= 1.3.0 を使用する場合、Gruntfile を TypeScript で記述するには、Gruntfile の名前を適切な拡張子(Gruntfile.ts)に変更し、適切なインタープリタ(npm install typescript)をインストールします。

grunt コマンドを実行すると、Gruntfile のインタープリタが適切に変更されます。

別の例として、Gruntfile を Babel を使用して記述するには、Gruntfile の名前を Gruntfile.babel.js に変更し、npm install babel を実行します。

デフォルトでは、Grunt CLI は interpret のおかげで、次のものを含む多数の一般的なファイル拡張子をインタープリタできます。

  • Gruntfile.babel.js -> npm install babel
  • Gruntfile.buble.js -> npm install buble
  • Gruntfile.coffee -> npm install coffeescript
  • Gruntfile.coffee.md -> npm install coffeescript
  • Gruntfile.csv -> npm install require-csv
  • Gruntfile.ini -> npm install require-ini
  • Gruntfile.json
  • Gruntfile.ls -> npm install livescript
  • Gruntfile.ts -> npm install typescript
  • Gruntfile.yaml -> npm install require-yaml

Grunt CLI が好みの言語をサポートしていない場合は、--require オプションを使用してサポートを追加できます。

grunt --require myscript/register

すると、Grunt はカスタムモジュールを必要として Gruntfile をインタープリタします。

Grunt CLI が Liftoff を使用して実行されるようになったため、これらすべてが可能になりました。

CoffeeScript

以前は、Gruntfile はデフォルトでは CoffeeScript で記述されていました。CoffeeScript のバージョンはロックされており、~1.10.0 に固定されます。

Gruntfile.coffee ファイルが自動的にインタープリタされることに依存することは、現在では非推奨になっています。

Gruntfile が CoffeeScript で記述されている場合は、さらに npm install coffeescript --save-dev を実行してください。これにより、好みのバージョンの CoffeeScript を使用することができ、Grunt でインストールされたバージョンにロックされなくなります。Grunt の次のメジャーバージョンリリースでは CoffeeScript 依存関係は削除され、Gruntfile を CoffeeScript で記述するには npm install coffeescript を追加で実行する必要があります。

Grunt 1.0.0 リリース

Grunt チームは、Grunt 1.0.0 のリリースを発表できることを嬉しく思います。

このリリースは @shama@vladikoff@jkaussieskater@dmethvin が実現しました。

また、@XhmikosR@AurelioDeRosa@Arkni@arithmetric@ascripcaru による貢献にも感謝します。

Grunt 1.0.0 では Node.js v0.8 がサポートされないことに注意してください。

このリリースをテストし、発生した 問題を報告 していただくようお願いいたします。

Grunt 1.0.0 には、次を使用して今日アップデートしてください。

npm install [email protected] --save-dev

RC1 ブログ記事 を読んで、バージョン 1.0 における Grunt の変更について詳しく確認してください。

ピア依存関係

gruntpackage.jsonpeerDependencies セクションに含まれる Grunt プラグインをお持ちの場合は、"grunt": ">=0.4.0" でタグ付けすることをお勧めします。そうしないと、npm@2 ユーザーは [email protected] プラグインをインストールしようとするとハード エラーが発生し、npm@3 ユーザーは警告を受け取ります。この変更を行うために、既存のプラグインに 2,000 以上のプルリクエストを送信しました。

お気に入りのプラグインにプルリクエストを送信し、package.jsonpeerDependencies セクションを更新するよう要求してください。

1.0.0 の変更点

  • 非同期コールバックが何度も呼び出されるのを防ぎます。#1464 のプル。
  • 著作権を jQuery 財団に更新し、冗長なヘッダーを削除します。#1478 の修正です。
  • glob を 7.0.x に更新します。#1467 の修正です。
  • 重複する BOM ストリップ コードを削除します。#1482 のプルです。
  • 最新の cli ~1.2.0 に更新します。
  • grunt bin がインストール時に確実に作成されるようにします。

RC1 の変更点

  • coffee-script~1.10.0 にアップグレードされました。これにより、プラグインと Gruntfile でこの言語を使用する場合に重大な変更が発生する可能性があります。
  • nopt~3.0.6 にアップグレードされました。これにより、複数の引数の受け渡しや数値のオプションとしての扱いなど、多くの問題が修正されました。以前は --foo bar を使用して値 'bar' をオプション foo に渡していたことに注意してください。これにより、オプション footrue に設定され、タスク bar が実行されるようになりました。
  • glob~6.0.4 にアップグレードされ、minimatch~3.0.0 にアップグレードされました。結果は今後は grunt.file.expandMapping() でデフォルトでソートされます。結果をソートしたくない場合は、オプション nosort: true を渡します。
  • lodash~4.3.0 にアップグレードされました。多くの変更が行われました。そのうち、Grunt に直接影響を与えるものは、grunt.util._.template() がコンパイル関数を返し、grunt.util._.flatten はもう深くフラットにしなくなったことです。grunt.util._ は非推奨となり、npm install lodashvar _ = require('lodash') を実行して lodash を使用することを強くお勧めします。変更の完全なリストについては、lodash の変更ログを参照してください: https://github.com/lodash/lodash/wiki/Changelog
  • iconv-lite~0.4.13 にアップグレードされ、デフォルトで BOM が削除されます。
  • js-yaml~3.5.2 にアップグレードされ、grunt.file.readYAML に影響を与える可能性があります。将来の非推奨化に備えて、npm install js-yaml を実行し、var YAML = require('js-yaml') を直接使用することをお勧めします。
  • ファイル mode オプションを grunt.file.write() に渡すことができます。
  • Done, without errors.Done. に変更され、errors という単語で誤って失敗することがないようにされました。

前述の通り、すべての Grunt リポジトリ へのコントリビューターも募集しています。また、オープンソースの経験を積むためのメンターも見つかります。

Grunt 1.0.0 rc1 がリリースされました

Grunt チームは 1.0.0 の最初のリリース候補を発表できて嬉しく思います。

このリリースは @shama@vladikoff@jkaussieskater が実現させました。jQuery 財団のサポートを受け、特に @dmethvin@aulvi のサポートを受けました。

さらに、@XhmikosR@paladox@FredyC@sindresorhus@mrjoelkempの貢献にも感謝します。

今回のリリースは、Windows、OSX、Linux で Node.js v0.10、v0.12、v4.0、v5.0 および io.js との互換性を向上させ、深刻な問題を修正することに重点を置いています。rc1 をテストして、直面している問題を 報告してください

npm install [email protected] --save-dev

Grunt 1.0.0 では Node.js v0.8 がサポートされないことに注意してください。

ピア依存関係

package.jsonpeerDependencies セクションに grunt を含む Grunt プラグインをお持ちの場合、「grunt: >=0.4.0」でタグ付けすることをお勧めします。そうしないと、[email protected] がリリースされると、npm@2 ユーザーはプラグインのインストール時にハードエラーを受け取り、npm@3 ユーザーは警告を受け取ります。

npm@3 以降は、ピア依存関係はユーザー用にインストールされなくなりました。Grunt プラグインのユーザーは、Grunt プラグインのインストール時に npm install grunt --save-dev を実行することが想定されます。

お気に入りのプラグインにプルリクエストを送信し、package.jsonpeerDependencies セクションを更新するよう要求してください。

意見募集

Grunt の将来を形作ろうとしているコミュニティメンバーに RFC を提出していただくために、新しいリポジトリを作成しました。

RFC を提出すると、Grunt に重大な変更を正式に提案し、コアチームとコミュニティからフィードバックを得ることができます。

積極的な提案は、Grunt の将来のロードマップを描き出し、コミュニティからの貢献を今後の Grunt リリースに組み込むのに役立てることができます。

npm スクリプト

grunt の一部として grunt-cli をインストールします。多くのユーザーは npm install grunt-cli -g の追加手順を実行したくありません。Node.js のイディオムに適合するために、npm install grunt --save-dev を実行して Grunt を npm スクリプトに含めることができます

{
  "scripts": {
    "grunt": "grunt"
  }
}

ユーザーは npm installnpm run grunt を実行するだけで Gruntfile.js を実行できます。

npm >= 2.0.0 上のユーザーは npm run grunt -- task --option=foo を使用してタスクとオプションを渡すこともできます。これは grunt task --option=foo と同等です。

お使いのコンピューターで grunt コマンドが必要な場合は引き続き npm install grunt-cli -g を実行して、これまでどおり使用してください。

API の変更

一部の API が変更されたため、メジャー バージョン アップが必要です。

  • coffee-script~1.10.0 にアップグレードされました。これにより、プラグインと Gruntfile でこの言語を使用する場合に重大な変更が発生する可能性があります。
  • nopt~3.0.6 にアップグレードされました。これにより、複数の引数の受け渡しや数値のオプションとしての扱いなど、多くの問題が修正されました。以前は --foo bar を使用して値 'bar' をオプション foo に渡していたことに注意してください。これにより、オプション footrue に設定され、タスク bar が実行されるようになりました。
  • glob~6.0.4 にアップグレードされ、minimatch~3.0.0 にアップグレードされました。結果は今後は grunt.file.expandMapping() でデフォルトでソートされます。結果をソートしたくない場合は、オプション nosort: true を渡します。
  • lodash~4.3.0 にアップグレードされました。多くの変更が行われました。Grunt に直接影響を与えるものの中には、grunt.util._.template() がコンパイル関数を返したり、grunt.util._.flatten が深度にフラット化しなくなったものがあります。grunt.util._ は非推奨であり、npm install lodashvar _ = require('lodash') を実行して lodash を使用することを強くお勧めします。変更の完全なリストについては lodash の変更ログを参照してください。https://github.com/lodash/lodash/wiki/Changelog
  • iconv-lite~0.4.13 にアップグレードされ、デフォルトで BOM が削除されます。
  • js-yaml~3.5.2 にアップグレードされ、grunt.file.readYAML に影響を与える可能性があります。将来の非推奨化に備えて、npm install js-yaml を実行し、var YAML = require('js-yaml') を直接使用することをお勧めします。
  • ファイル mode オプションを grunt.file.write() に渡すことができます。
  • Done, without errors.Done. に変更され、errors という単語で誤って失敗することがないようにされました。

このリリースをお試しください。

また、すべての Grunt リポジトリ に寄稿者を求めており、オープンソースの経験を積むために指導することもできます。

Grunt 0.4.5 リリース

Grunt 0.4.5 が npm で利用できるようになりました。

ゲイリー・バーゲスジェームズ・スミスカルロス・マンティラのパッチに感謝します。また、ヴラド・フィリポフに問題のトリアージ、Windows CI テストのトラブルシューティング、変更ログのまとめでのサポートに感謝します。

このリリースでは、約 10 個の問題をクローズし、要望が多かった grunt.task.existsgrunt.config.merge メソッドを追加し、AppVeyor を通じて Windows CI テストを設定しました。さらに、メンテナンスを促進するために、ロギング API を別のモジュール grunt-legacy-log に分割しました。

変更の全リストについては、0.4.5 変更ログを参照してください。

さらに、Grunt コントリプラグインに対して多数の修正を受け入れました。この貢献に対して、ケヴィン・マーテンソンアレクサンダー・フテコフ渡辺慎之介シェーン・ダニエルアルチョム・サペギンクリストフ・ポジャーチャン・イーチャオジェヴォン・ライトジェイコブ・ローリツェンXhmikosRエダン・シュワルツに感謝いたします。

Grunting をお楽しみください!

Grunt 0.4.4 リリース

Grunt 0.4.4 が npm で利用可能になりました。

このリリースでは、バージョン 0.4.3 で導入されたリグレッションを修正しました。

変更ログはこちらを参照してください。

Grunt 0.4.3 リリース

Grunt 0.4.3 が npm で利用可能になりました。

これは主にバグ修正リリースです。プルリクエストの送信にあたり、ジョナサン・クラウスパトリックJSジェイソン・カスタファビオ・クリスチジェームズ・M・グリーンマイク・ペニシに感謝いたします。

30 以上の問題のクローズに加えて、grunt.util独自のモジュールに抽出しました。0.4.2 リリースで説明したとおり、grunt.util.* API の非推奨化に取り組んでいます。これらの API を使用するタスク開発者は、grunt-legacy-util の README で推奨されているライブラリを使用するようにプラグインを更新する必要があります。ギャップ対策として直接 grunt-legacy-util を使用できますが、サポートは終了します。

変更の全リストについては、0.4.3 変更ログをこちらを参照してください。

Grunting をお楽しみください!

Grunt 0.4.2 リリース

Grunt 0.4.2 が npm で利用可能になりました。

このリリースにより、パイプリダイレクト、コンソール出力、BOM の保持など、Windows 開発者向けに多くの問題が解決されるはずです。

いくつかのバグ修正に加えて、Grunt の外部依存関係に関して先方の決定を下しました。これらの外部ライブラリは非推奨となり、npm モジュールとして必要になるはずです:

  • grunt.file.glob の代わりにglobを使用
  • grunt.file.minimatch の代わりにminimatchを使用
  • grunt.file.findup の代わりにfindupを使用
  • grunt.util._ の代わりにlodashを使用
  • grunt.util._.str の代わりにunderscore.stringを使用
  • grunt.util.hooker の代わりにhookerを使用
  • grunt.util.async の代わりにasyncを使用
  • grunt.util.namespace の代わりにgetobjectを使用

これらの外部ライブラリをタスクで使用したい場合、npm install <module> --save-devを使用してGruntまたはGruntプラグインをインストールするようにしてください。たとえば、以前grunt.util._を使用していた場合、npm install lodash --save-devを使用してLo-Dashを使用する必要があります。

// Then change this code:
var newArr = grunt.util._.map(arr, fn);

// To this:
var _ = require('lodash');
var newArr = _.map(arr, fn);

チームはまた、Gruntの将来に関するフィードバックを求めています。そのため、時間があれば、0.5.0マイルストーンディスカッションに参加してください。

0.4.2の変更ログはこちらからご覧になれます。

Grunting をお楽しみください!

Grunt 0.4.1がリリースされました

Grunt 0.4.1がnpmから入手できるようになりました。

このパッチリリースでは、Node.js v0.10.0の最新リリースに伴い発生した、いくつかの軽微な問題が修正されています。特に、パスAPIの変更が挙げられます。プロジェクトで最新バージョンのNode.jsを使用したい場合は、該当するプロジェクトのpackage.jsonファイルでGruntを~0.4.1に更新する必要があります。

いずれにせよ、Gruntは引き続きNode.js v0.8.xで動作するため、Node.js v0.10.0にアップグレードしていない場合は、必ずしも更新する必要はありません。

Node.js v0.10.0の変更に加えて、この機会を利用して、チャイルドプロセスをスポーンするときのマルチバイトI/Oを適切に処理したり、Gruntfile名を大文字と小文字を区別しないようにしたり、などの小さな問題のいくつかを修正しました。変更の完全なリストについては、v0.4.0 - v0.4.1の変更ログを参照してください。

Grunt 0.4.0がリリースされました

今朝、Grunt v0.4の最終版がnpmで利用できるようになりました!リリースに関する詳細な記事は、@tkellen'sBocoupブログの記事を参照してください。

最大の変更点:

  1. Gruntは、組み込みのタスクがなくなりました。それらは、grunt-contrib名前空間の下で、公式に保守され、スタンドアロンのプラグインに抽出されました。詳細については、Webサイトのプラグイン一覧を参照してください。
  2. Gruntはバイナリで配布されなくなりました。gruntコマンドを取得するには、grunt-clinpm install -g grunt-cliを使用してグローバルにインストールします。このパッケージは、プロジェクトにローカルにインストールされた後、Gruntの任意のバージョン(0.3xを含む)を実行します。

将来:

Grunt v0.5は、node-taskと呼ばれる新しいプラグインフォーマットのサポートとともに配布されます。これは、Gruntに依存しない、ステートレス、promiseベース、イベントエミッションAPIを定義します。このフォーマットには実際のspecがあり、Gruntチームは、準拠モジュールがすべてのタスクランナーと互換性を持つことを期待して、フロントエンド開発者コミュニティと協力しています。

Grunt on

Gruntの詳細を知りたい場合は、入門ガイドを読んで、タスクを構成する方法のすべてを確認してください。

Grunt 0.4へのプラグインのアップデート

お使いのプラグインがGrunt 0.4とまだ互換性がない場合は、アップデートをご検討ください。変更点の概要については、移行ガイドを参照してください。

月曜日に公開される最終版の Grunt で開発する場合、プロジェクトの devDependency に "grunt": "0.4.0rc8" を指定してください。月曜日のリリース後は、"grunt": "~0.4.0" を使用してプラグインを公開できます。grunt-contrib シリーズのプラグインを使用する場合は、リリース候補のリストで、互換性のあるバージョンをご確認ください。これらはすべて、Grunt 0.4 が公開されると最終状態にアップデートされます。

また、開発コミュニティにおける重複作業と断片化を減らすために、grunt-contrib シリーズのプラグインをレビューして、ご自身の機能が大幅に重複しているものがないかご確認ください。Grunt-contrib は 40 人以上の貢献者のコミュニティによって維持されており、追加したいアイデアを話し合うことを歓迎します。

最後に、Grunt に依存しない新しいタスク形式に取り組んでいます。名前は node-task です。これが完了すると、もう 1 回変換が行われ、その後はプラグインをアップデートして弊社の変更をサポートするように求めることはなくなります。それまで、忍耐強くお付き合いいただければ幸いです!

進め方に疑問がある場合は、ここで回答するか、#grunt on irc.freenode.net に参加してください。

皆さんのご尽力に感謝いたします!