Fork me on GitHub

2022-01-06: AVA 4, Parcel 2.1.0, Solid 1.3.0

Translator: U-Yeong Ju Edit on GitHub See Revisions

JSer.info #573 - AVA 4가 릴리스 됐다.

worker_threads를 이용한 병렬 실행을 기본 활성화, Shared workers가 안정 기능(stable)으로 변경됐다.
또, 상위 디렉터리의 ava.config.* 파일도 탐색하도록 개선, Snapshot 포맷 변경, 이전에 실패한 테스트 파일을 기억했다가 재실행 시 해당 테스트를 우선 순위 높게 다루도록 변경.
이어 ava.config.* 파일 자체를 ECMAScript Modules로 작성할 수 있도록 개선됐다.


Parcel 2.1.0이 릴리스 됐다.

ESM만 제공하는 라이브러리가 늘어남에 따라 browserslist에서 지정하고 있는 지원 브라우저를 근거하여 node_modules도 기본적으로 변환(transpile)하도록 변경됐다.
SharedArrayBuffer를 사용한 그래프 데이터로 재작성하여 성능 개선, 개발 시에는 지연 컴파일 하는 방식으로 성능 개선, HMR의 버그 수정 등이 포함됐다.


UI 프레임워크 Solid 1.3.0이 릴리스 됐다.

renderToStream API를 추가하고 HTML Streaming 지원, SSR 시에도 Error Boundaries가 가능하도록 개선 됐다.
hydrate 함수에서 renderId를 지원하며 동일 페이지 내 여러개의 Solid 애플리케이션을 각각 hydrate 가능하도록 변경됐고 createReaction API 추가 등도 이뤄졌다.

또 실험적인 API로서 enableExternalSource, refetchResources가 추가됐다.


헤드라인


jasmine/4.0.0.md at main · jasmine/jasmine

github.com/jasmine/jasmine/blob/main/release_notes/4.0.0.md

jasmine JavaScript testing library ReleaseNote

Jasmine 4.0.0 릴리스.
ES2017+를 갖는 실행 환경을 지원하기 위해 IE 지원을 종료하고, Ruby와 Python 버전 패키지 개발이 종료됐다.
beforeAllbeforeEach의 에러 핸들링 개선, 전역 공간에 API를 추가하지 않는 noGlobals() 함수 지원.


What's new in Svelte: January 2022

svelte.dev/blog/whats-new-in-svelte-january-2022

Svelte ReleaseNote

개발 중인 SvelteKit의 변경 사항 정리.
precompress 옵션으로 brotli 압축 지원, config.kit.prerender.concurrency 옵션 추가, CSS를 JS 보다 우선하여 preload 하도록 변경.
Vite 2.7로 갱신, 설정을 변경한 경우에 서버를 자동으로 재시작하도록 개선.


helmet/CHANGELOG.md at main · helmetjs/helmet

github.com/helmetjs/helmet/blob/main/CHANGELOG.md#500---2022-01-02

node.js library ReleaseNote

helmet 5.0.0 릴리스.
ECMAScript Modules에 대응.
contentSecurityPolicy 옵션의 기본값 변경.
COEP, COOP, CORP, Origin-Agent-Cluster 헤더를 기본으로 활성화.


Release AVA 4 · avajs/ava

github.com/avajs/ava/releases/tag/v4.0.0

node.js testing library ReleaseNote

AVA 4 릴리스.
worker_threads를 사용한 병령 실행 기본 활성화.
Shared workers를 안정 기능(stable)으로 변경.
상위 디렉터리의 ava.config.* 파일을 탐색하도록 개선, Snapshot 포맷 변경, 이전에 실패한 테스트를 기억하고 재실행 시 해당 테스트를 우선 순위 높게 다루도록 변경, ESM 지원.


Ember 4.1 Released

blog.emberjs.com/ember-4-1-released/

Ember ReleaseNote

Ember 4.1 릴리스.
@ember/serviceservice를 export 하도록 변경, RouterServicerefresh 추가, @cached 활성화.
또, 이번 릴리스부터 AutoLocation 클래스를 비권장한다.


Release 1.2.0-beta.0 · vercel/swr

github.com/vercel/swr/releases/tag/1.2.0-beta.0

React library ReleaseNote

React 용의 Query 라이브러리 SWR 1.2.0 beta가 릴리스 됐다.
mutate에 즉각적 갱신을 하는 optimisticData과 에러가 발생한 경우 롤백할 수 있는 rollbackOnError 옵션이 추가 됐다.


parcel/CHANGELOG.md at v2 · parcel-bundler/parcel

github.com/parcel-bundler/parcel/blob/v2/CHANGELOG.md#210---2021-01-05

JavaScript Tools ReleaseNote

Parcel 2.1.0 릴리스.
node_modules를 기본적으로 변환(transpile)하도록 변경.
SharedArrayBuffer를 사용한 그래프 데이터 구조로 재작성하여 성능 개선, 개발 시에는 지연 컴파일하는 방식으로 성능 개선, HMR 버그 수정 등.


solid/CHANGELOG.md at main · solidjs/solid

github.com/solidjs/solid/blob/main/CHANGELOG.md#130---2021-1-5

JavaScript React library ReleaseNote

Solid 1.3.0 릴리스.
renderToStream API를 추가하고 HTML Streaming 지원, SSR 시에도 Error Boundaries가 기능하도록 변경.
hydrate 함수에서 renderId를 지원하며 동일 페이지 내 여러개의 Solid 애플리케이션을 각각 hydrate 가능하도록 변경됐고 createReaction API 추가 됐다.
또, 실험적인 API로 enableExternalSource, refetchResources가 추가됐다.


아티클


브라우저 뒤로가기 시의 페이지 경험을 최적화하는 Yahoo!뉴스의 대처 사례 - Yahoo! JAPAN Tech Blog(일본어)

techblog.yahoo.co.jp/entry/2022010530253635/

JavaScript article browser

브라우저 뒤로가기 여부를 판정하고 처리하는 기본적인 방법과 BFCache를 사용한 판단 및 처리하는 방법 소개.
뒤로가기 시의 스크롤 저장, BFCache가 유효한 조건, BFCache에서의 로그 문제 등을 다룬다.


Vite in the browser - ‹div›RIOTS

divriots.com/blog/vite-in-the-browser

vite browser article

브라우저 상에서 Vite를 실행하는 browser-vite의 구조 소개.
HTTP server를 Service Worker 기반으로 변경, 파일 시스템 의존을 삭제하고 in-memory로 동작하도록 개선, Bundler 구조를 플러그인과 서버측 번들링 구조로 변경, 크로스 브라우저 대응.
HMR에서 사용하고 있던 WebSockets을 postMessage 기반으로 변경하는 등 브라우저 상에서 Vite를 실행시킬 수 있도록 어떤 방법으로 접근했는지 이야기한다.
Node.js를 브라우저에서 실행하는 WebContainers(Chrome에서만 실행 가능)와는 다르게 Firefox / Chrome / Safari에서 동작할 수 있다.


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


vitebook/vitebook: 🔥 Blazing fast alternative to Storybook. Powered by Vite.

github.com/vitebook/vitebook

vite debug Tools

Vite 기반의 Storybook 대체 구현.


DioxusLabs/dioxus: Elegant React-like library for building user interfaces for desktop, web, mobile, SSR, liveview, and more.

github.com/dioxuslabs/dioxus

Rust React library

Rust 환경에서 React 스럽게 선언적으로 UI를 표현할 수 있는 UI 프레임워크
RSX! 매크로를 사용한 선언적 UI 표현 방법 제공, React Hooks와 비슷한 API도 제공한다.
브라우저에서는 Wasm으로 변환하여 실행할 수 있으며 데스크탑과 모바일 앱 등에서는 WebView와 네이티브 Rust를 기반으로 동작한다.


도서


휘어잡는 CSS 설계 | 마이네비북스(일본어)

book.mynavi.jp/ec/products/detail/id=126973

CSS book

CSS 설계 방법과 관련 도구 등을 다루는 도서.


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