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.
You can see AngularJS Eclipse which is based on tern.java.
To install Tern IDE, please read Installation - Update site section.
There are also advanced tools for creators of tern plugins, see wiki pages Tern-Toolings, Tern-Console and Debugging.
Currently only bundled sources on all tern.java modules, see #215.
- 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.
Warning: When checking out on Windows , you can run into #35 check out on Windows - Filename too long
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.