JSer.info #317 - テスティングフレームワークのAVA 0.18.0がリリースされました。
Node.js 0.10と0.12のサポート終了、Snapshot testing(JSX)用のt.snapshot
の追加などが行われています。
今まではpower-assertを同梱することで、テストが落ちたときの表示をビジュアライズ表示していました。
0.18.0からはMagic assertを追加し、MochaやJestのようなactual
とexpect
で異なる部分をdiff表示できるようになっています。(Jestのpretty-formatをforkしたものを利用しています。)
JavaScript フレームワークのMithril 1.0、ES modulesとwebpackのモジュール 1.0がリリースされました。
上のマイグレーションガイド兼リリースノートを見ると、様々な変更が行われています。
ライフサイクルメソッドの追加、コンポーネントは渡す際にm()
でwrapが必須に、m.sync
の削除、同期的なredrawの削除などが行われています。
シグネチャが変更されている部分も多いため、上のマイグレーションガイドを見ると良いです。
また、マイグレーションツールも公開されているので併せて利用すると良さそうです。
Native ECMAScript modules: the new features and differences from Webpack modulesという記事では、ECMAScript modulesとwebpackが扱うモジュールとの違いについて書かれています。
MSEdgeやWebKitなど実際にECMAScript modulesが動く環境もでてきています。
また、モジュールにおける<script>
要素の属性周りについてもかかれているので読んでみると面白いかもしれません。
お知らせ
JSer.info 6周年記念イベントでもお話していた、jser/reportの1回目を公開しました。
まだどのような方向でやるのか、どのようなテーマがいいのか、コストをどうやって小さくするのかなど課題が多いです。
何かご意見がありましたら、Twitterのハッシュタグ#jserinfoや@jser_infoにmentionしたり、jser/reportにIssueを立ててください。
JSer.infoをサポートするには
- 😘 知り合いにJSer.infoをおすすめする
- ❤️ GitHub Sponsorsで@azuのスポンサーになる
- 🐦 X(Twitter)で@jser_infoをフォローする
JSer.info Sponsors
JSer.info SponsorsはGitHub SponsorsとしてJSer.infoを支援してくれている方々です。
ヘッドライン
Node v7.5.0 (Current) | Node.js
nodejs.org/en/blog/release/v7.5.0/
Node v7.5.0リリース。
npmのアップデート、
NODE_NO_WARNINGS
の環境変数(--no-warnings
と同等)を追加など
Release 0.18.0 · avajs/ava
github.com/avajs/ava/releases/tag/v0.18.0
AVA 0.18.0リリース。
Node.js 0.10と0.12のサポート終了、Snapshot testing(JSX)、Magic assertの追加など
Announcing TypeScript 2.2 RC | TypeScript
blogs.msdn.microsoft.com/typescript/2017/02/02/announcing-typescript-2-2-rc/
TypeScript 2.2 RCリリース。
プリミティブ型以外を表現する
object
typeの追加、class expressionを使ったmixinの表現をサポート、JSXのreact-nativeのサポートなど
Chromium Blog: Chrome 57 Beta: CSS Grid Layout, Improved Add to Home screen, Media Session API
blog.chromium.org/2017/02/chrome-57-beta-css-grid-layout-improved.html
Chrome 57 Betaリリース。
CSS Grid、Media Session API、
String#padStart
のサポート。setTimeout()
が条件によりthrottleされるように、XSS Auditor(フィルター)がデフォルトでmode blockとなるように
mithril.js/change-log.md at rewrite · lhorie/mithril.js
github.com/lhorie/mithril.js/blob/rewrite/docs/change-log.md
Mithril 1.0リリース。
ライフサイクルメソッドの追加、コンポーネントは渡す際に
m()
でwrapが必須に、m.sync
の削除、同期的なredrawの削除など多くの変更がされている。
アーティクル
Native ECMAScript modules: the new features and differences from Webpack modules
blog.hospodarets.com/native-ecmascript-modules-new-features
webpackなどのモジュールとネイティブのES moduleの違いについてまとめられた記事。 モジュールパス、CORS、
script
要素の属性、エラー判定、ES moduleの挙動、feature detectionの方法、fallback、script
要素のtype
の取得についてなど
A Beginners Guide to Webpack 2 and Module Bundling
www.sitepoint.com/beginners-guide-to-webpack-2-and-module-bundling/
webpackの基本的な使い方についての解説。
moduleの扱い方、loader、plugin、コード分割、dev server、Hot reloadingについて
Next on Next.js
jsmantra.com/next-on-next-js-1a134505f346
Reactを使ったフレームワークであるNext.js 2βについて。
ルーティング、コード分割、webpack 2のサポート、webpackやbabelの設定のカスタマイズなどの変更点について
CSS Grid – Table layout is back. Be there and be square. | Web | Google Developers
developers.google.com/web/updates/2017/01/css-grid
CSS Gridの概要解説記事
How to set up E2E browser testing for your GitHub project
hackernoon.com/how-to-set-up-e2e-browser-testing-for-your-github-project-89c24e15a84
TestCafeを使ってのE2Eテストの設定方法について。 PageObjectパターン、Travis CIやSauce Labsとの連携について
API Deprecations and Removals in Chrome 57 | Web | Google Developers
developers.google.com/web/updates/2017/02/chrome-57-deprecations
Chrome 57での非推奨/削除されるAPIについて。 Vendor-prefix付きの
cancelAnimationFrame
、IndexedDB
、AudioContext
の削除。 BluetoothDevice.uuids
、<keygen>
、OfflineAudioContext
の削除など
es6-feature-detection.js
gist.github.com/DaBs/89ccc2ffd1d435efdacff05248514f38
実行環境がES2015を大体サポートしているかを判定する数行のスニペットコード。
スライド、動画関係
BlinkOn 7 Information - Google ドキュメント
docs.google.com/document/d/1jlpsfv0kXCveOEX5l75aATgRXbcAvwyse4Tn6jVprWs/edit#
GoogleのBlinkOn7のイベントまとめ。
スライドがまとめられている
How to Use npm Scripts as Your Build Tool - Course by @elijahmanor @eggheadio
egghead.io/courses/how-to-use-npm-scripts-as-your-build-tool
npm scriptsを使いビルドを行う話についてのスクリーンキャスト
JSMpeg – Decode it like it's 1999
MPEG1/MP2をJavaScriptでデコードするライブラリ。
WebSocketsを使った動画のストリーム配信をする目的で作られている。
サイト、サービス、ドキュメント
Introduction · GitBook
Vuexのドキュメント翻訳
Web Platform Tests Dashboard
w3c/web-platform-tests: Test Suites for Web Platform specifications—including WHATWG, W3C and othersをブラウザ別で実行した結果がまとめられているページ
WebVR Rocks • Your guide to Virtual Reality in the browser.
WebVRについてブラウザ別のサポート状況をまとめたサイト
ソフトウェア、ツール、ライブラリ関係
oliver-moran/jimp: An image processing library written entirely in JavaScript for Node, with zero external or native dependencies.
依存がない画像処理ライブラリ。
画像のリサイズや加工などができる。
egoist/sao: Futuristic scaffolding tool.
Gitリポジトリやnpmパッケージなどを元にしてプロジェクトを生成出来るscaffoldingツール
ide/mux: Creates a promise that waits for the promises in nested data structures and resolves to data structures of the same form. It recursively traverses the input data structure and multiplexes its promises.
Array、Map、Setなどが持つプロパティのPromiseを解決し、その結果を同じ構造で返せるライブラリ
書籍関係
Announcing "Learning Aurelia" from Packt Publishing
blog.aurelia.io/2017/02/01/announcing-learning-aurelia-from-packt-publishing/
Aureliaの書籍について
Exploring ES2016 and ES2017
exploringjs.com/es2016-es2017.html
ECMAScript 2016と2017についての書籍。
ExploringJSの続編