Fork me on GitHub

2014-03-17のJS: Karma 0.12.0、mocha 1.18.0、Promisesエラーハンドリング、実践Browserify

Edit on GitHub 編集履歴を見る

JSer.info #166 - JavaScript test runnerのKarma v0.12.0がリリースされました。

Jasmine 2.0.0のサポートやSourcemapによるスタックトレースの書き換えがサポートされました。

sourceMap サポートを使うと、例えばkarma-traceur-preprocessorではtraceurで変換したコードをテストとして実行しますが、そのテストで失敗した時に表示するスタックトレースは変換前のコードを出せるようになります。

(Preprocessorsとなるmoduleがsourcemapに対応している必要があります)


JavaScript test frameworkであるMocha 1.18.0がリリースされました。

メインとなるのはmochaがpromisesのテストをサポートしたことですが、詳細はMochaがPromisesのテストをサポートしました | Web scratchで紹介しています。

上記の記事でも紹介していますが、PromisesのテストはPromises自体の強力なエラーハンドリングによって、逆にテストが面倒になってしまう部分があります。(そのためtest framework側がサポートした)

そのようなPromisesのエラーハンドリングについてMaking Change.org — Promises and Error Handlingという記事では、エラーハンドリングを中心にガイドライン的なものが書かれています。(Guideline 4がまさにmochaのテストの例と同じです)


A Year with Browserify - ÆFLASH という記事では、browserifyで実際に開発してみてのTipsが色々書かれています。

npmの機能を活用する方法やビルドの高速化、既存ライブラリとの組み合わせ等ちょっと触って気になる部分については大体書かれている気がします。

Browserifyに興味をもった方は一度読んでみると参考になる部分が多いと思います。


ヘッドライン

WebStormReleaseNote

WebStorm 8βリリース。

Angular/Dartのサポート改善、デバッガーでJSONのinspectが出来るように、ES6 modulesのサポート、Terminalで256-colorのサポート、Spy-jsの改善等

JavaScripttestingTools

VSのTest runner拡張であるChutzpah 3.2 リリース。

TypeScript等のaltJSのサポート、テストパターンを指定してのテスト実行、Require.jsのサポート改善

Toolsbrowser

Bower 1.3.0リリース。

opt-inで統計データの収集するBower Insight、パッケージがAMD/CJS/globalなのかを示すmoduleTypeの追加、installの前後にhook scriptを設定可能に、SVNのサポート

JavaScriptbrowsertestingReleaseNote

Karma 0.12.0 リリース。

Jasmine 2.0のサポート、ファイル監視のパフォーマンス改善、sourcemapのサポート(スタックトレースの書き換え)

node.jsJavaScripttestinglibraryReleaseNote

mocha 1.18.0リリース。

promiseのテストをサポート。

https://github.com/azu/mocha-support-promise promiseオブジェクトをreturnするだけで良くなる

CSSReleaseNote

Pure 0.5.0 RC1 リリース

アーティクル

browserifyまとめ

Browserifyでの開発についてよくまとまってる。

npmで管理できるメリット、npm linkやnodeモジュールでの依存関係の解決がそのまま利用できる。

既存ライブラリがある場合のビルドを高速化する方法としてshimやビルド自体を分ける事、バージョンが異なるライブラリの依存をaliasで解決。

gruntでのビルド、相対パスが深くなるのをaliasMappingsでフラットにする方法などよくまとまっている。

JavaScriptASTnode.jsbooklibrary

require で読み込むファイルのインライン化 と 無意味な "use strict" を削除するnode moduleについて。 JavaScript ASTを使った書き換えの方法について

JavaScripttestingtutorial

Sinon.JSのspy、stub、mock、fake serverを使ったテストの書き方についてのチュートリアル

node.jsReleaseNote

ExpressJS 4.0 rc1リリース。

ExpressJS 4.0での変更点等についてまとまってる。

JavaScripteventdebuglibrary

特定のプロパティやイベントやメソッドが呼ばれた時にログ、ブレークポイントを貼れるユーティリティライブラリについて

JavaScriptdebug

無名関数と名前付き関数式とのスタックトレースの比較。

また関数として分ける場合の命名規則について書かれてる

PromisesdebugJavaScript

Promisesのエラーハンドリングについて。

rejectする時はエラーオブジェクトを渡す、onRejectが呼ばれないパターンとcatchの活用、finallyはcleanupに使う、done を呼ぶことで次の処理に移る場合はエラーの時も忘れずに呼ぶ

Promisesdebug

Promisesでのエラーハンドリングのプラクティス。try-catchとpromiseの場合の違い。

otherwisecatch と同じ。

promiseを処理するfinally的なものを書くときに、渡した値を捨てないようにする

iossafari

iOS7.1のSafariのminimal-uiとその他バグについて

スライド、動画関係

JavaScriptECMAScript動画

ES6の機能を紹介してるスクリーンキャスト

ECMAScriptスライド

ES6の新しいsyntaxについてのスライド.

syntaxの紹介、ES5との違い、サポートブラウザの状況がよくまとまってる。

特に...の使い方についてユースケース、Generatorの使い方、Typed objects、module構文について詳しい

JavaScriptMVC動画

ライブラリを使わないで、Model,View,CollectionというBackbone.jsっぽい要素を使ったアプリを作るスクリーンキャスト

JavaScriptAPIスライド

JavaScriptのAPIデザインについてのスライド。

サイト、サービス

JavaScript翻訳

Ember.js Guides の日本語訳

JavaScripttestinglibrary

Sinon.JSのAPIリファレンス的なサイト。 それぞれのメソッドの解説等も書かれてる

ソフトウェア、ツール、ライブラリ関係

JavaScripttestingTools

ウェブアプリのMonkey testingライブラリ。

ストレステストの細かいロジックやログ等も設定出来るようになってる

CSSconsoleTools

CSSのサイズやルール/セレクタ数等のメトリクス的な情報を出してくれるコマンドラインツール

browserifytesting

tape + browserifyなtest runner。

テストの失敗の表示に prettify-error を使ったりして見やすくしてる

JavaScripttestingnode.js

BDDなテストを書く感じで書けるnode.jsのメモリリークの調査ライブラリ。

JavaScriptECMAScriptlibraryTools

ES6をES5に変換する実装。

traceur-compilerと違って、no runtime libraryで実行出来るようする等の目標が挙げられている

書籍関係

JavaScriptbook

JavaScriptのスコープとクロージャー周りについてだけ扱った書籍

Sassbook

2014年3月18日発売

Sass and Compass in Actionの翻訳本

この記事へ修正リクエストをする
JSer.info Slackに参加する