kreta/php-cs-fixer-config

PHP linting tool using PHP CS Fixer for Kreta packages

v1.0.3 2017-04-01 12:44 UTC

This package is not auto-updated.

Last update: 2024-04-13 23:46:32 UTC


README

PHP linting tool using PHP CS Fixer for Kreta packages

Build Status

It's based on the ideas of refinery29/php-cs-fixer-config and prooph/php-cs-fixer-config.

Installation

$ composer require --dev kreta/php-cs-fixer-config

Usage

Configuration

Create a configuration file .php_cs in the root of your project:

<?php

/*
 * This file is part of the Kreta package.
 *
 * (c) Beñat Espiña <benatespina@gmail.com>
 * (c) Gorka Laucirica <gorka.lauzirika@gmail.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

declare(strict_types=1);

use Kreta\PhpCsFixerConfig\KretaConfig;

$config = new KretaConfig();
$config->getFinder()->in(__DIR__ . '/src');

$cacheDir = getenv('TRAVIS') ? getenv('HOME') . '/.php-cs-fixer' : __DIR__;

$config->setCacheFile($cacheDir . '/.php_cs.cache');

return $config;

In case your project uses PhpSpec BDD test framework, also create a .phpspec_cs file in the root of your project:

<?php

/*
 * This file is part of the Kreta package.
 *
 * (c) Beñat Espiña <benatespina@gmail.com>
 * (c) Gorka Laucirica <gorka.lauzirika@gmail.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

declare(strict_types=1);

use Kreta\PhpCsFixerConfig\KretaConfig;

$config = new KretaConfig(true);
$config->getFinder()
    ->in(__DIR__ . '/tests/Spec')
    ->name('*Spec.php');

$cacheDir = getenv('TRAVIS') ? getenv('HOME') . '/.php-cs-fixer' : __DIR__;

$config->setCacheFile($cacheDir . '/.php_cs.cache');

return $config;

Git

Add .php_cs.cache (this is the cache file created by php-cs-fixer) to .gitignore:

/vendor
/.php_cs.cache

Composer

Add the following scripts in the composer.json file:

(...)

"scripts": {
    (...)

    "cs": [
        "php-cs-fixer fix --config=.php_cs -v",
        "php-cs-fixer fix --config=.phpspec_cs -v"
    ]
},

Travis

Update your .travis.yml to cache the php_cs.cache file:

cache:
  directories:
    - $HOME/.php-cs-fixer

Then run php-cs-fixer in the script section:

script:
  - vendor/bin/php-cs-fixer fix --config=.php_cs --verbose --diff --dry-run
  - vendor/bin/php-cs-fixer fix --config=.phpspec_cs --verbose --diff --dry-run

Fixing issues

Manually

If you need to fix issues locally and if you previously added the composer script, just run:

$ composer run-script cs

otherwise you can run:

$ vendor/bin/php-cs-fixer fix -v
$ vendor/bin/php-cs-fixer fix -v --config=.phpspec_cs 

Credits

Kreta is created by:

@benatespina - benatespina@gmail.com
@gorkalaucirica - gorka.lauzirika@gmail.com

Licensing Options

License