diff --git a/.gitignore b/.gitignore index 8cb18f4d7b..948c11f00e 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,8 @@ wp-tests-config.php # Files and folders related to build/test tools /phpunit.xml +/.phpcs.xml +/phpcs.xml /tests/phpunit/data/plugins/wordpress-importer /tests/phpunit/data/.trac-ticket-cache* /tests/qunit/compiled.html diff --git a/composer.json b/composer.json new file mode 100644 index 0000000000..3c9e021d66 --- /dev/null +++ b/composer.json @@ -0,0 +1,20 @@ +{ + "name": "wordpress/wordpress", + "license": "GPL-2.0-or-later", + "description": "WordPress is open source software you can use to create a beautiful website, blog, or app.", + "homepage": "https://wordpress.org", + "keywords": [ + "blog", "cms", "wordpress", "wp" + ], + "support": { + "issues": "https://core.trac.wordpress.org/" + }, + "require-dev": { + "dealerdirect/phpcodesniffer-composer-installer": "~0.4.4", + "wp-coding-standards/wpcs": "~1.0.0" + }, + "scripts": { + "format": "phpcbf --standard=phpcs.xml.dist --report-summary --report-source", + "lint": "phpcs --standard=phpcs.xml.dist --report-summary --report-source" + } +} diff --git a/composer.lock b/composer.lock new file mode 100644 index 0000000000..73fe1cd7dc --- /dev/null +++ b/composer.lock @@ -0,0 +1,180 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "This file is @generated automatically" + ], + "content-hash": "525cadb533bc92cc922d79144b33b14a", + "packages": [], + "packages-dev": [ + { + "name": "dealerdirect/phpcodesniffer-composer-installer", + "version": "v0.4.4", + "source": { + "type": "git", + "url": "https://github.com/Dealerdirect/phpcodesniffer-composer-installer.git", + "reference": "2e41850d5f7797cbb1af7b030d245b3b24e63a08" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Dealerdirect/phpcodesniffer-composer-installer/zipball/2e41850d5f7797cbb1af7b030d245b3b24e63a08", + "reference": "2e41850d5f7797cbb1af7b030d245b3b24e63a08", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.0", + "php": "^5.3|^7", + "squizlabs/php_codesniffer": "*" + }, + "require-dev": { + "composer/composer": "*", + "wimg/php-compatibility": "^8.0" + }, + "suggest": { + "dealerdirect/qa-tools": "All the PHP QA tools you'll need" + }, + "type": "composer-plugin", + "extra": { + "class": "Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\Plugin" + }, + "autoload": { + "psr-4": { + "Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Franck Nijhof", + "email": "f.nijhof@dealerdirect.nl", + "homepage": "http://workingatdealerdirect.eu", + "role": "Developer" + } + ], + "description": "PHP_CodeSniffer Standards Composer Installer Plugin", + "homepage": "http://workingatdealerdirect.eu", + "keywords": [ + "PHPCodeSniffer", + "PHP_CodeSniffer", + "code quality", + "codesniffer", + "composer", + "installer", + "phpcs", + "plugin", + "qa", + "quality", + "standard", + "standards", + "style guide", + "stylecheck", + "tests" + ], + "time": "2017-12-06T16:27:17+00:00" + }, + { + "name": "squizlabs/php_codesniffer", + "version": "3.3.2", + "source": { + "type": "git", + "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", + "reference": "6ad28354c04b364c3c71a34e4a18b629cc3b231e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/6ad28354c04b364c3c71a34e4a18b629cc3b231e", + "reference": "6ad28354c04b364c3c71a34e4a18b629cc3b231e", + "shasum": "" + }, + "require": { + "ext-simplexml": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": ">=5.4.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0" + }, + "bin": [ + "bin/phpcs", + "bin/phpcbf" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Greg Sherwood", + "role": "lead" + } + ], + "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.", + "homepage": "http://www.squizlabs.com/php-codesniffer", + "keywords": [ + "phpcs", + "standards" + ], + "time": "2018-09-23T23:08:17+00:00" + }, + { + "name": "wp-coding-standards/wpcs", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards.git", + "reference": "539c6d74e6207daa22b7ea754d6f103e9abb2755" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/WordPress-Coding-Standards/WordPress-Coding-Standards/zipball/539c6d74e6207daa22b7ea754d6f103e9abb2755", + "reference": "539c6d74e6207daa22b7ea754d6f103e9abb2755", + "shasum": "" + }, + "require": { + "php": ">=5.3", + "squizlabs/php_codesniffer": "^2.9.0 || ^3.0.2" + }, + "require-dev": { + "phpcompatibility/php-compatibility": "*" + }, + "suggest": { + "dealerdirect/phpcodesniffer-composer-installer": "^0.4.3 || This Composer plugin will sort out the PHPCS 'installed_paths' automatically." + }, + "type": "phpcodesniffer-standard", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Contributors", + "homepage": "https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/graphs/contributors" + } + ], + "description": "PHP_CodeSniffer rules (sniffs) to enforce WordPress coding conventions", + "keywords": [ + "phpcs", + "standards", + "wordpress" + ], + "time": "2018-07-25T18:10:35+00:00" + } + ], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": [], + "prefer-stable": false, + "prefer-lowest": false, + "platform": [], + "platform-dev": [] +} diff --git a/phpcs.xml.dist b/phpcs.xml.dist new file mode 100644 index 0000000000..1bd55b6f4c --- /dev/null +++ b/phpcs.xml.dist @@ -0,0 +1,122 @@ + + + Apply WordPress Coding Standards to all Core files + + + + + + + + + + + + + + + + + + + + + + . + + + ^build/* + + + /node_modules/* + /vendor/* + + /src/wp-admin/includes/class-ftp* + /src/wp-admin/includes/class-pclzip\.php + /src/wp-admin/includes/deprecated\.php + /src/wp-admin/includes/ms-deprecated\.php + + /src/wp-includes/atomlib\.php + /src/wp-includes/class-IXR\.php + /src/wp-includes/class-json\.php + /src/wp-includes/class-phpass\.php + /src/wp-includes/class-phpmailer\.php + /src/wp-includes/class-pop3\.php + /src/wp-includes/class-requests\.php + /src/wp-includes/class-simplepie\.php + /src/wp-includes/class-smtp\.php + /src/wp-includes/class-snoopy\.php + /src/wp-includes/deprecated\.php + /src/wp-includes/ms-deprecated\.php + /src/wp-includes/pluggable-deprecated\.php + /src/wp-includes/rss\.php + + /src/wp-includes/ID3/* + /src/wp-includes/IXR/* + /src/wp-includes/random_compat/* + /src/wp-includes/Requests/* + /src/wp-includes/SimplePie/* + /src/wp-includes/Text/* + + + /tests/phpunit/build* + /tests/phpunit/data/* + + /tools/* + + + + /src/wp-includes/wp-db\.php + /tests/phpunit/tests/db/charset\.php + + + + + /tests/phpunit/tests/db\.php + + + /tests/phpunit/tests/db\.php + + + /tests/phpunit/tests/db\.php + + + /tests/phpunit/tests/admin/includesSchema\.php + /tests/phpunit/tests/multisite/site\.php + + + + + /src/wp-includes/l10n\.php + + + + /wp-config\.php + /wp-config-sample\.php + /wp-tests-config\.php + /wp-tests-config-sample\.php + + + + /wp-config\.php + /wp-config-sample\.php + + + + + + + + + + + + /tests/phpunit/tests/* + + + /tests/phpunit/tests/* + + +