wexample-wex-addon-dev-php 12.9.0__tar.gz → 12.11.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.
Files changed (154) hide show
  1. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/PKG-INFO +6 -6
  2. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/README.md +3 -3
  3. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/pyproject.toml +3 -3
  4. {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/config_value → wexample_wex_addon_dev_php-12.11.0/src/wexample_wex_addon_dev_php/common}/__init__.py +0 -0
  5. wexample_wex_addon_dev_php-12.11.0/src/wexample_wex_addon_dev_php/common/packagist_registry_gateway.py +42 -0
  6. {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/const → wexample_wex_addon_dev_php-12.11.0/src/wexample_wex_addon_dev_php/config_value}/__init__.py +0 -0
  7. {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/file → wexample_wex_addon_dev_php-12.11.0/src/wexample_wex_addon_dev_php/deployment/step}/__init__.py +0 -0
  8. {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/formatter → wexample_wex_addon_dev_php-12.11.0/src/wexample_wex_addon_dev_php/file}/__init__.py +0 -0
  9. {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/services → wexample_wex_addon_dev_php-12.11.0/src/wexample_wex_addon_dev_php/formatter}/__init__.py +0 -0
  10. wexample_wex_addon_dev_php-12.11.0/src/wexample_wex_addon_dev_php/resources/package_gitlab_ci.yml +4 -0
  11. {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/services/composer/commands → wexample_wex_addon_dev_php-12.11.0/src/wexample_wex_addon_dev_php/services/composer}/__init__.py +0 -0
  12. {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/services/laravel → wexample_wex_addon_dev_php-12.11.0/src/wexample_wex_addon_dev_php/services/frankenphp}/__init__.py +0 -0
  13. {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/services/laravel/commands → wexample_wex_addon_dev_php-12.11.0/src/wexample_wex_addon_dev_php/services/laravel}/__init__.py +0 -0
  14. {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/services/phpmyadmin → wexample_wex_addon_dev_php-12.11.0/src/wexample_wex_addon_dev_php/services/php/ai/shared}/__init__.py +0 -0
  15. {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/services/symfony → wexample_wex_addon_dev_php-12.11.0/src/wexample_wex_addon_dev_php/services/phpmyadmin/commands/runtime}/__init__.py +0 -0
  16. {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/services/wordpress → wexample_wex_addon_dev_php-12.11.0/src/wexample_wex_addon_dev_php/services/symfony/knowledge}/__init__.py +0 -0
  17. {wexample_wex_addon_dev_php-12.9.0/tests → wexample_wex_addon_dev_php-12.11.0/src/wexample_wex_addon_dev_php}/workdir/__init__.py +0 -0
  18. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/workdir/php_package_workdir.py +81 -0
  19. wexample_wex_addon_dev_php-12.11.0/tests/workdir/__init__.py +0 -0
  20. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/__init__.py +0 -0
  21. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/__pycache__/__init__.py +0 -0
  22. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/config_value/php_package_readme_config_value.py +0 -0
  23. {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/deployment → wexample_wex_addon_dev_php-12.11.0/src/wexample_wex_addon_dev_php/const}/__init__.py +0 -0
  24. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/const/tags.py +0 -0
  25. {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/deployment/step → wexample_wex_addon_dev_php-12.11.0/src/wexample_wex_addon_dev_php/deployment}/__init__.py +0 -0
  26. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/deployment/step/symfony_env_local_deployment_step.py +0 -0
  27. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/file/php_composer_json_file.py +0 -0
  28. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/formatter/php_code_formatter.py +0 -0
  29. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/php_addon_manager.py +0 -0
  30. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/py.typed +0 -0
  31. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/resources/.wex.yml +0 -0
  32. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/resources/design_rules/php_code.md +0 -0
  33. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/resources/docker/Dockerfile.roave +0 -0
  34. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/resources/writing_rules/php_code.md +0 -0
  35. {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/services/composer → wexample_wex_addon_dev_php-12.11.0/src/wexample_wex_addon_dev_php/services}/__init__.py +0 -0
  36. {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/services/composer/commands/service → wexample_wex_addon_dev_php-12.11.0/src/wexample_wex_addon_dev_php/services/composer/commands}/__init__.py +0 -0
  37. {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/services/frankenphp → wexample_wex_addon_dev_php-12.11.0/src/wexample_wex_addon_dev_php/services/composer/commands/service}/__init__.py +0 -0
  38. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/composer/commands/service/install_local.py +0 -0
  39. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/composer/commands/service/refresh_lock.py +0 -0
  40. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/composer/docker/.wex.yml +0 -0
  41. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/composer/docker/docker-compose.yml +0 -0
  42. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/composer/service.yml +0 -0
  43. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/frankenphp/docker/.wex.yml +0 -0
  44. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/frankenphp/docker/docker-compose.yml +0 -0
  45. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/.wex.yml +0 -0
  46. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/caddy/.wex.yml +0 -0
  47. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/caddy/Caddyfile +0 -0
  48. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/docker/.wex.yml +0 -0
  49. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/docker/docker-compose.yml +0 -0
  50. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/env/dev/docker/.wex.yml +0 -0
  51. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/env/dev/docker/docker-compose.yml +0 -0
  52. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/env/local/docker/.wex.yml +0 -0
  53. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/env/local/docker/docker-compose.yml +0 -0
  54. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/env/prod/docker/.wex.yml +0 -0
  55. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/env/prod/docker/docker-compose.yml +0 -0
  56. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/php/.wex.yml +0 -0
  57. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/php/web.ini +0 -0
  58. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/frankenphp/service.yml +0 -0
  59. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/laravel/app_service.py +0 -0
  60. {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/services/laravel/commands/db → wexample_wex_addon_dev_php-12.11.0/src/wexample_wex_addon_dev_php/services/laravel/commands}/__init__.py +0 -0
  61. {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/services/laravel/commands/maintenance → wexample_wex_addon_dev_php-12.11.0/src/wexample_wex_addon_dev_php/services/laravel/commands/db}/__init__.py +0 -0
  62. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/laravel/commands/db/migrate.yml +0 -0
  63. {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/services/laravel/commands/service → wexample_wex_addon_dev_php-12.11.0/src/wexample_wex_addon_dev_php/services/laravel/commands/maintenance}/__init__.py +0 -0
  64. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/laravel/commands/maintenance/disable.yml +0 -0
  65. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/laravel/commands/maintenance/enable.yml +0 -0
  66. {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/services/php → wexample_wex_addon_dev_php-12.11.0/src/wexample_wex_addon_dev_php/services/laravel/commands/service}/__init__.py +0 -0
  67. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/laravel/commands/service/install_local.py +0 -0
  68. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/laravel/commands/service/refresh_lock.py +0 -0
  69. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/laravel/docker/.wex.yml +0 -0
  70. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/laravel/docker/docker-compose.yml +0 -0
  71. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/laravel/samples/.wex.yml +0 -0
  72. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/laravel/samples/docker/docker-compose.yml +0 -0
  73. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/laravel/samples/env/dev/docker/docker-compose.yml +0 -0
  74. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/laravel/samples/env/prod/docker/docker-compose.yml +0 -0
  75. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/laravel/service.yml +0 -0
  76. {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/services/php/ai → wexample_wex_addon_dev_php-12.11.0/src/wexample_wex_addon_dev_php/services/php}/__init__.py +0 -0
  77. {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/services/php/ai/shared → wexample_wex_addon_dev_php-12.11.0/src/wexample_wex_addon_dev_php/services/php/ai}/__init__.py +0 -0
  78. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/php/ai/shared/context.j2 +0 -0
  79. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/php/ai/shared/php.j2 +0 -0
  80. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/php/docker/.wex.yml +0 -0
  81. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/php/docker/docker-compose.yml +0 -0
  82. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/php/samples/.wex.yml +0 -0
  83. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/php/samples/caddy/.wex.yml +0 -0
  84. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/php/samples/caddy/Caddyfile +0 -0
  85. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/php/samples/docker/.wex.yml +0 -0
  86. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/php/samples/docker/docker-compose.yml +0 -0
  87. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/php/samples/env/dev/docker/.wex.yml +0 -0
  88. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/php/samples/env/dev/docker/docker-compose.yml +0 -0
  89. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/php/samples/env/local/docker/.wex.yml +0 -0
  90. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/php/samples/env/local/docker/docker-compose.yml +0 -0
  91. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/php/samples/env/prod/docker/.wex.yml +0 -0
  92. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/php/samples/env/prod/docker/docker-compose.yml +0 -0
  93. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/php/samples/php/.wex.yml +0 -0
  94. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/php/samples/php/web.ini +0 -0
  95. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/php/service.yml +0 -0
  96. {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/services/phpmyadmin/commands → wexample_wex_addon_dev_php-12.11.0/src/wexample_wex_addon_dev_php/services/phpmyadmin}/__init__.py +0 -0
  97. {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/services/phpmyadmin/commands/runtime → wexample_wex_addon_dev_php-12.11.0/src/wexample_wex_addon_dev_php/services/phpmyadmin/commands}/__init__.py +0 -0
  98. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/phpmyadmin/docker/.wex.yml +0 -0
  99. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/phpmyadmin/docker/docker-compose.yml +0 -0
  100. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/phpmyadmin/env/.wex.yml +0 -0
  101. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/phpmyadmin/env/local/docker/docker-compose.yml +0 -0
  102. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/phpmyadmin/service.yml +0 -0
  103. {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/services/symfony/ai → wexample_wex_addon_dev_php-12.11.0/src/wexample_wex_addon_dev_php/services/symfony}/__init__.py +0 -0
  104. {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/services/symfony/ai/agents → wexample_wex_addon_dev_php-12.11.0/src/wexample_wex_addon_dev_php/services/symfony/ai}/__init__.py +0 -0
  105. {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.11.0/src/wexample_wex_addon_dev_php/services/symfony/ai/agents}/__init__.py +0 -0
  106. {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/services/symfony/ai/shared → wexample_wex_addon_dev_php-12.11.0/src/wexample_wex_addon_dev_php/services/symfony/ai/agents/editor}/__init__.py +0 -0
  107. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/symfony/ai/agents/editor/agent.yml +0 -0
  108. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/symfony/ai/agents/editor/context.j2 +0 -0
  109. {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/services/symfony/commands → wexample_wex_addon_dev_php-12.11.0/src/wexample_wex_addon_dev_php/services/symfony/ai/shared}/__init__.py +0 -0
  110. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/symfony/ai/shared/context.j2 +0 -0
  111. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/symfony/app_service.py +0 -0
  112. {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/services/symfony/commands/service → wexample_wex_addon_dev_php-12.11.0/src/wexample_wex_addon_dev_php/services/symfony/commands}/__init__.py +0 -0
  113. {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/services/symfony/commands/translations → wexample_wex_addon_dev_php-12.11.0/src/wexample_wex_addon_dev_php/services/symfony/commands/service}/__init__.py +0 -0
  114. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/symfony/commands/service/deploy.py +0 -0
  115. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/symfony/commands/service/install_local.py +0 -0
  116. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/symfony/commands/service/watch.py +0 -0
  117. {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/services/symfony/knowledge → wexample_wex_addon_dev_php-12.11.0/src/wexample_wex_addon_dev_php/services/symfony/commands/translations}/__init__.py +0 -0
  118. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/symfony/commands/translations/translate.py +0 -0
  119. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/symfony/docker/.wex.yml +0 -0
  120. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/symfony/docker/docker-compose.yml +0 -0
  121. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/symfony/knowledge/entity.md +0 -0
  122. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/.wex.yml +0 -0
  123. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/docker/.wex.yml +0 -0
  124. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/docker/docker-compose.yml +0 -0
  125. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/docker/env.build +0 -0
  126. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/docker/images/.wex.yml +0 -0
  127. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/docker/images/Dockerfile.dev +0 -0
  128. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/docker/images/Dockerfile.release +0 -0
  129. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/env/dev/docker/.wex.yml +0 -0
  130. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/env/dev/docker/docker-compose.yml +0 -0
  131. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/env/local/docker/.wex.yml +0 -0
  132. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/env/local/docker/docker-compose.yml +0 -0
  133. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/env/prod/docker/.wex.yml +0 -0
  134. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/env/prod/docker/docker-compose.yml +0 -0
  135. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/symfony/service.yml +0 -0
  136. {wexample_wex_addon_dev_php-12.9.0/src/wexample_wex_addon_dev_php/workdir → wexample_wex_addon_dev_php-12.11.0/src/wexample_wex_addon_dev_php/services/wordpress}/__init__.py +0 -0
  137. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/wordpress/commands/__init__.py +0 -0
  138. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/wordpress/commands/service/__init__.py +0 -0
  139. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/wordpress/commands/url/__init__.py +0 -0
  140. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/wordpress/commands/url/replace.py +0 -0
  141. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/wordpress/docker/.wex.yml +0 -0
  142. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/wordpress/docker/docker-compose.yml +0 -0
  143. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/wordpress/samples/.wex.yml +0 -0
  144. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/wordpress/samples/docker/docker-compose-cli.yml +0 -0
  145. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/wordpress/samples/docker/docker-compose.yml +0 -0
  146. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/wordpress/samples/env/dev/docker/docker-compose.yml +0 -0
  147. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/wordpress/samples/env/local/wp-cli/.gitkeep +0 -0
  148. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/wordpress/samples/env/prod/docker/docker-compose.yml +0 -0
  149. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/services/wordpress/service.yml +0 -0
  150. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/workdir/php_packages_suite_workdir.py +0 -0
  151. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/workdir/php_symfony_workdir.py +0 -0
  152. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/src/wexample_wex_addon_dev_php/workdir/php_workdir.py +0 -0
  153. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.0}/tests/.gitkeep +0 -0
  154. {wexample_wex_addon_dev_php-12.9.0 → wexample_wex_addon_dev_php-12.11.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.9.0
3
+ Version: 12.11.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,8 +14,8 @@ Requires-Dist: cattrs>=23.1.0
14
14
  Requires-Dist: wexample-filestate-php>=6.5.0
15
15
  Requires-Dist: wexample-filestate-symfony>=2.1.0
16
16
  Requires-Dist: wexample-wex-addon-ai>=19.0.0
17
- Requires-Dist: wexample-wex-addon-app>=34.0.0
18
- Requires-Dist: wexample-wex-addon-dev-javascript>=8.5.0
17
+ Requires-Dist: wexample-wex-addon-app>=34.1.0
18
+ Requires-Dist: wexample-wex-addon-dev-javascript>=8.6.0
19
19
  Provides-Extra: dev
20
20
  Requires-Dist: pytest; extra == "dev"
21
21
  Requires-Dist: pytest-cov; extra == "dev"
@@ -23,7 +23,7 @@ Description-Content-Type: text/markdown
23
23
 
24
24
  # wex_addon_dev_php
25
25
 
26
- Version: 12.9.0
26
+ Version: 12.11.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
 
@@ -274,8 +274,8 @@ The suite includes packages for configuration management, file handling, prompts
274
274
  - wexample-filestate-php: >=6.5.0
275
275
  - wexample-filestate-symfony: >=2.1.0
276
276
  - wexample-wex-addon-ai: >=19.0.0
277
- - wexample-wex-addon-app: >=34.0.0
278
- - wexample-wex-addon-dev-javascript: >=8.5.0
277
+ - wexample-wex-addon-app: >=34.1.0
278
+ - wexample-wex-addon-dev-javascript: >=8.6.0
279
279
 
280
280
  ## Versioning & Compatibility Policy
281
281
 
@@ -1,6 +1,6 @@
1
1
  # wex_addon_dev_php
2
2
 
3
- Version: 12.9.0
3
+ Version: 12.11.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
 
@@ -251,8 +251,8 @@ The suite includes packages for configuration management, file handling, prompts
251
251
  - wexample-filestate-php: >=6.5.0
252
252
  - wexample-filestate-symfony: >=2.1.0
253
253
  - wexample-wex-addon-ai: >=19.0.0
254
- - wexample-wex-addon-app: >=34.0.0
255
- - wexample-wex-addon-dev-javascript: >=8.5.0
254
+ - wexample-wex-addon-app: >=34.1.0
255
+ - wexample-wex-addon-dev-javascript: >=8.6.0
256
256
 
257
257
  ## Versioning & Compatibility Policy
258
258
 
@@ -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.0"
9
+ version = "12.11.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,8 +23,8 @@ dependencies = [
23
23
  "wexample-filestate-php>=6.5.0",
24
24
  "wexample-filestate-symfony>=2.1.0",
25
25
  "wexample-wex-addon-ai>=19.0.0",
26
- "wexample-wex-addon-app>=34.0.0",
27
- "wexample-wex-addon-dev-javascript>=8.5.0",
26
+ "wexample-wex-addon-app>=34.1.0",
27
+ "wexample-wex-addon-dev-javascript>=8.6.0",
28
28
  ]
