JSer.info #548 - Firefox 90がリリースされました。
Firefox 90ではECMAScript Proposal Stage 4のPrivate class fieldsをデフォルトでサポート、Stage 3のString/Arrayのat()
をサポートしています。FTPサポートの削除、WheelEventの互換性を改善なども含まれています。
また、Chromeでも実装されていたFetch metadata request headersが実装されています。
Sec-Fetch-Site
、Sec-Fetch-Mode
、Sec-Fetch-User
、Sec-Fetch-Dest
のリクエストヘッダがそれぞれのリクエストに追加され、サーバ側でのチェックに利用できます。
- Firefox 90 supports Fetch Metadata Request Headers - Mozilla Security Blog
- Protect your resources from web attacks with Fetch Metadata
Fetch metadata request headersはSafariとIE以外のブラウザで実装されています。
npm audit: Broken by Design — Overreactedという記事では、create-react-appを例に npm audit
で報告される脆弱性の問題について書かれています。
報告される脆弱性の殆どはReDOSとなっていて、devDependencies
として扱うツールにおいてはfalse positiveに近いものとなっている点やエコシステムとして対応が難しくなっている点について書かれています。
GitHubから公開されている GitHub’s Advisory Database のデータにおいても2021年はCWE-400であるDoSが一番多く報告されていて、ReDOSの報告が増えてることもわかります。
ツールが過剰する報告する問題の中に実際の問題が混ざって無視されてしまう懸念、どのような対応が考えられるか、npm audit and audit-resolve.jsonといったRFCなどについても書かれています。
Access Guideというサイトでは、 WCAG 2.1のアクセシビリティガイドの解説が書かれています。
それぞれのトピックごとに解説や実装方法、テスト方法などについてのリソースがまとめられています。
JSer.infoをサポートするには
- 😘 知り合いにJSer.infoをおすすめする
- ❤️ GitHub Sponsorsで@azuのスポンサーになる
- 🐦 X(Twitter)で@jser_infoをフォローする
JSer.info Sponsors
JSer.info SponsorsはGitHub SponsorsとしてJSer.infoを支援してくれている方々です。
ヘッドライン
html2canvas/CHANGELOG.md at master · niklasvh/html2canvas
github.com/niklasvh/html2canvas/blob/master/CHANGELOG.md#100-2021-07-04
HTMLをCanvasにしてスクリーンショットを取るhtml2canvas 1.0.0リリース
Release v8.0.0 · nestjs/nest
github.com/nestjs/nest/releases/tag/v8.0.0
Nest.js 8.0.0リリース。
Loggerクラスの改善、API Versioningのサポートなど
Release 8.9.2 · mermaid-js/mermaid
github.com/mermaid-js/mermaid/releases/tag/8.9.2
mermaid 8.9.2で %%{init: {<JSON_OBJECT>}}%%
の設定記法を使ったXSS脆弱性とPrototype pollutionの脆弱性が修正されている。
Firefox 90.0, See All New Features, Updates and Fixes
www.mozilla.org/en-US/firefox/90.0/releasenotes/
Firefox 90リリース。
ES Proposal Stage 4のPrivate class fieldsをデフォルトでサポート、Stage 3のString/Arrayのat()
をサポート。
FTPサポートの削除、WheelEventの互換性を改善など
- Firefox 90 for developers - Mozilla | MDN
- tc39/proposal-relative-indexing-method: A TC39 proposal to add an .at() method to all the basic indexable classes (Array, String, TypedArray)
Release 2.27.0 · prisma/prisma
github.com/prisma/prisma/releases/tag/2.27.0
Node.js向けのORMであるPrisma 2.27.0リリース。
MongoDBをプレビューサポート、M1 Macのサポート、pnpmでインストールできない問題を修正など
アーティクル
How does Node.js load its built-in/native modules? | Joyee Cheung's Blog
joyeecheung.github.io/blog/2021/07/06/how-does-node-js-load-its-builtins-native-modules/
Node.js内のJavaScriptで書かれたビルトインモジュールは、Node.jsバイナリにどのように保存されて読み込まれているかについて。
バイナリファイルの読み取り専用のデータセクションに保存されており、bootstrapでV8を使ってコンパイルやSnapshotsを扱う仕組みをもっている。
Resource inlining in JavaScript frameworks
web.dev/aurora-resource-inlining/
Next.jsとAngularのGoogle FontsのCritical CSSのインライン化について。
FontをロードするCSSをインライン化することでCLSの最適化ができるという話
npm audit: Broken by Design — Overreacted
overreacted.io/npm-audit-broken-by-design/
devDependenciesとして使うツールにおけるnpm auditの報告のほとんどがReDoSの脆弱性になってしまっている問題について。
本番で動くdependenciesのみをチェックするnpm audit --production
、公開するパッケージをインライン化する方法とその問題、エコシステムへの問題提起的な記事
TypeScript and native ESM on Node.js
2ality.com/2021/06/typescript-esm-nodejs.html
TypeScriptでのESMの対応方法について。
package.json
の"type": "module"
設定、exports
フィールドとtypesVersions
フィールド、import
するファイルの拡張子設定などについて
jQueryからTypeScript・Reactまで - Viteで始めるモダンで高速な開発環境構築 - ICS MEDIA
Viteの基本的な使い方についての記事。
ライブラリ、TypeScript、画像などのアセットの利用、設定ファイル、IE11対応についてなど
Firefox 90 supports Fetch Metadata Request Headers - Mozilla Security Blog
blog.mozilla.org/security/2021/07/12/firefox-90-supports-fetch-metadata-request-headers/
Firefox 90でFetch Metadata Request Headersをサポート。
Sec-Fetch-Site
などのSec-Fetch-*
のリクエストヘッダをサポートしている
サイト、サービス、ドキュメント
Access Guide
WCAG 2.1の解説サイト。
どのように実装するか、どのようにテストするか、実際の例について
Javascript Decorators
ECMAScript ProposalのDecoratorsを試せるPlaygroundツール
ソフトウェア、ツール、ライブラリ関係
FrontLabsOfficial/vue-tiny-validate: 💯 Tiny (2.5KB minified) Vue Validate Composition
github.com/FrontLabsOfficial/vue-tiny-validate
Vue Composition API向けのバリデーションライブラリ
lucacasonato/dext.ts: The Preact Framework for Deno
github.com/lucacasonato/dext.ts
Deno向けのNext.jsをインスパイアしたPreactを使ったウェブフレームワーク。
書籍関係
O'Reilly Japan - 初めてのWebGL 2 第2版
www.oreilly.co.jp/books/9784873119373/
2021年07月21日発売
WebGLの入門書