awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
Back to fkling/astexplorer

Open-source alternatives to Astexplorer

30 open-source projects similar to fkling/astexplorer, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Astexplorer alternative.

  • rome/toolsrome avatar

    rome/tools

    23,417View on GitHub↗

    This project is a unified toolchain for JavaScript and TypeScript development, providing a suite of specialized tools for bundling, parsing, linting, and formatting source code. The toolchain is implemented in Rust and utilizes a shared internal representation to allow multiple tools to operate on the same parsed source code. It employs a parallelized analysis pipeline and single-pass parsing with error recovery to process files across CPU cores. The suite covers several core capability areas, including static analysis for identifying programmatic errors, automated style standardization, and

    Rustformatterjavascriptlinter
    View on GitHub↗23,417
  • estree/estreeestree avatar

    estree/estree

    5,421View on GitHub↗

    ESTree is a formal schema and set of object interfaces used to represent JavaScript source code as a standardized abstract syntax tree. It serves as a common tree format and parser standard to ensure interoperability between different JavaScript parsers and transformation tools. The specification provides a consistent way to model language constructs, including statements, expressions, and module declarations. It includes detailed representations for modern language features such as classes, private identifiers, and short-circuiting logic like nullish coalescing and optional chaining. The pr

    astestreejavascript
    View on GitHub↗5,421
  • benjamn/recastbenjamn avatar

    benjamn/recast

    5,246View on GitHub↗

    Recast is a JavaScript AST parser and printer designed for automated code refactoring. It converts source code into abstract syntax trees that can be modified and then printed back into source code. The project focuses on formatting-preserving transformations, storing original whitespace and indentation metadata within syntax tree nodes to reconstruct code without losing its original layout. It also generates character-level source maps to maintain precise correspondences between original input and transformed output. The toolkit includes utilities for syntax tree manipulation using a visito

    TypeScript
    View on GitHub↗5,246

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Find more with AI search
  • babel/babelbabel avatar

    babel/babel

    44,009View on GitHub↗

    Babel is a pluggable JavaScript compiler and transpiler that converts modern ECMAScript syntax into backwards-compatible versions of the language. It functions as an abstract syntax tree manipulator, parsing source code into a hierarchical structure to traverse and modify nodes for custom code transformations. The system utilizes a plugin-driven architecture to apply specific transformation rules and supports presets that bundle multiple plugins into named configuration groups. This enables the transformation of experimental syntax and the injection of non-global polyfills to ensure consisten

    TypeScriptastbabelcompiler
    View on GitHub↗44,009
  • dsherret/ts-morphdsherret avatar

    dsherret/ts-morph

    6,110View on GitHub↗

    ts-morph is a TypeScript AST manipulation library and a high-level wrapper for the TypeScript compiler API. It provides a programmatic interface for analyzing, modifying, and generating TypeScript source code, serving as a tool for automated code refactoring and source code generation. The library simplifies the process of navigating and inspecting project structures by offering an object-oriented abstraction over the underlying compiler API. It allows for the programmatic transformation of existing codebases to automate structural updates and bulk code migrations. Its capabilities cover sta

    TypeScript
    View on GitHub↗6,110
  • kach/nearleykach avatar

    kach/nearley

    3,740View on GitHub↗

    Nearley is a JavaScript parser toolkit and context-free grammar compiler. It functions as an Earley parser generator that transforms BNF-like grammar definitions into executable code capable of analyzing text and generating abstract syntax trees. The project is distinguished by its ability to handle any context-free grammar, including those with left recursion and ambiguity, by maintaining multiple valid derivations for a single input. It further supports incremental parsing, allowing input strings to be processed in chunks to provide partial results and real-time feedback. Beyond core parsi

    JavaScript
    View on GitHub↗3,740
  • acornjs/acornacornjs avatar

    acornjs/acorn

    11,402View on GitHub↗

    Acorn is a JavaScript parser that converts source text into a structured abstract syntax tree. It follows the ESTree specification to produce a standardized JSON tree format, enabling consistent analysis of code structure and language versions. The project features a plugin-based grammar extension system that allows the base parser to be extended with custom rules for experimental or non-standard language features. It also includes syntax error recovery, which inserts placeholder nodes into the tree when encountering invalid code to allow parsing to continue. The toolset covers static analys

    JavaScript
    View on GitHub↗11,402
  • lunet-io/markdiglunet-io avatar

    lunet-io/markdig

    5,257View on GitHub↗

    Markdig is a high-performance Markdown processor for .NET applications that converts Markdown text into HTML or other target formats. It is a CommonMark compliant parser and extensible engine that can transform Markdown into a searchable and manipulatable abstract syntax tree. The library provides a framework for adding custom syntax and rendering logic through a modular pipeline of parsers and renderers. It supports native ahead-of-time compilation and trimming to minimize binary size. Capabilities include the generation of structured HTML with custom attributes and styling, the extraction

    C#
    View on GitHub↗5,257
  • comby-tools/combycomby-tools avatar

    comby-tools/comby

    2,657View on GitHub↗

    Comby is a command-line utility designed for structural code search and transformation across diverse programming languages. It functions as a code transformation engine that identifies and modifies source code patterns by utilizing syntax-aware templates, ensuring that operations respect language boundaries such as nested blocks, strings, and comments. The tool distinguishes itself by mapping various programming languages to a unified structural representation, allowing for consistent pattern matching that ignores irrelevant whitespace and formatting. It performs these operations by executin

    OCamlcgojava
    View on GitHub↗2,657
  • biomejs/gritqlbiomejs avatar

    biomejs/gritql

    4,530View on GitHub↗

    GritQL is an AST-based code transformation engine and structural search tool. It uses a declarative query language to identify and rewrite source code patterns across multiple programming languages by matching abstract syntax tree nodes rather than literal text. The system functions as an automated refactoring framework for large-scale migrations and API updates. It distinguishes itself by utilizing sequential transformation pipelines and reusable blueprints that can be synced between local environments and remote repositories. The tool covers a broad range of capabilities including static a

    Rustastcodemodjavascript
    View on GitHub↗4,530
  • ast-grep/ast-grepast-grep avatar

    ast-grep/ast-grep

    12,522View on GitHub↗

    ast-grep is a command-line utility and static analysis engine designed for searching, linting, and refactoring source code. It operates by identifying and transforming code blocks based on their underlying syntactic structure rather than relying on text-based or regular expression matching. The tool utilizes a language-agnostic abstraction to normalize diverse programming grammars into a unified tree structure. By employing a rule-driven engine, it allows users to define complex patterns that capture syntax nodes as variables, enabling consistent and syntactically valid modifications across e

    Rustastbabelcodemod
    View on GitHub↗12,522
  • facebookarchive/prepackfacebookarchive avatar

    facebookarchive/prepack

    14,118View on GitHub↗

    Prepack is a build-time code evaluator and JavaScript bundle optimizer. It functions as a static analysis compiler that pre-evaluates static code and precalculates function results and global assignments during the build phase to accelerate startup times and reduce bundle size. The project specifically targets JSX optimization by processing syntax and node serialization to improve user interface rendering efficiency. It utilizes a partial evaluation engine and static execution analysis to replace runtime computations with precalculated constants. The tool covers a range of capabilities inclu

    JavaScriptjavascriptoptimization
    View on GitHub↗14,118
  • hylang/hyhylang avatar

    hylang/hy

    5,425View on GitHub↗

    Hy is a Lisp implementation for Python that allows for writing Lisp syntax which compiles to Python bytecode. It operates as a Python-based Lisp dialect and S-expression language, providing full access to the Python standard library and ecosystem. The language focuses on macro-based metaprogramming, featuring an AST-walking macro system and reader macros that allow for custom syntax transformations and parsing rules. It enables the manipulation of the abstract syntax tree to extend language capabilities. The project includes a read-eval-print loop for interactive development and supports sta

    Python
    View on GitHub↗5,425
  • dtolnay/syndtolnay avatar

    dtolnay/syn

    3,292View on GitHub↗

    syn is a Rust syntax tree parser and token stream converter. It serves as a toolkit for procedural macro development, providing a framework to parse Rust source code into structured syntax trees for analysis and transformation. The project enables the manipulation of Rust abstract syntax trees through specialized visitor and folder patterns for traversing and mutating nodes. It provides a bidirectional mapping that allows developers to convert token streams into structured trees and print those trees back into tokens for code generation. The library covers a broad range of syntax analysis ca

    Rustproc-macro
    View on GitHub↗3,292
  • unifiedjs/unifiedunifiedjs avatar

    unifiedjs/unified

    4,999View on GitHub↗

    Unified is a syntax tree processing engine and content ecosystem designed to parse, transform, and serialize text content. It functions as a plugin-based content pipeline that converts raw text into structured abstract syntax trees using plain JavaScript objects for programmatic inspection and modification. The project distinguishes itself through a modular architecture that enables cross-ecosystem translation, allowing syntax trees to be converted between different specifications such as HTML and Markdown. It utilizes a system of immutable processor cloning and shared state containers, ensur

    JavaScriptastcstjavascript
    View on GitHub↗4,999
  • rectorphp/rectorrectorphp avatar

    rectorphp/rector

    10,199View on GitHub↗

    Rector is an automated PHP refactoring and modernization tool designed to upgrade language versions and modernize syntax using predefined rules. It functions as a static analysis engine that inspects code structures and types to identify refactoring targets without executing the code. The project provides a framework for defining custom transformation logic to automate project-specific changes. It distinguishes itself by offering specialized capabilities for migrating legacy or custom frameworks to modern alternatives and converting docblock annotations into native language attributes. The s

    PHPastautomated-upgradesinstant-upgrades
    View on GitHub↗10,199
  • xoofx/markdigxoofx avatar

    xoofx/markdig

    5,127View on GitHub↗

    Markdig is a markdown parser library that converts text into structured HTML, plain text, or other formats using a configurable pipeline. It functions as a CommonMark compliant parser and an abstract syntax tree generator that transforms markdown into a hierarchical tree of block and inline nodes with precise source location mapping. The project is distinguished by a decoupled renderer architecture that separates parsing logic from output generation, enabling the transformation of the syntax tree into non-HTML formats such as LaTeX or XAML. It also serves as a lossless markdown processor by t

    C#commonmarkcommonmark-parsingcsharp
    View on GitHub↗5,127
  • antfu/unplugin-auto-importantfu avatar

    antfu/unplugin-auto-import

    3,786View on GitHub↗

    unplugin-auto-import is a build-time import automation plugin and AST-based code transformer. It analyzes source code to identify missing identifiers and automatically injects the required import statements during the bundling process. The project functions as a cross-bundler build plugin, providing a unified abstraction layer that ensures consistent behavior across Vite, Webpack, and Rollup. It utilizes a pattern-based module resolver to scan local directories via glob patterns and employs a TypeScript declaration generator to maintain type definition files for IDE autocompletion. Its capab

    TypeScript
    View on GitHub↗3,786
  • nolanlawson/optimize-jsnolanlawson avatar

    nolanlawson/optimize-js

    3,734View on GitHub↗

    Optimize-js is a JavaScript parsing optimizer designed to reduce the time browsers spend pre-parsing scripts to improve initial execution speed. It transforms source code to minimize the overhead associated with browser parsing. The project implements a technique that wraps function calls in parentheses to bypass initial pre-parsing and reduce double-parsing overhead. To maintain the utility of the transformed code, it includes a source map generator that links the optimized output back to the original source. The toolset also includes performance benchmarking capabilities to measure the exa

    JavaScript
    View on GitHub↗3,734
  • google/gumbo-parsergoogle avatar

    google/gumbo-parser

    5,190View on GitHub↗

    Gumbo-parser is a high-performance HTML5 parsing library written in pure C99. It transforms raw markup into a structured document tree by implementing the formal state-machine tokenization and error recovery rules defined in the HTML5 specification. The project serves as an HTML source mapping tool, linking parsed nodes back to their original byte offsets and pointers within the input buffer. This allows for the precise tracking of source locations for elements within the resulting parse tree. Beyond full document processing, the library handles isolated HTML fragments and provides a C-based

    HTML
    View on GitHub↗5,190
  • checkstyle/checkstylecheckstyle avatar

    checkstyle/checkstyle

    8,867View on GitHub↗

    Checkstyle is a Java static analysis tool and linter designed to identify and enforce coding standards and best practices. It functions as a code quality auditor and Javadoc validation tool, checking source code against configurable rulesets to ensure structural and stylistic consistency. The project allows for the creation of custom linting rules by extending a core API to inspect the abstract syntax tree. It further enables specialized validation through the use of XPath expressions to query the syntax tree for specific code patterns and violations. Capability areas include the enforcement

    Javacode-qualitycommand-line-toolhacktoberfest
    View on GitHub↗8,867
  • chai2010/go-ast-bookchai2010 avatar

    chai2010/go-ast-book

    5,510View on GitHub↗

    go-ast-book is a collection of educational and technical resources focused on abstract syntax tree analysis, compiler development, and static code verification. It provides guides and manuals for parsing, traversing, and analyzing Go source code to extract semantic meaning. The project serves as a reference for building compiler frontends, covering the translation of high-level code into intermediate representations and single static assignment forms. It also provides instructions for using these techniques to develop language tooling and perform static code analysis. The resources cover a b

    Go
    View on GitHub↗5,510
  • oxc-project/oxcoxc-project avatar

    oxc-project/oxc

    21,675View on GitHub↗

    Oxc is a high-performance toolchain designed for the analysis, linting, formatting, and transformation of JavaScript and TypeScript codebases. It functions as a comprehensive static analysis engine and compiler-based utility, providing the infrastructure necessary to parse source code into high-performance abstract syntax trees and map complex module dependency graphs across entire projects. The project distinguishes itself through its use of multi-core parallel processing to maximize throughput during intensive tasks like linting and minification. It offers deep, type-aware static analysis t

    Rustcompilerjavascriptlinter
    View on GitHub↗21,675
  • contra/react-responsivecontra avatar

    contra/react-responsive

    7,172View on GitHub↗

    react-responsive is a set of utility tools and hooks for evaluating CSS media queries within React components. It functions as a viewport state manager that detects screen dimensions and triggers user interface changes based on defined breakpoints. The project includes a helper for server-side rendering and automated testing that allows device properties to be overridden via context. This ensures consistent rendering when browser-native detection is unavailable. The library covers adaptive component rendering, viewport change monitoring, and responsive layout detection. It uses the native ma

    TypeScript
    View on GitHub↗7,172
  • algolia/instantsearchalgolia avatar

    algolia/instantsearch

    4,050View on GitHub↗

    InstantSearch is a JavaScript search framework and UI library designed for building instant search and discovery interfaces using the Algolia API. It provides a toolkit for implementing search logic, state synchronization, and result rendering across various environments, including dedicated component libraries for React and Vue.js. The framework decouples search data processing from the UI layer through a connector-based logic abstraction and a provider pattern for state distribution. This allows developers to build custom search behaviors by transforming connectors into hooks and assembling

    TypeScriptalgoliainstantsearchreact
    View on GitHub↗4,050
  • antonioru/beautiful-react-diagramsantonioru avatar

    antonioru/beautiful-react-diagrams

    2,726View on GitHub↗

    Beautiful React Diagrams is a component library for building interactive node-based visualizations and flowcharts within React applications. It provides a framework for rendering custom visual schemas where nodes and links are managed through a centralized state, ensuring a single source of truth for complex layouts. The library distinguishes itself through a flexible rendering pattern that allows for the injection of custom user-defined components into node and port placeholders. It enforces structural integrity by validating connections against predefined schemas and provides granular contr

    JavaScriptdiagramdiagramsflowchart-diagrams
    View on GitHub↗2,726
  • browserstate/history.jsbrowserstate avatar

    browserstate/history.js

    10,659View on GitHub↗

    history.js is a cross-browser URL state manager and HTML5 History API polyfill. It functions as a single page application router that manages browser URL and history state consistently across HTML5 and HTML4 browsers, enabling navigation without triggering full page reloads. The project provides a JavaScript framework adapter that integrates history management with the event systems of jQuery, MooTools, and Prototype. It ensures compatibility through a fallback mechanism that switches to hash-based navigation and hashbang URLs when the native HTML5 History API is unavailable. The system cove

    JavaScripthashchangehtml5-historyhtml5-history-api
    View on GitHub↗10,659
  • airbnb/ts-migrateairbnb avatar

    airbnb/ts-migrate

    5,620View on GitHub↗

    ts-migrate is an automated migration tool designed to transform JavaScript source code into compiling TypeScript files. It functions as a code migration framework that uses abstract syntax trees to perform large-scale refactoring and structural changes across a project. The tool provides a customizable framework for defining plugin-based transformation rules, allowing for the automation of specific code changes. It includes specialized engines for converting JSDoc type definitions into native TypeScript annotations and a utility for suppressing compiler errors by inserting type assertions or

    TypeScriptcodemodjavascriptmigration
    View on GitHub↗5,620
  • felixkratz/sketchybarFelixKratz avatar

    FelixKratz/SketchyBar

    11,920View on GitHub↗

    SketchyBar is a shell-scriptable system user interface and status bar replacement for macOS. It replaces the native menu bar with a customizable overlay that uses scriptable widgets and dynamic visual blocks to display real-time data. The tool is distinguished by its use of external shell scripts to update visual elements and state. It supports a declarative configuration system that allows for the creation of multi-instance bars and the execution of batched commands to minimize flickering during startup. The system provides capabilities for dynamic system monitoring through graphs and visua

    Cbarcustomizationdarwin
    View on GitHub↗11,920
  • bgstaal/multiplewindow3dscenebgstaal avatar

    bgstaal/multipleWindow3dScene

    18,960View on GitHub↗

    This project is a cross-window 3D visualization system that maintains a consistent scene state across multiple open browser instances. It utilizes a local storage state synchronizer to share real-time application data between different browser tabs. The system coordinates Three.js environments by syncing the internal scene graph, camera angles, and object positions. It achieves this through event-driven state propagation, allowing updates in one window to be reflected in all others without a dedicated backend server. The implementation includes window lifecycle management to track the creati

    JavaScript
    View on GitHub↗18,960