Herramientas o utilidades para verificar la syntax correcta de Javascript

Conozco herramientas como JSLint, pero no busco la corrección de estilo, necesito una herramienta o utilidad (preferiblemente una que se ejecute en Linux, puntos de bonificación por estar en el administrador de packages de ubuntu) que pueda verificar la corrección sintáctica de un Archivo JavaScript

Solo necesito saber que no hay errores de syntax.

(La revelación completa iba a poner este cheque en un gancho de commit de git, para asegurar que no se cometiera JavaScript sintácticamente incorrecto. Por lo tanto, puede ser una herramienta de estilo, pero debe ser capaz de producir un "SI SYNTAX GOOD", o Resultado "NO SYNTAX BAD")

Creo que crees que JSLint no verifica la syntax, pero creo que hace exactamente lo que quieres. ¡Ahora, para mis puntos de bonificación! 🙂 Aquí hay un ejemplo rápido que debería hacer todo lo que quiera, a pesar de usar JSLint.

sudo apt-get install spidermonkey-bin wget http://www.jslint.com/fulljslint.js mv fulljslint.js /home/admin/bin/js 

luego crea /home/admin/bin/js/runjslint.js:

 load('/home/admin/bin/js/fulljslint.js'); var body = arguments[0]; var result = JSLINT(body); if (result) { print('YES SYNTAX GOOD'); } else { print('NO SYNTAX BAD'); } print(JSLINT.report()); 

Este file, cuando se ejecuta con Spidermonkey, verificará la syntax de los datos de Javascript pasados ​​como un argumento de línea de command. Puede que no quieras ese informe al final, aunque creo que valdría la pena jugarlo.

acorn.js es un analizador de JavaScript muy pequeño. Lanza un error de javascript cuando encuentra un problema.

Descargar bellota

 curl https://raw.github.com/marijnh/acorn/master/acorn.js > acorn.js 

Cree un cornetworkingor llamado acornIt.js con los siguientes contenidos (requiere que se instale el nodo)

 var acorn = require('./acorn'); var fs = require('fs'); var fileName = process.argv[2]; var contents = fs.readFileSync(fileName); try { acorn.parse(contents); console.log("YES SYNTAX GOOD"); } catch (e) { console.log("NO SYNTAX BAD"); console.log(e); // See where the error occunetworking } 

Y ejecutarlo

 node acornIt.js someTestFile.js