Fork me on GitHub

2017-06-19のJS: webpack v3.0.0、redux 3.7.0、JavaScript最適化ハンドブック

Edit on GitHub 編集履歴を見る

JSer.info #336 - webpack 3がリリースされました。

vote結果で上位にあったScope Hoistingを行うwebpack.optimize.ModuleConcatenationPluginプラグインが追加されています。
この機能はRollupと同じようにES moduleのsyntaxで書かれている場合のみに適応されます。

またnode: falseでnode関係の機能をまとめて無効化できるように、Source Map周りの変更などが含まれています。


Redux 3.7.0がリリースされました。

配布するUMD bundleファイルをwebpack2からrollup.jsでビルドしたものへと変更されています。これによりファイルサイズなどが改善されています。


JS MythBusters, A JavaScript optimization handbook from a high level point of view.というサイトでは、JavaScriptの最適化について書かれています。
JavaScriptエンジンの実装次第で最適な方法は異なりますが、argumentsについてやタイムスタンプの作り方など一度見てみるといいかもしれません。


ヘッドライン


Announcing TypeScript 2.4 RC | TypeScript

blogs.msdn.microsoft.com/typescript/2017/06/12/announcing-typescript-2-4-rc/

TypeScript ReleaseNote

TypeScript 2.4 RCリリース。
Dynamic import、Promiseなどのgeneric type同士の扱いが厳密に、すべてがオプショナルなI/F(weak types)のチェックを厳密化。
String Enumのサポートなど


Node v8.1.0 (Current) | Node.js

nodejs.org/en/blog/release/v8.1.0/

node.js ReleaseNote

Node.js 8.1.0リリース。
npm 5.0.3へアップデート、--inspect=0でランダムポートができるように。


Firefox — Notes (54.0) — Mozilla

www.mozilla.org/en-US/firefox/54.0/releasenotes/

firefox ReleaseNote

Firefox 54.0リリース。
マルチプロセス化(e10s)、URL.toJSONの実装、URLSearchParamsUSVStringを受け入れるように、event.timeStampが高精度に、ホスト名のないURL(http://のみなど)は不正な値として扱われるように


Chromium Blog: Chrome 60 Beta: Paint Timing API, CSS font-display, and Credential Management API improvements

blog.chromium.org/2017/06/chrome-60-beta-paint-timing-api-css.html

Chrome ReleaseNote

Chrome 60βリリース。
Paint Timing API、CSS font-display、Object rest/spread propertiesのサポート。
また、Payment Request APIをデスクトップ版もサポートするなど


Release 4.0.0 / 2017-05-26 · chaijs/chai

github.com/chaijs/chai/releases/tag/4.0.0

JavaScript testing library ReleaseNote

Chai 4.0.0リリース。
Node.js 0.12のサポート終了、MapSetの対応、deepの挙動を変更、ES6 Proxyを使ったundefined safeなチェインの実装など


Release v3.7.0 · reactjs/redux

github.com/reactjs/redux/releases/tag/v3.7.0

JavaScript ReleaseNote library redux

Redux 3.7.0リリース。 RollupでbundleしたUMDバンドルを配布するように。 余計な関数コールが減るためファイルサイズなどが改善される。


rxjs/CHANGELOG.md at 6.0.0-alpha.0 · ReactiveX/rxjs

github.com/ReactiveX/rxjs/blob/6.0.0-alpha.0/CHANGELOG.md

Rx JavaScript ReleaseNote

RxJS 6.0.0-alpha.0リリース。
findbufferfirstなどの変更が含まれる


Release v3.0.0 · webpack/webpack

github.com/webpack/webpack/releases/tag/v3.0.0

webpack ReleaseNote

webpack 3.0.0リリース。
Scope Hoisting (webpack.optimize.ModuleConcatenationPlugin)の追加、node: falseでnode関係の機能をまとめて無効化できるように、Source Map周りの変更など


Angular: Angular 4.2 Now Available

angularjs.blogspot.com/2017/06/angular-42-now-available.html

AngularJS ReleaseNote

Angular 4.2リリース。
angular.ioのサイトが刷新された。


アーティクル


Auto-Play Policy Changes for macOS | WebKit

webkit.org/blog/7734/auto-play-policy-changes-for-macos/

article audio safari video

Mac Safariもmobile safariなどと同様にMediaElementの自動再生がユーザー起因でないといけなくする変更。
play()がPromiseを返し、失敗の場合はrejectされる。 Video/Audio/サイト毎に許可が決まるので、複数の要素を作るのではなく一つのsrcを変更して使うことを推奨してる。


Choo, architecture & performance – Yoshua Wuyts – Medium

medium.com/@yoshuawuyts/choo-architecture-performance-f6f0c44e8a6a

JavaScript library opinion architecture article

ウェブフロントを作成する小さなフレームワークであるChooのアーキテクチャについての解説。
Chooを構成する小さなライブラリやなぜそれを選択しているかやパフォーマンスについての記事


TypeScript 2.3: Type-Checking JavaScript Files with --checkJs | Marius Schulz

blog.mariusschulz.com/2017/06/16/typescript-2-3-type-checking-javascript-files-with-checkjs

JavaScript TypeScript article

TypeScriptの--checkJsでのJavaScriptからTypeScriptへのマイグレーション手法について。 ホワイトリスト、ブラックリストそれぞれのアプローチ方法について


スライド、動画関係


Handling Long and Unexpected Content in CSS | CSS-Tricks

css-tricks.com/handling-long-unexpected-content-css/

CSS

長いコンテンツ(文章)などによる意図しないはみ出しやレイアウト崩れ、表示被りをどう対処するかについてのパターン


ng-japan 2017 セッション資料の一覧 - Qiita

qiita.com/goto63/items/362cef58e16198e20f56

AngularJS イベント slide video

ng-japan 2017の発表動画、スライドまとめ


Up and running with Preact - Course by @shaneosbourne @eggheadio

egghead.io/courses/up-and-running-with-preact

React video tutorial

Preactについてのスクリーンキャスト


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


JS MythBusters, A JavaScript optimization handbook from a high level point of view.

mythbusters.js.org/

JavaScript performance ebook

JavaScriptの最適化ハンドブック。
V8の最適化手法についてやアルゴリズム的な最適化、よくある最適化についての解説などがまとまっている


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


AmplitudeJS: The HTML Audio Player For The Modern Era

521dimensions.com/open-source/amplitudejs

JavaScript music library

Web Audio APIを使った依存のない音楽プレイヤーライブラリ。
音楽、プレイリストのデータを設定することで再生プレイヤーを作れる。


Angelmmiguel/svgi: 🔎 The SVG inspection tool

github.com/Angelmmiguel/svgi

SVG debug

SVG inspectionツール。


25th-floor/spected: Validation library

github.com/25th-floor/spected

JavaScript library

オブジェクトに対するバリデーションルールを作成して、バリデーションを行うライブラリ


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