Skip to main content


TypeScript Compiler API wrapper for static analysis and programmatic code changes.
Very Popular
import * as tsMorph from "";


Represents a code action.

Code writer that assists with formatting and visualizing blocks of JavaScript or TypeScript code.

Represents a code fix action.

Represents file changes.

Holds the compiler options.

Definition info.


Diagnostic message chain.

Document span.

Output of an emit on a single file.

Result of an emit.

An implementation of a file system that exists in memory only.

JS doc node.

JS doc all type.

JS doc augments tag node.

JS doc author tag node.

JS doc callback tag node.

JS doc class tag node.

JS doc deprecated tag node.

JS doc enum tag node.

JS doc function type.

JS doc implements tag node.

JS doc link node.

JS doc link code node.

JS doc link plain node.

JS doc member name node.

JS doc namepath type.

JS doc name reference.

JS doc non-nullable type.

JS doc nullable type.

JS doc optional type.

JS doc overload tag.

JS doc override tag node.

JS doc parameter tag node.

JS doc private tag node.

JS doc property tag node.

JS doc protected tag node.

JS doc public tag node.

JS doc readonly tag node.

JS doc return tag node.

JS doc satifiest tag.

JS doc "see" tag node.

JS doc signature node.

JS doc tag node.

JS doc tag info.

JS doc template tag node.

JS doc text node.

JS doc "this" tag node.

JS doc return tag node.

JS doc type node.

JS doc type def tag node.

JS doc type expression node.

JS doc type literal.

JS doc type tag node.

JS doc unknown tag node.

JS doc unknown type.

JS doc variadic type.

Occurs when there is a problem doing a manipulation.

Holds the manipulation settings.

Result of an emit to memory.

A named/labeled tuple element.

Output file of an emit.

Wrapper around Program.

Project that holds source files.

Set of edits to make in response to a refactor action, plus an optional location where renaming should be invoked from.

Referenced symbol.

Rename location.

Symbol display part.

Represents a text change.

Represents a span of text.

Wrapper around the TypeChecker.

A type predicate node which says the specified parameter name is a specific type if the function returns true.

Functions for writing code.


Result of refreshing a source file from the file system.

Kinds of indentation

Quote type for a string literal.

Variance of the type parameter.


Collection of reusable resolution hosts.

Type guards for use on structures.


Creates a wrapped node from a compiler node.

Iterates over the elements in the provided array.

Gets the compiler options from a specified tsconfig.json

Prints the provided node using the compiler's printer.


Options for the writer.

Options for emitting.

Represents a file system that can be interacted with.

Manipulation settings.

The emitted file in memory.

Node that supports overloads.

Options for printing a node.

Options for emitting from a Program.

Options for creating a project.

Options for renaming a node.

Host for implementing custom module and/or type reference directive resolution.

Options for creating a source file.

Options for emitting a source file.

FormatCodeSettings that are currently supported in the library.

FormatCodeSettings that are currently supported in the library.

User preferences for refactoring.

Type Aliases

Declarations that can be exported from a module.

Local target declarations.

Factory used to create a resolution host.