Fork me on GitHub

2022-04-26: Redux v4.2.0, Node.js 18, Jest 28

Translator: U-Yeong Ju Edit on GitHub See Revisions

JSer.info #589 - Redux 4.2.0이 릴리스 됐다.

기능 추가는 없으며 createStore를 비권장하고 legacy_createStore라는 createStore의 alias를 추가하는 변경이 포함됐다.
이 변경의 의도는 Redux의 메인테이너가 개발하고 있는 Redux Toolkit 사용을 장려하는데 있는 것 같다.
자세한 내용은 아래 Issue와 문서에 작성돼 있으니 참고 바란다.


Node.js 18이 릴리스 됐다.

2022년 10월에 LTS가 될 예정인 메이저 버전이다.
fetch API, Web Streams API, Blob / broadcastChannel API 등 웹 표준을 지원한다.
또, node:test 모듈 추가, --node-snapshot-main 추가, V8 10.1로 갱신 등도 함께 이뤄졌다.

비호환 변경으로 server.headersTimeoutserver.requestTimeout의 기본값이 변경 됐다. 관련 기능을 사용하는 분은 추가로 확인.


Jest 28가 릴리스 됐다.

테스트를 분할하여 실행할 수 있는 --shard 옵션 추가, exports 필드 대응, fakeTimers 개선, GitHub Actions의 reporters 지원 등이 추가됐다.
testEnvironmentOptions를 인라인 주석으로 정의할 수 있는 기능 추가, fetch 등의 전역 환경 대응, ESM 대응 개선 등도 포함됐다.

이전 가이드도 함께 공개됐으니 참고 바란다.


헤드라인


WebAssembly 2.0 First Public Working Drafts | W3C News

www.w3.org/blog/news/archives/9509

WebAssembly proposal news

WebAssembly 2.0 First Public Working Draft가 공개됐다.


Release v7.0.0 · inikulin/parse5

github.com/inikulin/parse5/releases/tag/v7.0.0

HTML JavaScript library ReleaseNote

HTML 파서 parse5 7.0.0 릴리스.
ESM 모듈화, TypeScript로 재작성하고 타입 정의를 패키지에 포함하도록 개선, parse5-serializer-stream 삭제.
또, 성능 개선도 함께 이뤄졌다.


Release packemon@2.0.0 · milesj/packemon

github.com/milesj/packemon/releases/tag/packemon%402.0.0

npm library ReleaseNote

라이브러리 용 모듈 번들러인 packemon 2.0.0 릴리스.
IE 용 빌드 삭제, Node 14 미만 지원 종료, SWC 지원.


Release 3.12.0 · prisma/prisma

github.com/prisma/prisma/releases/3.12.0

prisma MongoDB ReleaseNote

Prisma 3.12.0 릴리스.
MongoDB가 Generally Available이 됐다.


Release v4.2.0 · reduxjs/redux

github.com/reduxjs/redux/releases/tag/v4.2.0

redux library ReleaseNote

Redux v4.2.0 릴리스.
@reduxjs/toolkit로의 이전을 촉진하기 위해 createStore API를 비권장하고 대신에 legacy_createStore API를 추가했다.


Deno 1.21 Release Notes

deno.com/blog/v1.21

deno ReleaseNote

Deno 1.21 릴리스.
명시적으로 타입을 검사하는 deno check 명령어를 추가했으며 다음 릴리스에서 deno run을 이용한 타입 검사 방식은 기본적으로 비활성화 할 예정.
globalThis.reportErrorerror 이벤트 지원, deno repl--eval-file 플래그 추가.
deno fmtdeno lint가 기본적으로 캐시 되도록 변경.
불안정(unstable) API로서 Deno.spawn / Deno.spawnChild / Deno.spawnSync 추가.
deno test에 BDD 스타일의 describeit 등의 메서드 추가, STD에 spy / stub / assertSnapshot / FakeTime 추가.


Release v2.5.0 · parcel-bundler/parcel

github.com/parcel-bundler/parcel/releases/tag/v2.5.0

JavaScript Tools bundler ReleaseNote

Parcel v2.5.0 릴리스.
WebExtension Manifest v3 지원, __dirname__filename 변환 방식 수정, in 연산자를 process.env에 대해 사용할 수 있도록 지원.


Node.js 18 is now available! | Node.js

nodejs.org/en/blog/announcements/v18-release-announce/

node.js ReleaseNote

Node.js 18.0.0 릴리스.
2022년 10월에 LTS가 예정 된 메이저 버전.
fetch API, Web Streams API, Blob / broadcastChannel API 등 웹 표준 API 지원.
node:test 모듈 추가, --node-snapshot-main 추가, V8 10.1으로 업데이트.
또, server.headersTimeoutserver.requestTimeout의 기본값이 변경 됐다.


Nuxt - Announcing Nuxt 3 Release Candidate

nuxtjs.org/announcements/nuxt3-rc/

Vue library ReleaseNote

Nuxt 3 RC 릴리스.
Vue 3, TypeScript, Vite 지원.
서버 엔진을 Nitro 기반으로 개선, 포터블 번들링 대응.


Jest 28: Shedding weight and improving compatibility 🫶 · Jest

jestjs.io/blog/2022/04/25/jest-28

JavaScript testing library ReleaseNote

Jest 28 릴리스.
테스트를 분할하여 실행할 수 있는 --shard 옵션 추가, exports 필드 대응, fakeTimers 개선, GitHub Actions의 reporters 지원.
testEnvironmentOptions를 인라인 주석으로 설정 할 수 있도로 개선, fetch 등 전역 환경 지원, ESM 지원 등 다양한 개선이 이뤄졌다.


아티클


How Jotai Specifies Package Entry Points · Daishi Kato's blog

blog.axlight.com/posts/how-jotai-specifies-package-entry-points/

node.js library article

exports 필드를 소개하는 글.
defaultimport를 사용한 ESM과 CJS 대응, 일부 도구를 위한 package.json이나 module 지정 fallback 처리, TypeScript의 .d.ts 대응 방법 등 소개.


How We Migrated from Javascript and Flow to TypeScript at Osome - DEV Community 👩‍💻👨‍💻

dev.to/frolovdev/how-we-migrated-from-javascript-and-flow-to-typescript-at-osome-4661

TypeScript flowtype article

JavaScript과 FlowType 환경에서 TypeScript로 이전한 이야기.
depcruise로 의존 그래프 체크, Flow to TS와 TS Migrate를 사용, 타입이 적용된 코드의 커버리지를 측정할 수 있는 도구 활용.


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


unjs/nitro: ⚗️ Build and deploy universal JavaScript servers

github.com/unjs/nitro

server JavaScript library

Nuxt 3에서 사용하고 있는 서버 엔진.
디렉터리 기반 라우팅, Vercel / AWS Lambada / Cloudflare Workers 등의 프로바이더에 디플로이 할 수 있는 서버 코드를 생성할 수 있다.


plantain-00/type-coverage: A CLI tool to check type coverage for typescript code

github.com/plantain-00/type-coverage

TypeScript Tools

타입이 적용(any는 제외)된 TypeScript 코드 커버리지를 측정할 수 있는 도구.


eolme/i18nano: Lightweight translation module with functionality similar to react-i18next

github.com/eolme/i18nano

React i18n library

React 용 i18n 컴포넌트.
언어 별 파일을 Dynamic Import로 가져올 수 있는 구조를 제공한다.


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