natemoo-re / astro-icon

Inline and sprite-based SVGs in Astro made easy!
https://astroicon.dev
Other
990 stars 57 forks source link

The deprecated `xlink:href` attribute should be replaced with `href` #208

Open yudai-nkt opened 4 months ago

yudai-nkt commented 4 months ago

What version of astro-icon are you using?

v1.1.0

Astro Info

Astro                    v4.4.4
Node                     v18.18.0
System                   macOS (x64)
Package Manager          npm
Output                   static
Adapter                  none
Integrations             astro-expressive-code
                         astro-icon
                         @astrojs/sitemap

If this issue only occurs in one browser, which browser is a problem?

N/A

Describe the Bug

Astro Icon uses the deprecated xlink:href attribute and it gives me linting errors.

https://github.com/natemoo-re/astro-icon/blob/a4ff8736965214e16ce0b72364f43b3a4973f281/packages/core/components/Icon.astro#L123-L126

Below is an excerpt from the relevant part of SVG spec:

In previous versions of SVG, the ‘href’ attribute was specified in the XLink namespace [xlink] namespace. This usage is now deprecated and instead URL references should be specified using the ‘href’ attribute without a namespace.

What's the expected result?

The href attribute should be used instead.

I can submit a PR, but would you think this is a breaking change although icon visuals remain the same? If you do, I'd like to discuss how we keep compatibility before working on the fix.

Link to Minimal Reproducible Example

https://stackblitz.com/edit/github-vgk3vl?file=src%2Fpages%2Findex.astro