Skip to content

fix: preact v11 で MutableRef が無くなったことに対応する - #106

Merged
wire2c7 merged 1 commit into
renovate/preact-11.xfrom
fix/103-refobject
Oct 28, 2026
Merged

wire2c7 merged 1 commit into
renovate/preact-11.xfrom
fix/103-refobject

Conversation

@wire2c7

@wire2c7 wire2c7 commented Oct 28, 2026 •

Copy link
Copy Markdown
Owner

概要

PR #103(preact を v11 に更新)で、preact v11 の型定義の破壊的変更により CI(型チェック)が失敗していたための修正。

関連Issue

なし(PR #103 のCI失敗修正)

関連ADR

なし

変更内容

  • preact v11 で preact/hooks から MutableRef 型がエクスポートされなくなったため、components/rule-settings/use-rules.ts・use-rules.test.ts で使っていた箇所を preact の RefObject に置き換える
  • useRef<T>(null) の返り値の型が RefObject<T | null> に厳密化されたのに伴い、useDragReorder(use-drag-reorder.ts)・useStepWithFocus(rule-list.tsx)が受け取る listRef の型を RefObject<HTMLOListElement | null> に広げる(実装側はすでに current が null の場合を考慮済み)

確認方法

  • pnpm typecheck・pnpm lint・pnpm fmt:check・pnpm test(309件)が通ることを確認済み
  • nix develop .#e2e --command pnpm e2e で E2E テストが通ることを確認済み(auto-grouping.e2e.ts の1件は並列実行時のみ再現する既知のflakyなテストで、単独実行・再実行では成功する。PR #103自体には無関係)
  • prek run が通ることを確認済み

チェックリスト

  • PRタイトルとコミットメッセージが Conventional Commits に従っている
  • nix flake check と prek run --all-files が通る
  • 必要に応じてドキュメント(README.md / AGENTS.md)を更新した(今回は変更不要)
  • 設計判断を含む場合は docs/adr/ に ADR を追加した(今回は ADR 不要)

🤖 Generated with Claude Code

preact v11 の preact/hooks は MutableRef をエクスポートしなくなり、
useRef が返す型も preact の RefObject<T> に変わった。該当箇所を RefObject に置き換える。

また、useRef<T>(null) の返り値の型が RefObject<T | null> に厳密化されたのに伴い、
useDragReorder・useStepWithFocus(rule-list.tsx)が受け取る listRef の型を
null を許容する RefObject<HTMLOListElement | null> に広げる(実装側はすでに null を考慮していた)。
@wire2c7
wire2c7 added this pull request to stack #107 October 28, 2026 13:24
@wire2c7
wire2c7 marked this pull request as ready for review October 28, 2026 13:26
@wire2c7
wire2c7 merged commit 91ebbf7 into develop Oct 28, 2026
2 of 3 checks passed
@wire2c7
wire2c7 deleted the fix/103-refobject branch October 28, 2026 13:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant