sylius / plugin-skeleton
Acme example plugin for Sylius.
                                    Fund package maintenance!
                                                                            
                                                                                                                                        sylius
                                                                                    
                                                                
Installs: 8 466
Dependents: 1
Suggesters: 0
Security: 0
Stars: 79
Watchers: 19
Forks: 68
Open Issues: 22
Type:sylius-plugin
pkg:composer/sylius/plugin-skeleton
Requires
- php: ^8.2
- sylius/sylius: ^2.0
Requires (Dev)
- behat/behat: ^3.16
- dmore/behat-chrome-extension: ^1.4
- dmore/chrome-mink-driver: ^2.9
- friends-of-behat/mink: ^1.11
- friends-of-behat/mink-browserkit-driver: ^1.6
- friends-of-behat/mink-debug-extension: ^2.1
- friends-of-behat/mink-extension: ^2.7
- friends-of-behat/page-object-extension: ^0.3
- friends-of-behat/suite-settings-extension: ^1.1
- friends-of-behat/symfony-extension: ^2.6
- friends-of-behat/variadic-extension: ^1.6
- nyholm/psr7: ^1.8
- phpstan/phpstan: ^1.12
- phpstan/phpstan-doctrine: ^1.3
- phpstan/phpstan-webmozart-assert: ^1.2
- phpunit/phpunit: ^10.5
- robertfausk/behat-panther-extension: ^1.1
- sylius-labs/coding-standard: ^4.4
- sylius-labs/suite-tags-extension: ~0.2
- sylius/sylius-rector: ^2.0
- sylius/test-application: ^2.0.0@alpha
- symfony/browser-kit: ^6.4 || ^7.1
- symfony/debug-bundle: ^6.4 || ^7.1
- symfony/dotenv: ^6.4 || ^7.1
- symfony/http-client: ^6.4 || ^7.1
- symfony/intl: ^6.4 || ^7.1
- symfony/runtime: ^6.4 || ^7.1
- symfony/web-profiler-bundle: ^6.4 || ^7.1
- symfony/webpack-encore-bundle: ^2.2
- 2.1.x-dev
- v2.1.2
- v2.1.1
- v2.1.0
- 2.0.x-dev
- v2.0.2
- v2.0.1
- v2.0.0
- 1.14.x-dev
- v1.14.0
- 1.13.x-dev
- v1.13.0
- 1.12.x-dev
- v1.12.3
- v1.12.2
- v1.12.1
- v1.12.0
- 1.11.x-dev
- v1.11.0
- 1.10.x-dev
- v1.10.0
- v1.10.0-ALPHA.1
- 1.9.x-dev
- v1.9.0
- v1.9.0-BETA.1
- 1.8.x-dev
- v1.8.9
- v1.8.0
- 1.7.x-dev
- v1.7.5
- v1.7.0
- 1.6.x-dev
- v1.6.4
- v1.6.0-ALPHA.2
- v1.6.0-ALPHA.1
- 1.5.x-dev
- v1.5.8
- v1.5.3
- v1.5.2
- v1.5.1
- v1.5.0
- v1.5.0-RC.1
- 1.4.x-dev
- v1.4.7
- v1.4.6
- v1.4.5
- v1.4.4
- v1.4.3
- v1.4.2
- v1.4.1
- v1.4.0
- v1.4.0-BETA.1
- 1.3.x-dev
- v1.3.13
- v1.3.12
- v1.3.11
- v1.3.10
- v1.3.9
- v1.3.8
- v1.3.7
- v1.3.6
- v1.3.5
- v1.3.4
- v1.3.3
- v1.3.2
- v1.3.1
- v1.3.0
- v1.3.0-BETA
- 1.2.x-dev
- v1.2.17
- v1.2.15
- v1.2.14
- v1.2.13
- v1.2.12
- v1.2.11
- v1.2.10
- v1.2.9
- v1.2.8
- v1.2.7
- v1.2.5
- v1.2.4
- v1.2.3
- v1.2.2
- v1.2.1
- v1.2.0
- v1.2.0-RC
- v1.2.0-BETA
- 1.1.x-dev
- v1.1.18
- v1.1.16
- v1.1.15
- v1.1.14
- v1.1.12
- v1.1.11
- v1.1.10
- v1.1.9
- v1.1.8
- v1.1.7
- v1.1.6
- v1.1.5
- v1.1.4
- v1.1.2
- v1.1.0
- v1.1.0-RC
- 1.0.x-dev
- v1.0.18
- v1.0.17
- v1.0.16
- v1.0.15
- v1.0.14
- v1.0.13
- v1.0.12
- v1.0.10
- v1.0.9
- v1.0.8
- v1.0.7
- v1.0.6
- v1.0.5
- v1.0.4
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0.0
- v0.1.0
- dev-feature/add-gitattributes
This package is auto-updated.
Last update: 2025-10-08 07:17:42 UTC
README
Plugin Skeleton
Skeleton for starting Sylius plugins.
Documentation
For a comprehensive guide on Sylius Plugins development please go to Sylius documentation, there you will find the Plugin Development Guide, that is full of examples.
For more information about the Test Application included in the skeleton, please refer to the Sylius documentation.
Quickstart Installation
Run composer create-project sylius/plugin-skeleton ProjectName.
Traditional
- 
From the plugin skeleton root directory, run the following commands: (cd vendor/sylius/test-application && yarn install) (cd vendor/sylius/test-application && yarn build) vendor/bin/console assets:install vendor/bin/console doctrine:database:create vendor/bin/console doctrine:migrations:migrate -n # Optionally load data fixtures vendor/bin/console sylius:fixtures:load -n 
To be able to set up a plugin's database, remember to configure your database credentials in tests/TestApplication/.env and tests/TestApplication/.env.test.
- 
Run your local server: symfony server:ca:install symfony server:start -d 
- 
Open your browser and navigate to https://localhost:8000.
Docker
- 
Execute make initto initialize the container and install the dependencies.
- 
Execute make database-initto create the database and run migrations.
- 
(Optional) Execute make load-fixturesto load the fixtures.
- 
Your app is available at http://localhost.
Usage
Running plugin tests
- 
PHPUnit vendor/bin/phpunit 
- 
Behat (non-JS scenarios) vendor/bin/behat --strict --tags="~@javascript&&~@mink:chromedriver"
- 
Behat (JS scenarios) 
- 
Start Headless Chrome: 
 google-chrome-stable --enable-automation --disable-background-networking --no-default-browser-check --no-first-run --disable-popup-blocking --disable-default-apps --allow-insecure-localhost --disable-translate --disable-extensions --no-sandbox --enable-features=Metal --headless --remote-debugging-port=9222 --window-size=2880,1800 --proxy-server='direct://' --proxy-bypass-list='*' http://127.0.0.1 - Install SSL certificates (only once needed) and run test application's webserver on 127.0.0.1:8080:
 symfony server:ca:install APP_ENV=test symfony server:start --port=8080 --daemon - Run Behat:
 vendor/bin/behat --strict --tags="@javascript,@mink:chromedriver"
- 
Static Analysis - 
PHPStan vendor/bin/phpstan analyse -c phpstan.neon -l max src/ 
 
- 
- 
Coding Standard vendor/bin/ecs check 
Opening Sylius with your plugin
- 
Using testenvironment:APP_ENV=test vendor/bin/console vendor/bin/console sylius:fixtures:load -n APP_ENV=test symfony server:start -d 
- 
Using devenvironment:vendor/bin/console vendor/bin/console sylius:fixtures:load -n symfony server:start -d