Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

detect and report syntax errors in source code strings

branch: master

1.1.0

latest commit 5313b0613e
James Halliday authored March 18, 2014
Octocat-spinner-32 example working example August 02, 2012
Octocat-spinner-32 test upgrade tests, esprima-six January 31, 2014
Octocat-spinner-32 .travis.yml using travis August 02, 2012
Octocat-spinner-32 LICENSE package.json and a license August 02, 2012
Octocat-spinner-32 index.js upgrade to esprima-fb for es6 March 18, 2014
Octocat-spinner-32 package.json 1.1.0 March 18, 2014
Octocat-spinner-32 readme.markdown using travis August 02, 2012
readme.markdown

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)

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.

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

Something went wrong with that request. Please try again.