Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: dont trim pre elements #1796

Merged
merged 2 commits into from
Nov 12, 2023
Merged

fix: dont trim pre elements #1796

merged 2 commits into from
Nov 12, 2023

Conversation

SethFalco
Copy link
Member

While working on the demo for #1794, I noticed an issue with how we handle pre tags in a foreignObject.

The pre tag is space sensitive, so adding or removing whitespace from either end will change the result. This expands the list of elements that we don't trim to include pre. I did not do this in _collections.js since that was focused on SVG nodes, so I've put it in tools.js.

Feedback welcome if you know a better place this constant could live, but I would prefer if we didn't maintain it twice between parser.js and stringifier.js.

MRE

minimal

main (82593c6)

Before it would output one of the following depending on if js2svg.pretty was enabled or not.

optimized

optimized

@SethFalco SethFalco force-pushed the fix/dont-trim-pre branch 2 times, most recently from bf4c90c to c088877 Compare November 12, 2023 11:51
@SethFalco SethFalco merged commit a9df915 into svg:main Nov 12, 2023
6 checks passed
nono referenced this pull request in cozy/cozy-stack Nov 20, 2023
[![Mend Renovate logo
banner](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [svgo](https://svgo.dev) ([source](https://togithub.com/svg/svgo)) |
[`3.0.3` -> `3.0.4`](https://renovatebot.com/diffs/npm/svgo/3.0.3/3.0.4)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/svgo/3.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/svgo/3.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/svgo/3.0.3/3.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/svgo/3.0.3/3.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>svg/svgo (svgo)</summary>

### [`v3.0.4`](https://togithub.com/svg/svgo/releases/tag/v3.0.4)

[Compare Source](https://togithub.com/svg/svgo/compare/v3.0.3...v3.0.4)

Includes various bug fixes for existing plugins and a new optimization.
Also splits `removeXMLNS`, which removed XLink, into two separate
plugins, `removeXMLNS` and `removeXlink`.

#### What's Changed

##### Default Behavior

- **Remove XML Namespace**, no longer removes the XLink (`xmlns:xlink`)
namespace. If that is desirable, you should enable the new [Remove
XLink](https://svgo.dev/docs/plugins/remove-xlink/) (`removeXlink`)
plugin, which does more while being safer. By
[@&#8203;TrySound](https://togithub.com/TrySound) and
[@&#8203;SethFalco](https://togithub.com/SethFalco) in
[https://github.com/svg/svgo/pull/1535](https://togithub.com/svg/svgo/pull/1535)

##### Bug Fixes

- **Convert Path Commands**, ignore instances where transform applied
via style tag. By [@&#8203;SethFalco](https://togithub.com/SethFalco) in
[https://github.com/svg/svgo/pull/1830](https://togithub.com/svg/svgo/pull/1830)
- **Inline Styles**, inline properties with the same specificity in the
order that they appear in the stylesheet. By
[@&#8203;SethFalco](https://togithub.com/SethFalco) in
[https://github.com/svg/svgo/pull/1831](https://togithub.com/svg/svgo/pull/1831)
- **Inline Styles**, don't remove class or id from node if it's
traversed in another CSS selector. By
[@&#8203;SethFalco](https://togithub.com/SethFalco) in
[https://github.com/svg/svgo/pull/1832](https://togithub.com/svg/svgo/pull/1832)
and
[https://github.com/svg/svgo/pull/1836](https://togithub.com/svg/svgo/pull/1836)
- Don't trim
[`pre`](https://developer.mozilla.org/docs/Web/HTML/Element/pre)
elements in
[`foreignObject`](https://developer.mozilla.org/docs/Web/SVG/Element/foreignObject).
By [@&#8203;SethFalco](https://togithub.com/SethFalco) in
[https://github.com/svg/svgo/pull/1796](https://togithub.com/svg/svgo/pull/1796)
- Don't crash when encountering
[`@-webkit-keyframes`](https://webkit.org/blog/324/css-animation-2/) in
`<style>` node. By [@&#8203;SethFalco](https://togithub.com/SethFalco)
in
[https://github.com/svg/svgo/pull/1826](https://togithub.com/svg/svgo/pull/1826)

##### SVG Optimization

- **Convert Path Commands**, convert to `z` command if going back to
initial position, or drop `z` if redundant. By
[@&#8203;KTibow](https://togithub.com/KTibow) in
[https://github.com/svg/svgo/pull/1822](https://togithub.com/svg/svgo/pull/1822)
- **Inline Styles**, when inlining a CSS property that's already
declared in a presentation attribute of the node, drop the attribute. By
[@&#8203;SethFalco](https://togithub.com/SethFalco) in
[https://github.com/svg/svgo/pull/1829](https://togithub.com/svg/svgo/pull/1829)
- **Remove XLink**, new plugin that removes the XLink (`xmlns:xlink`)
namespace and migrates from XLink attributes to the SVG 2 equivalent.
Disabled by default. By
[@&#8203;TrySound](https://togithub.com/TrySound) and
[@&#8203;SethFalco](https://togithub.com/SethFalco) in
[https://github.com/svg/svgo/pull/1535](https://togithub.com/svg/svgo/pull/1535)

#### Metrics

Before and after using vectors from various sources, with the default
preset of each respective version:

| SVG | Original | v3.0.3 | v3.0.4 | Delta |
|---|---|---|---|---|
| [Arch Linux Logo](https://archlinux.org/art/) | 9.529 KiB | 4.738 KiB
| 4.735 KiB | ⬇️ 0.003 KiB |
|
[Blobs](https://gitlab.gnome.org/GNOME/gnome-backgrounds/-/blob/main/backgrounds/blobs-d.svg)
| 50.45 KiB | 42.949 KiB | 42.949 KiB | |
| [Isometric
Madness](https://inkscape.org/~Denis_Kuznetsky/%E2%98%85isometric-madness)
| 869.034 KiB | 550.699 KiB | 550.593 KiB | ⬇️ 0.106 KiB |
| [tldr-pages
Banner](https://togithub.com/tldr-pages/tldr/blob/main/images/banner.svg)
| 2.071 KiB | 1.07 KiB | 1.07 KiB | |
| [Wikipedia
Logo](https://en.wikipedia.org/wiki/File:Wikipedia-logo-v2.svg) |
161.552 KiB | 118.441 KiB | 117.152 KiB | ⬇️ 1.289 KiB |

Before and after of the browser bundle of each respective version:

| | v3.0.3 | v3.0.4 | Delta |
|---|---|---|---|
| svgo.browser.js | 651.7 kB | 656.9 kB | ⬆️  5.2 kB |

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 6am on Monday" in timezone
Europe/Paris, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/cozy/cozy-stack).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy41OS44IiwidXBkYXRlZEluVmVyIjoiMzcuNTkuOCIsInRhcmdldEJyYW5jaCI6Im1hc3RlciJ9-->
gfellerph referenced this pull request in swisspost/design-system Nov 20, 2023
[![Mend Renovate logo
banner](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[@changesets/parse](https://togithub.com/changesets/changesets/tree/main#readme)
([source](https://togithub.com/changesets/changesets)) | [`0.1.0` ->
`0.3.16`](https://renovatebot.com/diffs/npm/@changesets%2fparse/0.1.0/0.3.16)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@changesets%2fparse/0.3.16?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@changesets%2fparse/0.3.16?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@changesets%2fparse/0.1.0/0.3.16?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@changesets%2fparse/0.1.0/0.3.16?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node)
([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped)) |
[`18.18.9` ->
`18.18.10`](https://renovatebot.com/diffs/npm/@types%2fnode/18.18.9/18.18.10)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/18.18.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/18.18.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/18.18.9/18.18.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/18.18.9/18.18.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node)
([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped)) |
[`18.17.19` ->
`18.18.10`](https://renovatebot.com/diffs/npm/@types%2fnode/18.17.19/18.18.10)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/18.18.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/18.18.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/18.17.19/18.18.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/18.17.19/18.18.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/typescript-eslint)
| [`6.11.0` ->
`6.12.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/6.11.0/6.12.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2feslint-plugin/6.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2feslint-plugin/6.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2feslint-plugin/6.11.0/6.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2feslint-plugin/6.11.0/6.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@typescript-eslint/parser](https://togithub.com/typescript-eslint/typescript-eslint)
| [`6.11.0` ->
`6.12.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/6.11.0/6.12.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fparser/6.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2fparser/6.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2fparser/6.11.0/6.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fparser/6.11.0/6.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [core-js](https://togithub.com/zloirock/core-js) | [`3.33.2` ->
`3.33.3`](https://renovatebot.com/diffs/npm/core-js/3.33.2/3.33.3) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/core-js/3.33.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/core-js/3.33.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/core-js/3.33.2/3.33.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/core-js/3.33.2/3.33.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [eslint](https://eslint.org)
([source](https://togithub.com/eslint/eslint)) | [`8.53.0` ->
`8.54.0`](https://renovatebot.com/diffs/npm/eslint/8.53.0/8.54.0) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/eslint/8.54.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/eslint/8.54.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/eslint/8.53.0/8.54.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint/8.53.0/8.54.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[start-server-and-test](https://togithub.com/bahmutov/start-server-and-test)
| [`2.0.2` ->
`2.0.3`](https://renovatebot.com/diffs/npm/start-server-and-test/2.0.2/2.0.3)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/start-server-and-test/2.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/start-server-and-test/2.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/start-server-and-test/2.0.2/2.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/start-server-and-test/2.0.2/2.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [svgo](https://svgo.dev) ([source](https://togithub.com/svg/svgo)) |
[`3.0.3` -> `3.0.4`](https://renovatebot.com/diffs/npm/svgo/3.0.3/3.0.4)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/svgo/3.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/svgo/3.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/svgo/3.0.3/3.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/svgo/3.0.3/3.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>changesets/changesets (@&#8203;changesets/parse)</summary>

###
[`v0.3.16`](https://togithub.com/changesets/changesets/releases/tag/%40changesets/parse%400.3.16)

[Compare
Source](https://togithub.com/changesets/changesets/compare/@changesets/[email protected]...@changesets/[email protected])

##### Patch Changes

- Updated dependencies
\[[`521205d`](https://togithub.com/changesets/changesets/commit/521205dc8c70fe71b181bd3c4bb7c9c6d2e721d2)]:
-
[@&#8203;changesets/types](https://togithub.com/changesets/types)[@&#8203;5](https://togithub.com/5).2.1

###
[`v0.3.15`](https://togithub.com/changesets/changesets/releases/tag/%40changesets/parse%400.3.15)

[Compare
Source](https://togithub.com/changesets/changesets/compare/@changesets/[email protected]...@changesets/[email protected])

##### Patch Changes

- Updated dependencies
\[[`8c08469`](https://togithub.com/changesets/changesets/commit/8c0846977597ddaf51aaeb35f1f0f9428bf8ba14)]:
-
[@&#8203;changesets/types](https://togithub.com/changesets/types)[@&#8203;5](https://togithub.com/5).2.0

###
[`v0.3.14`](https://togithub.com/changesets/changesets/releases/tag/%40changesets/parse%400.3.14)

[Compare
Source](https://togithub.com/changesets/changesets/compare/@changesets/[email protected]...@changesets/[email protected])

##### Patch Changes

- Updated dependencies
\[[`dd9b76f`](https://togithub.com/changesets/changesets/commit/dd9b76f162a546ae8b412e0cb10277f971f3585e)]:
-
[@&#8203;changesets/types](https://togithub.com/changesets/types)[@&#8203;5](https://togithub.com/5).1.0

###
[`v0.3.13`](https://togithub.com/changesets/changesets/releases/tag/%40changesets/parse%400.3.13)

[Compare
Source](https://togithub.com/changesets/changesets/compare/@changesets/[email protected]...@changesets/[email protected])

##### Patch Changes

- Updated dependencies
\[[`c87eba6`](https://togithub.com/changesets/changesets/commit/c87eba6f80a34563b7382f87472c29f6dafb546c)]:
-
[@&#8203;changesets/types](https://togithub.com/changesets/types)[@&#8203;5](https://togithub.com/5).0.0

###
[`v0.3.12`](https://togithub.com/changesets/changesets/releases/tag/%40changesets/parse%400.3.12)

[Compare
Source](https://togithub.com/changesets/changesets/compare/@changesets/[email protected]...@changesets/[email protected])

##### Patch Changes

- Updated dependencies
\[[`27a5a82`](https://togithub.com/changesets/changesets/commit/27a5a82188914570d192162f9d045dfd082a3c15)]:
-
[@&#8203;changesets/types](https://togithub.com/changesets/types)[@&#8203;4](https://togithub.com/4).1.0

###
[`v0.3.11`](https://togithub.com/changesets/changesets/releases/tag/%40changesets/parse%400.3.11)

[Compare
Source](https://togithub.com/changesets/changesets/compare/@changesets/[email protected]...@changesets/[email protected])

##### Patch Changes

- [#&#8203;740](https://togithub.com/changesets/changesets/pull/740)
[`957e39c`](https://togithub.com/changesets/changesets/commit/957e39c21549dd91e03faa5cd30e44e4c3d7331f)
Thanks [@&#8203;akphi](https://togithub.com/akphi)! - Fixed an issue
with failing to parse changesets containing a completely empty summary.

###
[`v0.3.10`](https://togithub.com/changesets/changesets/releases/tag/%40changesets/parse%400.3.10)

[Compare
Source](https://togithub.com/changesets/changesets/compare/@changesets/[email protected]...@changesets/[email protected])

##### Patch Changes

- Updated dependencies
\[[`9a993ba`](https://togithub.com/atlassian/changesets/commit/9a993ba09629c1620d749432520470cec49d3a96)]:
-
[@&#8203;changesets/types](https://togithub.com/changesets/types)[@&#8203;4](https://togithub.com/4).0.2

###
[`v0.3.9`](https://togithub.com/changesets/changesets/releases/tag/%40changesets/parse%400.3.9)

[Compare
Source](https://togithub.com/changesets/changesets/compare/@changesets/[email protected]...@changesets/[email protected])

##### Patch Changes

- Updated dependencies
\[[`e89e28a`](https://togithub.com/atlassian/changesets/commit/e89e28a05f5fa43307db73812a6bcd269b62ddee)]:
-
[@&#8203;changesets/types](https://togithub.com/changesets/types)[@&#8203;4](https://togithub.com/4).0.1

###
[`v0.3.8`](https://togithub.com/changesets/changesets/releases/tag/%40changesets/parse%400.3.8)

[Compare
Source](https://togithub.com/changesets/changesets/compare/@changesets/[email protected]...@changesets/[email protected])

##### Patch Changes

- Updated dependencies
\[[`de2b4a5`](https://togithub.com/atlassian/changesets/commit/de2b4a5a7b244a37d94625bcb70ecde9dde5b612)]:
-
[@&#8203;changesets/types](https://togithub.com/changesets/types)[@&#8203;4](https://togithub.com/4).0.0

###
[`v0.3.7`](https://togithub.com/changesets/changesets/releases/tag/%40changesets/parse%400.3.7)

[Compare
Source](https://togithub.com/changesets/changesets/compare/@changesets/[email protected]...@changesets/[email protected])

##### Patch Changes

-
[`5b6005e`](https://togithub.com/atlassian/changesets/commit/5b6005e0349a105b3d138fccdb22d13de8949862)
[#&#8203;462](https://togithub.com/atlassian/changesets/pull/462) Thanks
[@&#8203;Andarist](https://togithub.com/Andarist)! - Fixed an issue with
failing to parse changesets containing Windows newlines.

###
[`v0.3.6`](https://togithub.com/changesets/changesets/releases/tag/%40changesets/parse%400.3.6)

[Compare
Source](https://togithub.com/changesets/changesets/compare/@changesets/[email protected]...@changesets/[email protected])

##### Patch Changes

- Updated dependencies
\[[`2b49d66`](https://togithub.com/atlassian/changesets/commit/2b49d668ecaa1333bc5c7c5be4648dda1b11528d)]:
-
[@&#8203;changesets/types](https://togithub.com/changesets/types)[@&#8203;3](https://togithub.com/3).0.0

###
[`v0.3.5`](https://togithub.com/changesets/changesets/releases/tag/%40changesets/parse%400.3.5)

[Compare
Source](https://togithub.com/changesets/changesets/compare/@changesets/[email protected]...@changesets/[email protected])

##### Patch Changes

-
[`1706fb7`](https://togithub.com/atlassian/changesets/commit/1706fb751ecc2f5a792c42f467b2063078d58716)
[#&#8203;321](https://togithub.com/atlassian/changesets/pull/321) Thanks
[@&#8203;mitchellhamilton](https://togithub.com/mitchellhamilton)! - Fix
TypeScript declarations

- Updated dependencies
\[[`1706fb7`](https://togithub.com/atlassian/changesets/commit/1706fb751ecc2f5a792c42f467b2063078d58716)]:
-
[@&#8203;changesets/types](https://togithub.com/changesets/types)[@&#8203;2](https://togithub.com/2).0.1

###
[`v0.3.4`](https://togithub.com/changesets/changesets/releases/tag/%40changesets/parse%400.3.4)

[Compare
Source](https://togithub.com/changesets/changesets/compare/@changesets/[email protected]...@changesets/[email protected])

##### Patch Changes

- Updated dependencies
\[[`011d57f`](https://togithub.com/atlassian/changesets/commit/011d57f1edf9e37f75a8bef4f918e72166af096e)]:
-
[@&#8203;changesets/types](https://togithub.com/changesets/types)[@&#8203;2](https://togithub.com/2).0.0

###
[`v0.3.3`](https://togithub.com/changesets/changesets/releases/tag/%40changesets/parse%400.3.3)

[Compare
Source](https://togithub.com/changesets/changesets/compare/@changesets/[email protected]...@changesets/[email protected])

##### Patch Changes

-
[`04ddfd7`](https://togithub.com/atlassian/changesets/commit/04ddfd7c3acbfb84ef9c92873fe7f9dea1f5145c)
[#&#8203;305](https://togithub.com/atlassian/changesets/pull/305) Thanks
[@&#8203;Noviny](https://togithub.com/Noviny)! - Add link to changelog
in readme

- Updated dependencies
\[[`04ddfd7`](https://togithub.com/atlassian/changesets/commit/04ddfd7c3acbfb84ef9c92873fe7f9dea1f5145c),
[`e56928b`](https://togithub.com/atlassian/changesets/commit/e56928bbd6f9096def06ac37487bdbf28efec9d1)]:
-
[@&#8203;changesets/types](https://togithub.com/changesets/types)[@&#8203;1](https://togithub.com/1).0.1

###
[`v0.3.2`](https://togithub.com/changesets/changesets/releases/tag/%40changesets/parse%400.3.2)

##### Patch Changes

-
[`41e2e3d`](https://togithub.com/atlassian/changesets/commit/41e2e3dd1053ff2f35a1a07e60793c9099f26997)
[#&#8203;292](https://togithub.com/atlassian/changesets/pull/292) Thanks
[@&#8203;acheronfail](https://togithub.com/acheronfail)! - Fix
`repository` field in package.json

- Updated dependencies
\[[`41e2e3d`](https://togithub.com/atlassian/changesets/commit/41e2e3dd1053ff2f35a1a07e60793c9099f26997),
[`cc8c921`](https://togithub.com/atlassian/changesets/commit/cc8c92143d4c4b7cca8b9917dfc830a40b5cda20),
[`cc8c921`](https://togithub.com/atlassian/changesets/commit/cc8c92143d4c4b7cca8b9917dfc830a40b5cda20),
[`2363366`](https://togithub.com/atlassian/changesets/commit/2363366756d1b15bddf6d803911baccfca03cbdf)]:
-
[@&#8203;changesets/types](https://togithub.com/changesets/types)[@&#8203;1](https://togithub.com/1).0.0

###
[`v0.3.0`](https://togithub.com/changesets/changesets/compare/@changesets/[email protected]...@changesets/[email protected])

[Compare
Source](https://togithub.com/changesets/changesets/compare/@changesets/[email protected]...@changesets/[email protected])

###
[`v0.2.1`](https://togithub.com/changesets/changesets/compare/@changesets/[email protected]...@changesets/[email protected])

[Compare
Source](https://togithub.com/changesets/changesets/compare/@changesets/[email protected]...@changesets/[email protected])

###
[`v0.2.0`](https://togithub.com/changesets/changesets/compare/@changesets/[email protected]...@changesets/[email protected])

[Compare
Source](https://togithub.com/changesets/changesets/compare/@changesets/[email protected]...@changesets/[email protected])

###
[`v0.1.2`](https://togithub.com/changesets/changesets/compare/@changesets/[email protected]...@changesets/[email protected])

[Compare
Source](https://togithub.com/changesets/changesets/compare/@changesets/[email protected]...@changesets/[email protected])

</details>

<details>
<summary>typescript-eslint/typescript-eslint
(@&#8203;typescript-eslint/eslint-plugin)</summary>

###
[`v6.12.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6120-2023-11-20)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.11.0...v6.12.0)

##### Bug Fixes

- **eslint-plugin:** \[class-methods-use-this] detect a problematic case
for private/protected members if `ignoreClassesThatImplementAnInterface`
is set
([#&#8203;7705](https://togithub.com/typescript-eslint/typescript-eslint/issues/7705))
([155aa1f](https://togithub.com/typescript-eslint/typescript-eslint/commit/155aa1f533d1fe23da3c66f9832343faf4866d85))
- **eslint-plugin:** \[no-unnecessary-condition] fix false positive with
computed member access and branded key type
([#&#8203;7706](https://togithub.com/typescript-eslint/typescript-eslint/issues/7706))
([f151b26](https://togithub.com/typescript-eslint/typescript-eslint/commit/f151b26d2178a617e82ad6a0279e3145e303f4f8))
- **eslint-plugin:** \[switch-exhaustiveness-check] enum members with
new line or single quotes are not being fixed correctly
([#&#8203;7806](https://togithub.com/typescript-eslint/typescript-eslint/issues/7806))
([a034d0a](https://togithub.com/typescript-eslint/typescript-eslint/commit/a034d0a3856aa07bd2d52b557fa33c7a88e9e511)),
closes
[#&#8203;7768](https://togithub.com/typescript-eslint/typescript-eslint/issues/7768)

##### Features

- \[member-ordering] add accessor support for member-ordering
([#&#8203;7927](https://togithub.com/typescript-eslint/typescript-eslint/issues/7927))
([3c8312d](https://togithub.com/typescript-eslint/typescript-eslint/commit/3c8312d1e135dc65fa41f629993cd03ed82e3255))
- **eslint-plugin:** \[switch-exhaustiveness-check] add
requireDefaultForNonUnion option
([#&#8203;7880](https://togithub.com/typescript-eslint/typescript-eslint/issues/7880))
([4cfcd45](https://togithub.com/typescript-eslint/typescript-eslint/commit/4cfcd451efb2563130896e42b45252909932c679))

You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.

</details>

<details>
<summary>typescript-eslint/typescript-eslint
(@&#8203;typescript-eslint/parser)</summary>

###
[`v6.12.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#6120-2023-11-20)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.11.0...v6.12.0)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/parser](https://togithub.com/typescript-eslint/parser)

You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.

</details>

<details>
<summary>zloirock/core-js (core-js)</summary>

###
[`v3.33.3`](https://togithub.com/zloirock/core-js/blob/HEAD/CHANGELOG.md#3333---20231120)

[Compare
Source](https://togithub.com/zloirock/core-js/compare/v3.33.2...v3.33.3)

- Fixed an issue getting the global object on Duktape,
[#&#8203;1303](https://togithub.com/zloirock/core-js/issues/1303)
- Avoid sharing internal `[[DedentMap]]` from [`String.dedent`
proposal](https://togithub.com/tc39/proposal-string-dedent) between
`core-js` instances before stabilization of the proposal
-   Some internal untangling
-   Compat data improvements:
- Added [Deno 1.38](https://deno.com/blog/v1.38) compat data mapping
-
[`Array.fromAsync`](https://togithub.com/tc39/proposal-array-from-async)
marked as [supported from Deno
1.38](https://togithub.com/denoland/deno/pull/21048)
- [`Symbol.{ dispose, asyncDispose
}`](https://togithub.com/tc39/proposal-explicit-resource-management)
marked as [supported from Deno
1.38](https://togithub.com/denoland/deno/pull/20845)
    -   Added Opera Android 79 compat data mapping
    -   Added Oculus Quest Browser 30 compat data mapping
    -   Updated Electron 28 and 29 compat data mapping

</details>

<details>
<summary>eslint/eslint (eslint)</summary>

### [`v8.54.0`](https://togithub.com/eslint/eslint/releases/tag/v8.54.0)

[Compare
Source](https://togithub.com/eslint/eslint/compare/v8.53.0...v8.54.0)

#### Features

-
[`a7a883b`](https://togithub.com/eslint/eslint/commit/a7a883bd6ba4f140b60cbbb2be5b53d750f6c8db)
feat: for-direction rule add check for condition in reverse order
([#&#8203;17755](https://togithub.com/eslint/eslint/issues/17755))
(Angelo Annunziata)
-
[`1452dc9`](https://togithub.com/eslint/eslint/commit/1452dc9f12c45c05d7c569f737221f0d988ecef1)
feat: Add suggestions to no-console
([#&#8203;17680](https://togithub.com/eslint/eslint/issues/17680)) (Joel
Mathew Koshy)
-
[`21ebf8a`](https://togithub.com/eslint/eslint/commit/21ebf8a811be9f4b009cf70a10be5062d4fdc736)
feat: update `no-array-constructor` rule
([#&#8203;17711](https://togithub.com/eslint/eslint/issues/17711))
(Francesco Trotta)

#### Bug Fixes

-
[`98926e6`](https://togithub.com/eslint/eslint/commit/98926e6e7323e5dd12a9f016cb558144296665af)
fix: Ensure that extra data is not accidentally stored in the cache file
([#&#8203;17760](https://togithub.com/eslint/eslint/issues/17760))
(Milos Djermanovic)
-
[`e8cf9f6`](https://togithub.com/eslint/eslint/commit/e8cf9f6a524332293f8b2c90a2db4a532e47d919)
fix: Make dark scroll bar in dark theme
([#&#8203;17753](https://togithub.com/eslint/eslint/issues/17753))
(Pavel)
-
[`3cbeaad`](https://togithub.com/eslint/eslint/commit/3cbeaad7b943c153937ce34365cec2c406f2b98b)
fix: Use `cwd` constructor option as config `basePath` in Linter
([#&#8203;17705](https://togithub.com/eslint/eslint/issues/17705))
(Milos Djermanovic)

#### Documentation

-
[`becfdd3`](https://togithub.com/eslint/eslint/commit/becfdd39b25d795e56c9a13eb3e77af6b9c86e8a)
docs: Make clear when rules are removed
([#&#8203;17728](https://togithub.com/eslint/eslint/issues/17728))
(Nicholas C. Zakas)
-
[`05d6e99`](https://togithub.com/eslint/eslint/commit/05d6e99153ed6d94eb30f46c57609371918a41f3)
docs: update "Submit a Pull Request" page
([#&#8203;17712](https://togithub.com/eslint/eslint/issues/17712))
(Francesco Trotta)
-
[`eb2279e`](https://togithub.com/eslint/eslint/commit/eb2279e5148cee8fdea7dae614f4f8af7a2d06c3)
docs: display info about deprecated rules
([#&#8203;17749](https://togithub.com/eslint/eslint/issues/17749))
(Percy Ma)
-
[`d245326`](https://togithub.com/eslint/eslint/commit/d24532601e64714ac5d08507e05aa5c14ecd1d5a)
docs: Correct working in migrating plugin docs
([#&#8203;17722](https://togithub.com/eslint/eslint/issues/17722))
(Filip Tammergård)

#### Chores

-
[`d644de9`](https://togithub.com/eslint/eslint/commit/d644de9a4b593b565617303a095bc9aa69e7b768)
chore: upgrade
[@&#8203;eslint/js](https://togithub.com/eslint/js)[@&#8203;8](https://togithub.com/8).54.0
([#&#8203;17773](https://togithub.com/eslint/eslint/issues/17773))
(Milos Djermanovic)
-
[`1e6e314`](https://togithub.com/eslint/eslint/commit/1e6e31415cc429a3a9fc64b2ec03df0e0ec0c91b)
chore: package.json update for
[@&#8203;eslint/js](https://togithub.com/eslint/js) release (Jenkins)
-
[`6fb8805`](https://togithub.com/eslint/eslint/commit/6fb8805310afe7476d6c404f172177a6d15fcf11)
chore: Fixed grammar in issue_templates/rule_change
([#&#8203;17770](https://togithub.com/eslint/eslint/issues/17770)) (Joel
Mathew Koshy)
-
[`85db724`](https://togithub.com/eslint/eslint/commit/85db7243ddb8706ed60ab64a7ddf604d0d7de493)
chore: upgrade `markdownlint` to 0.31.1
([#&#8203;17754](https://togithub.com/eslint/eslint/issues/17754))
(Nitin Kumar)
-
[`6d470d2`](https://togithub.com/eslint/eslint/commit/6d470d2e74535761bd56dcb1c021b463ef9e8a9c)
chore: update dependency recast to ^0.23.0
([#&#8203;17736](https://togithub.com/eslint/eslint/issues/17736))
(renovate\[bot])
-
[`b7121b5`](https://togithub.com/eslint/eslint/commit/b7121b590d578c9c9b38ee481313317f30e54817)
chore: update dependency markdownlint-cli to ^0.37.0
([#&#8203;17735](https://togithub.com/eslint/eslint/issues/17735))
(renovate\[bot])
-
[`633b9a1`](https://togithub.com/eslint/eslint/commit/633b9a19752b6a22ab4d6c824f27a75ac0e4151b)
chore: update dependency regenerator-runtime to ^0.14.0
([#&#8203;17739](https://togithub.com/eslint/eslint/issues/17739))
(renovate\[bot])
-
[`acac16f`](https://togithub.com/eslint/eslint/commit/acac16fdf8540f7ba86cf637e3c1b253bd35a268)
chore: update dependency vite-plugin-commonjs to ^0.10.0
([#&#8203;17740](https://togithub.com/eslint/eslint/issues/17740))
(renovate\[bot])
-
[`ba8ca7e`](https://togithub.com/eslint/eslint/commit/ba8ca7e3debcba68ee7015b9221cf5acd7870206)
chore: add .github/renovate.json5
([#&#8203;17567](https://togithub.com/eslint/eslint/issues/17567)) (Josh
Goldberg ✨)

</details>

<details>
<summary>bahmutov/start-server-and-test
(start-server-and-test)</summary>

###
[`v2.0.3`](https://togithub.com/bahmutov/start-server-and-test/releases/tag/v2.0.3)

[Compare
Source](https://togithub.com/bahmutov/start-server-and-test/compare/v2.0.2...v2.0.3)

##### Bug Fixes

- **deps:** update dependency wait-on to v7.2.0
([#&#8203;374](https://togithub.com/bahmutov/start-server-and-test/issues/374))
([ad35c2e](https://togithub.com/bahmutov/start-server-and-test/commit/ad35c2e4128615d7bc6e84d09761ae5d1fbc8da2))

</details>

<details>
<summary>svg/svgo (svgo)</summary>

### [`v3.0.4`](https://togithub.com/svg/svgo/releases/tag/v3.0.4)

[Compare Source](https://togithub.com/svg/svgo/compare/v3.0.3...v3.0.4)

Includes various bug fixes for existing plugins and a new optimization.
Also splits `removeXMLNS`, which removed XLink, into two separate
plugins, `removeXMLNS` and `removeXlink`.

#### What's Changed

##### Default Behavior

- **Remove XML Namespace**, no longer removes the XLink (`xmlns:xlink`)
namespace. If that is desirable, you should enable the new [Remove
XLink](https://svgo.dev/docs/plugins/remove-xlink/) (`removeXlink`)
plugin, which does more while being safer. By
[@&#8203;TrySound](https://togithub.com/TrySound) and
[@&#8203;SethFalco](https://togithub.com/SethFalco) in
[https://github.com/svg/svgo/pull/1535](https://togithub.com/svg/svgo/pull/1535)

##### Bug Fixes

- **Convert Path Commands**, ignore instances where transform applied
via style tag. By [@&#8203;SethFalco](https://togithub.com/SethFalco) in
[https://github.com/svg/svgo/pull/1830](https://togithub.com/svg/svgo/pull/1830)
- **Inline Styles**, inline properties with the same specificity in the
order that they appear in the stylesheet. By
[@&#8203;SethFalco](https://togithub.com/SethFalco) in
[https://github.com/svg/svgo/pull/1831](https://togithub.com/svg/svgo/pull/1831)
- **Inline Styles**, don't remove class or id from node if it's
traversed in another CSS selector. By
[@&#8203;SethFalco](https://togithub.com/SethFalco) in
[https://github.com/svg/svgo/pull/1832](https://togithub.com/svg/svgo/pull/1832)
and
[https://github.com/svg/svgo/pull/1836](https://togithub.com/svg/svgo/pull/1836)
- Don't trim
[`pre`](https://developer.mozilla.org/docs/Web/HTML/Element/pre)
elements in
[`foreignObject`](https://developer.mozilla.org/docs/Web/SVG/Element/foreignObject).
By [@&#8203;SethFalco](https://togithub.com/SethFalco) in
[https://github.com/svg/svgo/pull/1796](https://togithub.com/svg/svgo/pull/1796)
- Don't crash when encountering
[`@-webkit-keyframes`](https://webkit.org/blog/324/css-animation-2/) in
`<style>` node. By [@&#8203;SethFalco](https://togithub.com/SethFalco)
in
[https://github.com/svg/svgo/pull/1826](https://togithub.com/svg/svgo/pull/1826)

##### SVG Optimization

- **Convert Path Commands**, convert to `z` command if going back to
initial position, or drop `z` if redundant. By
[@&#8203;KTibow](https://togithub.com/KTibow) in
[https://github.com/svg/svgo/pull/1822](https://togithub.com/svg/svgo/pull/1822)
- **Inline Styles**, when inlining a CSS property that's already
declared in a presentation attribute of the node, drop the attribute. By
[@&#8203;SethFalco](https://togithub.com/SethFalco) in
[https://github.com/svg/svgo/pull/1829](https://togithub.com/svg/svgo/pull/1829)
- **Remove XLink**, new plugin that removes the XLink (`xmlns:xlink`)
namespace and migrates from XLink attributes to the SVG 2 equivalent.
Disabled by default. By
[@&#8203;TrySound](https://togithub.com/TrySound) and
[@&#8203;SethFalco](https://togithub.com/SethFalco) in
[https://github.com/svg/svgo/pull/1535](https://togithub.com/svg/svgo/pull/1535)

#### Metrics

Before and after using vectors from various sources, with the default
preset of each respective version:

| SVG | Original | v3.0.3 | v3.0.4 | Delta |
|---|---|---|---|---|
| [Arch Linux Logo](https://archlinux.org/art/) | 9.529 KiB | 4.738 KiB
| 4.735 KiB | ⬇️ 0.003 KiB |
|
[Blobs](https://gitlab.gnome.org/GNOME/gnome-backgrounds/-/blob/main/backgrounds/blobs-d.svg)
| 50.45 KiB | 42.949 KiB | 42.949 KiB | |
| [Isometric
Madness](https://inkscape.org/~Denis_Kuznetsky/%E2%98%85isometric-madness)
| 869.034 KiB | 550.699 KiB | 550.593 KiB | ⬇️ 0.106 KiB |
| [tldr-pages
Banner](https://togithub.com/tldr-pages/tldr/blob/main/images/banner.svg)
| 2.071 KiB | 1.07 KiB | 1.07 KiB | |
| [Wikipedia
Logo](https://en.wikipedia.org/wiki/File:Wikipedia-logo-v2.svg) |
161.552 KiB | 118.441 KiB | 117.152 KiB | ⬇️ 1.289 KiB |

Before and after of the browser bundle of each respective version:

| | v3.0.3 | v3.0.4 | Delta |
|---|---|---|---|
| svgo.browser.js | 651.7 kB | 656.9 kB | ⬆️  5.2 kB |

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "every weekend" in timezone
Europe/Zurich, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/swisspost/design-system).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy41OS44IiwidXBkYXRlZEluVmVyIjoiMzcuNTkuOCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Philipp Gfeller <[email protected]>
sungik-choi referenced this pull request in channel-io/bezier-react Nov 22, 2023
[![Mend Renovate logo
banner](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [svgo](https://svgo.dev) ([source](https://togithub.com/svg/svgo)) |
[`3.0.3` -> `3.0.4`](https://renovatebot.com/diffs/npm/svgo/3.0.3/3.0.4)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/svgo/3.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/svgo/3.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/svgo/3.0.3/3.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/svgo/3.0.3/3.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>svg/svgo (svgo)</summary>

### [`v3.0.4`](https://togithub.com/svg/svgo/releases/tag/v3.0.4)

[Compare Source](https://togithub.com/svg/svgo/compare/v3.0.3...v3.0.4)

Includes various bug fixes for existing plugins and a new optimization.
Also splits `removeXMLNS`, which removed XLink, into two separate
plugins, `removeXMLNS` and `removeXlink`.

#### What's Changed

##### Default Behavior

- **Remove XML Namespace**, no longer removes the XLink (`xmlns:xlink`)
namespace. If that is desirable, you should enable the new [Remove
XLink](https://svgo.dev/docs/plugins/remove-xlink/) (`removeXlink`)
plugin, which does more while being safer. By
[@&#8203;TrySound](https://togithub.com/TrySound) and
[@&#8203;SethFalco](https://togithub.com/SethFalco) in
[https://github.com/svg/svgo/pull/1535](https://togithub.com/svg/svgo/pull/1535)

##### Bug Fixes

- **Convert Path Commands**, ignore instances where transform applied
via style tag. By [@&#8203;SethFalco](https://togithub.com/SethFalco) in
[https://github.com/svg/svgo/pull/1830](https://togithub.com/svg/svgo/pull/1830)
- **Inline Styles**, inline properties with the same specificity in the
order that they appear in the stylesheet. By
[@&#8203;SethFalco](https://togithub.com/SethFalco) in
[https://github.com/svg/svgo/pull/1831](https://togithub.com/svg/svgo/pull/1831)
- **Inline Styles**, don't remove class or id from node if it's
traversed in another CSS selector. By
[@&#8203;SethFalco](https://togithub.com/SethFalco) in
[https://github.com/svg/svgo/pull/1832](https://togithub.com/svg/svgo/pull/1832)
and
[https://github.com/svg/svgo/pull/1836](https://togithub.com/svg/svgo/pull/1836)
- Don't trim
[`pre`](https://developer.mozilla.org/docs/Web/HTML/Element/pre)
elements in
[`foreignObject`](https://developer.mozilla.org/docs/Web/SVG/Element/foreignObject).
By [@&#8203;SethFalco](https://togithub.com/SethFalco) in
[https://github.com/svg/svgo/pull/1796](https://togithub.com/svg/svgo/pull/1796)
- Don't crash when encountering
[`@-webkit-keyframes`](https://webkit.org/blog/324/css-animation-2/) in
`<style>` node. By [@&#8203;SethFalco](https://togithub.com/SethFalco)
in
[https://github.com/svg/svgo/pull/1826](https://togithub.com/svg/svgo/pull/1826)

##### SVG Optimization

- **Convert Path Commands**, convert to `z` command if going back to
initial position, or drop `z` if redundant. By
[@&#8203;KTibow](https://togithub.com/KTibow) in
[https://github.com/svg/svgo/pull/1822](https://togithub.com/svg/svgo/pull/1822)
- **Inline Styles**, when inlining a CSS property that's already
declared in a presentation attribute of the node, drop the attribute. By
[@&#8203;SethFalco](https://togithub.com/SethFalco) in
[https://github.com/svg/svgo/pull/1829](https://togithub.com/svg/svgo/pull/1829)
- **Remove XLink**, new plugin that removes the XLink (`xmlns:xlink`)
namespace and migrates from XLink attributes to the SVG 2 equivalent.
Disabled by default. By
[@&#8203;TrySound](https://togithub.com/TrySound) and
[@&#8203;SethFalco](https://togithub.com/SethFalco) in
[https://github.com/svg/svgo/pull/1535](https://togithub.com/svg/svgo/pull/1535)

#### Metrics

Before and after using vectors from various sources, with the default
preset of each respective version:

| SVG | Original | v3.0.3 | v3.0.4 | Delta |
|---|---|---|---|---|
| [Arch Linux Logo](https://archlinux.org/art/) | 9.529 KiB | 4.738 KiB
| 4.735 KiB | ⬇️ 0.003 KiB |
|
[Blobs](https://gitlab.gnome.org/GNOME/gnome-backgrounds/-/blob/main/backgrounds/blobs-d.svg)
| 50.45 KiB | 42.949 KiB | 42.949 KiB | |
| [Isometric
Madness](https://inkscape.org/~Denis_Kuznetsky/%E2%98%85isometric-madness)
| 869.034 KiB | 550.699 KiB | 550.593 KiB | ⬇️ 0.106 KiB |
| [tldr-pages
Banner](https://togithub.com/tldr-pages/tldr/blob/main/images/banner.svg)
| 2.071 KiB | 1.07 KiB | 1.07 KiB | |
| [Wikipedia
Logo](https://en.wikipedia.org/wiki/File:Wikipedia-logo-v2.svg) |
161.552 KiB | 118.441 KiB | 117.152 KiB | ⬇️ 1.289 KiB |

Before and after of the browser bundle of each respective version:

| | v3.0.3 | v3.0.4 | Delta |
|---|---|---|---|
| svgo.browser.js | 651.7 kB | 656.9 kB | ⬆️  5.2 kB |

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "on Monday after 10am before 7pm" in
timezone Asia/Seoul, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/channel-io/bezier-react).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy41OS44IiwidXBkYXRlZEluVmVyIjoiMzcuNTkuOCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ed Sungik Choi <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant