fix: encode filename only by Dev-MV6 · Pull Request #16412 · vitejs/vite (original) (raw)

Description

A filename /favicon-32x32.png with the base /foo bar/ returns /foo%20bar/favicon-32x32.png as the URL, Vite should only encode the filename part (favicon-32x32.png). This to avoid re-encoding the base, which has already been encoded once it's parsed in the configuration validation step.

Before fix

An HTML code like:

Along with a base like /Password generator app/ builds:

After fix

The same HTML code now builds:

Additional context

Same fix has also been applied for assets URLs inside CSS and JS bundles after building.