Hyunseok Byun · ビョン・ヒョンソク
← indexscrollbar-toc
scrollbar-toc — スクロールバー sticky 目次 NPM ライブラリ
Library·稼働中·2025-09: 進行中

scrollbar-toc

スクロールバー sticky 目次 NPM ライブラリ

ページ内の全 h1〜h6 を自動抽出し、スクロールバー隣に比例 sticky なボタンを描画するライブラリです。

技術スタック

TypeScripttsdownBun

制作の動機

ナムウィキのようにスクロールバーに目次が出るのがセンセーショナルでした。 従来の ToC ライブラリはサイドバーにテキストを描きますが、本ライブラリは空いている空間 (スクロールバーの隣) を活用します。

コメント

依存ゼロで React / Vue / Svelte / Vanilla どの環境でも軽量に import できます。 1 日で v1 を publish し、累計 459 ダウンロードを記録しています。

主な特徴

  • 01依存をなくしました
  • 02tsdown (Rolldown ベース) で ESM + CJS + .d.ts のデュアル出力
  • 03IntersectionObserver の代わりに rAF ポーリング + Map トラッキング: Next.js 16 cacheComponents 環境対応
  • 04WeakMap → Map に変更: 参照切れケースで明示的な cleanup を保証
  • 05History API monkey-patch + popstate で SPA ナビゲーション時に一括整理
  • 06GitHub Actions + NPM SLSA Provenance: 検証済みビルドのみ publish

備考

  • ·BBlog で dogfooding: 発見された問題を即座にライブラリへ反映
  • ·MIT ライセンス