babel-code-frame: Get rid of the line-numbers dependency.

This commit is contained in:
Simon Lydell 2016-03-23 18:59:39 +01:00
parent d6b8e4c608
commit aaaffd32e7
2 changed files with 12 additions and 16 deletions

View File

@ -12,7 +12,6 @@
"chalk": "^1.1.0",
"esutils": "^2.0.2",
"js-tokens": "^1.0.1",
"line-numbers": "^0.2.0",
"repeating": "^1.1.3"
}
}

View File

@ -1,7 +1,5 @@
/* eslint indent: 0 */
/* eslint max-len: 0 */
import lineNumbers from "line-numbers";
import repeating from "repeating";
import jsTokens from "js-tokens";
import esutils from "esutils";
@ -97,20 +95,19 @@ export default function (
end = lines.length;
}
let frame = lineNumbers(lines.slice(start, end), {
start: start + 1,
before: " ",
after: " | ",
transform(params) {
if (params.number !== lineNumber) {
return;
}
let numberMaxWidth = String(end).length;
if (colNumber) {
params.line += `\n${params.before}${repeating(" ", params.width)}${params.after}${repeating(" ", colNumber - 1)}^`;
}
params.before = params.before.replace(/^./, ">");
let frame = lines.slice(start, end).map((line, index) => {
let number = start + 1 + index;
let paddedNumber = ` ${number}`.slice(-numberMaxWidth);
let gutter = ` ${paddedNumber} | `;
if (number === lineNumber) {
let markerLine = colNumber
? `\n ${gutter.replace(/\d/g, " ")}${repeating(" ", colNumber - 1)}^`
: "";
return `>${gutter}${line}${markerLine}`;
} else {
return ` ${gutter}${line}`;
}
}).join("\n");