wexample-wex-addon-dev-php 12.5.0__tar.gz → 12.6.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/PKG-INFO +4 -4
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/README.md +2 -2
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/pyproject.toml +2 -2
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/deployment/step/symfony_env_local_deployment_step.py +41 -7
- wexample_wex_addon_dev_php-12.6.0/src/wexample_wex_addon_dev_php/services/frankenphp/samples/caddy/Caddyfile +17 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/php/samples/caddy/Caddyfile +4 -0
- wexample_wex_addon_dev_php-12.5.0/src/wexample_wex_addon_dev_php/services/frankenphp/samples/caddy/Caddyfile +0 -13
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/__pycache__/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/config_value/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/config_value/php_package_readme_config_value.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/const/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/const/tags.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/deployment/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/deployment/step/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/file/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/file/php_composer_json_file.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/formatter/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/formatter/php_code_formatter.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/php_addon_manager.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/py.typed +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/resources/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/resources/design_rules/php_code.md +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/resources/docker/Dockerfile.roave +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/resources/writing_rules/php_code.md +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/composer/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/composer/commands/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/composer/commands/service/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/composer/commands/service/install_local.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/composer/commands/service/refresh_lock.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/composer/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/composer/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/composer/service.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/frankenphp/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/frankenphp/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/frankenphp/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/caddy/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/env/dev/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/env/dev/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/env/local/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/env/local/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/env/prod/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/env/prod/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/php/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/php/web.ini +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/frankenphp/service.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/laravel/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/laravel/app_service.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/laravel/commands/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/laravel/commands/db/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/laravel/commands/db/migrate.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/laravel/commands/maintenance/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/laravel/commands/maintenance/disable.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/laravel/commands/maintenance/enable.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/laravel/commands/service/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/laravel/commands/service/install_local.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/laravel/commands/service/refresh_lock.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/laravel/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/laravel/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/laravel/samples/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/laravel/samples/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/laravel/samples/env/dev/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/laravel/samples/env/prod/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/laravel/service.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/php/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/php/ai/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/php/ai/shared/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/php/ai/shared/context.j2 +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/php/ai/shared/php.j2 +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/php/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/php/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/php/samples/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/php/samples/caddy/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/php/samples/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/php/samples/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/php/samples/env/dev/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/php/samples/env/dev/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/php/samples/env/local/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/php/samples/env/local/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/php/samples/env/prod/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/php/samples/env/prod/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/php/samples/php/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/php/samples/php/web.ini +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/php/service.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/phpmyadmin/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/phpmyadmin/commands/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/phpmyadmin/commands/runtime/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/phpmyadmin/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/phpmyadmin/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/phpmyadmin/env/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/phpmyadmin/env/local/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/phpmyadmin/service.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/ai/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/ai/agents/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/ai/agents/editor/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/ai/agents/editor/agent.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/ai/agents/editor/context.j2 +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/ai/shared/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/ai/shared/context.j2 +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/app_service.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/commands/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/commands/service/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/commands/service/deploy.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/commands/service/install_local.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/commands/service/watch.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/commands/translations/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/commands/translations/translate.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/knowledge/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/knowledge/entity.md +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/docker/env.build +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/docker/images/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/docker/images/Dockerfile.dev +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/docker/images/Dockerfile.release +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/env/dev/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/env/dev/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/env/local/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/env/local/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/env/prod/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/env/prod/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/service.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/wordpress/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/wordpress/commands/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/wordpress/commands/service/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/wordpress/commands/url/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/wordpress/commands/url/replace.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/wordpress/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/wordpress/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/wordpress/samples/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/wordpress/samples/docker/docker-compose-cli.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/wordpress/samples/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/wordpress/samples/env/dev/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/wordpress/samples/env/local/wp-cli/.gitkeep +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/wordpress/samples/env/prod/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/wordpress/service.yml +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/workdir/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/workdir/php_package_workdir.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/workdir/php_packages_suite_workdir.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/workdir/php_symfony_workdir.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/workdir/php_workdir.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/tests/.gitkeep +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/tests/workdir/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/tests/workdir/test_php_package_workdir.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: wexample-wex-addon-dev-php
|
|
3
|
-
Version: 12.
|
|
3
|
+
Version: 12.6.0
|
|
4
4
|
Summary: Extends wex with PHP-specific development commands for Composer, Laravel, Symfony, and WordPress services running in Docker containers
|
|
5
5
|
Author-Email: weeger <contact@wexample.com>
|
|
6
6
|
License: MIT
|
|
@@ -14,7 +14,7 @@ Requires-Dist: cattrs>=23.1.0
|
|
|
14
14
|
Requires-Dist: wexample-filestate-php>=6.4.0
|
|
15
15
|
Requires-Dist: wexample-filestate-symfony>=2.0.0
|
|
16
16
|
Requires-Dist: wexample-wex-addon-ai>=17.0.0
|
|
17
|
-
Requires-Dist: wexample-wex-addon-app>=32.
|
|
17
|
+
Requires-Dist: wexample-wex-addon-app>=32.4.0
|
|
18
18
|
Requires-Dist: wexample-wex-addon-dev-javascript>=8.2.0
|
|
19
19
|
Provides-Extra: dev
|
|
20
20
|
Requires-Dist: pytest; extra == "dev"
|
|
@@ -23,7 +23,7 @@ Description-Content-Type: text/markdown
|
|
|
23
23
|
|
|
24
24
|
# wex_addon_dev_php
|
|
25
25
|
|
|
26
|
-
Version: 12.
|
|
26
|
+
Version: 12.6.0
|
|
27
27
|
|
|
28
28
|
`wex_addon_dev_php` extends the wex CLI with PHP-specific development commands for Composer, Laravel, Symfony, and WordPress services running in Docker containers. It is aimed at PHP developers who manage their apps through wex and need framework-aware automation — dependency wiring, migration runs, lock-file refreshes — executed directly inside the running service containers. The addon registers four workdir types (`php`, `php-package`, `php-packages-suite`, `php-symfony`) and contributes its commands through the standard `PhpAddonManager` plugin point.
|
|
29
29
|
|
|
@@ -276,7 +276,7 @@ Visit the [Wexample Suite documentation](https://docs.wexample.com) for the comp
|
|
|
276
276
|
- wexample-filestate-php: >=6.4.0
|
|
277
277
|
- wexample-filestate-symfony: >=2.0.0
|
|
278
278
|
- wexample-wex-addon-ai: >=17.0.0
|
|
279
|
-
- wexample-wex-addon-app: >=32.
|
|
279
|
+
- wexample-wex-addon-app: >=32.4.0
|
|
280
280
|
- wexample-wex-addon-dev-javascript: >=8.2.0
|
|
281
281
|
|
|
282
282
|
## Versioning & Compatibility Policy
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# wex_addon_dev_php
|
|
2
2
|
|
|
3
|
-
Version: 12.
|
|
3
|
+
Version: 12.6.0
|
|
4
4
|
|
|
5
5
|
`wex_addon_dev_php` extends the wex CLI with PHP-specific development commands for Composer, Laravel, Symfony, and WordPress services running in Docker containers. It is aimed at PHP developers who manage their apps through wex and need framework-aware automation — dependency wiring, migration runs, lock-file refreshes — executed directly inside the running service containers. The addon registers four workdir types (`php`, `php-package`, `php-packages-suite`, `php-symfony`) and contributes its commands through the standard `PhpAddonManager` plugin point.
|
|
6
6
|
|
|
@@ -253,7 +253,7 @@ Visit the [Wexample Suite documentation](https://docs.wexample.com) for the comp
|
|
|
253
253
|
- wexample-filestate-php: >=6.4.0
|
|
254
254
|
- wexample-filestate-symfony: >=2.0.0
|
|
255
255
|
- wexample-wex-addon-ai: >=17.0.0
|
|
256
|
-
- wexample-wex-addon-app: >=32.
|
|
256
|
+
- wexample-wex-addon-app: >=32.4.0
|
|
257
257
|
- wexample-wex-addon-dev-javascript: >=8.2.0
|
|
258
258
|
|
|
259
259
|
## Versioning & Compatibility Policy
|
|
@@ -6,7 +6,7 @@ build-backend = "pdm.backend"
|
|
|
6
6
|
|
|
7
7
|
[project]
|
|
8
8
|
name = "wexample-wex-addon-dev-php"
|
|
9
|
-
version = "12.
|
|
9
|
+
version = "12.6.0"
|
|
10
10
|
description = "Extends wex with PHP-specific development commands for Composer, Laravel, Symfony, and WordPress services running in Docker containers"
|
|
11
11
|
authors = [
|
|
12
12
|
{ name = "weeger", email = "contact@wexample.com" },
|
|
@@ -23,7 +23,7 @@ dependencies = [
|
|
|
23
23
|
"wexample-filestate-php>=6.4.0",
|
|
24
24
|
"wexample-filestate-symfony>=2.0.0",
|
|
25
25
|
"wexample-wex-addon-ai>=17.0.0",
|
|
26
|
-
"wexample-wex-addon-app>=32.
|
|
26
|
+
"wexample-wex-addon-app>=32.4.0",
|
|
27
27
|
"wexample-wex-addon-dev-javascript>=8.2.0",
|
|
28
28
|
]
|
|
29
29
|
|
|
@@ -149,9 +149,23 @@ class SymfonyEnvLocalDeploymentStep(AbstractDeploymentStep):
|
|
|
149
149
|
import secrets
|
|
150
150
|
import shlex
|
|
151
151
|
|
|
152
|
-
from wexample_wex_addon_app.helper.deployment import
|
|
152
|
+
from wexample_wex_addon_app.helper.deployment import (
|
|
153
|
+
DEPLOYMENT_HOST_USER,
|
|
154
|
+
host_secret_file_seal,
|
|
155
|
+
)
|
|
153
156
|
from wexample_wex_addon_app.helper.remote import remote_run
|
|
154
157
|
|
|
158
|
+
path = f"{remote['path']}/.env.local"
|
|
159
|
+
if self._exists(remote):
|
|
160
|
+
# An existing file is the host's: only who may read it is put right.
|
|
161
|
+
result = remote_run(remote, host_secret_file_seal(path))
|
|
162
|
+
if result.returncode != 0:
|
|
163
|
+
raise RuntimeError(
|
|
164
|
+
f"Fixing the rights of {path} on {remote['host']} failed: "
|
|
165
|
+
f"{result.stderr.strip()[:300]}"
|
|
166
|
+
)
|
|
167
|
+
return f"Made {path} on {remote['host']} readable by the docker group"
|
|
168
|
+
|
|
155
169
|
defaults = self._host_defaults(workdir, remote)
|
|
156
170
|
values: dict[str, str] = {}
|
|
157
171
|
generated: list[str] = []
|
|
@@ -164,13 +178,13 @@ class SymfonyEnvLocalDeploymentStep(AbstractDeploymentStep):
|
|
|
164
178
|
# an empty one is how an app says « not used here ».
|
|
165
179
|
values[key] = defaults.get(key, "")
|
|
166
180
|
|
|
167
|
-
path = f"{remote['path']}/.env.local"
|
|
168
181
|
# Through stdin, never a command line: a secret must not show in the host's
|
|
169
182
|
# process list nor in a shell history. The `${KEY}` are resolved there.
|
|
170
183
|
result = remote_run(
|
|
171
184
|
remote,
|
|
172
185
|
f"sudo -n -u {DEPLOYMENT_HOST_USER} python3 -c {shlex.quote(_HOST_WRITER)} "
|
|
173
|
-
f"{shlex.quote(remote['path'] + '/.wex/local/env.yml')} {shlex.quote(path)}"
|
|
186
|
+
f"{shlex.quote(remote['path'] + '/.wex/local/env.yml')} {shlex.quote(path)} && "
|
|
187
|
+
+ host_secret_file_seal(path),
|
|
174
188
|
input="".join(f"{key}={_quote(value)}\n" for key, value in values.items()),
|
|
175
189
|
)
|
|
176
190
|
if result.returncode != 0:
|
|
@@ -190,8 +204,13 @@ class SymfonyEnvLocalDeploymentStep(AbstractDeploymentStep):
|
|
|
190
204
|
return f"Wrote {path} on {remote['host']}{made}.{rest}"
|
|
191
205
|
|
|
192
206
|
def can_apply(self, workdir: ManagedWorkdir, remote: ResolvedRemote | None) -> bool:
|
|
193
|
-
|
|
194
|
-
|
|
207
|
+
from wexample_wex_addon_app.helper.deployment import host_secret_file_unsealed
|
|
208
|
+
|
|
209
|
+
# Written when there is none, never over one: an existing file is the host's,
|
|
210
|
+
# only its rights are put right.
|
|
211
|
+
if self._exists(remote):
|
|
212
|
+
return host_secret_file_unsealed(remote, f"{remote['path']}/.env.local") is not None
|
|
213
|
+
return self._host_keys(remote) == set()
|
|
195
214
|
|
|
196
215
|
def check(self, workdir: ManagedWorkdir, remote: ResolvedRemote | None) -> tuple[str, str]:
|
|
197
216
|
present = self._host_keys(remote)
|
|
@@ -199,12 +218,21 @@ class SymfonyEnvLocalDeploymentStep(AbstractDeploymentStep):
|
|
|
199
218
|
return DEPLOYMENT_STATUS_UNKNOWN, "could not read it"
|
|
200
219
|
if not present and not self._exists(remote):
|
|
201
220
|
return DEPLOYMENT_STATUS_KO, f"no {remote['path']}/.env.local"
|
|
221
|
+
from wexample_wex_addon_app.helper.deployment import host_secret_file_unsealed
|
|
222
|
+
|
|
223
|
+
unsealed = host_secret_file_unsealed(remote, f"{remote['path']}/.env.local")
|
|
224
|
+
if unsealed:
|
|
225
|
+
return DEPLOYMENT_STATUS_KO, f"the app's commands cannot read it ({unsealed})"
|
|
202
226
|
missing = [key for key in self._needed(workdir) if key not in present]
|
|
203
227
|
if missing:
|
|
204
228
|
return DEPLOYMENT_STATUS_KO, f"no value for {', '.join(missing)}"
|
|
205
229
|
return DEPLOYMENT_STATUS_OK, f"{remote['path']}/.env.local"
|
|
206
230
|
|
|
207
231
|
def hint(self, workdir: ManagedWorkdir, remote: ResolvedRemote | None) -> str:
|
|
232
|
+
from wexample_wex_addon_app.helper.deployment import host_secret_file_unsealed
|
|
233
|
+
|
|
234
|
+
if host_secret_file_unsealed(remote, f"{remote['path']}/.env.local"):
|
|
235
|
+
return "Run `wex app::release/setup` to make it readable by the docker group."
|
|
208
236
|
present = self._host_keys(remote) or set()
|
|
209
237
|
missing = [key for key in self._needed(workdir) if key not in present]
|
|
210
238
|
return (
|
|
@@ -253,6 +281,7 @@ class SymfonyEnvLocalDeploymentStep(AbstractDeploymentStep):
|
|
|
253
281
|
|
|
254
282
|
config = workdir.get_path() / "config"
|
|
255
283
|
referenced: set[str] = set()
|
|
284
|
+
defaulted: set[str] = set()
|
|
256
285
|
for path in config.rglob("*.yaml"):
|
|
257
286
|
if any(part in NOT_DEPLOYED_ENVS for part in path.relative_to(config).parts):
|
|
258
287
|
continue
|
|
@@ -262,13 +291,18 @@ class SymfonyEnvLocalDeploymentStep(AbstractDeploymentStep):
|
|
|
262
291
|
# `default::KEY` falls back on its own: the app runs without it.
|
|
263
292
|
if "default:" not in f"{processors}:":
|
|
264
293
|
referenced.add(key)
|
|
294
|
+
# A parameter `env(KEY): value` is the value the app falls back on.
|
|
295
|
+
defaulted.update(re.findall(r"^\s+env\(([A-Za-z_][A-Za-z0-9_]*)\)\s*:", content, re.M))
|
|
265
296
|
built = self._build_env_keys(workdir)
|
|
266
|
-
needed = {
|
|
297
|
+
needed = {
|
|
298
|
+
key for key in referenced if key not in built and key not in defaulted
|
|
299
|
+
} | set(ALWAYS_FROM_THE_HOST)
|
|
267
300
|
return sorted(needed)
|
|
268
301
|
|
|
269
302
|
|
|
270
303
|
# Run on the host: fills every `${KEY}` of the content on stdin from the host's env
|
|
271
|
-
# file, then writes it for the owner alone
|
|
304
|
+
# file, then writes it for the owner alone — the caller then opens it to the docker
|
|
305
|
+
# group. A key the env file lacks stays as it is.
|
|
272
306
|
_HOST_WRITER = """
|
|
273
307
|
import os, re, sys
|
|
274
308
|
values = {}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
frankenphp
|
|
3
|
+
auto_https off
|
|
4
|
+
admin off
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
:80 {
|
|
8
|
+
root * /var/www/html/public
|
|
9
|
+
|
|
10
|
+
encode zstd br gzip
|
|
11
|
+
|
|
12
|
+
# Where installed packages add their directives (the Mercure hub of
|
|
13
|
+
# wexample/symfony-live): inside the site, the only place Caddy reads them.
|
|
14
|
+
# wex:install
|
|
15
|
+
|
|
16
|
+
php_server
|
|
17
|
+
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{wexample_wex_addon_dev_php-12.5.0 → wexample_wex_addon_dev_php-12.6.0}/tests/workdir/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|