Beautify: Difference between revisions
No edit summary |
No edit summary |
||
| Line 3: | Line 3: | ||
For PHP, JavaScript and CSS, '''[https://github.com/PHPCSStandards/PHP_CodeSniffer PHP Code Sniffer]''' (phpcs) and its counterpart PHP Code Beautifier (phpcbf) work to ensure your code adheres to standards. For using phpcs in MediaWiki, see [[mw:Manual:Coding_conventions/PHP]]. PHPCS is enabled in ~89% of repositories hosted by WMF<ref>https://phpcs.toolforge.org/</ref> '''[https://github.com/wikimedia/mediawiki-tools-codesniffer MediaWiki Code Sniffer]''' is the set of rules (or ruleset to be more precise) that defines the standards for the MediaWiki project. | For PHP, JavaScript and CSS, '''[https://github.com/PHPCSStandards/PHP_CodeSniffer PHP Code Sniffer]''' (phpcs) and its counterpart PHP Code Beautifier (phpcbf) work to ensure your code adheres to standards. For using phpcs in MediaWiki, see [[mw:Manual:Coding_conventions/PHP]]. PHPCS is enabled in ~89% of repositories hosted by WMF<ref>https://phpcs.toolforge.org/</ref> '''[https://github.com/wikimedia/mediawiki-tools-codesniffer MediaWiki Code Sniffer]''' is the set of rules (or ruleset to be more precise) that defines the standards for the MediaWiki project. | ||
Suffice it to say, you can <code>composer phpcs</code> to run the tool from the project root. For more on how to run it, see [[mw:Continuous_integration/PHP_CodeSniffer]] Documentation for PHP_CodeSniffer is at https://github.com/PHPCSStandards/PHP_CodeSniffer/wiki | Suffice it to say, you can <code>composer phpcs</code> to run the tool from the project root. For more on how to run it, see [[mw:Continuous_integration/PHP_CodeSniffer]] | ||
Project Documentation for PHP_CodeSniffer is at https://github.com/PHPCSStandards/PHP_CodeSniffer/wiki | |||
You can list the standards available in the MediaWiki project using the -i option. The standard you want to enforce/use is ''''MediaWiki'''<nowiki/>' | |||
<code>php ./vendor/bin/phpcs -i</code> | <code>php ./vendor/bin/phpcs -i</code> | ||
The installed coding standards are MySource, PEAR, PSR1, PSR2, PSR12, Squiz, Zend, MediaWiki, Modernize, NormalizedArrays, Universal and PHPCSUtils | |||
The installed coding standards are MySource, PEAR, PSR1, PSR2, PSR12, Squiz, Zend, MediaWiki, Modernize, NormalizedArrays, Universal and PHPCSUtils | |||
== Configuration == | |||
If you're a MediaWiki extension developer, you can create a <code>.phpcs.xml</code> configuration file that sets things up for the project and integrates with the MediaWiki vendored binaries. See [[using docker-compose-ci]] | |||
{{References}} | {{References}} | ||
[[Category:CSS]] | [[Category:CSS]] | ||