Fork me on GitHub

2017-02-25のJS: Node v7.6.0、CoffeeScript 2.0α、Vue v2.2.0

Edit on GitHub 編集履歴を見る

JSer.info #320 - Node v7.6.0がリリースされました。

Node v7.6.0ではV8が5.5にアップデートされています。
V8 5.5ではasync/awaitがデフォルトで有効化されているため、Node v7.6.0からasync/awaitが利用できます。


CoffeeScript 2.0.0-alpha1がリリースされました。

npm install coffeescript@next

CoffeeScript 2.0.0はES2015以降の対応が中心です。
for...of、Tagged template literals、Async/awaitの対応などが行われています。
また、classがES2015 classesへコンパイルできるように仕様追従、デフォルトパラメータでnullを引数に渡した時の挙動をES2015仕様に追従など破壊的な変更も含まれています。

詳しくはリリースノートを参照してください。


Vue v2.2.0がリリースされました。

テンプレートで閉じタグがない場合にエラーを投げるように、PropsやComputedプロパティはインスタンスではなくprototypeへ定義されるように。
(一部暗黙的だった挙動が修正されているため、そこへ依存しているコードは修正が必要です)

サーバサイドレンダリング向けにtemplateオプションの追加、ライフサイクルhook中のエラーをerrorHandlerrenderErrorでエラーがキャッチできるように。
React Context的な値を差し込めるprovideinjectのDI機構の追加されています。


ヘッドライン


🃏 Jest 19: Immersive Watch Mode & Test Platform Improvements · Jest

facebook.github.io/jest/blog/2017/02/21/jest-19-immersive-watch-mode-test-platform-improvements.html

JavaScript testing ReleaseNote


Jest 19プレリリース。
Watchモードの改善、Snapshotテストでtestprefixが不要に。
expect.stringContaining()expect.toMatchObject()のサポート。
eslint-plugin-jestは公式プラグイン、設定をチェックできるjest-validateの公開


Release v1.5.0 · karma-runner/karma

github.com/karma-runner/karma/releases/tag/v1.5.0

JavaScript testing ReleaseNote


Karma v1.5.0リリース。
テストをクライアントと同じwindowで実行するrunInParentオプションとクライアントページのHTMLを指定できるcustomClientContextFileオプションの追加など


Node v7.6.0 (Current) | Node.js

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

node.js ReleaseNote


Node v7.6.0リリース。
V8 5.5にアップデートされasync/awaitのサポート、url.formatがWHATWG URLをサポートするようになるなど


Progress as of February 2017: 2.0.0-alpha1! · Issue #71 · coffeescript6/discuss

github.com/coffeescript6/discuss/issues/71

CoffeeScript ReleaseNote issue


CoffeeScript 2.0.0-alpha1リリース。
ES2015+に準拠した変更を取り入れていっているバージョンであるため、既存のものとは非互換な部分がある。
class=>がES2015と同等に、
splatsはspreadへコンパイルされるように、Tagged Template literal、async/await、for...ofのサポートなど


Announcing TypeScript 2.2 | TypeScript

blogs.msdn.microsoft.com/typescript/2017/02/22/announcing-typescript-2-2/

TypeScript ReleaseNote


TypeScript 2.2リリース。
language serviceの改善、object typeの追加、string index、mixin class、new.targetのサポートなど


Release Notes for Safari Technology Preview 24 | WebKit

webkit.org/blog/7423/release-notes-for-safari-technology-preview-24/

safari ReleaseNote


Safari Technology Preview Release 24リリース。
PerformanceObserver<link preload>の試験的サポート、URLオブジェクトにtoJSON()の実装、dynamic import()のサポートなど


ECMAScript 2016+ in Firefox | JavaScript

blog.mozilla.org/javascript/2017/02/22/ecmascript-2016plus-in-firefox/

firefox ECMAScript JavaScript


Firefox Nightly 54 でES2016+ Compat tableが100%実装されたとのこと。
ES2016の**Array#includeなどの追加やGenerator Constructorの仕様変更の追従、ES2017の実装について


Release v4.4.0 · npm/npm

github.com/npm/npm/releases/tag/v4.4.0

npm ReleaseNote


npm 4.4.0公開。
起動時に最新のnpmがあるかを通知するように、npm run-scriptのエラーメッセージが短くなるようになるなど


Release v6.16.0 · babel/babylon

github.com/babel/babylon/releases/tag/v6.16.0

JavaScript babel AST ReleaseNote


babylon 6.16.0リリース。
ESTree互換モードを提供するプラグインの追加、Flowでpritimitive typeを上書する問題を修正するなど


Release v0.40.0 · facebook/flow

github.com/facebook/flow/releases/tag/v0.40.0

flowtype ReleaseNote


Flow v0.40.0リリース。
thissuperをデフォルト引数に利用できるように、built-in libraryの更新、union type周りの最適化など


angular/CHANGELOG.md at 4.0.0-rc.1 · angular/angular

github.com/angular/angular/blob/4.0.0-rc.1/CHANGELOG.md

AngularJS ReleaseNote


Angular 4.0.0 RC1リリース。
AOTコンパイルしたViewのコード量を削減、コードベースがTypeScript 2.1ベースでStrictNullChecksが有効化された。
あわせてAngularをサーバサイドでも動かせるUniversalも更新されるなど


Release v2.2.0 · vuejs/vue

github.com/vuejs/vue/releases/tag/v2.2.0

