Fork me on GitHub

2023-10-03のJS: Node v20.8.0、Vitest v1.0.0-beta.0、instant.dev(Rails-inspired ORM/Migrations)

Edit on GitHub 編集履歴を見る

JSer.info #663 - Node.js 20.8.0がリリースされました。

streamに関するフラグをビットマップで管理することでメモリ消費量とパフォーマンスが改善されています。

vmimportModuleDynamicallyオプションを追加、主にJestなどで起きていたvmのメモリリークの問題を修正なども含まれています。

Node.jsのアップデートが起因でJestのメモリリークが起きる問題としては、次のIssueがあります。
こちらのIssueは、Node.js 20.8.0ではまだ修正されていません。

こちらの問題は、次のPull Requestで解決されるようです。

📝 Node.js 20.x は2023-10-24からLTSとなります。


Vitest v1.0.0-beta.0がリリースされました。

今まではnode:worker_threadsを使った並列実行のみがサポートされていましたが、今回node:child_processを使った並列実行をサポートが追加されています。
これは、node:worker_threadsではnative moduleを含むコードを実行すると、Segmentation faultになるケースがあるためです。次のIssueで詳しく解説されています。

この変更により、--threadsなどのフラグが廃止され、代わりとなる--pool--poolOptionsフラグが追加されています。


RailsをインスパイアしたORMマッパーとマイグレーション管理ツールである instant.dev が公開されています。

モデルの生成やマイグレーションの管理を行うInstant CLIと、ORMを作るInstant ORMで構成されています。


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

JSer.info Sponsors

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


ヘッドライン


Node v20.8.0 (Current) | Node.js

nodejs.org/en/blog/release/v20.8.0

nodejs ReleaseNote

Node.js v20.8.0リリース。
Streamのパフォーマンス改善、vmimportModuleDynamicallyオプションを追加、主にJestなどで起きていたvmのメモリリークの問題を修正など


Lit 3.0 Prerelease 2 and more! – Lit

lit.dev/blog/2023-09-27-lit-3.0-prerelease-2/

JavaScript UI library ReleaseNote

Lit 3.0.0-pre.1リリース。
Lit 3.0では、IE11のサポート終了、ECMAScript Proposal Stage 3のDecoratorの対応などが含まれる。


npm provenance general availability - The GitHub Blog

github.blog/changelog/2023-09-26-npm-provenance-general-availability/

npm news

npm provenanceを使ってパッケージを公開できるようになった。
CI/CDからパッケージを公開する際に、コミットとパッケージを紐づけて公開できるようになる。


Release 3.33.0 - 2023.10.02 · zloirock/core-js

github.com/zloirock/core-js/releases/tag/v3.33.0

JavaScript polyfill ReleaseNote

core-js v3.33.0リリース。
RegExp.escapeの追加、compat dataのアップデートなど


Release v1.0.0-beta.0 · vitest-dev/vitest

github.com/vitest-dev/vitest/releases/tag/v1.0.0-beta.0

JavaScript testing library ReleaseNote

vitest v1.0.0-beta.0リリース。
node:child_processを使った並列実行をサポート、poolpoolOptionsをサポートし関連する古いフラグを削除など


Bun v1.0.4 | Bun Blog

bun.sh/blog/bun-v1.0.4

Bun ReleaseNote

Bun v1.0.4リリース。
Bun.serve()のメモリ消費量の削減、server.requestIP()の追加、Bun.pluginでのvirtual modulesのサポート。
Fetchのtimeoutのデフォルト値を30秒から5分へ変更、DNS解決のバグを修正など


アーティクル


A Socket API that works across JavaScript runtimes — announcing a WinterCG spec and Node.js implementation of connect()

blog.cloudflare.com/socket-api-works-javascript-runtimes-wintercg-polyfill-connect/

nodejs cloudflare API article

WinterCGで策定しているSocket APIについて


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


runk/node-chardet: Character encoding detection tool for NodeJS

github.com/runk/node-chardet

JavaScript library

文字コード判定ライブラリ


instant-dev/instant: Build APIs with a Rails-inspired JavaScript ORM and Migrations for Postgres

github.com/instant-dev/instant

JavaScript library database

Rails/ActiveRecordをインスパイアしたORMマッパー、マイグレーション管理ツール。


aidenybai/pattycake: Zero-runtime pattern matching

github.com/aidenybai/pattycake

TypeScript Tools performance

ts-patternのパターンマッチをインライン化して、Runtimeライブラリの依存をなくすツール。


tldraw/tldraw: a very good whiteboard

github.com/tldraw/tldraw

JavaScript library illust diagram communication

共同編集できるホワイトボードライブラリ。


書籍関係


Learning Vue

learning.oreilly.com/library/view/learning-vue/9781492098812/

Vue JavaScript book

2023年12月発売
Vueについての書籍


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