2016-05-03のJS

Node v6.0.0 (Current) | Node.js

Node.js 6.0.0(LTS)リリース。 v8のアップデートを含むため、Native addonはnpm rebuidでの再ビルドが必要。 Buffer APIが新しくなり、古いAPIは非推奨へ、worker.suicideworker.exitedAfterDisconnectに変更、querystring.parse()が返すオブジェクトはObject.prototypeを継承しないようになるなど

Chromium Blog: Chrome 51 Beta: Credential Management API and reducing the overhead of offscreen rendering

Chrome 51 Betaリリース。 Credential Management APIのサポート。 offscreenの場合、crosss originのframeにおいてはrequestAnimationFrame()が呼ばれないように、Intersection Observer 、passiveイベントオプション、V8 5.1へのアップデートなど。

Release v6.8.0 · babel/babel

Babel v6.8.0リリース。 Babel自体がBabel 6でTranspileするようになり、runtimeが5に依存していた問題が修正された

Release Fetch 1.0.0 · github/fetch

Fetch APIのpolyfillであるGitHub Fetch 1.0.0リリース。 IE9のサポートを終了、timeoutイベントをハンドルするように、URLSearchParamsのサポートなど

ESLint v2.9.0 released - ESLint - Pluggable JavaScript linter

ESLint v2.9.0リリース。 Autofix --fix オプションの改善。 今までは一度のパスで適応できないものは諦めていたが、複数回のパスで修正を適応を試みるようになった。

Release SlimerJS 0.10.0 · laurentj/slimerjs

Firefox版のPhantomJS APIの互換実装であるSlimerJS 0.10.0リリース。

Release Notes for Safari Technology Preview 3 | WebKit

Safari Technology Preview 3リリース。 Symbol.isConcatSpreadableなどのwell-known Symbol実装の追加、 :host()擬似クラス、IndexedDBがBlobをサポート、Crypto、CSP周りの仕様準拠度の向上など

Scroll-linked effects - Mozilla | MDN

onscrollにhookして同期的に位置を変更する処理に対しては警告メッセージが出るようになった。 その場合の対処法についてのドキュメント

Announcing Vue.js 2.0 — The Vue Point — Medium

Vue.js 2.0のパブリックプレビュー版リリース。 SnabbdomベースのVirtua lDOM実装の追加など

Updating Our Prefixing Policy | WebKit

Safari/WebKitは新しい機能などは今後Vendor prefixではなく、フラグのON/OFFを追加していくようにするポリシーの変更について。 -webkit- prefixがあまりに使われてしまい、後方互換性のためにprefixが標準仕様となってしまった歴史などもあるため

How to Make Your React Apps 15x Faster – ReactJS News

Reactはデバッグ向けのコードが大量に入っているため、production(NODE_ENV=production)ビルドや機械的に最適化できるBabelプラグインを導入するだけでも速度が大分変わるという話

V8 JavaScript Engine: ES6, ES7, and beyond

V8が既存のウェブとの互換性を持ちつつ次期ECMAScriptの仕様を実装しているかのプロセスについて。 ES6の実装が完了する前にドラフトバージョンを実装することで見つけられる後方互換性の問題がある話。 またECMAScriptという複雑な言語仕様のtest suiteであるtest262について。

npmで同じライブラリの複数バージョンをインストールして使う方法 | Web Scratch

一つのプロジェクト内に同名ライブラリの複数バージョンをインストールして扱う方法について

A look at ES6 Maps - Barbarian Meets Coding

ES6 Mapについての解説。 データ構造としてのMap、Iterableについて

Turbocharged JavaScript refactoring with codemods — Airbnb Engineering & Data Science — Medium

codemodを使ったリファクタリングについて

Almin.js | JavaScriptアーキテクチャ

Almin.jsの設計の概念的な話やパターンについて。 FluxやCQRSといったパターンにおいて、ドメインモデルをどうやったら考えて実装できるようになるかという話。

Diffee Checker

CSS blend modesを使いiframe同士の描画結果の差分を表示するデモ

Galooshi/import-js: A tool to simplify importing JS modules

指定した関数名から、該当するモジュールのimport文を自動的に探索して追加できるツール。 各種エディタ連携などもある

ericholiveira/studio: A nodejs framework to create decoupled and scalable applications

ActorモデルインスパイアなNode.jsのフレームワーク

flickr/yakbak: Record and playback HTTP responses

ProxyとしてHTTPリクエストとレスポンスを記録し、リプレイしたレスポンスを返すことができるNode.jsライブラリ

jeromeetienne/babel-plugin-jsdoced: babel plugin which use jsdoc to implement strong typing in javascript

jsdoced.jsを使いJSDocからランタイムassertを追加するBabelプラグイン。 jsdoc-to-assertと似てるが、返り値のチェックやProxy APIを使ってプロパティの代入もチェックしている