Fork me on GitHub

2022-11-02: Node.js 18.12.0 LTS, Babel 7.20.0, TypeScript 4.9 RC

Translator: U-Yeong Ju Edit on GitHub See Revisions

JSer.info #616 - Node.js 18 버전의 LTS(Long Term Support)가 되는 Node.js 18.12.0가 릴리스 됐다.

Node.js 18의 LTS는 2023년 10월 18일 부터 2025년 4월 30일 까지 지원될 예정이다.

Node.js Release schedule

또, Node.js 16 LTS는 OpenSSL의 라이프사이클 관련 문제로 평소보다 짧은 2023년 9월 11일까지 지원된다.


Babel 7.20.0이 릴리스 됐다.

현재 RC인 TypeScript 4.9 지원, @babel/preset-envtargets으로 Deno를 지정할 수 있다.
이와 함께 babel-loader 9.0.0을 릴리스 하고 webpack5 미만, Node.js 12 이하 지원을 종료했다.


TypeScript 4.9 RC가 릴리스 됐다.

  • Announcing TypeScript 4.9 RC - TypeScript

  • 타입 캐스트 없이 타입 일치를 체크할 수 있는 satisfies 연산자 추가

  • in 연산자에서 타입 추론 영역 개선

  • accessor 키워드 지원

  • == NaN을 컴파일 에러로 감지하도록 변경

  • --watch 시의 파일 감지 방식을 기본적으로 useFsEvents으로 변경

  • exports 필드와 typeVersions 필드의 우선도 수정

RC 릴리스에 맞춰 다음 버전인 5.0과 관련된 일정도 다음 이슈를 통해 논의 되고 있다.

5.0에서는 주로 다음과 같은 제안 및 개선이 이뤄질 전망이다.


헤드라인


Node v18.12.0 (LTS) | Node.js

nodejs.org/en/blog/release/v18.12.0/

node.js ReleaseNote

Node.js 18의 LTS 버전인 Node.js v18.12.0 릴리스.
Node.js 18의 LTS는 2025년 4월 까지 유지보수 될 예정.


vite/CHANGELOG.md at main · vitejs/vite

github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md#320-2022-10-26

vite ReleaseNote

Vite 3.2.0 릴리스.
Library Mode에서 여러개의 엔트리 포인트 지원, build.modulePreload 옵션 추가, ErrorOverlay 스타일을 커스터 마이징 할 수 있게 개선.


7.20.0 Released: Deno target and TypeScript 4.9 · Babel

babeljs.io/blog/2022/10/27/7.20.0

babel ReleaseNote

Babel v7.20.0 릴리스.
TypeScript 4.9 지원, @babel/preset-envtargets으로 Deno를 지정할 수 있다.
이와 함께 babel-loader 9.0.0이 릴리스 됐으며 webpack 5 미만 버전과 Node.js 12 이하 버전이 지원 종료 됐다.


Deno 1.27: Major IDE Improvements

deno.com/blog/v1.27

deno ReleaseNote

Deno v1.27 릴리스.
npm 패키지의 @types를 이용할 수 있도록 개선, Node-API 지원, Lock 파일 포멧 변경.
navigator.language Web API 구현, V8 10.8으로 갱신.


Release v7.0.0 · pixijs/pixijs

github.com/pixijs/pixijs/releases/tag/v7.0.0

JavaScript canvas library ReleaseNote

PixiJS v7.0.0 릴리스.
IE 지원 종료, polyfill 삭제, InteractionManager를 삭제하고 EventSystem을 기본 사용, peerDependencies를 이용하지 않도록 변경.


Release v3.0.279 · mozilla/pdf.js

github.com/mozilla/pdf.js/releases/tag/v3.0.279

PDF JavaScript library ReleaseNote

pdf.js v3.0.279 릴리스.
메이저 업데이트 릴리스이며 Editor mode가 추가 됐고, 비권장 API가 삭제 됐다.


