Fork me on GitHub

2022-10-25: Node.js 19, npm 9, Safari 16.1(Web Push)

Translator: U-Yeong Ju Edit on GitHub See Revisions

JSer.info #615 - Node.js 19.0.0가 릴리스 됐다.

Node.js 19는 홀수 버전으로 개발 버전으로 다뤄지며 LTS는 릴리스 되지 않는다.

Node.js 19.0.0에서는 node --watch 추가, HTTP/1.1에서 keepAlive를 기본 활성화, WebCrypto가 Stable로 변경됐다.
의존 모듈(또는 엔진)이 V8 10.7, llhttp 8.1.0, npm 8.19.2으로 각각 갱신됐다.
또, --import 플래그(--require 플래그의 ESM 버전)가 추가 됐다.


npm 9.0.0가 릴리스 됐다.

@latest(dist-tag)가 붙어있지 않기 때문에 npm i -g npm@9로 설치할 수 있다.
2022년 11월 9일에 @latest가 붙어 GA가 되어 npm i -g npm로 설치할 수 있게 된다.
그 이후에 Node.js 19와 18에도 동봉될 예정이다.

npm 9에서는 Node.js 12의 지원이 종료됐고 인증 방법을 다루는 --auth-type의 기본값이 "web"으로 변경됐다.
또, package.jsonfiles 필드가 정의돼 있는 경우에 최상위에 있는 .gitignore.npmignore를 무시하도록 변경됐다.
에러와 크래시 로그를 구별하며 --json를 붙인 경우에도 크래시 로그는 JSON으로 출력하지 않도록 변경됐다.
npm access, npm birthday, npm set-script, npm bin 명령어 삭제도 포함됐다.


Safari 16.1가 릴리스 됐다.

Safari 16.1에서는 Safari Push Notifications라는 독자 푸시 알림 방식이 아니라 Service Worker에 대응한 Web Push를 지원한다.

그 외로는 AVIF 형식 지원, PassKeys 지원, Scroll to Text Fragment 지원이 추가됐다.


헤드라인


Release Notes for Safari Technology Preview 156 | WebKit

webkit.org/blog/13394/release-notes-for-safari-technology-preview-156/

safari ReleaseNote

Safari Technology Preview 156 릴리스.
Intl.DurationFormat 구현, Temporal API 개선, import.meta.resolve() / Import Maps 구현.
Clear-Site-Data HTTP 헤더 지원.


Release v9.0.0 · npm/cli

github.com/npm/cli/releases/tag/v9.0.0

npm ReleaseNote

npm v9.0.0 릴리스.
Node.js 12 지원 종료, 인증 방식을 지정하는 --auth-type의 기본값을 "web"으로 변경.
package.jsonfiles 필드가 정의돼 있는 경우에는 최상위에 있는 .gitignore.npmignore를 무시하도록 변경.
에러와 크래시 로그를 구별하고, --json를 붙인 경우에도 크래시 로그는 JSON으로 출력하지 않도록 변경.
npm access, npm birthday, npm set-script, npm bin 명령어 삭제.


Release v1.6.0 - Castle in the Sky · solidjs/solid

github.com/solidjs/solid/releases/tag/v1.6.0

JavaScript library ReleaseNote

Solid v1.6.0 릴리스.
Partial Hydration 지원, 컴포넌트에 Props으로 전달하는 Spread Syntax 개선 등.


Node v19.0.0 (Current) | Node.js

nodejs.org/en/blog/release/v19.0.0/

node.js ReleaseNote

Node.js v19.0.0 릴리스(홀수 버전은 개발 버전임을 의미).
node --watch 추가, HTTP/1.1에서 keepAlive를 기본 활성화, WebCrypto를 Stable로 변경.
V8 10.7, llhttp 8.1.0, npm 8.19.2으로 의존 모듈을 각각 갱신.
--import 플래그(--require 플래그의 ESM 버전) 추가.


Tailwind CSS v3.2: Dynamic breakpoints, multi-config, and container queries, oh my! - Tailwind CSS

tailwindcss.com/blog/tailwindcss-v3-2

CSS library ReleaseNote

Tailwind CSS 3.2 릴리스.
@config을 통한 config 불러오기 지원.
@supports에 상응하는 support-[] variant 추가, WAI-ARIA 속성에 대응하는 variant 추가, Data 속성에 대응하는 variant 추가, max-* variant 추가.
플러그인에 matchVariant API 추가, Container Query에 대응하는 플러그인 추가 등.


Release v3.0.0 · svg/svgo

github.com/svg/svgo/releases/tag/v3.0.0

SVG library

SVGO v3 릴리스.
Node 12 지원 종료, 설정이나 플러그인 API가 변경됐다.


Release 3.26.0 - 2022.10.24 · zloirock/core-js

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

JavaScript ECMAScript proposal library polyfill ReleaseNote

core-js v3.26.0 릴리스.
Stage 2의 well-formed unicode strings 구현, 변경된 iterator helpers proposal 사양에 맞춰 수정, self의 polyfill을 추가했다.


Vite 4 · Discussion #10570 · vitejs/vite

github.com/vitejs/vite/discussions/10570

vite issue

Vite 4 마일스톤에 대한 Discussion 기록


WebKit Features in Safari 16.1 | WebKit

webkit.org/blog/13399/webkit-features-in-safari-16-1/

safari ReleaseNote

Safari 16.1 변경 사항 정리.
Web Push 지원, AVIF 형식 지원, PassKeys 지원, Scroll to Text Fragment 지원.
getDisplayMedia()로 특정 윈도우를 캡쳐할 수 있는 기능을 제공한다.


Release v1.0.0 · fingerprintjs/BotD

github.com/fingerprintjs/BotD/releases/tag/v1.0.0

browser JavaScript library ReleaseNote

Bot 감지 라이브러리 / 서비스 BotD 1.0.0 릴리스.


아티클


No spooky cookies - Chrome Developers

developer.chrome.com/en/blog/no-spooky-cookies/

Chrome browser privacy article

Partitioned Cookie 소개.
Partitioned 속성을 부여한 Cookie는 탑 레벨 사이트 별로 분리돼 저장 / 전송된다. 서드 파티 쿠키의 단계적인 폐지와 관련된 구조.


Cloudflare Workers and micro-frontends: made for one another

blog.cloudflare.com/better-micro-frontends/

MicroFrontend article

Cloudflare Workers와 Qwik를 사용한 MicroFrontend 샘플 구현.
각 프레그먼트를 반환하는 Worker가 있고, 메인 Worker를 통해 프레그먼트 Worker에 요청하여 가져온 것을 결합하는 방식으로 SSR 한다.
각 프래그먼트 Worker는 독립적으로 디플로이할 수 있게 구성돼 있다.


소프트웨어, 도구, 라이브러리


oscartbeaumont/rspc: A blazingly fast and easy to use TRPC-like server for Rust.

github.com/oscartbeaumont/rspc

Rust TypeScript library

Rust와 TypeScript 간의 IPC를 tRPC와 같이 타입을 활용해 실행할 수 있는 라이브러리.
React나 Solid, Tauri에 대응한 클라이언트 라이브러리도 제공한다.


thebinarysearchtree/flyweight: An ORM for SQLite

github.com/thebinarysearchtree/flyweight

SQLite node.js library

Node.js 용 SQLite ORM 도구.


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