Skip to content

Commit

Permalink
2024-02-27のJS: Firefox 123、Remix 2.7.0(Remix Vite is Stable)、2023年のNo…
Browse files Browse the repository at this point in the history
…de.jsまとめ (#1169)

* Update 682 draft

* Update 682 draft

* Update 682 draft

* Update 682 draft

* Update 682 draft

* Update 682 draft

* Update 682 draft

* Update 682 draft

* Update 682 draft

* Update 682 draft

* Update 682 draft

* Update 682 draft

* Update 682 draft

* Update 682 draft

* Update 682 draft

* Update 682 draft

* Update 682 draft

* Update 682 draft

* Update 682 draft

* Update 682 draft

* Update _i18n/ja/_posts/2024/2024-02-27-firefox-123-remix-2.7.0remix-vite-is-stable-2023node.js.md

* Delete _i18n/ja/_posts/2024/2024-02-27-682draft.md

* Update _i18n/ja/_posts/2024/2024-02-27-firefox-123-remix-2.7.0remix-vite-is-stable-2023node.js.md

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
  • Loading branch information
azu and github-actions[bot] authored Feb 27, 2024
1 parent 891a413 commit 9a40d19
Showing 1 changed file with 245 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,245 @@
---
title: "2024-02-27のJS: Firefox 123、Remix 2.7.0(Remix Vite is Stable)、2023年のNode.jsまとめ"
author: "azu"
layout: post
date: 2024-02-27T06:40:44.988Z
category: JSer
tags:
- nodejs
- TypeScript
- React
- tool
- Electron

---

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

- [Firefox 123.0, See All New Features, Updates and Fixes](https://www.mozilla.org/en-US/firefox/123.0/releasenotes/)
- [Firefox 123 for developers - Mozilla | MDN](https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/123)

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

---

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

- [Remix Vite is Now Stable | Remix](https://remix.run/blog/remix-vite-stable)

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

- [Remix 2.7で安定版となったCloudflare PagesのVite対応の実現方法を読み解く](https://zenn.dev/chimame/articles/e5bf3a18b7d4de)

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

---

[Node.js 2023 Year in An Article](https://blog.rafaelgss.dev/nodejs-2023-year-in-review)という記事では、2023年のNode.js本体の開発についてまとめられています。

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

----

{% include inline-support.html %}

----

<h1 class="site-genre">ヘッドライン</h1>

----

## Release v0.25.0 · nodejs/corepack
[github.com/nodejs/corepack/releases/tag/v0.25.0](https://github.com/nodejs/corepack/releases/tag/v0.25.0 "Release v0.25.0 · nodejs/corepack")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">nodejs</span> <span class="jser-tag">tool</span> <span class="jser-tag">ReleaseNote</span></p>

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](https://www.electronjs.org/blog/electron-29-0 "Electron 29.0.0 | Electron")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">Electron</span> <span class="jser-tag">ReleaseNote</span></p>

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

- [Release electron v29.0.0 · electron/electron](https://github.com/electron/electron/releases/tag/v29.0.0 "Release electron v29.0.0 · electron/electron")

----

## Firefox 123.0, See All New Features, Updates and Fixes
[www.mozilla.org/en-US/firefox/123.0/releasenotes/](https://www.mozilla.org/en-US/firefox/123.0/releasenotes/ "Firefox 123.0, See All New Features, Updates and Fixes")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">Firefox</span> <span class="jser-tag">ReleaseNote</span></p>

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

- [Firefox 123 for developers - Mozilla | MDN](https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/123 "Firefox 123 for developers - Mozilla | MDN")

----

## Announcing TypeScript 5.4 RC - TypeScript
[devblogs.microsoft.com/typescript/announcing-typescript-5-4-rc/](https://devblogs.microsoft.com/typescript/announcing-typescript-5-4-rc/ "Announcing TypeScript 5.4 RC - TypeScript")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">TypeScript</span> <span class="jser-tag">ReleaseNote</span></p>

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

- [Feedback: 5.0 deprecations · Issue #51909 · microsoft/TypeScript](https://github.com/microsoft/TypeScript/issues/51909 "Feedback: 5.0 deprecations · Issue #51909 · microsoft/TypeScript")

----

## Release v1.24.0 · parcel-bundler/lightningcss
[github.com/parcel-bundler/lightningcss/releases/tag/v1.24.0](https://github.com/parcel-bundler/lightningcss/releases/tag/v1.24.0 "Release v1.24.0 · parcel-bundler/lightningcss")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">CSS</span> <span class="jser-tag">Tools</span> <span class="jser-tag">ReleaseNote</span></p>

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](https://bun.sh/blog/bun-v1.0.29 "Bun v1.0.29 | Bun Blog")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">Bun</span> <span class="jser-tag">ReleaseNote</span></p>

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](https://deno.com/blog/v1.41 "Deno 1.41: smaller deno compile binaries")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">deno</span> <span class="jser-tag">ReleaseNote</span></p>

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

- [Release v1.41.0 · denoland/deno](https://github.com/denoland/deno/releases/tag/v1.41.0 "Release v1.41.0 · denoland/deno")

----

## 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](https://github.com/facebook/react-strict-dom "facebook/react-strict-dom: React Strict DOM (RSD) is a subset of React DOM, imperative DOM, and CSS that supports web and native targets")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">React</span> <span class="jser-tag">DOM</span> <span class="jser-tag">iOS</span> <span class="jser-tag">Android</span> <span class="jser-tag">library</span></p>

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


----

## Remix Vite is Now Stable | Remix
[remix.run/blog/remix-vite-stable](https://remix.run/blog/remix-vite-stable "Remix Vite is Now Stable | Remix")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">Remix</span> <span class="jser-tag">vite</span> <span class="jser-tag">ReleaseNote</span></p>

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

- [Remix 2.7で安定版となったCloudflare PagesのVite対応の実現方法を読み解く](https://zenn.dev/chimame/articles/e5bf3a18b7d4de "Remix 2.7で安定版となったCloudflare PagesのVite対応の実現方法を読み解く")

----

## 方能CDN - 合作伙伴
[funnull.com/Partner/](https://funnull.com/Partner/ "方能CDN - 合作伙伴")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">polyfill</span> <span class="jser-tag">news</span> <span class="jser-tag">webservice</span></p>

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

- [Jake on X: &amp;quot;I&#039;ve been in discussions with Funnull for many months and they will be the new maintainers and operators of the GitHub repo, which remains open source, and as of 24 Feb, they&#039;re starting to provide the service for https://t.co/29YaS03zrD.&amp;quot; / X](https://twitter.com/JakeDChampion/status/1761315227008643367 "Jake on X: &amp;amp;quot;I&amp;#039;ve been in discussions with Funnull for many months and they will be the new maintainers and operators of the GitHub repo, which remains open source, and as of 24 Feb, they&amp;#039;re starting to provide the service for https://t.co/29YaS03zrD.&amp;amp;quot; / X")
- [Polyfill.ioが中国企業に売却 背景と対応策は? - ろぼいんブログ](https://roboin.io/article/2024/02/26/polyfill-io-sells-to-chinese-company-what-you-need-to-know/ "Polyfill.ioが中国企業に売却 背景と対応策は? - ろぼいんブログ")

----
<h1 class="site-genre">アーティクル</h1>

----

## JSDoc as an alternative TypeScript syntax
[alexharri.com/blog/jsdoc-as-an-alternative-typescript-syntax](https://alexharri.com/blog/jsdoc-as-an-alternative-typescript-syntax "JSDoc as an alternative TypeScript syntax")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">TypeScript</span> <span class="jser-tag">article</span></p>

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


----

## TanStack Router(&amp; Query)はSPA開発で求めていたものだった✨【Reactのルーティングとデータ取得】
[zenn.dev/aishift/articles/ad1744836509dd](https://zenn.dev/aishift/articles/ad1744836509dd "TanStack Router(&amp; Query)はSPA開発で求めていたものだった✨【Reactのルーティングとデータ取得】")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">React</span> <span class="jser-tag">JavaScript</span> <span class="jser-tag">article</span></p>

TanStack Routerの紹介記事


----

## Using localStorage in Modern Applications - A Comprehensive Guide | RxDB - JavaScript Database
[rxdb.info/articles/localstorage.html](https://rxdb.info/articles/localstorage.html "Using localStorage in Modern Applications - A Comprehensive Guide | RxDB - JavaScript Database")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">article</span></p>

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


----

## Node.js 2023 Year in An Article
[blog.rafaelgss.dev/nodejs-2023-year-in-review](https://blog.rafaelgss.dev/nodejs-2023-year-in-review "Node.js 2023 Year in An Article")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">nodejs</span> <span class="jser-tag">article</span></p>

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


----
<h1 class="site-genre">ソフトウェア、ツール、ライブラリ関係</h1>

----

## 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](https://github.com/fabiospampinato/fast-string-width/tree/main "fabiospampinato/fast-string-width: A fast function for calculating the visual width of a string once printed to the terminal.")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">library</span></p>

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


----

## unadlib/mutability: A JavaScript library for transactional mutable updates
[github.com/unadlib/mutability](https://github.com/unadlib/mutability "unadlib/mutability: A JavaScript library for transactional mutable updates")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">library</span></p>

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

- [unadlib/mutative: Efficient immutable updates, 2-6x faster than naive handcrafted reducer, and more than 10x faster than Immer.](https://github.com/unadlib/mutative "unadlib/mutative: Efficient immutable updates, 2-6x faster than naive handcrafted reducer, and more than 10x faster than Immer.")

----
<h1 class="site-genre">書籍関係</h1>

----

## 実践Next.js —— App Routerで進化するWebアプリ開発:書籍案内|技術評論社
[gihyo.jp/book/2024/978-4-297-14061-8](https://gihyo.jp/book/2024/978-4-297-14061-8 "実践Next.js —— App Routerで進化するWebアプリ開発:書籍案内|技術評論社")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">Next.js</span> <span class="jser-tag">book</span></p>

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


----

0 comments on commit 9a40d19

Please sign in to comment.