PHP_CodeSniffer icon indicating copy to clipboard operation
PHP_CodeSniffer copied to clipboard

Getting error that xargs: ./vendor/bin/phpcs: No such file or directory in windows for pre-commit git hook

Open creativedevs opened this issue 2 years ago • 1 comments

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:

  1. I have installed package in composer.json
  2. add above code in precommit file of git
  3. 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.

creativedevs avatar Jul 29 '21 11:07 creativedevs