/**
 * Karma Configuration: Base.
 */
var path = require("path");
var baseCfg = require("./karma.conf");

// Sauce labs environments.
var SAUCE_ENVS = {
  "chrome-mac": {
    base: "SauceLabs",
    browserName: "chrome",
    platform: "OS X 10.9"
  },
  "safari-mac": {
    base: "SauceLabs",
    browserName: "safari",
    platform: "OS X 10.9"
  },
  // TODO: Appears to fail conversion tests.
  // "ie9-win7": {
  //   base: "SauceLabs",
  //   browserName: "internet explorer",
  //   platform: "Windows 7",
  //   version: "9"
  // },
  "ie10-win7": {
    base: "SauceLabs",
    browserName: "internet explorer",
    platform: "Windows 7",
    version: "10"
  },
  "ie11-win7": {
    base: "SauceLabs",
    browserName: "internet explorer",
    platform: "Windows 7",
    version: "11"
  }
};

// Optionally filter browsers from environment or "all browsers"
var BROWSERS = (process.env.BROWSERS || "")
  .split(",")
  .filter(function (x) { return x; });
if (!BROWSERS.length) {
  BROWSERS = Object.keys(SAUCE_ENVS);
}

// SauceLabs tag.
var SAUCE_BRANCH = process.env.TRAVIS_BRANCH || "local";
var SAUCE_TAG = process.env.SAUCE_USERNAME + "@" + SAUCE_BRANCH;

module.exports = function(config) {
  baseCfg(config);
  config.set({
    reporters: ["spec", "saucelabs"],
    sauceLabs: {
      testName: "full-stack-testing - Frontend Unit Tests",
      tags: [SAUCE_TAG],
      public: "public"
    },
    // Timeouts: Allow "n" minutes before saying "good enough". See also:
    // https://github.com/angular/angular.js/blob/master/karma-shared.conf.js
    captureTimeout: 0, // Pass through to SL.
    customLaunchers: SAUCE_ENVS,
    browsers: BROWSERS
  });
};

@@ -127,16 +127,146 @@
 nments.%0A
+//%0A// These are custom definitions that we can later invoke specifically on the%0A// command line with %60--browsers KEY1,KEY2%60, etc.%0A
 var SAUC
@@ -279,16 +279,19 @@
  = %7B%0A  %22
+sl-
 chrome-m
@@ -381,16 +381,19 @@
   %7D,%0A  %22
+sl-
 safari-m
@@ -531,16 +531,19 @@
 .%0A  // %22
+sl-
 ie9-win7
@@ -675,16 +675,19 @@
 / %7D,%0A  %22
+sl-
 ie10-win
@@ -806,16 +806,19 @@
   %7D,%0A  %22
+sl-
 ie11-win
@@ -941,235 +941,8 @@
 %7D;%0A%0A
-// Optionally filter browsers from environment or %22all browsers%22%0Avar BROWSERS = (process.env.BROWSERS %7C%7C %22%22)%0A  .split(%22,%22)%0A  .filter(function (x) %7B return x; %7D);%0Aif (!BROWSERS.length) %7B%0A  BROWSERS = Object.keys(SAUCE_ENVS);%0A%7D%0A%0A
 // S
@@ -1567,16 +1567,31 @@
 rs: 
-BROWSERS
+Object.keys(SAUCE_ENVS)
 %0A  %7D

Remove BROWSERS env var in favor of first class --browsers