JavaScript library ReleaseNote


Vue.js v2.2.0リリース。
テンプレートで閉じタグがない場合にエラーを投げるように、PropsやComputedプロパティはインスタンスではなくprototypeへ定義されるように。
サーバサイドレンダリング向けにtemplateオプションの追加、errorHandlerrenderErrorでエラーがキャッチできるように。
React Context的な値を差し込めるprovideinjectのDI機構の追加など


アーティクル


babel-preset-env: a preset that configures Babel for you

www.2ality.com/2017/02/babel-preset-env.html

JavaScript babel browser


browserlistの構文でサポートブラウザやNode.jsのバージョンなどのターゲットを指定して、その設定を元にBabelの変換やpolyfillを展開してくれるbabel-preset-envについて


React Storybook: Develop Beautiful User Interfaces with Ease

www.sitepoint.com/react-storybook-develop-beautiful-user-interfaces-with-ease/

React testing


Reactコンポートの開発補助ツールであるReact StoryBookについて。
getstorybookを使ってのセットアップや使い方、Storyの書き方、カスタマイズ方法、デバッグ、自動テストについて


JavaScript Errors and Stack Traces in Depth

lucasfcosta.com/2017/02/17/JavaScript-Errors-and-Stack-Traces.html

JavaScript article testing


JavaScriptのスタックトレースをどうやって操作するかという話。
ChaiにおけるError.captureStackTraceを使ったスタックトレース操作を例にしている。
スタックトレースはどのようにできているか、Error.captureStackTraceの使い方について


React Redux Real World Examples 〜先人から学ぶReact Reduxの知恵〜

blog.tai2.net/real-world-redux.html

redux React article


ReactとReduxの色々な事例を元に、そのアプリのStoreやComponentがどのような構成になっているかを紐解いていった記事


Vendor and code splitting in webpack 2 – Medium

medium.com/@adamrackis/vendor-and-code-splitting-in-webpack-2-6376358f1923

webpack article


webpack 2でのコード分割について。
import()での動的ロードと分割、BundleAnalyzerPluginでの分析、CommonsChunkでの分割


逆引き!フロントエンドのイマドキパフォーマンス改善 - 青空コメントアウト

www.aocomme.com/entry/2017/01/18/185753

browser performance article WebPlatformAPI


最近ブラウザに増えたレンダリング負荷を考慮したAPIや先読みについて。
will-change、CSS Containment、requestIdleCallback、Passive EventListener、<link rel=preload>についての紹介


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


lighterio/exam: Node.js test framework

github.com/lighterio/exam

JavaScript node.js testing library


MochaやJasmineのようなdescribeitとベンチマーク向けのbench、assertionとしてis、モックを行うmockなど持つJavaScriptのテストフレームワーク。
マルチプロセスでテストを実行できるオプションを持っている


niieani/typescript-vs-flowtype: Differences between Flowtype and TypeScript 2.1 -- syntax and usability

github.com/niieani/typescript-vs-flowtype

TypeScript flowtype


TypeScriptとFlowtypeの比較。
シンタックスや型定義、それぞれ異なる部分についてなどをまとめたもの


developit/unfetch: Bare minimum fetch polyfill in 500 bytes.

github.com/developit/unfetch

JavaScript Fetch library


幾つかの制限を持った小さなfetchのライブラリ。


debitoor/dot-prop-immutable: Immutable version of dot-prop with some extensions

github.com/debitoor/dot-prop-immutable

JavaScript library


immutableなget/set/delete操作を行うシンプルなライブラリ


書籍関係


Professional JavaScript for Web Developers: Matt Frisbie: 9781119366447: Amazon.com: Books

www.amazon.com/Professional-JavaScript-Developers-Matt-Frisbie/dp/1119366445

JavaScript book


2017年10月2日発売
Professional JavaScript for Web Developersの4版


Security and Frontend Performance - O'Reilly Media

www.oreilly.com/webops-perf/free/security-and-frontend-performance.csp

browser security performance book


60ページほどのウェブサイトにおけるパフォーマンスとセキュリティについての無料の書籍。
HSTS、CSP/script要素/iframe、リファラポリシー、link要素、難読化、ServiceWorker、メトリクスなど


O'Reilly Japan - Reactビギナーズガイド

www.oreilly.co.jp/books/9784873117881/

React book


2017年03月11日発売
React: Up & Runningの翻訳本


はじめてのCSS設計 フロントエンドエンジニアが教えるメンテナブルなCSS設計手法 | 田辺 丈士, 大江 遼, 藤岡 龍太, 安 光太郎, 株式会社アイ・エム・ジェイ |本 | 通販 | Amazon

www.amazon.co.jp/%E3%81%AF%E3%81%98%E3%82%81%E3%81%A6%E3%81%AECSS%E8%A8%AD%E8%A8%88-%E3%83%95%E3%83%AD%E3%83%B3%E3%83%88%E3%82%A8%E3%83%B3%E3%83%89%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%81%8C%E6%95%99%E3%81%88%E3%82%8B%E3%83%A1%E3%83%B3%E3%83%86%E3%83%8A%E3%83%96%E3%83%AB%E3%81%AACSS%E8%A8%AD%E8%A8%88%E6%89%8B%E6%B3%95-%E7%94%B0%E8%BE%BA-%E4%B8%88%E5%A3%AB/dp/4798143154

CSS book


2017年3月14日発売
CSSの設定についての書籍


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