Огромное спасибо за ваш интерес к нашему проекту! Мы приветствуем любой вклад, будь то исправление ошибок, добавление новых функций или улучшение документации.
Этот документ содержит набор рекомендаций, которые помогут вам легко и правильно внести свои изменения.
- Форкните репозиторий на GitHub.
- Склонируйте ваш форк на локальную машину:
git clone https://github.com/method-hub/wp-file-system.git
- Установите все зависимости с помощью Composer:
composer install
После этого настройте рабочее окружение для тестирования.
Проект использует скрипт ./bin/install-wp-tests.sh, который устанавливает wordpress-test-lib для unit и integration
тестов. Вам понадобится запущенный MySQL сервис на компьютере. Установите тестовое окружение wordpress-test-lib
с помощью данной команды:
./bin/install-wp-tests.sh wordpress_test root [password] 127.0.0.1:[port]Для E2E тестов проект использует Playwright и @wordpress/env. Для запуска сквозных тестов есть следующие команды:
composer.json/package.json
{
"test:e2e": "npx playwright test",
"test:ui": "npx playwright test --ui",
"test:headed": "npx playwright test --headed"
}test:e2e: Запуск E2E тестирования;test:ui: Запуск E2E тестирования с открытым окном браузера;test:headed: Запуск E2E тестирования с возможностью наблюдать интерактивное взаимодействие с сайтом.
Команды для управления контейнерами:
package.json
{
"wp-env": "wp-env",
"env:start": "wp-env start",
"env:stop": "wp-env stop"
}wp-env: CLI утилита по работе с тестовым окружением;env:start: Запуск тестового окружения, базы данных и сайта;env:stop: Остановка тестового окружения.
Вы можете использовать тестовую базу данных, которую поднимает при тестировании @wordpress/env для установки
базы данных units и integrations тестов. Для этого сначала выполните команду env:start, а потом запустите скрипт
установки wordpress-test-lib:
./bin/install-wp-tests.sh wordpress_test root password ['host']:['port']Используя данный подход, вам больше не нужно разворачивать базу данных для модульных тестов локально.
Для получения дополнительной информации читайте официальную документацию: Playwright, wp-env.
- Создайте новую ветку для вашей задачи из актуальной ветки
develop. Пожалуйста, используйте осмысленные названия, напримерfeature/add-new-buttonилиfix/user-login-bug.git checkout -b feature/ваша-новая-фича
- Внесите свои изменения в код.
- Обязательно проверьте стиль кода. Наш проект использует
PHP_CodeSniffer для поддержания единого стандарта.
- Для проверки кода на наличие ошибок стиля выполните:
composer lint
- Для автоматического исправления большинства проблем с
форматированием выполните:
composer lint-fix
- Для проверки кода на наличие ошибок стиля выполните:
- Сделайте коммит ваших изменений. Пишите четкие и информативные сообщения к коммитам.
- Отправьте (push) вашу ветку в ваш форк на GitHub.
- Создайте Pull Request в основной репозиторий проекта. В описании подробно опишите, какие изменения вы внесли и какую проблему они решают.
Проект использует стандарт PSR12.
Все правила форматирования и стиля кода для этого проекта определены в файле .phpcs.xml.dist. Этот файл является
"контрактом" для всей команды и гарантирует, что весь код, попадающий в репозиторий, соответствует единому стандарту.
Он используется нашими CI/CD-системами для автоматической проверки каждого Pull Request'а.
Иногда вам может понадобиться временно изменить правила или использовать более строгие проверки только для себя, не затрагивая всю команду. Для этого и существует механизм переопределения.
Вы можете создать в корне проекта файл .phpcs.xml (он уже добавлен в .gitignore и не попадет в репозиторий).
PHP_CodeSniffer автоматически обнаружит его и будет использовать вместо .phpcs.xml.dist.
Внося свой вклад в этот проект, вы соглашаетесь с тем, что ваши изменения будут распространяться под лицензией GNU General Public License v2.0 (or later), так же как и сам WordPress.