Fork me on GitHub

2020-10-13のJS: Chrome 86、webpack 5、Browserify 17

Edit on GitHub 編集履歴を見る

JSer.info #509 - Chrome 86がリリースされました。

File System Access API、CSS 擬似クラスの:focus-visible、Document-Policyヘッダなどのサポートなどが行われています。
Origin TrialとしてWebHID API、Multi-Screen Window Placement APIなどのサポートが追加されています。

また、Web Components v0の削除、FTPサポートの非推奨化が始まっています。


webpack 5がリリースされました。

破壊的な変更と機能追加などかなり幅広い変更を含むメジャーアップデートとなっています。

破壊的な変更として、自動的なNode.jsのpolyfillの削除、デフォルトの出力コードにES2015が含まれるように、非推奨のオプションの削除やオプション名の変更などが含まれています。
機能追加として、filesystem cache、Asset modules、JSON Modules、import.meta、Worker script、Module Federation、Async modulesのサポートされています。
また、targetオプションがbrowserslistをサポート、CommonJSのTree Shakingをサポート、コード生成とTree Shakingの改善なども行われています。

スケジュール通りのリリースのため、まだ既知のバグやloader側の対応がリリースされていない場合もあります。

4.xから5.xへのアップグレードガイドは次のページで公開されています。

また、webpack CLI 4.0.0もリリースされています。

webpack 5に対応、Webpack Bundle Analyzerを実行する--analyzeフラグの追加、--envフラグの追加、initコマンドの追加などが行われています。

webpack 5のオプションそれぞれに対応したCLIのフラグが追加されています。


Browserify 17.0.0がリリースされました。

shimライブラリのeventspathstreamutilをNode.js 10+互換となるようにアップデートされています。
また.jsonファイルをrequireする際に、JSONかどうかのバリデーションを行うように修正されています。


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

JSer.info Sponsors

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


ヘッドライン


Node v12.19.0 (LTS) | Node.js

nodejs.org/en/blog/release/v12.19.0/

node.js ReleaseNote

Node v12.19.0リリース。
importフィールドのサポート、cryptoモジュールにrandomInt関数の追加。
module.parentの非推奨化など


New in Chrome 86  |  Web  |  Google Developers

developers.google.com/web/updates/2020/10/nic86

Chrome ReleaseNote

Chrome 86リリース。
File System Access API、CSS 擬似クラスの:focus-visible、Document-Policyヘッダなどのサポート。
Origin TrialとしてWebHID API、Multi-Screen Window Placement APIなどのサポート。
Web Components v0の削除、FTPサポートの非推奨化。


Release v9.5.4 · vercel/next.js

github.com/vercel/next.js/releases/tag/v9.5.4

Next.js React JavaScript library ReleaseNote

Next.js 9.5.4リリース。
オープンリダイレクト脆弱性のセキュリティ修正


Release Notes for Safari Technology Preview 114 | WebKit

webkit.org/blog/11300/release-notes-for-safari-technology-preview-114/

safari ReleaseNote

Safari Technology Preview 114リリース。
Intl.DateTimeFormatdateStyle/timeStyle/dayPeriodのサポート、Intl.Segmenterのサポート。
Paint Timingの有効化、WebGL2の有効化、loading=lazyの実装など


Release v17.0.0 · browserify/browserify

github.com/browserify/browserify/releases/tag/v17.0.0

browserify ReleaseNote

Browserify 17.0.0リリース。
shimライブラリのeventspathstreamutilをNode.js 10+互換となるようにアップデート。
.jsonファイルのrequire時にJSONのバリデーションを行うように


Webpack 5 release (2020-10-10) | webpack

webpack.js.org/blog/2020-10-10-webpack-5-release/

webpack ReleaseNote

webpack 5リリース。
破壊的な変更として、自動的なNode.jsのpolyfillの削除、デフォルトの出力コードにES2015が含まれるように、非推奨のオプションの削除やオプション名の変更など。
機能追加として、filesystem cache、Asset modules、JSON Modules、import.meta、Worker script、Module Federation、Async modulesのサポート。
また、targetオプションがbrowserslistをサポート、CommonJSのTree Shakingをサポート、コード生成とTree Shakingの改善など


webpack-cli/CHANGELOG.md at master · webpack/webpack-cli

