UNPKG

ts-jest

Version:

A preprocessor with sourcemap support to help use Typescript with Jest

38 lines 3.97 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var fs = require("fs-extra"); var tsc = require("typescript"); var utils_1 = require("./utils"); var glob = require('glob-all'); var nodepath = require('path'); function process(src, path, config) { var root = require('jest-util').getPackageRoot(); var compilerOptions = utils_1.getTSConfig(config.globals, config.collectCoverage); var isTsFile = path.endsWith('.ts') || path.endsWith('.tsx'); var isJsFile = path.endsWith('.js') || path.endsWith('.jsx'); var isHtmlFile = path.endsWith('.html'); if (isHtmlFile && config.globals.__TRANSFORM_HTML__) { src = 'module.exports=`' + src + '`;'; } var processFile = compilerOptions.allowJs === true ? isTsFile || isJsFile : isTsFile; if (processFile) { var transpiled = tsc.transpileModule(src, { compilerOptions: compilerOptions, fileName: path }); path = path.startsWith(root) ? path.substr(root.length) : path; if (!config.testRegex || !path.match(config.testRegex)) { fs.outputFileSync(nodepath.join(config.cacheDirectory, '/ts-jest/', new Buffer(path).toString('base64')), transpiled.outputText); } var start = transpiled.outputText.length > 12 ? transpiled.outputText.substr(1, 10) : ''; var modified = start === 'use strict' ? "'use strict';require('ts-jest').install();" + transpiled.outputText : "require('ts-jest').install();" + transpiled.outputText; return modified; } return src; } exports.process = process; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlcHJvY2Vzc29yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3ByZXByb2Nlc3Nvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDZCQUErQjtBQUMvQixnQ0FBa0M7QUFDbEMsaUNBQXNDO0FBRXRDLElBQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUNqQyxJQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7QUFFakMsaUJBQXdCLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTTtJQUNyQyxJQUFNLElBQUksR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDbkQsSUFBTSxlQUFlLEdBQUcsbUJBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUU1RSxJQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDL0QsSUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQy9ELElBQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFMUMsRUFBRSxDQUFDLENBQUMsVUFBVSxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO1FBQ2xELEdBQUcsR0FBRyxrQkFBa0IsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDO0lBQzFDLENBQUM7SUFFRCxJQUFNLFdBQVcsR0FBRyxlQUFlLENBQUMsT0FBTyxLQUFLLElBQUk7VUFDOUMsUUFBUSxJQUFJLFFBQVE7VUFDcEIsUUFBUSxDQUFDO0lBRWYsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUNkLElBQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQ2xDLEdBQUcsRUFDSDtZQUNJLGVBQWUsRUFBRSxlQUFlO1lBQ2hDLFFBQVEsRUFBRSxJQUFJO1NBQ2pCLENBQUMsQ0FBQztRQU1QLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQztRQUcvRCxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDckQsRUFBRSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsV0FBVyxFQUFFLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNySSxDQUFDO1FBRUQsSUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsRUFBRSxHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUM7UUFFM0YsSUFBTSxRQUFRLEdBQUcsS0FBSyxLQUFLLFlBQVk7Y0FDakMsK0NBQTZDLFVBQVUsQ0FBQyxVQUFZO2NBQ3BFLGtDQUFnQyxVQUFVLENBQUMsVUFBWSxDQUFDO1FBRTlELE1BQU0sQ0FBQyxRQUFRLENBQUM7SUFDcEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUFHLENBQUM7QUFDZixDQUFDO0FBN0NELDBCQTZDQyJ9