Moving away from Browserify - help needed


I need some help/suggestions for dealing with the last issue that I’m having after porting a project to Meteor 1.3 and making use of modules.

I’m using the react-google-maps package from Npm. Previously I was using browserify to include this in my project, and I was using the externalify to ensure that I was using my own copy of React. Also, and critically, I was replacing google-maps-infobox with my own customised version:

  "transforms": {
    "externalify": {
      "global": true,
      "external": {
        "react": "Package.react-runtime.React.require",
        "google-maps-infobox": "Package.ext:map.GoogleMapsInfoBox"

This worked perfectly.

Now, with Meteor 1.3, I’ve moved over to using the Npm version of React directly, instead of using the MDG Package. Using the react-google-maps directly instead of wrapping it in a package also works, however if I do that I can no longer override google-maps-infobox.

What are the best solutions for handling this type of problem now?

I could try to create my own local Npm package for my customised version of google-maps-infobox, however that would have to go in node_modules, which for obvious reasons isn’t under source control. I could create a local version, install it on my machine then include it as part of my project, but that’s really not nice. I want my modified code to be part of this project, as is always has been, not something separate.

If I try sticking with browserify, it’s unclear to me as to which version of React react-google-maps will use - will it continue to bundle it’s own version? How can I make it use the projects one now? The problem is that Npm.depends in a package doesn’t try to use the app version if it’s there.