- Issues should be filed at https://www.drupal.org/project/issues/loco_translate
- Pull requests can be made against https://github.com/antistatique/drupal-loco-transalte/pulls
Drupal repo
git remote add origin [email protected]:project/loco_translate.git
Github repo
git remote add github [email protected]:antistatique/drupal-loco-translate.git
First of all, you will need to have the following tools installed globally on your environment:
- drush
- Latest dev release of Drupal 9.x/10.x/11.x.
- docker
- docker compose
Once run, you will be able to access to your fresh installed Drupal on localhost::8888
.
docker compose build --pull --build-arg BASE_IMAGE_TAG=10.1 drupal
(get a coffee, this will take some time...)
docker compose up -d drupal
docker compose exec -u www-data drupal drush site-install standard --db-url="mysql://drupal:drupal@db/drupal" --site-name=Example -y
# You may be interesed by reseting the admin password of your Docker and install the module using those cmd.
docker compose exec drupal drush user:password admin admin
docker compose exec drupal drush en loco_translate
We use the Docker for Drupal Contrib images to run testing on our project.
Run testing by stopping at first failure using the following command:
docker compose exec -u www-data drupal phpunit --group=loco_translate --no-coverage --stop-on-failure --configuration=/var/www/html/phpunit.xml
During Docker build, the following Static Analyzers will be installed on the Docker drupal
via Composer:
drupal/coder^8.3.1
(includingsquizlabs/php_codesniffer
&phpstan/phpstan
),
The following Analyzer will be downloaded & installed as PHAR:
phpmd/phpmd
sebastian/phpcpd
wapmorgan/PhpDeprecationDetector
./scripts/hooks/post-commit
# or run command on the container itself
docker compose exec drupal bash
https://github.com/squizlabs/PHP_CodeSniffer
PHP_CodeSniffer is a set of two PHP scripts; the main phpcs
script that tokenizes PHP, JavaScript and CSS files to
detect violations of a defined coding standard, and a second phpcbf
script to automatically correct coding standard
violations.
PHP_CodeSniffer is an essential development tool that ensures your code remains clean and consistent.
$ docker compose exec drupal ./vendor/bin/phpcs ./web/modules/contrib/loco_translate/
Automatically fix coding standards
$ docker compose exec drupal ./vendor/bin/phpcbf ./web/modules/contrib/loco_translate/
https://github.com/phpmd/phpmd
Detect overcomplicated expressions & Unused parameters, methods, properties.
$ docker compose exec drupal phpmd ./web/modules/contrib/loco_translate/ text ./phpmd.xml \
--suffixes php,module,inc,install,test,profile,theme,css,info,txt --exclude *Test.php,*vendor/*
https://github.com/sebastianbergmann/phpcpd
phpcpd
is a Copy/Paste Detector (CPD) for PHP code.
$ docker compose exec drupal phpcpd ./web/modules/contrib/loco_translate/src --suffix .php --suffix .module --suffix .inc --suffix .install --suffix .test --suffix .profile --suffix .theme --suffix .css --suffix .info --suffix .txt --exclude *.md --exclude *.info.yml --exclude tests --exclude vendor/
https://github.com/wapmorgan/PhpDeprecationDetector
A scanner that checks compatibility of your code with PHP interpreter versions.
$ docker compose exec drupal phpdd ./web/modules/contrib/loco_translate/ \
--file-extensions php,module,inc,install,test,profile,theme,info --exclude vendor
Maintaining code quality by adding the custom post-commit hook to yours.
cat ./scripts/hooks/post-commit >> ./.git/hooks/post-commit