Comments (14)
I'll see if I can squeeze some time to look into the source code, got a ton of work ahead of me, sadly. Maybe @TheLarkInn has some immediate feedback, but I need to see the source code myself before coming up with a fix. One thing you mentioned was that it builds all configs at once. One thing I've seen is that you can use webpack-merge to generate a config, that could be of use for the async functionality or even switch between ios
and android
builds. If webpack compiles regardless of changes, we've got a thread on webpack-cli on how to avoid this. Hope it helps!
from haul.
I've got some time in 2-3 weeks, got a hectic period of exams right now. If ok, can look into it then 👍
from haul.
Update: new solution is to require --platform
flag with either ios
, android
or all
value. When all
is set, Webpack enters multi-compiler setup and will serve both platforms.
Ultimately we want to do all
always as long as we can provide a satisfactory performance. Upgrade path would be to make platform no longer required and by default, build for all.
from haul.
I'll continue working on that tomorrow. Now moving to other things.
from haul.
Note for tomorrow: we have to remove progressBar
plugin from webpack config and attach it manually to the multi-compiler. That way, we can manually create n
progress bars that work together.
Currently progress bars are causing glitches as each compiler tries to override the same bar with its progress.
I have it working on my draft
branch, need to cherry-pick it.
A nice benefit of that addition is that it nicely illustrates serial nature of webpack compiler.
from haul.
I don't think there is a option to fix/make workaround for rebuilding iso and android bundle source files changed, since webpack treats it separatly, so ios compiler this that source code has changed for this bundle, and android compiler also. However if we rewrite dev middleware maybe we can implement solution that will lazily build bundle that is requested and watch it, but not build the other one, but if the other one is requested we stop watching the first one, builds the second and watch it or something similar.
from haul.
Also, is something blocking us from having 2 parallel builds in separate threads?
from haul.
If I understood this correctly, you want to build recursively and async, not all at once? @grabbou
from haul.
Yup, @ev1stensberg + first build lazy (on request for entry point).
from haul.
Just wondering if you had any time to look into this recently. Not a top priority but worth keeping in mind as far as planning goes.
from haul.
Sounds good, let me know and I'll be happy to pair on implementing/discussing that
from haul.
Just need an email / open DM on Twitter ✌️
from haul.
@jukben @satya164 is this still relevant on next
branch?
from haul.
No longer relevant.
from haul.
Related Issues (20)
- Getting Source Maps to Work HOT 3
- Stack-Traces not showing up correctly in client
- Haul not working with Amazon aws sdk HOT 4
- Debug is not working
- Time out requesting http://localhost:8081/onchange on iOS HOT 1
- How to use multi-bundle? HOT 1
- How to use alias path in haul?
- Module.createRequireFromPath() is deprecated.
- Production Build Error With React Navigation Stack HOT 3
- Asset naming algorithm causes ENAMETOOLONG when using react-navigation and pnpm
- Where to find a changelog? HOT 3
- `haul init` stuck on updating Babel configuration
- Initialisation is hanging on package.json edit HOT 2
- Presets for RN 0.61+? HOT 5
- Support other browsers (eg: user-chosen defaults)
- Crashing when launching Chrome debugger
- haul is not working on existing app
- haul out of memory on reload
- update the lockfile to automatically remove the high severity vulnerability introduced in @haul-bundler/core
- Haul server crashes when navigating to root url
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from haul.