JSer.info #162 - plugableなJavaScript LintツールのESLint 0.4.0がリリースされました。
.eslintrc
の設定ファイルにYAMLで書くことが出来るようになった事やJSDocのバリデーション等のルールの追加修正があります。
また、今後の予定についてのRelease goalsが更新されて、今までLintのルールを書くときに素でASTを見て行っていましたが、AST Queryライブラリを使えるようにする等の予定が追加されました。 (また0.4でもパフォーマンスの改善等が入ってますが、以前よりも早めにパフォーマンス改善を進めていくようです)
JavaScript ASTを使ったツールについてもっと知りたい人は、 Building JavaScript Tools というツールを使うだけではなく書いてみようという感じのスライドが公開されているのでこちらも見てみるといいです。
タスク/ビルドツールのGruntとgulp.jsについて色々議論がありますが、Gruntを全てgulpに置き換えるべきと言える人はいないと思います。(どちらも長所と短所はあるので、一方的な決め付けはまだ不毛な感じで競合による成長が大事)
Grunt vs. Gulp: both serve different needs & can coexist happily. See: http://t.co/fQ5G8HDNwl && https://t.co/joUVeRqj8T. We’ll support both
— Addy Osmani (@addyosmani) January 8, 2014
その辺を踏まえて Build Wars: Gulp vs Grunt というスライドでは現在の状況やgulpの特徴について等、Bespoke.jsの作者でもある@markdalgleishさんがコミカルな感じで紹介しています。
別の記事ですがGrunt vs Gulp - Beyond the Numbers — Jack Hsu の方でも、 GruntのRoadmapではGrunt 0.5では大きな改善の予定等についても書かれています。
また、node-taskでは、JavaScriptで書くタスクの標準化について議論されていて、まだまだこの辺は色々活発な感じです。
- Home · node-task/spec Wiki
- Members · node-task を見るとわかりますがGruntやBrunchやgulpの人達も参加しています
ヘッドライン
Backbone.js
Backbone.js 1.1.1リリース。
AMD,Bower,Componentのサポート、ルーティング周りの改善。
サポートとはありますが、BackboneがjQueryに依存してる関係で色々複雑な事象が発生しているので、CJS/AMDモジュールとして使ってる場合は注意が必要です。
- browserifyから使うときの問題
- r.jsでの最適化時の問題 - Require.JSの方に回避用のオプション
ESLint 0.4.0 released - ESLint
ESLint 0.4.0リリース。
.eslintrcにYAML/JSONで設定がかけるように、npm run profile
の追加とパフォーマンス改善、ルールの修正や追加(JSDocのバリデーションルール)等
Underscore.js
Underscore 1.6.0 リリース。
_.partition
, _.property
, _.matches
, _.constant
, _.now
の追加
Release Release 1.0.0! · teppeis/fixclosure
Closure Libraryを使って書かれたコードにおける依存関係の検証/解決するツールfixclosure 1.0.0リリース
React | React v0.9 RC
React v0.9 RCリリース
RequireJS 2.1.11 Released ~ James Burke
RequireJS 2.1.11リリース
Backbone.js 1.1.1の関係で wrapShim
というオプションが追加されました。
JS1k.com - a fiery js code golfing competition
コードゴルフ大会のJS1k 2014が開催
アーティクル
How To Build A CLI Tool With Node.js And PhantomJS | Smashing Coding
PhantomJSを使ってappcache.manifestのリソースリストを作るNodeのコマンドラインツールを作るチュートリアル
JavaScript Promises … In Wicked Detail - Matt Greer
Promise/A+を実装しながらPromisesについて学ぶチュートリアル。
かなり小さいコードから始まってるので分かりやすい。
仕様をちゃんと実装したい場合は、以下の記事とスライドが詳しい。
What Every JavaScript Developer Should Know About Floating Points | Flippin’ Awesome
JavaScriptの浮動小数点について。
IEEE 754、丸め誤差の問題、BigDecimalのような浮動小数点を扱うライブラリについて
Supercharging your Gruntfile: How to squeeze the most out of your build configuration. - HTML5 Rocks
Grunt pluginの自動ロードにload-grunt-tasks、設定ファイルの分割、変更されたファイルのみを対象にする grunt-newer
、並行実行でのビルド時間削減、通知について等
クライアントサイドのテンプレートエンジン doT.js がわりとよさ気なのでいじってみる | デブ ハゲ
テンプレートエンジンのdoT.jsについて
React | Community Round-up #16
ReactのVirtualDOMやDiffのアルゴリズムやチュートリアルへのリンクまとめ記事
スライド、動画関係
Build Wars: Gulp vs Grunt
Gruntの成り立ちと歴史、gulpの特徴のストリーム等や基本的な使い方、内部的に使われてるモジュールについて。
ビルドシステムツールの今後についてなど、画像多めでコミカルにまとめてる。
Building JavaScript Tools
JavaScriptツールを使うだけじゃなくて書いてみよう。
どこから始める? -> コードをASTというオブジェクトで表現できる -> AST を使ったツールを作ろう という感じのJS ASTについてのスライド
サイト、サービス
GulpFiction/gulpfiction
gulpfileのビジュアルエディタ。
gulpタスクの内容をパイプで繋いでGUI上で作成出来る
ソフトウェア、ツール、ライブラリ関係
cloudup/browser-repl
SauceLabsを使ったブラウザREPL.
webdriverを使ってリモートのブラウザをREPL的に使える
yahoo/ypromise
YUIで使われてるES6 Promisesを分離したpolyfillライブラリ
書籍関係
ng-book: The Complete Book on AngularJS
600P超のAngularJSについての書籍