Fork me on GitHub

2024-09-01のJS: Rspack 1.0、Safari Technology Preview 202、Material UI v6

Edit on GitHub 編集履歴を見る

JSer.info #705 - webpackとの互換性を持つようにRustで書かれたbundlerであるRspack 1.0がリリースされました。

0.7からの破壊的な変更もいくつか含まれているため、マイグレーションガイドも公開されています。


Safari Technology Preview 202がリリースされました。

CSSのbackground-clip: border-area/ruby-alignshape() function/@pagejis-b4jis-b5のサポートなどが追加されています。
また、ECMAScript Proposal Stage 3のFloat16Arrayの実装、WebAssembly.{Memory/Table}.prototype.type()の実装も行われています。
WebAssemblyでは、Wasm GC/Wasm Tail Callsのサポート、JITなしでWebAssemblyを実行できるようになる変更も含まれています。


Material UI v6がリリースされました。

CSS theme variablesの追加、Color schemesでのLight/Dark modeの切り替え、Container queriesのサポートが追加されています。
Pigment CSSによるZero Runtime Stylingの仕組みをopt-inで導入、React 19の対応なども行われています。


JSer.infoをサポートするには

JSer.info Sponsors

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


ヘッドライン


Chrome 129 beta  |  Blog  |  Chrome for Developers

developer.chrome.com/blog/chrome-129-beta?hl=en

Chrome ReleaseNote

Chrome 129 betaリリース。
CSSのinterpolate-sizeプロパティとcalc-size()をサポート、Intl.DurationFormatのサポート、scheduler.yield()のサポート。
Origin TraialとしてFile System Observer APIの追加、0.0.0.0を利用したPrivate Network AccessをDeprecateにするなど


Release Version 25.0.0 · jsdom/jsdom

github.com/jsdom/jsdom/releases/tag/25.0.0

JavaScript DOM ReleaseNote

jsdom 25.0.0リリース。
EventTarget.prototypeの参照先をjsdom内のObject.prototypeに変更。


Announcing Rspack 1.0 - Rspack

rspack.dev/blog/announcing-1-0

rspack ReleaseNote webpack

webpackとの互換性を持つようにRustで書かれたbundlerであるRspack 1.0がリリース。


Release 5.19.0 · prisma/prisma

github.com/prisma/prisma/releases/tag/5.19.0

prisma MySQL

Prisma 5.19.0リリース。
TypedSQLの導入


Release v2.0.0 · pmndrs/valtio

github.com/pmndrs/valtio/releases/tag/v2.0.0

React JavaScript library ReleaseNote

Valito 2.0.0リリース。
React 19でuse hookが入るため、Promiseの扱い方を変更など


Release Notes for Safari Technology Preview 202 | WebKit

webkit.org/blog/15798/release-notes-for-safari-technology-preview-202/

safari ReleaseNote

Safari Technology Preview 202リリース。
CSSのbackground-clip: border-area/ruby-alignshape() function/@pagejis-b4jis-b5のサポートなど。
ES Proposal Stage 3のFloat16Arrayの実装、WebAssembly.{Memory/Table}.prototype.type()の実装。
Wasm GC/Wasm Tail Callsのサポート、JITなしでWebAssemblyを実行できるようになるなど


Svelte has a potential mXSS vulnerability due to improper HTML escaping · CVE-2024-45047 · GitHub Advisory Database

github.com/advisories/GHSA-8266-84wp-wv5c

Svelte security ReleaseNote XSS

Svelteの<noscript>内の要素の属性値にユーザー入力を入れている場合に発生するXSSを修正。
Svelte 4.2.19で修正されている。


Material UI v6 is out now 🎉 - MUI

mui.com/blog/material-ui-v6-is-out/

React UI library ReleaseNote

Material UI v6リリース。
CSS theme variablesの追加、Color schemesでのLight/Dark modeの切り替え、Container queriesのサポート。
Pigment CSSによるZero Runtime Stylingの仕組みをopt-inで導入、React 19の対応など


DOM Clobbering Gadget found in Webpack's AutoPublicPathRuntimeModule that leads to XSS · Advisory · webpack/webpack

github.com/webpack/webpack/security/advisories/GHSA-4vvj-4cpr-p986

webpack ReleaseNote security

webpackのセキュリティリリース。
ユーザーが任意の属性を含む<img>タグをかける場合に、webpackのpublicPath: 'auto'が有効なbundleを読み込むとXSSが発生する問題。
webpack 5.94.0で修正された。


アーティクル


State of CSS 2024

survey.devographics.com/en-US/survey/state-of-css/2024

css Survey

State of CSS 2024の開発者アンケートの受付が開始された


monorepo内でのパッケージのバージョンを1つだけに統一するOne Version Ruleをpnpm catalogで実装する - newmo 技術ブログ

tech.newmo.me/entry/one-version-rule-built-on-pnpm-catalog

npm pnpm monorepo JavaScript article

pnpm catalogを使い、monorepo内で依存するライブラリのバージョンを1つだけにする方法について。
pnpm 9.5で導入されたcatalogを使い依存するパッケージの一覧を管理、.pnpmfile.cjsのhooksを使いcatalogで管理されてない依存をエラーとする実装について。


ジャンプTOON Next.js App Router の活用〜得られた恩恵と課題〜 | CyberAgent Developers Blog

developers.cyberagent.co.jp/blog/archives/49429/

Next.js article

Next.js App RouterとServer Components/Server Actionsを使った開発と注意点について


Common misconceptions about how to optimize LCP  |  Blog  |  web.dev

web.dev/blog/common-misconceptions-lcp?hl=en

browser performance article

Largest Contentful Paint (LCP)の最適化に関するよくある誤解について。
画像サイズの最適化は、p75タイルのLCPの10%未満の影響であることが多く、TTFBやリソースロードの優先度の問題がLCPに強く影響してるケースについて


スライド、動画関係


フロントエンドカンファレンス北海道 2024 公開資料・Xアカウントリンクまとめ

zenn.dev/yumemi_inc/articles/2024-08-25-frontend-conf-hokkaido-2024

Conference slide

フロントエンドカンファレンス北海道 2024のスライドまとめ


bramus/style-observer: MutationObserver for CSS. Get notified when the computed value of a CSS property changes.

github.com/bramus/style-observer

css JavaScript library

Mutation Observerのようにスタイルの変化を監視するライブラリ。
短いtransitionとtransition-behavior: allow-discrete;を使うことで、transitionstartイベントを見て変化を検知している


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


vue-email/vue-email: 💌 Write email templates with vue

github.com/vue-email/vue-email?tab=readme-ov-file

Vue mail

Vueでメールのコンテンツを扱うライブラリ


hoppergee/heic-to: Convert HEIC/HEIF images to JPEG, PNG in browser

github.com/hoppergee/heic-to?tab=readme-ov-file

JavaScript browser Image library

libheifを使ってHEIC/HEIFの画像をJPEG/PNGに変換するライブラリ


書籍関係


Next.jsの考え方

zenn.dev/akfm/books/nextjs-basic-principle

Next.js book

Next.jsのServer Componentについて


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