JSer.info #577 - Recoil 0.6가 릴리스 됐다.
현재 베타 버전인 React 18을 지원하는 내용이 포함돼 있다.
useSyncExternalStore
를 사용하도록 하는 변경이나 React 18의 Strict Mode 동작에 대응하고 있다.
비호환 변경으로 effects_UNSTABLE
를 effects
로 이름을 변경하는 사항이 포함됐다.
또, 언제즈음 Recoil이 안정(stable) 버전으로 전환 되는지에 대한 질문을 아래 Issue 이슈를 통해 답변하고 있다.
Recoil remains an experimental project as it evolves to support React and its state management. Although we are using Recoil in production at Meta, we keep the project in an experimental status today until we are confident in a solution compatible with all upcoming React features like Concurrent Rendering, Server Components, and Streaming SSR.
-- What's happening in the future of recoil? · Issue #1495 · facebookexperimental/Recoil
npm 패키지 관리 도구 pnpm 7.0.0 α가 릴리스 됐다.
이번 버전에서는 pnpm
명령어의 기본적인 동작 방식이 중심적으로 변경됐다.
비호환 변경으로 pnpm -r exec|run|add
의 대상에 Root를 포함하지 않도록 변경됐고 --filter
가 glob을 다루도록 변경됐다.
npm run <script>
실행 시 --
없이 인수를 전달할 수 있도록, Side effects cache가 기본적으로 활성화, pnpm dlx
의 별칭으로 pnpx
가 추가됐다
JSer.info 11주년를 통해 진행했던 설문 결과 공개.
JSer.info를 통해 처음 알게 되는 소식이 얼마나 있는지 또, 어떤 사람들이 읽고 있는지 등에 대해서 정리하고 있다.
자세한 내용은 아래 글을 참고하길 바란다.
헤드라인
ESLint v8.8.0 released - ESLint - Pluggable JavaScript linter
eslint.org/blog/2022/01/eslint-v8.8.0-released
ESLint 8.8.0 릴리스.
Lint 결과에 eslint-disable
로 비활성화 된 메시지를 가져올 수 있는 suppressedMessages
프로퍼티 추가.
Recoil 0.6 | Recoil
recoiljs.org/blog/2022/01/28/0.6.0-release
Recoil 0.6 릴리스.
React 18에 대응, useRecoilCallback()
의 콜백에 refresh
함수 추가.
비호환 변경으로 effects_UNSTABLE
를 effects
로 이름 변경 됐다.
Release v2.0.0 · nightwatchjs/nightwatch
github.com/nightwatchjs/nightwatch/releases/tag/v2.0.0
Nightwatch 2.0 릴리스.
Plugin API 추가, nightwatch.conf.cjs
지원, chai expect 업데이트.
Assertion / Element Command / Mouse Actions API 추가 및 --devtools
플래그가 추가됐다.
Release v7.0.0-alpha.0 · pnpm/pnpm
github.com/pnpm/pnpm/releases/tag/v7.0.0-alpha.0
pnpm 7.0.0 α 릴리스.
비포환 변경으로 pnpm -r exec|run|add
의 대상에 Root를 포함하지 않도록 변경, --filter
가 glob을 다루도록 변경.
npm run <script>
실행 시 --
없이 인수를 전달할 수 있도록, Side effects cache를 기본적으로 활성화, pnpm dlx
의 별칭으로 pnpx
가 추가됐다.
V8 release v9.9 · V8
V8 v9.9 릴리스.
Intl.Locale API에 새로운 프로퍼티가 추가됐고 Intl.supportedValuesOf
이라는 새로운 함수가 추가됐다.
아티클
Ember v4 TypeScript Support Update
blog.emberjs.com/ember-v4-typescript-support-update/
Ember의 TypeScript 타입 정의 및 지원에 대한 이야기.
현재는 @types
로 유지 관리되고 있으며 4.x의 대응 소식과 함께 변경 사항에 대해 정리돼 있다.
또, TypeScript 타입 정의를 Ember 자체에 포함하는 것에 대해서도 의논하고 있다고 한다.
How React server components work: an in-depth guide
blog.plasmic.app/posts/how-react-server-components-work/
React server components(RSC)의 구조를 해설 & 설명하는 글.
React server components란 무엇인지, 컴포넌트의 리얼 타임 구조, 컴포넌트 취득과 Suspense, RSC의 데이터 형식 등을 소개한다.
How Prime Video updates its app for more than 8,000 device types - Amazon Science
www.amazon.science/blog/how-prime-video-updates-its-app-for-more-than-8-000-device-types
Prime Video 앱의 특정 부분에 이용한 WebAssembly를 소개한다.
레거시 디바이스나 브라우저에서는 Wasm을 이용할 수 없기 때문에 자바스크립트 VM과 Wasm VM 어느쪽에서도 실행할 수 있도록 만들고 이러한 아키텍처를 어떻게 적용해 나갔는지 다루고 있다.
100만 줄의 대규모 자바스크립 기반 시스템을 타입스크립트로 이전하기 위해서 한 일 | CyberAgent Developers Blog(일본어)
developers.cyberagent.co.jp/blog/archives/34364/
JSDoc를 이용한 타입스크립트로의 이전에 대해서 소개하는 글.
의존 관계를 보고 우선 순위를 지정하여 점진적으로 타입스크립트로 전환, checkJs
옵션을 사용한 JSDoc 기반의 타입 선언, 팀내 지식 공유 등 어떤 방법으로 진행했는지 자세히 이야기한다.
사이트, 서비스, 문서
TypeScript: Cheat Sheets
www.typescriptlang.org/cheatsheets
타입스크립트의 문법이나 타입에 대한 치트시트.
Control Flow Analysis, Interface, Type, Class로 분류하여 일목요연하게 정리돼 있다.
DataDog/build-plugin: Track your build performances like never before.
github.com/DataDog/build-plugin
어느 loader / plugin / 의존 관계 등으로 인해 빌드 시간이 걸렸는지 표시하는 webpack과 esbuild 플러그인.
Datadog과 연동하는 기능도 갖고 있다.
소프트웨어, 도구, 라이브러리
webtoon/psd: A lightweight Adobe Photoshop .psd/.psb file parser in typescript with zero-dependency for WebBrowser and NodeJS
자바스크립트(타입스크립트)로 개발된 PSD / PSB 파일 파서 라이브러리.
PSD 파일을 불러와 PSD의 이미지 및 레이어 정보 등을 가져오고 탐색 등의 처리를 할 수 있다.
도서
Learning TypeScript
learning.oreilly.com/library/view/learning-typescript/9781098110321/
2022년 9월에 출간 예정인 타입스크립트 입문서.