Fork me on GitHub

2021-07-14のJS: Firefox 90、npm auditの問題、Access Guide

Edit on GitHub 編集履歴を見る

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-SiteSec-Fetch-ModeSec-Fetch-UserSec-Fetch-Destのリクエストヘッダがそれぞれのリクエストに追加され、サーバ側でのチェックに利用できます。

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 Sponsors

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


ヘッドライン


html2canvas/CHANGELOG.md at master · niklasvh/html2canvas

github.com/niklasvh/html2canvas/blob/master/CHANGELOG.md#100-2021-07-04

JavaScript canvas library ReleaseNote

HTMLをCanvasにしてスクリーンショットを取るhtml2canvas 1.0.0リリース


Release v8.0.0 · nestjs/nest

github.com/nestjs/nest/releases/tag/v8.0.0

node.js library ReleaseNote

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

JavaScript diagram library ReleaseNote security

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 ReleaseNote

Firefox 90リリース。
ES Proposal Stage 4のPrivate class fieldsをデフォルトでサポート、Stage 3のString/Arrayのat()をサポート。
FTPサポートの削除、WheelEventの互換性を改善など


Release 2.27.0 · prisma/prisma

github.com/prisma/prisma/releases/tag/2.27.0

TypeScript node.js MongoDB ReleaseNote

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 article

Node.js内のJavaScriptで書かれたビルトインモジュールは、Node.jsバイナリにどのように保存されて読み込まれているかについて。
バイナリファイルの読み取り専用のデータセクションに保存されており、bootstrapでV8を使ってコンパイルやSnapshotsを扱う仕組みをもっている。


Resource inlining in JavaScript frameworks

web.dev/aurora-resource-inlining/

Next.js Angular CSS performance article

Next.jsとAngularのGoogle FontsのCritical CSSのインライン化について。
FontをロードするCSSをインライン化することでCLSの最適化ができるという話


npm audit: Broken by Design — Overreacted

overreacted.io/npm-audit-broken-by-design/

npm node.js library opinion article

devDependenciesとして使うツールにおけるnpm auditの報告のほとんどがReDoSの脆弱性になってしまっている問題について。
本番で動くdependenciesのみをチェックするnpm audit --production、公開するパッケージをインライン化する方法とその問題、エコシステムへの問題提起的な記事


TypeScript and native ESM on Node.js

2ality.com/2021/06/typescript-esm-nodejs.html

TypeScript npm node.js article

TypeScriptでのESMの対応方法について。
package.json"type": "module"設定、exportsフィールドとtypesVersionsフィールド、importするファイルの拡張子設定などについて


jQueryからTypeScript・Reactまで - Viteで始めるモダンで高速な開発環境構築 - ICS MEDIA

ics.media/entry/210708/

Tools article

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 security article

Firefox 90でFetch Metadata Request Headersをサポート。
Sec-Fetch-SiteなどのSec-Fetch-*のリクエストヘッダをサポートしている


サイト、サービス、ドキュメント


Access Guide

accessguide.io/

accessibility document

WCAG 2.1の解説サイト。
どのように実装するか、どのようにテストするか、実際の例について


Javascript Decorators

javascriptdecorators.org/

JavaScript ECMAScript proposal Tools debug

ECMAScript ProposalのDecoratorsを試せるPlaygroundツール


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


FrontLabsOfficial/vue-tiny-validate: 💯 Tiny (2.5KB minified) Vue Validate Composition

github.com/FrontLabsOfficial/vue-tiny-validate

Vue library

Vue Composition API向けのバリデーションライブラリ


lucacasonato/dext.ts: The Preact Framework for Deno

github.com/lucacasonato/dext.ts

deno Next.js

Deno向けのNext.jsをインスパイアしたPreactを使ったウェブフレームワーク。


書籍関係


O'Reilly Japan - 初めてのWebGL 2 第2版

www.oreilly.co.jp/books/9784873119373/

WebGL JavaScript book

2021年07月21日発売
WebGLの入門書


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