Fork me on GitHub

2025-07-04のJS: ECMAScript 2025、Rspack 1.4、Deno 2.4、Bundle Sizeの改善

Edit on GitHub 編集履歴を見る

JSer.info #740 - ECMAScript 2025 が正式にリリースされました。

ECMAScript 2025 が Ecma International の General Assembly で承認され、正式にリリースされました。
ECMAScript 2025 では、次のような仕様が追加されています。

  • Iterator helpers: iterator に対する map、filter、reduce などのメソッド
  • Set.prototype メソッド: Set に対する集合演算を行うためのメソッド
  • JSON modules インポート: JSON モジュールをインポートする機能と import attributes の仕様
  • RegExp.escape メソッド: 正規表現をエスケープするためのメソッド
  • 正規表現修飾子フラグ: 正規表現内でインラインで modifier flags を有効/無効にする構文を追加
  • Promise.try メソッド: Promise を返すかどうか不明な関数を呼び出し、結果を常に Promise にするメソッド
  • Float16Array: Float16 を扱う TypedArray 型

Rspack 1.4 がリリースされました。

Wasm を利用したブラウザ環境での実行サポートが追加され、bundle size の改善も行われています。
デフォルトで Incremental build が有効化され、実験的な CssChunkingPlugin の追加、MultiCompiler での lazy compilation サポートなどの機能強化が含まれています。
また、Perfetto ベースのパフォーマンス分析ツールも追加されました。


Deno 2.4 がリリースされ、deno bundleコマンドが復活しました。

以前に廃止されたdeno bundleコマンドが復活し、テキストのbyteインポート機能や OpenTelemetry の安定化が行われています。
--preloadフラグの追加、deno updateコマンドの追加、package.json の conditional exports サポートなど、開発体験の向上を図る多くの機能が追加されています。


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

JSer.info Sponsors

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


ヘッドライン


Announcing Rspack 1.4 - Rspack

rspack.rs/blog/announcing-1-4

rspack ReleaseNote

Rspack 1.4 リリース。
Wasm を利用してブラウザ環境での実行サポート、bundle size の改善。
デフォルトで Incremental build を有効化。
実験的な CssChunkingPlugin の追加、MultiCompiler で lazy compilation をサポート、useInputFileSystemオプションをサポート。
Perfetto ベースのパフォーマンス分析ツール、Zod v4 への更新など


Chrome 139 beta  |  Blog  |  Chrome for Developers

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

Chrome ReleaseNote

Chrome 139 beta リリース。
CSS では、var()/attr()の短絡評価のサポート、caret-animation/corner-shape/CSS Custom Functions のサポート。
WHATWG の仕様に合わせて+jsonの JSON MIME typ をサポート。
Origin trials で Prompt API、WebGPU Compatibility mode の追加。
macOS 11 サポート終了、ISO-2022-JP の自動検出の削除など


Ecma International approves new standards - Ecma International

ecma-international.org/news/ecma-international-approves-new-standards-11/

ECMAScript news

ECMAScript 2025 が Ecma の GA で承認され正式にリリースされた。


Release 0.14.0 | StyleX

stylexjs.com/blog/v0.14.0

React css library

StyleX v0.14.0 リリース。
viewTransitionClass API を追加、lint にvalidImportsオプションを追加。
破壊的な変更としてスタイルをマージするときの戦略を設定するstyleResolutionオプションのデフォルト値をapplication-orderからproperty-specificityに変更


Electron 37.0.0 | Electron

www.electronjs.org/blog/electron-37-0

Electron ReleaseNote

Electron 37.0 リリース。
Chromium 138.0.7204.35/Node 22.16.0/V8 13.8 にアップデート。
window.openinnerWidthinnerHeightオプションをサポート、Node.js の--experimental-network-inspectionをサポート。
unhandled rejection 動作変更、WebUSB/WebSerial API の blocklist サポートなど。


Deno 2.4: deno bundle is back | Deno

deno.com/blog/v2.4

deno ReleaseNote

Deno v2.4 リリース。
deno bundleコマンドの復活/テキストのbyteインポート機能/OpenTelemetry の安定化。

--preloadフラグの追加/deno updateコマンドの追加/DENO_COMPAT環境変数の追加、package.json の conditional exports をサポートなど


Release v3.0.0 · recharts/recharts

github.com/recharts/recharts/releases/tag/v3.0.0

React graphic library

Recharts 3 リリース。
Custom components のサポート、デフォルトでaccessibilityLayera11yを有効に変更など


dahlia/logtape: Simple logging library with zero dependencies for Deno, Node.js, Bun, browsers, and edge functions

github.com/dahlia/logtape?tab=readme-ov-file

nodejs JavaScript library ReleaseNote

ロガーライブラリ。
ライブラリとアプリケーションの利用を想定していて、Node.js/Deno/Browser などで動作し、構造化ログをサポートしている。
また、pino や winston などの別のロガーとの Integration を行う Adapter を提供している


アーティクル


CSS conditionals with the new if() function  |  Blog  |  Chrome for Developers

developer.chrome.com/blog/if-article?hl=en

css article

CSS のif()関数について。
プロパティの値に対してif()style()/media()/suports()を使った条件分岐を書く方法について


How We Reduced CKEditor’s Bundle Size by 40% | CKEditor

ckeditor.com/blog/how-we-reduced-ckeditor-bundle-size/

JavaScript bundler article

CKEditor 5 の bundle size 最適化について。
バージョンずれの対策として re-export でパッケージをまとめたパッケージを公開していたが tree-shakin が効かずに bundle サイズの問題が起きた。
/* #__PURE__ */コメントの活用、ES2022 への target 変更、sideEffectsフラグの設定などを行う tree shaking の問題を解決していった話。
また、Sonda を使った bundle 分析について


`useOptimistic` to Make Your App Feel Instant | Epic React by Kent C. Dodds

www.epicreact.dev/use-optimistic-to-make-your-app-feel-instant-zvyuv

React article

React のuseOptimistic hooks の使い方やsetStateとの違いについて


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


photostructure/tz-lookup: JavaScript Library for Timezone Lookup by Location

github.com/photostructure/tz-lookup

JavaScript library

緯度経度から地名を検索するライブラリ


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