explaingit

nodejs/amaro

Analysis updated 2026-08-14 · repo last pushed 2026-08-03

791JavaScriptAudience · developerComplexity · 2/5ActiveSetup · easy

TLDR

Amaro lets Node.js run TypeScript files directly by stripping away type annotations on the fly, skipping the usual compile-then-run workflow. It's the same engine Node.js uses internally for its own TypeScript support.

Mindmap

mindmap
  root((repo))
    What it does
      Strips TypeScript annotations
      Runs TS files directly
      Preserves line numbers
    How to use it
      Command-line loader
      transformSync function
    Use cases
      Monorepo development
      Skip rebuild step
      Fast iteration loop
    Tech stack
      WebAssembly port of SWC
      Rust parser
      TypeScript 5.8 support
    Modes
      Strip-only mode
      Transform mode

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Run TypeScript files directly in Node.js without a separate build step.

USE CASE 2

Iterate on shared libraries in a monorepo and see changes immediately without rebuilding packages.

USE CASE 3

Convert TypeScript source code to JavaScript on the fly using the transformSync function in your own code.

What is it built with?

JavaScriptTypeScriptWebAssemblyRustSWC

How does it compare?

nodejs/amarogaearon/suspense-experimental-github-demogaearon/todos
Stars791795785
LanguageJavaScriptJavaScriptJavaScript
Last pushed2026-08-032020-12-282020-06-10
MaintenanceActiveDormantDormant
Setup difficultyeasyeasyeasy
Complexity2/52/52/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Limited to TypeScript version 5.8, so newer language features may not be supported yet.

No license information provided in the repo description.

In plain English

Amaro is a tool that lets Node.js run TypeScript files directly, without a separate build step that compiles them to plain JavaScript first. TypeScript adds type annotations to JavaScript code, like labeling a variable as a string or a number, which helps developers catch mistakes early. But Node.js itself only understands plain JavaScript. Amaro handles the translation by stripping away those TypeScript-specific annotations and leaving the rest of your code intact so Node.js can run it. It's the same mechanism Node.js uses internally for its own TypeScript support, packaged so anyone can use it independently. At a high level, Amaro takes TypeScript source code, removes the type annotations, and replaces them with blank space so that error messages and stack traces still point to the correct line numbers. You can use it as a command-line loader that intercepts .ts files when Node.js tries to run them, or call its transformSync function directly from code to convert TypeScript strings into JavaScript on the fly. The main audience is developers working in TypeScript who want to skip the usual compile-then-run workflow. It's especially useful in monorepos, projects with multiple linked packages, where you'd normally need to rebuild every package after each change. With Amaro, you can reference TypeScript source files directly, and any edits you make are picked up immediately when you restart the app. For example, a team iterating on a shared library inside a larger app could edit the library's TypeScript source and see the changes reflected without running a build tool in between. One notable tradeoff: Amaro currently supports TypeScript version 5.8, so if you rely on language features introduced in a newer release, you may need to wait for an update. The project is built on a WebAssembly port of SWC, a fast JavaScript parser written in Rust, which keeps the transformation lightweight. It offers two modes: a "strip-only" mode that simply removes type annotations, and a "transform" mode that can handle more complex TypeScript features, at the cost of needing source maps enabled for accurate stack traces.

Copy-paste prompts

Prompt 1
I want to run my TypeScript project in Node.js without a build step. Show me how to use Amaro as a command-line loader to run .ts files directly.
Prompt 2
I have a monorepo where I keep editing TypeScript source in a shared library and want changes reflected without rebuilding. How do I set up Amaro to reference TypeScript source files directly across packages?
Prompt 3
I need to convert TypeScript code strings to JavaScript in my Node.js app on the fly. Show me how to use Amaro's transformSync function to strip type annotations programmatically.
Prompt 4
What is the difference between Amaro's strip-only mode and transform mode, and which should I use for my TypeScript project?

Frequently asked questions

What is amaro?

Amaro lets Node.js run TypeScript files directly by stripping away type annotations on the fly, skipping the usual compile-then-run workflow. It's the same engine Node.js uses internally for its own TypeScript support.

What language is amaro written in?

Mainly JavaScript. The stack also includes JavaScript, TypeScript, WebAssembly.

Is amaro actively maintained?

Active — commit in last 30 days (last push 2026-08-03).

What license does amaro use?

No license information provided in the repo description.

How hard is amaro to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is amaro for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.