Skip to content
Go back

Astroテーマを自分用に修正するときのメモ・4

· Updated:

remarkプラグインを作るさいのことをメモします。

  • tsconfig.jsonの推奨設定としてtsconfig/basesを使う
  • remarkプラグイン上でASTをいじるのではなく、micromarkのsyntax extensionを使うほうが良さそう
    • 標準の構文と同じ扱いで処理できるので、もっと素直に書ける
    • だたし、字句と構文の両方の処理を作らなくてはいけなくなる
  • importでディレクトリ名を指定すると、その下のindex.tsが読み込まれるそう
  • TypeScriptコンパイラのGo移植版があるそう
    • まだプレビュー版だけど
  • 単体テストライブラリはVitestを使ってみる
    • @をパスとして認識させるには、vitest.config.tsのコンフィグにtest: { alias: { "@": path.resolve(__dirname, "./src") } }に追加する
  • テストのためにmicromarkがトークン列を出力するようにしたいけど、そのようなオプションはない?みたいなので、トークンをそのまま出力するhtml extensionで代用する
  • Vitestに組み込まれたアサーションライブラリChaiにはオブジェクトの部分比較containSubsetがあるので、出力結果の一括比較に使える
  • asは型の解釈を変更するので、細心の注意を払うこと
    • 通常は、宣言時に型を指定して、その解釈は変更しないほうが良い
    • とはいえ、micromarkが拡張性のない型でオブジェクトを渡してくるので、新しいトークンの種類を注入するさいのコンパイルエラーを回避するのに役立つ

参考資料#