diff --git a/library/PostFilters/AllowPostsFromOtherSitesToKeepTheirPermalinks.php b/library/PostFilters/AllowPostsFromOtherSitesToKeepTheirPermalinks.php index 74a5e838c..e9c8ce99a 100644 --- a/library/PostFilters/AllowPostsFromOtherSitesToKeepTheirPermalinks.php +++ b/library/PostFilters/AllowPostsFromOtherSitesToKeepTheirPermalinks.php @@ -11,17 +11,23 @@ use WpService\Contracts\IsMultisite; use WpService\Contracts\RestoreCurrentBlog; use WpService\Contracts\SwitchToBlog; +use WpService\Contracts\RemoveFilter; /** * Allow posts from other sites to keep their permalinks. */ class AllowPostsFromOtherSitesToKeepTheirPermalinks implements Hookable { + public const FILTER_PRIORITY = 10; + public const FILTER_NAME = 'post_link'; + public const FILTER_ARGUMENTS = 2; + public const FILTER_FUNCTION = 'getPermalinkFromOtherSite'; + /** * Constructor. */ public function __construct( - private AddFilter&IsMultisite&GetCurrentBlogId&GetBlogIdFromUrl&SwitchToBlog&GetPermalink&RestoreCurrentBlog $wpService + private AddFilter&IsMultisite&GetCurrentBlogId&GetBlogIdFromUrl&SwitchToBlog&GetPermalink&RestoreCurrentBlog&RemoveFilter $wpService ) { } @@ -30,7 +36,7 @@ public function __construct( */ public function addHooks(): void { - $this->wpService->addFilter('post_link', [$this, 'getPermalinkFromOtherSite'], 10, 2); + $this->wpService->addFilter(self::FILTER_NAME, [$this, self::FILTER_FUNCTION], self::FILTER_PRIORITY, self::FILTER_ARGUMENTS); } /** @@ -43,6 +49,8 @@ public function addHooks(): void */ public function getPermalinkFromOtherSite(string $permalink, WP_Post $post): string { + $this->wpService->removeFilter(self::FILTER_NAME, [$this, self::FILTER_FUNCTION], self::FILTER_PRIORITY); + if (!$this->wpService->isMultisite()) { return $permalink; } @@ -54,7 +62,11 @@ public function getPermalinkFromOtherSite(string $permalink, WP_Post $post): str return $permalink; } - return $this->getOtherSitesPostLink($otherSitesId, $post); + $filteredPermalink = $this->getOtherSitesPostLink($otherSitesId, $post); + + $this->wpService->addFilter(self::FILTER_NAME, [$this, self::FILTER_FUNCTION], self::FILTER_PRIORITY, self::FILTER_ARGUMENTS); + + return $filteredPermalink; } /** diff --git a/library/PostFilters/AllowPostsFromOtherSitesToKeepTheirPermalinks.test.php b/library/PostFilters/AllowPostsFromOtherSitesToKeepTheirPermalinks.test.php index 9f0252f30..1a367f6ca 100644 --- a/library/PostFilters/AllowPostsFromOtherSitesToKeepTheirPermalinks.test.php +++ b/library/PostFilters/AllowPostsFromOtherSitesToKeepTheirPermalinks.test.php @@ -5,6 +5,7 @@ use Municipio\TestUtils\WpMockFactory; use PHPUnit\Framework\TestCase; use WpService\Implementations\FakeWpService; +use Municipio\PostFilters\AllowPostsFromOtherSitesToKeepTheirPermalinks as SUT; class AllowPostsFromOtherSitesToKeepTheirPermalinksTest extends TestCase { @@ -14,11 +15,11 @@ class AllowPostsFromOtherSitesToKeepTheirPermalinksTest extends TestCase public function testGetPermalinkFromOtherSiteAttachesFilterToPostLink() { $wpService = new FakeWpService(['addFilter' => true]); - $filter = new AllowPostsFromOtherSitesToKeepTheirPermalinks($wpService); + $filter = new SUT($wpService); $filter->addHooks(); - $this->assertEquals('post_link', $wpService->methodCalls['addFilter'][0][0]); + $this->assertEquals(SUT::FILTER_NAME, $wpService->methodCalls['addFilter'][0][0]); } /** @@ -26,8 +27,8 @@ public function testGetPermalinkFromOtherSiteAttachesFilterToPostLink() */ public function testGetPermalinkFromOtherSiteReturnsPermalinkIfSiteIsNotMultisite() { - $wpService = new FakeWpService(['isMultisite' => false]); - $filter = new AllowPostsFromOtherSitesToKeepTheirPermalinks($wpService); + $wpService = new FakeWpService(['isMultisite' => false, 'removeFilter' => true]); + $filter = new SUT($wpService); $this->assertEquals('permalink', $filter->getPermalinkFromOtherSite('permalink', WpMockFactory::createWpPost())); } @@ -41,8 +42,10 @@ public function testGetPermalinkFromOtherSiteReturnsPermalinkIfSiteIsSameAsCurre 'isMultisite' => true, 'getCurrentBlogId' => 1, 'getBlogIdFromUrl' => 1, + 'removeFilter' => true, + 'addFilter' => true, ]); - $filter = new AllowPostsFromOtherSitesToKeepTheirPermalinks($wpService); + $filter = new SUT($wpService); $post = WpMockFactory::createWpPost(['guid' => 'http://example.com/path']); $this->assertEquals('permalink', $filter->getPermalinkFromOtherSite('permalink', $post)); @@ -61,8 +64,10 @@ public function testGetPermalinkFromOtherSiteReturnsPermalinkFromOtherSite() 'getPermalink' => $url, 'switchToBlog' => true, 'restoreCurrentBlog' => true, + 'removeFilter' => true, + 'addFilter' => true, ]); - $filter = new AllowPostsFromOtherSitesToKeepTheirPermalinks($wpService); + $filter = new SUT($wpService); $post = WpMockFactory::createWpPost(['ID' => 1, 'guid' => $url]); $this->assertEquals($url, $filter->getPermalinkFromOtherSite('permalink', $post)); @@ -81,8 +86,10 @@ public function testGetPermalinkFromOtherSiteAllowsSwitchingToDifferentTypesOfUr 'getPermalink' => $url, 'switchToBlog' => true, 'restoreCurrentBlog' => true, + 'removeFilter' => true, + 'addFilter' => true, ]); - $filter = new AllowPostsFromOtherSitesToKeepTheirPermalinks($wpService); + $filter = new SUT($wpService); $post = WpMockFactory::createWpPost(['ID' => 1, 'guid' => $url]); $filter->getPermalinkFromOtherSite('permalink', $post); diff --git a/package-lock.json b/package-lock.json index 1859b0add..7cb3e2c18 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@helsingborg-stad/municipio", - "version": "5.36.16", + "version": "5.48.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@helsingborg-stad/municipio", - "version": "5.36.16", + "version": "5.48.3", "license": "MIT", "dependencies": { "@babel/plugin-transform-runtime": "^7.17.0", @@ -1557,9 +1557,9 @@ } }, "node_modules/@helsingborg-stad/styleguide": { - "version": "0.11.1149", - "resolved": "https://npm.pkg.github.com/download/@helsingborg-stad/styleguide/0.11.1149/720ce8e775e5c5e00f9ec94e54d2094b0fe03825", - "integrity": "sha512-KUAexnFlnrKhJqZM+WuQtsj4LcQ5FZNYsujzdylRCkscWA0L3vDAhK5OWhA6fCG3g1LajLB7nd/nbAxLJPH/Tg==", + "version": "0.11.1151", + "resolved": "https://npm.pkg.github.com/download/@helsingborg-stad/styleguide/0.11.1151/eae4414cf3554e8bea449545f40a5d95a13e83b5", + "integrity": "sha512-4fJRYFNlPiEd86OGl7/no2OETd6abi+4pLrcrSOqIeksbaTGpdzkOPho+AJ+6HazgeN3Sj/x/bllywBAQkl07g==", "dev": true, "license": "MIT", "dependencies": { @@ -2094,9 +2094,9 @@ "dev": true }, "node_modules/@types/leaflet": { - "version": "1.9.12", - "resolved": "https://registry.npmjs.org/@types/leaflet/-/leaflet-1.9.12.tgz", - "integrity": "sha512-BK7XS+NyRI291HIo0HCfE18Lp8oA30H1gpi1tf0mF3TgiCEzanQjOqNZ4x126SXzzi2oNSZhZ5axJp1k0iM6jg==", + "version": "1.9.13", + "resolved": "https://registry.npmjs.org/@types/leaflet/-/leaflet-1.9.13.tgz", + "integrity": "sha512-wwLL4VKKwYlLmhMQRc/8HT5/8HgkzZyETG0hG3nbsSiHKSdxBWZnHqEkRIOOtpyUks3gbc81dk9WgQMC6bicDw==", "dev": true, "dependencies": { "@types/geojson": "*" @@ -2124,9 +2124,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "22.7.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.5.tgz", - "integrity": "sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ==", + "version": "22.7.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.7.tgz", + "integrity": "sha512-SRxCrrg9CL/y54aiMCG3edPKdprgMVGDXjA3gB8UmmBW5TcXzRUYAh8EWzTnSJFAd1rgImPELza+A3bJ+qxz8Q==", "dev": true, "dependencies": { "undici-types": "~6.19.2" @@ -2592,12 +2592,12 @@ } }, "node_modules/aria-query": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", - "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", "dev": true, - "dependencies": { - "deep-equal": "^2.0.5" + "engines": { + "node": ">= 0.4" } }, "node_modules/array-buffer-byte-length": { @@ -2863,9 +2863,9 @@ } }, "node_modules/axe-core": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.0.tgz", - "integrity": "sha512-Mr2ZakwQ7XUAjp7pAwQWRhhK8mQQ6JAaNWSjmjxil0R8BPioMtQsTLOolGYkji1rcL++3dCqZA3zWqpT+9Ew6g==", + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.1.tgz", + "integrity": "sha512-qPC9o+kD8Tir0lzNGLeghbOrWMr3ZJpaRlCIb6Uobt/7N4FiEDvqUMnxzCHRHmg8vOg14kr5gVNyScRmbMaJ9g==", "dev": true, "engines": { "node": ">=4" @@ -3401,9 +3401,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001668", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001668.tgz", - "integrity": "sha512-nWLrdxqCdblixUO+27JtGJJE/txpJlyUy5YN1u53wLZkP0emYCo5zgS6QYft7VUYR42LGgi/S5hdLZTrnyIddw==", + "version": "1.0.30001669", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001669.tgz", + "integrity": "sha512-DlWzFDJqstqtIVx1zeSpIMLjunf5SmwOw0N2Ck/QSQdS8PLS4+9HrLaYei4w8BIAL7IB/UEDu889d8vhCTPA0w==", "funding": [ { "type": "opencollective", @@ -4268,38 +4268,6 @@ } } }, - "node_modules/deep-equal": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz", - "integrity": "sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==", - "dev": true, - "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.5", - "es-get-iterator": "^1.1.3", - "get-intrinsic": "^1.2.2", - "is-arguments": "^1.1.1", - "is-array-buffer": "^3.0.2", - "is-date-object": "^1.0.5", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "isarray": "^2.0.5", - "object-is": "^1.1.5", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.1", - "side-channel": "^1.0.4", - "which-boxed-primitive": "^1.0.2", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -4626,9 +4594,9 @@ "dev": true }, "node_modules/electron-to-chromium": { - "version": "1.5.36", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.36.tgz", - "integrity": "sha512-HYTX8tKge/VNp6FGO+f/uVDmUkq+cEfcxYhKf15Akc4M5yxt5YmorwlAitKWjWhWQnKcDRBAQKXkhqqXMqcrjw==" + "version": "1.5.41", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.41.tgz", + "integrity": "sha512-dfdv/2xNjX0P8Vzme4cfzHqnPm5xsZXwsolTYr0eyW18IUmNyG08vL+fttvinTfhKfIKdRoqkDIC9e9iWQCNYQ==" }, "node_modules/emoji-regex": { "version": "9.2.2", @@ -4821,26 +4789,6 @@ "node": ">= 0.4" } }, - "node_modules/es-get-iterator": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", - "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "is-arguments": "^1.1.1", - "is-map": "^2.0.2", - "is-set": "^2.0.2", - "is-string": "^1.0.7", - "isarray": "^2.0.5", - "stop-iteration-iterator": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/es-iterator-helpers": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.1.0.tgz", @@ -5168,12 +5116,12 @@ } }, "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.0.tgz", - "integrity": "sha512-ySOHvXX8eSN6zz8Bywacm7CvGNhUtdjvqfQDVe6020TUK34Cywkw7m0KsCCk1Qtm9G1FayfTN1/7mMYnYO2Bhg==", + "version": "6.10.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.1.tgz", + "integrity": "sha512-zHByM9WTUMnfsDTafGXRiqxp6lFtNoSOWBY6FonVRn3A+BUwN1L/tdBXT40BcBJi0cZjOGTXZ0eD/rTG9fEJ0g==", "dev": true, "dependencies": { - "aria-query": "~5.1.3", + "aria-query": "^5.3.2", "array-includes": "^3.1.8", "array.prototype.flatmap": "^1.3.2", "ast-types-flow": "^0.0.8", @@ -5181,14 +5129,14 @@ "axobject-query": "^4.1.0", "damerau-levenshtein": "^1.0.8", "emoji-regex": "^9.2.2", - "es-iterator-helpers": "^1.0.19", + "es-iterator-helpers": "^1.1.0", "hasown": "^2.0.2", "jsx-ast-utils": "^3.3.5", "language-tags": "^1.0.9", "minimatch": "^3.1.2", "object.fromentries": "^2.0.8", "safe-regex-test": "^1.0.3", - "string.prototype.includes": "^2.0.0" + "string.prototype.includes": "^2.0.1" }, "engines": { "node": ">=4.0" @@ -5736,9 +5684,9 @@ "dev": true }, "node_modules/fast-uri": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.2.tgz", - "integrity": "sha512-GR6f0hD7XXyNJa25Tb9BuIdN0tdr+0BMi6/CJPH3wJO1JjNG3n/VsSw38AwRdKZABm8lGbPfakLRkYzx2V9row==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.3.tgz", + "integrity": "sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw==", "dev": true }, "node_modules/fastest-levenshtein": { @@ -6742,22 +6690,6 @@ "node": ">= 10" } }, - "node_modules/is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-array-buffer": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", @@ -8163,22 +8095,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object-is": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz", - "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", @@ -8569,9 +8485,9 @@ } }, "node_modules/picocolors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", - "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" }, "node_modules/picomatch": { "version": "2.3.1", @@ -9840,9 +9756,9 @@ "dev": true }, "node_modules/sass": { - "version": "1.79.5", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.79.5.tgz", - "integrity": "sha512-W1h5kp6bdhqFh2tk3DsI771MoEJjvrSY/2ihJRJS4pjIyfJCw0nTsxqhnrUzaLMOJjFchj8rOvraI/YUVjtx5g==", + "version": "1.80.3", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.80.3.tgz", + "integrity": "sha512-ptDWyVmDMVielpz/oWy3YP3nfs7LpJTHIJZboMVs8GEC9eUmtZTZhMHlTW98wY4aEorDfjN38+Wr/XjskFWcfA==", "dev": true, "dependencies": { "@parcel/watcher": "^2.4.1", @@ -10461,18 +10377,6 @@ "node": ">= 0.6" } }, - "node_modules/stop-iteration-iterator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", - "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", - "dev": true, - "dependencies": { - "internal-slot": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/stream-throttle": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/stream-throttle/-/stream-throttle-0.1.3.tgz", @@ -10623,13 +10527,17 @@ } }, "node_modules/string.prototype.includes": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.0.tgz", - "integrity": "sha512-E34CkBgyeqNDcrbU76cDjL5JLcVrtSdYq0MEh/B10r17pRP4ciHLwTgnuLV8Ay6cgEMLkcBkFCKyFZ43YldYzg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz", + "integrity": "sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==", "dev": true, "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3" + }, + "engines": { + "node": ">= 0.4" } }, "node_modules/string.prototype.matchall": { @@ -10949,9 +10857,9 @@ "dev": true }, "node_modules/terser": { - "version": "5.34.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.34.1.tgz", - "integrity": "sha512-FsJZ7iZLd/BXkz+4xrRTGJ26o/6VTjQytUk8b8OxkwcD2I+79VPJlz7qss1+zE7h8GNIScFqXcDyJ/KqBYZFVA==", + "version": "5.36.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.36.0.tgz", + "integrity": "sha512-IYV9eNMuFAV4THUspIRXkLakHnV6XO7FEdtKjf/mDyrnqUg9LnlOn6/RwRvM9SZjR4GUq8Nk8zj67FzVARr74w==", "dev": true, "dependencies": { "@jridgewell/source-map": "^0.3.3", @@ -11019,9 +10927,9 @@ } }, "node_modules/terser/node_modules/acorn": { - "version": "8.12.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", - "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.13.0.tgz", + "integrity": "sha512-8zSiw54Oxrdym50NlZ9sUusyO1Z1ZchgRLWRaK6c86XJFClyCgFKetdowBg5bKxyp/u+CDBJG4Mpp0m3HLZl9w==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -12001,9 +11909,9 @@ } }, "node_modules/webpack/node_modules/acorn": { - "version": "8.12.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", - "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.13.0.tgz", + "integrity": "sha512-8zSiw54Oxrdym50NlZ9sUusyO1Z1ZchgRLWRaK6c86XJFClyCgFKetdowBg5bKxyp/u+CDBJG4Mpp0m3HLZl9w==", "dev": true, "bin": { "acorn": "bin/acorn"