Fork me on GitHub

2023-02-28のJS: Next.js 13.2、Deno 1.31(`package.json`サポート)、TypeScript Runtime Validation Benchmark

Edit on GitHub 編集履歴を見る

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を使うようになったりしていたそうです。


JSer.infoをサポートするには

JSer.info Sponsors

JSer.info SponsorsGitHub Sponsorsとして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.setCookieHostOnlyの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-threaddeps.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アプリケーションアクセシビリティ──今日から始める現場からの改善:書籍案内|技術評論社

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

accessibility book

2023年2月27日発売
ウェブアプリケーションに置けるアクセシビリティについての書籍


この記事へ修正リクエストをする
JSer.info Slackに参加する