From 044e252d195be7fb9c523e5ab7e5f37eae7f03fd Mon Sep 17 00:00:00 2001 From: Mario Date: Thu, 5 Oct 2023 11:35:02 +0000 Subject: composer update html to markdown --- .../league/html-to-markdown/.github/renovate.json | 25 ++++++++++++++++ .../html-to-markdown/.github/workflows/tests.yml | 14 ++++----- vendor/league/html-to-markdown/CHANGELOG.md | 10 ++++++- vendor/league/html-to-markdown/composer.json | 18 +++++++++-- vendor/league/html-to-markdown/src/Coerce.php | 35 ++++++++++++++++++++++ .../src/Converter/LinkConverter.php | 2 +- .../src/Converter/ListItemConverter.php | 5 ++-- .../src/Converter/PreformattedConverter.php | 4 ++- .../src/Converter/TableConverter.php | 3 +- vendor/league/html-to-markdown/src/Element.php | 10 +++---- .../league/html-to-markdown/src/HtmlConverter.php | 2 +- 11 files changed, 105 insertions(+), 23 deletions(-) create mode 100644 vendor/league/html-to-markdown/.github/renovate.json create mode 100644 vendor/league/html-to-markdown/src/Coerce.php (limited to 'vendor/league') diff --git a/vendor/league/html-to-markdown/.github/renovate.json b/vendor/league/html-to-markdown/.github/renovate.json new file mode 100644 index 000000000..292bc5592 --- /dev/null +++ b/vendor/league/html-to-markdown/.github/renovate.json @@ -0,0 +1,25 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": [ + "config:base", + ":disableDependencyDashboard" + ], + "enabledManagers": ["github-actions", "composer"], + "packageRules": [ + { + "matchManagers": ["github-actions"], + "extends": ["schedule:weekly"], + "automerge": true + }, + { + "matchManagers": ["composer"], + "matchDepTypes": ["devDependencies"], + "rangeStrategy": "widen", + "automerge": true + }, + { + "matchManagers": ["composer"], + "rangeStrategy": "widen" + } + ] +} diff --git a/vendor/league/html-to-markdown/.github/workflows/tests.yml b/vendor/league/html-to-markdown/.github/workflows/tests.yml index 6abb2de3f..4ea04c983 100644 --- a/vendor/league/html-to-markdown/.github/workflows/tests.yml +++ b/vendor/league/html-to-markdown/.github/workflows/tests.yml @@ -10,7 +10,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: shivammathur/setup-php@v2 with: @@ -28,11 +28,11 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - php: ['7.2', '7.3', '7.4'] + php: ['7.2', '7.3', '7.4', '8.0', '8.1'] coverage: [true] composer-flags: [''] include: - - php: '8.0' + - php: '8.2' coverage: false composer-flags: '--ignore-platform-req=php' - php: '7.2' @@ -40,7 +40,7 @@ jobs: composer-flags: '--prefer-lowest' steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: shivammathur/setup-php@v2 with: @@ -53,7 +53,7 @@ jobs: - name: "Use PHPUnit 9.3+ on PHP 8" run: composer require --no-update --dev phpunit/phpunit:^9.3 - if: "matrix.php == '8.0'" + if: "matrix.php >= '8.0'" - run: composer update --no-progress ${{ matrix.composer-flags }} @@ -72,7 +72,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: shivammathur/setup-php@v2 with: @@ -90,7 +90,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: shivammathur/setup-php@v2 with: diff --git a/vendor/league/html-to-markdown/CHANGELOG.md b/vendor/league/html-to-markdown/CHANGELOG.md index 60e8e6f24..982e92fac 100644 --- a/vendor/league/html-to-markdown/CHANGELOG.md +++ b/vendor/league/html-to-markdown/CHANGELOG.md @@ -4,6 +4,13 @@ Updates should follow the [Keep a CHANGELOG](http://keepachangelog.com/) princip ## [Unreleased][unreleased] +## [5.1.1] - 2023-07-12 + +### Fixed + +- Fixed `
` tags with attributes not being parsed (#215, #238)
+- Fixed missing type checks and coercions
+
 ## [5.1.0] - 2022-03-02
 
 ### Changed
@@ -315,7 +322,8 @@ not ideally set, so this releases fixes that. Moving forwards this should reduce
 ### Added
  - Initial release
 
-[unreleased]: https://github.com/thephpleague/html-to-markdown/compare/5.1.0...master
+[unreleased]: https://github.com/thephpleague/html-to-markdown/compare/5.1.1...master
+[5.1.1]: https://github.com/thephpleague/html-to-markdown/compare/5.1.0...5.1.1
 [5.1.0]: https://github.com/thephpleague/html-to-markdown/compare/5.0.2...5.1.0
 [5.0.2]: https://github.com/thephpleague/html-to-markdown/compare/5.0.1...5.0.2
 [5.0.1]: https://github.com/thephpleague/html-to-markdown/compare/5.0.0...5.0.1
diff --git a/vendor/league/html-to-markdown/composer.json b/vendor/league/html-to-markdown/composer.json
index 22ca054f3..55f2d736c 100644
--- a/vendor/league/html-to-markdown/composer.json
+++ b/vendor/league/html-to-markdown/composer.json
@@ -36,13 +36,25 @@
     },
     "require-dev": {
         "mikehaertl/php-shellcommand": "^1.1.0",
-        "phpstan/phpstan": "^0.12.99",
+        "phpstan/phpstan": "^1.8.8",
         "phpunit/phpunit": "^8.5 || ^9.2",
         "scrutinizer/ocular": "^1.6",
-        "unleashedtech/php-coding-standard": "^2.7",
-        "vimeo/psalm": "^4.22"
+        "unleashedtech/php-coding-standard": "^2.7 || ^3.0",
+        "vimeo/psalm": "^4.22 || ^5.0"
     },
     "bin": ["bin/html-to-markdown"],
+    "scripts": {
+        "phpcs": "phpcs",
+        "phpstan": "phpstan analyse",
+        "phpunit": "phpunit --no-coverage",
+        "psalm": "psalm --stats",
+        "test": [
+            "@phpcs",
+            "@phpstan",
+            "@psalm",
+            "@phpunit"
+        ]
+    },
     "extra": {
         "branch-alias": {
             "dev-master": "5.2-dev"
diff --git a/vendor/league/html-to-markdown/src/Coerce.php b/vendor/league/html-to-markdown/src/Coerce.php
new file mode 100644
index 000000000..4fb0450a0
--- /dev/null
+++ b/vendor/league/html-to-markdown/src/Coerce.php
@@ -0,0 +1,35 @@
+__toString();
+            default:
+                throw new \InvalidArgumentException('Cannot coerce this value to string');
+        }
+    }
+}
diff --git a/vendor/league/html-to-markdown/src/Converter/LinkConverter.php b/vendor/league/html-to-markdown/src/Converter/LinkConverter.php
index 25a3540fe..f0ba157f8 100644
--- a/vendor/league/html-to-markdown/src/Converter/LinkConverter.php
+++ b/vendor/league/html-to-markdown/src/Converter/LinkConverter.php
@@ -72,6 +72,6 @@ class LinkConverter implements ConverterInterface, ConfigurationAwareInterface
 
     private function shouldStrip(): bool
     {
-        return $this->config->getOption('strip_placeholder_links') ?? false;
+        return \boolval($this->config->getOption('strip_placeholder_links') ?? false);
     }
 }
diff --git a/vendor/league/html-to-markdown/src/Converter/ListItemConverter.php b/vendor/league/html-to-markdown/src/Converter/ListItemConverter.php
index 1521aad53..d71f601e1 100644
--- a/vendor/league/html-to-markdown/src/Converter/ListItemConverter.php
+++ b/vendor/league/html-to-markdown/src/Converter/ListItemConverter.php
@@ -4,6 +4,7 @@ declare(strict_types=1);
 
 namespace League\HTMLToMarkdown\Converter;
 
+use League\HTMLToMarkdown\Coerce;
 use League\HTMLToMarkdown\Configuration;
 use League\HTMLToMarkdown\ConfigurationAwareInterface;
 use League\HTMLToMarkdown\ElementInterface;
@@ -38,8 +39,8 @@ class ListItemConverter implements ConverterInterface, ConfigurationAwareInterfa
         }
 
         if ($listType === 'ul') {
-            $listItemStyle          = $this->config->getOption('list_item_style', '-');
-            $listItemStyleAlternate = $this->config->getOption('list_item_style_alternate');
+            $listItemStyle          = Coerce::toString($this->config->getOption('list_item_style', '-'));
+            $listItemStyleAlternate = Coerce::toString($this->config->getOption('list_item_style_alternate', ''));
             if (! isset($this->listItemStyle)) {
                 $this->listItemStyle = $listItemStyleAlternate ?: $listItemStyle;
             }
diff --git a/vendor/league/html-to-markdown/src/Converter/PreformattedConverter.php b/vendor/league/html-to-markdown/src/Converter/PreformattedConverter.php
index 7d8ccc132..af6dd1051 100644
--- a/vendor/league/html-to-markdown/src/Converter/PreformattedConverter.php
+++ b/vendor/league/html-to-markdown/src/Converter/PreformattedConverter.php
@@ -11,7 +11,9 @@ class PreformattedConverter implements ConverterInterface
     public function convert(ElementInterface $element): string
     {
         $preContent = \html_entity_decode($element->getChildrenAsString());
-        $preContent = \str_replace(['
', '
'], '', $preContent); + $preContent = \preg_replace('/]*>/', '', $preContent); + \assert($preContent !== null); + $preContent = \str_replace('
', '', $preContent); /* * Checking for the code tag. diff --git a/vendor/league/html-to-markdown/src/Converter/TableConverter.php b/vendor/league/html-to-markdown/src/Converter/TableConverter.php index 2e63e9a5b..91e718076 100644 --- a/vendor/league/html-to-markdown/src/Converter/TableConverter.php +++ b/vendor/league/html-to-markdown/src/Converter/TableConverter.php @@ -4,6 +4,7 @@ declare(strict_types=1); namespace League\HTMLToMarkdown\Converter; +use League\HTMLToMarkdown\Coerce; use League\HTMLToMarkdown\Configuration; use League\HTMLToMarkdown\ConfigurationAwareInterface; use League\HTMLToMarkdown\ElementInterface; @@ -89,7 +90,7 @@ class TableConverter implements ConverterInterface, PreConverterInterface, Confi } $value = \str_replace("\n", ' ', $value); - $value = \str_replace('|', $this->config->getOption('table_pipe_escape') ?? '\|', $value); + $value = \str_replace('|', Coerce::toString($this->config->getOption('table_pipe_escape') ?? '\|'), $value); return '| ' . \trim($value) . ' '; case 'thead': diff --git a/vendor/league/html-to-markdown/src/Element.php b/vendor/league/html-to-markdown/src/Element.php index 0515b5995..ef3ecfa9a 100644 --- a/vendor/league/html-to-markdown/src/Element.php +++ b/vendor/league/html-to-markdown/src/Element.php @@ -98,6 +98,8 @@ class Element implements ElementInterface { $ret = []; foreach ($this->node->childNodes as $node) { + /** @psalm-suppress RedundantCondition */ + \assert($node instanceof \DOMNode); $ret[] = new self($node); } @@ -116,7 +118,7 @@ class Element implements ElementInterface return $this->nextCached; } - private function getNextNode(\DomNode $node, bool $checkChildren = true): ?\DomNode + private function getNextNode(\DOMNode $node, bool $checkChildren = true): ?\DOMNode { if ($checkChildren && $node->firstChild) { return $node->firstChild; @@ -142,11 +144,7 @@ class Element implements ElementInterface $tagNames = [$tagNames]; } - for ($p = $this->node->parentNode; $p !== false; $p = $p->parentNode) { - if ($p === null) { - return false; - } - + for ($p = $this->node->parentNode; $p !== null; $p = $p->parentNode) { if (\in_array($p->nodeName, $tagNames, true)) { return true; } diff --git a/vendor/league/html-to-markdown/src/HtmlConverter.php b/vendor/league/html-to-markdown/src/HtmlConverter.php index 7162b256d..944cb081b 100644 --- a/vendor/league/html-to-markdown/src/HtmlConverter.php +++ b/vendor/league/html-to-markdown/src/HtmlConverter.php @@ -212,7 +212,7 @@ class HtmlConverter implements HtmlConverterInterface $tag = $element->getTagName(); // Strip nodes named in remove_nodes - $tagsToRemove = \explode(' ', $this->getConfig()->getOption('remove_nodes') ?? ''); + $tagsToRemove = \explode(' ', Coerce::toString($this->getConfig()->getOption('remove_nodes') ?? '')); if (\in_array($tag, $tagsToRemove, true)) { return ''; } -- cgit v1.2.3