Skip to content
forked from craftcms/ecs

Latest commit

 

History

History
78 lines (56 loc) · 1.9 KB

README.md

File metadata and controls

78 lines (56 loc) · 1.9 KB

Easy Coding Standard config for Craft CMS

This package provides Easy Coding Standard configurations for Craft CMS plugins and projects.

In general, we follow the PSR-12 coding style guide, with a couple alterations:

  • Multi-line function argument rules aren’t enforced. (¶4.4)
  • Visibility is not enforced for constants, for Craft 3 projects.

To install, run the following commands within your plugin or project:

composer config minimum-stability dev
composer config prefer-stable true
composer require fireclaytile/ecs:dev-main --dev

Then add an ecs.php file to the root of your plugin or project:

<?php

declare(strict_types=1);

use craft\ecs\SetList;
use Symplify\EasyCodingStandard\Config\ECSConfig;

return static function(ECSConfig $ecsConfig): void {
    $ecsConfig->parallel();
    $ecsConfig->paths([
        __DIR__ . '/src',
        __FILE__,
    ]);

    $ecsConfig->sets([SetList::CRAFT_CMS_3]); // for Craft 3 projects
    $ecsConfig->sets([SetList::CRAFT_CMS_4]); // for Craft 4 projects
};

Adjust the PATHS value to include all source/test code locations, and remove the appropriate SetList option, depending on whether this is for Craft 3 or Craft 4.

With that in place, you can check your plugin/project’s code with the following command:

vendor/bin/ecs check

And to automatically fix it as well, pass the --fix argument:

vendor/bin/ecs check --fix

You might also want to define check-cs and fix-cs scripts in composer.json:

{
  "...": "...",
  "scripts": {
    "check-cs": "ecs check --ansi",
    "fix-cs": "ecs check --ansi --fix"
  }
}

Then you could execute ECS using composer run-script:

composer run-script check-cs
composer run-script fix-cs