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.