はじめに
pre-commit という、gitのpre-commitフックへのスクリプト追加を容易にするツールがある。
最近のPythonツール界隈はだいたいこのpre-commitに対応しているのだが、 Pyright は対応していない。
素直に公式対応してほしいのだけど、erictrautさんが紹介している方法でも実現はできるのでまあそれを使う。
やり方
パッケージマネージャーにpoetryを使っている前提です。
-
poetry add -D pyright==1.1.265
する -
.pre-commit-config.yaml
に以下を追加するrepos: #... - repo: local hooks: - id: pyright name: pyright entry: pyright language: node pass_filenames: true types: [python] # Replace the version below with the latest pyright version additional_dependencies: ['pyright@1.1.265'] #...
pass_filenames
はfalseにしているとステージングされたファイルだけでなく、リポジトリー内の全てのファイルを対象にしてしまうので必ずtrueにする。