Fork me on GitHub

2017-02-05のJS: AVA 0.18.0、Mithril 1.0、ES modulesとwebpackのモジュール

Edit on GitHub 編集履歴を見る

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のようなactualexpectで異なる部分をdiff表示できるようになっています。(Jestのpretty-formatをforkしたものを利用しています。)

Magic assert


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を立ててください。


ヘッドライン


Node v7.5.0 (Current) | Node.js

nodejs.org/en/blog/release/v7.5.0/

node.js ReleaseNote


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

JavaScript testing


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 ReleaseNote


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 ReleaseNote


Chrome 57 Betaリリース。
CSS Grid、Media Session APIString#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

JavaScript DOM ReleaseNote library


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

ECMAScript module webpack


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 tutorial


webpackの基本的な使い方についての解説。
moduleの扱い方、loader、plugin、コード分割、dev server、Hot reloadingについて


Next on Next.js

jsmantra.com/next-on-next-js-1a134505f346

JavaScript React サーバー


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


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

E2E testing tutorial article


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 article


Chrome 57での非推奨/削除されるAPIについて。 Vendor-prefix付きのcancelAnimationFrameIndexedDBAudioContextの削除。 BluetoothDevice.uuids<keygen>OfflineAudioContextの削除など


es6-feature-detection.js

gist.github.com/DaBs/89ccc2ffd1d435efdacff05248514f38

JavaScript ECMAScript library


実行環境がES2015を大体サポートしているかを判定する数行のスニペットコード。


スライド、動画関係


BlinkOn 7 Information - Google ドキュメント

docs.google.com/document/d/1jlpsfv0kXCveOEX5l75aATgRXbcAvwyse4Tn6jVprWs/edit#

イベント V8 Chrome google


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 video tutorial


npm scriptsを使いビルドを行う話についてのスクリーンキャスト


JSMpeg – Decode it like it's 1999

jsmpeg.com/

JavaScript video library


MPEG1/MP2をJavaScriptでデコードするライブラリ。
WebSocketsを使った動画のストリーム配信をする目的で作られている。


サイト、サービス、ドキュメント


Introduction · GitBook

vuex.vuejs.org/ja/

Vue library document 翻訳


Vuexのドキュメント翻訳


Web Platform Tests Dashboard

wptdashboard.appspot.com/

browser testing DOM WebPlatformAPI


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.rocks/

web VR


WebVRについてブラウザ別のサポート状況をまとめたサイト


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


oliver-moran/jimp: An image processing library written entirely in JavaScript for Node, with zero external or native dependencies.

github.com/oliver-moran/jimp

JavaScript library


依存がない画像処理ライブラリ。
画像のリサイズや加工などができる。


egoist/sao: Futuristic scaffolding tool.

github.com/egoist/sao

github Tools console


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.

github.com/ide/mux

JavaScript library Promises


Array、Map、Setなどが持つプロパティのPromiseを解決し、その結果を同じ構造で返せるライブラリ


書籍関係


Announcing "Learning Aurelia" from Packt Publishing

blog.aurelia.io/2017/02/01/announcing-learning-aurelia-from-packt-publishing/

JavaScript library book


Aureliaの書籍について


Exploring ES2016 and ES2017

exploringjs.com/es2016-es2017.html

ECMAScript JavaScript book


ECMAScript 2016と2017についての書籍。
ExploringJSの続編


この記事へ修正リクエストをする
記事を紹介する