awesome-repositories.com
Blog
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
T

ternjs/tern

0
View on GitHub↗
4,240 Stars·371 Forks·JavaScript·MIT·10 Aufrufe

Tern

Tern is an editor-independent code analyzer and static analysis engine for JavaScript. It functions as a language server that provides semantic intelligence by parsing source code into abstract syntax trees to infer types and resolve symbols without requiring manual type annotations.

The engine distinguishes itself through the use of JSON-based type definitions, which allow it to describe library signatures and external dependencies without needing the original source code. It also features a plugin system that enables the extension of server functionality to support custom loaders or frameworks.

The project covers broad capability areas including code navigation, refactoring, and editor autocompletion. It provides services such as locating symbol definitions, finding code references, and offering function argument hints and completions based on inferred expression types.

Features

  • Language Intelligence Services - Provides deep semantic analysis of JavaScript code to enable advanced navigation and understanding in editors.
  • JSON Library Type Definitions - Utilizes JSON-based type definitions to describe library signatures and external dependencies without needing original source code.
  • Semantic Code Analyzers - Performs semantic analysis to resolve symbols and find definitions and references within JavaScript code.
  • Code Completion - Recommends variables and keywords at the cursor based on inferred types and documentation metadata.
  • Editor Code Navigation - Provides essential capabilities for jumping to definitions, finding references, and renaming symbols across files.
  • JavaScript Language Servers - Implements a backend language server that provides completion, symbol resolution, and refactoring for JavaScript.
  • Language Server Implementations - Functions as an editor-independent analysis engine providing language intelligence services via a common interface.
  • Custom Type Definitions - Uses JSON-based signatures to describe external library types when the original source code is unavailable.
  • JavaScript Static Analysis - Analyzes JavaScript source code without execution to infer variable types and ensure project consistency.
  • JavaScript Static Analyzers - Functions as a static analysis engine that parses JavaScript into abstract syntax trees to provide semantic intelligence.
  • Static Type Inference - Determines data types by analyzing variable and property contexts without requiring manual type annotations.
  • Symbol Definition Resolution - Locates the original declaration of a variable, function, or class by analyzing semantic information.
  • Static Source Code Type Inference - Implements a core engine that infers JavaScript types by analyzing the abstract syntax tree of source code.
  • Symbol Resolution - Provides a mechanism to map identifiers to their original declarations by analyzing semantic and type information.
  • Expression Type Resolution - Determines the expected data types of expressions during the static analysis phase.
  • Code Autocomplete Engines - Provides context-aware code completions for symbols and properties as the user types.
  • Code Refactoring Tools - Provides capabilities to rename symbols and restructure code while maintaining logical consistency.
  • Code Reference Locators - Implements the ability to search the syntax tree and locate every occurrence of a specific variable or property.
  • External Dependency Resolvers - Locates and prepares external code dependencies using standard resolution strategies.
  • JavaScript Symbol Resolvers - Provides the capability to locate variable definitions and find all references to specific symbols across a project.
  • Type Determination - Retrieves the resulting data type of specific code expressions without executing the code.
  • Expression Type Inspectors - Inspects and reports the static type of specific code expressions to assist with debugging.
  • Function Argument Hints - Displays expected parameter types and descriptions when a function is invoked to ensure correct usage.
  • Module Path Resolution - Implements rules for locating external code dependencies using industry-standard path and naming patterns.
  • Parameter Usage Hints - Displays expected arguments for functions to help users call them with the correct parameters.
  • User-Defined Types - Allows specifying function signatures and types via a structured format to describe external libraries.
  • Automatic Variable Type Inference - Identifies the inferred type of specific expressions to ensure data consistency and correctness.
  • Sponsored Projects - Funded through a community-driven crowdfunding campaign.
  • Sustainable Project Examples - Releases language expansion packs via crowdfunded campaigns.

Star-Verlauf

