feat: support external esm module scripts #1040
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What kind of change does this pull request introduce?
Adds support for type=module for externalResource scripts
Related discussion: #998
What is the current behavior?
You can only pass in strings and can't modify attributes on the script element.
What is the new behavior?
You can pass in a new object in the externalResources array that defines the type and src
What steps did you take to test this? This is required before we can merge, make sure to test the flow you've updated.
I wanted this feature so that I can use sandpack to build a playground for my design system library. we use web components and es modules. The easiest way for me to test this was to try and get our library working, but any other esm script will do. I've also tested this in a separate React app locally using symlinks.
Boot up the dev storybook and you should see a custom button element.
Checklist
I could use some direction regarding testing if you think this needs some. I'm also not 100% clear on how/where to document. I will happily update if this approach is validated.