wexample-wex-addon-dev-php 12.9.0__tar.gz → 12.10.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.9.0 → wexample_wex_addon_dev_php-12.10.0}/PKG-INFO +2 -2
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/README.md +1 -1
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/pyproject.toml +1 -1
- {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/config_value → wexample_wex_addon_dev_php-12.10.0/src/wexample_wex_addon_dev_php/common}/__init__.py +0 -0
- wexample_wex_addon_dev_php-12.10.0/src/wexample_wex_addon_dev_php/common/packagist_registry_gateway.py +42 -0
- {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/const → wexample_wex_addon_dev_php-12.10.0/src/wexample_wex_addon_dev_php/config_value}/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/file → wexample_wex_addon_dev_php-12.10.0/src/wexample_wex_addon_dev_php/deployment/step}/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/formatter → wexample_wex_addon_dev_php-12.10.0/src/wexample_wex_addon_dev_php/file}/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/services → wexample_wex_addon_dev_php-12.10.0/src/wexample_wex_addon_dev_php/formatter}/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/services/composer/commands → wexample_wex_addon_dev_php-12.10.0/src/wexample_wex_addon_dev_php/services/composer}/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/services/laravel → wexample_wex_addon_dev_php-12.10.0/src/wexample_wex_addon_dev_php/services/frankenphp}/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/services/laravel/commands → wexample_wex_addon_dev_php-12.10.0/src/wexample_wex_addon_dev_php/services/laravel}/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/services/phpmyadmin → wexample_wex_addon_dev_php-12.10.0/src/wexample_wex_addon_dev_php/services/php/ai/shared}/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/services/symfony → wexample_wex_addon_dev_php-12.10.0/src/wexample_wex_addon_dev_php/services/phpmyadmin/commands/runtime}/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/services/wordpress → wexample_wex_addon_dev_php-12.10.0/src/wexample_wex_addon_dev_php/services/symfony/knowledge}/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0/tests → wexample_wex_addon_dev_php-12.10.0/src/wexample_wex_addon_dev_php}/workdir/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/workdir/php_package_workdir.py +52 -0
- wexample_wex_addon_dev_php-12.10.0/tests/workdir/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/__pycache__/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/config_value/php_package_readme_config_value.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/deployment → wexample_wex_addon_dev_php-12.10.0/src/wexample_wex_addon_dev_php/const}/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/const/tags.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/deployment/step → wexample_wex_addon_dev_php-12.10.0/src/wexample_wex_addon_dev_php/deployment}/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/deployment/step/symfony_env_local_deployment_step.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/file/php_composer_json_file.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/formatter/php_code_formatter.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/php_addon_manager.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/py.typed +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/resources/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/resources/design_rules/php_code.md +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/resources/docker/Dockerfile.roave +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/resources/writing_rules/php_code.md +0 -0
- {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/services/composer → wexample_wex_addon_dev_php-12.10.0/src/wexample_wex_addon_dev_php/services}/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/services/composer/commands/service → wexample_wex_addon_dev_php-12.10.0/src/wexample_wex_addon_dev_php/services/composer/commands}/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/services/frankenphp → wexample_wex_addon_dev_php-12.10.0/src/wexample_wex_addon_dev_php/services/composer/commands/service}/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/composer/commands/service/install_local.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/composer/commands/service/refresh_lock.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/composer/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/composer/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/composer/service.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/frankenphp/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/frankenphp/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/caddy/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/caddy/Caddyfile +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/env/dev/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/env/dev/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/env/local/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/env/local/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/env/prod/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/env/prod/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/php/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/php/web.ini +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/frankenphp/service.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/laravel/app_service.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/services/laravel/commands/db → wexample_wex_addon_dev_php-12.10.0/src/wexample_wex_addon_dev_php/services/laravel/commands}/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/services/laravel/commands/maintenance → wexample_wex_addon_dev_php-12.10.0/src/wexample_wex_addon_dev_php/services/laravel/commands/db}/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/laravel/commands/db/migrate.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/services/laravel/commands/service → wexample_wex_addon_dev_php-12.10.0/src/wexample_wex_addon_dev_php/services/laravel/commands/maintenance}/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/laravel/commands/maintenance/disable.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/laravel/commands/maintenance/enable.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/services/php → wexample_wex_addon_dev_php-12.10.0/src/wexample_wex_addon_dev_php/services/laravel/commands/service}/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/laravel/commands/service/install_local.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/laravel/commands/service/refresh_lock.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/laravel/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/laravel/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/laravel/samples/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/laravel/samples/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/laravel/samples/env/dev/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/laravel/samples/env/prod/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/laravel/service.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/services/php/ai → wexample_wex_addon_dev_php-12.10.0/src/wexample_wex_addon_dev_php/services/php}/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/services/php/ai/shared → wexample_wex_addon_dev_php-12.10.0/src/wexample_wex_addon_dev_php/services/php/ai}/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/php/ai/shared/context.j2 +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/php/ai/shared/php.j2 +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/php/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/php/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/php/samples/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/php/samples/caddy/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/php/samples/caddy/Caddyfile +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/php/samples/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/php/samples/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/php/samples/env/dev/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/php/samples/env/dev/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/php/samples/env/local/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/php/samples/env/local/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/php/samples/env/prod/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/php/samples/env/prod/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/php/samples/php/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/php/samples/php/web.ini +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/php/service.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/services/phpmyadmin/commands → wexample_wex_addon_dev_php-12.10.0/src/wexample_wex_addon_dev_php/services/phpmyadmin}/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/services/phpmyadmin/commands/runtime → wexample_wex_addon_dev_php-12.10.0/src/wexample_wex_addon_dev_php/services/phpmyadmin/commands}/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/phpmyadmin/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/phpmyadmin/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/phpmyadmin/env/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/phpmyadmin/env/local/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/phpmyadmin/service.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/services/symfony/ai → wexample_wex_addon_dev_php-12.10.0/src/wexample_wex_addon_dev_php/services/symfony}/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/services/symfony/ai/agents → wexample_wex_addon_dev_php-12.10.0/src/wexample_wex_addon_dev_php/services/symfony/ai}/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/services/symfony/ai/agents/editor → wexample_wex_addon_dev_php-12.10.0/src/wexample_wex_addon_dev_php/services/symfony/ai/agents}/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/services/symfony/ai/shared → wexample_wex_addon_dev_php-12.10.0/src/wexample_wex_addon_dev_php/services/symfony/ai/agents/editor}/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/symfony/ai/agents/editor/agent.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/symfony/ai/agents/editor/context.j2 +0 -0
- {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/services/symfony/commands → wexample_wex_addon_dev_php-12.10.0/src/wexample_wex_addon_dev_php/services/symfony/ai/shared}/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/symfony/ai/shared/context.j2 +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/symfony/app_service.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/services/symfony/commands/service → wexample_wex_addon_dev_php-12.10.0/src/wexample_wex_addon_dev_php/services/symfony/commands}/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/services/symfony/commands/translations → wexample_wex_addon_dev_php-12.10.0/src/wexample_wex_addon_dev_php/services/symfony/commands/service}/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/symfony/commands/service/deploy.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/symfony/commands/service/install_local.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/symfony/commands/service/watch.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/services/symfony/knowledge → wexample_wex_addon_dev_php-12.10.0/src/wexample_wex_addon_dev_php/services/symfony/commands/translations}/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/symfony/commands/translations/translate.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/symfony/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/symfony/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/symfony/knowledge/entity.md +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/docker/env.build +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/docker/images/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/docker/images/Dockerfile.dev +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/docker/images/Dockerfile.release +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/env/dev/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/env/dev/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/env/local/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/env/local/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/env/prod/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/env/prod/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/symfony/service.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/workdir → wexample_wex_addon_dev_php-12.10.0/src/wexample_wex_addon_dev_php/services/wordpress}/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/wordpress/commands/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/wordpress/commands/service/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/wordpress/commands/url/__init__.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/wordpress/commands/url/replace.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/wordpress/docker/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/wordpress/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/wordpress/samples/.wex.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/wordpress/samples/docker/docker-compose-cli.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/wordpress/samples/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/wordpress/samples/env/dev/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/wordpress/samples/env/local/wp-cli/.gitkeep +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/wordpress/samples/env/prod/docker/docker-compose.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/wordpress/service.yml +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/workdir/php_packages_suite_workdir.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/workdir/php_symfony_workdir.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/workdir/php_workdir.py +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.0}/tests/.gitkeep +0 -0
- {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.10.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.10.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
|
|
@@ -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.10.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
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# wex_addon_dev_php
|
|
2
2
|
|
|
3
|
-
Version: 12.
|
|
3
|
+
Version: 12.10.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
|
|
|
@@ -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.10.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" },
|
|
File without changes
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from wexample_api.common.abstract_gateway import AbstractGateway
|
|
4
|
+
from wexample_helpers.decorator.base_class import base_class
|
|
5
|
+
|
|
6
|
+
_HAS_VERSION_STATUS_CODES: tuple[int, ...] = (200, 404)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
@base_class
|
|
10
|
+
class PackagistRegistryGateway(AbstractGateway):
|
|
11
|
+
"""Thin HTTP gateway over Packagist's Composer v2 metadata.
|
|
12
|
+
|
|
13
|
+
Reads `p2/<vendor>/<package>.json`, the file composer itself downloads:
|
|
14
|
+
a version listed there is one a `composer update` run right after will
|
|
15
|
+
find, which the tag pushed to GitHub is not until Packagist has read it.
|
|
16
|
+
"""
|
|
17
|
+
|
|
18
|
+
def has_version(self, package: str, version: str) -> bool:
|
|
19
|
+
"""Return True iff `package` lists `version` (with or without its `v`).
|
|
20
|
+
|
|
21
|
+
False on 404: a package Packagist does not know yet, or a version not
|
|
22
|
+
yet through its CDN.
|
|
23
|
+
"""
|
|
24
|
+
response = self.make_request(
|
|
25
|
+
endpoint=f"p2/{package}.json",
|
|
26
|
+
expected_status_codes=_HAS_VERSION_STATUS_CODES,
|
|
27
|
+
fatal_if_unexpected=False,
|
|
28
|
+
quiet=True,
|
|
29
|
+
)
|
|
30
|
+
if response is None or response.status_code != 200:
|
|
31
|
+
return False
|
|
32
|
+
|
|
33
|
+
try:
|
|
34
|
+
releases = response.json().get("packages", {}).get(package, [])
|
|
35
|
+
except ValueError:
|
|
36
|
+
return False
|
|
37
|
+
|
|
38
|
+
wanted = version.removeprefix("v")
|
|
39
|
+
return any(
|
|
40
|
+
str(release.get("version", "")).removeprefix("v") == wanted
|
|
41
|
+
for release in releases
|
|
42
|
+
)
|
|
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
|
|
@@ -273,3 +273,55 @@ class PhpPackageWorkdir(WithRunnerWorkdirMixin, PhpWorkdir):
|
|
|
273
273
|
"sh", "-c", script,
|
|
274
274
|
]
|
|
275
275
|
)
|
|
276
|
+
|
|
277
|
+
def _wait_for_registry(self) -> None:
|
|
278
|
+
"""Poll Packagist until the version just tagged is listed (max 20 min).
|
|
279
|
+
|
|
280
|
+
The apps update their lock right after a suite publishes, and composer
|
|
281
|
+
reads Packagist, not GitHub: without the wait, the version pushed a few
|
|
282
|
+
seconds earlier is not found yet ("found [dev-main] but it does not
|
|
283
|
+
match your minimum-stability"). A package published to the private
|
|
284
|
+
remote only never reaches Packagist, so nothing is waited for.
|
|
285
|
+
"""
|
|
286
|
+
from wexample_helpers.helper.polling_callback_manager import (
|
|
287
|
+
PollingCallbackManager,
|
|
288
|
+
)
|
|
289
|
+
|
|
290
|
+
from wexample_wex_addon_dev_php.common.packagist_registry_gateway import (
|
|
291
|
+
PackagistRegistryGateway,
|
|
292
|
+
)
|
|
293
|
+
|
|
294
|
+
if not self.is_published_publicly():
|
|
295
|
+
return
|
|
296
|
+
|
|
297
|
+
package = self.get_package_name()
|
|
298
|
+
version = self.get_setup_version()
|
|
299
|
+
gateway = PackagistRegistryGateway(
|
|
300
|
+
base_url="https://repo.packagist.org",
|
|
301
|
+
io=self.io,
|
|
302
|
+
timeout=10,
|
|
303
|
+
)
|
|
304
|
+
|
|
305
|
+
max_attempts = 40
|
|
306
|
+
delay_seconds = 30
|
|
307
|
+
|
|
308
|
+
self.log(f"Waiting for {package} {version} to appear on Packagist…")
|
|
309
|
+
|
|
310
|
+
def on_retry(attempt, max_a, delay, _exc, _msg) -> None:
|
|
311
|
+
self.log(
|
|
312
|
+
f"Not yet available (attempt {attempt}/{max_a}), retrying in {delay}s…"
|
|
313
|
+
)
|
|
314
|
+
|
|
315
|
+
PollingCallbackManager(
|
|
316
|
+
callback=lambda: gateway.has_version(package, version) or None,
|
|
317
|
+
max_attempts=max_attempts,
|
|
318
|
+
delay_seconds_callback=lambda _attempt: delay_seconds,
|
|
319
|
+
on_retry_callback=on_retry,
|
|
320
|
+
timeout_message=(
|
|
321
|
+
f"Timed out waiting for {package} {version} on Packagist after "
|
|
322
|
+
f"{max_attempts * delay_seconds // 60} minutes."
|
|
323
|
+
),
|
|
324
|
+
).run()
|
|
325
|
+
|
|
326
|
+
self.success(f"{package} {version} is available.")
|
|
327
|
+
|
|
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
|