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

gono

v0.0.1

Published

⚡️ TypeScript Execute | The easiest way to run TypeScript in Node.js with Rolldown

Downloads

11

Readme

gono npm

⚡️ Run and iterate on TypeScript entrypoints with Rolldown-powered bundling, sourcemaps, and a fast watch mode.

Features

  • Instant TypeScript execution – bundle once with Rolldown and execute in Node.js without manual compilation.
  • First-class watch mode – run gono watch <entry.ts> (or use --watch / -w) to automatically rebuild and rerun on dependency changes with concise console feedback.
  • Inline sourcemaps – stack traces map back to your original TypeScript thanks to inline sourcemaps.
  • Programmatic API – import run, runWithWatch, or bundle for advanced workflows like testing or embedding in custom CLIs.

Requirements

  • Node.js 18.12.0 or newer (matching the engine range of Rolldown bindings).

Installation

# choose the package manager you prefer
pnpm add -D gono
npm install -D gono
yarn add -D gono

CLI Usage

Run a TypeScript entry file once:

npx gono src/index.ts --flag value

Start watch mode (also available through the --watch or -w flag):

npx gono watch src/server.ts
# equivalent
npx gono --watch src/server.ts

The CLI resolves the entry path, bundles it with Rolldown, and executes the output in a Node.js runtime. When watch mode is enabled, gono listens to all imported files, logs file system events, and reruns the bundle after a short debounce.

Why gono when Node has --watch and TypeScript loaders?

Recent versions of Node.js add node --watch and experimental TypeScript execution, but gono still fills several gaps:

  • Consistent support from Node 18+ – no need to require the very latest Node release or toggle experimental flags; gono works anywhere Rolldown runs.
  • Bundler-grade transforms – Rolldown handles modern TypeScript/JS syntax, JSX, decorators, and path aliases the same way as production builds, avoiding surprises between dev and build stages.
  • Dependency-aware watch mode – gono watches only the files that Rolldown discovers, debounces restarts, and prints uniform feedback so long-running scripts remain readable.
  • Programmatic control – libraries or tooling can call runWithWatch to embed the same workflow without shelling out to node.
  • Single binary UX – no manual --loader, --watch, or config wiring; gono encapsulates the setup for teams that just want gono entry.ts to work.

Programmatic API

import { bundle, run, runWithWatch } from 'gono'

// Produce an ESM bundle as a string
const code = await bundle('src/entry.ts', { sourcemap: true })

// Execute an entry once
const module = await run('src/entry.ts', { argv: [process.execPath, 'src/entry.ts', '--flag'] })

// Execute and retrieve the file graph (useful for custom watchers)
const { module: watchedModule, watchFiles } = await runWithWatch('src/entry.ts')

All APIs accept the same sourcemap option as the CLI. runWithWatch returns both the module exports and the list of files Rolldown touched, which underpins the CLI watch mode.

Development

Clone the repository and install dependencies with your preferred package manager (pnpm install is recommended). The main scripts are:

pnpm test       # run vitest test suite
pnpm build      # produce distribution files via tsup
pnpm lint       # run eslint
pnpm typecheck  # ensure TypeScript types are sound

License

MIT © Sunny-117