Fork me on GitHub

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

Translator: rewrite0w0 Edit on GitHub See Revisions

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로 구성되어 있습니다.


To support 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/C로 패키지 공개할 때, 커밋과 패키지를 엮어 공개할 수 있도록 되었다.


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 관련 도서


Pull Request to this article
JSer.info Slackに参加する