You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When using Lightning CSS with data URIs (SVG especially), it seems as though the data URIs are swapped out & re-inserted later, not taking potential quote changes into account. This results in in content not being escaped properly.
### Used Package Manager
npm
### Logs
_No response_
### Validations
- [X] Follow our [Code of Conduct](https://github.com/vitejs/vite/blob/main/CODE_OF_CONDUCT.md)
- [X] Read the [Contributing Guidelines](https://github.com/vitejs/vite/blob/main/CONTRIBUTING.md).
- [X] Read the [docs](https://vite.dev/guide).
- [X] Check that there isn't [already an issue](https://github.com/vitejs/vite/issues) that reports the same bug to avoid creating a duplicate.
- [X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to [vuejs/core](https://github.com/vuejs/core) instead.
- [X] Check that this is a concrete bug. For Q&A open a [GitHub Discussion](https://github.com/vitejs/vite/discussions) or join our [Discord Chat Server](https://chat.vite.dev/).
- [X] The provided reproduction is a [minimal reproducible example](https://stackoverflow.com/help/minimal-reproducible-example) of the bug.
The text was updated successfully, but these errors were encountered:
Describe the bug
When using Lightning CSS with data URIs (SVG especially), it seems as though the data URIs are swapped out & re-inserted later, not taking potential quote changes into account. This results in in content not being escaped properly.
Take the following CSS:
This should exit the transform like this:
...but instead does so like this:
If using the ESBuild minifier, users will see the following warning:
...whereas the LightningCSS minifier crashes outright.
Using Lightning standalone, directly interfacing with their API, this does not occur -- quotes are escaped properly. Vite-specific issue.
Inserting a log statement into the transformer, I see this is the result at some point:
Hence why it seems like this is due to some swapping, but that's just my naive first impression.
Reproduction
https://stackblitz.com/edit/vitejs-vite-xyjxv4mc?file=src%2Fstyle.css
Steps to reproduce
npm install && npm run build
System Info
System: OS: Linux 5.0 undefined CPU: (4) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz Memory: 0 Bytes / 0 Bytes Shell: 1.0 - /bin/jsh Binaries: Node: 18.20.3 - /usr/local/bin/node Yarn: 1.22.19 - /usr/local/bin/yarn npm: 10.2.3 - /usr/local/bin/npm pnpm: 8.15.6 - /usr/local/bin/pnpm npmPackages: vite: ^6.0.3 => 6.0.3
The text was updated successfully, but these errors were encountered: