wexample-wex-addon-dev-php 12.4.0__tar.gz → 12.6.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (152) hide show
  1. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/PKG-INFO +6 -6
  2. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/README.md +3 -3
  3. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/pyproject.toml +3 -3
  4. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/deployment/step/symfony_env_local_deployment_step.py +41 -7
  5. wexample_wex_addon_dev_php-12.6.0/src/wexample_wex_addon_dev_php/services/frankenphp/samples/caddy/Caddyfile +17 -0
  6. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/php/samples/caddy/Caddyfile +4 -0
  7. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/workdir/php_package_workdir.py +3 -1
  8. wexample_wex_addon_dev_php-12.4.0/src/wexample_wex_addon_dev_php/services/frankenphp/samples/caddy/Caddyfile +0 -13
  9. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/__init__.py +0 -0
  10. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/__pycache__/__init__.py +0 -0
  11. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/config_value/__init__.py +0 -0
  12. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/config_value/php_package_readme_config_value.py +0 -0
  13. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/const/__init__.py +0 -0
  14. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/const/tags.py +0 -0
  15. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/deployment/__init__.py +0 -0
  16. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/deployment/step/__init__.py +0 -0
  17. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/file/__init__.py +0 -0
  18. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/file/php_composer_json_file.py +0 -0
  19. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/formatter/__init__.py +0 -0
  20. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/formatter/php_code_formatter.py +0 -0
  21. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/php_addon_manager.py +0 -0
  22. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/py.typed +0 -0
  23. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/resources/.wex.yml +0 -0
  24. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/resources/design_rules/php_code.md +0 -0
  25. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/resources/docker/Dockerfile.roave +0 -0
  26. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/resources/writing_rules/php_code.md +0 -0
  27. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/__init__.py +0 -0
  28. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/composer/__init__.py +0 -0
  29. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/composer/commands/__init__.py +0 -0
  30. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/composer/commands/service/__init__.py +0 -0
  31. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/composer/commands/service/install_local.py +0 -0
  32. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/composer/commands/service/refresh_lock.py +0 -0
  33. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/composer/docker/.wex.yml +0 -0
  34. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/composer/docker/docker-compose.yml +0 -0
  35. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/composer/service.yml +0 -0
  36. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/frankenphp/__init__.py +0 -0
  37. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/frankenphp/docker/.wex.yml +0 -0
  38. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/frankenphp/docker/docker-compose.yml +0 -0
  39. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/.wex.yml +0 -0
  40. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/caddy/.wex.yml +0 -0
  41. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/docker/.wex.yml +0 -0
  42. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/docker/docker-compose.yml +0 -0
  43. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/env/dev/docker/.wex.yml +0 -0
  44. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/env/dev/docker/docker-compose.yml +0 -0
  45. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/env/local/docker/.wex.yml +0 -0
  46. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/env/local/docker/docker-compose.yml +0 -0
  47. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/env/prod/docker/.wex.yml +0 -0
  48. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/env/prod/docker/docker-compose.yml +0 -0
  49. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/php/.wex.yml +0 -0
  50. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/frankenphp/samples/php/web.ini +0 -0
  51. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/frankenphp/service.yml +0 -0
  52. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/laravel/__init__.py +0 -0
  53. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/laravel/app_service.py +0 -0
  54. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/laravel/commands/__init__.py +0 -0
  55. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/laravel/commands/db/__init__.py +0 -0
  56. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/laravel/commands/db/migrate.yml +0 -0
  57. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/laravel/commands/maintenance/__init__.py +0 -0
  58. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/laravel/commands/maintenance/disable.yml +0 -0
  59. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/laravel/commands/maintenance/enable.yml +0 -0
  60. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/laravel/commands/service/__init__.py +0 -0
  61. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/laravel/commands/service/install_local.py +0 -0
  62. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/laravel/commands/service/refresh_lock.py +0 -0
  63. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/laravel/docker/.wex.yml +0 -0
  64. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/laravel/docker/docker-compose.yml +0 -0
  65. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/laravel/samples/.wex.yml +0 -0
  66. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/laravel/samples/docker/docker-compose.yml +0 -0
  67. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/laravel/samples/env/dev/docker/docker-compose.yml +0 -0
  68. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/laravel/samples/env/prod/docker/docker-compose.yml +0 -0
  69. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/laravel/service.yml +0 -0
  70. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/php/__init__.py +0 -0
  71. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/php/ai/__init__.py +0 -0
  72. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/php/ai/shared/__init__.py +0 -0
  73. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/php/ai/shared/context.j2 +0 -0
  74. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/php/ai/shared/php.j2 +0 -0
  75. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/php/docker/.wex.yml +0 -0
  76. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/php/docker/docker-compose.yml +0 -0
  77. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/php/samples/.wex.yml +0 -0
  78. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/php/samples/caddy/.wex.yml +0 -0
  79. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/php/samples/docker/.wex.yml +0 -0
  80. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/php/samples/docker/docker-compose.yml +0 -0
  81. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/php/samples/env/dev/docker/.wex.yml +0 -0
  82. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/php/samples/env/dev/docker/docker-compose.yml +0 -0
  83. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/php/samples/env/local/docker/.wex.yml +0 -0
  84. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/php/samples/env/local/docker/docker-compose.yml +0 -0
  85. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/php/samples/env/prod/docker/.wex.yml +0 -0
  86. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/php/samples/env/prod/docker/docker-compose.yml +0 -0
  87. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/php/samples/php/.wex.yml +0 -0
  88. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/php/samples/php/web.ini +0 -0
  89. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/php/service.yml +0 -0
  90. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/phpmyadmin/__init__.py +0 -0
  91. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/phpmyadmin/commands/__init__.py +0 -0
  92. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/phpmyadmin/commands/runtime/__init__.py +0 -0
  93. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/phpmyadmin/docker/.wex.yml +0 -0
  94. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/phpmyadmin/docker/docker-compose.yml +0 -0
  95. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/phpmyadmin/env/.wex.yml +0 -0
  96. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/phpmyadmin/env/local/docker/docker-compose.yml +0 -0
  97. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/phpmyadmin/service.yml +0 -0
  98. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/__init__.py +0 -0
  99. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/ai/__init__.py +0 -0
  100. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/ai/agents/__init__.py +0 -0
  101. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/ai/agents/editor/__init__.py +0 -0
  102. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/ai/agents/editor/agent.yml +0 -0
  103. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/ai/agents/editor/context.j2 +0 -0
  104. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/ai/shared/__init__.py +0 -0
  105. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/ai/shared/context.j2 +0 -0
  106. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/app_service.py +0 -0
  107. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/commands/__init__.py +0 -0
  108. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/commands/service/__init__.py +0 -0
  109. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/commands/service/deploy.py +0 -0
  110. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/commands/service/install_local.py +0 -0
  111. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/commands/service/watch.py +0 -0
  112. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/commands/translations/__init__.py +0 -0
  113. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/commands/translations/translate.py +0 -0
  114. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/docker/.wex.yml +0 -0
  115. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/docker/docker-compose.yml +0 -0
  116. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/knowledge/__init__.py +0 -0
  117. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/knowledge/entity.md +0 -0
  118. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/.wex.yml +0 -0
  119. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/docker/.wex.yml +0 -0
  120. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/docker/docker-compose.yml +0 -0
  121. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/docker/env.build +0 -0
  122. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/docker/images/.wex.yml +0 -0
  123. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/docker/images/Dockerfile.dev +0 -0
  124. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/docker/images/Dockerfile.release +0 -0
  125. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/env/dev/docker/.wex.yml +0 -0
  126. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/env/dev/docker/docker-compose.yml +0 -0
  127. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/env/local/docker/.wex.yml +0 -0
  128. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/env/local/docker/docker-compose.yml +0 -0
  129. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/env/prod/docker/.wex.yml +0 -0
  130. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/samples/env/prod/docker/docker-compose.yml +0 -0
  131. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/symfony/service.yml +0 -0
  132. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/wordpress/__init__.py +0 -0
  133. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/wordpress/commands/__init__.py +0 -0
  134. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/wordpress/commands/service/__init__.py +0 -0
  135. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/wordpress/commands/url/__init__.py +0 -0
  136. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/wordpress/commands/url/replace.py +0 -0
  137. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/wordpress/docker/.wex.yml +0 -0
  138. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/wordpress/docker/docker-compose.yml +0 -0
  139. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/wordpress/samples/.wex.yml +0 -0
  140. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/wordpress/samples/docker/docker-compose-cli.yml +0 -0
  141. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/wordpress/samples/docker/docker-compose.yml +0 -0
  142. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/wordpress/samples/env/dev/docker/docker-compose.yml +0 -0
  143. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/wordpress/samples/env/local/wp-cli/.gitkeep +0 -0
  144. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/wordpress/samples/env/prod/docker/docker-compose.yml +0 -0
  145. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/services/wordpress/service.yml +0 -0
  146. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/workdir/__init__.py +0 -0
  147. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/workdir/php_packages_suite_workdir.py +0 -0
  148. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/workdir/php_symfony_workdir.py +0 -0
  149. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/src/wexample_wex_addon_dev_php/workdir/php_workdir.py +0 -0
  150. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/tests/.gitkeep +0 -0
  151. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/tests/workdir/__init__.py +0 -0
  152. {wexample_wex_addon_dev_php-12.4.0 → wexample_wex_addon_dev_php-12.6.0}/tests/workdir/test_php_package_workdir.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: wexample-wex-addon-dev-php
