Skip to content

Commit

Permalink
2024-07-11のJS: esbuild v0.22/0.23、Node.js 22.4.0、pnpm 9.5 Catalogs (#…
Browse files Browse the repository at this point in the history
  • Loading branch information
azu authored Jul 11, 2024
1 parent f82ee6f commit 359ea29
Showing 1 changed file with 208 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,208 @@
---
title: "2024-07-11のJS: esbuild v0.22/0.23、Node.js 22.4.0、pnpm 9.5 Catalogs"
author: "azu"
layout: post
date: 2024-07-11T00:56:49.385Z
category: JSer
tags:
- nodejs
- TypeScript
- pnpm
- esbuild
- Bun

---

JSer.info #699 - esbuild v0.22.0 がリリースされました。

- [Release v0.22.0 · evanw/esbuild](https://github.com/evanw/esbuild/releases/tag/v0.22.0)
- [Release v0.23.0 · evanw/esbuild](https://github.com/evanw/esbuild/releases/tag/v0.23.0)

v0.22 では`--platform=node`を指定した時に`--package=external`をデフォルトにする変更を行いましたが、AWS CDK などが`0.x`の最新をインストールする仕組みなっていて問題が起きたため 0.23.0 では元の挙動へと revert されています。([AWS CDK 側も修正](https://github.com/aws/aws-cdk/pull/30726)されています)
また、Windows7,8 など古い OS のサポート終了、`es2024`のサポート、`@esbuild/wasi-preview1`パッケージの公開など

---

Node.js v22.4.0 がリリースされました。

- [Release 2024-07-02, Version 22.4.0 (Current), @targos · nodejs/node](https://github.com/nodejs/node/releases/tag/v22.4.0)

実験的に Web Storage API(`localStorage`/`sessionStorage`)のサポート、WebSocket API を Stable に変更などの変更が含まれています。

---

pnpm v9.5.0 がリリースされました。

- [Release pnpm 9.5 · pnpm/pnpm](https://github.com/pnpm/pnpm/releases/tag/v9.5.0)

pnpm 9.5 では Catalogs という機能が追加されました。
これは複数のパッケージのバージョン指定に対して名前をつけてカタログ的に管理できる仕組みで、monorepo内のパッケージのバージョンを統一する際などに使う目的で導入されています。
定義したカタログのバージョンを参照するための`catalog:`も追加されています。

詳しい仕組みや使い方は、次のページに公開されています。

- [Catalogs | pnpm](https://pnpm.io/catalogs)
- [pnpm 9.5 Introduces Catalogs: Shareable Dependency Version Specifiers - Socket](https://socket.dev/blog/pnpm-9-5-introduces-catalogs-shareable-dependency-version-specifiers)


----

{% include inline-support.html %}

----

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

----

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

esbuild v0.22.0リリース。
`--platform=node`を指定した時に`--package=external`をデフォルトにしたが、AWS CDKなどで問題が起きたため0.23.0では元の挙動へとrevertされている。
Windows7,8など古いOSのサポート終了、`es2024`のサポート、`@esbuild/wasi-preview1`パッケージの公開など

- [Release v0.23.0 · evanw/esbuild](https://github.com/evanw/esbuild/releases/tag/v0.23.0 "Release v0.23.0 · evanw/esbuild")

----

## Bun v1.1.18 | Bun Blog
[bun.sh/blog/bun-v1.1.18](https://bun.sh/blog/bun-v1.1.18 "Bun v1.1.18 | Bun Blog")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">Bun</span> <span class="jser-tag">ReleaseNote</span></p>

Bun v1.1.18リリース。
`.npmrc`のサポート、`enum`のinliningの対応、定数のfoldingの改善など


----

## Release 2024-07-02, Version 22.4.0 (Current), @targos · nodejs/node
[github.com/nodejs/node/releases/tag/v22.4.0](https://github.com/nodejs/node/releases/tag/v22.4.0 "Release 2024-07-02, Version 22.4.0 (Current), @targos · nodejs/node")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">nodejs</span> <span class="jser-tag">ReleaseNote</span></p>

Node.js 22.4.0リリース。
実験的にWeb Storage API(`localStorage`/`sessionStorage`)のサポート、WebSocket APIをStableに変更など


----

## Support typescript with --experimental-strip-types · Issue #208 · nodejs/loaders
[github.com/nodejs/loaders/issues/208](https://github.com/nodejs/loaders/issues/208 "Support typescript with --experimental-strip-types · Issue #208 · nodejs/loaders")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">nodejs</span> <span class="jser-tag">TypeScript</span> <span class="jser-tag">issue</span></p>

Node.jsでTypeScriptのコード実行のサポートに関する議論が行われているIssue


----

## Release pnpm 9.5 · pnpm/pnpm
[github.com/pnpm/pnpm/releases/tag/v9.5.0](https://github.com/pnpm/pnpm/releases/tag/v9.5.0 "Release pnpm 9.5 · pnpm/pnpm")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">pnpm</span> <span class="jser-tag">ReleaseNote</span></p>

pnpm v9.5.0リリース。
複数のパッケージのバージョンをまとめて管理できるcatalogs機能を追加など


----

## Node.js — Monday, July 8, 2024 Security Releases
[nodejs.org/en/blog/vulnerability/july-2024-security-releases](https://nodejs.org/en/blog/vulnerability/july-2024-security-releases "Node.js — Monday, July 8, 2024 Security Releases")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">nodejs</span> <span class="jser-tag">security</span> <span class="jser-tag">ReleaseNote</span></p>

Node.jsのセキュリティアップデートとして

- Node v22.4.1 (Current)
- Node v20.15.1 (LTS)
- Node v18.20.4 (LTS)

がリリースされている。


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

----

## What&#039;s coming next for ESLint - ESLint - Pluggable JavaScript Linter
[eslint.org/blog/2024/07/whats-coming-next-for-eslint/](https://eslint.org/blog/2024/07/whats-coming-next-for-eslint/ "What&#039;s coming next for ESLint - ESLint - Pluggable JavaScript Linter")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">ESLint</span> <span class="jser-tag">article</span></p>

ESLintの今後について。
今まではJavaScriptのみをターゲットにしていたが、language pluginsによってjs以外の言語にも対応できるようにしたという話


----

## Ladybird
[ladybird.org/announcement/](https://ladybird.org/announcement/ "Ladybird")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">browser</span> <span class="jser-tag">article</span></p>

LadybirdというSerenityOSの中で開発されていたブラウザがプロジェクトとして独立した。
ChromiumやWebKitなど既存のエンジンを使わずに一から書いているブラウザプロジェクト

- [SerenityOS](https://serenityos.org/ "SerenityOS")

----

## pnpm 9.5 Introduces Catalogs: Shareable Dependency Version Specifiers - Socket
[socket.dev/blog/pnpm-9-5-introduces-catalogs-shareable-dependency-version-specifiers](https://socket.dev/blog/pnpm-9-5-introduces-catalogs-shareable-dependency-version-specifiers "pnpm 9.5 Introduces Catalogs: Shareable Dependency Version Specifiers - Socket")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">pnpm</span> <span class="jser-tag">article</span></p>

pnpm 9.5で導入されたカタログ機能について。
monorepoで同じパッケージのバージョンを参照させるパッケージのカタログを定義できる


----

## ESModules プラットフォームとエコシステムの狭間で | poteboy
[poteboy.dev/posts/20240708-esm-platform-and-ecosystem](https://poteboy.dev/posts/20240708-esm-platform-and-ecosystem "ESModules プラットフォームとエコシステムの狭間で | poteboy")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">ECMAScript</span> <span class="jser-tag">module</span> <span class="jser-tag">article</span></p>

モジュールの評価グラフとBundlerでのTop-Level awaitの扱いについて


----

## How to use container queries now  |  Blog  |  web.dev
[web.dev/blog/how-to-use-container-queries-now?hl&#x3D;en](https://web.dev/blog/how-to-use-container-queries-now?hl=en "How to use container queries now  |  Blog  |  web.dev")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">CSS</span> <span class="jser-tag">article</span></p>

CSSのcontainer queryについて


----

## Understanding React Compiler | Tony Alicea
[tonyalicea.dev/blog/understanding-react-compiler/](https://tonyalicea.dev/blog/understanding-react-compiler/ "Understanding React Compiler | Tony Alicea")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">React</span> <span class="jser-tag">article</span></p>

React Compilerについて


----
<h1 class="site-genre">サイト、サービス、ドキュメント</h1>

----

## Web Performance Guide | SpeedCurve
[www.speedcurve.com/web-performance-guide/](https://www.speedcurve.com/web-performance-guide/ "Web Performance Guide | SpeedCurve")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">performance</span> <span class="jser-tag">document</span></p>

ウェブパフォーマンスについてのサイト。
ビジネスのメトリクスとしてのパフォーマンス、WebVitals、最適化の手法について


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

----

## OpenAPI TypeScript
[openapi-ts.dev/](https://openapi-ts.dev/ "OpenAPI TypeScript")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">TypeScript</span> <span class="jser-tag">OpenAPI</span> <span class="jser-tag">Tools</span> <span class="jser-tag">library</span></p>

OpenAPIのスキーマからTypeScriptの型定義やFetchするクライアントを扱えるツール/ライブラリ


----

0 comments on commit 359ea29

Please sign in to comment.