Fork me on GitHub

2023-03-08のJS: Jest 29.5.0、Chrome 111、testing-libraryへの移行

Edit on GitHub 編集履歴を見る

JSer.info #634 - Jest 29.5.0がリリースされました。

Jest 29.5.0では、jest-circusをデフォルトのテストランナーに変更しました。

randomizeオプションでテストをランダムな順番で実行できるようになっています。
またこの順序はseedオプションで固定できるようになっているため、テストの失敗を再現できるようになっています。

そのほかにはworkerThreadsオプションの追加、エラー出力のフォーマッターがError Causeのサポートなども行われています。


Chrome 111がリリースされました。

CSSでは、CSS Color Level 4のサポート、:nth-child():nth-last-child()の擬似クラスセレクターのサポート、Style Container Queriesのサポートが追加されています。
Web APIでは、Streaming declarative shadow DOM、View Transitions APIのサポートが追加されています。
View Transitions APIは同じ要素をページをまたいでアニメーションさせることができるAPIです。

また、Origin TrialとしてDocument Picture-in-Pictureのサポートが追加されています。


Sentry’s Frontend Tests: Migrating from Enzyme to React Testing Library | Product Blog • Sentryという記事では、ReactのテストをEnzymeからReact Testing Libraryへと移行した話が書かれています。

Enzymeは、React 18をサポートしていないため、React Testing Libraryへどのように移行したかについて書かれています。
この記事でも言及されていますが、(React) Testing Libraryは、WAI-ARIA ロールなどを使って要素を選択できる機能を持っているため、テストコードを書くことでアクセシビリティについて考える場面が出てきます。

  1. Missing ARIA roles on elements forced us to think harder about accessibility

testing-library でユーザの気持ちになって書くフロントエンドのテストという記事では、Testing LibraryのgetByRole* APIを使ったテストを書く方法について書かれています。

あわせて読むと良いかもしれません。


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

JSer.info Sponsors

JSer.info SponsorsGitHub SponsorsとしてJSer.infoを支援してくれている方々です。


ヘッドライン


Release 7.2.0 · google/zx

github.com/google/zx/releases/tag/7.2.0

JavaScript library ReleaseNote

zx 7.2.0リリース。
retry()spinner()ヘルパーの追加など


Buf | Connect for Node.js is now available

buf.build/blog/connect-node-beta

node.js ProtocolBuffers library ReleaseNote

gRPC/Protocol Buffersを扱うConnect for Node.jsがリリースされた。


moon v0.25 - Deno tier 2 support, CI insights, custom project languages, and more | moonrepo

moonrepo.dev/blog/v0.25

monorepo Tools ReleaseNote

moon v0.25リリース。
Denoのサポート、オフラインモードのサポート、プロジェクトレベルでTypeScriptの設定を上書きできるように、GitHub Actionsの追加など


Announcing TypeScript 5.0 RC - TypeScript

devblogs.microsoft.com/typescript/announcing-typescript-5-0-rc/

TypeScript ReleaseNote

TypeScript 5.0 RCリリース。
ECMAScript Stage 3のDecoratorを実装、const type perameterの追加、tsconfig.jsonで複数のextendsに対応、enumとunion型の改善。
--moduleResolution bundlerの追加と関連するオプションの追加、exportsフィールのConditionを指定できる--customConditionsの追加。
import時にtype修飾子を削除しそれ以外を残す--verbatimModuleSyntaxオプションの追加、JSDocで@satisfiesをサポートなど。
また、TypeScriptのコードベースをnamespaceからmoudleに移行し、パフォーマンス/メモリ/パッケージサイズの改善。
--target ES3--outなどのオプションを非推奨に変更し、--forceConsistentCasingInFileNamesをデフォルトでtrueに変更するといった変更も含まれている


Release v111 · ije/esm.sh

github.com/ije/esm.sh/releases/tag/v111

JavaScript cdn module

esm.sh v111リリース。
deprecatedメッセージに対応、バージョン指定せずにリクエストした場合のTTLを10分に変更など


Release v29.5.0 · facebook/jest

github.com/facebook/jest/releases/tag/v29.5.0

JavaScript testing ReleaseNote

Jest v29.5.0リリース。
randomizeオプションでテストをランダムな順番で実行できるように、workerThreadsオプションの追加、エラー出力のフォーマッターがError Causeのサポートなど


Release v2.1.0 · vercel/swr

github.com/vercel/swr/releases/tag/v2.1.0

JavaScript React library ReleaseNote

SWR v2.1.0リリース。
リアルタイムデータソースをSubscribeできるuseSWRSubscriptionの追加、useSWRInfiniteparallelオプションを追加など


Node v18.15.0 (LTS) | Node.js

nodejs.org/ja/blog/release/v18.15.0/

node.js ReleaseNote

Node.js v18.15.0リリース。
--test-covergeの追加、fs.statfsの追加、プロセスで使用可能なメモリの量を取得するprocess.constrainedMemory()の追加、buffer.isAsciiの追加


New in Chrome 111 - Chrome Developers

developer.chrome.com/blog/new-in-chrome-111/

Chrome ReleaseNote

Chrome 111リリース。

CSS Color Level 4のサポート、:nth-child():nth-last-child()の擬似クラスセレクターのサポート、Style Container Queriesのサポート。
Streaming declarative shadow DOM、View Transitions APIのサポート。
Origin TrialとしてDocument Picture-in-Pictureのサポート。
Web Payment APIに関する非推奨なAPIの削除など


アーティクル


You Don't Need Rails to Start Using Hotwire

www.akshaykhot.com/using-hotwire-without-rails/

JavaScript rails library article

Railsを使わなくてもHotwireは使えるという話。
Hotwireの基本的な使い方について。


Sentry’s Frontend Tests: Migrating from Enzyme to React Testing Library | Product Blog • Sentry

blog.sentry.io/2023/02/23/sentrys-frontend-tests-migrating-from-enzyme-to-react-testing-library/

React JavaScript testing article

ReactのテストライブラリであるEnzymeはReact 18をサポートする予定がないため、React Testing Libraryへの移行をした記事。
React Testing Libraryへの移行時に見つけた問題やどのようにマイグレーションしていったかについて


blog.bokken.io/articles/2023-02-28/about-clear-site-data.html

browser article

Clear-Site-Data HTTPレスポンスヘッダについて


Experiments with the JavaScript Garbage Collector - DEV Community

dev.to/codux/experiments-with-the-javascript-garbage-collector-2ae3

JavaScript article

WeakRefsの一部であるFinalizationRegistryで登録したオブジェクトはいつGCによって回収されるのかについて。


testing-library でユーザの気持ちになって書くフロントエンドのテスト

zenn.dev/tnyo43/articles/39e4caa321d0aa

JavaScript testing DOM accessibility article

testing-libraryを使ってテストコードとユーザーの操作を合わせる形で要素を選択して実装する方法について


サイト、サービス、ドキュメント


Sandworm: Keep Your JavaScript Code Secure and Compliant

sandworm.dev/

npm webservice

npmパッケージのAudit、ライセンス情報、依存関係ツリーの表示などを行うサービス


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


Node.js Toolbox

nodejstoolbox.com/

node.js library search

Node.jsライブラリをカテゴリ別にして比較表示できるサイト


kaleidawave/ezno: A JavaScript compiler and TypeScript checker written in Rust with a focus on static analysis and runtime performance

github.com/kaleidawave/ezno

TypeScript Rust

Rustで書かれたTypeScriptコンパイラ、型チェッカー。


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