JSer.info #305 - TypeScript 2.1 RCがリリースされました。
- TypeScript 2.1 RC: Better Inference, Async Functions, and More | TypeScript
- Roadmap · Microsoft/TypeScript Wiki
- TypeScript 2.1.1 変更点 - Qiita
2.1ではasync/awaitがES3とES5への出力ができるようになりました。
また、tsconfig.jsonにextends
の追加、--target ESNext
のサポート、JSXをReact以外でも利用できるように--jsxFactoryの追加などが行われています。
RC時点(2.1.1)ではまだ入っていませんが、正式リリース時にはMapped typesなどの追加も予定されています。
Node.js v7.1.0リリースされました。
Node.js v7.0.0でString(global)
に意図しない破壊的な変更が入っていたのが修正されました。
V8のECMAScript仕様追従により、Node.js v7.0.0でString(global)
が"[object Object]"
を返すようになっていました。
// Node.js v7.0.0
String(global);// "[object Object]"
そのためglobal[Symbol.toStringTag]
が定義されました。これにより、今までと同じ "[object global]"
が返されるようになっています。
// Node.js v7.1.0
String(global);// "[object global]"
このパターンはNode.jsで実行されているかを判定するために使ってるモジュールがあったため、一度元の挙動(Node.js v6)に戻すようです。
- npm grep for 'object global' on Oct 26 2016
- lib: make
String(global) === '[object global]'
by addaleax · Pull Request #9279 · nodejs/node
ヘッドライン
TestCafe v0.10.0 Released | TestCafe
devexpress.github.io/testcafe/blog/testcafe-v0-10-0-released.html
TestCafe v0.10.0リリース。
Snapshot APIを扱いやすく、automatic waitの仕組みを改善、speed
オプションでテストの実行速度をコントールできるようになるなど
TypeScript 2.1 RC: Better Inference, Async Functions, and More | TypeScript
TypeScript 2.1 RCリリース。
any
型の改善、tsconfig.jsonのextends
対応、async/awaitがES3/ES5へ出力できるようになるなど
Node v7.1.0 (Current) | Node.js
nodejs.org/en/blog/release/v7.1.0/
Node.js v7.1.0リリース。
V8の仕様追従により意図しない破壊的な変更が起きていた。
String(global);// "[object Object]"
そのためglobal[Symbol.toStringTag]
が定義された。これにより、今までと同じ "[object global]"
が返されるようになった。
String(global);// "[object global]"
Release Notes for Safari Technology Preview 17 | WebKit
webkit.org/blog/7071/release-notes-for-safari-technology-preview-17/
Safari Technology Preview Release 17リリース。
NPAPIプラグインのサポート終了、Custom Elementのデフォルト有効化、rel=noopener
のサポートなど
アーティクル
Migrating to Jest – Medium
medium.com/@kentcdodds/migrating-to-jest-881f75366e7e
AVAとMochaでのテストをJestにマイグレーションする方法とツール(codemods)について。
UI testsの時間が短縮されてる。
Migrating an Angular 1 App to Angular 2 - Part 1
auth0.com/blog/migrating-an-angular-1-app-to-angular-2-part-1/
AngularJS 1.xのアプリをAngularJS 2へマイグレーションするチュートリアル
FLOCSSを使ってCSSファイルを20,000行から9,000行にした話 - Qiita
qiita.com/Atsss/items/4f9d98fb1d0546539c09
CSSのリファクタリング手法や方針について。
どのようなフローでリファクタリングを進めていったかや進捗の可視化について
2016年、Web Audio API はどう変わったのか? | g200kg Music & Software
www.g200kg.com/archives/2016/11/2016web-audio-a.html
Web Audio APIの変更点について。
AudioWorkerがAudioWorkletにリネーム、ConstantSourceNodeの追加、コンストラクタのサポートなど
Writing a JavaScript Framework - Data Binding with ES6 Proxies | @RisingStack
blog.risingstack.com/writing-a-javascript-framework-data-binding-es6-proxy/
ProxyやReflect APIを使い、値の変更を監視するObservableライブラリ。
ES5のgetter/setterを使ったアプローチとの比較
Pitfall: not all objects can be proxied transparently
www.2ality.com/2016/11/proxying-builtins.html
ES2015のProxyでhandlerオブジェクトが空である場合に透過的な動作を期待するがそうではないという話
Logging Errors in Client-Side Applications
www.sitepoint.com/logging-errors-client-side-apps/
クライアントサイドのロガーやエラー収集サービスについてのまとめ
Improving Perceived Performance with Multiple Background Images – CSS Wizardry – CSS, OOCSS, front-end architecture, performance and more, by Harry Roberts
csswizardry.com/2016/10/improving-perceived-performance-with-multiple-background-images/
background-image
に指定した画像が表示されるまで、linear-gradient
を使った模様を代替表示するFallbackについて
スライド、動画関係
Chrome Dev Summit 2016 - YouTube
www.youtube.com/user/ChromeDevelopers
Chrome Dev Summit 2016の動画まとめ
ソフトウェア、ツール、ライブラリ関係
deck.gl
Uber製のWebGLを使ったデータビジュアライゼーションライブラリ
doiuse...?
CSSをペーストして指定したブラウザ(autoprefixerのフォーマット)で利用できるかをチェックできるツール
caiogondim/logdown.js: Debug utility with markdown support that runs on browser and server
github.com/caiogondim/logdown.js
ブラウザとNode.jsで動くシンプルなロガーライブラリ
th0r/webpack-bundle-analyzer: Webpack plugin and CLI utility that represents bundle content as convenient interactive zoomable treemap
github.com/th0r/webpack-bundle-analyzer
webpackのbundleの構成要素やサイズをビジュアライズできるプラグイン
DJWassink/Promise-parallel-throttle: It's like Promise.all(), but throttled!
github.com/DJWassink/Promise-parallel-throttle
一度に実行する数を指定できるPromise.all
的なライブラリ
dop251/goja: ECMAScript 5.1(+) implementation written in Go
ECMAScriptのGo言語実装。
ES5.1相当の実装をしてる
dhamaniasad/HeadlessBrowsers: A list of (almost) all headless web browsers in existence
github.com/dhamaniasad/HeadlessBrowsers
ヘッドレスブラウザ(テストのためのライブラリも含む)のまとめ