jest-vue-preprocessor
Version:
Preprocessor that allows importing of .vue files in jest tests
29 lines (23 loc) • 806 B
JavaScript
/* eslint-env node */
const path = require('path');
const tsc = require('typescript');
const transformBabel = require('./transformBabel');
const getTsConfig = () => {
try {
return require(path.resolve(process.cwd(), 'tsconfig.json'));
} catch (error) {
return {};
}
};
module.exports = function transformTs(src, filename, render, staticRenderFns) {
const compilerOptions = Object.assign({}, getTsConfig().compilerOptions, {
sourceMap: true,
});
try {
const { outputText, sourceMapText } = tsc.transpileModule(src, { compilerOptions });
return transformBabel(outputText, filename, render, staticRenderFns, JSON.parse(sourceMapText));
} catch (error) {
// eslint-disable-next-line
console.error('Failed to compile src with `tsc` at `vue-preprocessor`');
}
};