Initial commit

This commit is contained in:
gustavooth
2026-07-23 22:56:30 -03:00
commit 22a1006598
1816 changed files with 410742 additions and 0 deletions
@@ -0,0 +1,37 @@
# Emogrifier Scoped Dependency Build
This directory is the source of truth for rebuilding the scoped `symfony/css-selector` bundle used by:
- `app/Services/Libs/Emogrifier/scoped-vendor/symfony/css-selector`
## Why this exists
A direct vendor snapshot can drift to PHP-8-only packages. This build workspace pins a PHP-7.4-compatible dependency set and regenerates the scoped bundle deterministically.
## Rebuild command
Run from repository root:
```bash
bash app/Services/Libs/Emogrifier/build/rebuild_scoped_css_selector.sh
```
The rebuild script will:
1. Install locked dependencies from `build/composer.lock`.
2. Copy `symfony/css-selector` into `scoped-vendor/symfony/css-selector`.
3. Prefix namespaces to `FluentEmogrifier\\Vendor\\Symfony\\Component\\CssSelector`.
4. Replace `str_contains()` usage with a local compatibility helper.
5. Update scoped composer metadata (`installed.json`, `installed.php`, `platform_check.php`).
## Updating css-selector
1. Edit `build/composer.json` version constraints.
2. Run:
```bash
composer update symfony/css-selector --working-dir app/Services/Libs/Emogrifier/build
bash app/Services/Libs/Emogrifier/build/rebuild_scoped_css_selector.sh
```
3. Verify with PHP 7.4 and 8.x before release.