Extract build system to it's own project?

There are a few things I’d like to see from the Meteor build system, that the current tight integration with the “full stack solution” makes challenging. Some of it might just be community management/communication or marketing. It’s possible we don’t need to extract the build system, but could simply improve documentation, and maybe add ways to use Meteor without the full stack. I’ll just list here to start a conversation:

  • Use build system without the meteor server (instead of WebPack).
  • Use code splitting without meteor server (hooks/docs to add support to other server platforms).
  • Add additional bundle targets like React Native, Service Workers, NativeScript etc.

That last one could be nice for Cordova too, to make the integration either a little less tightly bound, or possibly making it at least easier. But it may not be necessary to extract Cordova - maybe it’s enough to better document how it all works, to make onboarding community developers a bit easier.

I like the way React Native has it’s bundler set up as it’s own project called Metro, which makes it easier to understand how it works, how to submit PRs, and at the same time, that detail is invisible to React Native users. So this is not a request to make Meteor work any differently at all. I’d like simply to be able to help better in the build system itself.

This is meant as the start of a conversation.

2 Likes

???
Do you mean better communication outside of DDP?

I deleted that bullet point, it was an unfinished thought, that I actually finished in the second paragraph after, heh. I’d like to see more folks getting in to the underlying projects like Iso Build the way they do for other build platforms. The point I’m making is that I think Meteor’s monolithic nature makes it harder to dive in to the various parts.

Some of the stuff is actually broken out, like reify - it’s just broken out in a way that isn’t all that useful on it’s own. The build system (including reify) could be useful. I’d love to use Meteor’s client bundler for non-meteor server projects. And I’d love to see it set up as it’s own project, with its own documentation and it’s own standalone progression (and extension). It’s a lot of work to get there though, and as always, there may be faster ways to get from a to z.

1 Like