Skip to content

Releases: infinum/eightshift-coding-standards

1.5.0 Update

Choose a tag to compare

@dingo-d dingo-d released this 16 Mar 16:16
bbed2b2

Added

  • Add overriddenClass parameter for the EightShift ComponentsEscape sniff
    • This parameter will catch the cases where the libs Components class has been overridden.
  • Add ignoreComments property for the line length sniff

Fixed

  • Fixed the edge case with overwriting libs classes.

Changed

  • Code cleanup in EightShift ComponentsEscape sniff

Ruleset fix

Choose a tag to compare

@dingo-d dingo-d released this 10 Mar 12:02
cf7a49a

Fixed

  • Exclude the native WordPress.Security.EscapeOutput.OutputNotEscaped sniff, because we are overloading it

ComponentsEscape sniff bugfix

Choose a tag to compare

@dingo-d dingo-d released this 10 Mar 11:39
8ade500

Fixed

  • Fixed Eightshift.Security.ComponentsEscape sniff
    • There was a case where the next string token caused issue because there was no guard clause
      to check if the string is actually a Components class or not.

1.4.0

Choose a tag to compare

@dingo-d dingo-d released this 09 Mar 11:09
aa1a503

Added

  • EightShift ruleset: add rules for use statements
    • Adds a new dependency on the Slevomat Coding Standard library.
    • Adds four sniffs from this coding standard to the ruleset:
      1. Forbidding unused use statements.
      2. Enforcing fully qualified global functions and constants.
      3. Enforcing import use statements for everything else.
    • Includes fixing up the EightShift coding standards code base for these new rules.
    • Ref: https://github.com/slevomat/coding-standard
  • Add new EightShift FunctionComment sniff
    • This sniff overloads the Squiz.Commenting.FunctionComment sniff which normally comes included via the WordPress-Docs ruleset and makes an allowance for the __invoke method in the CLI classes.
    • Includes:
      • Unit tests.
      • Adjusting the ruleset to maintain the same excludes as WPCS had from the Squiz ruleset.
      • Adjusting the ruleset to maintain the previous exclude for parameter alignment.
  • Add new EightShift ComponentsEscape sniff
    • This sniff overloads the WordPress.Security.EscapeOutput.OutputNotEscaped sniff which comes included with WordPress-Extra ruleset and makes an allowance for a certain EightshiftLibs\Helpers\Components static methods (render and outputCssVariables).
  • Add @Covers tag for all the tests
  • Add the documentation for the new sniffs

Changed

  • PHPCS ruleset: tabs not spaces
  • PHPCS: simplify ruleset
  • Composer
  • Update composer to add the allow-plugins
  • Update disallow do_shortcode sniff
    • The sniff is updated so that it extends the WPCS Sniff class. This class has two super useful helpers: is_token_namespaced and is_class_object_call. They allow super quick checks for namespaced functions and static functions named do_shortcode which would otherwise trigger a false positive result.
  • Update GitHub Actions Workflow update
    • Update composer install action to v2.
    • Add concurrency check to save resources.
  • Update minimum PHP version to 7.4 and tab width in the ruleset to 4

Removed

  • Composer
    • Remove the Composer PHPCS plugin dependency as it already is a dependency of both PHPCSExtra as well as SlevomatCodingStandards, so we'll inherit it anyway.

Fixed

  • Fix the wrong namespace in the ruleset
  • PHPCS: improve PHPCompatibility check for this repo
    • Remove the dependency as it is already a dependency of PHPCompatibilityWP and having both may cause version conflicts later.
    • Reset the severity of all PHPCompatibility sniffs to 5 for scanning the EightShiftCS code itself as that code is run outside the context of WordPress.

A huge thanks to Juliette Reinders Folmer (@jrfnl) for amazing help in fixing tons of issues with the ruleset and sniffs.

1.3.0

Choose a tag to compare

@dingo-d dingo-d released this 04 May 15:41
0ebb751

Removed

  • Modified escaping sniff
    • The sniff wasn't working correctly, and we'll wait for the upstream to fix the issue
  • Exclude doc comment align sniff

Fixed

  • Improve disallow do shortcode sniff (better regex and tests)
  • Fixed the namespace in the ruleset.xml

Changed

  • Update minimum supported WP version to 5.4

1.2.0

Choose a tag to compare

@dingo-d dingo-d released this 15 Apr 15:42
bf487c0

Added

  • Workflows for GH Actions
  • Docs for custom sniffs
  • Modified escaping sniff
    • will exclude the custom Components::render() method from the eightshift-libs
  • Added phpcs extra ruleset for array spacing and array best practices
  • Update samples for ruleset

Changed

  • Updated sniffs namespace

Package renaming

Choose a tag to compare

@dingo-d dingo-d released this 30 Nov 09:27
e28ea7d

We renamed the package from infinum/coding-standards-wp to infinum/eightshift-coding-standards.

1.0.1 Update version

Choose a tag to compare

@dingo-d dingo-d released this 24 Sep 17:02
d28c175

Added

  • Added a rule to prevent underscores denoting the private methods/properties

1.0.0 Version

Choose a tag to compare

@dingo-d dingo-d released this 18 Sep 12:07
279a271

⚠️ This is a breaking change ⚠️

This is the official release of the Infinum coding standards for WordPress. It contains breaking changes, mostly in regard of the naming scheme.
To equate the way we write our PHP and JS we opted to follow a modified PSR standards.

What this means is that we will remove liberal spacing, add some PSR12 modifications regarding arguments placing in closures, change snake_case with CamelCase for classes (for autoload puropses) and some other minor changes that will be documented below.
If you wish to use the old standards, be sure to modify your projects composer.json file with the appropriate version.

Added

  • Added PSR-12 standards
  • Added more tests
  • Updated the WPCS to 2.3.0
  • Updated scripts

Removed

  • Removed the Test bootstrap
  • Removed PHP 5.6 support and raised the recommended PHP version to 7.2 or higher
  • Removed WordPress-Core standards

Changed

  • Replaced WordPress naming standards to modified PSR standards
  • Changed the namespace of the WPCS core classes

Version 0.4.3

Choose a tag to compare

@dingo-d dingo-d released this 29 Jan 07:05
80a148a

Fixed

  • Fixed the sniff namespace alias to WordPressCS\WordPress in the DisallowedShortcodeSniff