VulcanJS + Reactioncommerce


From plain Meteor I’ve gone to VulcanJS, mostly for the fact that I can use Apollo, and because it bundles up things nicely that I would have otherwise to do myself over and over again.

I’d like to use Reactioncommerce but then I also want to write individual reactioncommerce extensions and packages using the VulcanJS way. Is this posssible or will I see some limitations and hurdles doing so?


I don’t think it’d be practical to try to merge both apps together because you’d end up with a bunch of Vulcan code that doesn’t even get used (the entire UI, for example). However, I think Vulcan’s focus on customization without touching core code is really great and there are a lot of useful lessons to be taken from it.

That said, we’re very close to merging my PR for adding a components API to register/replace React components which is largely influenced by the components/theming API in Vulcan. One reason I mention that is because that only took a single file to add an API like that to Reaction and most of the other useful API’s in Vulcan are also that simple under the hood. But if you wanted to just drag the entire framework over, you’d be bringing hundreds of files that you don’t need at the same time.

So, I am 100% on board with Vulcan being a great framework that provides useful tools for customizing/extending a Meteor/Apollo app, but I think the better approach here (at least for Reaction) would be to cherry pick the things that are useful and adapt them for Reaction. Reaction is already a huge app that takes a long time to build, so adding potentially hundreds of unused files to the project for the sake of a few useful API’s is not likely to be practical.

Anyway, we’re totally open to hearing what features of Vulcan you think would be the most useful for customizing Reaction because we’d likely agree on most of them. And we’d be happy to help you make a contribution to the project if that’s something you’d be interested in.

Also, feel free to get in touch with the dev team over in one of our Gitter channels if you’d like to discuss. Or you can certainly continue the conversation here (which is useful for future visitors with the same interests).