hyogen-md

0.10.0

エラーコード

診断の code フィールドに入る値の一覧です。メッセージは英語テンプレートで生成されます。

中断するエラー

これらが発生するとレンダリングは 例外で中断します。

code状況
file_not_foundinclude / component / extend 先が存在しない
frontmatter_too_largefront matter のソースが 64 KB を超える
duplicate_component_alias同一ファイルで同名の component ... as を二重登録
alias_collisionas 名が既存の変数・別の as と衝突
forbidden_property_access__proto__ など危険キーへのアクセス
parse_errorホワイトリスト外の構文・不正な DSL
component_multiline_outputcomponent の戻り値が複数行(単一行のみ許可)
server_context_on_clientrenderClientserverContext を渡した
load_failedloader のその他の失敗

例: file_not_found

[hyogen:error] file_not_found
  path: ./missing.md
  from: ./page.md
  via: include

中断しない警告

警告は warnings 配列に入り、処理は 続行されます。

code状況
circular_include循環参照を検出し、当該取り込みをスキップ
nest_limit_exceededif / each の構造ネスト合計が 20 を超え、ブロックをスキップ
extend_in_componentcomponent 内の extend をスキップ
prop_type_mismatchprops の型不一致(値は undefined
prop_missingisRequired な props が欠落(値は undefined
prop_unknown未知の props キーを無視
suspicious_context_valuecontext に危険そうな値(値は改変しない)

suspicious_context_value の理由

reason検出内容
contains_html_script_tag<script / </script>
contains_event_handleronerror= などのイベントハンドラ属性
contains_dangerous_schemejavascript: / vbscript:
contains_embed_tag<iframe / <object / <embed
contains_meta_refresh<meta + http-equiv

ログの出力

ライブラリは自動で console 出力しません。formatDiagnosticLog で整形してから出力してください。

import { formatDiagnosticLog } from '@b4moss/hyogen-md'

for (const w of result.warnings) {
  console.warn(formatDiagnosticLog('warning', w))
}

関連