3
- Version: 12.4.0
3
+ Version: 12.6.0
4
4
  Summary: Extends wex with PHP-specific development commands for Composer, Laravel, Symfony, and WordPress services running in Docker containers
5
5
  Author-Email: weeger <contact@wexample.com>
6
6
  License: MIT
@@ -13,8 +13,8 @@ Requires-Dist: attrs>=23.1.0
13
13
  Requires-Dist: cattrs>=23.1.0
14
14
  Requires-Dist: wexample-filestate-php>=6.4.0
15
15
  Requires-Dist: wexample-filestate-symfony>=2.0.0
16
- Requires-Dist: wexample-wex-addon-ai>=16.1.0
17
- Requires-Dist: wexample-wex-addon-app>=32.2.0
16
+ Requires-Dist: wexample-wex-addon-ai>=17.0.0
17
+ Requires-Dist: wexample-wex-addon-app>=32.4.0
18
18
  Requires-Dist: wexample-wex-addon-dev-javascript>=8.2.0
19
19
  Provides-Extra: dev
20
20
  Requires-Dist: pytest; extra == "dev"
@@ -23,7 +23,7 @@ Description-Content-Type: text/markdown
23
23
 
24
24
  # wex_addon_dev_php
25
25
 
26
- Version: 12.4.0
26
+ Version: 12.6.0
27
27
 
