Fork me on GitHub

2023-02-28: Next.js 13.2, Deno 1.31(`package.json` 지원), TypeScript Runtime Validation Benchmark

Translator: rewrite0w0(Oh TaeJun) Edit on GitHub See Revisions

JSer.info #633 - Next.js 13.2가 출시되었습니다.

Next SEO를 인스파이어한 Metadata API를 지원, Route Handlers API 지원, MDX를 Server Side Component에서 이용할 수 있도록 되었습니다.
Rust으로 다시 작성된 MDX 파서를 이용하도록 되었으며, <Link>href가 자료형 안전으로, 에러 오버레이 개선, Turbopack 개선 등도 포함되어 있습니다.

또한 Turbopack가 일부 webpack loader의 지원, Vercel Cache API를 이용한 Next.js Cache 지원 등도 포함되었습니다.


Deno 1.31가 출시되었습니다.

package.json 지원, package.jsonscriptsdependencies를 다룰 수 있게 되었습니다.

또한, Node-API의 지원을 Stable으로 변경, Deno 런타임에 Node.js의 호환 레이어를 동봉하도록 변경되었습니다.
그 외에는, deno bundle 커맨드를 비권장으로, deno fmt 플러그에서 --options- prefix 없이 옵션을 지정할 수 있도록하는 변경도 포함되어 있습니다.


Typescript Runtime Validators and DX, a type-checking performance analysis of zod/superstruct/yup/typebox - DEV Community에서는, TypeScript의 Runtime Validator 라이브러리 Zod/Yup/Superstruct/TypeBox/Light-Type의 컴파일 시간을 비교했습니다.

tsc--generateTrace를 이용해, 컴파일할 때 트레이스 파일을 작성, 컴파일 시간을 계산할 수 있습니다.


공지사항이라할 정도는 아니지만, 10년전에 공개한 Jser.info의 글을 볼 수 있는 페이지를 작성했습니다.
10년전은, jQuery이나 jQuery UI가 활발히 업데이트되고 있었다거나, Node.js가 v0.8.20이거나, Opera가 Presto 엔진을 포기하면서 WebKit으로 변경하거나 했었습니다.


To support JSer.info


헤드라인


Release v8.0.0-alpha.0 · pnpm/pnpm

github.com/pnpm/pnpm/releases/tag/v8.0.0-alpha.0

pnpm ReleaseNote

pnpm v8.0.0-alpha.0 출시.
peerDependencies를 자동 설치하는 auto-install-peerstrue로 변경, publishConfig.linkDirectorytrue으로 변경.
resolution-mode 기본값을 lowest-direct으로 변경, lockfile를 v6으로 변경 등


What’s New With Lerna 6.5?. In case you missed it, Lerna version… | by Zack DeRose | Feb, 2023 | Nx Devtools

blog.nrwl.io/whats-new-with-lerna-6-5-4a4f69371504

JavaScript monorepo Tools ReleaseNote

Lerna 6.5 출시.
lerna publish from-git가 동등성을 가질 수 있도록, lerna run <command>, <command>으로 여러 스크립트를 실행할 수 있도록.
private: true 패키지도 공개할 수 있는 lerna publish --include-private 추가 등


Node v19.7.0 (Current) | Node.js

nodejs.org/en/blog/release/v19.7.0/

node.js ReleaseNote

Node.js v19.7.0 출시.
npm 9.5.0으로 업데이트, util.aborted() 추가, --test-coverage 지원, Single Executable 바이너리를 지원하는 초기구현 추가 등


Blog - Next.js 13.2 | Next.js

nextjs.org/blog/next-13-2

Next.js ReleaseNote

Next.js 13.2 출시.
Next SEO를 인스파이어한 Metadata API 지원, Route Handlers API 지원, MDX를 Server Side Component에서 이용할 수 있도록.
Rust로 다시 작성한 MDX파서를 이용할 수 있도록, <Link>href가 자료형 안전으로, 에러 오버레이 개선, Turbopack 개선.
Turbopack가 일부 webpack loader 지원, Vercel Cache API를 이용한 Next.js Cache 지원 등


Bun v0.5.7 | Bun Blog

bun.sh/blog/bun-v0.5.7

