opositatest/coding-standards

The coding standards in the OpositaTest way

v0.1.5 2023-01-24 15:14 UTC

This package is auto-updated.

Last update: 2024-04-24 18:01:27 UTC


README

The coding standards in the Opositates way.

It's based on the ideas of LIN3S/CS.

WHY?

This package is created to centralize all the checks style of Opositatest projects, in an easy way to install all the tools and improving the maintainability. It is a flexible and customizable solution to automatize all related with coding standards.

  • Checks if Composer json has changes, the lock must be committed too.
  • Fixes the PHP code with fully customizable PHP-CS-Fixer.
  • Checks mess detections with PHPMD.

This library is very focused to use as pre-commit hook. The checkers only validate the files that will be committed.

Getting started

The recommended and the most suitable way to install is through Composer. Be sure the tool is installed in your system and execute the following command:

$ composer require opositatest/coding-standards --dev

Then you have to update the composer.json with the following code:

"scripts": {
    "opos-cs-scripts": [
        "Opositatest\\CodingStandards\\Composer\\Hooks::buildDistFile",
        "Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
        "Opositatest\\CodingStandards\\Composer\\Hooks::addHooks",
        "Opositatest\\CodingStandards\\Composer\\Hooks::addFiles"
    ]
},
"extra": {
    "incenteev-parameters": {
        "file": ".opos_cs.yml",
        "dist-file": ".opos_cs.yml.dist"
    },
    "scripts-dev": {
        "post-install-cmd": [
            "@opos-cs-scripts"
        ],
        "post-update-cmd": [
            "@opos-cs-scripts"
        ]
    }
}

REMEMBER: The .opos_cs.yml file is generated dynamically with Composer. The best practices recommend that only track the .dist file ignoring the .opos_cs.yml inside .gitignore.