29
29
 
30
30
  [project.readme]
@@ -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
+ )
@@ -0,0 +1,4 @@
1
+ include:
2
+ - remote: 'https://gitlab.wexample.com/wexample-public/ci-cd/-/raw/main/.gitlab-ci.type.composer.package.yml'
3
+ variables:
4
+ MAIN_BRANCH_NAME: main
@@ -18,6 +18,7 @@ from wexample_wex_addon_app.workdir.mixin.with_runner_workdir_mixin import (
18
18
  from wexample_wex_addon_dev_php.workdir.php_workdir import PhpWorkdir
19
19
 
20
20
  if TYPE_CHECKING:
21
+ from wexample_config.const.types import DictConfig
21
22
  from wexample_filestate.config_value.readme_content_config_value import (
22
23
  ReadmeContentConfigValue,
23
24
  )
@@ -67,6 +68,34 @@ class PhpPackageWorkdir(WithRunnerWorkdirMixin, PhpWorkdir):
67
68
  )
68
69
  }
69
70
 
71
+ def prepare_value(self, raw_value: DictConfig | None = None) -> DictConfig:
72
+ from wexample_filestate.const.disk import DiskItemType
73
+ from wexample_helpers.helper.file import file_read
74
+ from wexample_helpers.helper.module import module_get_path
75
+
76
+ import wexample_wex_addon_dev_php
77
+
78
+ raw_value = super().prepare_value(raw_value=raw_value)
79
+
80
+ # Every package is tested by GitLab at each push, the way a consumer
81
+ # installs it. The file is only an include: the job itself lives in
82
+ # the ci-cd repository, one place to change for every package. Created
83
+ # when absent, never rewritten: a package may add to it.
84
+ raw_value["children"].append(
85
+ {
86
+ "name": ".gitlab-ci.yml",
87
+ "type": DiskItemType.FILE,
88
+ "should_exist": True,
89
+ "default_content": lambda _: file_read(
90
+ module_get_path(wexample_wex_addon_dev_php)
91
+ / "resources"
92
+ / "package_gitlab_ci.yml"
93
+ ),
94
+ }
95
+ )
96
+
97
+ return raw_value
98
+
70
99
  def search_imports_in_codebase(
71
100
  self, searched_package: PhpPackageWorkdir
72
101
  ) -> list[SearchResult]:
@@ -273,3 +302,55 @@ class PhpPackageWorkdir(WithRunnerWorkdirMixin, PhpWorkdir):
273
302
  "sh", "-c", script,
274
303
  ]
275
304
  )
305
+
306
+ def _wait_for_registry(self) -> None:
307
+ """Poll Packagist until the version just tagged is listed (max 20 min).
308
+
309
+ The apps update their lock right after a suite publishes, and composer
310
+ reads Packagist, not GitHub: without the wait, the version pushed a few
311
+ seconds earlier is not found yet ("found [dev-main] but it does not
312
+ match your minimum-stability"). A package published to the private
313
+ remote only never reaches Packagist, so nothing is waited for.
314
+ """
315
+ from wexample_helpers.helper.polling_callback_manager import (
316
+ PollingCallbackManager,
317
+ )
318
+
319
+ from wexample_wex_addon_dev_php.common.packagist_registry_gateway import (
320
+ PackagistRegistryGateway,
321
+ )
322
+
323
+ if not self.is_published_publicly():
324
+ return
325
+
326
+ package = self.get_package_name()
327
+ version = self.get_setup_version()
328
+ gateway = PackagistRegistryGateway(
329
+ base_url="https://repo.packagist.org",
330
+ io=self.io,
331
+ timeout=10,
332
+ )
333
+
334
+ max_attempts = 40
335
+ delay_seconds = 30
336
+
337
+ self.log(f"Waiting for {package} {version} to appear on Packagist…")
338
+
339
+ def on_retry(attempt, max_a, delay, _exc, _msg) -> None:
340
+ self.log(
341
+ f"Not yet available (attempt {attempt}/{max_a}), retrying in {delay}s…"
342
+ )
343
+
344
+ PollingCallbackManager(
345
+ callback=lambda: gateway.has_version(package, version) or None,
346
+ max_attempts=max_attempts,
347
+ delay_seconds_callback=lambda _attempt: delay_seconds,
348
+ on_retry_callback=on_retry,
349
+ timeout_message=(
350
+ f"Timed out waiting for {package} {version} on Packagist after "
351
+ f"{max_attempts * delay_seconds // 60} minutes."
352
+ ),
353
+ ).run()
354
+
355
+ self.success(f"{package} {version} is available.")
356
+