Repolode
syntax-tree

syntax-tree/unist-util-visit

Markdown ASTなどの構文木でノードを巡回・訪問するためのunistユーティリティ。テストによる絞り込みとenter/exit visitorに対応します。

スター
359
フォーク
23
未解決の Issue
0
最終コミット
14 日前

これは何?

unist-util-visitは、mdast-util-from-markdownが生成するMDASTツリーなど、unistベースの構文木を巡回し、各ノードに対してvisitor関数を呼び出します。unist-util-isと同じ形式のテストを渡して、訪問対象を絞り込めます。たとえばノード型の文字列を指定できます。

visitorには、ノード、親ノード内でのインデックス、親ノード自体が渡されます。各visitorはCONTINUE、EXIT(巡回を終了)、SKIP(そのノードの子をスキップ)のいずれかを返せます。また、ノードの子の処理後に実行するexit visitorも個別に指定できます。このパッケージはESM専用で、Node.js 16以降を対象としており、esm.sh経由でDenoやブラウザからも利用できます。

各ノードの祖先をすべて取得する必要がある場合は、同じ機能を持ちながらparentとindexの代わりに祖先を公開する、兄弟パッケージのunist-util-visit-parentsを利用できます。

主な機能

  • 01unistツリーのすべてのノードを訪問します。ノード型などのテストで対象を絞り込むこともできます。
  • 02visitorにはノード、インデックス、親ノードが渡されます。
  • 03CONTINUE、EXIT、SKIPを返して巡回を制御できます。
  • 04enter visitorとexit visitorを個別に指定できます。
  • 05esm.sh経由でNode.js、Deno、ブラウザから利用できます。

ユースケース

  • remarkやunifiedのプラグインで、すべてのテキストノードやコードノードなど、特定のMarkdownノードを検索・変換する。
  • ビルド処理中に構文木から情報を収集する。
  • unist互換パーサーを基盤に、独自のリンターや変換ツールを作成する。

クイックスタート

  1. 1

    npm を使ってパッケージをインストールします(Node.js 16 以降)

    npm install unist-util-visit
  2. 2

    visit をインポートし、fromMarkdown で生成したものなどの構文木を走査します

使う前に知っておきたいこと

  • このパッケージは ESM 専用のため、CommonJS プロジェクトでは require() で読み込めません。
  • unist ツリーを走査する低レベルのユーティリティです。入力を生成するには、mdast-util-from-markdown などのパーサーが必要です。

収録されている特集

トピック

#syntax-tree#unist#ast#markdown#tree-traversal#unified#unist-util#util#visit#walk

よくある質問

unist-util-visit とは?
Markdown ASTなどの構文木でノードを巡回・訪問するためのunistユーティリティ。テストによる絞り込みとenter/exit visitorに対応します。 unist-util-visitは、mdast-util-from-markdownが生成するMDASTツリーなど、unistベースの構文木を巡回し、各ノードに対してvisitor関数を呼び出します。unist-util-isと同じ形式のテストを渡して、訪問対象を絞り込めます。たとえばノード型の文字列を指定できます。
unist-util-visit は無料で使えますか?ライセンスは?
unist-util-visit は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
unist-util-visit は今もメンテナンスされていますか?
活発にメンテナンス中。unist-util-visit の最終コミットは 2026年10月24日 です。
unist-util-visit は何に使えますか?
remarkやunifiedのプラグインで、すべてのテキストノードやコードノードなど、特定のMarkdownノードを検索・変換する。 ビルド処理中に構文木から情報を収集する。 unist互換パーサーを基盤に、独自のリンターや変換ツールを作成する。
unist-util-visit のインストール方法は?
npm を使ってパッケージをインストールします(Node.js 16 以降): npm install unist-util-visit visit をインポートし、fromMarkdown で生成したものなどの構文木を走査します
unist-util-visit はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/syntax-tree/unist-util-visit

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト