Documentation

wp-wpdesk-composer

##Installation

composer require --dev wpdesk/wp-wpdesk-composer composer require --dev wpdesk/wp-plugin-flow ^2.0

Usage

Add to composer.json to scripts section:

        "tests-unit": "docker-compose -f vendor/wpdesk/wp-wpdesk-composer/docker/docker-compose.yaml run wordpress phpunit --no-coverage -c /opt/project/phpunit-unit.xml",
        "tests-integration": "docker-compose -f vendor/wpdesk/wp-wpdesk-composer/docker/docker-compose.yaml run wordpress phpunit --no-coverage -c /opt/project/phpunit-integration.xml",
        "tests": [
            "@composer tests-unit",
            "@composer tests-integration"
        ]

To run scripts type in command line:

  1. Set plugin date in plugin file: composer set-plugin-date
  2. To set plugin contributors: composer set-contributors
  3. To set WordPress tested up version number: composer set-tested-up-wp
  4. To set WooCommerce tested up version number: composer set-tested-up-wc
  5. To run commands 1-4: composer set-plugin-data
  6. To run unit tests: composer run-unit-tests or composer run-unit-tests fast
  7. To run integration tests: composer run-integration-tests or composer run-integration-tests
  8. To generate .pot files: composer generate-pot
  9. To merge translations: composer merge-translations
  10. To minify assets composer minify-assets

Translations

Configuration for language commands ( composer generate-pot, composer merge-translations ) must be entered in composer.json file in extra.

Example configuration:

	"extra" : {
		"text-domain": "flexible-shipping",
		"translations-folder": "lang",
		"po-files": {
			"pl_PL": "pl_PL.po"
		}
	}

text-domain: plugin/library text domain

translations-folder: folder, where translations are stored

po-files: translations files

Minification

Configuration for assets minification ( composer minify-assets ) must be entered in composer.json file in extra.

Example configuration:

	"extra": {
		"minify-assets" : {
			"js" : [
				"assets/js/admin.js",
				"assets/js/admin_order.js",
				"assets/js/admin_settings.js",
				"assets/js/checkout.js",
				"assets/js/i18n-support.js"
			],
			"css" : [
				"assets/css/admin.css",
				"assets/css/checkout.css"
			]
		}
	}

Additional

To regenerate WooCommerce stubs use ../vendor/wpdesk/wp-wpdesk-composer/director/vendor/szepeviktor/phpstan-wordpress/stub-generators/wc-generate-stubs.sh in WooCommerce dir.