Bun ReleaseNote

Bun 0.5.7 출시.
FormData 지원, Git과 GitHub의 의존 지원, 기본값으로 setTimeout가 Node.js와 같은 Timeout 객체를 반환하도록 변경.
fetch API가 AbortSignal를 지원, bun wiptest 커맨드를 bun test로 재명명 등


Deno 1.31: package.json support

deno.com/blog/v1.31

deno ReleaseNote

Deno v1.31 출시.
package.json를 지원하여 scriptsdependencies를 다룰 수 있도록, Node-API의 지원을 Stable 변경.
Deno 런타임에 Node.js 호한레이어를 동봉하도록 변경.
deno bundle 커맨드 비권장으로, deno fmt의 플러그에서 --options- prefix없이 옵션명 지정할 수 있도록


Changelog | Cypress Documentation

docs.cypress.io/guides/references/changelog#12.7.0

JavaScript testing browser library ReleaseNote

Cypress 12.7.0 출시.
cy.setCookie에서 HostOnly의 Cookie를 설정할 수있도록, Cypress Component Testings와 연계하기 위한 API 공개 등


Release v0.29.0 · vitest-dev/vitest

github.com/vitest-dev/vitest/releases/tag/v0.29.0

vite testing ReleaseNote

vitest v0.29.0 출시.
실험적으로 의존관계를 bundle해 읽어 퍼포먼스를 개선하는 deps.experimentalOptimizer 옵션 추가.
또한, --no-threads 옵션 사용하는 경우는, --single-thread이나 deps.experimentalOptimizer를 대신 사용하는 것을 권장하고 있다.


읽을거리


Chrome’s Headless mode gets an upgrade: introducing `--headless=new` - Chrome Developers

developer.chrome.com/articles/new-headless/

Chrome article puppeteer

Chrome의 새로운 Headless 모드에 대하여.
chrome --headless=new로 실행하고, Puppeteer 등에서도 opt-in으로 이용할 수 있다.
지금까지 헤드레스용 구현이 나눠져 있어서 관리의 문제가 있었지만, 새로운 구현에서는 헤드레스가 있는가 없는가가 통합된 형태가 되었다.


Typescript Runtime Validators and DX, a type-checking performance analysis of zod/superstruct/yup/typebox - DEV Community

dev.to/nicklucas/typescript-runtime-validators-and-dx-a-type-checking-performance-analysis-of-zodsuperstructyuptypebox-5416

TypeScript article library

TypeScript 스킴 유효성 검증 라이브러리 Zod/Yup/Superstruct/Typebox/Light Type의 컴파일 시간 벤치마크 비교.


JavaScript Import maps, Part 1: Introduction | SpiderMonkey JavaScript/WebAssembly Engine

spidermonkey.dev/blog/2023/02/23/javascript-import-maps-part-1-introduction.html

JavaScript module ECMAScript article

Import Maps에 대한 글.
ECMAScript에는 Module Specifier에서 지정한 문자열을 어떻게 해석할 것인지를 런타임에 맡긴다.
Node.js와 Browser의 Modules 해석의 차이, Import Maps에서의 런타임 차이점을 다루는 것에 대해


웹사이트, 서비스, 문서


Learn Privacy

web.dev/learn/privacy/

privacy tutorial

웹사이트와 Privacy에 대한 튜토리얼.
필요한 데이터만 사용, 서버에서 데이터 삭제와 클라이언트의 데이터를 Clear-Site-Data에서 삭제, third-party script와 cookie, Fingerprinting 등


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


natemoo-re/clack: Effortlessly build beautiful command-line apps

github.com/natemoo-re/clack

node.js JavaScript library

커맨드라인 대화형스러운 프로젝트 UI 작성 Node.js 라이브러리


🪄 | ts-rest

ts-rest.com/

TypeScript library

Zod를 사용한 스킴 공유형 RPC 프레임워크


도서


Web 애플리케이션 accessibility ㅡ 지금 당장 현장에서 개선: 도서 안내|기술평론사

gihyo.jp/book/2023/978-4-297-13366-5

accessibility book

2023년 2월 27일 발매
웹 애플리케이션 accessibility에 대한 도서


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