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
thx avatar

thx/gogocode

0
View on GitHub↗
6,075 stars·465 forks·JavaScript·mit·16 views

Gogocode

GoGoCode is an AST-based code transformation toolkit that enables developers to query, match, and rewrite JavaScript source code using jQuery-style selectors and wildcard patterns. At its core, it provides a programmatic code refactoring library that manipulates parsed AST nodes, allowing precise structural modifications without worrying about formatting differences. The toolkit also functions as a JavaScript AST query engine, finding code patterns through snippet-based matching with wildcards that capture unknown or variable-length fragments.

What distinguishes GoGoCode is its callback-driven dynamic replacement system, where transformation callbacks receive matched wildcard values and return context-aware replacement code. The jQuery-style selector syntax makes AST traversal intuitive without manual tree walking, while the wildcard-based pattern matching handles both fixed and variable-length code fragments during queries. The toolkit includes a multi-framework migration engine that automates upgrading Vue 2 components to Vue 3 syntax, converting Element UI imports to Element Plus equivalents, and migrating iView to iView 4, with full Vue template-aware parsing for single-file component transformations.

The code transformation capabilities cover AST node insertion, deletion, and replacement, along with positional code insertion methods like append, prepend, before, and after. For querying, it supports code existence checks, matched node iteration, and AST-to-code generation for output or inspection. The framework migration tools specifically handle Vue template transformations alongside JavaScript, enabling full-stack code modifications in a single pass.

Features

  • AST-Based Refactorers - Provides AST-based refactoring by matching and replacing code patterns using queries and wildcards.
  • Source Code Rewriting - Provides AST-based source code rewriting for precise structural modifications without formatting concerns.
  • JavaScript AST Transformations - Provides an AST manipulation library for querying, replacing, and generating JavaScript code.
  • Code Refactoring Tools - Provides a programmatic code rewriting system that inserts, removes, and replaces AST nodes.
  • Pattern Wildcards - Matches code patterns with wildcards that capture unknown or variable-length fragments during AST queries.
  • Code Fragment Wildcards - Ships wildcard-based pattern matching for capturing unknown code fragments in AST queries.
  • Code Fragment Wildcards - Uses wildcards in code selectors to match unknown or variable-length code fragments during AST queries.
  • Template-Aware Transformations - Parses and transforms Vue template syntax alongside JavaScript for full-stack code modifications.
  • Pattern-Based Code Manipulation - Finds code snippets by pattern with wildcards and performs insert, remove, or replace operations.
  • Framework Migrations - Automates framework version upgrades by rewriting imports, APIs, and component syntax using AST-based pattern matching.
  • AST Node Querying - Provides jQuery-style AST node selection for pattern-based code queries without manual traversal.
  • Migration Automation - Automates upgrading Vue 2 components to Vue 3 syntax and migrating Element UI to Element Plus.
  • Version Migration Tools - Automates rewriting Vue 2 component syntax and lifecycle hooks to Vue 3 equivalents.
  • Template Syntax Transformers - Parses and transforms Vue template syntax alongside JavaScript for full-stack code modifications.
  • Vue Template Parsers - Parses and transforms Vue template syntax alongside JavaScript for single-file component transformations.
  • UI Library Migration Tools - Rewrites iView component imports and API calls to match iView 4's updated interface.
  • CSS-Like Selectors - Implements jQuery-style selector syntax for intuitive AST node selection without manual tree walking.
  • Callback-Driven Replacements - Accepts callback functions that receive matched wildcard values and return context-aware replacement code.
  • Wildcard Callback Replacements - Ships callback-driven dynamic replacement where callbacks receive wildcard matches and return replacement code.
  • jQuery-Style Selectors - Selects AST nodes using a jQuery-like syntax for intuitive code traversal without manual tree walking.
  • Migration Upgrades - Automates converting Element UI imports and usage patterns to Element Plus equivalents.
  • Migration Automation - Converts component imports and usage patterns between UI libraries like Element UI to Element Plus.
  • Miscellaneous Tools - Code transformation tool for refactoring.

Star history

Star history chart for thx/gogocodeStar history chart for thx/gogocode

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

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

Start searching with AI

Open-source alternatives to Gogocode

Similar open-source projects, ranked by how many features they share with Gogocode.
  • openrewrite/rewriteopenrewrite avatar

    openrewrite/rewrite

    3,312View on GitHub↗

    OpenRewrite is an automated refactoring engine and source-to-source migration framework. It uses a lossless semantic tree parser to represent source code as type-aware trees that preserve original whitespace and formatting, enabling precise and deterministic modifications. The project utilizes a declarative refactoring pipeline where sequences of transformations are defined in YAML to resolve breaking changes and technical debt. It features type-aware pattern matching and cross-language model mapping to apply similar refactoring patterns across different programming languages. The framework

    Javaabstract-syntax-treeastcode-search
    View on GitHub↗3,312
  • 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
  • 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
  • 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
See all 30 alternatives to Gogocode→

Frequently asked questions

What does thx/gogocode do?

GoGoCode is an AST-based code transformation toolkit that enables developers to query, match, and rewrite JavaScript source code using jQuery-style selectors and wildcard patterns. At its core, it provides a programmatic code refactoring library that manipulates parsed AST nodes, allowing precise structural modifications without worrying about formatting differences. The toolkit also functions as a JavaScript AST query engine, finding code patterns through snippet-based…

What are the main features of thx/gogocode?

The main features of thx/gogocode are: AST-Based Refactorers, Source Code Rewriting, JavaScript AST Transformations, Code Refactoring Tools, Pattern Wildcards, Code Fragment Wildcards, Template-Aware Transformations, Pattern-Based Code Manipulation.

What are some open-source alternatives to thx/gogocode?

Open-source alternatives to thx/gogocode include: openrewrite/rewrite — OpenRewrite is an automated refactoring engine and source-to-source migration framework. It uses a lossless semantic… rectorphp/rector — Rector is an automated PHP refactoring and modernization tool designed to upgrade language versions and modernize… biomejs/gritql — GritQL is an AST-based code transformation engine and structural search tool. It uses a declarative query language to… benjamn/recast — Recast is a JavaScript AST parser and printer designed for automated code refactoring. It converts source code into… python-mode/python-mode — python-mode is a Vim IDE plugin that provides an integrated toolset for Python development. It incorporates a… kotlin/kotlin-lsp — kotlin-lsp is a language server implementation that integrates editors with the Kotlin compiler and build tools to…