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.
Summary
The current ejs build includes code generated from pegjs/peggy (idk why both were still used since peggy is the successor of pegjs, i took the liberty to upgrade uses of pegjs to peggy). This generated code uses commonjs exports, which don't work well in some environments (i'm trying to run it in vite.)
This PR changes the generation mode of peggy to ejs & let babel translate those ejs modules to commonjs for the cjs build.
This PR also removes the
Buffer
import (which is a node only module, so unavailable on the web). This replaces the use ofBuffer
withwindow.atob
when unavailable.Test Plan
I just used my build in my project.
What's required for testing (prerequisites)?
Just use the lib
What are the steps to reproduce (after prerequisites)?
Try to import
react-native-svg
from a vite based project (one built withone
for example).Compatibility
Checklist
README.md
__tests__
folder