@@ -2,13 +2,15 @@ const { parse, compileTemplate } = require('@vue/compiler-sfc')
22const { transform } = require ( '@babel/core' )
33const convertSourceMap = require ( 'convert-source-map' )
44const babelTransformer = require ( 'babel-jest' )
5+ const { transpileModule } = require ( 'typescript' )
56
67const generateSourceMap = require ( './generate-source-map' )
78const typescriptTransformer = require ( './transformers/typescript' )
89const coffeescriptTransformer = require ( './transformers/coffee' )
910const _processStyle = require ( './process-style' )
1011const processCustomBlocks = require ( './process-custom-blocks' )
1112const getVueJestConfig = require ( './utils' ) . getVueJestConfig
13+ const getTsJestConfig = require ( './utils' ) . getTsJestConfig
1214const logResultErrors = require ( './utils' ) . logResultErrors
1315const stripInlineSourceMap = require ( './utils' ) . stripInlineSourceMap
1416const getCustomTransformer = require ( './utils' ) . getCustomTransformer
@@ -68,10 +70,19 @@ function processTemplate(template, filename, config) {
6870
6971 logResultErrors ( result )
7072
71- const babelify = transform ( result . code , { filename : 'file.js' } )
73+ const tsconfig = getTsJestConfig ( config )
7274
73- return {
74- code : babelify . code
75+ if ( tsconfig ) {
76+ // they are using TypeScript.
77+ const { outputText } = transpileModule ( result . code , { tsconfig } )
78+ return { code : outputText }
79+ } else {
80+ // babel
81+ const babelify = transform ( result . code , { filename : 'file.js' } )
82+
83+ return {
84+ code : babelify . code
85+ }
7586 }
7687}
7788
0 commit comments