Skip to content

path.buildCodeFrameError('Error') throws #8617

@pasaran

Description

@pasaran

Bug Report

Current Behavior
path.buildCodeFrameError( 'Some error' ) throws error:

/Users/nop/tmp/node_modules/@babel/traverse/lib/path/index.js:157
    return this.hub.buildError(this.node, msg, Error);
                    ^

TypeError: Cannot read property 'buildError' of undefined
    at NodePath.buildCodeFrameError (/Users/nop/tmp/node_modules/@babel/traverse/lib/path/index.js:157:21)
    at Program (/Users/nop/tmp/test.js:9:20)
    at NodePath._call (/Users/nop/tmp/node_modules/@babel/traverse/lib/path/context.js:53:20)
    at NodePath.call (/Users/nop/tmp/node_modules/@babel/traverse/lib/path/context.js:40:17)
    at NodePath.visit (/Users/nop/tmp/node_modules/@babel/traverse/lib/path/context.js:88:12)
    at TraversalContext.visitQueue (/Users/nop/tmp/node_modules/@babel/traverse/lib/context.js:118:16)
    at TraversalContext.visitSingle (/Users/nop/tmp/node_modules/@babel/traverse/lib/context.js:90:19)
    at TraversalContext.visit (/Users/nop/tmp/node_modules/@babel/traverse/lib/context.js:146:19)
    at Function.traverse.node (/Users/nop/tmp/node_modules/@babel/traverse/lib/index.js:94:17)
    at traverse (/Users/nop/tmp/node_modules/@babel/traverse/lib/index.js:76:12)

Input Code

const parser = require( '@babel/parser' );
const traverse = require( '@babel/traverse' ).default;
const { codeFrameColumns } = require( '@babel/code-frame' );

const CODE = 'var a = 1;';
const ERROR = 'Number is too small';

const ast = parser.parse( CODE );

traverse( ast, {
    NumericLiteral: function( path ) {
        throw path.buildCodeFrameError( 'Some error' );
        //  throw codeFrameColumns( CODE, path.node.loc, ERROR );
    },
} );

Expected behavior/code
throw path.buildCodeFrameError( ERROR ) should do the same as throw codeFrameColumns( CODE, path.node.loc, ERROR ); (I guess).

Babel Configuration (.babelrc, package.json, cli command)

//  package.json:

  "devDependencies": {
    "@babel/parser": "^7.0.0",
    "@babel/traverse": "^7.0.0"
  }

Environment

  • Babel version(s): 7.0.0
  • Node/npm version: v9.0.0
  • OS: OSX 10.12.6 (16G1408)
  • How you are using Babel: cli

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions