2017-07-03のJS

Release 1.5.0: GraphQL, CSS-in-JS & JSON · prettier/prettier

prettier 1.5.0リリース。 GraphQL、CSS in JS、JSONの対応、CSSやTypeScript、JSX周りバグ修正など

Release v7.0.0-beta.16 · babel/babylon

Babylon 7.0.0 beta16リリース。 TypeScriptパーサの追加、BigInt(Stage 2)のサポートなど

Ecma latest news

"ECMA-262 8th edition - ECMAScript® 2017 Language Specification" ES2017がGAで承認されて正式リリースされた。

Release Notes for Safari Technology Preview 34 | WebKit

Safari Technology Preview Release 34リリース。 RTCRtpTransceiver#addTransceiverをサポートしトラック単位での片方向通信を使えるように、W3C Secure Contextsの実装、SRIを試験的にサポートなど

Leveraging the Performance Metrics that Most Affect User Experience  |  Web  |  Google Developers

ユーザー体験への影響を見るパフォーマンスのメトリクスについて。 ロード時間だけでは体験を計測できないため。 そのため、First Paint/First Meaningful Paing/Time to Interactive/Longtasksを指標にそれぞれ何を意味するかや計測方法について

Chrome 60 DevTools の新機能/変更点 - Qiita

Chrome 60の開発者ツールの変更点について

NYTimes/kyt: Starting a new JS app? Build, test and run advanced apps with kyt 🔥

JavaScriptアプリのツールキット。 Babel/webpack/Jest/Stylelint/ESlint/protoなどのセットアップをまとめて行うツール

Supercharged Live Stream Blog: Code Splitting  |  Web  |  Google Developers

Code Splittingを行うBabelプラグインを作成するスクリーンキャスト

Building m.uber: Engineering a High-Performance Web App for the Global Market - Uber Engineering Blog

Uberのモバイル向けの最適化について。 Reactを使っているが、mobileではPreactに置き換えて利用している。 また、サーバサイドレンダリングや、初期bundleサイズを小さくするためのcode split、依存が小さなJustの利用、SWやIndexedDBを使ったキャッシュなどについて。 問題を見つけるためのエラーハンドリングについて。

GraphQL Network Communication Framework

クライアント <-> サーバのコミュニケーションを行うGraphQLフレームワーク。 Apollo/WebSocketベース

HTML Standard

WHATWG HTML仕様のDeveloper's Edition。 ブラウザベンダー向けの情報は削除し、ウェブ開発者向けの情報に絞ったHTML仕様。

babel/proposals: (WIP) Tracking the status of Babel's implementation of TC39 proposals

ECMAScript proposalとBabelの実装の対応をまとめたもの

roman01la/js-memory-usage: Data Structures Memory Usage in JavaScript

JavaScriptのデータ構造別/ライブラリごとのメモリ消費量をまとめたもの。List/Array/Map/SetをJavaScript/ImmutableJS/ClojureScript/GopherJS/Reasonなど色々な実装ごと比較

pinterest/esprint: Fast eslint runner

ESLintをparallelで実行できるツール

anvilresearch/webcrypto: W3C Web Cryptography API for Node.js

Node.jsでWeb Cryptography APIに対応するpolyfill(ponyfill)ライブラリ

coast-team/netflux: JavaScript client and server side transport API based on WebRTC & WebSocket

WebRTC、WebSocketを使ったP2Pライブラリ。 ブラウザ、Node.jsでデータのやり取りを行える

OnetapInc/chromy: Chromy is a library for operating headless chrome. 🍺🍺🍺

Headless ChromeをNightmare.jsのように操作するAPIを提供するライブラリ。 Chrome DevTools Protocolを使って処理をやり取りしている。

dollarshaveclub/study: A Simple, progressive, client/server AB testing library ⚡️

A/Bテストティングライブラリ。 universalで動き、storage driverでデータの保存先を指定できる。

egoist/dom-dom: JSX to actual DOM.

JSXをdocument APIを使ってDOMオブジェクトにするライブラリ

yahoo/mendel: Build toolchain for experimentation on isomorphic web applications with tree-inheritance and multivariate support.

コードのフラグではなくルールファイルベースでプロジェクト構造を管理できるツール。 試験的な機能を取り入れたA/Bテストを管理しやすくするためのフレームワーク。 フラグ管理は技術的負債となりやすく、持続可能性をYahooで調査した結果作成されたデザイン。

jaredpalmer/formik: Forms in React, without tears

React向けのフォームライブラリ