JSer.info #470 - Firefox 72がリリースされました
- Firefox 72 — our first song of 2020 - Mozilla Hacks - the Web developer blog
- Firefox 72 for Developers - Mozilla | MDN
- Firefox 72.0, See All New Features, Updates and Fixes
Firefox 72では開発者ツールの改善が行われ、デバッガーでプロパティにset/getに対するBreak Pointを設定できるようになっています。
また、コンソールでの非同期処理に対するスタックトレースがDeveloper Editionで有効化されています。
その他には、ES2020に入る予定のNullish coalescing operatorのサポート、CSSのShadow Parts(::part()
)、CSS Motion Pathの対応なども含まれています。
またFirefox 72からは通知許可の求めるにはユーザーインタラクションのイベント内で行う必要があるように変更されています。
詳細は次の記事で紹介されています。
- Upcoming notification permission changes in Firefox 72 - Mozilla Hacks - the Web developer blog
- Restricting Notification Permission Prompts in Firefox - Future Releases
少しアプローチは異なりますが、Chrome 80からopt-inでQuiet UIという新しい通知許可のUIが実装されています。
こちらはまだデフォルトでは入っていませんが、通知許可をより静かにする実験的なUIとなっています。
今後、Chrome User Experience Reportに基づいて許可率の低いサイトではデフォルトをQuiet UIにするといった変更を予定しているようです。
Chrome 80+ Quiet UI(opt-in) for Notificationshttps://t.co/YTCp4ny0Hv pic.twitter.com/HEqsxyWTkh
— azu (@azu_re) January 13, 2020
どちらも過剰な通知許可を求めることで体験を悪くするサイトを抑制することが目的とされています。
Node.jsの開発版であるv13.6.0がリリースされました。
正規表現にマッチするかをテストできるassert.match()
とassert.doesNotMatch()
がassert
モジュールに追加されています。
また、EventEmitter.on
のAsync Iterator対応、Streamに対するfs
の実装を指定できるオプションの追加、error
イベントを副作用なしに監視できるEventEmitter.errorMonitor
Symbolを追加なども行われています。
ブラウザのUser Timing APIやPerformanceObserverに相当するAPIを提供するperf_hooks
モジュールがStable APIになるといった変更も含まれています。
TypeScript 3.8 Betaがリリースされました
Flowにもあったimport type
/export type
で型定義だけをimport/exportできるようになっています。
新しい構文のサポートとしてES Proposal Stage 3のECMAScript Private Fieldsに対応、同じくStage 3のTop-Level await
に対応しています。
TypeScriptには元々soft privateとしてのprivate
修飾子がありましたが、今回実装されたhard privateであるPrivate Fieldsの違いについても解説されています。
その他としてtarget
とmodule
がes2020
のサポートが追加され、tsconfig.json
にwatchOptions
オプションが追加されています。
JSer.infoをサポートするには
- 😘 知り合いにJSer.infoをおすすめする
- ❤️ GitHub Sponsorsで@azuのスポンサーになる
- 🐦 X(Twitter)で@jser_infoをフォローする
JSer.info Sponsors
JSer.info SponsorsはGitHub SponsorsとしてJSer.infoを支援してくれている方々です。
ヘッドライン
Release throw new Preact('10.2.0') · preactjs/preact
github.com/preactjs/preact/releases/tag/10.2.0
Preact 10.2.0リリース。
useErrorBoundary
hookのサポート、lazy()
がnamed exportsに対応など
Firefox 72 — our first song of 2020 - Mozilla Hacks - the Web developer blog
hacks.mozilla.org/2020/01/firefox-72-our-first-song-of-2020/
Firefox 72リリース。
フラグ付きでコンソールのAsync Stack Traceの対応、CSSのShadow Parts(::part()
)、CSS Motion Pathの対応。
通知許可の求めるにはユーザーインタラクションのイベント内で行う必要があるように変更、Nullish coalescing operator、formdata
イベントの対応など
- Firefox 72 for Developers - Mozilla | MDN
- Firefox 72.0, See All New Features, Updates and Fixes
- Firefox 72 Site Compatibility | Firefox Site Compatibility
Node v12.14.1 (LTS) | Node.js
nodejs.org/en/blog/release/v12.14.1/
Node.js 12.14.1リリース。
v8.serialize
とv8.deserialize
がStable APIとなるなど
Node v13.6.0 (Current) | Node.js
nodejs.org/en/blog/release/v13.6.0/
Node.js 13.6.0リリース。
正規表現にマッチするかをテストできるassert.match()
とassert.doesNotMatch()
の実装、
EventEmitter.on
のAsync Iterator対応。
Streamに対するfs
の実装を指定できるオプションの追加、error
イベントを副作用なしに監視できるEventEmitter.errorMonitor
Symbolを追加。
perf_hooks
モジュールがStable APIになるなど
Release Notes for Safari Technology Preview 98 | WebKit
webkit.org/blog/9689/release-notes-for-safari-technology-preview-98/
Safari Technology Preview 98 リリース。
OffscreenCanvas.convertToBlob
のサポート、CSSのclamp()
のサポート。
beforeunload
やunload
時の同期XHRが禁止される変更など
Announcing TypeScript 3.8 Beta | TypeScript
devblogs.microsoft.com/typescript/announcing-typescript-3-8-beta/
TypeScript 3.8 Betaリリース。
import type
/export type
で型定義だけをimport/exportできるように、Stage 3のECMAScript Private Fieldsに対応。
Top-Level await
に対応、target
とmodule
がes2020
をサポート、watchOptions
の追加など
Release v2.9.0 · date-fns/date-fns
github.com/date-fns/date-fns/releases/tag/v2.9.0
date-fns 2.9.0リリース。
eachYearInterval
、eachMonthInterval
、isExists
の追加。
オブジェクトでまとめてDateを操作するadd
とsub
の追加など
7.8.0 Released: ECMAScript 2020, .mjs configuration files and @babel/cli improvements · Babel
babeljs.io/blog/2020/01/11/7.8.0
Babel 7.8.0リリース。
ES2020のサポートをデフォルト化、babel.config.mjs
など設定ファイルの対応を整理、--copy-ignored
と--out-file-extension
のサポートなど。
また 8.0.0に向けた準備などについて書かれている
Release Version 16.0.0 · jsdom/jsdom
github.com/jsdom/jsdom/releases/tag/16.0.0
jsdom 16.0.0リリース。
Node.js 10未満のサポート終了、dom.runVMScript()
の廃止、prototype
使ったWindow
間のプロパティ共有の廃止など。window.getSelection()
のサポート、Timerのメモリリークを修正など
Release V1 RELEASE! @pika/web is now Snowpack · pikapkg/snowpack
github.com/pikapkg/snowpack/releases/tag/v1.0.1
Snowpack 1.0.0リリース。
インストール時にES Modulesとして読み込めるモジュールを配置することで、変更ごとにビルドしないでアプリケーション開発できることを目的にしている。
@pika/web
からSnowpackにリネーム、--optimize
でのtree-shakingサポート等。
アーティクル
Guide to Web Authentication
Web Authenticationの基本的な目的や使い方について書かれた記事
Chromium Blog: Introducing quieter permission UI for notifications
blog.chromium.org/2020/01/introducing-quieter-permission-ui-for.html
Chrome 80で入る通知などのパーミッションデザインの変更について。
Quiet UIと呼ばれる新しい許可UIの追加と設定方法について。
またChrome UX Reportのデータをもとに、通知の受け入れ率が低いサイトは自動的にquieter promptsにする変更などが追加される予定。
Advancing the web framework ecosystem
web.dev/advancing-framework-ecosystem-cds-2019/
Chromeチームが最近取り組んでいるいウェブフレームワークの最適化ついて。
Angular、Next.js、Nuxt.js、Babelについてのパフォーマンス最適化などの取り組みを紹介している
Raw WebGPU
WebKitやChromiumに試験的に実装されているWebGPUについてのチュートリアル。Vulkan、DirectX 12、Metalを扱うことを目的としたWeb API、基本的な使い方について解説している
ソフトウェア、ツール、ライブラリ関係
qawolf/qawolf: 🐺Create browser tests 10x faster
PupeteerとJestを使ったテストフレームワーク。
操作を記憶してテストケースとSelectorを作成でき、CIに実行結果の動画をアップロードのサポートなどをしている。
Automatic waiting、Keyboard eventsなどをサポートしている
babel/preset-modules: A Babel preset that targets modern browsers by fixing engine bugs (will be merged into preset-env eventually)
github.com/babel/preset-modules
@babel/preset-envにマージされる予定の、Modern Browser向けの最適化を目的にしたBabel Preset。
MSEdgeなどのES Modulesをサポートしているが一部構文にバグがあるケースなどにも対応している。