npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

amaroc

v1.0.1

Published

CLI/wrapper for Nodejs `amaro` to compile TS codebase to JS via type stripping before publishing.

Downloads

342

Readme

amaroc

NPM version Build Status Gitpod ready-to-code

CLI tool and wrapper for Node.js amaro to transpile TypeScript codebases to JavaScript via type stripping (preserving line numbers).

When publishing Node.js packages written in TypeScript, you often need to ship JavaScript files with source maps. amaroc simplifies this by stripping TypeScript types with amaro and rewriting .ts imports to .js using jscodeshift, all in a single command, removing the need for source maps. It’s perfect for prepack scripts and respects .gitignore for seamless use.

Note that Node.js 23 or newer is required for TypeScript support without transpilation, but this package will work on Node.js 20+ so you can use it in release CI workflows with older Node.js versions.

Features

  • Transpiles .ts to .js with type stripping, preserving line numbers.
  • Updates import, require(), and dynamic import() paths from .ts to .js.
  • Respects .gitignore patterns to skip ignored files.
  • Optional cleanup of original .ts files.
  • Easy to drop in and use -- no tsconfig.json or other config required

Install

Install as a dev dependency:

npm install -D amaroc

Usage

After installing as a dev dep, it's as simple as adding this to your package.json's prepack to auto build before npm publish and on local npm installs:

{
  ...
  "prepack": "amaroc"
  ...
}

CLI

$ npx amaroc --help
Usage: amaroc [path] [options]

Description:
  Transpiles TypeScript (.ts) files to JavaScript (.js) files.

Arguments:
  [path]            Optional. A directory or a .ts file to transpile.
                    - If omitted, processes all .ts files in the current directory.
                    - If a directory, processes all .ts files in that directory.
                    - If a .ts file, converts only that file.

Options:
  --verbose         Enable debug logging during conversion.
  --clean           Delete original .ts files after conversion.
  --help            Display this help message.

Examples:
  amaroc                # Transpile all .ts files in current directory
  amaroc src            # Transpile all .ts files in 'src' directory
  amaroc file.ts        # Transpile 'file.ts' to 'file.js'
  amaroc --verbose      # Transpile with logging
  amaroc src --clean    # Transpile and delete original .ts files
  amaroc file.ts --verbose --clean  # Transpile single file with logging and cleanup

API

You can also use amaroc programmatically in Node.js:

const { convert, convertFile } = require('amaroc');

// Convert all .ts files in a directory
await convert('src', { debug: true, deleteOriginal: false });

// Convert a single file
const jsPath = convertFile('path/to/file.ts');

TypeScript Support

Type definitions are included:

import { convert, convertFile } from 'amaroc';

convert('src', { debug: true }).then(() => console.log('Done'));
const jsPath = convertFile('path/to/file.ts');

See index.d.ts for full type details.

License

MIT License. See LICENSE for details.

Acknowledgments

  • Built on top of Node.js's amaro for type stripping.
  • Uses Meta's jscodeshift for AST transformations.