Files
gustavoo-me/wp-content/plugins/fluent-crm/app/Services/Libs/Emogrifier/build
2026-07-23 22:56:30 -03:00
..
2026-07-23 22:56:30 -03:00
2026-07-23 22:56:30 -03:00
2026-07-23 22:56:30 -03:00
2026-07-23 22:56:30 -03:00
2026-07-23 22:56:30 -03:00

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 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:
composer update symfony/css-selector --working-dir app/Services/Libs/Emogrifier/build
bash app/Services/Libs/Emogrifier/build/rebuild_scoped_css_selector.sh
  1. Verify with PHP 7.4 and 8.x before release.