# syntax-error Detect and report syntax errors in source code strings. [![build status](https://secure.travis-ci.org/substack/node-syntax-error.png)](http://travis-ci.org/substack/node-syntax-error) 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 ``` js 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 ``` js 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](http://npmjs.org) do: ``` npm install syntax-error ``` # license MIT