tern.js is a stand-alone code-analysis engine for JavaScript written in Javascript.
tern.java provides the capability to use tern.js with Java context. It provides several implementation :
- wraps tern.js with Java code by using Rhino to create a Tern Server with Java code.
- wraps tern.js with Java code by using node.js to create a Tern Server with Java code.
- an other idea is to use javv8 but it seems the project is dead and I need win32 implementation.
- one more idea is to explorer Java 8 Nashorn JavaScript engine, possibly with avatar.js, see #33
As Tern is very CPU and memory intensive, the implementation with Rhino is very slow when JavaScript document is big. So it's better to use node.js or javv8.
Once that Tern Server is created with Java using core
module,
you can use it in any Java context (Eclipse, Netbeans, etc).
tern.java provides the capability to use Tern Server with SWT :
- contentassist which uses tern.java. If you start the SWT TernEditor demo, you will see contentassist available for JavaScript :
On top of core
module
Tern.java provides an Eclipse IDE integration with Tern. For more information please read Tern Eclipse IDE.
To install Tern IDE, please read Installation - Update site section.
- AngularJS Eclipse to give support for AngularJS.
- JavaScript Build Eclipse to give support for Grunt and Gulp.
There are also advanced tools for creators of tern plugins, see wiki pages Tern-Toolings, Tern-Console and Debugging.
- JBoss Studio for :
- Cordova Support
- Angular Support
See http://tools.jboss.org/blog/2014-06-19-beta2-for-luna.html#better-javascript for more informations.
- Liferay IDE 2.2 for :
- YUI, AUI support
- Liferay support
See http://www.liferay.com/fr/web/gregory.amerson/blog/-/blogs/liferay-ide-2-2-release for more informations.
-
Nodeclipse for :
-
node, express, support
-
mongodb native, mongoose support
See https://www.genuitec.com/tag/tern/ for more informations.
See cloudbees job: https://opensagres.ci.cloudbees.com/job/tern.java/
As tern.js uses ECMAScript5, the Rhino version should support it. The org.mozilla.javascript is an OSGi bundle which wraps the JAR Rhino 1.7R4 which supports ECMAScript5.