Add prettier yml example hook
This commit is contained in:
parent
0704cf0237
commit
c3135a4008
1 changed files with 39 additions and 0 deletions
39
pre-commit.d/prettier-yml.py
Executable file
39
pre-commit.d/prettier-yml.py
Executable file
|
|
@ -0,0 +1,39 @@
|
||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
import os
|
||||||
|
import subprocess
|
||||||
|
import sys
|
||||||
|
|
||||||
|
from shutil import which
|
||||||
|
|
||||||
|
file_extensions = (".yml", ".yaml",)
|
||||||
|
prettier = os.getenv("PRETTIER_BIN", "./node_modules/.bin/prettier")
|
||||||
|
options = ["--write"]
|
||||||
|
|
||||||
|
if not which(prettier):
|
||||||
|
sys.exit("Prettier binary not found")
|
||||||
|
|
||||||
|
diff = subprocess.check_output(
|
||||||
|
["git", "diff", "--cached", "--name-only", "--diff-filter", "ACM"],
|
||||||
|
universal_newlines=True
|
||||||
|
)
|
||||||
|
|
||||||
|
yaml_files = [
|
||||||
|
item for item in diff.splitlines() if item.endswith(file_extensions)
|
||||||
|
]
|
||||||
|
|
||||||
|
if not yaml_files:
|
||||||
|
sys.exit(0)
|
||||||
|
|
||||||
|
try:
|
||||||
|
output = subprocess.check_output(
|
||||||
|
[prettier, *options, *yaml_files],
|
||||||
|
universal_newlines=True,
|
||||||
|
stderr=subprocess.STDOUT
|
||||||
|
)
|
||||||
|
except subprocess.CalledProcessError as e:
|
||||||
|
print("Formatting was unsuccessful:")
|
||||||
|
sys.exit(e.stdout)
|
||||||
|
|
||||||
|
subprocess.run(["git", "add", "-u", *yaml_files])
|
||||||
|
sys.exit(0)
|
||||||
Reference in a new issue