Getting browser-sync to play nice with ember-cli and a localhost API server

I've been trying to get browser-sync to play nice with ember-cli via ember-cli-browser-sync (installed via "ember-cli-browser-sync": "git://github.com/dylanharrington/ember-cli-browser-sync.git" in package.json as it isn't on the npm registery) with my localhost API server, but have been unable to get it to work.

Just doing

serverMiddleware: function(config) {
  config.options.liveReload = false;
  browserSync({
    injectChanges: true,
    reloadDelay:   10,
    notify:        false,
    open:          false,
    proxy: "localhost:4200"
  });
},

Works wonderfully for a local device, but fails at accessing my api at http://localhost:8000/api/1 from an external device (iPhone).

I tried to extend the proxy settings to include my local API via:

var url = require('url'),
    proxy = require('proxy-middleware');

serverMiddleware: function(config) {
  config.options.liveReload = false;

  var proxyOptions = url.parse('http://localhost:8000/api/1');

  browserSync({
    injectChanges: true,
    reloadDelay:   10,
    notify:        false,
    open:          false,
    proxy: {
      target: 'localhost:4200',
      middleware: [proxy(proxyOptions)]
    }
  });

});

Which basically serves the API to my external URL provided by BrowserSync.

So I tried to utilise server:

serverMiddleware: function(config) {
  config.options.liveReload = false;

  var proxyOptions = url.parse('http://localhost:8000/api/1');
  console.log(proxyOptions);
      // proxyOptions.route = '/api';

  browserSync({
    injectChanges: true,
    reloadDelay:   10,
    notify:        false,
    open:          false,
    port: 3000,
    server: {
      baseDir: "./",
      routes: {
        "/app": "app",
        "/assets": "dist/assets",
      },
      index: "app/index.html",
      middleware: function (req, res, next) {
        console.log(req.url);
        next();
      }
    }
  });
},

Which serves the correct index, and all the asset files, but causes an error with ember.

Does anyone have any experience doing this and which path I should try next? Is there a different NPM package I should try to use to proxy my API?

I gave up trying to solve this myself and ended up just using XIP, which might suit your needs.