UNPKG

karma-sprockets

Version:

A Karma plugin that helps importing js files from sprockets bundles.

42 lines (34 loc) 1.14 kB
// chain, chain, chaaaain ... var Chain = require('sprockets-chain'); var isAbsolutePath = function(path) { if (!path.length) { return false; } return path[0] == '/'; }; var createSprockets = function(config) { var sc = new Chain(); var sprocketsPath = [].concat(config.sprocketsPath); for (var i = 0, len = sprocketsPath.length; i < len; i++){ if (isAbsolutePath(sprocketsPath[i])) { sc.appendPath(sprocketsPath[i]); } else { sc.appendPath(config.basePath + '/' + sprocketsPath[i]); } } sc.appendExtensions(".ejs"); sc.appendExtensions(".jsx"); sc.appendExtensions(".cjsx"); for (var i = config.sprocketsBundles.length -1; i >=0; i--) { var expanded = sc.depChain(config.sprocketsBundles[i]); for (var j = expanded.length -1; j >=0; j--) { config.files.unshift({ included: true, served: true, watched: config.autoWatch, pattern: expanded[j] }); } } }; createSprockets.$inject = ['config']; module.exports = { 'framework:sprockets': ['factory', createSprockets] };