sylius / plugin-skeleton
Acme example plugin for Sylius.
Installs: 7 854
Dependents: 1
Suggesters: 0
Security: 0
Stars: 73
Watchers: 18
Forks: 64
Open Issues: 22
Type:sylius-plugin
Requires
- php: ^8.2
- sylius/sylius: ~2.0.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
- phpspec/phpspec: ^7.5
- 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: ^1.0
- symfony/browser-kit: ^6.4 || ^7.1
- symfony/debug-bundle: ^6.4 || ^7.1
- symfony/dotenv: ^6.4 || ^7.1
- symfony/flex: ^2.4
- symfony/http-client: ^6.4 || ^7.1
- symfony/intl: ^6.4 || ^7.1
- symfony/web-profiler-bundle: ^6.4 || ^7.1
- symfony/webpack-encore-bundle: ^2.2
- 2.0.x-dev
- 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-dependabot/composer/sylius/sylius-approx-2.0.2
- dev-feature/add-gitattributes
This package is auto-updated.
Last update: 2024-12-18 09:01:41 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.
Quickstart Installation
Run composer create-project sylius/plugin-skeleton ProjectName
.
Traditional
-
From the plugin skeleton root directory, run the following commands:
$ (cd tests/Application && yarn install) $ (cd tests/Application && yarn build) $ (cd tests/Application && APP_ENV=test bin/console assets:install public) $ (cd tests/Application && APP_ENV=test bin/console doctrine:database:create) $ (cd tests/Application && APP_ENV=test bin/console doctrine:schema:create) # Optionally load data fixtures $ (cd tests/Application && APP_ENV=test bin/console sylius:fixtures:load --no-interaction)
To be able to set up a plugin's database, remember to configure your database credentials in
tests/Application/.env
andtests/Application/.env.test
. -
Run your local server:
symfony server:ca:install APP_ENV=test symfony server:start --dir=tests/Application/public --daemon
-
Open your browser and navigate to
https://localhost:8000
.
Docker
-
Execute
docker compose up -d
-
Initialize plugin
docker compose exec app make init
-
See your browser
open localhost
Usage
Running plugin tests
-
PHPUnit
vendor/bin/phpunit
-
PHPSpec
vendor/bin/phpspec run
-
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 --dir=tests/Application/public --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
test
environment:(cd tests/Application && APP_ENV=test bin/console sylius:fixtures:load) (cd tests/Application && APP_ENV=test bin/console server:run -d public)
-
Using
dev
environment:(cd tests/Application && APP_ENV=dev bin/console sylius:fixtures:load) (cd tests/Application && APP_ENV=dev bin/console server:run -d public)