github.com/webpack/webpack-cli/blob/master/CHANGELOG.md#400-2020-10-10

webpack console Tools

webpack-cli 4.0.0リリース。
webpack 5に対応、Webpack Bundle Analyzerを実行する--analyzeフラグの追加、--envフラグの追加、initコマンドの追加など


Release v5.9.0 · pnpm/pnpm

github.com/pnpm/pnpm/releases/tag/v5.9.0

npm Tools ReleaseNote

pnpm 5.9.0リリース。
YarnのPlug'n'Playをサポート、symlinkを無効化できる設定の追加など


アーティクル


Gaining security and privacy by partitioning the cache  |  Web

developers.google.com/web/updates/2020/10/http-cache-partitioning

Chrome HTTP article

Chrome 86でのCache partitioningについて。
今まではアクセスするリソースのURLのみでCache Keyを構成していたが、今後はアクセス元のサイトなどもCache Keyに利用されるという話。
アクセス元のサイトとアクセスするリソースのURLのDouble-keying、アクセス元のサイトとiframeのサイトとアクセスするリソースのURLのTriple-keyingのキャッシュについて


Bringing the browser developer tools to Visual Studio Code - Microsoft Edge Blog

blogs.windows.com/msedgedev/2020/10/01/microsoft-edge-tools-vscode/

MSEdge VSCode plugin

Microsoft Edge Tools for VS Code extensionリリース。
VSCode内でMSEdgeを使ったプレビュー、デバッグができる。
ヘッドレスモードの対応、Networkパネルの対応などをしている


Understanding TypeScript Generics — Smashing Magazine

www.smashingmagazine.com/2020/10/understanding-typescript-generics/

TypeScript tutorial article

TypeScriptのGenericsについての記事。
Genericsの使い方、ユースケースについて


Using WebXR With Babylon.js — Smashing Magazine

www.smashingmagazine.com/2020/10/using-webxr-with-babylonjs/

WebXR WebGL article tutorial

WebXRについてのチュートリアル。
WebXR、3DoF、6DoFの解説。
babylon.jsを使ったWebXRのシーンの作成、デバッグ方法について


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


doc22940/browserslist-user-agent-regexp

github.com/doc22940/browserslist-user-agent-regexp

JavaScript browser library Tools

browserslistの定義からサポートするブラウザのUser Agentにマッチする正規表現を出力するツール


boa-dev/boa: Boa is an embeddable and experimental Javascript engine written in Rust. Currently, it has support for some of the language.

github.com/boa-dev/boa

JavaScript Rust library

Rustで書かれたJavaScriptエンジン。
Rustのプロジェクトに組み込んだり、JavaScriptインタープリタをWebAssemblyとして動かすことができる


awslabs/diagram-maker: A library to display an interactive editor for any graph-like data.

github.com/awslabs/diagram-maker

aws JavaScript

AWSのダイアグラムエディタ。
ライブラリとして利用でき、プラグインで拡張可能になっていて、UIはPreactとReduxを使って書かれている。


tuananh/camaro: camaro is an utility to transform XML to JSON, using Node.js binding to native XML parser pugixml, one of the fastest XML parser around.

github.com/tuananh/camaro

JavaScript XML JSON library WebAssembly

XMLをJSONに変換するライブラリ。
C++で書かれていてWebAssemblyにコンパイルしたものを利用するライブラリ


RDambrosio016/RSLint: A (WIP) Extremely fast JavaScript linter and Rust crate

github.com/RDambrosio016/RSLint

Rust JavaScript eslinn

Rustで書かれたJavaScript Lintツール。


RocktimSaikia/meta-fetcher: 🔎 Tiny URL meta-data fetcher(scrapper) for Node.js

github.com/RocktimSaikia/meta-fetcher

node.js library

ウェブサイトのメタ情報を取得するnode-fetchベースのスクレイピングライブラリ


mljs/ml: Machine learning tools in JavaScript

github.com/mljs/ml

MachineLearning JavaScript library

機械学習向けのツールを集めたライブラリ


Schniz/fnm: 🚀 Fast and simple Node.js version manager, built in Rust

github.com/Schniz/fnm

node.js Tools Rust

Rustで書かれたNode.jsのバージョン管理ツール。


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