From 001e222f67a6963f5fdb3ecdd9f4bb924430b800 Mon Sep 17 00:00:00 2001 From: Pierre Goiffon Date: Fri, 29 Apr 2022 14:40:27 +0200 Subject: [PATCH] =?UTF-8?q?:arrow=5Fup:=20N=C2=B04824=20Composer=20libs=20?= =?UTF-8?q?:=20update=20pelago/emogrifier?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- composer.json | 2 +- composer.lock | 50 +- lib/composer/autoload_classmap.php | 4 +- lib/composer/autoload_static.php | 4 +- lib/composer/installed.json | 50 +- lib/composer/installed.php | 10 +- lib/pelago/emogrifier/.gitignore | 25 - lib/pelago/emogrifier/.travis.yml | 65 - lib/pelago/emogrifier/CHANGELOG.md | 225 ++- lib/pelago/emogrifier/CODE_OF_CONDUCT.md | 77 - lib/pelago/emogrifier/README.md | 428 +++-- lib/pelago/emogrifier/composer.json | 16 +- lib/pelago/emogrifier/config/php-cs-fixer.php | 93 - lib/pelago/emogrifier/config/phpmd.xml | 49 - lib/pelago/emogrifier/phpcs.xml.dist | 140 -- lib/pelago/emogrifier/src/Emogrifier.php | 822 ++++----- .../emogrifier/src/Emogrifier/CssInliner.php | 1513 +++++++---------- .../HtmlProcessor/AbstractHtmlProcessor.php | 114 +- .../HtmlProcessor/CssToAttributeConverter.php | 32 +- .../HtmlProcessor/HtmlNormalizer.php | 2 - .../Emogrifier/HtmlProcessor/HtmlPruner.php | 143 ++ .../Emogrifier/Utilities/ArrayIntersector.php | 56 + .../{ => Utilities}/CssConcatenator.php | 10 +- 23 files changed, 1886 insertions(+), 2044 deletions(-) delete mode 100644 lib/pelago/emogrifier/.gitignore delete mode 100644 lib/pelago/emogrifier/.travis.yml delete mode 100644 lib/pelago/emogrifier/CODE_OF_CONDUCT.md delete mode 100644 lib/pelago/emogrifier/config/php-cs-fixer.php delete mode 100644 lib/pelago/emogrifier/config/phpmd.xml delete mode 100644 lib/pelago/emogrifier/phpcs.xml.dist create mode 100644 lib/pelago/emogrifier/src/Emogrifier/HtmlProcessor/HtmlPruner.php create mode 100644 lib/pelago/emogrifier/src/Emogrifier/Utilities/ArrayIntersector.php rename lib/pelago/emogrifier/src/Emogrifier/{ => Utilities}/CssConcatenator.php (94%) diff --git a/composer.json b/composer.json index cd4dff996..e43adbe39 100644 --- a/composer.json +++ b/composer.json @@ -13,7 +13,7 @@ "combodo/tcpdf": "~6.4.4", "nikic/php-parser": "~4.13.2", "pear/archive_tar": "~1.4.14", - "pelago/emogrifier": "2.1.0", + "pelago/emogrifier": "~3.1.0", "scssphp/scssphp": "1.0.6", "swiftmailer/swiftmailer": "5.4.12", "symfony/console": "~3.4.47", diff --git a/composer.lock b/composer.lock index 4531a89ae..3af6a5144 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "ebd8582859a03bc00f64b6155d36a387", + "content-hash": "92ecc4c90eca1b55654c99c1b1f8cc8e", "packages": [ { "name": "combodo/tcpdf", @@ -417,34 +417,34 @@ }, { "name": "pelago/emogrifier", - "version": "v2.1.0", + "version": "v3.1.0", "source": { "type": "git", "url": "https://github.com/MyIntervals/emogrifier.git", - "reference": "40c3d4f475d44ffc7265a760d1dd0e81f579f96f" + "reference": "f6a5c7d44612d86c3901c93f1592f5440e6b2cd8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/MyIntervals/emogrifier/zipball/40c3d4f475d44ffc7265a760d1dd0e81f579f96f", - "reference": "40c3d4f475d44ffc7265a760d1dd0e81f579f96f", + "url": "https://api.github.com/repos/MyIntervals/emogrifier/zipball/f6a5c7d44612d86c3901c93f1592f5440e6b2cd8", + "reference": "f6a5c7d44612d86c3901c93f1592f5440e6b2cd8", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", - "php": "^5.5.0 || ~7.0.0 || ~7.1.0 || ~7.2.0 || ~7.3.0", - "symfony/css-selector": "^3.4.0 || ^4.0.0" + "php": "^5.6 || ~7.0 || ~7.1 || ~7.2 || ~7.3 || ~7.4", + "symfony/css-selector": "^2.8 || ^3.0 || ^4.0 || ^5.0" }, "require-dev": { - "friendsofphp/php-cs-fixer": "^2.2.0", - "phpmd/phpmd": "^2.6.0", - "phpunit/phpunit": "^4.8.0", - "squizlabs/php_codesniffer": "^3.3.2" + "friendsofphp/php-cs-fixer": "^2.15.3", + "phpmd/phpmd": "^2.7.0", + "phpunit/phpunit": "^5.7.27", + "squizlabs/php_codesniffer": "^3.5.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.1.x-dev" + "dev-master": "4.0.x-dev" } }, "autoload": { @@ -457,16 +457,6 @@ "MIT" ], "authors": [ - { - "name": "John Reeve", - "email": "jreeve@pelagodesign.com" - }, - { - "name": "Cameron Brooks" - }, - { - "name": "Jaime Prado" - }, { "name": "Oliver Klee", "email": "github@oliverklee.de" @@ -475,9 +465,19 @@ "name": "Zoli Szabó", "email": "zoli.szabo+github@gmail.com" }, + { + "name": "John Reeve", + "email": "jreeve@pelagodesign.com" + }, { "name": "Jake Hotson", "email": "jake@qzdesign.co.uk" + }, + { + "name": "Cameron Brooks" + }, + { + "name": "Jaime Prado" } ], "description": "Converts CSS styles into inline style attributes in your HTML code", @@ -487,7 +487,11 @@ "email", "pre-processing" ], - "time": "2018-12-08T13:55:46+00:00" + "support": { + "issues": "https://github.com/MyIntervals/emogrifier/issues", + "source": "https://github.com/MyIntervals/emogrifier" + }, + "time": "2019-12-26T19:37:31+00:00" }, { "name": "psr/cache", diff --git a/lib/composer/autoload_classmap.php b/lib/composer/autoload_classmap.php index 6cc6fef1e..0e459993d 100644 --- a/lib/composer/autoload_classmap.php +++ b/lib/composer/autoload_classmap.php @@ -385,11 +385,13 @@ return array( 'ParseyyStackEntry' => $baseDir . '/core/oql/build/PHP/Lempar.php', 'ParseyyToken' => $baseDir . '/core/oql/build/PHP/Lempar.php', 'Pelago\\Emogrifier' => $vendorDir . '/pelago/emogrifier/src/Emogrifier.php', - 'Pelago\\Emogrifier\\CssConcatenator' => $vendorDir . '/pelago/emogrifier/src/Emogrifier/CssConcatenator.php', 'Pelago\\Emogrifier\\CssInliner' => $vendorDir . '/pelago/emogrifier/src/Emogrifier/CssInliner.php', 'Pelago\\Emogrifier\\HtmlProcessor\\AbstractHtmlProcessor' => $vendorDir . '/pelago/emogrifier/src/Emogrifier/HtmlProcessor/AbstractHtmlProcessor.php', 'Pelago\\Emogrifier\\HtmlProcessor\\CssToAttributeConverter' => $vendorDir . '/pelago/emogrifier/src/Emogrifier/HtmlProcessor/CssToAttributeConverter.php', 'Pelago\\Emogrifier\\HtmlProcessor\\HtmlNormalizer' => $vendorDir . '/pelago/emogrifier/src/Emogrifier/HtmlProcessor/HtmlNormalizer.php', + 'Pelago\\Emogrifier\\HtmlProcessor\\HtmlPruner' => $vendorDir . '/pelago/emogrifier/src/Emogrifier/HtmlProcessor/HtmlPruner.php', + 'Pelago\\Emogrifier\\Utilities\\ArrayIntersector' => $vendorDir . '/pelago/emogrifier/src/Emogrifier/Utilities/ArrayIntersector.php', + 'Pelago\\Emogrifier\\Utilities\\CssConcatenator' => $vendorDir . '/pelago/emogrifier/src/Emogrifier/Utilities/CssConcatenator.php', 'PhpParser\\Builder' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Builder.php', 'PhpParser\\BuilderFactory' => $vendorDir . '/nikic/php-parser/lib/PhpParser/BuilderFactory.php', 'PhpParser\\BuilderHelpers' => $vendorDir . '/nikic/php-parser/lib/PhpParser/BuilderHelpers.php', diff --git a/lib/composer/autoload_static.php b/lib/composer/autoload_static.php index 642367c39..b80d41b55 100644 --- a/lib/composer/autoload_static.php +++ b/lib/composer/autoload_static.php @@ -615,11 +615,13 @@ class ComposerStaticInit0018331147de7601e7552f7da8e3bb8b 'ParseyyStackEntry' => __DIR__ . '/../..' . '/core/oql/build/PHP/Lempar.php', 'ParseyyToken' => __DIR__ . '/../..' . '/core/oql/build/PHP/Lempar.php', 'Pelago\\Emogrifier' => __DIR__ . '/..' . '/pelago/emogrifier/src/Emogrifier.php', - 'Pelago\\Emogrifier\\CssConcatenator' => __DIR__ . '/..' . '/pelago/emogrifier/src/Emogrifier/CssConcatenator.php', 'Pelago\\Emogrifier\\CssInliner' => __DIR__ . '/..' . '/pelago/emogrifier/src/Emogrifier/CssInliner.php', 'Pelago\\Emogrifier\\HtmlProcessor\\AbstractHtmlProcessor' => __DIR__ . '/..' . '/pelago/emogrifier/src/Emogrifier/HtmlProcessor/AbstractHtmlProcessor.php', 'Pelago\\Emogrifier\\HtmlProcessor\\CssToAttributeConverter' => __DIR__ . '/..' . '/pelago/emogrifier/src/Emogrifier/HtmlProcessor/CssToAttributeConverter.php', 'Pelago\\Emogrifier\\HtmlProcessor\\HtmlNormalizer' => __DIR__ . '/..' . '/pelago/emogrifier/src/Emogrifier/HtmlProcessor/HtmlNormalizer.php', + 'Pelago\\Emogrifier\\HtmlProcessor\\HtmlPruner' => __DIR__ . '/..' . '/pelago/emogrifier/src/Emogrifier/HtmlProcessor/HtmlPruner.php', + 'Pelago\\Emogrifier\\Utilities\\ArrayIntersector' => __DIR__ . '/..' . '/pelago/emogrifier/src/Emogrifier/Utilities/ArrayIntersector.php', + 'Pelago\\Emogrifier\\Utilities\\CssConcatenator' => __DIR__ . '/..' . '/pelago/emogrifier/src/Emogrifier/Utilities/CssConcatenator.php', 'PhpParser\\Builder' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Builder.php', 'PhpParser\\BuilderFactory' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/BuilderFactory.php', 'PhpParser\\BuilderHelpers' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/BuilderHelpers.php', diff --git a/lib/composer/installed.json b/lib/composer/installed.json index 4ada053c3..290313c8b 100644 --- a/lib/composer/installed.json +++ b/lib/composer/installed.json @@ -432,36 +432,36 @@ }, { "name": "pelago/emogrifier", - "version": "v2.1.0", - "version_normalized": "2.1.0.0", + "version": "v3.1.0", + "version_normalized": "3.1.0.0", "source": { "type": "git", "url": "https://github.com/MyIntervals/emogrifier.git", - "reference": "40c3d4f475d44ffc7265a760d1dd0e81f579f96f" + "reference": "f6a5c7d44612d86c3901c93f1592f5440e6b2cd8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/MyIntervals/emogrifier/zipball/40c3d4f475d44ffc7265a760d1dd0e81f579f96f", - "reference": "40c3d4f475d44ffc7265a760d1dd0e81f579f96f", + "url": "https://api.github.com/repos/MyIntervals/emogrifier/zipball/f6a5c7d44612d86c3901c93f1592f5440e6b2cd8", + "reference": "f6a5c7d44612d86c3901c93f1592f5440e6b2cd8", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", - "php": "^5.5.0 || ~7.0.0 || ~7.1.0 || ~7.2.0 || ~7.3.0", - "symfony/css-selector": "^3.4.0 || ^4.0.0" + "php": "^5.6 || ~7.0 || ~7.1 || ~7.2 || ~7.3 || ~7.4", + "symfony/css-selector": "^2.8 || ^3.0 || ^4.0 || ^5.0" }, "require-dev": { - "friendsofphp/php-cs-fixer": "^2.2.0", - "phpmd/phpmd": "^2.6.0", - "phpunit/phpunit": "^4.8.0", - "squizlabs/php_codesniffer": "^3.3.2" + "friendsofphp/php-cs-fixer": "^2.15.3", + "phpmd/phpmd": "^2.7.0", + "phpunit/phpunit": "^5.7.27", + "squizlabs/php_codesniffer": "^3.5.0" }, - "time": "2018-12-08T13:55:46+00:00", + "time": "2019-12-26T19:37:31+00:00", "type": "library", "extra": { "branch-alias": { - "dev-master": "2.1.x-dev" + "dev-master": "4.0.x-dev" } }, "installation-source": "dist", @@ -475,16 +475,6 @@ "MIT" ], "authors": [ - { - "name": "John Reeve", - "email": "jreeve@pelagodesign.com" - }, - { - "name": "Cameron Brooks" - }, - { - "name": "Jaime Prado" - }, { "name": "Oliver Klee", "email": "github@oliverklee.de" @@ -493,9 +483,19 @@ "name": "Zoli Szabó", "email": "zoli.szabo+github@gmail.com" }, + { + "name": "John Reeve", + "email": "jreeve@pelagodesign.com" + }, { "name": "Jake Hotson", "email": "jake@qzdesign.co.uk" + }, + { + "name": "Cameron Brooks" + }, + { + "name": "Jaime Prado" } ], "description": "Converts CSS styles into inline style attributes in your HTML code", @@ -505,6 +505,10 @@ "email", "pre-processing" ], + "support": { + "issues": "https://github.com/MyIntervals/emogrifier/issues", + "source": "https://github.com/MyIntervals/emogrifier" + }, "install-path": "../pelago/emogrifier" }, { diff --git a/lib/composer/installed.php b/lib/composer/installed.php index 53413b733..292559691 100644 --- a/lib/composer/installed.php +++ b/lib/composer/installed.php @@ -5,7 +5,7 @@ 'type' => 'project', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), - 'reference' => '14f18371ff806c027100f6a593ec09f93d76ccf7', + 'reference' => '9ebd884f6e55363b145c271dfc1a9d64cae4d2db', 'name' => '__root__', 'dev' => true, ), @@ -16,7 +16,7 @@ 'type' => 'project', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), - 'reference' => '14f18371ff806c027100f6a593ec09f93d76ccf7', + 'reference' => '9ebd884f6e55363b145c271dfc1a9d64cae4d2db', 'dev_requirement' => false, ), 'combodo/tcpdf' => array( @@ -83,12 +83,12 @@ 'dev_requirement' => false, ), 'pelago/emogrifier' => array( - 'pretty_version' => 'v2.1.0', - 'version' => '2.1.0.0', + 'pretty_version' => 'v3.1.0', + 'version' => '3.1.0.0', 'type' => 'library', 'install_path' => __DIR__ . '/../pelago/emogrifier', 'aliases' => array(), - 'reference' => '40c3d4f475d44ffc7265a760d1dd0e81f579f96f', + 'reference' => 'f6a5c7d44612d86c3901c93f1592f5440e6b2cd8', 'dev_requirement' => false, ), 'psr/cache' => array( diff --git a/lib/pelago/emogrifier/.gitignore b/lib/pelago/emogrifier/.gitignore deleted file mode 100644 index 8bfbb851e..000000000 --- a/lib/pelago/emogrifier/.gitignore +++ /dev/null @@ -1,25 +0,0 @@ -######################### -# global ignore file -######################## -# ignoring temporary files (left by e.g. vim) -# ignoring by common IDE's used directories/files -# dont ignore .rej and .orig as we want to see/clean files after conflict resolution -# -# for local exclude patterns please edit .git/info/exclude -# -*~ -*.bak -*.idea -*.project -*.swp -.buildpath -.cache -.project -.session -.settings -.TemporaryItems -.webprj -nbproject -/.php_cs.cache -/vendor/ -composer.lock diff --git a/lib/pelago/emogrifier/.travis.yml b/lib/pelago/emogrifier/.travis.yml deleted file mode 100644 index f3a6c22ea..000000000 --- a/lib/pelago/emogrifier/.travis.yml +++ /dev/null @@ -1,65 +0,0 @@ -sudo: false - -language: php - -php: -- 5.5 -- 5.6 -- 7.0 -- 7.1 -- 7.2 -- 7.3 - -cache: - directories: - - vendor - - $HOME/.composer/cache - -env: - matrix: - - DEPENDENCIES_PREFERENCE="--prefer-lowest" - - DEPENDENCIES_PREFERENCE="" - -before_install: -- phpenv config-rm xdebug.ini || echo "xdebug not available" - -install: -- > - export IGNORE_PLATFORM_REQS="$(composer php:version |grep -q '^7.3' && printf -- --ignore-platform-reqs)"; - echo; - echo "Updating the dependencies"; - composer update $IGNORE_PLATFORM_REQS --with-dependencies $DEPENDENCIES_PREFERENCE; - composer show; - -script: -- > - echo; - echo "Validating the composer.json"; - composer validate --no-check-all --no-check-lock --strict; - -- > - echo; - echo "Linting all PHP files"; - composer ci:php:lint; - -- > - echo; - echo "Running the unit tests"; - composer ci:tests:unit; - -- > - echo; - echo "Running PHPMD"; - composer ci:php:md; - -- > - echo; - function version_gte() { test "$(printf '%s\n' "$@" | sort -n -t. -r | head -n 1)" = "$1"; }; - if version_gte $(composer php:version) 7; then - echo "Installing slevomat/coding-standard only for PHP 7.x"; - composer require $IGNORE_PLATFORM_REQS --dev slevomat/coding-standard:^4.0 $DEPENDENCIES_PREFERENCE; - echo "Running PHP_CodeSniffer"; - composer ci:php:sniff; - else - echo "Skipped PHP_CodeSniffer due to insufficient PHP version: $(composer php:version)"; - fi; diff --git a/lib/pelago/emogrifier/CHANGELOG.md b/lib/pelago/emogrifier/CHANGELOG.md index 938e2b511..6ee477312 100644 --- a/lib/pelago/emogrifier/CHANGELOG.md +++ b/lib/pelago/emogrifier/CHANGELOG.md @@ -15,6 +15,200 @@ This project adheres to [Semantic Versioning](https://semver.org/). ### Fixed +## 3.1.0 + +### Added +- Add support for PHP 7.4 + ([#821](https://github.com/MyIntervals/emogrifier/pull/821), + [#829](https://github.com/MyIntervals/emogrifier/pull/829)) + +### Changed +- Upgrade to Symfony 5.0 + ([#822](https://github.com/MyIntervals/emogrifier/pull/820) + +## 3.0.0 + +### Added +- Test and document excluding entire subtree with `addExcludedSelector()` + ([#347](https://github.com/MyIntervals/emogrifier/issues/347), + [#768](https://github.com/MyIntervals/emogrifier/pull/768)) +- Test that rules with `:optional` or `:required` are copied to the `