From f776f817bd94d1e7c6acd35695e3240a515062c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Mond=C3=A9jar=20Rubio?= Date: Wed, 4 Sep 2024 18:32:01 +0200 Subject: [PATCH] perf: faster `resetIconPosition` avoiding to parse path twice (#10497) --- lib/svg-helpers.js | 5 +++-- package-lock.json | 9 ++++----- package.json | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/svg-helpers.js b/lib/svg-helpers.js index 18ff04cd47..5daf08e3c2 100644 --- a/lib/svg-helpers.js +++ b/lib/svg-helpers.js @@ -19,9 +19,10 @@ function getIconSize(iconKey) { return { width: x1 - x0, height: y1 - y0 } } -function resetIconPosition(path) { +function resetIconPosition(d) { + const path = svgpath(d) const [offsetX, offsetY] = svgPathBbox(path) - const pathReset = svgpath(path).translate(-offsetX, -offsetY).toString() + const pathReset = path.translate(-offsetX, -offsetY).toString() return pathReset } diff --git a/package-lock.json b/package-lock.json index d39f5ac896..46e8fbdf3c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -53,7 +53,7 @@ "semver": "~7.6.3", "simple-icons": "13.7.0", "smol-toml": "1.3.0", - "svg-path-bbox": "^2.0.0", + "svg-path-bbox": "^2.1.0", "svgpath": "^2.6.0", "webextension-store-meta": "^1.2.3", "xpath": "~0.0.34" @@ -28166,10 +28166,9 @@ "dev": true }, "node_modules/svg-path-bbox": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/svg-path-bbox/-/svg-path-bbox-2.0.0.tgz", - "integrity": "sha512-DP/dcKuwjfJ2GXiM1RsIKcWv+aGazBXTYPuAH9pWYZVm5+pZ6ho70BeLB0inqUGDCCHDmcUlQ2OcLlGuwhmkKQ==", - "license": "BSD-3-Clause", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/svg-path-bbox/-/svg-path-bbox-2.1.0.tgz", + "integrity": "sha512-PEoSQFbBvL7FOCE4cN8Knej6L7bXdNkjPcUYsfMMpq0HpnqiO0sE2mcXTd7LX160aOyh5HbaeN/SoY8thMk5Kg==", "dependencies": { "svgpath": "^2.6.0" }, diff --git a/package.json b/package.json index ce296747f1..48788f4998 100644 --- a/package.json +++ b/package.json @@ -65,7 +65,7 @@ "semver": "~7.6.3", "simple-icons": "13.7.0", "smol-toml": "1.3.0", - "svg-path-bbox": "^2.0.0", + "svg-path-bbox": "^2.1.0", "svgpath": "^2.6.0", "webextension-store-meta": "^1.2.3", "xpath": "~0.0.34"