Wallaby v2 has been released! 🚀 Open v2 docs.

Supported technologies: JSPM

Wallaby.js supports Jspm and System.js.

module.exports = function (wallaby) {

  return {
    files: [
      // system.js and configuration
      {pattern: 'jspm_packages/system.js', instrument: false},
      {pattern: 'config.js', instrument: false},

      // source files (`load: false` as the files will be loaded by system.js loader)
      {pattern: 'src/**/*.js', load: false}
    ],
    tests: [
      // test files (`load: false` as we will load tests manually)
      {pattern: 'test/**/*Spec.js', load: false}
    ],

    compilers: {
      '**/*.js': wallaby.compilers.babel()
    },

    // npm install electron --save-dev
    env: {
      kind: 'electron'
    },

    // telling wallaby to serve jspm_packages project folder
    // as is from wallaby web server
    middleware: (app, express) => {
      app.use('/jspm_packages', express.static(require('path').join(__dirname, 'jspm_packages')));
    },

    setup: function (wallaby) {
      wallaby.delayStart();

      System.config({
        transpiler: 'none'
      });

      var promises = [];
      for (var i = 0, len = wallaby.tests.length; i < len; i++) {
        promises.push(System['import'](wallaby.tests[i]));
      }

      Promise.all(promises).then(function () {
        wallaby.start();
      }).catch(function (e) {
        setTimeout(function () {
          throw e;
        }, 0);
      });
    }
  };
};

You may find the working sample of wallaby.js configuration for Jspm and System.js in this repository.