Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 1,000,000+ packages pre-installed, including syntax-error with all npm packages installed. Try it out:

var syntaxError = require("syntax-error")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

syntax-error v1.4.0

detect and report syntax errors in source code strings

syntax-error

Detect and report syntax errors in source code strings.

build status

When you type node src.js you get a friendly error report about exactly where the syntax error is. This module lets you check for syntax errors and report them in a similarly friendly format that wrapping a try/catch around Function() or vm.runInNewContext() doesn't get you.

example

var fs = require('fs');
var check = require('syntax-error');

var file = __dirname + '/src.js';
var src = fs.readFileSync(file);

var err = check(src, file);
if (err) {
    console.error('ERROR DETECTED' + Array(62).join('!'));
    console.error(err);
    console.error(Array(76).join('-'));
}

$ node check.js
ERROR DETECTED!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

/home/substack/projects/node-syntax-error/example/src.js:5
        if (Array.isArray(x) res.push.apply(res, x);
                             ^
ParseError: Unexpected identifier
---------------------------------------------------------------------------

methods

var check = require('syntax-error')

var err = check(src, file, opts={})

Check the source code string src for syntax errors. Optionally you can specify a filename file that will show up in the output.

If src has a syntax error, return an error object err that can be printed or stringified.

If there are no syntax errors in src, return undefined.

Options will be passed through to acorn-node. acorn-node defaults to options that match the most recent Node versions.

err.toString()

Return the long string description with a source snippet and a ^ under pointing exactly where the error was detected.

attributes

err.message

short string description of the error type

err.line

line number of the error in the original source (indexing starts at 1)

err.column

column number of the error in the original source (indexing starts at 1)

install

With npm do:

npm install syntax-error

license

MIT

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free