Release v1.9.0-rc.0 · reduxjs/redux-toolkit

github.com/reduxjs/redux-toolkit/releases/tag/v1.9.0-rc.0

redux ReleaseNote

Redux Toolkit v1.9.0-rc.0 릴리스.
autoBatchEnhancer 추가, fetchBaseQuery에서 global option을 전달할 수 있도록 개선.


Announcing TypeScript 4.9 RC - TypeScript

devblogs.microsoft.com/typescript/announcing-typescript-4-9-rc/

TypeScript ReleaseNote

TypeScript 4.9 RC 릴리스.

  • 타입 캐스트 없이 타입 일치를 체크할 수 있는 satisfies 연산자 추가
  • in 연산자에서 타입 추론 영역 개선
  • accessor 키워드 지원
  • == NaN을 컴파일 에러로 감지하도록 변경
  • --watch 시의 파일 감지 방식을 기본적으로 useFsEvents으로 변경
  • exports 필드와 typeVersions 필드의 우선도 수정

Mixing It Up: Remix Joins Shopify to Push the Web Forward — Development (2022)

shopify.engineering/remix-joins-shopify

Remix news

Shopify가 Remix를 인수했다. Remix는 Shopify의 하위 체제로 개발을 이어간다.
Shopify의 Hydrogen에 Remix의 data loading 패턴을 통합하는 등의 작업도 이어질 예정.
덧붙여 Vanilla Extract의 Creator인 Mark Dalgleish도 Remix에 참여할 것으로 보인다.


아티클


Why We're Breaking Up with CSS-in-JS - DEV Community 👩‍💻👨‍💻

dev.to/srmagura/why-were-breaking-up-wiht-css-in-js-4g9b

CSS JavaScript article opinion

CSS-in-JS의 런타임 성능 문제를 주제로 한 글. 성능 문제가 있었던 부분을 CSS(Sass modules)로 대체하면서 오버헤드가 48%나 감소하는 측정 값을 보여준다. 따라서 성능 문제를 회피하기 위해 Sass modules 또는 유틸리티 클래스(Bootstrap, Tailwind) 프레임워크를 제안한다. 컴파일 타임 CSS-in-JS도 대안이 될 수 있지만 Sass modules와 비교해 여전히 단점이 존재한다고도 언급하고 있다.


Airbnb's Trip to Linaria | The Airbnb Tech Blog

medium.com/airbnb-engineering/airbnbs-trip-to-linaria-dc169230bd12

CSS article opinion

Airbnb에서 CSS-in-JS 도구로 react-with-styles를 개발하고 사용하고 있었으나 성능과 유지보수성 문제로 인해 Linaria로 이전한다. react-with-styles는 개발을 중단하고 유지보수를 당분간은 유지할 예정이며 때문에 다른 도구로 이전 하기를 권고하고 있다.


【탈 런타임 CSS in JS】 styled-components를 다른 CSS in JS 도구로 자동 치환하는 CLI 도구 개발(일본어)

zenn.dev/yukiyada/articles/0ac6ef8d566b96

CSS article Tools

styled-components를 linaria나 vanilla-extract로 이전하는 도구와 구조 등을 소개하는 글.


사이트, 서비스, 문서


sqlite3 wasm docs: About the sqlite3 WASM/JS Subproject

sqlite.org/wasm/doc/trunk/about.md

SQLite JavaScript WebAssembly library

sqlite3를 WebAssembly와 JavaScript를 사용해 브라우저에서 동작 시키는 것을 목표로 하는 공식 프로젝트.


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


dudykr/stc: Speedy TypeScript type checker

github.com/dudykr/stc

TypeScript Rust

Rust로 작성한 TypeScript 타입 체커.


도서


Fluent React [Book]

www.oreilly.com/library/view/fluent-react/9781098138707/

React book

2024년 3월 출간 예정인 React를 주제로 한 도서.
JSX 구문, 고급 패턴, 최적화 기술 등을 폭넓게 다룰 예정.


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