PHP_CodeSniffer
PHP_CodeSniffer copied to clipboard
Getting error that xargs: ./vendor/bin/phpcs: No such file or directory in windows for pre-commit git hook
Describe the bug I am using laravel 8 so I have added below code for pre-commit file in `.git/hooks/pre-commit file
[2/3] code sniffer NOK!
xargs: ./vendor/bin/phpcs: No such file or directory
Code sample
"require-dev": {
"phpstan/phpstan": "^0.12.93",
"squizlabs/php_codesniffer": "^3.6"
},
#!/bin/sh
# get bash colors and styles here:
# http://misc.flogisoft.com/bash/tip_colors_and_formatting
C_RESET='\e[0m'
C_RED='\e[31m'
C_GREEN='\e[32m'
C_YELLOW='\e[33m'
function __run() #(step, name, cmd)
{
local color output exitcode
printf "${C_YELLOW}[%s]${C_RESET} %-20s" "$1" "$2"
output=$(eval "$3" 2>&1)
exitcode=$?
if [[ 0 == $exitcode || 130 == $exitcode ]]; then
echo -e "${C_GREEN}OK!${C_RESET}"
else
echo -e "${C_RED}NOK!${C_RESET}\n\n$output"
exit 1
fi
}
modified="git diff --diff-filter=M --name-only --cached | grep \".php$\""
ignore="resources/lang,resources/views,bootstrap/helpers,database/migrations,bin"
phpcs="./vendor/bin/phpcs ./app --report=code --colors --report-width=80 --standard=PSR2 --ignore=${ignore}"
__run "1/3" "php lint" "${modified} | xargs -r php -l"
__run "2/3" "code sniffer" "${modified} | xargs -r ${phpcs}"
__run "3/3" "phpstan" "${modified} | xargs -r vendor/bin/phpstan analyse"
Custom ruleset
I don't understand how to and where to add
To reproduce Steps to reproduce the behavior:
- I have installed package in composer.json
- add above code in precommit file of git
- trying to commit file
-
PHPCS output here
xargs: ./vendor/bin/phpcs: No such file or directory
**Expected behavior**
A clear and concise description of what you expected to happen.
**Versions (please complete the following information):**
- OS: Windows 10
- PHP: 7.4
- PHPCS: 3.6
- Standard: PSR2
**Additional context**
Add any other context about the problem here.