JSer.info #345 - Chrome 61βがリリースされました。
<script type=module>
でES modulesを扱えるようになりました。
加えてPayment Request APIやNetwork Information APIがデスクトップのChromeでも利用できるようになっています。
また、Web Share APIやWebUSB API、Visual Viewport API、Device Memoryのサポートが追加されています。
既存の挙動の破壊的な変更としては、MSEを使った動画はバックグラウンド時にVideo Trackが無効化されるようになっています。
セキュリティ対策として\n
と<
をそのまま含むHTTP(S)のURLへのリクエストがブロックされるようになっています。
- Media Updates in Chrome 61 | Web | Google Developers
- Prevent requests to HTTP(S) URLs containing raw
\n
and<
. · Issue #546 · whatwg/fetch
TypeScript 2.5 RCがリリースされました。
現在ECMAScript ProposalでStage 3のOptional catch bindingがサポートされています。
try {
throw new Error("throw");
} catch {
// errorを省略できる
}
また今まではTypeScriptで書かれたモジュールをnpm link
すると定義が重複するという問題がありました。
Workaroundはありますが、2.5Rではこの問題が修正されています。
Flow 0.53.0がリリースされました。
Reactに対するFlowのモデルに破壊的な変更があるため、ReactでFlowを利用している場合はマイグレーションが必要です。
flow-upgradeを使うことでマイグレーションが行えます。
また、Reactに対するutility typesが追加されています。
ヘッドライン
Node v8.4.0 (Current) | Node.js
nodejs.org/en/blog/release/v8.4.0/
Node v8.4.0リリース。
フラグ付きでhttp2
をサポート、util.format
がオブジェクトを扱う%o
と%O
をサポートなど
Release 0.22.0 · avajs/ava
github.com/avajs/ava/releases/tag/v0.22.0
AVA 0.22.0リリース。
デフォルトのconcurrencyをCPUコア数に合わせるように、t.log
の追加など
Chromium Blog: Chrome 61 Beta: JavaScript modules, Payment Request API on desktop, Web Share API, and WebUSB
blog.chromium.org/2017/08/chrome-61-beta-javascript-modules.html
Chrom 61βリリース。
<script type=module>
のサポート、Payment Request API、Web Share API、WebUSB APIのサポート。
Expect-CT HTTP headerのサポート、HTTPリクエストURLに>
や\n
が含まれている場合にブロックするように
- Expect-CT Extension for HTTP
- Prevent requests to HTTP(S) URLs containing raw ` ` and `<`. · Issue #546 · whatwg/fetch
flow/Changelog.md at v0.53.0 · facebook/flow
github.com/facebook/flow/blob/v0.53.0/Changelog.md
Flow 0.53.0リリース。
Reactのモデルに対する型の改善。互換性のない変更も含まれるためflow-upgrade
コマンドでマイグレーションできるようになっている
Announcing TypeScript 2.5 RC | TypeScript
blogs.msdn.microsoft.com/typescript/2017/08/17/announcing-typescript-2-5-rc/
TypeScript 2.5 RCリリース。
現在ProposalのOptional catchのサポート、npm link
などで定義が重複した場合にコンパイルエラーとなる問題を修正、--preserveSymlinks
のサポートなど
Release v6.0.0 · h5bp/html5-boilerplate
github.com/h5bp/html5-boilerplate/releases/tag/6.0.0
html5-boilerplate 6.0.0リリース
Release DOMPurify 1.0.0 · cure53/DOMPurify
github.com/cure53/DOMPurify/releases/tag/1.0.0
XSSサニタイズライブラリのDMOPurify 1.0.0リリース。
コードベースをES2015にし、rollupしたものを配布するように。バグ修正など
アーティクル
Accessibility Testing with pa11y
アクセシビリティテストツールのpa11yについての記事。
基本的な使い方について
Rethinking drag and drop – Alex Reardon – Medium
medium.com/@alexandereardon/rethinking-drag-and-drop-d9f5770b4e6b
React向けの縦横リストのD&Dライブラリであるreact-beautiful-dndについて。
どのようにアクセシビリティやパフォーマンスに気をつけて実装しているかについて書かれている
The State of CSS in Angular – Angular Blog
blog.angular.io/the-state-of-css-in-angular-4a52d4bd2700
AngularのCSSについて。
コンポーネントのカプセルCSS、Shadow DOMを使ったnativeのカプセル化、非推奨となった/deep/
や:ng-deep
について
HTTP/2 Server Push with Node.js | @RisingStack
blog.risingstack.com/node-js-http-2-push/
--expose-http2
フラグで有効化できるNode.jsのHTTP/2でサーバプッシュを行う方法についてのサンプル
スライド、動画関係
Ava Test Runner - A Fresh Take On JavaScript Testing and Growing an Open-Source Project - Sessions by Pusher
Node.jsのテストフレームワークであるAVAについてを紹介する発表動画。
ソフトウェア、ツール、ライブラリ関係
plouc/nivo: Make dataviz fun again
D3.jsとReactを使ったデータビジュアライズコンポーネント。 SVGの出力の対応やサーバサイドレンダリングをしてSVGを取得するHTTP APIなども用意されている。
jiayihu/pretty-algorithms: 🌊 Pretty, common and useful algorithms with modern JS and beautiful tests
github.com/jiayihu/pretty-algorithms
検索、ソート、カウントなどのよくあるアルゴリズムを実装したライブラリ
GoogleChrome/puppeteer: Headless Chrome Node API
github.com/GoogleChrome/puppeteer
Headless Chromeを扱うライブラリ。
Chromeチームが開発している。
google/songbird: Spatial Audio Encoding on the Web
Web Audio APIを使ったSpatial Audio Encodingライブラリ
shellscape/mocha-chrome: Run Mocha tests using headless Google Chrome
github.com/shellscape/mocha-chrome
MochaをHeadless chromeで動かすツール
streamich/memfs: In-memory filesystem with Node's API
Node.jsのfs
モジュール互換のメモリファイルシステムライブラリ。
ブラウザでも動作する