{
  "url": "https://unifast.dev/ja/docs/packages/node/overview/",
  "locale": "ja",
  "title": "@unifast/node",
  "description": "ネイティブ Rust で動作する unifast Markdown/MDX コンパイラの Node.js バインディングです。",
  "section": "packages",
  "body": "## 概要\n\n`@unifast/node` は、Node.js で unifast を使うためのメインのエントリポイントです。napi-rs を経由してネイティブ Rust コンパイラを呼び出す [`compile()`](/docs/packages/node/compile) 関数を提供し、最大限のパフォーマンスを実現します。プラグインシステムにも対応しており、Rust のコンパイル処理の後に JavaScript で HAST 変換を適用できます。\n\n## インストール\n\n> ネイティブの Rust アドオンは事前にビルドされている必要があります。ネイティブバイナリが利用できない場合は `cargo build -p unifast-bindings-node --release` を実行してください。\n\n## クイックスタート\n\n```ts\n\nconst result = compile(\"# Hello, **world**!\");\nconsole.log(result.output);\n// <h1 id=\"hello-world\">Hello, <strong>world</strong></h1>\n```\n\n## プラグインパイプライン\n\nプラグインが指定されると、`compile()` は次のパイプラインを実行します。\n\n1. **プラグインの抽出** - `plugins` をそれ以外のオプションから分離します\n2. **オプションのマージ** - 各プラグインの `options` を compile オプションに深くマージします\n3. **HAST の強制** - いずれかのプラグインが `hastTransform` を持つ場合、ネイティブ呼び出しで `outputKind: \"hast\"` を使用します\n4. **ネイティブコンパイル** - napi-rs を経由して Rust コンパイラを呼び出します\n5. **HAST 変換** - 各プラグインの `hastTransform` を順番に適用します\n6. **出力の変換** - ユーザーが HAST 出力を要求していない場合、`hastToHtml` で HTML に戻します\n\n## 組み込みプラグイン\n\n次のプラグインファクトリ関数が同梱されており、別途のインストールは不要です。\n\n`gfm`、`frontmatter`、`sanitize`、`syntect`、`treeSitter`、`toc`、`externalLinks`、`autolinkHeadings`、`smartypants`、`wikiLink`、`codeImport`、`emoji`、`breaks`、`math`、`githubAlert`、`sectionize`、`directive`、`definitionList`、`rubyAnnotation`、`cjk`\n\n```ts\n\nconst result = compile(source, {\n  plugins: [gfm(), frontmatter(), syntect()],\n});\n```\n\n## エクスポート一覧\n\n| エクスポート | 種類 | 説明 |\n|--------|------|-------------|\n| `compile` | function | Markdown/MDX を HTML または他のフォーマットにコンパイルする |\n| `gfm`, `frontmatter`, ... | function | 組み込みプラグインファクトリ (合計 20 種類) |\n| `hastToHtml` | function | HAST から HTML へのシリアライザ (`@unifast/core` から再エクスポート) |\n| `CompileOptions` | type | コンパイル設定 |\n| `CompileResult` | type | コンパイル結果 |\n| `UnifastPlugin` | type | プラグインインターフェース |\n| `TocEntry` | type | 目次のエントリ |\n| `HastRoot` | type | HAST ルートノード |\n| `HastElement` | type | HAST 要素ノード |\n| `HastText` | type | HAST テキストノード |\n| `HastNode` | type | すべての HAST ノード型のユニオン |\n| `UnifastError` | class | 基底エラークラス |\n| `ParseError` | class | パースエラークラス |\n| `CompileError` | class | コンパイルエラークラス |",
  "alternates": [
    {
      "locale": "en",
      "url": "https://unifast.dev/docs/packages/node/overview/",
      "api": "https://unifast.dev//api/docs/packages/node/overview.json"
    },
    {
      "locale": "ja",
      "url": "https://unifast.dev/ja/docs/packages/node/overview/",
      "api": "https://unifast.dev//api/ja/docs/packages/node/overview.json"
    },
    {
      "locale": "zh-CN",
      "url": "https://unifast.dev/zh-CN/docs/packages/node/overview/",
      "api": "https://unifast.dev//api/zh-CN/docs/packages/node/overview.json"
    },
    {
      "locale": "zh-TW",
      "url": "https://unifast.dev/zh-TW/docs/packages/node/overview/",
      "api": "https://unifast.dev//api/zh-TW/docs/packages/node/overview.json"
    },
    {
      "locale": "ko",
      "url": "https://unifast.dev/ko/docs/packages/node/overview/",
      "api": "https://unifast.dev//api/ko/docs/packages/node/overview.json"
    },
    {
      "locale": "fr",
      "url": "https://unifast.dev/fr/docs/packages/node/overview/",
      "api": "https://unifast.dev//api/fr/docs/packages/node/overview.json"
    },
    {
      "locale": "it",
      "url": "https://unifast.dev/it/docs/packages/node/overview/",
      "api": "https://unifast.dev//api/it/docs/packages/node/overview.json"
    },
    {
      "locale": "es",
      "url": "https://unifast.dev/es/docs/packages/node/overview/",
      "api": "https://unifast.dev//api/es/docs/packages/node/overview.json"
    },
    {
      "locale": "pt-BR",
      "url": "https://unifast.dev/pt-BR/docs/packages/node/overview/",
      "api": "https://unifast.dev//api/pt-BR/docs/packages/node/overview.json"
    },
    {
      "locale": "de",
      "url": "https://unifast.dev/de/docs/packages/node/overview/",
      "api": "https://unifast.dev//api/de/docs/packages/node/overview.json"
    },
    {
      "locale": "ru",
      "url": "https://unifast.dev/ru/docs/packages/node/overview/",
      "api": "https://unifast.dev//api/ru/docs/packages/node/overview.json"
    },
    {
      "locale": "hi",
      "url": "https://unifast.dev/hi/docs/packages/node/overview/",
      "api": "https://unifast.dev//api/hi/docs/packages/node/overview.json"
    },
    {
      "locale": "id",
      "url": "https://unifast.dev/id/docs/packages/node/overview/",
      "api": "https://unifast.dev//api/id/docs/packages/node/overview.json"
    },
    {
      "locale": "tr",
      "url": "https://unifast.dev/tr/docs/packages/node/overview/",
      "api": "https://unifast.dev//api/tr/docs/packages/node/overview.json"
    },
    {
      "locale": "vi",
      "url": "https://unifast.dev/vi/docs/packages/node/overview/",
      "api": "https://unifast.dev//api/vi/docs/packages/node/overview.json"
    }
  ]
}
