Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2024-01-11のJS: Biome v1.5、Node.js v20.11.0、Rspack 0.5 #1152

Merged
merged 20 commits into from
Jan 11, 2024
Merged
Original file line number Diff line number Diff line change
@@ -0,0 +1,220 @@
---
title: "2024-01-11のJS: Biome v1.5、Node.js v20.11.0、Rspack 0.5"
author: "azu"
layout: post
date: 2024-01-11T03:42:47.857Z
category: JSer
tags:
- book
- Bun
- DOM
- Chrome
- privacy

---

JSer.info #676 - Biome v1.5がリリースされました。

- [Biome v1.5 | Biome](https://biomejs.dev/blog/biome-v1-5/)

GitなどのVCSでの変更されたファイルだけを扱う`--changed`フラグの追加、`biome ci`でGitHubのProblem Matcherに合わせた出力をすることでPRコメントの対応が行われています。また、`biome explain`の追加、Lintルールの追加なども行われています。

リリースにあわせて、Biomeの2024年のロードマップも公開されています。

- [Roadmap 2024 | Biome](https://biomejs.dev/blog/roadmap-2024/)
- [Biome の 2024年のロードマップの公開と v1.5.0 のリリース](https://zenn.dev/cybozu_frontend/articles/biome-roadmap-2024)

現在CSSの対応を進めていて、今後はHTMLやMarkdownなどの対応も行われる予定です。
また、プラグインの仕組みも検討していくようです。

---

Node.js v20.11.0がリリースされました。

- [Node v20.11.0 (LTS) | Node.js](https://nodejs.org/en/blog/release/v20.11.0)

`import.meta.dirname`/`import.meta.filename`を追加、`--disable-warning`フラグを追加、Streamのパフォーマンス改善などが行われています。

---

Rspack v0.5がリリースされました。

- [Rspack 0.5 Release Announcement - Rspack](https://www.rspack.dev/blog/announcing-0.5.html)

Module Federationのサポートが追加されています。

- [Module Federation added to Rspack - Rspack](https://www.rspack.dev/blog/module-federation-added-to-rspack.html)

破壊的な変更として、ビルトインで定義されていたデフォルトの変換(jsやts)を削除しユーザーが定義するように変更、
`resolve.exntesions`のデフォルト値から`.ts`や`.tsx`などを削除、Deprecatedだった`builtins.*`オプションやloaderを削除などが行われています。
多くのデフォルトの動作をwebpackと合わせるような変更が行われています。

----

{% include inline-support.html %}

----

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

----

## Bun v1.0.21 | Bun Blog
[bun.sh/blog/bun-v1.0.21](https://bun.sh/blog/bun-v1.0.21 "Bun v1.0.21 | 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.21リリース。
`console.table()`のサポート、`bun:sqlite`のエラー表示やメモリ消費量の改善。
Linuxで`blob.arrayBuffer()`のCOWをサポートしメモリ消費を改善、`bun build --public-path=<path>`のサポートなど


----

## Google shares update on next step toward phasing out third-party cookies in Chrome
[blog.google/products/chrome/privacy-sandbox-tracking-protection/](https://blog.google/products/chrome/privacy-sandbox-tracking-protection/ "Google shares update on next step toward phasing out third-party cookies in Chrome")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">Chrome</span> <span class="jser-tag">privacy</span> <span class="jser-tag">news</span></p>

2024年1月4日からChromeの1%のユーザーを対象にサードパーティCookieを無効にするテストを開始する

- [Preparing for the end of third-party cookies  |  Privacy Sandbox  |  Google for Developers](https://developers.google.com/privacy-sandbox/blog/cookie-countdown-2023oct "Preparing for the end of third-party cookies  |  Privacy Sandbox  |  Google for Developers")

----

## 2023 JavaScript Rising Stars
[risingstars.js.org/2023/en](https://risingstars.js.org/2023/en "2023 JavaScript Rising Stars")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">Github</span> <span class="jser-tag">news</span></p>

GitHubのスター数の比較をするJavaScript Rising Starsの2023年の結果が公開された


----

## Astro 4.1 | Astro
[astro.build/blog/astro-410/](https://astro.build/blog/astro-410/ "Astro 4.1 | Astro")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">astro</span> <span class="jser-tag">ReleaseNote</span></p>

Astro 4.1リリース。
dev toolbarにアクセシビリティのauditを追加、`client:visible`に`rootMargin`オプションを追加、CookieのEncoding/Decodingオプションの追加など


----

## Release v3.12.0 · honojs/hono
[github.com/honojs/hono/releases/tag/v3.12.0](https://github.com/honojs/hono/releases/tag/v3.12.0 "Release v3.12.0 · honojs/hono")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">server</span> <span class="jser-tag">library</span> <span class="jser-tag">ReleaseNote</span></p>

Hono v3.12.0リリース。
Originヘッダをチェックする`hono/csrf`の追加、実験的なAPIとして`hono/css`でのCSS in JSを追加など


----

## Release Version 23.2.0 · jsdom/jsdom
[github.com/jsdom/jsdom/releases/tag/23.2.0](https://github.com/jsdom/jsdom/releases/tag/23.2.0 "Release Version 23.2.0 · jsdom/jsdom")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">DOM</span> <span class="jser-tag">ReleaseNote</span></p>

jsdom 23.2.0リリース。
CSS selectorのエンジンを`nwsapi`から`dom-selector`へと変更。

- [asamuzaK/domSelector: A CSS selector engine.](https://github.com/asamuzaK/domSelector "asamuzaK/domSelector: A CSS selector engine.")
- [dperini/nwsapi: Fast CSS Selectors API Engine](https://github.com/dperini/nwsapi "dperini/nwsapi: Fast CSS Selectors API Engine")

----

## Bun v1.0.22 | Bun Blog
[bun.sh/blog/bun-v1.0.22](https://bun.sh/blog/bun-v1.0.22 "Bun v1.0.22 | 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.22リリース。
`PerformanceObserver`/`performance.mark`/`performance.measure` APIの実装、Fetch APIのBrotliサポート。
`console.table`のEastAsianWidthの対応改善など


----

## Biome v1.5 | Biome
[biomejs.dev/blog/biome-v1-5/](https://biomejs.dev/blog/biome-v1-5/ "Biome v1.5 | Biome")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">Tools</span> <span class="jser-tag">ReleaseNote</span></p>

Biome v1.5リリース。
GitなどのVCSでの変更されたファイルだけを扱う`--changed`フラグの追加、`biome ci`でGitHubのProblem Matcherに合わせた出力をするように。
`biome explain`の追加、Lintルールの追加など

- [Biome の 2024年のロードマップの公開と v1.5.0 のリリース](https://zenn.dev/cybozu_frontend/articles/biome-roadmap-2024 "Biome の 2024年のロードマップの公開と v1.5.0 のリリース")

----

## Node v20.11.0 (LTS) | Node.js
[nodejs.org/en/blog/release/v20.11.0](https://nodejs.org/en/blog/release/v20.11.0 "Node v20.11.0 (LTS) | Node.js")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">nodejs</span> <span class="jser-tag">ReleaseNote</span></p>

Node.js v20.11.0リリース。
`import.meta.dirname`/`import.meta.filename`を追加、`--disable-warning`フラグを追加、Streamのパフォーマンス改善など


----

## Release v13.0.0 · capricorn86/happy-dom
[github.com/capricorn86/happy-dom/releases/tag/v13.0.0](https://github.com/capricorn86/happy-dom/releases/tag/v13.0.0 "Release v13.0.0 · capricorn86/happy-dom")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">DOM</span> <span class="jser-tag">ReleaseNote</span></p>

Happy DOM v13.0.0リリース。
InternalなAPIをSymbolを使うことで直接はアクセスできないように変更、CORSのpreflightの対応改善、`window.open()`/`window.close()`のアポートなど


----

## Rspack 0.5 Release Announcement - Rspack
[www.rspack.dev/blog/announcing-0.5.html](https://www.rspack.dev/blog/announcing-0.5.html "Rspack 0.5 Release Announcement - Rspack")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">bundler</span> <span class="jser-tag">ReleaseNote</span></p>

Rspack 0.5リリース。
Module Federationのサポート、ビルトインで定義されていたデフォルトの変換(jsやts)を削除しユーザーが定義するように変更。
`resolve.exntesions`のデフォルト値から`.ts`や`.tsx`などを削除、Deprecatedだった`builtins.*`オプションやloaderを削除など


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

----

## More Than You Need to Know About ReactDOM.flushSync | JulesBlom.com
[julesblom.com/writing/flushsync](https://julesblom.com/writing/flushsync "More Than You Need to Know About ReactDOM.flushSync | JulesBlom.com")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">React</span> <span class="jser-tag">article</span></p>

Reactの`ReactDOM.flushSync`について。
Reactはデフォルトで状態の更新をまとめてレンダリングするが、`flushSync`では状態の更新をすぐにレンダリングできることについて


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

----

## 【DDD入門】TypeScript × ドメイン駆動設計ハンズオン
[zenn.dev/yamachan0625/books/ddd-hands-on](https://zenn.dev/yamachan0625/books/ddd-hands-on "【DDD入門】TypeScript × ドメイン駆動設計ハンズオン")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">DDD</span> <span class="jser-tag">TypeScript</span> <span class="jser-tag">book</span></p>

DDDのドメインモデリングや実装方法についてを見ていくチュートリアル。
イベントストーミングでのドメインモデリング、PlantUMLを使ったモデル図の管理、TypeScriptを使った実装について紹介している


----

## Amazon.co.jp: フロントエンドの知識地図—— 一冊でHTML/CSS/JavaScriptの開発技術が学べる本 eBook : 池田 泰延, 西原 翼, 松本 ゆき: Kindleストア
[www.amazon.co.jp/dp/B0CMCWZRP2/](https://www.amazon.co.jp/dp/B0CMCWZRP2/ "Amazon.co.jp: フロントエンドの知識地図—— 一冊でHTML/CSS/JavaScriptの開発技術が学べる本 eBook : 池田 泰延, 西原 翼, 松本 ゆき: Kindleストア")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">HTML</span> <span class="jser-tag">CSS</span> <span class="jser-tag">book</span></p>

HTML/CSS/JavaScriptなどのフロントエンドについての書籍


----

## The chibivue Book | The chibivue Book
[ubugeeei.github.io/chibivue/](https://ubugeeei.github.io/chibivue/ "The chibivue Book | The chibivue Book")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">Vue</span> <span class="jser-tag">JavaScript</span> <span class="jser-tag">book</span> <span class="jser-tag">tutorial</span></p>

Vueの仕組みを実装しながら、Virtual DOM/Reactivity System/Template Compiler/Single File Componentについて見ていくサイト。


----