Fork me on GitHub

2024-02-20: ES2024 RC, typescript-eslint v7, React Compiler

Translator: rewrite0w0 Edit on GitHub See Revisions

JSer.info #681 - 2024년 6월 공개될 ES2024 출시 후보가 공개되었어요.

ES2024에는, 다음과 같은 변경도 있어요.

매년 2월 경에 사양에 담을 Proposal가 정해지고, 6월 경 GA 127th meeting에서 최종 승인될 예정이에요.


TypeScript 대상 ESLint 플러그인 typescript-eslint v7가 출시돼요.

Node.js 16 지원 종료, ESLint Flat Config 지원하는 typescript-eslint 패키지 추가하는 변경도 있어요.
ESLint v9.0.0에서 기본값이 될 예정인 ESLint Flat Config 이용하는 경우에는, typescript-eslint 패키지 이용할 필요가 있구요.


React Labs: What We've Been Working On – February 2024 – React에서는 React Forget로 알려진 React Compiler 현재와 React 19으로 메이저 업데이트 다뤄요.
둘 다 어느 정도 개발이 진행되어 있어서, 출시까지 준비 과정에 대해서도 언급하고 있어요.


To support JSer.info


헤드라인


Release Release v0.28.0 · axios/axios

github.com/axios/axios/releases/tag/v0.28.0

JavaScript HTTP library security ReleaseNote

Axios v0.28.0 출시.
Axios v1.6.0에 수정된 CSRF 토큰 문제 백포트. 그 외 v1.x 계열에서 수정 백포트.


Announcing typescript-eslint v7 | typescript-eslint

typescript-eslint.io/blog/announcing-typescript-eslint-v7/

TypeScript ESLint ReleaseNote

typescript-eslint v7 출시.
Node.js 16 지원 종료, ESLint Flat Config 지원하는 typescript-eslint 패키지 추가.


ECMAScript proposal updates @ 2024-02 | ECMAScript Daily

ecmascript-daily.github.io/ecmascript/2024/02/15/ecmascript-proposal-update

ECMAScript proposal news

2024년 2월 TC39에서 Proposal 변경 정리.
Stage 2.7 스테이지가 새롭게 추가 됨.
ArrayBuffer.prototype.transfer은 Stage 4가 되서 ES2024에 포함


Release ES2024 Candidate February 2024 · tc39/ecma262

github.com/tc39/ecma262/releases/tag/es2024-candidate-2024-02

ECMAScript spec ReleaseNote

ECMAScript 2024 후보 공개.
ArrayBuffer.prototype.resize/ArrayBuffer.prototype.transfer, RegExp v 플러그 추가.
Promise.withResolvers, Object.groupBy/Map.groupBy 추가.
Atomics.waitAsync, String.prototype.isWellFormed/String.prototype.toWellFormed 추가


Bun v1.0.27 | Bun Blog

bun.sh/blog/bun-v1.0.27

Bun ReleaseNote

Bun v1.0.27 출시.
Response가 Async generator와 Node.js Readable 지원, Bun Shell 개선.
또한, Bun Shell 에러일 때 exit code는 v1.1에서는 1로 변경될 예정.


htmz - a low power tool for html

leanrada.com/htmz/

HTML JavaScript library

htmx처럼 HTML에 선언적으로 Ajax같이 보이게하는 소소한 스니펫.
<form action="/default#my-target" target=htmz>과 지정한 리퀘스트 결과를 준비해 <iframe name=htmz>로 보여줌.
iframe 렌더링 결과를 #my-target 요소와 변경하는 구조.


Node.js — Wednesday February 14 2024 Security Releases

nodejs.org/en/blog/vulnerability/february-2024-security-releases

nodejs secu ReleaseNote

Node.js 보안 업데이트로 Node.js 20.x, 18.x, 21.x 각 업데이트.
OpenSSL 갱신, Linux에서 capabilities 관련 버그 수정, HTTP 리퀘스트에서 DoS 관련 문제, 권한 모델 문제 수정


Redwood v7.0.0 Upgrade Guide - Announcements / Releases and Upgrade Guides - RedwoodJS Community

community.redwoodjs.com/t/redwood-v7-0-0-upgrade-guide/5713

nodejs library ReleaseNote

Redwood v7 출시.
Node.js 18 지원 종료, prop-types 패키지 의존 삭제, dbAuth 보안 개선에 따른 파괴적 변경


읽을거리


React Labs: What We've Been Working On – February 2024 – React

react.dev/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024

React article

React Compiler(aka. React Forgot)가 instagram에 이용되어, 몇 개월 안에 공개될 예정.
또한, 다음 메이저 버전 React 19에 필요한 기능이 완성되어, 공개 준비 진행하고 있다는 이야기


A novel technique for creating ergonomic and tree-shakable TypeScript libraries

softwaremill.com/a-novel-technique-for-creating-ergonomic-and-tree-shakable-typescript-libraries/

JavaScript TypeScript article

필요한 메서드 모으는 초기화와 Proxy 객체 사용함으로, zod 같은 메서드 체인 가능하면서 동시에 Tree Shaking도 가능한 라이브러리 만드는 방법에 대하여.
소소한 검증 라이브러리 예로 만드는 방법과 구조에 대해 해설.


슬라이드, 영상


JollyUI

www.jollyui.dev/

React library

React Aria 사용해서 shadcn/ui 호환하려는 컴포넌트 모음


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


Tempo • Dates by FormKit

tempo.formkit.com/

JavaScript ECMAScript i18n library

Intl 객체 기반 날짜 관련 라이브러리


kolodny/safetest

github.com/kolodny/safetest?tab=readme-ov-file

testing browser E2E library

Netflix에서 이용하고 있는 컴포넌트 프레임워크.
Playwright, Vitest/Jest 등 테스트 프레임워크, React나 Vue 같은 UI 프레임워크 조합해서 테스트 진행.
애플리케이션 레벨 DI 컨테이너나 테스트 셋업을 코드로 유연하게 해서 조작해서 상태를 Playwright 테스트 진행.


pashak09/ts-expect-error-validator: Command-line tool to validate expected TypeScript errors

github.com/pashak09/ts-expect-error-validator

TypeScript test Tools

@ts-expect-error에는 지정된 에러 코드만 무시하는 기능은 없기에, @ts-expect-error [Code] 코멘트로 지정한 에러 발생하고 있는가 체크하는 도구.


도서


Next.js 초입문 - 슈와시스템 당신의 배움 지원!

www.shuwasystem.co.jp/book/9784798071299.html

Next.js ebook

Next.js 입문서


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