diff --git a/packages/@vue/cli-plugin-unit-jest/presets/typescript/jest-preset.js b/packages/@vue/cli-plugin-unit-jest/presets/typescript/jest-preset.js index 019c8d5890..eaf1bea57b 100644 --- a/packages/@vue/cli-plugin-unit-jest/presets/typescript/jest-preset.js +++ b/packages/@vue/cli-plugin-unit-jest/presets/typescript/jest-preset.js @@ -1,12 +1,19 @@ const deepmerge = require('deepmerge') const defaultPreset = require('../default/jest-preset') +let tsJest = null +try { + tsJest = require.resolve('ts-jest') +} catch (e) { + throw new Error('Cannot resolve "ts-jest" module. Typescript preset requires "ts-jest" to be installed.') +} + module.exports = deepmerge( defaultPreset, { moduleFileExtensions: ['ts', 'tsx'], transform: { - '^.+\\.tsx?$': require.resolve('ts-jest') + '^.+\\.tsx?$': tsJest } } )