-
Notifications
You must be signed in to change notification settings - Fork 138
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
ESBuild Integration (Inspired by Vite) #609
Comments
There would be two different ways to use esbuild. One is their Transform API, which would make it a replacement for Babel. The other is their Build API, which would make it a replacement for Webpack. Either fits into the Embroider architecture just fine. But the main challenge is that there are several critical babel transformations that we must apply. Those could be reimplemented within esbuild, if esbuild finishes implementing their own plugin system. But right now that is all unstable. |
@ef4 Thanks for the quick response! That makes sense. Looks like they're making some strides on the plugin system. Just releasing an initial version of the plugin API and posting the documentation . Are you able to help shed some light on which mission-critical babel transformations embroider needs to apply? |
A good way to confirm what’s being used is to make a new ember app, add embroider, and run a build. It prints “Building into...” and names where the temp directory is. Look in there for your app, and it will contain _babel_config.js. Some is embroider-specific like the adjust-imports plugin that makes sure all the addons can be found. Some is ember-specific like the modules-api-polyfill that makes sure the ember packages can be found. |
fantastic, thanks @ef4 🙌 |
@mattstrayer FYI there is now a WIP PR which uses Vite (and therefore ESbuild under the hood) in #759 |
thats huge! Thanks for the update :) @patocallaghan |
I'm relatively new to the ember world, so forgive me for any naivety...
Has anyone done investigation into the ESBuild project for bundling? Vite uses this under the hood for Vue 3 projects and it delivers an insanely fast bundling and HMR. Would be really great to leverage any existing & proven technologies that would drastically improve the build pipeline.
Copy/pasted from ESBuild's github page:
The text was updated successfully, but these errors were encountered: