kakakakakku blog

Weekly Tech Blog : Keep on Learning 👍

textlint-rule-prh で複数のルールをインポートできる imports 構文

textlint「表記揺れ」を検出するときに prh (proofreading-helper) を組み合わせて使うと思う.例えば .textlintrcrules.prh.rulePaths を以下のように書くと,ルールを複数設定できる.長くなりがちなルールを分割できるため,よく使っている👌

{
    "rules": {
        "prh": {
            "rulePaths" :["./prh-rules/rule1.yml", "./prh-rules/rule2.yml"]
        }
    }
}

最近 textlint-rule-prhREADME.md を読み直していたら,imports を書けばインポートできることを知った💡

github.com

例えば prh-rules/prh.yml のようなルール設定に imports を書くと rule1.ymlrule2.yml をインポートできる.

version: 1

imports:
  - rule1.yml
  - rule2.yml

最終的に以下のような構成になる.実際に試したら期待通りに検出できた!

$ tree
.
├── .textlintrc
└── prh-rules
    ├── prh.yml
    ├── rule1.yml
    └── rule2.yml

まとめると textlint-rule-prh でルールを複数設定するときは .textlintrc に設定することもできるし,ルール設定に imports を書くこともできる.個人的な使い分けとしては「異なるコンテキスト(目的)のルールを複数設定するなら .textlintrc「特定のコンテキスト(目的)のルールを管理上分割するならルール設定に imports を書く」で,実際には併用すると良さそう.実際に併用して試してみるぞ!