Grunt ブログ
Grunt 1.4.0 リリース2021年4月22日公開
Grunt チームは、Grunt 1.4.0
のリリースをアナウンスいたします。
このリリースは @vladikoff と、以下の貢献者の皆様のおかげで実現しました。
その他多数
ここが変更点です。
- 本番と開発の依存関係に関するセキュリティ修正
- Liftup/Liftoff アップグレードの破壊的変更。--require の代わりに --preload を使用するようにスクリプトを更新します。参照: https://github.com/js-cli/js-liftoff/commit/e7a969d6706e730d90abb4e24d3cb4d3bce06ddb.
npm と GitHub で Grunt を見つけることができます。
Grunt 1.2.0 リリース2020年7月3日公開
Grunt チームは、Grunt 1.2.0
のリリースをアナウンスいたします。
このリリースは @vladikoff と、以下の貢献者の皆様のおかげで実現しました。
- philz - https://github.com/philz
- Brian Lim - https://github.com/bhldev
- micellius - https://github.com/micellius
その他多数
ここが変更点です。
- これらのプラグインに対する開発依存関係があるパッケージ内の 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)
- 依存関係の更新も含まれています。
npm と GitHub で Grunt を見つけることができます。
Grunt 1.1.0 リリース2020年3月16日公開
Grunt チームは、Grunt 1.1.0
のリリースをアナウンスいたします。
このリリースは、@vladikoff と @shama のおかげで実現しました。
ここが変更点です。
- mkdirp ~1.0.3 にアップデート
- Node >=8 のバージョンのみをサポート
npm と GitHub で Grunt を見つけることができます。
Grunt CLI 1.3.0 リリース2018年8月15日公開
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 リリース2016 年 4 月 04 日に投稿
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 の変更について詳しく確認してください。
ピア依存関係
grunt
が package.json
の peerDependencies
セクションに含まれる Grunt プラグインをお持ちの場合は、"grunt": ">=0.4.0"
でタグ付けすることをお勧めします。そうしないと、npm@2 ユーザーは [email protected]
プラグインをインストールしようとするとハード エラーが発生し、npm@3 ユーザーは警告を受け取ります。この変更を行うために、既存のプラグインに 2,000 以上のプルリクエストを送信しました。
お気に入りのプラグインにプルリクエストを送信し、package.json
の peerDependencies
セクションを更新するよう要求してください。
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
に渡していたことに注意してください。これにより、オプションfoo
がtrue
に設定され、タスク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 lodash
とvar _ = require('lodash')
を実行してlodash
を使用することを強くお勧めします。変更の完全なリストについては、lodash の変更ログを参照してください: https://github.com/lodash/lodash/wiki/Changelogiconv-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 がリリースされました2016 年 2 月 11 日に投稿
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.json
の peerDependencies
セクションに grunt
を含む Grunt プラグインをお持ちの場合、「grunt: >=0.4.0」でタグ付けすることをお勧めします。そうしないと、[email protected]
がリリースされると、npm@2 ユーザーはプラグインのインストール時にハードエラーを受け取り、npm@3 ユーザーは警告を受け取ります。
npm@3 以降は、ピア依存関係はユーザー用にインストールされなくなりました。Grunt プラグインのユーザーは、Grunt プラグインのインストール時に npm install grunt --save-dev
を実行することが想定されます。
お気に入りのプラグインにプルリクエストを送信し、package.json
の peerDependencies
セクションを更新するよう要求してください。
意見募集
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 install
と npm 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
に渡していたことに注意してください。これにより、オプションfoo
がtrue
に設定され、タスク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 lodash
とvar _ = require('lodash')
を実行してlodash
を使用することを強くお勧めします。変更の完全なリストについては lodash の変更ログを参照してください。https://github.com/lodash/lodash/wiki/Changelogiconv-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 リリース2014 年 5 月 12 日に掲載
Grunt 0.4.5 が npm で利用できるようになりました。
ゲイリー・バーゲス、ジェームズ・スミス、カルロス・マンティラのパッチに感謝します。また、ヴラド・フィリポフに問題のトリアージ、Windows CI テストのトラブルシューティング、変更ログのまとめでのサポートに感謝します。
このリリースでは、約 10 個の問題をクローズし、要望が多かった grunt.task.exists と grunt.config.merge メソッドを追加し、AppVeyor を通じて Windows CI テストを設定しました。さらに、メンテナンスを促進するために、ロギング API を別のモジュール grunt-legacy-log に分割しました。
変更の全リストについては、0.4.5 変更ログを参照してください。
さらに、Grunt コントリプラグインに対して多数の修正を受け入れました。この貢献に対して、ケヴィン・マーテンソン、アレクサンダー・フテコフ、渡辺慎之介、シェーン・ダニエル、アルチョム・サペギン、クリストフ・ポジャー、チャン・イーチャオ、ジェヴォン・ライト、ジェイコブ・ローリツェン、XhmikosR、エダン・シュワルツに感謝いたします。
Grunting をお楽しみください!
Grunt 0.4.4 リリース2014年3月14日、投稿
Grunt 0.4.4 が npm で利用可能になりました。
このリリースでは、バージョン 0.4.3 で導入されたリグレッションを修正しました。
変更ログはこちらを参照してください。
Grunt 0.4.3 リリース2014年3月7日、投稿
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 リリース2013年11月21日、投稿
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がリリースされました2013年3月13日掲載
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がリリースされました2013年2月18日掲載
今朝、Grunt v0.4の最終版がnpmで利用できるようになりました!リリースに関する詳細な記事は、@tkellen'sのBocoupブログの記事を参照してください。
最大の変更点:
- Gruntは、組み込みのタスクがなくなりました。それらは、grunt-contrib名前空間の下で、公式に保守され、スタンドアロンのプラグインに抽出されました。詳細については、Webサイトのプラグイン一覧を参照してください。
- Gruntはバイナリで配布されなくなりました。
grunt
コマンドを取得するには、grunt-cliをnpm install -g grunt-cli
を使用してグローバルにインストールします。このパッケージは、プロジェクトにローカルにインストールされた後、Gruntの任意のバージョン(0.3xを含む)を実行します。
将来:
Grunt v0.5は、node-taskと呼ばれる新しいプラグインフォーマットのサポートとともに配布されます。これは、Gruntに依存しない、ステートレス、promiseベース、イベントエミッションAPIを定義します。このフォーマットには実際のspecがあり、Gruntチームは、準拠モジュールがすべてのタスクランナーと互換性を持つことを期待して、フロントエンド開発者コミュニティと協力しています。
Grunt on
Gruntの詳細を知りたい場合は、入門ガイドを読んで、タスクを構成する方法のすべてを確認してください。
Grunt 0.4へのプラグインのアップデート2013年2月15日掲載
お使いのプラグインが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
に参加してください。
皆さんのご尽力に感謝いたします!