JSer.info #573 - AVA 4がリリースされました。
worker_threads
を使った並列実行をデフォルト化、Shared workersがStableとなっています。
また、親ディレクトリのava.config.*
ファイルを探索するようになり、Snapshotのフォーマット変更、前回失敗したテストファイルを最初にテストするようになっています。
そのほかには、ava.config.*
ファイル自体をECMAScript Modulesとして書けるようになっています。
Parcel 2.1.0がリリースされました。
ESMのみが提供されるライブラリが増えたため、browserslist
で指定しているサポートブラウザに基づいてnode_modules
をデフォルトでtranspileするように変更されています。
SharedArrayBufferを使ったグラフデータ構造に書き換えパフォーマンスの改善、開発時は遅延コンパイルすることでパフォーマンス改善、HMRのバグ修正などが含まれています。
Excited to finally ship the graph implementation that @lettertwo and team worked on!
— Devon Govett (@devongovett) January 5, 2022
Some serious engineering went into this. It's a custom data structure backed by SharedArrayBuffer with similar perf to native v8 hash maps but with no serialization cost to send between threads! https://t.co/kP79Osa9Gd pic.twitter.com/0fgLlxf8J0
UIフレームワークのSolid 1.3.0がリリースされました。
renderToStream
APIを追加し、HTML Streamingの対応、SSR時でもError Boundariesが機能するようになっています。
hydrate
関数がrenderId
をサポートし、1つの複数のSolidアプリをそれぞれhydrateできるようになり、createReaction
APIの追加なども行われています。
また実験的なAPIとして、enableExternalSource
、refetchResources
のAPIが追加されています。
JSer.infoをサポートするには
- 😘 知り合いにJSer.infoをおすすめする
- ❤️ GitHub Sponsorsで@azuのスポンサーになる
- 🐦 X(Twitter)で@jser_infoをフォローする
JSer.info Sponsors
JSer.info SponsorsはGitHub SponsorsとしてJSer.infoを支援してくれている方々です。
ヘッドライン
jasmine/4.0.0.md at main · jasmine/jasmine
github.com/jasmine/jasmine/blob/main/release_notes/4.0.0.md
Jasmine 4.0.0リリース
ES2017+をもつ実行環境のサポートとなるためIEのサポートを終了、RubyとPythonのパッケージは開発を終了など。
beforeAll
とbeforeEach
のエラーハンドリングの改善、globalにAPIを追加しないnoGlobals()
を追加など
What's new in Svelte: January 2022
svelte.dev/blog/whats-new-in-svelte-january-2022
開発中のSvelteKitの変更点について。
precompress
オプションでのbrotli圧縮のサポート、config.kit.prerender.concurrency
オプションを追加、CSSをJSより優先してpreloadするように。
Vite 2.7へのアップデート、設定を変更したときにサーバを自動的に再起動するようになるなど
helmet/CHANGELOG.md at main · helmetjs/helmet
github.com/helmetjs/helmet/blob/main/CHANGELOG.md#500---2022-01-02
helmet 5.0.0リリース。
ECMAScript Modules対応、
contentSecurityPolicy
オプションのデフォルト値を変更。
COEP、COOP、CORP、Origin-Agent-Clusterヘッダをデフォルトで有効化
Release AVA 4 · avajs/ava
github.com/avajs/ava/releases/tag/v4.0.0
AVA 4リリース。
worker_threads
を使った並列実行をデフォルト化、
Shared workersをStableに変更。
親ディレクトリのava.config.*
ファイルを探索するように、Snapshotのフォーマット変更、前回失敗したテストファイルを最初にテストするように、ESMサポートなど。
Ember 4.1 Released
blog.emberjs.com/ember-4-1-released/
Ember 4.1リリース。
@ember/service
がservice
をexportするように、RouterService
にrefresh
を追加、@cached
の有効化など。
また、AutoLocation
クラスを非推奨化など
Release 1.2.0-beta.0 · vercel/swr
github.com/vercel/swr/releases/tag/1.2.0-beta.0
React向けのQueryライブラリであるSWR 1.2.0 betaリリース。
mutate
に即時的な更新をするoptimisticData
とエラーが発生した場合にロールバックするrollbackOnError
オプションの追加など
parcel/CHANGELOG.md at v2 · parcel-bundler/parcel
github.com/parcel-bundler/parcel/blob/v2/CHANGELOG.md#210---2021-01-05
Parcel 2.1.0リリース。
node_modules
をデフォルトでtranspileするように変更。
SharedArrayBufferを使ったグラフデータ構造に書き換えパフォーマンスの改善、開発時は遅延コンパイルすることでパフォーマンス改善、HMRのバグ修正など
solid/CHANGELOG.md at main · solidjs/solid
github.com/solidjs/solid/blob/main/CHANGELOG.md#130---2021-1-5
Solid 1.3.0リリース。
renderToStream
APIを追加し、HTML Streamingの対応、Error BoundariesをSSR時でも機能するように。
hydrate
関数がrenderId
をサポートし、複数のSolidアプリをそれぞれhydrateできるように、createReaction
APIの追加など。
また実験的なAPIとして、enableExternalSource
、refetchResources
の追加など
アーティクル
ブラウザバック時の表示を最適化する Yahoo!ニュースの取り組み事例 - Yahoo! JAPAN Tech Blog
techblog.yahoo.co.jp/entry/2022010530253635/
ブラウザバックかどうかを判定して処理する方法とBFCacheを使ってブラウザバックされたかを判定して処理する方法について。
バック時のスクロール位置の保存、BFCacheが有効となる条件、BFCacheにおけるログの問題などについて
Vite in the browser - ‹div›RIOTS
divriots.com/blog/vite-in-the-browser
ブラウザ上でViteを動かすbrowser-viteの仕組みについて。
HTTP serverをService Workerベースに変更、ファイルシステムの依存を削除しin-memoryで動かすように、Bundlerの仕組みをプラグインでサーバへ移動、クロスブラウザ対応。
HMRで使われていたWebSocketsをpostMessageベースに変更などを行い、ブラウザ上でViteを動かしているという話。
Node.jsをブラウザで動かすWebContainersとは異なり、Firefox/Chrome/Safariで動作するようになっている。
ソフトウェア、ツール、ライブラリ関係
vitebook/vitebook: 🔥 Blazing fast alternative to Storybook. Powered by Vite.
ViteベースのStorybookの代替実装
DioxusLabs/dioxus: Elegant React-like library for building user interfaces for desktop, web, mobile, SSR, liveview, and more.
RustでReactライクな宣言的なUI表現を持ったUIフレームワーク。
RSX!マクロを使った宣言的なUI表現、React HooksライクなAPIを持つ。
ブラウザ向けにはWasmに変換し利用し、デスクトップやモバイルなどはWebViewとネイティブのRustを元に動作する。
書籍関係
ざっくりつかむ CSS設計 | マイナビブックス
book.mynavi.jp/ec/products/detail/id=126973
CSS設計手法やツールについての書籍