Skip to content
/ ecs Public

Easy Coding Standard configurations for Craft CMS projects.

License

Notifications You must be signed in to change notification settings

craftcms/ecs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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)
  • Spaces after the function keyword aren’t enforced. (¶7)
  • 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 craftcms/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

About

Easy Coding Standard configurations for Craft CMS projects.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Languages