Skip to content

Commit 241a397

Browse files
authored
Merge pull request #1250 from jser/jser-week-720
2024-12-28のJS: pnpm 10.0 RC.1、State of JavaScript 2024、Design Token-Based UI Architecture
2 parents 8ed3ac8 + 2c1dd8e commit 241a397

File tree

1 file changed

+178
-0
lines changed

1 file changed

+178
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,178 @@
1+
---
2+
title: "2024-12-28のJS: pnpm 10.0 RC.1、State of JavaScript 2024、Design Token-Based UI Architecture"
3+
author: "azu"
4+
layout: post
5+
date: 2024-12-28T07:53:27.289Z
6+
category: JSer
7+
tags:
8+
- React
9+
- Remix
10+
- Design
11+
- UI
12+
- architecture
13+
14+
---
15+
16+
JSer.info #720 - pnpm 10.0 RC 1がリリースされました。
17+
18+
- [Release pnpm 10.0 RC 1 · pnpm/pnpm](https://github.com/pnpm/pnpm/releases/tag/v10.0.0-rc.1)
19+
20+
インストールするパッケージのlifecycle scriptをデフォルトで実行しないように変更が含まれています。
21+
パッケージの`postinstall`などのlifecycle scriptの実行を許可するには`pnpm.onlyBuiltDependencies`の設定にパッケージ名を追加する必要があります。
22+
23+
- [feat!: use an allow list of built dependencies by default by zkochan · Pull Request #8897 · pnpm/pnpm](https://github.com/pnpm/pnpm/pull/8897)
24+
25+
これは、rspack v1.1.7でパッケージがハイジャックされ[マルウェアを実行するlifecycle script](https://socket.dev/npm/package/@rspack/core/files/1.1.7/package.json#L78)が含まれていた問題に関連した変更になっています。
26+
27+
- [Release v1.1.8 · web-infra-dev/rspack](https://github.com/web-infra-dev/rspack/releases/tag/v1.1.8)
28+
29+
そのほかには、`pnpm link`の挙動の変更、`packageManager`を参照してpnpmのバージョンを確認するように、ハッシュアルゴリズムをSHA256に変更、storeバージョンの更新が行われています。
30+
また、`verifyDepsBeforeRun`オプションが追加され、lockと`node_modules/`の状態を比較して自動インストールなどの挙動を選択できるようになるといった変更も含まれています。
31+
32+
----
33+
34+
JavaScriptに関する開発者アンケートである[State of JavaScript 2024](https://2024.stateofjs.com/en-US)が公開されました。
35+
JavaScriptの言語機能/ライブラリ/テスト/monorepo/JSとTSの比率/AIの利用率学習リソースなどについてのアンケート結果がまとめられています。
36+
37+
----
38+
39+
[Design Token-Based UI Architecture](https://martinfowler.com/articles/design-token-based-ui-architecture.html)という記事ではDesign TokenベースのUIアーキテクチャについて書かれています。
40+
41+
Design Tokenを2つ or 3つのレイヤーへの分割する理由、Tokenのスコープ、Design Tokenのメリット/デメリットについて書かれています。
42+
43+
----
44+
45+
{% include inline-support.html %}
46+
47+
----
48+
49+
<h1 class="site-genre">ヘッドライン</h1>
50+
51+
----
52+
53+
## react-router/CHANGELOG.md at main · remix-run/react-router
54+
[github.com/remix-run/react-router/blob/main/CHANGELOG.md#v710](https://github.com/remix-run/react-router/blob/main/CHANGELOG.md#v710 "react-router/CHANGELOG.md at main · remix-run/react-router")
55+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">React</span> <span class="jser-tag">Remix</span> <span class="jser-tag">library</span> <span class="jser-tag">ReleaseNote</span></p>
56+
57+
React Router 7.1.0リリース。
58+
Vite 6をサポート
59+
60+
61+
----
62+
63+
## Release v2.3.0 · vercel/swr
64+
[github.com/vercel/swr/releases/tag/v2.3.0](https://github.com/vercel/swr/releases/tag/v2.3.0 "Release v2.3.0 · vercel/swr")
65+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">React</span> <span class="jser-tag">library</span> <span class="jser-tag">ReleaseNote</span></p>
66+
67+
SWR v2.3.0リリース。
68+
fallbackとしてPromiseデータを指定できるように、React 19のサポートなど
69+
70+
71+
----
72+
73+
## Release 8.3.0 – Pipes of Steel · google/zx
74+
[github.com/google/zx/releases/tag/8.3.0](https://github.com/google/zx/releases/tag/8.3.0 "Release 8.3.0 – Pipes of Steel · google/zx")
75+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">nodejs</span> <span class="jser-tag">ShellScript</span> <span class="jser-tag">library</span> <span class="jser-tag">ReleaseNote</span></p>
76+
77+
zx 8.3.0リリース。
78+
Async Iteratorの対応、`pipe()`の改善、`--env`フラグの追加など
79+
80+
81+
----
82+
83+
## Nuxt 3.15 · Nuxt Blog
84+
[nuxt.com/blog/v3-15](https://nuxt.com/blog/v3-15 "Nuxt 3.15 · Nuxt Blog")
85+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">Nuxt</span> <span class="jser-tag">ReleaseNote</span></p>
86+
87+
Nuxt v3.15リリース。
88+
Vite 6のサポート、`callOnce()`の追加、`definePageMeta`の改善など
89+
90+
91+
----
92+
93+
## Release pnpm 10.0 RC 1 · pnpm/pnpm
94+
[github.com/pnpm/pnpm/releases/tag/v10.0.0-rc.1](https://github.com/pnpm/pnpm/releases/tag/v10.0.0-rc.1 "Release pnpm 10.0 RC 1 · pnpm/pnpm")
95+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">pnpm</span> <span class="jser-tag">ReleaseNote</span></p>
96+
97+
pnpm v10.0.0-rc.1リリース。
98+
インストールするパッケージのlifecycle scriptをデフォルトで実行しないように変更。
99+
`pnpm link`の挙動の変更、`packageManager`を参照してpnpmのバージョンを確認するように、ハッシュアルゴリズムをSHA256に変更、storeバージョンの更新。
100+
`verifyDepsBeforeRun`オプションが追加され、lockと`node_modules/`の状態を比較して自動インストールなどの挙動を選択できるようになるなど。
101+
102+
103+
----
104+
105+
## Release v1.1.8 · web-infra-dev/rspack
106+
[github.com/web-infra-dev/rspack/releases/tag/v1.1.8](https://github.com/web-infra-dev/rspack/releases/tag/v1.1.8 "Release v1.1.8 · web-infra-dev/rspack")
107+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">rspack</span> <span class="jser-tag">security</span> <span class="jser-tag">ReleaseNote</span></p>
108+
109+
rspack v1.1.8リリース。
110+
`@rspack/core``@rspack/cli` v1.1.7のパッケージがハイジャックされマルウェアを含むバージョンが公開された問題への対応としてのリリース。
111+
112+
113+
----
114+
<h1 class="site-genre">アーティクル</h1>
115+
116+
----
117+
118+
## Design Token-Based UI Architecture
119+
[martinfowler.com/articles/design-token-based-ui-architecture.html](https://martinfowler.com/articles/design-token-based-ui-architecture.html "Design Token-Based UI Architecture")
120+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">Design</span> <span class="jser-tag">UI</span> <span class="jser-tag">architecture</span> <span class="jser-tag">article</span></p>
121+
122+
Design TokenとUIの開発について。
123+
Design Tokenを2つ or 3つのレイヤーへの分割する理由、Tokenのスコープ、Design Tokenのメリット/デメリットについて
124+
125+
126+
----
127+
128+
## State of JavaScript 2024
129+
[2024.stateofjs.com/en-US](https://2024.stateofjs.com/en-US "State of JavaScript 2024")
130+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">Survey</span></p>
131+
132+
State of JavaScript 2024のアンケート結果が公開された。
133+
JavaScriptの言語機能/ライブラリ/テスト/monorepoについて。
134+
またJSとTSの比率、AIの利用率、学習リソースなどについて
135+
136+
137+
----
138+
139+
## Service Worker がページをコントロールし始めるタイミングを skipWaiting と clients.claim から理解する - カミナシ エンジニアブログ
140+
[kaminashi-developer.hatenablog.jp/entry/2024/12/20/080000](https://kaminashi-developer.hatenablog.jp/entry/2024/12/20/080000 "Service Worker がページをコントロールし始めるタイミングを skipWaiting と clients.claim から理解する - カミナシ エンジニアブログ")
141+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">ServiceWorker</span> <span class="jser-tag">article</span></p>
142+
143+
Service Workerの`skipWaiting``clients.claim`の挙動について。
144+
145+
146+
----
147+
148+
## React Ariaの実装読むぞ - Qiita Advent Calendar 2024 - Qiita
149+
[qiita.com/advent-calendar/2024/react-aria](https://qiita.com/advent-calendar/2024/react-aria "React Ariaの実装読むぞ - Qiita Advent Calendar 2024 - Qiita")
150+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">React</span> <span class="jser-tag">accessibility</span> <span class="jser-tag">article</span></p>
151+
152+
React Ariaのアクセシビリティ対応の実装についての連載記事
153+
154+
155+
----
156+
157+
## Why I’m excited about text-box-trim as a designer - Piccalilli
158+
[piccalil.li/blog/why-im-excited-about-text-box-trim-as-a-designer/](https://piccalil.li/blog/why-im-excited-about-text-box-trim-as-a-designer/ "Why I’m excited about text-box-trim as a designer - Piccalilli")
159+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">css </span> <span class="jser-tag">article</span> <span class="jser-tag">fonts</span></p>
160+
161+
CSSのtext-box-trim/text-edge/text-boxでのタイポグラフィについて
162+
163+
164+
----
165+
<h1 class="site-genre">ソフトウェア、ツール、ライブラリ関係</h1>
166+
167+
----
168+
169+
## Zero Docs
170+
[zero.rocicorp.dev/](https://zero.rocicorp.dev/ "Zero Docs")
171+
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">React</span> <span class="jser-tag">WebSocket</span> <span class="jser-tag">library</span> <span class="jser-tag">database</span></p>
172+
173+
クライアントとバックエンドのデータベースの状態を同期するクエリエンジン。
174+
クライアントからORMでクエリを書き、その結果がバックエンドのデータベースに反映される。またクエリの結果はクライアントのローカルでもキャッシュして再利用することで、クライアントには高速に反映される。
175+
権限はZero Schemaというスキーマに定義することでクライアントから実行できるクエリを制御している。
176+
177+
178+
----

0 commit comments

Comments
 (0)