mirror of
https://github.com/woocommerce/storefront.git
synced 2025-08-21 04:11:59 +08:00
* update squizlabs/php_codesniffer and WP coding standards to latest * revamp phpcs sniffer rulesets: - update to php-compatibility (wimg is defunct) - add version for woocommerce-sniffs * streamline phpcs config (get it working at all): - update min WP version to 5.3 - remove references to rules we don't have installed - WordPress.VIP - WordPress.XSS * fix 2x phpcs errors (automatically via phpcbf) * update phps ignore unescaped output comment to current format * add npm scripts for php linter and linter autofixer * auto-fix PHP linter errors using phpcbf : Before phpcbf: [x] PEAR Functions Function call signature multiple arguments 127 [x] Generic White space Disallow space indent spaces used 10 [ ] WordPres WP Enqueued resource parameters missing version 6 [ ] PHPCompa Language construct New language constructs t_ns_separator found 4 [ ] WordPres Security Escape output output not escaped 4 [ ] PHPCompa Parameter values New HTMLEntities encoding default not set 2 [ ] WordPres Date time Restricted functions date_date 2 [x] Generic Files End file newline not found 1 [x] PEAR Functions Function call signature close bracket line 1 [x] PEAR Functions Function call signature content after open bracket 1 [x] Squiz White space Superfluous whitespace end line 1 [x] WordPres Arrays Comma after array item no comma 1 phpcbf fixed all [x] violations, all whitespace/formatting After phpcbf: WordPres WP Enqueued resource parameters missing version 6 PHPCompa Language construct New language constructs t_ns_separator found 4 WordPres Security Escape output output not escaped 4 PHPCompa Parameter values New HTMLEntities encoding default not set 2 WordPres Date time Restricted functions date_date 2 Note - this commit does not include auto-fixed files with other violations. These will follow in separate commit (after fixing!) * fix phpcs violations: - numerous formatting issues fixed automatically - manually fix missing version param in calls to wp_enqueue_style * fix phpcs violations: - numerous formatting issues fixed automatically - fix missing deps param in call to wp_enqueue_style * update phpcs test php version to match min requirement (5.6) * fix phpcs violations including some missing escaping: - numerous formatting issues fixed automatically - prefer gmdate() over potentially ambiguous date() - escape output (a real issue!) of comment dates * fix violations (all automated formatting fixes) * reinstate WordPress rule/standard in phpcs.xml (minimise PR changes) * exclude build (pre-zip) ./storefront & tighten excludes for dep folders * bulk-update Security.EscapeOutput.OutputNotEscaped ignore comment: - the previous comment format is no longer supported - bulk replacing these to reduce phpcs warning overhead
34 lines
1.3 KiB
XML
34 lines
1.3 KiB
XML
<?xml version="1.0"?>
|
|
<ruleset name="WordPress Coding Standards">
|
|
<!-- See https://github.com/squizlabs/PHP_CodeSniffer/wiki/Annotated-ruleset.xml -->
|
|
<!-- See https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/blob/develop/WordPress-Core/ruleset.xml -->
|
|
|
|
<description>WooCommerce dev PHP_CodeSniffer ruleset.</description>
|
|
|
|
<!-- Exclude paths -->
|
|
<exclude-pattern>*/storefront/node_modules/*</exclude-pattern>
|
|
<exclude-pattern>*/storefront/vendor/*</exclude-pattern>
|
|
<exclude-pattern>*/storefront/storefront/*</exclude-pattern>
|
|
|
|
<!-- Configs -->
|
|
<config name="minimum_supported_wp_version" value="5.3" />
|
|
<config name="testVersion" value="5.6-"/>
|
|
|
|
<!-- Rules -->
|
|
<rule ref="WooCommerce-Core" />
|
|
<rule ref="PHPCompatibility">
|
|
<exclude name="PHPCompatibility.PHP.NewFunctions.hash_equalsFound" />
|
|
<exclude name="PHPCompatibility.PHP.NewInterfaces.jsonserializableFound" />
|
|
<exclude name="PHPCompatibility.PHP.NewKeywords.t_namespaceFound" />
|
|
</rule>
|
|
<rule ref="WordPress" />
|
|
<rule ref="WordPress.WP.I18n">
|
|
<properties>
|
|
<property name="text_domain" type="array" value="storefront" />
|
|
</properties>
|
|
</rule>
|
|
<rule ref="Squiz.Commenting">
|
|
<exclude name="Squiz.Commenting.LongConditionClosingComment" />
|
|
<exclude name="Squiz.Commenting.PostStatementComment" />
|
|
</rule>
|
|
</ruleset>
|