markdown内のjsonコードブロックを拾ってjsonlintかけてくれる君を雑に作った

markdownjson codeblockにAPIレスポンスの仕様とか書いてるけど何か微妙にずれたりしていてワーってなるときに備えて作りました。 codeblockを抜き出してきてjsonlintを叩きまくる仕様です。 実装が雑だけど、困ってないしあんまり継続的にはメンテしないだろうなという気持ちを受けて experimental-markdown-json-lint という名前です。

GitHub - matsu-chara/experimental-markdown-json-lint

www.npmjs.com

以下の様なsample.mdに対して

this is a chapter

here text

aaa

{ "a": 1 }
<?php
echo 'ok';
{ "b: 'a' }
{ "b": 2 }
{ "x: 2 }

yeah

以下の様な結果を返します。

sample.md
Parse error on line 1:
{ "b: 'a' }
--^
Expecting 'STRING', '}', got 'undefined'
Parse error on line 1:
{ "x: 2 }
--^
Expecting 'STRING', '}', got 'undefined'

file-glob対応しているので **/*.md もいけます。