From c2b2164ddd1e606fc2490326244a6efc63f6c4a0 Mon Sep 17 00:00:00 2001 From: Ahn Date: Sun, 28 Feb 2021 08:57:36 +0100 Subject: [PATCH] fix(compiler): return original file content and show warning on emit skip (#2410) Closes #2407 --- src/compiler/ts-compiler.ts | 4 +++- src/utils/messages.ts | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/compiler/ts-compiler.ts b/src/compiler/ts-compiler.ts index 970c9bdd37..d8e9a829d9 100644 --- a/src/compiler/ts-compiler.ts +++ b/src/compiler/ts-compiler.ts @@ -262,7 +262,9 @@ export class TsCompiler implements TsCompilerInstance { this._doTypeChecking(fileName) /* istanbul ignore next (this should never happen but is kept for security) */ if (output.emitSkipped) { - throw new Error(interpolate(Errors.CannotCompile, { file: fileName })) + this._logger.warn(interpolate(Errors.CannotProcessFile, { file: fileName })) + + return fileContent } // Throw an error when requiring `.d.ts` files. if (!output.outputFiles.length) { diff --git a/src/utils/messages.ts b/src/utils/messages.ts index 4fe9460a99..4ca47e74cf 100644 --- a/src/utils/messages.ts +++ b/src/utils/messages.ts @@ -17,7 +17,7 @@ export const enum Errors { GotUnknownFileTypeWithBabel = 'Got a unknown file type to compile (file: {{path}}). To fix this, in your Jest config change the `transform` key which value is `ts-jest` so that it does not match this kind of files anymore. If you still want Babel to process it, add another entry to the `transform` option with value `babel-jest` which key matches this type of files.', ConfigNoModuleInterop = 'If you have issues related to imports, you should consider setting `esModuleInterop` to `true` in your TypeScript configuration file (usually `tsconfig.json`). See https://blogs.msdn.microsoft.com/typescript/2018/01/31/announcing-typescript-2-7/#easier-ecmascript-module-interoperability for more information.', MismatchNodeTargetMapping = 'There is a mismatch between your NodeJs version {{nodeJsVer}} and your TypeScript target {{compilationTarget}}. This might lead to some unexpected errors when running tests with `ts-jest`. To fix this, you can check https://github.com/microsoft/TypeScript/wiki/Node-Target-Mapping', - CannotCompile = "Unable to process '{{file}}'. Please make sure that `outDir` in your tsconfig is neither `''` or `'.'`.", + CannotProcessFile = "Unable to process '{{file}}', falling back to original file content. Please make sure that `outDir` in your tsconfig is neither `''` or `'.'`. You can also configure Jest config option `transformIgnorePatterns` to ignore {{file}} from transformation", } /**