JSer.info #481 - TypeScript 3.9 Betaがリリースされました。
Promise.all
の型改善、awaited
typeの追加、ビルドパフォーマンスの改善などが行われています。
また// @ts-ignore
のように型チェックを無視するのではなく、Type Errorとなることを期待する// @ts-expect-error
コメントディレクティブの追加が行われています。
その他には、class
のGetter/Setterをトランスパイルした際にenumrable: true
となっているのを、ECMAScript仕様に合わせてenumerable: false
に変更されています。
iOS13.4/iPadOS13.4/macOSでそれぞれSafari 13.1がリリースされました。
- Safari 13.1 Beta Release Notes | Apple Developer Documentation
- Safari 13.1 のセキュリティコンテンツについて - Apple サポート
Safari 13.1ではNullish coalescing operator(??
)やString.prototype.replaceAll
がサポートされています。
また、Web Animations、Async Clipboard API、Resize Observer、Picture-in-Picture APIなどのAPIも追加されています。
その他には、新しいIntelligent Tracking Prevention(ITP)の仕組みが導入されています。
過去のITPでは条件に基づくサードパーティクッキーのブロックでしたが、ITPの挙動を利用したトラッキングも可能であったため、
Safari 13.1からサードパーティクッキーを完全にブロックする仕組みに変更されています。
また、document.cookie
、LocalStorage、Service Workerなどスクリプトから書き込めるストレージに7日間の上限が追加されました。
スクリプトからストレージに書き込み、そのサイトでユーザー操作がなくなってから7日間たつと、そのサイトのストレージを削除する仕組みとなっています。
この7-Day Capの制限もすべてのサイトに適用されますが、いくつかの例外があるようです。
- ホーム画面に追加されたウェブアプリケーションはこの制限がない
- WKWebViewなどのWebViewではこの制限がない
- Safariを起動していない日は日付をカウントしない
参考: iOS 13.4 and Safari 13.1 persistent storage · Issue #943 · localForage/localForage
スタンフォード大学のウェブセキュリティコースの動画とスライドなど資料が公開されています。
Ferossによるウェブセキュリティに関するコースで、ブラウザ/サーバ/ネットワークなどのセキュリティに関する講義となっています。
幅広くウェブのセキュリティについて扱っているので興味がある人は見てみるとよさそうです。
JSer.infoをサポートするには
- 😘 知り合いにJSer.infoをおすすめする
- ❤️ GitHub Sponsorsで@azuのスポンサーになる
- 🐦 X(Twitter)で@jser_infoをフォローする
JSer.info Sponsors
JSer.info SponsorsはGitHub SponsorsとしてJSer.infoを支援してくれている方々です。
ヘッドライン
Release v1.3.0 · reduxjs/redux-toolkit
github.com/reduxjs/redux-toolkit/releases/tag/v1.3.0
Redux Toolkit 1.3.0リリース。
ステートの正規化を管理を手助けするcreateEntityAdapter
、非同期処理のパターンを提供するcreateAsyncThunk
の追加。
Storeのmutationを検知してエラー通知する仕組みの追加など
Chrome Releases: Chrome and Chrome OS release updates
chromereleases.googleblog.com/2020/03/chrome-and-chrome-os-release-updates.html
延期していたChromeのリリーススケジュールについて。Chrome 82はキャンセルされ83に統合される予定。
- Chrome 81: 2020-04-07
- Chrome 82: キャンセル
- Chrome 83: 2020-05-19
Node v13.12.0 (Current) | Node.js
nodejs.org/en/blog/release/v13.12.0/
Node.js 13.12.0リリース。
npm 6.14.4へのアップデート、Object.prototype.__proto__
の書き込みを無効化する--disable-proto
オプションの追加など
Announcing TypeScript 3.9 Beta | TypeScript
devblogs.microsoft.com/typescript/announcing-typescript-3-9-beta/
TypeScritp 3.9βリリース。
Promise.all
の型改善、awaited
typeの追加、ビルドパフォーマンスの改善、Type Errorとなることを期待する// @ts-expect-error
コメントの追加など。
また、ECMAScript仕様にあわせてGetter/Setterをトランスパイルするとenumerableだったのをnon-enumerableに変更するなど
Version 9.1 of Angular Now Available — TypeScript 3.8, faster builds, and more
Angular 9.1リリース。
TypeScript 3.8サポート、ビルドパフォーマンスの改善、ng e2e
がgrep
オプションをサポート、rtlのサポートなど
アーティクル
SecretlintでAPIトークンや秘密鍵などのコミットを防止する | Web Scratch
efcl.info/2020/03/24/secretlint/
ファイル内にAWSやGCPなどのCredentialsを含んでいないかチェックできるLintツール。
DockerやNode.jsから利用できる。プロジェクトや個人環境にpre-commit hookで組み込んだり、CIでうっかり秘匿情報が入ってないかをチェックできる。
ルールはNode.jsで自作して追加できる。
Full Third-Party Cookie Blocking and More | WebKit
webkit.org/blog/10218/full-third-party-cookie-blocking-and-more/
iOS 13.4、Safari 13.1のITPについて。
3rd-party cookieは基本的にブロック、LocalStorageを含むストレージは最後のインタラクションから7日後に削除され、document.referrer
はoriginのみとなった。
ストレージ削除のカウントのルールについてはホームに追加したアプリやSafariを起動していない日はカウントしないなどの例外がある
🐛よくハマったFlexboxのバグまとめ|たかもそ|note
note.com/takamoso/n/n32c4e6904cf7
CSS Flexboxのブラウザの挙動の違いや仕様についてなど
What’s new in react-query v1.0 - LogRocket Blog
blog.logrocket.com/whats-new-in-react-query-v1-0/
React Hooksで非同期処理を扱うreact-query 1.0の変更点について
UI Fabric is evolving into Fluent UI - Microsoft 365 Developer Blog
developer.microsoft.com/en-us/office/blogs/ui-fabric-is-evolving-into-fluent-ui/
MSのUIフレームワークであるUI FabricがFluent UIにリネームした。
パッケージネームも@fluentui
のscopeで公開されるが、互換性のために@uifabric
も公開され続ける。
また、今後のロードマップについて
HTML DOM - Common tasks of managing HTML DOM with vanilla JavaScript
ライブラリを使わずにDOM API使ってできることを逆引きリファレンス的に紹介しているサイト
スライド、動画関係
CS253 - Web Security
スタンフォード大学のWeb Securityコースのスライドと動画。
ブラウザからサーバまで攻撃/防御視点でのセキュリティについて学ぶ
サイト、サービス、ドキュメント
Chrome DevTools // slidr.io
slidr.io/bmeurer/chrome-devtools#1
Chrome DevToolsについてのスライド。
DevToolsのアーキテクチャ、機能の紹介など
ソフトウェア、ツール、ライブラリ関係
chrvadala/node-ble: Bluetooth Low Energy (BLE) library written with pure Node.js (no bindings) - baked by Bluez via DBus
Pure Node.jsなBLEライブラリ
kriasoft/node-sqlite at v4
github.com/kriasoft/node-sqlite/tree/v4
Node.jsのSQLiteクライアントライブラリ
heremaps/harp.gl: harp.gl - web map rendering engine
three.jsを使った3Dマップレンダリングエンジンライブラリ
書籍関係
TypeScript Weekly
TypeScriptについてのWeeklyメールマガジン
初心者からちゃんとしたプロになる JavaScript基礎入門 | 西畑 一馬, 須郷 晋也, 岡島 美咲, 扇 克至, 岩本 大樹 | 工学 | Kindleストア | Amazon
www.amazon.co.jp/dp/B0863LYNQQ/
2020年3月25日発売
JavaScriptとVueについての書籍