JSer.info #185 - Node.jsスタイルで書いモジュールをブラウザでも動かせるようにビルドするツールであるBrowserify 5.0.0がリリースされました。
Semantic Versioningなのでもう既に5.9.1まででていますが、Browserifyの内部的な変換処理が大きく変わっています。
主に影響があるのはpluginを書いたり、直にbrowserifyを使ってる場合が中心で、
単純にコマンドラインで使っている場合は--standalone
がderequireされなくなったぐらいの影響だと思います。
5.0での--standalone
の挙動の違いについては以下の記事で解説しています。
また、browserifyの処理へのhook方法が5.0で導入されたcompile pipeline(labeled-stream)でより柔軟に処理を書けるようになっています。
labeled phasesというのが導入されて、依存関係のフェーズやコード生成のフェーズなど、それぞれのtransform streamがそれぞれラベリングされて、そのstreamに対して処理を追加等がpluginから出来るようになっています。
- node-browserify/doc/changelog/5_0.markdown at master · substack/node-browserify
- compiler pipeline - substack/browserify-handbook - 1.3.1…1.4.0 handbookも合わせて更新されてる
そろそろ押さえておきたい AngularJSのセキュリティ というスライドでは、AngularJSがやっているDOM Based XSSの対策の処理について解説されています。
AngularJSがやっているSCE(Strict Contextual Escaping)の解説やカスタムディレクティブを扱うときに気をつけることなどについて書かれています。
お知らせ
ブログをJekyllに移すために新しいテーマ作りを以下でやってるので、ご意見くださると嬉しいです。
ヘッドライン
node-browserify/changelog.markdown at 5.0.0 · substack/node-browserify
Browserify 5.0.0リリース。
pipelineの処理に対してhookできる仕組みが入った、bundle()
を複数回呼んでも問題なくなった(watchの安定化)、--noparse
の高速化
- node-browserify/doc/changelog/5_0.markdown at master · substack/node-browserify
- substack/labeled-stream-splicer
Release v2.0.0-alpha-5: script arguments! · npm/npm
npm 2.0.0 α5で、 npm run-scriptに引数を渡せるようになった。
まだαの段階なので渡し方についてのフィードバックも募集されています。
アーティクル
The Basics Of ES6 Generators
ES5 Generatorsについての連載
Google Web Starter Kitのgulpfileを翻訳してみた - Qiita
Google Web Starter Kitで使われてるgulpfileのタスクについての解説。 それぞれのタスクのやってる処理について。
Web Audio Changes in m36 - HTML5Rocks Updates
Chrome 36でのWeb Audio APIの変更点について
Solving spyOn problems in Jasmine - Two Fucking Developers
jasmineでlocalstroage#set
に対してspyOnするときにFirefoxが例外を投げる問題について。
localstroage自体をmockで置き換える対処法を解説してる
Away3D勉強会に行ってきた - pirosikick’s diary
元々Flash向けに開発されていたAway3DのTypeScriptポートについて。
Away3D TypeScriptはWebGLを使った3Dエンジンで、Flashを使ったフォールバックも持っている
Shipping Blink-in-JS - Google グループ
JavaScriptでのDOM実装であるBlink-in-JSがshipへ。
CoreはC++で、他の部分をJavaScriptで実装することでセキュリティとmaintainability、programmabilityを向上させることが目的。
詳しくはスライドで解説してる。
- Blink-in-JavaScript - The Chromium Projects
- Blink in JavaScript - Google スライド
- Blink-in-JavaScript - Google ドキュメント
Lonely Planet & GitHub: CSSの構成と方針 - ワザノバ | wazanova
GithubのCSSとLonely PlanetのCSSの構成や使ってるツール、開発スタイルについて。
スライド、動画関係
そろそろ押さえておきたい AngularJSのセキュリティ
AngularJSのデータバインディングとDOM Based XSSについてのスライド。
ホワイトリストによるフィルタリング、自作のディレクティブでの扱い、SCE、ng-cspについて。
サイト、サービス
JavaScript初級者から中級者になろう — uhyohyo.net
JavaScript/DOM関するチュートリアルサイト。
DOM Treeの操作やDOM RangeなどDOM APIに関する解説が豊富
ソフトウェア、ツール、ライブラリ関係
blittle/bower-installer
bower.jsonにモジュールのコピー場所を記述することで、インストールしたモジュールをコピー出来るコマンドラインツール。
Node.js Tools for Visual Studio 1.0 Beta 2 Available - The Visual Studio Blog - Site Home - MSDN Blogs
Node.jsサポートをするのVisual Studio add-on。
補完の改善、npm UIの改善、mochaのサポートや他のテストフレームワークもサポート出来るように
RReverser/estemplate
JavaScript ASTベースのテンプレートエンジン。
SourceMapに対応したコードを生成できる
google/google-api-nodejs-client
Google公式のGoogle APIライブラリ
zzarcon/html-observer
Object.observeを使ったデータバインディングライブラリ
Valve/fingerprintjs
ブラウザのnavigation.*や入ってるプラグインなどから特定のハッシュ値を生成するライブラリ。
EFFが発表してた94%は特定出来るというのが元ネタ