Fork me on GitHub

2024-12-28のJS: pnpm 10.0 RC.1、State of JavaScript 2024、Design Token-Based UI Architecture

Edit on GitHub 編集履歴を見る

JSer.info #720 - pnpm 10.0 RC 1がリリースされました。

インストールするパッケージのlifecycle scriptをデフォルトで実行しないように変更が含まれています。
パッケージのpostinstallなどのlifecycle scriptの実行を許可するにはpnpm.onlyBuiltDependenciesの設定にパッケージ名を追加する必要があります。

これは、rspack v1.1.7でパッケージがハイジャックされマルウェアを実行するlifecycle scriptが含まれていた問題に関連した変更になっています。

そのほかには、pnpm linkの挙動の変更、packageManagerを参照してpnpmのバージョンを確認するように、ハッシュアルゴリズムをSHA256に変更、storeバージョンの更新が行われています。
また、verifyDepsBeforeRunオプションが追加され、lockとnode_modules/の状態を比較して自動インストールなどの挙動を選択できるようになるといった変更も含まれています。


JavaScriptに関する開発者アンケートであるState of JavaScript 2024が公開されました。
JavaScriptの言語機能/ライブラリ/テスト/monorepo/JSとTSの比率/AIの利用率学習リソースなどについてのアンケート結果がまとめられています。


Design Token-Based UI Architectureという記事ではDesign TokenベースのUIアーキテクチャについて書かれています。

Design Tokenを2つ or 3つのレイヤーへの分割する理由、Tokenのスコープ、Design Tokenのメリット/デメリットについて書かれています。


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

JSer.info Sponsors

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


ヘッドライン


react-router/CHANGELOG.md at main · remix-run/react-router

github.com/remix-run/react-router/blob/main/CHANGELOG.md#v710

React Remix library ReleaseNote

React Router 7.1.0リリース。
Vite 6をサポート


Release v2.3.0 · vercel/swr

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

React library ReleaseNote

SWR v2.3.0リリース。
fallbackとしてPromiseデータを指定できるように、React 19のサポートなど


Release 8.3.0 – Pipes of Steel · google/zx

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

nodejs ShellScript library ReleaseNote

zx 8.3.0リリース。
Async Iteratorの対応、pipe()の改善、--envフラグの追加など


Nuxt 3.15 · Nuxt Blog

nuxt.com/blog/v3-15

Nuxt ReleaseNote

Nuxt v3.15リリース。
Vite 6のサポート、callOnce()の追加、definePageMetaの改善など


Release pnpm 10.0 RC 1 · pnpm/pnpm

github.com/pnpm/pnpm/releases/tag/v10.0.0-rc.1

pnpm ReleaseNote

pnpm v10.0.0-rc.1リリース。
インストールするパッケージのlifecycle scriptをデフォルトで実行しないように変更。
pnpm linkの挙動の変更、packageManagerを参照してpnpmのバージョンを確認するように、ハッシュアルゴリズムをSHA256に変更、storeバージョンの更新。
verifyDepsBeforeRunオプションが追加され、lockとnode_modules/の状態を比較して自動インストールなどの挙動を選択できるようになるなど。


Release v1.1.8 · web-infra-dev/rspack

github.com/web-infra-dev/rspack/releases/tag/v1.1.8

rspack security ReleaseNote

rspack v1.1.8リリース。
@rspack/core@rspack/cli v1.1.7のパッケージがハイジャックされマルウェアを含むバージョンが公開された問題への対応としてのリリース。


アーティクル


Design Token-Based UI Architecture

martinfowler.com/articles/design-token-based-ui-architecture.html

Design UI architecture article

Design TokenとUIの開発について。
Design Tokenを2つ or 3つのレイヤーへの分割する理由、Tokenのスコープ、Design Tokenのメリット/デメリットについて


State of JavaScript 2024

2024.stateofjs.com/en-US

JavaScript Survey

State of JavaScript 2024のアンケート結果が公開された。
JavaScriptの言語機能/ライブラリ/テスト/monorepoについて。
またJSとTSの比率、AIの利用率、学習リソースなどについて


Service Worker がページをコントロールし始めるタイミングを skipWaiting と clients.claim から理解する - カミナシ エンジニアブログ

kaminashi-developer.hatenablog.jp/entry/2024/12/20/080000

ServiceWorker article

Service WorkerのskipWaitingclients.claimの挙動について。


React Ariaの実装読むぞ - Qiita Advent Calendar 2024 - Qiita

qiita.com/advent-calendar/2024/react-aria

React accessibility article

React Ariaのアクセシビリティ対応の実装についての連載記事


Why I’m excited about text-box-trim as a designer - Piccalilli

piccalil.li/blog/why-im-excited-about-text-box-trim-as-a-designer/

css article fonts

CSSのtext-box-trim/text-edge/text-boxでのタイポグラフィについて


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


Zero Docs

zero.rocicorp.dev/

JavaScript React WebSocket library database

クライアントとバックエンドのデータベースの状態を同期するクエリエンジン。
クライアントからORMでクエリを書き、その結果がバックエンドのデータベースに反映される。またクエリの結果はクライアントのローカルでもキャッシュして再利用することで、クライアントには高速に反映される。
権限はZero Schemaというスキーマに定義することでクライアントから実行できるクエリを制御している。


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