Fork me on GitHub

2019-02-19のJS: Mocha 6.0.0、Fly(Edge Applications)、サードパーティJavaScriptの実行コスト

Edit on GitHub 編集履歴を見る

JSer.info #423 - Mocha 6.0.0がリリースされました。

Node.js 4のサポート終了、--compilerなどの非推奨となっていたコマンドラインオプションを削除が行われています。
また、requireのキャッシュを削除するMocha.unloadFileの追加、.mocharc.jspackage.jsonに設定を書けるRCファイルをサポートしています。


Fly · Edge Applicationsというサービスでは、CDNのEdge LocationでJavaScript Applicationを動かせます。
FlyではV8をベースにした実行環境で、Fly runtimeを使いLB、Cache、TLS、Networkに関する処理をEdgeで行えます。
Cloudflare WorkersのようにService Worker互換のAPIをサポートしていたり、ローカルでのテスト実行などもサポートしているようです。


patrickhulce/third-party-webというリポジトリではHTTP Archiveのクロール結果から調査したサードパーティスクリプトの実行コストがまとめられています。
広告、アクセス解析、SNS、動画などのカテゴリ別に、利用数や実行にかかった平均の時間などがまとめられています。

サードパーティスクリプトがウェブページを占める割合については、次の記事も合わせてみると面白いかもしれません。


JSer.infoをサポートするには

JSer.info Sponsors

JSer.info SponsorsGitHub SponsorsとしてJSer.infoを支援してくれている方々です。


ヘッドライン


Bootstrap 4.3.0 | Bootstrap Blog

blog.getbootstrap.com/2019/02/11/bootstrap-4-3-0/

CSS ReleaseNote

Bootstrap 4.3.0リリース。
.stretched-link.text-break.rounded-sm.modal-dialog-scrollable.list-group-horizontalのクラスの追加など


Release: [email protected] - 📣 announcements - npm forum

npm.community/t/release-npm-6-8-0/5352

npm ReleaseNote

npm 6.8.0リリース。
monorepo対応としてrepositoryフィールドのdirectoryプロパティでのパッケージディレクトリの指定についてのドキュメントを追加など


Node v11.10.0 (Current) | Node.js

nodejs.org/en/blog/release/v11.10.0/

node.js ReleaseNote

Node v11.10.0リリース。
npm 6.7.0を同梱するように、perf_hooksにhistogramベースのAPIを追加、tlsモジュールのクライアントにsessionイベントを追加など


Release v1.2.0 · rollup/rollup

github.com/rollup/rollup/releases/tag/v1.2.0

JavaScript bundler ReleaseNote

Rollup 1.2.0リリース。
Hoisting時に変数名を衝突しないようにするためのリネームロジックを再実装、configファイルをCJSとしてexportしてもエラーとならないように修正など


Release v6.0.0 · mochajs/mocha

github.com/mochajs/mocha/releases/tag/v6.0.0

node.js testing ReleaseNote

Mocha 6.0.0リリース。
Node.js 4のサポート終了、非推奨のコマンドラインオプションを削除、Mocha.unloadFileの追加、RCファイルでの設定をサポートなど


アーティクル


Replacing a hot path in your app's JavaScript with WebAssembly  |  Web  |  Google Developers

developers.google.com/web/updates/2019/02/hotpath-with-wasm

WebAssembly article JavaScript

処理速度が重要な部分だけをwasmで書くという話。
JavaScript、C、AssemblyScript、Rustの比較


Trusted Types help prevent Cross-Site Scripting  |  Web  |  Google Developers

developers.google.com/web/updates/2019/02/trusted-types

Chrome XSS HTML JavaScript article

Chrome 73でTrusted Typesがフラグ付きで実装され、76までOrigin Trialとして試せる。
TrustTypesはXSSのsinkとなる部分をポリシーでチェックする。
ポリシーに一致しない場合はエラーに落とすことで回避するAPIと仕組み


Constructable Stylesheets: seamless reusable styles  |  Web  |  Google Developers

developers.google.com/web/updates/2019/02/constructable-stylesheets

CSS JavaScript article

Chrome 73で実装されたConstructable Stylesheetsについて。
共有できるCSSオブジェクトを作成して複数のShadow RootsやDocumentに対して当てられるAPI。


Rendering on the Web  |  Web  |  Google Developers

developers.google.com/web/updates/2019/02/rendering-on-the-web

JavaScript browser performance article ServiceWorker

CSR(クライアントサイドレンダリング)からSSR(サーバサイドレンダリング)などのウェブサイトのレンダリング手法やそれぞれの利点や欠点などをまとめた記事。
またService Workerを前提としたTrisomorphic Renderingについてなど


スライド、動画関係


cerebral/overmind: Overmind - Frictionless state management

github.com/cerebral/overmind

JavaScript library React Vue Angular TypeScript

ステート管理ライブラリ。
副作用をeffectsとして実装し、actionを発行して、Proxyを使ったStateの変更検知してViewの更新を行う。
React、Vue、Angularに対応したバインディングと開発者ツールが用意されている。


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


patrickhulce/third-party-web: Summary of which third party scripts are most responsible for excessive JavaScript execution on the web.

github.com/patrickhulce/third-party-web

performance browser JavaScript

HTTP Archiveのデータを元にしたウェブサイトにおけるサードパーティスクリプトの実行コストについての調査結果。
広告、アクセス解析、SNS、動画などの項目別に利用数や実行にかかった平均の時間などのまとめ。


Fly · Edge Applications

fly.io/

JavaScript cdn webservice V8

Edge ApplicationをJavaScriptで書けるCDNサービス。
OSSで公開されているfly runtimeを使いLB、Cache、TLS、Networkに関する処理をEdgeで行える。
Service Worker互換のAPIも用意されていて、ローカルでもserverを立ててテストできるようになっている。


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


postlight/mercury-parser: 📜 Extracting content from the chaos of the web.

github.com/postlight/mercury-parser

JavaScript library

ウェブサイトからメタデータやメインコンテンツを抽出するライブラリ


transloadit/uppy: The next open source file uploader for web browsers

github.com/transloadit/uppy

JavaScript library

プラグインで拡張できるファイルアップロードライブラリ。
UI、ローカルやリモートからのリソースの取得やアップロード先などをプラグインで指定できる。


modernserf/zebu: A compiler for little languages in tagged template strings

github.com/modernserf/zebu

JavaScript library document

tagged template literalを使いミニ言語を作成するライブラリ。 構文を定義して、それを扱うtagged funcitonを作成する。


この記事へ修正リクエストをする
JSer.info Slackに参加する