Skip to content

lack of valid originalFileNames in param inside assetFileNames #21541

@Xli33

Description

@Xli33

Describe the bug

when base set to relative path on build, and dynamic imported css/less/scss files are "redirected" to somewhere else by checking originalFileNames in assetFileNames, the url() gets a wrong path
plz see the minimal repo below

Image

Reproduction

https://stackblitz.com/edit/vitejs-vite-ffujfnzg?file=index.html,vite.config.ts,src%2Fmain.ts,src%2Fstyles%2Findex.css,dist%2Fthemes%2Ftheme-1NKKnWx2.css&terminal=dev

Steps to reproduce

  • run npm run build or yarn build
  • have a look at the compiled dist/themes/themexxx.css, the path in url() is wrong

it's because the originalFileNames only exists after css compiled, if using names, it works fine.
But the names has no complete original file path info, so we cannot use it.
believe it'll works well if the originalFileNames is not empty before compiling css/less/scss...

Image Image

System Info

System:
    OS: Linux 5.0 undefined
    CPU: (8) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
    Memory: 0 Bytes / 0 Bytes
    Shell: 1.0 - /bin/jsh
  Binaries:
    Node: 20.19.1 - /usr/local/bin/node
    Yarn: 1.22.19 - /usr/local/bin/yarn
    npm: 10.8.2 - /usr/local/bin/npm
    pnpm: 8.15.6 - /usr/local/bin/pnpm
  npmPackages:
    vite: ^7.1.7 => 7.1.11

Used Package Manager

npm

Logs

No response

Validations

Metadata

Metadata

Labels

p2-edge-caseBug, but has workaround or limited in scope (priority)

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions