Fork me on GitHub

2025-04-27のJS: Node v22.15.0、Reactの実験的な機能、Node.jsとV8 GC

Edit on GitHub 編集履歴を見る

JSer.info #733 - Node.js v22.15.0がリリースされました。

assert.partialDeepStrictEqual()module.registerHooks()などの新しいAPIが追加されました。また、util.diff()の追加やzstdのサポートなども含まれています。


Reactチームが実験的な機能について紹介する記事を公開しました。

<ViewTransition>addTransitionType()<Activity>などの新しい実験的なAPIの紹介が含まれています。
また、DevToolsでのPerformance Profilerの改善や依存のないuseEffect、React Compilerなどの開発中の機能についても言及されています。


Node.jsとV8のGCに関する解説記事が公開されました。

V8の世代別GCの仕組みや、Scavengeによる高速なGC処理、semi-spaceのサイズ調整によるメモリチューニングなど書かれています。


PR

JavaScript PrimerのES2025の対応を手伝ってくれるContributorとSponsorを募集しています。
毎年6月末にECMAScriptの正式公開に合わせて、今年のアップデートをjsprimerに反映していく作業をしていく予定です。


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

JSer.info Sponsors

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


ヘッドライン


Release v1.52.0 · microsoft/playwright

github.com/microsoft/playwright/releases/tag/v1.52.0

playwright ReleaseNote

playwright v1.52.0リリース。
破壊的な変更としてpage.route()?はwildcardとして扱わないように変更、route.continue()Cookieヘッダを上書きできないように変更。
expect(locator).toContainClass()の追加、Aria Snapshotの更新。
プロジェクトごとにworkersを設定できるように、failOnFlakyTestsオプションの追加。


ECMAScript proposal updates @ 2025-04 | ECMAScript Daily

ecmascript-daily.github.io/ecmascript/2025/04/19/ecmascript-proposal-update

ECMAScript proposal news

2025年4月のTC39ミーティングでのECMAScript ProposalのStatus変更のまとめ。
Record & Tupleがwithdrawnとなった。


Release @fastify/[email protected] · fastify/fastify-vite

github.com/fastify/fastify-vite/releases/tag/react-v1.0.0

nodejs React ReleaseNote

@fastify/react 1.0.0リリース。


Node.js — Node v22.15.0 (LTS)

nodejs.org/en/blog/release/v22.15.0

nodejs ReleaseNote

Node.js v22.15.0リリース。
assert.partialDeepStrictEqual()の追加、module.registerHooks()の追加、util.diff()の追加、zstdのサポートなど


Release pnpm 10.9 · pnpm/pnpm

github.com/pnpm/pnpm/releases/tag/v10.9.0

pnpm ReleaseNote

pnpm v10.9.0リリース。
pnpm add jsr:<pkg_name>でJSRをサポート、dangerouslyAllowAllBuildsオプションを追加


Release Release v1.9.0 · axios/axios

github.com/axios/axios/releases/tag/v1.9.0

JavaScript HTTP library ReleaseNote

axios v1.9.0リリース。
getSetCookieのサポート


アーティクル


React Labs: View Transitions, Activity, and more – React

react.dev/blog/2025/04/23/react-labs-view-transitions-activity-and-more

React article

Reactの実験的な機能の紹介。
<ViewTransition>/addTransitionType/<Activity>
DevToolsでReactのPerformance Profilerの可視化、依存のないuseEffect、React Compilerなどについて


Tailwind vs Linaria: Performance Investigation

www.developerway.com/posts/tailwind-vs-linaria-performance

css performance article

TailwindとLinariaのパフォーマンスを比較調査した記事。
調査していくと、ベースとなるスタイルで*に対するスタイルが存在することで実行時のパフォーマンスに差異が発生していたという話


Introducing Socket Fix for Safe, Automated Dependency Upgrad...

socket.dev/blog/introducing-socket-fix

npm pnpm article

パッケージのセキュリティアップデートの修正を行うsocket fixコマンドについて。
npm/pnpmをサポートしている。


Polishing your typography with line height units | WebKit

webkit.org/blog/16831/line-height-units/

css article

1lhは1 line heightで1行の高さを表す単位、1rlhはremと同じくRootの1行の高さを表す単位。
1lhを使ったタイポグラフィについて


Boost Node.js with V8 GC Optimization

blog.platformatic.dev/optimizing-nodejs-performance-v8-memory-management-and-gc-tuning

nodejs V8 article performance

V8の世代別GCは、Scavengeという高速なGCをsemi-spaceのオブジェクトに行い、何回か生き残ったオブジェクトを昇格し、GCの頻度が少ないspaceに移動させる。
間違って昇格したオブジェクトが多いとなかなかメモリから解放されないため、このsemi-spaceのサイズを調整するオプションやメモリチューニングの方法についてなど


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


unnoq/orpc: Typesafe APIs Made Simple 🪄

github.com/unnoq/orpc?tab=readme-ov-file

OpenAPI nodejs library

ルーティングの定義からOpen API Specを出力できるサーバ/クライアントのHTTPフレームワーク


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


slevithan/oniguruma-to-es: Convert patterns from Oniguruma (the regex flavor used by Ruby, TextMate grammars, etc.) to native JavaScript RegExp

github.com/slevithan/oniguruma-to-es

JavaScript library RegExp

Onigurumaの正規表現をJavaScriptの正規表現に変換するライブラリ


Nom-nom-hub/flash-install: A fast, drop-in replacement for npm install, focused on drastically speeding up Node.js dependency installation through deterministic caching, parallel operations, and .flashpack archive snapshotting.

github.com/Nom-nom-hub/flash-install

npm console Tools

キャッシュとスナップショットをサポートしたnpmパッケージのインストールを行うツール。
ハッシュベースのパスとhard linkを使ったキャッシュ、.flashpackというスナップショットファイルを扱うことができブランチ切り替え時の復元が高速に行える。


andrewmd5/hako: An embeddable, lightweight, secure, high-performance JavaScript engine.

github.com/andrewmd5/hako

WebAssembly JavaScript Tools library

QuickJSベースのWebAssemblyにコンパイルして利用するJavaScriptエンジン。
Lynx/primjsをforkしたものをベースにしている。


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