Skip to content

fix: Vite 8 (Rolldown) compatibility for content scripts#1149

Open
sheldhur wants to merge 1 commit intocrxjs:mainfrom
sheldhur:fix/vite8-rolldown-content-scripts
Open

fix: Vite 8 (Rolldown) compatibility for content scripts#1149
sheldhur wants to merge 1 commit intocrxjs:mainfrom
sheldhur:fix/vite8-rolldown-content-scripts

Conversation

@sheldhur
Copy link
Copy Markdown
Contributor

@sheldhur sheldhur commented Apr 4, 2026

Summary

Two fixes for Vite 8 (Rolldown) compatibility when building Chrome extensions with content scripts:

  1. Duplicate refIds: this.emitFile({ type: "chunk", name: basename(file) }) returns the same refId for different files with the same basename (e.g. seller/content.tsx, cmp/content.tsx, marketplace/content.tsx). Only the first script gets its fileName resolved; the rest fail with Content script fileName is undefined.

  2. Wrong MAIN world loader path: The loader uses ./${fileName.split("/").at(-1)} which loses the subdirectory, producing a broken path.

@changeset-bot
Copy link
Copy Markdown

changeset-bot bot commented Apr 4, 2026

⚠️ No Changeset found

Latest commit: a19f489

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@sheldhur
Copy link
Copy Markdown
Contributor Author

@Toumash can you look at this? I can update the failed tests if you're ready to merge it

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