-
-
Notifications
You must be signed in to change notification settings - Fork 9.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Svelte: Fix Vite crashing on virtual module imports #26838
Conversation
Thanks for the PR, but I think the correct fix here is to use the Though, now I'm curious why we didn't just do that to begin with. It's been quite a while since I worked on any of this code... |
@IanVS thanks the the suggestion! This is what I tried to do initially (as you can see by the commit history), but then the entire plugin stopped working. The |
Thanks for the PR @rChaoz!
I think this is because we need the initial source, and not the source as transformed by all the plugins before it - but I could be completely wrong. @rChaoz can you describe what will now happen in the case of virtual modules? "Ignoring" them now, how does that impact the result (other than not crashing of course)? I guess it won't be an issue because there's no way for docgen data from virtual modules to be surfaced to users anyway, so it doesn't matter if we ignore them or not. |
View your CI Pipeline Execution ↗ for commit abd68a3.
☁️ Nx Cloud last updated this comment at |
@JReinhold so really, nothing changes for virtual modules - without this PR it just crashes, so it does nothing. With this PR it skips them, also doing nothing. So, it just allows it to run on files with virtual imports without crashing. I believe it might be OK to just skip virtual modules altogether - the behaviour wouldn't be different. |
Can you make those changes? I think it would also make the code a bit clearer. |
Any news on this? Would be nice to be able to use unplugin-icons with Storybook! |
@Stadly I will update this PR. Until then, the workaround here still works: #20562 (comment) |
any idea when this will get merged? |
I've just tried out the version with checking for virtual modules (see changes at this point), and it doesn't seem to work, possibly because unplugin-icons doesn't follow the convention to add a |
@JReinhold please take a look whenever you can. I've updated the logic to ignore virtual modules (with the standard |
urgently waiting for this to get fixed |
Me too. I'm ready to create a PR setting up Storybook at our company. Would be very nice to not have to run the workaround through peer review if it anyway will be fixed soon :) |
Great job @rChaoz, and thanks everyone for the patience. ❤️ |
Svelte: Fix Vite crashing on virtual module imports (cherry picked from commit 6003bb8)
Closes #20562
What I did
Surround the
readFileSync
with a try/catch so there is no unhandled exception for trying to load non-existing files (which happen with virtual module imports).Checklist for Contributors
Testing
The changes in this PR are covered in the following automated tests:
Manual testing
This section is mandatory for all contributions. If you believe no manual test is necessary, please state so explicitly. Thanks!
Install storybook in a SvelteKit project that uses unplugin icons. It doesn't work. With this PR it does.
Documentation
MIGRATION.MD
Checklist for Maintainers
When this PR is ready for testing, make sure to add
ci:normal
,ci:merged
orci:daily
GH label to it to run a specific set of sandboxes. The particular set of sandboxes can be found incode/lib/cli/src/sandbox-templates.ts
Make sure this PR contains one of the labels below:
Available labels
bug
: Internal changes that fixes incorrect behavior.maintenance
: User-facing maintenance tasks.dependencies
: Upgrading (sometimes downgrading) dependencies.build
: Internal-facing build tooling & test updates. Will not show up in release changelog.cleanup
: Minor cleanup style change. Will not show up in release changelog.documentation
: Documentation only changes. Will not show up in release changelog.feature request
: Introducing a new feature.BREAKING CHANGE
: Changes that break compatibility in some way with current major version.other
: Changes that don't fit in the above categories.🦋 Canary release
This PR does not have a canary release associated. You can request a canary release of this pull request by mentioning the
@storybookjs/core
team here.core team members can create a canary release here or locally with
gh workflow run --repo storybookjs/storybook canary-release-pr.yml --field pr=<PR_NUMBER>