Fork me on GitHub

2022-05-24: Deno 1.22, Storybook 6.5(webpack Lazy Compilation), Next.js Layouts RFC

Translator: U-Yeong Ju Edit on GitHub See Revisions

JSer.info #593 - Deno 1.22가 릴리스 됐다.

Deno에는 세 가지의 타입 검사 모드가 있다.

  • Full: 로컬과 원격의 의존 관계를 포함한 모든 타입을 검사한다
  • Local: 로컬의 타입만 검새한다
  • None: 타입을 검사하지 않는다

1.21 까지는 실행하는 명령어에 따라 기본적으로 "Full" 모드로 타입을 검사했으나 1.22 부터는 기본적으로 "Local" 모드로 타입을 검사하도록 변경 됐다.
또, 다음 릴리스 버전인 1.23 에서는 deno rundeno cache는 기본적으로 "None" 모드로 실행. 타입 검사를 하지 않게 될 예정이다.

그 외 변경으로는 Deno.emit() 삭제, Worker 내에서도 Deno 이름 공간이 기본적으로 활성화, --no-config 플래그 추가 등이 이뤄졌다.
또, Navigator.userAgent 지원, Response.json() 정적 메서드 추가가 포함됐다.


Storybook 6.5.0이 릴리스 됐다.

webpack 5의 lazy compilation 지원이 추가됐고, 개발 모드 시의 실행 속도와 재빌드 성능이 개선됐다.

그 외로는 React 18의 createRoot 지원, MDX2 지원이 이뤄졌다.
또, Vite의 설정 파일(vite.config.js)이 있는 경우 자동으로 Vite를 사용하도록 변경됐다.


헤드라인


Deno 1.22 Release Notes

deno.com/blog/v1.22

deno ReleaseNote

Deno 1.22.0 릴리스.
기본적인 타입 검사 대상이 의존 관계를 포함하지 않는 로컬 만을 대상으로 한다.
Deno.emit() 삭제, Worker 내에서도 Deno 이름 공간이 기본적으로 활성화, --no-config 플래그 추가.
Navigator.userAgent 지원, Response.json() 정적 메서드 추가.


Release v6.5.0 · storybookjs/storybook

github.com/storybookjs/storybook/releases/tag/v6.5.0

JavaScript debug Tools ReleaseNote

Storybook v6.5.0 릴리스.
webpack 5의 lazy compilation 지원, React 18의 createRoot 지원, MDX2 지원.
또, Vite의 설정 파일이 있는 경우에는 자동으로 Vite를 사용하도록 개선됐다.


7.18.0 Released: Destructuring private elements and TypeScript 4.7 · Babel

babeljs.io/blog/2022/05/19/7.18.0

babel ReleaseNote

Babel v7.18.0 릴리스.
TypeScript 4.7의 optional variance(in/out), instantiation expressions 등에 대응.
Stage 2의 Private destructuring 지원, regenerator-runtime을 자동으로 inline화 하도록 변경.


Release v4.0.0 · capricorn86/happy-dom

github.com/capricorn86/happy-dom/releases/tag/v4.0.0

DOM library ReleaseNote

Happy DOM v4.0.0 릴리스.
Void Element의 직렬화 버그 수정.
<img /><img>로 직렬화, 한편 SVG 요소는 <circle /><circle></circle>로 직렬화하도록 수정.


Release v2.2.0 · MithrilJS/mithril.js

github.com/MithrilJS/mithril.js/releases/tag/v2.2.0

JavaScript library ReleaseNote

mithril.js v2.2.0 릴리스.


Node v18.2.0 (Current) | Node.js

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

node.js ReleaseNote

Node.js 18.2.0 릴리스.
OpenSSL의 보안 수정, http.ServercloseAllConnectionscloseIdleConnections 추가.
perf_hooks에서 PerformanceResourceTiming 지원 등.


nvh95/jest-preview: Debug your Jest tests. Effortlessly.🛠🖼

github.com/nvh95/jest-preview

jest browser testing library

Jest로 실행하는 테스트에 debug() 함수를 추가하여 실행 중인 테스트가 생성한 HTML을 브라우저로 살펴보면서 디버깅 할 수 있도록 도와주는 라이브러리.


adriancooney/puppeteer-heap-snapshot: API and CLI tool to fetch and query Chome DevTools heap snapshots.

github.com/adriancooney/puppeteer-heap-snapshot

puppeteer library Tools

Puppeteer를 사용해 사이트에 접속하여 Heap Snapshot을 취득 하고 그 Snapshot에서 특정 속성명에 매치되는 객체를 얻어내는 스크래핑 라이브러리.


Release electron v19.0.0 · electron/electron

github.com/electron/electron/releases/tag/v19.0.0

Electron ReleaseNote

Electron v19.0.0 릴리스.
Chromium 102, V8 10.2, Node.js 16.14.2로 갱신.
Electron 20부터 preload scripts는 자동으로 sandbox에서 실행된다.
때문에 nodeIntegration: true인 경우 sandbox가 미지정이면 경고가 출력된다.


Release v7.0.0 · faker-js/faker

github.com/faker-js/faker/releases/tag/v7.0.0

JavaScript library ReleaseNote

Faker v7.0.0 릴리스.
default export 삭제, ES2020를 지원하는 환경을 타겟으로 지정, Node.js 12 지원 종료 등.


아티클


The Surprising Truth About Pixels and Accessibility: should I use pixels or rems?

www.joshwcomeau.com/css/surprising-truth-about-pixels-and-accessibility/

CSS fonts accessibility article

pxrem 소개.
px 지정은 브라우저의 기본 폰트 크기에 영향을 받지 않으나 rem은 영향을 받는다는 특징.
사용하는 곳에 따른 차이점, 기본 폰트 크기를 키워 확인하는 방법, 루트의 폰트 크기를 줄이는 문제 등을 다룬다.


Blog - Layouts RFC | Next.js

nextjs.org/blog/layouts-rfc

Next.js article proposal

Next.js의 새로운 Layout RFC를 소개하는 글.
app/이라는 디렉토리에서 opt-in하는 형태로 layout.jspage.js 등의 파일 명명 규칙을 사용한 라우팅과 레이아웃 구조 설명.
또, 이 새로운 Layout RFC에서는 React Server Components가 기본으로 사용된다.


슬라이드, 영상


Web at I/O 2022 - YouTube

www.youtube.com/playlist?list=PLNYkxOF6rcIDKuCU73tmdRN_-mI3tKFPD

google web video Conference

Google I/O 2022 공개 영상 중 웹 관련 내용 정리


Playwright 1.22: Component Tests (preview) Overview - YouTube

www.youtube.com/watch?v=y3YxX4sFJbM

playwright JavaScript browser testing video

Playwright v1.22에서 시험적으로 구현된 Component Tests 기능 소개 영상.
어떤 구조로 브라우저에 컴포넌트를 mount 하는지, 컴포넌트 테스트 실행, 디버거와의 연계, 키보드 입력이나 스크린샷 촬영 방법 등을 이야기한다.


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


markdoc/markdoc: A powerful, flexible, Markdown-based authoring framework.

github.com/markdoc/markdoc

Markdown document library

Markdown 기반의 문서 저작 라이브러리.
파서, 유효성 검사, 사용자 정의 등의 확장을 지원한다.
markdown-it의 tokenize 결과를 바탕으로 AST를 생성하며, 이를 렌더링하는 Renderer를 갖추고 있다.


honojs/hono: Ultrafast web framework for Cloudflare Workers. Fast, but not only fast.

github.com/honojs/hono

cloudflare library JavaScript

Cloudflare Workers 용 라우팅 라이브러리.


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