diff --git a/packages/react-dev-utils/typescriptFormatter.js b/packages/react-dev-utils/typescriptFormatter.js
index ab1ca9b0706ebb495261834e1958d763d57f3d98..2d011fc7e713fb949837aeb8324a2e1b306ef677 100644
--- a/packages/react-dev-utils/typescriptFormatter.js
+++ b/packages/react-dev-utils/typescriptFormatter.js
@@ -13,13 +13,24 @@ const chalk = require('chalk');
 const fs = require('fs');
 
 function formatter(message, useColors) {
+  const hasGetters = typeof message.getFile === 'function';
   const colors = new chalk.constructor({ enabled: useColors });
   const messageColor = message.isWarningSeverity() ? colors.yellow : colors.red;
 
-  const source =
-    message.getFile() &&
-    fs.existsSync(message.getFile()) &&
-    fs.readFileSync(message.getFile(), 'utf-8');
+  let source;
+
+  if (hasGetters) {
+    source =
+      message.getFile() &&
+      fs.existsSync(message.getFile()) &&
+      fs.readFileSync(message.getFile(), 'utf-8');
+  } else {
+    source =
+      message.file &&
+      fs.existsSync(message.file) &&
+      fs.readFileSync(message.file, 'utf-8');
+  }
+
   let frame = '';
 
   if (source) {
@@ -33,9 +44,11 @@ function formatter(message, useColors) {
       .join(os.EOL);
   }
 
+  const severity = hasGetters ? message.getSeverity() : message.severity;
+
   return [
-    messageColor.bold(`Type ${message.getSeverity().toLowerCase()}: `) +
-      message.getContent() +
+    messageColor.bold(`Type ${severity.toLowerCase()}: `) +
+      (hasGetters ? message.getContent() : message.content) +
       '  ' +
       messageColor.underline(`TS${message.code}`),
     '',