Fork me on GitHub

2024-02-27のJS: Firefox 123、Remix 2.7.0(Remix Vite is Stable)、2023年のNode.jsまとめ

Edit on GitHub 編集履歴を見る

JSer.info #682 - Firefox 123がリリースされました。

<template>要素がshadowrootmode属性をサポート、Date.parse()の互換性向上、103 Early Hintsのrel=preloadをサポートなどが含まれています。
また、実験的な機能としてWeb Codecs APIをサポートが追加されています。


Remix 2.7がリリースされました。

Remix 2.7ではSPAモードがStableに、baseオプションのサポート、Remix ViteがCloudflare Pagesをサポート、Server Bundlesのサポートなどが追加されています。

クライアントコードとサーバコードを分離する仕組みとして.server/をサポート、vite-env-onlyでサーバのみから利用できるようにマークできるようになっています。
また、Vite 5.1.0でサポートされた.css?urlに対応、ビルド結果の出力とViteの互換性の改善なども含まれています。


Node.js 2023 Year in An Articleという記事では、2023年のNode.js本体の開発についてまとめられています。

Node.jsのコミット数やリリース回数、CITGMのエコシステムのテスト、Node.jsのバイナリサイズや増えた依存関係、QUIC/OpenSSL 3.0.xのコスト、パフォーマンスの改善。
また、Permission Modelによる権限モデル、セキュリティリリース、.envやWebSocket clientなどの新しい機能についても書かれています。


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

JSer.info Sponsors

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


ヘッドライン


Release v0.25.0 · nodejs/corepack

github.com/nodejs/corepack/releases/tag/v0.25.0

nodejs tool ReleaseNote

corepack v0.25.0リリース。
内部的にNode.jsのBuilt-in fetchを使うように、corepack cache {clean,clear}を追加。
COREPACK_ENABLE_UNSAFE_CUSTOM_URLS=1のフラグが有効な場合に、packageManagerにカスタムURLを指定できるように。
COREPACK_ENABLE_DOWNLOAD_PROMPT=1でキャッシュにないpackage managerをダウンロードする際にプロンプトを表示できるように。


Electron 29.0.0 | Electron

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

Electron ReleaseNote

Electron 29.0.0リリース。
Chromium 122, Node.js 20.9.0, V8 12.2へのアップグレード。
renderer processから利用できるwebUtilsモジュールの追加、ipcRendererそのものをcontextBridgeで公開できないように変更など


Firefox 123.0, See All New Features, Updates and Fixes

www.mozilla.org/en-US/firefox/123.0/releasenotes/

Firefox ReleaseNote

Firefox 123リリース。
<template>要素がshadowrootmode属性をサポート、Date.parse()の互換性向上、103 Early Hintsのrel=preloadをサポート。
実験的な機能としてWeb Codecs APIをサポートなど


Announcing TypeScript 5.4 RC - TypeScript

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

TypeScript ReleaseNote

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


Release v1.24.0 · parcel-bundler/lightningcss

github.com/parcel-bundler/lightningcss/releases/tag/v1.24.0

CSS Tools ReleaseNote

Lightning CSS v1.24.0リリース。
light-dark()のfallbackに対応、CSS system colorsをサポート、Custom Propertiesと@keyframesのdedupeに対応など


Bun v1.0.29 | Bun Blog

bun.sh/blog/bun-v1.0.29

Bun ReleaseNote

Bun v1.0.29リリース。
string-width互換APIを提供するBun.stringWidth(string)を追加、Bun Shellで2>&1&>をサポートなど


Deno 1.41: smaller deno compile binaries

deno.com/blog/v1.41

deno ReleaseNote

Deno v1.41リリース。
deno compileが生成するバイナリサイズの削減、Linux ARM64のサポート、Node.js互換性の改善など


facebook/react-strict-dom: React Strict DOM (RSD) is a subset of React DOM, imperative DOM, and CSS that supports web and native targets

github.com/facebook/react-strict-dom

React DOM iOS Android library

ウェブとネイティブのサポートを目的とするReact DOMのサブセットとなる実装


Remix Vite is Now Stable | Remix

remix.run/blog/remix-vite-stable

Remix vite ReleaseNote

Remix 2.7.0リリース。
SPAモードがStableに、baseオプションのサポート、Remix ViteがCloudflare Pagesをサポート、Server Bundlesのサポート。
クライアントコードとサーバコードを分離する仕組みとして.server/をサポート、vite-env-onlyでサーバのみから利用できるようにマークできるように。
Vite 5.1.0でサポートされた.css?urlに対応、ビルド結果の出力とViteの互換性の改善など


方能CDN - 合作伙伴

funnull.com/Partner/

JavaScript polyfill news webservice

https://polyfill.io/ はFunnull CDN(方能CDN)を運営するFunnull(南京妙彩文化传播有限公司)に売却され、2024-02-24以降の運用はFunnullが行う。


アーティクル


JSDoc as an alternative TypeScript syntax

alexharri.com/blog/jsdoc-as-an-alternative-typescript-syntax

TypeScript article

TypeScriptをJSDocのchekerとして利用する話。
TypeScriptでの型定義とJSDocでの型定義の書き方を比較して紹介している。


TanStack Router(& Query)はSPA開発で求めていたものだった✨【Reactのルーティングとデータ取得】

zenn.dev/aishift/articles/ad1744836509dd

React JavaScript article

TanStack Routerの紹介記事


Using localStorage in Modern Applications - A Comprehensive Guide | RxDB - JavaScript Database

rxdb.info/articles/localstorage.html

JavaScript article

localStorage APIについて。
localStorageは同期的なAPIでサイズや保存できるデータなどに制限があるが、一方で小さな値は高速に読み書きできる。
どのような場合に利用する/しないか、IndexedDBなどとの比較


Node.js 2023 Year in An Article

blog.rafaelgss.dev/nodejs-2023-year-in-review

nodejs article

2023年のNode.jsについて。
Node.jsのリリース、CITGMのエコシステムのテスト、Node.jsのバイナリサイズや増えた依存関係、QUIC/OpenSSL 3.0.xのコスト、パフォーマンスの改善。
Permission Modelによる権限モデル、セキュリティリリース、.envやWebSocket clientなどの新しい機能について


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


fabiospampinato/fast-string-width: A fast function for calculating the visual width of a string once printed to the terminal.

github.com/fabiospampinato/fast-string-width/tree/main

JavaScript library

Intl.Segmenterを使わないstring-widthの実装ライブラリ


unadlib/mutability: A JavaScript library for transactional mutable updates

github.com/unadlib/mutability

JavaScript library

Immer的なAPIを提供するmutativeを使い、トランザクションロールバック機能を持ったオブジェクトの更新を行うライブラリ。
オブジェクトの更新処理中に例外が発生した場合は、途中までのオブジェクトの更新は破棄できる。


書籍関係


実践Next.js —— App Routerで進化するWebアプリ開発:書籍案内|技術評論社

gihyo.jp/book/2024/978-4-297-14061-8

Next.js book

2024年3月16日発売
Next.jsについての書籍


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