ts-morph VS ts-patch

Compare ts-morph vs ts-patch and see what are their differences.

ts-morph

TypeScript Compiler API wrapper for static analysis and programmatic code changes. (by dsherret)

ts-patch

Augment the TypeScript compiler to support extended functionality (by nonara)
SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
surveyjs.io
featured
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
ts-morph ts-patch
5 6
4,585 647
- -
7.5 7.3
about 2 months ago 30 days ago
TypeScript TypeScript
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

ts-morph

Posts with mentions or reviews of ts-morph. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-03.
  • Developing your own Chrome Extension - Fixing Errors with ts-morph and using Buns API (Part 4)
    2 projects | dev.to | 3 Mar 2024
    I recently came across an incredibly powerful tool called ts-morph. It's an Abstract Syntax Tree (AST) code analyzer and manipulator that can easily locate class declarations and their references. Just remember, it only works on TypeScript files. To use it, we created a new "build.ts" file and harnessed the full potential of Bun's API. Because ts-morph only understands TypeScript files, we bundled our files accordingly.
  • Polymorphism Best Practices & Type Safety
    1 project | /r/typescript | 27 Jan 2022
    I'll definitely look into these two generation suggestions, one I found from a quick google search was [ts-morph](https://github.com/dsherret/ts-morph/tree/latest/packages/ts-morph), but I haven't looked into it further yet.
  • Typescript AST manipulation in Deno?
    3 projects | /r/Deno | 4 Sep 2021
    ts-morph may also help.
  • I made a website that documents TypeScript packages
    5 projects | /r/javascript | 26 May 2021
    The declarations (functions, variables, classes ...) and their docs are extracted with a custom API extractor I built based on the ts-morph library and the TypeScript compiler.
  • TypeScript++?
    5 projects | /r/typescript | 2 Mar 2021
    There are a couple of ways. Like you mentioned Babel has various features that count as language extensions and there's also SweetJS. I've been interested in exploring the compiler API personally and ts-morph.

ts-patch

Posts with mentions or reviews of ts-patch. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-07-20.
  • Introducing TypeChat from Microsoft
    18 projects | news.ycombinator.com | 20 Jul 2023
    yup, just found that, super neat, I am 100% interested in using this for other runtime validation...

    It's interesting because I've always been under the impression the TS team was against the use of types at runtime (that's why projects like https://github.com/nonara/ts-patch) exist, but now they're doing it themselves with this project...

  • Typescript compiler 'plugin' to add JS code generation
    3 projects | /r/typescript | 8 Jul 2023
  • Functions and algorithms implemented purely with TypeScript's type system
    9 projects | news.ycombinator.com | 4 Jul 2023
    I recently learned about Typescript transformers[0] and wish they were better supported in a first-class manner. Working with ttypescript or ts-patch[1] is easy enough, but it still feels like you're doing something you shouldn't be doing.

    My goal was to pass the Typescript types to the JS runtime, maybe there's a better way and GPT-4 just led me astray...

    [0] https://github.com/itsdouges/typescript-transformer-handbook

    [1] https://github.com/nonara/ts-patch

  • Runtime Data Validation from TypeScript Interfaces
    4 projects | dev.to | 14 Jan 2022
    To accomplish this, I wrote a couple of transformer plugins for TypeScript. Now, tsc doesn't support plugins by default. (You may have seen plugins in the tsconfig.json for a project, but they are plugins for the editor's language server, not the compiler.) Luckily for us, again, there exists a fantastic open-source package to solve this problem. Ron S. maintains a package called ts-patch which, aptly, patches the tsc installation for a project to allow the project to specify compiler-plugins.
  • Typescript AST manipulation in Deno?
    3 projects | /r/Deno | 4 Sep 2021

What are some alternatives?

When comparing ts-morph and ts-patch you can also consider the following projects:

ttypescript - Over TypeScript tool to use custom transformers in the tsconfig.json

ultra - Zero-Legacy Deno/React Suspense SSR Framework

ts-to-zod - Generate zod schemas from typescript types/interfaces

SonarJS - SonarSource Static Analyzer for JavaScript and TypeScript

LLM-OpenAPI-minifier - Making openapi spec swagger documents friendly for GPT and other LLMs.

sweet.js - Sweeten your JavaScript.

typescript-transformer-handbook - 📘 A comprehensive handbook on how to create transformers for TypeScript with code examples

ts-transform-import-path-rewrite - TS AST transformer to rewrite import path

ts-ast-viewer - TypeScript AST viewer.

TypeStat - Converts JavaScript to TypeScript and TypeScript to better TypeScript. 🧫

zod-gpt - Get structured, fully typed, and validated JSON outputs from OpenAI and Anthropic models.