JSer.info #593 - Deno 1.22가 릴리스 됐다.
Deno에는 세 가지의 타입 검사 모드가 있다.
- Full: 로컬과 원격의 의존 관계를 포함한 모든 타입을 검사한다
- Local: 로컬의 타입만 검새한다
- None: 타입을 검사하지 않는다
1.21 까지는 실행하는 명령어에 따라 기본적으로 "Full" 모드로 타입을 검사했으나 1.22 부터는 기본적으로 "Local" 모드로 타입을 검사하도록 변경 됐다.
또, 다음 릴리스 버전인 1.23 에서는 deno run
과 deno 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 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
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 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
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
mithril.js v2.2.0 릴리스.
Node v18.2.0 (Current) | Node.js
nodejs.org/en/blog/release/v18.2.0/
Node.js 18.2.0 릴리스.
OpenSSL의 보안 수정, http.Server
에 closeAllConnections
과 closeIdleConnections
추가.
perf_hooks
에서 PerformanceResourceTiming
지원 등.
nvh95/jest-preview: Debug your Jest tests. Effortlessly.🛠🖼
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를 사용해 사이트에 접속하여 Heap Snapshot을 취득 하고 그 Snapshot에서 특정 속성명에 매치되는 객체를 얻어내는 스크래핑 라이브러리.
Release electron v19.0.0 · electron/electron
github.com/electron/electron/releases/tag/v19.0.0
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
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/
px
와 rem
소개.
px
지정은 브라우저의 기본 폰트 크기에 영향을 받지 않으나 rem
은 영향을 받는다는 특징.
사용하는 곳에 따른 차이점, 기본 폰트 크기를 키워 확인하는 방법, 루트의 폰트 크기를 줄이는 문제 등을 다룬다.
Blog - Layouts RFC | Next.js
Next.js의 새로운 Layout RFC를 소개하는 글.
app/
이라는 디렉토리에서 opt-in하는 형태로 layout.js
와 page.js
등의 파일 명명 규칙을 사용한 라우팅과 레이아웃 구조 설명.
또, 이 새로운 Layout RFC에서는 React Server Components가 기본으로 사용된다.
슬라이드, 영상
Web at I/O 2022 - YouTube
www.youtube.com/playlist?list=PLNYkxOF6rcIDKuCU73tmdRN_-mI3tKFPD
Google I/O 2022 공개 영상 중 웹 관련 내용 정리
Playwright 1.22: Component Tests (preview) Overview - YouTube
www.youtube.com/watch?v=y3YxX4sFJbM
Playwright v1.22에서 시험적으로 구현된 Component Tests 기능 소개 영상.
어떤 구조로 브라우저에 컴포넌트를 mount 하는지, 컴포넌트 테스트 실행, 디버거와의 연계, 키보드 입력이나 스크린샷 촬영 방법 등을 이야기한다.
소프트웨어, 도구, 라이브러리
markdoc/markdoc: A powerful, flexible, Markdown-based authoring framework.
Markdown 기반의 문서 저작 라이브러리.
파서, 유효성 검사, 사용자 정의 등의 확장을 지원한다.
markdown-it의 tokenize 결과를 바탕으로 AST를 생성하며, 이를 렌더링하는 Renderer를 갖추고 있다.
honojs/hono: Ultrafast web framework for Cloudflare Workers. Fast, but not only fast.
Cloudflare Workers 용 라우팅 라이브러리.