babel-code-frame: Get rid of the line-numbers dependency.
This commit is contained in:
@@ -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");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user