Skip to content
This repository has been archived by the owner on Mar 25, 2021. It is now read-only.

Commit

Permalink
Update babel-code-frame to @babel/code-frame (#4632)
Browse files Browse the repository at this point in the history
  • Loading branch information
bjornstar authored and adidahiya committed Apr 3, 2019
1 parent 0289e6d commit 71be0d7
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 33 deletions.
4 changes: 2 additions & 2 deletions package.json
Expand Up @@ -29,7 +29,7 @@
"coverage": "rimraf coverage .nyc_output && nyc npm test"
},
"dependencies": {
"babel-code-frame": "^6.22.0",
"@babel/code-frame": "^7.0.0",
"builtin-modules": "^1.1.1",
"chalk": "^2.3.0",
"commander": "^2.12.1",
Expand All @@ -47,7 +47,7 @@
"typescript": ">=2.1.0 || >=2.1.0-dev || >=2.2.0-dev || >=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >=3.0.0-dev || >= 3.1.0-dev || >= 3.2.0-dev"
},
"devDependencies": {
"@types/babel-code-frame": "^6.20.0",
"@types/babel__code-frame": "^7.0.1",
"@types/chai": "^3.5.0",
"@types/diff": "^3.2.0",
"@types/glob": "^5.0.30",
Expand Down
9 changes: 4 additions & 5 deletions src/formatters/codeFrameFormatter.ts
Expand Up @@ -15,7 +15,7 @@
* limitations under the License.
*/

import codeFrame = require("babel-code-frame");
import { codeFrameColumns } from "@babel/code-frame";
import chalk from "chalk";

import { AbstractFormatter } from "../language/formatter/abstractFormatter";
Expand Down Expand Up @@ -76,11 +76,10 @@ export class Formatter extends AbstractFormatter {
ruleName = chalk.gray(`(${ruleName})`);

// Frame
const lineAndCharacter = failure.getStartPosition().getLineAndCharacter();
const frame = codeFrame(
const { character: column, line } = failure.getStartPosition().getLineAndCharacter();
const frame = codeFrameColumns(
failure.getRawLines(),
lineAndCharacter.line + 1, // babel-code-frame is 1 index
lineAndCharacter.character,
{ start: { line: line + 1, column } }, // babel-code-frame is 1 index
{
forceColor: chalk.enabled,
highlightCode: true,
Expand Down
53 changes: 27 additions & 26 deletions test/formatters/codeFrameFormatterTests.ts
Expand Up @@ -27,6 +27,7 @@ describe("CodeFrame Formatter", () => {
let sourceFile: ts.SourceFile;
let formatter: IFormatter;
let colorsEnabled: boolean;

before(() => {
colorsEnabled = chalk.enabled;
const Formatter = TestUtils.getFormatter("codeFrame");
Expand All @@ -35,11 +36,11 @@ describe("CodeFrame Formatter", () => {
});

after(() => {
(chalk as any).enabled = colorsEnabled;
chalk.enabled = colorsEnabled;
});

it("formats failures with colors", () => {
(chalk as any).enabled = true;
chalk.enabled = true;
const maxPosition = sourceFile.getFullWidth();

const failures = [
Expand Down Expand Up @@ -84,36 +85,36 @@ describe("CodeFrame Formatter", () => {

const expectedResultColored = `formatters/codeFrameFormatter.test.ts
\u001b[31mfirst failure\u001b[39m \u001b[90m(first-name)\u001b[39m
\u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 1 | \u001b[39mmodule \u001b[33mCodeFrameModule\u001b[39m {
\u001b[90m 2 | \u001b[39m \u001b[36mexport\u001b[39m \u001b[36mclass\u001b[39m \u001b[33mCodeFrameClass\u001b[39m {
\u001b[90m 3 | \u001b[39m private name\u001b[33m:\u001b[39m string\u001b[33m;\u001b[39m
\u001b[90m 4 | \u001b[39m\u001b[0m
\u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 1 | \u001b[39mmodule \u001b[33mCodeFrameModule\u001b[39m {\u001b[0m
\u001b[0m \u001b[90m 2 | \u001b[39m \u001b[36mexport\u001b[39m \u001b[36mclass\u001b[39m \u001b[33mCodeFrameClass\u001b[39m {\u001b[0m
\u001b[0m \u001b[90m 3 | \u001b[39m private name\u001b[33m:\u001b[39m string\u001b[33m;\u001b[39m\u001b[0m
\u001b[0m \u001b[90m 4 | \u001b[39m\u001b[0m
\u001b[31mfull failure\u001b[39m \u001b[90m(full-name)\u001b[39m
\u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 1 | \u001b[39mmodule \u001b[33mCodeFrameModule\u001b[39m {
\u001b[90m 2 | \u001b[39m \u001b[36mexport\u001b[39m \u001b[36mclass\u001b[39m \u001b[33mCodeFrameClass\u001b[39m {
\u001b[90m 3 | \u001b[39m private name\u001b[33m:\u001b[39m string\u001b[33m;\u001b[39m
\u001b[90m 4 | \u001b[39m\u001b[0m
\u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 1 | \u001b[39mmodule \u001b[33mCodeFrameModule\u001b[39m {\u001b[0m
\u001b[0m \u001b[90m 2 | \u001b[39m \u001b[36mexport\u001b[39m \u001b[36mclass\u001b[39m \u001b[33mCodeFrameClass\u001b[39m {\u001b[0m
\u001b[0m \u001b[90m 3 | \u001b[39m private name\u001b[33m:\u001b[39m string\u001b[33m;\u001b[39m\u001b[0m
\u001b[0m \u001b[90m 4 | \u001b[39m\u001b[0m
\u001b[33mwarning failure\u001b[39m \u001b[90m(warning-name)\u001b[39m
\u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 1 | \u001b[39mmodule \u001b[33mCodeFrameModule\u001b[39m {
\u001b[90m 2 | \u001b[39m \u001b[36mexport\u001b[39m \u001b[36mclass\u001b[39m \u001b[33mCodeFrameClass\u001b[39m {
\u001b[90m 3 | \u001b[39m private name\u001b[33m:\u001b[39m string\u001b[33m;\u001b[39m
\u001b[90m 4 | \u001b[39m\u001b[0m
\u001b[31m&<>'\" should be escaped\u001b[39m \u001b[90m(escape)\u001b[39m
\u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 1 | \u001b[39mmodule \u001b[33mCodeFrameModule\u001b[39m {
\u001b[90m | \u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m
\u001b[90m 2 | \u001b[39m \u001b[36mexport\u001b[39m \u001b[36mclass\u001b[39m \u001b[33mCodeFrameClass\u001b[39m {
\u001b[90m 3 | \u001b[39m private name\u001b[33m:\u001b[39m string\u001b[33m;\u001b[39m
\u001b[90m 4 | \u001b[39m\u001b[0m
\u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 1 | \u001b[39mmodule \u001b[33mCodeFrameModule\u001b[39m {\u001b[0m
\u001b[0m \u001b[90m 2 | \u001b[39m \u001b[36mexport\u001b[39m \u001b[36mclass\u001b[39m \u001b[33mCodeFrameClass\u001b[39m {\u001b[0m
\u001b[0m \u001b[90m 3 | \u001b[39m private name\u001b[33m:\u001b[39m string\u001b[33m;\u001b[39m\u001b[0m
\u001b[0m \u001b[90m 4 | \u001b[39m\u001b[0m
\u001b[31m&<>\'" should be escaped\u001b[39m \u001b[90m(escape)\u001b[39m
\u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 1 | \u001b[39mmodule \u001b[33mCodeFrameModule\u001b[39m {\u001b[0m
\u001b[0m \u001b[90m | \u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\u001b[0m
\u001b[0m \u001b[90m 2 | \u001b[39m \u001b[36mexport\u001b[39m \u001b[36mclass\u001b[39m \u001b[33mCodeFrameClass\u001b[39m {\u001b[0m
\u001b[0m \u001b[90m 3 | \u001b[39m private name\u001b[33m:\u001b[39m string\u001b[33m;\u001b[39m\u001b[0m
\u001b[0m \u001b[90m 4 | \u001b[39m\u001b[0m
\u001b[31mlast failure\u001b[39m \u001b[90m(last-name)\u001b[39m
\u001b[0m \u001b[90m 7 | \u001b[39m }
\u001b[90m 8 | \u001b[39m }
\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 9 | \u001b[39m}
\u001b[90m | \u001b[39m\u001b[31m\u001b[1m^\u001b[22m\u001b[39m
\u001b[90m 10 | \u001b[39m\u001b[0m
\u001b[0m \u001b[90m 7 | \u001b[39m }\u001b[0m
\u001b[0m \u001b[90m 8 | \u001b[39m }\u001b[0m
\u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 9 | \u001b[39m}\u001b[0m
\u001b[0m \u001b[90m | \u001b[39m\u001b[31m\u001b[1m^\u001b[22m\u001b[39m\u001b[0m
\u001b[0m \u001b[90m 10 | \u001b[39m\u001b[0m
`;

Expand Down

0 comments on commit 71be0d7

Please sign in to comment.