diff --git a/packages/babel-code-frame/package.json b/packages/babel-code-frame/package.json index 81b21d79d1..989712d1c0 100644 --- a/packages/babel-code-frame/package.json +++ b/packages/babel-code-frame/package.json @@ -11,7 +11,6 @@ "babel-runtime": "^5.0.0", "chalk": "^1.1.0", "esutils": "^2.0.2", - "js-tokens": "^1.0.1", - "repeating": "^1.1.3" + "js-tokens": "^1.0.2" } } diff --git a/packages/babel-code-frame/src/index.js b/packages/babel-code-frame/src/index.js index 928874b611..31559450dd 100644 --- a/packages/babel-code-frame/src/index.js +++ b/packages/babel-code-frame/src/index.js @@ -1,4 +1,3 @@ -import repeating from "repeating"; import jsTokens from "js-tokens"; import esutils from "esutils"; import chalk from "chalk"; @@ -100,9 +99,11 @@ export default function ( let paddedNumber = ` ${number}`.slice(-numberMaxWidth); let gutter = ` ${paddedNumber} | `; if (number === lineNumber) { - let markerLine = colNumber - ? `\n ${gutter.replace(/\d/g, " ")}${repeating(" ", colNumber - 1)}^` - : ""; + let markerLine = ""; + if (colNumber) { + let markerSpacing = line.slice(0, colNumber - 1).replace(/[^\t]/g, " "); + markerLine =`\n ${gutter.replace(/\d/g, " ")}${markerSpacing}^`; + } return `>${gutter}${line}${markerLine}`; } else { return ` ${gutter}${line}`;