wexample-wex-addon-dev-php 12.8.1__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.
Files changed (153) hide show
  1. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/PKG-INFO +10 -11
  2. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/README.md +6 -7
  3. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/pyproject.toml +4 -4
  4. {wexample_wex_addon_dev_php-12.8.1/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
  5. wexample_wex_addon_dev_php-12.10.0/src/wexample_wex_addon_dev_php/common/packagist_registry_gateway.py +42 -0
  6. {wexample_wex_addon_dev_php-12.8.1/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
  7. {wexample_wex_addon_dev_php-12.8.1/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
  8. {wexample_wex_addon_dev_php-12.8.1/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
  9. {wexample_wex_addon_dev_php-12.8.1/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
  10. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/resources/design_rules/php_code.md +11 -0
  11. {wexample_wex_addon_dev_php-12.8.1/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
  12. {wexample_wex_addon_dev_php-12.8.1/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
  13. {wexample_wex_addon_dev_php-12.8.1/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
  14. {wexample_wex_addon_dev_php-12.8.1/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
  15. {wexample_wex_addon_dev_php-12.8.1/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
  16. {wexample_wex_addon_dev_php-12.8.1/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
  17. {wexample_wex_addon_dev_php-12.8.1/tests → wexample_wex_addon_dev_php-12.10.0/src/wexample_wex_addon_dev_php}/workdir/__init__.py +0 -0
  18. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/workdir/php_package_workdir.py +52 -0
  19. wexample_wex_addon_dev_php-12.10.0/tests/workdir/__init__.py +0 -0
  20. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/__init__.py +0 -0
  21. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/__pycache__/__init__.py +0 -0
  22. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/config_value/php_package_readme_config_value.py +0 -0
  23. {wexample_wex_addon_dev_php-12.8.1/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
  24. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/const/tags.py +0 -0
  25. {wexample_wex_addon_dev_php-12.8.1/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
  26. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/deployment/step/symfony_env_local_deployment_step.py +0 -0
  27. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/file/php_composer_json_file.py +0 -0
  28. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/formatter/php_code_formatter.py +0 -0
  29. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/php_addon_manager.py +0 -0
  30. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/py.typed +0 -0
  31. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/resources/.wex.yml +0 -0
  32. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/resources/docker/Dockerfile.roave +0 -0
  33. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/resources/writing_rules/php_code.md +0 -0
  34. {wexample_wex_addon_dev_php-12.8.1/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
  35. {wexample_wex_addon_dev_php-12.8.1/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
  36. {wexample_wex_addon_dev_php-12.8.1/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
  37. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/composer/commands/service/install_local.py +0 -0
  38. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/composer/commands/service/refresh_lock.py +0 -0
  39. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/composer/docker/.wex.yml +0 -0
  40. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/composer/docker/docker-compose.yml +0 -0
  41. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/composer/service.yml +0 -0
  42. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/frankenphp/docker/.wex.yml +0 -0
  43. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/frankenphp/docker/docker-compose.yml +0 -0
  44. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/.wex.yml +0 -0
  45. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/caddy/.wex.yml +0 -0
  46. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/caddy/Caddyfile +0 -0
  47. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/docker/.wex.yml +0 -0
  48. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/docker/docker-compose.yml +0 -0
  49. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/env/dev/docker/.wex.yml +0 -0
  50. {wexample_wex_addon_dev_php-12.8.1 → 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
  51. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/env/local/docker/.wex.yml +0 -0
  52. {wexample_wex_addon_dev_php-12.8.1 → 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
  53. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/env/prod/docker/.wex.yml +0 -0
  54. {wexample_wex_addon_dev_php-12.8.1 → 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
  55. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/php/.wex.yml +0 -0
  56. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/php/web.ini +0 -0
  57. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/frankenphp/service.yml +0 -0
  58. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/laravel/app_service.py +0 -0
  59. {wexample_wex_addon_dev_php-12.8.1/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
  60. {wexample_wex_addon_dev_php-12.8.1/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
  61. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/laravel/commands/db/migrate.yml +0 -0
  62. {wexample_wex_addon_dev_php-12.8.1/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
  63. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/laravel/commands/maintenance/disable.yml +0 -0
  64. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/laravel/commands/maintenance/enable.yml +0 -0
  65. {wexample_wex_addon_dev_php-12.8.1/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
  66. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/laravel/commands/service/install_local.py +0 -0
  67. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/laravel/commands/service/refresh_lock.py +0 -0
  68. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/laravel/docker/.wex.yml +0 -0
  69. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/laravel/docker/docker-compose.yml +0 -0
  70. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/laravel/samples/.wex.yml +0 -0
  71. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/laravel/samples/docker/docker-compose.yml +0 -0
  72. {wexample_wex_addon_dev_php-12.8.1 → 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
  73. {wexample_wex_addon_dev_php-12.8.1 → 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
  74. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/laravel/service.yml +0 -0
  75. {wexample_wex_addon_dev_php-12.8.1/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
  76. {wexample_wex_addon_dev_php-12.8.1/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
  77. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/php/ai/shared/context.j2 +0 -0
  78. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/php/ai/shared/php.j2 +0 -0
  79. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/php/docker/.wex.yml +0 -0
  80. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/php/docker/docker-compose.yml +0 -0
  81. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/php/samples/.wex.yml +0 -0
  82. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/php/samples/caddy/.wex.yml +0 -0
  83. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/php/samples/caddy/Caddyfile +0 -0
  84. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/php/samples/docker/.wex.yml +0 -0
  85. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/php/samples/docker/docker-compose.yml +0 -0
  86. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/php/samples/env/dev/docker/.wex.yml +0 -0
  87. {wexample_wex_addon_dev_php-12.8.1 → 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
  88. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/php/samples/env/local/docker/.wex.yml +0 -0
  89. {wexample_wex_addon_dev_php-12.8.1 → 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
  90. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/php/samples/env/prod/docker/.wex.yml +0 -0
  91. {wexample_wex_addon_dev_php-12.8.1 → 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
  92. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/php/samples/php/.wex.yml +0 -0
  93. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/php/samples/php/web.ini +0 -0
  94. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/php/service.yml +0 -0
  95. {wexample_wex_addon_dev_php-12.8.1/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
  96. {wexample_wex_addon_dev_php-12.8.1/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
  97. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/phpmyadmin/docker/.wex.yml +0 -0
  98. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/phpmyadmin/docker/docker-compose.yml +0 -0
  99. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/phpmyadmin/env/.wex.yml +0 -0
  100. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/phpmyadmin/env/local/docker/docker-compose.yml +0 -0
  101. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/phpmyadmin/service.yml +0 -0
  102. {wexample_wex_addon_dev_php-12.8.1/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
  103. {wexample_wex_addon_dev_php-12.8.1/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
  104. {wexample_wex_addon_dev_php-12.8.1/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
  105. {wexample_wex_addon_dev_php-12.8.1/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
  106. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/symfony/ai/agents/editor/agent.yml +0 -0
  107. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/symfony/ai/agents/editor/context.j2 +0 -0
  108. {wexample_wex_addon_dev_php-12.8.1/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
  109. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/symfony/ai/shared/context.j2 +0 -0
  110. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/symfony/app_service.py +0 -0
  111. {wexample_wex_addon_dev_php-12.8.1/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
  112. {wexample_wex_addon_dev_php-12.8.1/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
  113. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/symfony/commands/service/deploy.py +0 -0
  114. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/symfony/commands/service/install_local.py +0 -0
  115. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/symfony/commands/service/watch.py +0 -0
  116. {wexample_wex_addon_dev_php-12.8.1/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
  117. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/symfony/commands/translations/translate.py +0 -0
  118. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/symfony/docker/.wex.yml +0 -0
  119. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/symfony/docker/docker-compose.yml +0 -0
  120. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/symfony/knowledge/entity.md +0 -0
  121. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/.wex.yml +0 -0
  122. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/docker/.wex.yml +0 -0
  123. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/docker/docker-compose.yml +0 -0
  124. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/docker/env.build +0 -0
  125. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/docker/images/.wex.yml +0 -0
  126. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/docker/images/Dockerfile.dev +0 -0
  127. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/docker/images/Dockerfile.release +0 -0
  128. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/env/dev/docker/.wex.yml +0 -0
  129. {wexample_wex_addon_dev_php-12.8.1 → 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
  130. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/env/local/docker/.wex.yml +0 -0
  131. {wexample_wex_addon_dev_php-12.8.1 → 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
  132. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/env/prod/docker/.wex.yml +0 -0
  133. {wexample_wex_addon_dev_php-12.8.1 → 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
  134. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/symfony/service.yml +0 -0
  135. {wexample_wex_addon_dev_php-12.8.1/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
  136. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/wordpress/commands/__init__.py +0 -0
  137. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/wordpress/commands/service/__init__.py +0 -0
  138. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/wordpress/commands/url/__init__.py +0 -0
  139. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/wordpress/commands/url/replace.py +0 -0
  140. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/wordpress/docker/.wex.yml +0 -0
  141. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/wordpress/docker/docker-compose.yml +0 -0
  142. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/wordpress/samples/.wex.yml +0 -0
  143. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/wordpress/samples/docker/docker-compose-cli.yml +0 -0
  144. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/wordpress/samples/docker/docker-compose.yml +0 -0
  145. {wexample_wex_addon_dev_php-12.8.1 → 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
  146. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/wordpress/samples/env/local/wp-cli/.gitkeep +0 -0
  147. {wexample_wex_addon_dev_php-12.8.1 → 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
  148. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/services/wordpress/service.yml +0 -0
  149. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/workdir/php_packages_suite_workdir.py +0 -0
  150. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/workdir/php_symfony_workdir.py +0 -0
  151. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/src/wexample_wex_addon_dev_php/workdir/php_workdir.py +0 -0
  152. {wexample_wex_addon_dev_php-12.8.1 → wexample_wex_addon_dev_php-12.10.0}/tests/.gitkeep +0 -0
  153. {wexample_wex_addon_dev_php-12.8.1 → 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.8.1
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
@@ -13,9 +13,9 @@ Requires-Dist: attrs>=23.1.0
13
13
  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
- Requires-Dist: wexample-wex-addon-ai>=18.3.0
17
- Requires-Dist: wexample-wex-addon-app>=33.4.0
18
- Requires-Dist: wexample-wex-addon-dev-javascript>=8.4.0
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
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.8.1
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
 
@@ -267,17 +267,15 @@ This package is part of the Wexample Suite — a collection of high-quality, mod
267
267
 
268
268
  The suite includes packages for configuration management, file handling, prompts, and more. Each package can be used independently or as part of the integrated suite.
269
269
 
270
- Visit the [Wexample Suite documentation](https://docs.wexample.com) for the complete package ecosystem.
271
-
272
270
  ## Dependencies
273
271
 
274
272
  - attrs: >=23.1.0
275
273
  - cattrs: >=23.1.0
276
274
  - wexample-filestate-php: >=6.5.0
277
275
  - wexample-filestate-symfony: >=2.1.0
278
- - wexample-wex-addon-ai: >=18.3.0
279
- - wexample-wex-addon-app: >=33.4.0
280
- - wexample-wex-addon-dev-javascript: >=8.4.0
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
281
279
 
282
280
  ## Versioning & Compatibility Policy
283
281
 
@@ -303,6 +301,8 @@ This packages suite embodies this spirit. Trusted by professionals and enthusias
303
301
 
304
302
  Wexample cultivates a culture of mastery. Each package, each contribution carries the mark of a community that values precision, ethics, and innovation — a community proud to shape the future of digital craftsmanship.
305
303
 
304
+ Built and maintained by [Romain Weeger](https://weeger.io).
305
+
306
306
  ## Known Limitations & Roadmap
307
307
 
308
308
  Current limitations and planned features are tracked in the GitHub issues.
@@ -322,7 +322,6 @@ See the [project roadmap](https://github.com/wexample/python-wex_addon_dev_php/i
322
322
  ## Useful Links
323
323
 
324
324
  - **Homepage**: https://github.com/wexample/python-wex-addon-dev-php
325
- - **Documentation**: [docs.wexample.com](https://docs.wexample.com)
326
325
  - **Issue Tracker**: https://github.com/wexample/python-wex-addon-dev-php/issues
327
326
  - **Discussions**: https://github.com/wexample/python-wex-addon-dev-php/discussions
328
327
  - **PyPI**: [pypi.org/project/wexample-wex-addon-dev-php](https://pypi.org/project/wexample-wex-addon-dev-php/)
@@ -1,6 +1,6 @@
1
1
  # wex_addon_dev_php
2
2
 
3
- Version: 12.8.1
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
 
@@ -244,17 +244,15 @@ This package is part of the Wexample Suite — a collection of high-quality, mod
244
244
 
245
245
  The suite includes packages for configuration management, file handling, prompts, and more. Each package can be used independently or as part of the integrated suite.
246
246
 
247
- Visit the [Wexample Suite documentation](https://docs.wexample.com) for the complete package ecosystem.
248
-
249
247
  ## Dependencies
250
248
 
251
249
  - attrs: >=23.1.0
252
250
  - cattrs: >=23.1.0
253
251
  - wexample-filestate-php: >=6.5.0
254
252
  - wexample-filestate-symfony: >=2.1.0
255
- - wexample-wex-addon-ai: >=18.3.0
256
- - wexample-wex-addon-app: >=33.4.0
257
- - wexample-wex-addon-dev-javascript: >=8.4.0
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
258
256
 
259
257
  ## Versioning & Compatibility Policy
260
258
 
@@ -280,6 +278,8 @@ This packages suite embodies this spirit. Trusted by professionals and enthusias
280
278
 
281
279
  Wexample cultivates a culture of mastery. Each package, each contribution carries the mark of a community that values precision, ethics, and innovation — a community proud to shape the future of digital craftsmanship.
282
280
 
281
+ Built and maintained by [Romain Weeger](https://weeger.io).
282
+
283
283
  ## Known Limitations & Roadmap
284
284
 
285
285
  Current limitations and planned features are tracked in the GitHub issues.
@@ -299,7 +299,6 @@ See the [project roadmap](https://github.com/wexample/python-wex_addon_dev_php/i
299
299
  ## Useful Links
300
300
 
301
301
  - **Homepage**: https://github.com/wexample/python-wex-addon-dev-php
302
- - **Documentation**: [docs.wexample.com](https://docs.wexample.com)
303
302
  - **Issue Tracker**: https://github.com/wexample/python-wex-addon-dev-php/issues
304
303
  - **Discussions**: https://github.com/wexample/python-wex-addon-dev-php/discussions
305
304
  - **PyPI**: [pypi.org/project/wexample-wex-addon-dev-php](https://pypi.org/project/wexample-wex-addon-dev-php/)
@@ -6,7 +6,7 @@ build-backend = "pdm.backend"
6
6
 
7
7
  [project]
8
8
  name = "wexample-wex-addon-dev-php"
9
- version = "12.8.1"
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" },
@@ -22,9 +22,9 @@ dependencies = [
22
22
  "cattrs>=23.1.0",
23
23
  "wexample-filestate-php>=6.5.0",
24
24
  "wexample-filestate-symfony>=2.1.0",
25
- "wexample-wex-addon-ai>=18.3.0",
26
- "wexample-wex-addon-app>=33.4.0",
27
- "wexample-wex-addon-dev-javascript>=8.4.0",
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",
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
+ )
@@ -29,3 +29,14 @@ is already a decision made.
29
29
  - Helper classes are `final`-shaped by use: only `public static` methods, no state, no
30
30
  instantiation. A helper that needs a constructor has stopped being a helper and belongs
31
31
  in `Class/`.
32
+ - A Symfony service outlives the request it serves: a FrankenPHP worker keeps the
33
+ container from one visitor to the next. So a service keeps nothing of a request in
34
+ itself. Its dependencies are `readonly`; what a request produces (assets asked for,
35
+ a decision about the current user, a submission's outcome) is passed along or read
36
+ where it is used, never stored in `$this`. Where a service must hold such state, it
37
+ implements `ResetInterface` and empties it in `reset()`. A memo of what the code or the
38
+ configuration says — a chart read from a bundled file, a registry built from tagged
39
+ services — is marked `#[WorkerSafe('why')]` (symfony-helpers). Nothing request-bound is
40
+ read in a constructor either: `$requestStack->getCurrentRequest()` there is the first
41
+ request, for good. The container of an app in `strict` mode refuses to build when a
42
+ service is none of the three (`WorkerSafeServicesCompilerPass`).
@@ -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
+