-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpreprocessor.js
More file actions
29 lines (27 loc) · 895 Bytes
/
preprocessor.js
File metadata and controls
29 lines (27 loc) · 895 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
const tsc = require('typescript');
const babel = require('babel-core');
const jestPreset = require('babel-preset-jest');
const es2015 = require('babel-preset-es2015');
const stage3 = require('babel-preset-stage-3');
module.exports = {
process: function (src, path) {
if (path.endsWith('.ts') || path.endsWith('.tsx')) {
var es6Code = tsc.transpile(
src,
{
target: tsc.ScriptTarget.ES6,
module: tsc.ModuleKind.CommonJS,
jsx: tsc.JsxEmit.React
},
path,
[]
);
return babel.transform(es6Code, {
auxiliaryCommentBefore: ' istanbul ignore next ',
presets: [jestPreset, es2015, stage3],
retainLines: true
}).code;
}
return src;
}
};