-
Notifications
You must be signed in to change notification settings - Fork 137
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
Allow concurrent builds #2086
Comments
This feels very much like the vite Environment API that is upcoming in v6 vitejs/vite#16471 🤔 do you think that covers your usecase? |
Idk, have no deep understanding of that new feature, but it seems to me this is not able to address the fact that Embroider(!) is writing into a single |
For the record, we discussed this in the team meeting, and there was consent that we could get this supported (as in "PR is welcome" 😄 ) Worth noting that Embroider does reuse artefacts in |
I think we're experiencing a problem here. We run
Two scripts
The problem we are now experiencing having moved to Embroider is, if we have the |
@amk221 is there any particular reason why you can't just run |
@simonihmig the thing about Main with vite now is that only rewritten packages are getting written to the Obviously you're stuck on main being released as stable but this same idea will be true for Webpack inversion of control too |
Because if you run |
so that's not actually true 🙈 and if you are experiencing that somewhere then you have a bug. Running This is true for |
I'm 99% sure its true, as in, the test HTML file is computed with URLs pointing to a |
My understanding was also that since basically forever if you go to localhost/tests, you are still serving the same build, which was created using
My concern is not having that config available in rewritten packages. That example is an app level concern indeed. But we cannot build the same app in parallel, with different configs, when all those builds write into the same |
Opening this to explore if we can support running production builds (for the same app) concurrently. Use case is to build the same app, but with different config, e.g. for different environments like changing CDN host names.
Obviously, the webpack/vite output directory would need to be different. But that should be easy to do, like using an environment variable that gets read from in the webpack/vite config.
The part that seems to require changes here would be avoiding conflicts for the stuff that Embroider writes into
node_modules/.embroider
.Any concerns for trying to make this folder more dynamic, like making this have a random part like
node_modules/.embroider-<random-hash-like-string>
? And having that by default, would that cause performance regressions for example, like does Embroider reuse (parts of) that output between builds (which wouldn't work when it was randomized)?On the implementation side, seem there is already a central place where this folder location is determined, would it be as simple as adding the randomization there, or are there more things to be aware of?
The text was updated successfully, but these errors were encountered: