Tern is a stand-alone code-analysis engine for JavaScript. It is intended to be used with a code editor plugin to enhance the editor's support for intelligent JavaScript editing. Features provided are:

Tern is open-source (MIT license), written in JavaScript, and capable of running both on node.js and in the browser.

Editor plugins

There is currently Tern support for the following editors:

Follow the links to find instructions on how to install the plugins.

Community and support

There is a discussion forum for questions and discussion around Tern. For announcements, such as new releases, there is a low-volume mailing list. For reporting bugs, I prefer that you use the github issue tracker.

Code contributions are welcome, preferably through pull requests.

Documentation

The reference manual should be your first stop for figuring out how to use Tern.

If you are interested in the way the system works internally, take a look at this blog post or the video of the talk I gave about it at the Curry On conference.

Release history

27-12-2019: Version 0.24.3

Small update release that fixes crashes when spread operator in object literal

13-10-2019: Version 0.24.2

Small update release that fixes crashes when writing catch clause

10-07-2019: Version 0.24.1

Small update release that fixes crashes when using doc_comment plugin

30-05-2019: Version 0.24

10-11-2018: Version 0.23

27-09-2018: Version 0.22.3

Small update release that fixes crashes affecting spread operator in object notation, rest operator in object pattern and export default anonymous class or function.

28-08-2018: Version 0.22

18-02-2017: Version 0.21

16-08-2016: Version 0.20

11-07-2016: Version 0.19

15-03-2016: Version 0.18

04-01-2016: Version 0.17

27-10-2015: Version 0.16

02-09-2015: Version 0.15

31-08-2015: Version 0.14

28-07-2015: Version 0.13

25-06-2015: Version 0.12

29-04-2015: Version 0.11

25-03-2015: Version 0.10

02-03-2015: Version 0.9

13-01-2015: Version 0.8

14-08-2014: Version 0.7

06-06-2014: Version 0.6.2

Small update release that fixes a crash affecting asynchronous loading of files.

06-06-2014: Version 0.6

10-10-2013: Version 0.5

12-08-2013: Version 0.4

10-07-2013: Version 0.3

11-06-2013: Version 0.2

03-05-2013: Version 0.1

First numbered release. Should be considered beta status, but usable enough to test.