ternjs/tern

A JavaScript code analyzer for deep, cross-editor language support

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 4 minutes ago
Added to GitGenius on September 16th, 2026
Created on March 7th, 2013
Open Issues & Pull Requests: 161 (+0)
GitHub issues: Enabled
Number of forks: 370
Total Stargazers: 4,239 (+0)
Total Subscribers: 101 (+0)

Repository Insights (GitGenius)

Most active contributors

Sign in to see contributor activity.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 3
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 273 days
Stale 30+ days: 3
Stale 90+ days: 3

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Tern is a JavaScript code analyzer that enables deep language support across multiple editors.

Tern solves the problem of providing accurate code intelligence for JavaScript by performing static analysis of code to understand its structure and semantics. Rather than relying on simple text matching or regular expressions, the tool builds an understanding of variable scope, function definitions, object properties, and type information. This allows it to deliver precise autocompletion, jump-to-definition, and refactoring capabilities that adapt to the actual code being written, including support for inferring types from usage patterns and understanding third-party libraries through plugin definitions.

Developers should choose Tern if they are building editor integrations or IDE plugins that need to provide intelligent JavaScript assistance. It works well for projects where accurate code navigation and completion are priorities, particularly in environments where the editor itself does not have built-in JavaScript intelligence. The tool is designed as a language service that can be embedded into various editors rather than as a standalone application, making it suitable for teams extending existing editors or creating custom development environments. Tern is language-agnostic in its integration approach, meaning editors written in any language can communicate with it through its protocol.

The project maintains steady activity with regular commits addressing bug fixes and incremental improvements to the analyzer. Development focuses on maintaining compatibility with evolving JavaScript patterns and refining the accuracy of type inference. The maintainers respond to issues and pull requests, indicating ongoing engagement with the user base. The codebase shows evidence of careful attention to edge cases in JavaScript semantics, with updates reflecting real-world usage patterns discovered through community feedback.