Skip to content

moderntribe/coding-standards

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Modern Tribe Coding Standards

The Modern Tribe Coding Standard is a set of PHP_CodeSniffer rules for use primarily with the SquareOne framework.

Requirements

  • PHP ^8.0

Install

Composer v2:

composer require --dev moderntribe/coding-standards "^3.0"`

Composer v1:

Add to the repositories object:

    {
      "type": "vcs",
      "url": "[email protected]:moderntribe/coding-standards.git"
    }

And require-dev:

  "moderntribe/coding-standards": "^3.0"

Project ruleset

Ensure you're running PHP 8.0 locally!

To use this ruleset, create a phpcs.xml.dist in the root of the project and add the following content:

<?xml version="1.0"?>
<ruleset>
	<arg name="basepath" value="." />
	<arg name="extensions" value="php" />
	<arg name="severity" value="4" />
	<arg name="tab-width" value="4" />
	<arg name="parallel" value="80" />
	<arg name="colors" />

	<!--  Update to the PHP version your production/local docker container runs on -->
	<config name="testVersion" value="8.0" />
	<!-- php -r 'echo PHP_VERSION_ID;' -->
	<config name="php_version" value="80022" />

	<!-- Fix WordPress's terrible typing breaking PHPCS -->
	<config name="minimum_supported_wp_version" value="5.6.0" />

	<!-- Ignore warnings, show progress of the run and show sniff names -->
	<arg value="nps" />

	<!-- Directories to be checked -->
	<file>./wp-content/plugins/core</file>
	<file>./wp-content/themes/core</file>
	<file>./wp-content/mu-plugins</file>

	<!-- Exclude files -->
	<exclude-pattern>*-config.php</exclude-pattern>
	<exclude-pattern>*vendor/</exclude-pattern>
	<exclude-pattern>*tests/*</exclude-pattern>
	<exclude-pattern>*.twig</exclude-pattern>
	<exclude-pattern>*webpack/</exclude-pattern>

	<!-- Include the Modern Tribe coding standard -->
	<rule ref="ModernTribe" />
</ruleset>

Add phpcs.xml to your .gitignore

Manual Usage

PHPCS

./vendor/bin/phpcs --standard=ModernTribe /path/to/files/**.php

PHPCBF

./vendor/bin/phpcbf --standard=ModernTribe /path/to/files/**.php

Resources: