Fork me on GitHub

2024-03-12のJS: Tailwind CSS v4.0 alpha、TypeScript 5.4、Speedometer 3.0

Edit on GitHub 編集履歴を見る

JSer.info #684 - Tailwind CSS v4.0 alphaがリリースされました。

OxideというRustで書かれたエンジンを追加、Lightning CSSを組み込むように変更することでパフォーマンスやビルドトインでサポートする構文が改善されています。また、記事ではv4のロードマップについても触れられています。


TypeScript 5.4がリリースされました。

BetaやRCからの大きな機能的な追加などはありません。
クロージャーにおけるNarrowing結果の改善、NoInfer Utility Typeの追加、
--module preserveの追加が行われています。
また、ES2024のObject.groupBy/Map.groupByをサポート、Import Attributesのサポートが追加されています。
5.4がtarget: "ES3"outオプションなどの非推奨化されたオプションがサポートされる最後のバージョンとなる予定です。
これらのオプションは5.5で削除される予定となっています。


ブラウザエンジンのパフォーマンスを測定するためのベンチマークツールであるSpeedometer 3.0がリリースされました。

Speedometerは主にブラウザエンジンの開発者がブラウザのパフォーマンスを測定するベンチマークとして利用されています。
今回のアップデートで同期と非同期処理の実行時間をより正確に計測、HTTP Archiveやnpmのダウンロード数を元にした利用されているフレームワークの調整などが行われています。
また、今まではTodoMVCを利用していましたが、Next.js/Nuxt を使ったメディアサイトやグラフィカルなダッシュボード、CodeMirrorとTipTapを使ったエディタなどもテストに追加されています。

Speedometer 3.0のベンチマークでは次のようなフレームワークがテストに含まれています。


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

JSer.info Sponsors

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


ヘッドライン


Release v8.0.0 · pixijs/pixijs

github.com/pixijs/pixijs/releases/tag/v8.0.0

JavaScript game library ReleaseNote

PixiJS v8.0.0リリース。
pixi.jsの単体のパッケージに統合、初期化が非同期へと変更、Graphiscs APIの変更など


Node.js — Node v21.7.0 (Current)

nodejs.org/en/blog/release/v21.7.0

nodejs ReleaseNote

Node.js v21.7.0リリース。
util.styleText(format, text)関数を追加、process.loadEnvFile(path)util.parseEnv(content)を追加。
.envで複数行の値をサポート、node:seaにAPIを追加、node:vmimportModuleDynamicallyオプションを追加、crypto.hash()の追加など


Open-sourcing our progress on Tailwind CSS v4.0 - Tailwind CSS

tailwindcss.com/blog/tailwindcss-v4-alpha

CSS ReleaseNote

Tailwind CSS v4 alphaリリース。
OxideというRustで書かれたエンジンを追加、Lightning CSSを組み込むように変更。
v4のロードマップについてなど


WebKit Features in Safari 17.4 | WebKit

webkit.org/blog/15063/webkit-features-in-safari-17-4/

safari ReleaseNote

Safari 17.4の変更点について。
HTMLでは、<input type="checkbox" switch>のサポート、フォームの縦書き表示に対応、<select>の区切りに<hr>を使えるように。
CSSでは、@scopeのサポート、::spelling-error::grammar-errorの擬似要素のサポート、content: "foo" / "alt"で代替テキストをサポート。
Web APIでは、element.checkVisibility()のサポート、AbortSignal.any()のサポート。
JSでは、ES2024のPromise.withResolvers()/Object.groupBy()/Map.groupBy()のサポート。


Biome v1.6 | Biome

biomejs.dev/blog/biome-v1-6/

JavaScript Tools ReleaseNote

Biome v1.6リリース。
Astro/Svelte/Vueのファイル内のJS/TS分析をサポート、biome.jsoncをサポート。
atributePositionオプションの追加、ルールの更新など


Announcing TypeScript 5.4 - TypeScript

devblogs.microsoft.com/typescript/announcing-typescript-5-4/

TypeScript ReleaseNote

TypeScript 5.4リリース。
クロージャーにおけるNarrowing結果の改善、NoInfer Utility Typeの追加、
--module preserveの追加。
ES2024のObject.groupBy/Map.groupByをサポート、Import Attributesのサポート。
target: "ES3"outオプションなどを非推奨化されたオプションは5.5で削除される予定。


WinterJS 1.0 · Blog · Wasmer

wasmer.io/posts/winterjs-v1

JavaScript WebAssembly ReleaseNote

SpidermonkeyベースのWinterJS-compatibleなJavaScript RuntimeであるWinterJS 1.0リリース。


Release v4.1.0 · honojs/hono

github.com/honojs/hono/releases/tag/v4.1.0

Hono JavaScript server library ReleaseNote

Hono v4.1.0リリース。
WebSocket Helperの追加、Body Limit Middlewareの追加、出力ターゲットをES2022に変更など


アーティクル


フルスクラッチして理解するOpenID Connect (1) 認可エンドポイント編 - エムスリーテックブログ

www.m3tech.blog/entry/2024/03/05/150000

OpenID TypeScript article

OpenID ConnectのID ProviderをTypeScriptで実装していく連載


"react-strict-dom", why it's so great? | Szymon Rybczak

szymonrybczak.dev/blog/react-strict-dom

React HTML iOS Android article

react-strict-domについて。
React Native for WebのアプローチではReact Nativeのプリミティブをウェブ向けに変換する互換Shimが大きかった。
react-strict-domでは逆のアプローチを採用し、DOM APIのサブセットをネイティブ側で扱う。


Why Should You Care About Package Metadata Interoperability? | OpenJS Foundation

openjsf.org/blog/package-metadata-interoperability-collab-space-intro

nodejs npm article

OpenJSでpackage.jsonのメタデータの相互運用性を向上させるためのワーキンググループが発足した。


Ultimate Guide to Visual Testing with Playwright

www.browsercat.com/post/ultimate-guide-visual-testing-playwright

browser test article

Playwrightを使ったビジュアルリグレッションテストについて


Speedometer 3.0: The Best Way Yet to Measure Browser Performance | WebKit

webkit.org/blog/15131/speedometer-3-0-the-best-way-yet-to-measure-browser-performance/

browser benchmark performance article

ウェブブラウザエンジンのベンチマークとして使われるSpeedometer 3.0リリース。
同期と非同期処理の実行時間をより正確に計測、HTTP Archiveやnpmのダウンロード数を元にした利用されているフレームワークの調整。
また、今まではTodoMVCを利用していたが、Next.js/Nuxt を使ったメディアサイトやグラフィカルなダッシュボード、CodeMirrorとTipTapを使ったエディタなどもテストに追加など


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


rolldown-rs/rolldown: Fast Rust bundler for JavaScript with Rollup-compatible API.

github.com/rolldown-rs/rolldown

rollup Rust vite library

Rollup互換を目指すRustでのJavaScript Bundlerの実装。


edmundhung/conform: A type-safe form validation library utilizing web fundamentals to progressively enhance HTML Forms with full support for server frameworks like Remix and Next.js.

github.com/edmundhung/conform

React Next.js Remix library

RemixやNext.jsでのサーバ側の処理にも対応したフォームライブラリ。
Zodなどと組み合わせてサーバ側でのバリデーションやReactのuseFormStateと組み合わせて動作する


書籍関係


Eloquent JavaScript

eloquentjavascript.net/

JavaScript book

Eloquent JavaScripの第4版(2024)が公開された


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