28
28
  `wex_addon_dev_php` extends the wex CLI with PHP-specific development commands for Composer, Laravel, Symfony, and WordPress services running in Docker containers. It is aimed at PHP developers who manage their apps through wex and need framework-aware automation — dependency wiring, migration runs, lock-file refreshes — executed directly inside the running service containers. The addon registers four workdir types (`php`, `php-package`, `php-packages-suite`, `php-symfony`) and contributes its commands through the standard `PhpAddonManager` plugin point.
29
29
 
@@ -275,8 +275,8 @@ Visit the [Wexample Suite documentation](https://docs.wexample.com) for the comp
275
275
  - cattrs: >=23.1.0
276
276
  - wexample-filestate-php: >=6.4.0
277
277
  - wexample-filestate-symfony: >=2.0.0
278
- - wexample-wex-addon-ai: >=16.1.0
279
- - wexample-wex-addon-app: >=32.2.0
278
+ - wexample-wex-addon-ai: >=17.0.0
279
+ - wexample-wex-addon-app: >=32.4.0
280
280
  - wexample-wex-addon-dev-javascript: >=8.2.0
281
281
 
282
282
  ## Versioning & Compatibility Policy
@@ -1,6 +1,6 @@
1
1
  # wex_addon_dev_php
2
2
 
3
- Version: 12.4.0
3
+ Version: 12.6.0
4
4
 
5
5
  `wex_addon_dev_php` extends the wex CLI with PHP-specific development commands for Composer, Laravel, Symfony, and WordPress services running in Docker containers. It is aimed at PHP developers who manage their apps through wex and need framework-aware automation — dependency wiring, migration runs, lock-file refreshes — executed directly inside the running service containers. The addon registers four workdir types (`php`, `php-package`, `php-packages-suite`, `php-symfony`) and contributes its commands through the standard `PhpAddonManager` plugin point.
6
6
 
@@ -252,8 +252,8 @@ Visit the [Wexample Suite documentation](https://docs.wexample.com) for the comp
252
252
  - cattrs: >=23.1.0
253
253
  - wexample-filestate-php: >=6.4.0
254
254
  - wexample-filestate-symfony: >=2.0.0
255
- - wexample-wex-addon-ai: >=16.1.0
256
- - wexample-wex-addon-app: >=32.2.0
255
+ - wexample-wex-addon-ai: >=17.0.0
256
+ - wexample-wex-addon-app: >=32.4.0
257
257
  - wexample-wex-addon-dev-javascript: >=8.2.0
258
258
 
259
259
  ## Versioning & Compatibility Policy
@@ -6,7 +6,7 @@ build-backend = "pdm.backend"
6
6
 
7
7
  [project]
8
8
  name = "wexample-wex-addon-dev-php"
9
- version = "12.4.0"
9
+ version = "12.6.0"
10
10
  description = "Extends wex with PHP-specific development commands for Composer, Laravel, Symfony, and WordPress services running in Docker containers"
11
11
  authors = [
12
12
  { name = "weeger", email = "contact@wexample.com" },
@@ -22,8 +22,8 @@ dependencies = [
22
22
  "cattrs>=23.1.0",
23
23
  "wexample-filestate-php>=6.4.0",
24
24
  "wexample-filestate-symfony>=2.0.0",
25
- "wexample-wex-addon-ai>=16.1.0",
26
- "wexample-wex-addon-app>=32.2.0",
25
+ "wexample-wex-addon-ai>=17.0.0",
26
+ "wexample-wex-addon-app>=32.4.0",
27
27
  "wexample-wex-addon-dev-javascript>=8.2.0",
28
28
  ]
29
29
 
@@ -149,9 +149,23 @@ class SymfonyEnvLocalDeploymentStep(AbstractDeploymentStep):
149
149
  import secrets
150
150
  import shlex
151
151
 
152
- from wexample_wex_addon_app.helper.deployment import DEPLOYMENT_HOST_USER
152
+ from wexample_wex_addon_app.helper.deployment import (
153
+ DEPLOYMENT_HOST_USER,
154
+ host_secret_file_seal,
155
+ )
153
156
  from wexample_wex_addon_app.helper.remote import remote_run
154
157
 
158
+ path = f"{remote['path']}/.env.local"
159
+ if self._exists(remote):
160
+ # An existing file is the host's: only who may read it is put right.
161
+ result = remote_run(remote, host_secret_file_seal(path))
162
+ if result.returncode != 0:
163
+ raise RuntimeError(
164
+ f"Fixing the rights of {path} on {remote['host']} failed: "
165
+ f"{result.stderr.strip()[:300]}"
166
+ )
167
+ return f"Made {path} on {remote['host']} readable by the docker group"
168
+
155
169
  defaults = self._host_defaults(workdir, remote)
156
170
  values: dict[str, str] = {}
157
171
  generated: list[str] = []
@@ -164,13 +178,13 @@ class SymfonyEnvLocalDeploymentStep(AbstractDeploymentStep):
164
178
  # an empty one is how an app says « not used here ».
165
179
  values[key] = defaults.get(key, "")
166
180
 
167
- path = f"{remote['path']}/.env.local"
168
181
  # Through stdin, never a command line: a secret must not show in the host's
169
182
  # process list nor in a shell history. The `${KEY}` are resolved there.
170
183
  result = remote_run(
171
184
  remote,
172
185
  f"sudo -n -u {DEPLOYMENT_HOST_USER} python3 -c {shlex.quote(_HOST_WRITER)} "
173
- f"{shlex.quote(remote['path'] + '/.wex/local/env.yml')} {shlex.quote(path)}",
186
+ f"{shlex.quote(remote['path'] + '/.wex/local/env.yml')} {shlex.quote(path)} && "
187
+ + host_secret_file_seal(path),
174
188
  input="".join(f"{key}={_quote(value)}\n" for key, value in values.items()),
175
189
  )
176
190
  if result.returncode != 0:
@@ -190,8 +204,13 @@ class SymfonyEnvLocalDeploymentStep(AbstractDeploymentStep):
190
204
  return f"Wrote {path} on {remote['host']}{made}.{rest}"
191
205
 
192
206
  def can_apply(self, workdir: ManagedWorkdir, remote: ResolvedRemote | None) -> bool:
193
- # Written when there is none, never over one: an existing file is the host's.
194
- return self._host_keys(remote) == set() and not self._exists(remote)
207
+ from wexample_wex_addon_app.helper.deployment import host_secret_file_unsealed
208
+
209
+ # Written when there is none, never over one: an existing file is the host's,
210
+ # only its rights are put right.
211
+ if self._exists(remote):
212
+ return host_secret_file_unsealed(remote, f"{remote['path']}/.env.local") is not None
213
+ return self._host_keys(remote) == set()
195
214
 
196
215
  def check(self, workdir: ManagedWorkdir, remote: ResolvedRemote | None) -> tuple[str, str]:
197
216
  present = self._host_keys(remote)
@@ -199,12 +218,21 @@ class SymfonyEnvLocalDeploymentStep(AbstractDeploymentStep):
199
218
  return DEPLOYMENT_STATUS_UNKNOWN, "could not read it"
200
219
  if not present and not self._exists(remote):
201
220
  return DEPLOYMENT_STATUS_KO, f"no {remote['path']}/.env.local"
221
+ from wexample_wex_addon_app.helper.deployment import host_secret_file_unsealed
222
+
223
+ unsealed = host_secret_file_unsealed(remote, f"{remote['path']}/.env.local")
224
+ if unsealed:
225
+ return DEPLOYMENT_STATUS_KO, f"the app's commands cannot read it ({unsealed})"
202
226
  missing = [key for key in self._needed(workdir) if key not in present]
203
227
  if missing:
204
228
  return DEPLOYMENT_STATUS_KO, f"no value for {', '.join(missing)}"
205
229
  return DEPLOYMENT_STATUS_OK, f"{remote['path']}/.env.local"
206
230
 
207
231
  def hint(self, workdir: ManagedWorkdir, remote: ResolvedRemote | None) -> str:
232
+ from wexample_wex_addon_app.helper.deployment import host_secret_file_unsealed
233
+
234
+ if host_secret_file_unsealed(remote, f"{remote['path']}/.env.local"):
235
+ return "Run `wex app::release/setup` to make it readable by the docker group."
208
236
  present = self._host_keys(remote) or set()
209
237
  missing = [key for key in self._needed(workdir) if key not in present]
210
238
  return (
@@ -253,6 +281,7 @@ class SymfonyEnvLocalDeploymentStep(AbstractDeploymentStep):
253
281
 
254
282
  config = workdir.get_path() / "config"
255
283
  referenced: set[str] = set()
284
+ defaulted: set[str] = set()
256
285
  for path in config.rglob("*.yaml"):
257
286
  if any(part in NOT_DEPLOYED_ENVS for part in path.relative_to(config).parts):
258
287
  continue
@@ -262,13 +291,18 @@ class SymfonyEnvLocalDeploymentStep(AbstractDeploymentStep):
262
291
  # `default::KEY` falls back on its own: the app runs without it.
263
292
  if "default:" not in f"{processors}:":
264
293
  referenced.add(key)
294
+ # A parameter `env(KEY): value` is the value the app falls back on.
295
+ defaulted.update(re.findall(r"^\s+env\(([A-Za-z_][A-Za-z0-9_]*)\)\s*:", content, re.M))
265
296
  built = self._build_env_keys(workdir)
266
- needed = {key for key in referenced if key not in built} | set(ALWAYS_FROM_THE_HOST)
297
+ needed = {
298
+ key for key in referenced if key not in built and key not in defaulted
299
+ } | set(ALWAYS_FROM_THE_HOST)
267
300
  return sorted(needed)
268
301
 
269
302
 
270
303
  # Run on the host: fills every `${KEY}` of the content on stdin from the host's env
271
- # file, then writes it for the owner alone. A key the env file lacks stays as it is.
304
+ # file, then writes it for the owner alone — the caller then opens it to the docker
305
+ # group. A key the env file lacks stays as it is.
272
306
  _HOST_WRITER = """
273
307
  import os, re, sys
274
308
  values = {}
@@ -0,0 +1,17 @@
1
+ {
2
+ frankenphp
3
+ auto_https off
4
+ admin off
5
+ }
6
+
7
+ :80 {
8
+ root * /var/www/html/public
9
+
10
+ encode zstd br gzip
11
+
12
+ # Where installed packages add their directives (the Mercure hub of
13
+ # wexample/symfony-live): inside the site, the only place Caddy reads them.
14
+ # wex:install
15
+
16
+ php_server
17
+ }
@@ -26,5 +26,9 @@
26
26
  }
27
27
  respond @hidden 404
28
28
 
29
+ # Where installed packages add their directives (the Mercure hub of
30
+ # wexample/symfony-live): inside the site, the only place Caddy reads them.
31
+ # wex:install
32
+
29
33
  php_server
30
34
  }
@@ -245,7 +245,9 @@ class PhpPackageWorkdir(WithRunnerWorkdirMixin, PhpWorkdir):
245
245
  "composer update --no-interaction --no-progress --no-scripts; "
246
246
  'echo "$sum" > vendor/.wex-composer-json; '
247
247
  "fi; "
248
- "exec vendor/bin/phpunit --do-not-cache-result"
248
+ # The run history is not written into the package; every package
249
+ # requires PHPUnit ^13, which names the option so.
250
+ "exec vendor/bin/phpunit --do-not-record-test-run-history"
249
251
  )
250
252
  self.shell_run_for_app(
251
253
  cmd=[
@@ -1,13 +0,0 @@
1
- {
2
- frankenphp
3
- auto_https off
4
- admin off
5
- }
6
-
7
- :80 {
8
- root * /var/www/html/public
9
-
10
- encode zstd br gzip
11
-
12
- php_server
13
- }