-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathindex.js
More file actions
33 lines (25 loc) · 930 Bytes
/
index.js
File metadata and controls
33 lines (25 loc) · 930 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
var cjsxTransformer = require('coffee-react-transform');
var coffeeTransformerFactory = require('karma-coffee-preprocessor')['preprocessor:coffee'][1];
function factory(args, config, logger, helper) {
var log = logger.create('preprocessor.cjsx');
config = config || {};
config.transformPath = function(filepath) {
return filepath.replace(/\.cjsx$/, '.js').replace(/\.coffee$/, '.js');
};
var coffeeTransformer = coffeeTransformerFactory(args, config, logger, helper)
return function(content, file, done) {
var e, coffeeResult;
log.debug('Processing "%s".', file.originalPath);
try {
coffeeResult = cjsxTransformer(content);
} catch (e) {
log.error('%s\n at %s:%d', e.message, file.originalPath, e.location.first_line);
done(e);
return;
}
coffeeTransformer(coffeeResult, file, done);
};
};
module.exports = {
'preprocessor:cjsx': ['factory', factory]
};