From 96261c4b837d75f269ef49a6d6d466e8b92d651f Mon Sep 17 00:00:00 2001 From: m0ksem Date: Tue, 13 Apr 2021 23:08:05 +0300 Subject: [PATCH 1/2] Show fallback message for typescript jest preset if ts-jest is not installed. --- .../presets/typescript/jest-preset.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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..fd349b6065 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('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 } } ) From bf4e0a7b695560084dbab8eb45ca78e94f5ec942 Mon Sep 17 00:00:00 2001 From: Maksim Nedoshev Date: Wed, 14 Apr 2021 11:25:47 +0300 Subject: [PATCH 2/2] Resolve ts-jest module in typescript jest-preset. Co-authored-by: Haoqun Jiang --- .../@vue/cli-plugin-unit-jest/presets/typescript/jest-preset.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 fd349b6065..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 @@ -3,7 +3,7 @@ const defaultPreset = require('../default/jest-preset') let tsJest = null try { - tsJest = require('ts-jest') + tsJest = require.resolve('ts-jest') } catch (e) { throw new Error('Cannot resolve "ts-jest" module. Typescript preset requires "ts-jest" to be installed.') }