Fork me on GitHub

2020-06-30のJS: Angular 10、TypeScript 4.0 Beta、Safari 14の変更点(Tracking Prevention)

Edit on GitHub 編集履歴を見る

JSer.info #494 - Angular 10がリリースされました。

依存するTypeScriptがそれぞれTypeScript 3.9TSLib 2.0TSLint 6にアップデートされています。

Angular MaterialにDate Range Pickerの追加されています。
CommonJSを取り込むと警告がでるようになりES Momodulesを使うことを推奨するようになりました。
ng new--strictオプションの追加され、TypeScriptなどのビルド時のstrictフラグをまとめて有効化できるようになっています。
また新しいプロジェクトでのデフォルトのbrowserslistsが更新され、ES5のビルドを生成しないようになっています。


TypeScript 4.0 Betaがリリースされました。

Variadic Tuple Types、Labeled Tuple Elements、コンストラクタからClass Propertyの推論ができるようになっています
またcatch節の変数(識別子)の型としてunknownを指定できるようになっています。
その他にはStage 3のlogical assignmentをサポート、jsxFragmentFactoryオプションのサポート、VSCodeで起動速度を向上させるためのPartial Editing Modeのサポートなどが含まれています。


Safari 14のBetaが公開されていますが、同様の変更内容を含むSafari Technology Previewが公開されています。

また、Tracking Prevention in WebKit | WebKitというドキュメントでは、
Safariのトラッキング防止に関する用語の解説や具体的にブロックするものについて解説されています。
Fingerprintingが可能になる可能性があるため、次のAPIを実装する予定がないことについても書かれています。

  • Web Bluetooth
  • Web MIDI API
  • Magnetometer API
  • Web NFC API
  • Device Memory API
  • Network Information API
  • Battery Status API
  • Ambient Light Sensor
  • HDCP Policy Check extension for EME
  • Proximity Sensor
  • WebHID
  • Serial API
  • Web USB
  • Geolocation Sensor (background geolocation)
  • User Idle Detection

FirefoxもこれらのAPIのうちいくつかに関してはharmfulという立場を示しています。


ヘッドライン


Version 10 of Angular Now Available - Angular Blog

blog.angular.io/version-10-of-angular-now-available-78960babd41

Angular ReleaseNote

Angular 10.0.0リリース。
Angular MaterialにDate Range Pickerの追加。
CommonJSを取り込むと警告がでるように、ng new--strictオプションの追加、TypeScript 3.9へのアップデート、デフォルトのbrowserslistsの更新など


Announcing TypeScript 4.0 Beta | TypeScript

devblogs.microsoft.com/typescript/announcing-typescript-4-0-beta/

TypeScript ReleaseNote

TypeScript 4.0 Betaリリース。
Variadic Tuple Types、Labeled Tuple Elements、コンストラクタからClass Propertyの推論ができるように。
catch節の変数がanyからunknownに変更。
Stage 3のlogical assignmentをサポート、jsxFragmentFactoryオプションのサポート、VSCodeでPartial Editing Modeのサポートなど。


Release Notes for Safari Technology Preview 109 with Safari 14 Features | WebKit

webkit.org/blog/10875/release-notes-for-safari-technology-preview-109-with-safari-14-features/

safari ReleaseNote

Safari Technology 109リリース。
Safari 14の変更も含まれる。
WebExtensions、Private report、Web Authentication、private class fieldsのサポート。
Flashのサポート終了など。


hapi.js on Twitter: "Some un-hapi and joi-less news..." / Twitter

twitter.com/hapijs/status/1275887984114413569

node.js server library news

Node.jsフレームワークであるhapiのコア開発者がhapiの開発を終了するという宣言をした。


アーティクル


Async Clipboard API | WebKit

webkit.org/blog/10855/async-clipboard-api/

safari article

Safari 13.1でサポートされたAsync Clipboard APIについて。
クリップボードの読み書き、Security/Privacyにおける制限について


What's New In DevTools (Chrome 85)  |  Web  |  Google Developers

developers.google.com/web/updates/2020/06/devtools

Chrome article

Chrome 85の開発者ツールの変更点について。
CSSOM経由で追加されたCSSを編集に対応、Lighthouse 6にアップデート、App shortcutsについての警告に対応、respondWithがTimingタブに表示。
パフォーマンスパネルにJavaScriptのコンパイルキャッシュの情報を表示するようになるなど


Refactoring optional chaining into a large codebase: lessons learned – Lea Verou

lea.verou.me/2020/06/refactoring-optional-chaining-into-a-large-codebase-lessons-learned/

JavaScript article refacoring

ES2020で入ったOptional Chainingを使ったリファクタリングについて。
Optional Chainingに書き換えできるパターン、書き換えてはいけないパターンについてなど


Reactのレンダリングに関する完全ガイド - Qiita

qiita.com/hellokenta/items/6b795501a0a8921bb6b5

React article translate

Complete Guide to React Rendering Behaviorの翻訳。
レンダリングとコミットのフェーズ、レンダリングの動作、パフォーマンスの測定、再レンダリングのタイミングについてなど


Tracking Prevention in WebKit | WebKit

webkit.org/tracking-prevention/

safari privacy security

Safariのトラッキング防止について解説しているドキュメント。
First-Party、Third-PartyでのCookie、Storageの制限、Fingerprintingに利用できるため実装しないWeb API、ITPについてなど


スライド、動画関係


webpack 5 Miniseries - Tobias Koppers, webpack - YouTube

www.youtube.com/watch?v=3c-RFpaiUT8&list=PLyspMSh4XhLP-mqulUMcaqTbLo-ZJxSX5&index=34&t=0s

webpack video

webpack 5の変更についての紹介動画。
自動的なNode.jsのpolyfillの削除、生成コードのESバージョンを選択、ビルドのパフォーマンスやキャッシュの改善、最適化の改善やログの改善、Module Federationについてなど


OpenJS World 2020 - YouTube

www.youtube.com/playlist?list=PLyspMSh4XhLP-mqulUMcaqTbLo-ZJxSX5

JavaScript video Conference

OpenJS World 2020の動画一覧


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


ealush/vest: Vest - effortless validations

github.com/ealush/vest

JavaScript library

バリデーションライブラリ


nastyox/Rando.js: The world's easiest, most powerful random function.

github.com/nastyox/Rando.js

JavaScript library

指定範囲のランダムな値を生成するライブラリ。


書籍関係


Talking TypeScript with the engineer who leads the team - Stack Overflow Blog

stackoverflow.blog/2020/06/15/talking-typescript-with-ryan-cavanaugh/

TypeScript Interview Microsoft

TypeScriptのプロジェクトリードであるRyan Cavanaughのインタビュー。
作られた理由、Angularでの採用がターニングポイント、チーム構成、エディタとコンパイラサービス、JavaScriptのエコシステムについて


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