Star-Verlauf für ternjs/ternStar-Verlauf für ternjs/tern

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Open-Source-Alternativen zu Tern

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Tern.
  • luals/lua-language-serverAvatar von LuaLS

    LuaLS/lua-language-server

    4,298Auf GitHub ansehen↗

    lua-language-server is a static analysis tool and type checker for the Lua language that implements the Language Server Protocol. It provides a system for detecting type mismatches, unused code, and logic errors in source files. The project features an inference-based type system that deduces variable types and supports optional annotations and meta files to enforce type safety. It allows for the definition of custom types and function signatures, including support for overloads and member visibility controls. The server provides a broad set of IDE capabilities, including real-time code auto

    Luahacktoberfestlanguage-serverlpeg
    Auf GitHub ansehen↗4,298
  • myriad-dreamin/tinymistAvatar von Myriad-Dreamin

    Myriad-Dreamin/tinymist

    2,907Auf GitHub ansehen↗

    Tinymist is a comprehensive suite of tools for Typst document authoring, serving as a language server, document compiler, and project manager. It provides a standardized language service via the Language Server Protocol to enable editor features such as autocompletion, navigation, and semantic highlighting. The project distinguishes itself by integrating a TCP-based live preview server for real-time visual rendering and an advanced static analysis tool that utilizes abstract syntax trees and bidirectional type checking. It also includes a project management system capable of handling multi-fi

    Rustdapdap-serverformatter
    Auf GitHub ansehen↗2,907
  • rust-lang/rlsAvatar von rust-lang

    rust-lang/rls

    3,509Auf GitHub ansehen↗

    RLS is a language server that provides language intelligence for the Rust programming language. It implements the Language Server Protocol to enable a standardized communication layer between the Rust compiler and various editor clients. The project focuses on providing real-time code completions, symbol navigation, and type information. It also supports automated structural changes, such as workspace-wide symbol renaming, to maintain semantic correctness during refactoring. The system incorporates static code analysis for linting and formatting, alongside a mechanism for incremental compila

    Rustidelanguage-server-protocolrust
    Auf GitHub ansehen↗3,509
  • rust-lang/rust-by-exampleAvatar von rust-lang

    rust-lang/rust-by-example

    8,026Auf GitHub ansehen↗

    This project is an interactive programming education resource and tutorial designed for learning the Rust programming language and systems programming concepts. It provides a collection of runnable and editable code examples that serve as a practical reference for language syntax and implementation. The resource features an interactive code sandbox that allows users to execute and test code snippets in real time. It emphasizes the verification of technical accuracy by executing embedded code blocks during the build process to ensure all examples remain functional. The content covers a compre

    Handlebars
    Auf GitHub ansehen↗8,026
Alle 30 Alternativen zu Tern anzeigen→

Häufig gestellte Fragen

Was macht ternjs/tern?

Tern is an editor-independent code analyzer and static analysis engine for JavaScript. It functions as a language server that provides semantic intelligence by parsing source code into abstract syntax trees to infer types and resolve symbols without requiring manual type annotations.

Was sind die Hauptfunktionen von ternjs/tern?

Die Hauptfunktionen von ternjs/tern sind: Language Intelligence Services, JSON Library Type Definitions, Semantic Code Analyzers, Code Completion, Editor Code Navigation, JavaScript Language Servers, Language Server Implementations, Custom Type Definitions.

Welche Open-Source-Alternativen gibt es zu ternjs/tern?

Open-Source-Alternativen zu ternjs/tern sind unter anderem: luals/lua-language-server — lua-language-server is a static analysis tool and type checker for the Lua language that implements the Language… myriad-dreamin/tinymist — Tinymist is a comprehensive suite of tools for Typst document authoring, serving as a language server, document… rust-lang/rls — RLS is a language server that provides language intelligence for the Rust programming language. It implements the… rust-lang/rust-by-example — This project is an interactive programming education resource and tutorial designed for learning the Rust programming… codota/tabnine — TabNine is an AI-powered code completion engine that runs a deep-learning model to generate real-time code suggestions… amir9480/vscode-laravel-extra-intellisense — This is a Visual Studio Code extension that provides framework-specific IntelliSense for Laravel projects. It acts as…