[ ] ๐ Documentation (updates to the documentation, readme, or JSdoc annotations)
[ ] ๐ Bug fix (a non-breaking change that fixes an issue)
[ ] ๐ Enhancement (improving an existing functionality like performance)
[ ] โจ New feature (a non-breaking change that adds functionality)
[ ] ๐งน Chore (updates to the build process or auxiliary tools and libraries)
[ ] โ ๏ธ Breaking change (fix or feature that would cause existing functionality to change)
๐ Description
Checking a bundle size increase issue with @danielroe, we found out that EventEmitter class (used by HTTP modules) is not side-effect free and when referencing it from h3 (only unused import) bundlers add it to the runtime.
This rewrites the class entirely with modern syntax and smaller code. (there are slight behavior changes but i guess they should be fine)
->
๐ Linked issue
โ Type of change
๐ Description
Checking a bundle size increase issue with @danielroe, we found out that
EventEmitter
class (used by HTTP modules) is not side-effect free and when referencing it from h3 (only unused import) bundlers add it to the runtime.This rewrites the class entirely with modern syntax and smaller code. (there are slight behavior changes but i guess they should be fine)
๐ Checklist