From 5f5b94871dec404a34585694086f209af814ab81 Mon Sep 17 00:00:00 2001 From: Zach Borboa Date: Sat, 1 Jul 2023 03:55:43 -0700 Subject: [PATCH] Add pre-commit hook to validate composer.json --- .pre-commit-config.yaml | 18 ++++++++++++++++++ scripts/pre-commit.sh | 14 ++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 .pre-commit-config.yaml create mode 100755 scripts/pre-commit.sh diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000..a4f9b19 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,18 @@ +# Pre-commit git hooks. +# +# Usage: +# 1. Run one of: +# $ pip install pre-commit +# $ brew install pre-commit +# +# 2. Install hooks +# $ pre-commit install +repos: +- repo: local + hooks: + - id: composer-validate + name: composer-validate + language: script + entry: scripts/pre-commit.sh + files: 'composer\.json' + pass_filenames: true diff --git a/scripts/pre-commit.sh b/scripts/pre-commit.sh new file mode 100755 index 0000000..5ef8d3b --- /dev/null +++ b/scripts/pre-commit.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +list_of_files="${@}" +for file in $list_of_files; do + if [[ "${file}" == "composer.json" ]]; then + $(which composer) validate + exit "${?}" + else + echo "unsupported file: ${file}" + exit 1 + fi +done + +exit 0