Fork me on GitHub

2022-01-06のJS: AVA 4、Parcel 2.1.0、Solid 1.3.0

Edit on GitHub 編集履歴を見る

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のバグ修正などが含まれています。


UIフレームワークのSolid 1.3.0がリリースされました。

renderToStream APIを追加し、HTML Streamingの対応、SSR時でもError Boundariesが機能するようになっています。
hydrate関数がrenderIdをサポートし、1つの複数のSolidアプリをそれぞれhydrateできるようになり、createReaction APIの追加なども行われています。

また実験的なAPIとして、enableExternalSourcerefetchResourcesのAPIが追加されています。


ヘッドライン


jasmine/4.0.0.md at main · jasmine/jasmine

github.com/jasmine/jasmine/blob/main/release_notes/4.0.0.md

jasmine JavaScript testing library ReleaseNote

Jasmine 4.0.0リリース
ES2017+をもつ実行環境のサポートとなるためIEのサポートを終了、RubyとPythonのパッケージは開発を終了など。
beforeAllbeforeEachのエラーハンドリングの改善、globalにAPIを追加しないnoGlobals()を追加など


What's new in Svelte: January 2022

svelte.dev/blog/whats-new-in-svelte-january-2022

Svelte ReleaseNote

開発中の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

node.js library ReleaseNote

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

node.js testing library ReleaseNote

AVA 4リリース。
worker_threadsを使った並列実行をデフォルト化、
Shared workersをStableに変更。
親ディレクトリのava.config.*ファイルを探索するように、Snapshotのフォーマット変更、前回失敗したテストファイルを最初にテストするように、ESMサポートなど。


Ember 4.1 Released

blog.emberjs.com/ember-4-1-released/

Ember ReleaseNote

Ember 4.1リリース。
@ember/serviceserviceをexportするように、RouterServicerefreshを追加、@cachedの有効化など。
また、AutoLocationクラスを非推奨化など


Release 1.2.0-beta.0 · vercel/swr

github.com/vercel/swr/releases/tag/1.2.0-beta.0

React library ReleaseNote

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

JavaScript Tools ReleaseNote

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

JavaScript React library ReleaseNote

Solid 1.3.0リリース。
renderToStream APIを追加し、HTML Streamingの対応、Error BoundariesをSSR時でも機能するように。
hydrate関数がrenderIdをサポートし、複数のSolidアプリをそれぞれhydrateできるように、createReaction APIの追加など。
また実験的なAPIとして、enableExternalSourcerefetchResourcesの追加など


アーティクル


ブラウザバック時の表示を最適化する Yahoo!ニュースの取り組み事例 - Yahoo! JAPAN Tech Blog

techblog.yahoo.co.jp/entry/2022010530253635/

JavaScript article browser

ブラウザバックかどうかを判定して処理する方法とBFCacheを使ってブラウザバックされたかを判定して処理する方法について。
バック時のスクロール位置の保存、BFCacheが有効となる条件、BFCacheにおけるログの問題などについて


Vite in the browser - ‹div›RIOTS

divriots.com/blog/vite-in-the-browser

vite browser article

ブラウザ上で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.

github.com/vitebook/vitebook

vite debug Tools

ViteベースのStorybookの代替実装


DioxusLabs/dioxus: Elegant React-like library for building user interfaces for desktop, web, mobile, SSR, liveview, and more.

github.com/dioxuslabs/dioxus

Rust React library

RustでReactライクな宣言的なUI表現を持ったUIフレームワーク。
RSX!マクロを使った宣言的なUI表現、React HooksライクなAPIを持つ。
ブラウザ向けにはWasmに変換し利用し、デスクトップやモバイルなどはWebViewとネイティブのRustを元に動作する。


書籍関係


ざっくりつかむ CSS設計 | マイナビブックス

book.mynavi.jp/ec/products/detail/id=126973

CSS book

CSS設計手法やツールについての書籍


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