/shellcheck

Expose ShellCheck as a vendor binary for PHP projects

Primary LanguageShellOtherNOASSERTION

ShellCheck

Vidar Holen's ShellCheck is an invaluable tool for troubleshooting shell scripts, and this package makes it easy to import into the testing pipeline of your PHP-based project!

How it works

This package contains a bin/shellcheck script that serves as a proxy to the system-installed copy of ShellCheck; if the ShellCheck binary is found, arguments pass through to it normally. If ShellCheck is not found locally, users are presented with the following notice:

ShellCheck was not found in your $PATH! Please visit https://github.com/koalaman/shellcheck#installing for installation instructions.

Normally, this would result in a non-zero exit code (2), though this behavior may be suppressed with the --ignore-missing option:

$ vendor/bin/shellcheck --ignore-missing some-script.sh

ShellCheck was not found in your $PATH!
Please visit https://github.com/koalaman/shellcheck#installing for installation instructions.

$ echo $?
0

Installation

The easiest way to install this package is via Composer:

$ composer require --dev assertwell/shellcheck

You may wish to add a Composer script to make it easier for team members to run ShellCheck:

# composer.json
{
    // ...
    "scripts": {
        "test:shellcheck": [
            "shellcheck bin/*"
        ]
    },
    "scripts-descriptions": [
        "test:shellcheck": "Lint shell scripts via ShellCheck"
    ]
}

As for the installation of ShellCheck itself, please see the instructions most-relevant to your environment in the ShellCheck documentation.

License

The assertwell/shellcheck Composer package is available under the MIT license.

ShellCheck itself is the copyright of Vidar Holden and made available under the GPLv3 license.