Fork me on GitHub

2022-08-18のJS: Astro 1.0、Node.js 16.17.0、DenoとBunの今後の予定

Edit on GitHub 編集履歴を見る

JSer.info #605 - React/Vue/svelteなどのUIフレームワークを利用でき、コンテンツファーストのウェブサイト向けフレームワークであるAstro 1.0がリリースされました。

betaからの変更点としてSSR Buildsの追加、画像の最適化をする<Image><Picture>の追加、MDXサポート、Vite 3.0へアップグレードが行われています。

マイグレーションガイドは次のページに公開されています。


Node.js v16.17.0がリリースされました。

Node.js 18からのbackportが中心となりますが、util.parseArgs、ESM Loader Hooks API、node:testモジュール、Web Crypto APIの互換性改善が追加されています。


Big Changes Ahead for Denoという記事では、Denoの今後の方向性について書かれています。

npm: URLを使ってnpmモジュールをインストールできるようにしてNode.jsとの互換性の向上、FFIの改善などのパフォーマンス改善、企業サポート、コードからドキュメントを自動生成できるようになるアップデートを予定していることについて書かれています。

これらの変更予定は、Node.js compability modeなど元から検討されていた部分の延長ともいえますが、Bunとの機能的/ベンチマーク的な比較などを意識している部分もありそうです。

一方のBunの優先度としては、安定性の向上、npmパッケージ/Node.jsとの互換性向上、Contributionフローの改善、古いCPUターゲットでも動くようにすることが挙げられています。


ヘッドライン


Astro 1.0 | Astro

astro.build/blog/astro-1/

JavaScript Tools ReleaseNote

Astro 1.0リリース。
SSR Buildsの追加、画像の最適化をする<Image><Picture>の追加、MDXサポート、Vite 3.0へアップグレード


Release v0.15.0 · evanw/esbuild

github.com/evanw/esbuild/releases/tag/v0.15.0

JavaScript Tools ReleaseNote

esbuild v0.15.0リリース。
Yarnのpnpをサポート


Announcing TypeScript 4.8 RC - TypeScript

devblogs.microsoft.com/typescript/announcing-typescript-4-8-rc/

TypeScript ReleaseNote

TypeScript 4.8 RCリリース。
strictNullChecksが有効時にunknown{} | null | undefinedと同様になり関連するコントロールフロー分析の改善、Template String Typesでのinferの改善。 --build/-watch/--incrementalにおけるビルドパフォーマンスの改善、オブジェクトリテラルや配列リテラルを=====で比較した場合にエラーとなるように。
Binding patternの型推論の改善、--watchの安定性の改善など


Release Notes for Safari Technology Preview 151 | WebKit

webkit.org/blog/13093/release-notes-for-safari-technology-preview-151/

safari ReleaseNote

Safari Technology Preview 151リリース。
CSSのcolor-mix()関数のサポート、media queryのscanをサポート、:dir擬似クラスのサポート。
iframeのlazy loadingをデフォルト化、XHRのabortを仕様に準拠するように修正など


Node v16.17.0 (LTS) | Node.js

nodejs.org/en/blog/release/v16.17.0/

node.js ReleaseNote

Node.js 16.17.0リリース。
util.parseArgs、ESM Loader Hooks API、node:testモジュール、Web Crypto APIの互換性改善のbackport


Release v0.22.0 · vitest-dev/vitest

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

vite testing ReleaseNote

vitest 0.22.0リリース。
カバレッジツールとしてc8istanbulを選択できるようになり、@vitest/coverage-c8@vitest/coverage-istanbulがPeerDependencyへと変更するなど


Big Changes Ahead for Deno

deno.com/blog/changes

deno news

Denoの今後について。
FFIの改善、npm: URLを使ってnpmモジュールをインストールできるようになり互換性の向上、コードからドキュメントを自動生成できるようになるアップデートを予定している


Release 3.0.0-alpha.0 · prettier/prettier

github.com/prettier/prettier/releases/tag/3.0.0-alpha.0

JavaScript Tools ReleaseNote

prettier 3.0.0-alpha.0リリース。
ESMの対応、Node.js 12のサポート終了、Public APIの非同期か、trailingCommaのデフォルト値がallへ変更など


アーティクル


Objects, Functions, and Type Narrowing | Learning TypeScript

www.learningtypescript.com/articles/objects-functions-and-type-narrowing?s=t

TypeScript article

TypeScriptのNarrowingについて。
変数オブジェクトのプロパティ、関数呼び出し、関数の引数における型のNarrowingの挙動について


Will Bun JavaScript Take Node's Crown

semaphoreci.com/blog/javascript-bun

node.js deno Bun JavaScript benchmark article

Node.js/Deno/Bunのベンチマーク比較記事


Why is CrUX data different from my RUM data?

web.dev/crux-and-rum-differences/

Chrome performance article

CrUXとRUMの違い、CrUXの統計データについて。


outline is your friend - Manuel Matuzović

www.matuzo.at/blog/2022/focus-outline/

CSS article

CSSのoutlineプロパティについての記事。


The blind programmers who created screen readers - The Verge

www.theverge.com/23203911/screen-readers-history-blind-henter-curran-teh-nvda

accessibility software history article

スクリーンリーダのJAWSとNVDAがどのような経緯で作られたのかの歴史についての記事


ソフトウェア、ツール、ライブラリ関係


pemistahl/grex-js: A JavaScript / WebAssembly library for generating regular expressions from user-provided test cases

github.com/pemistahl/grex-js

JavaScript RegExp library

文字列の配列からそれにマッチする正規表現を生成するライブラリ


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