Skip to content
howth
$ howth test
Running 10,000 tests across 500 files...
PASS All tests passed in 139ms

A fast JavaScript toolkit.
Runtime. Bundler. Test runner. One binary.

A persistent daemon keeps V8, compilers, and caches warm in memory. Tests run 2.6x faster than Bun. Drop into any Node.js project today.

$curl -fsSL https://howth.run/install.sh | sh
Built withRustV8deno_corehyper

Bundler

10,000 React components — Linux x64 (c3-highcpu-8)

howth
290ms (4.12 MB)
Bun
541ms
esbuild
1,090ms
Rolldown
1,179ms
Vite
1,530ms
Rsbuild
2,775ms
rspack
2,930ms
Fork of rolldown/benchmarks — View source & methodology →

Running 10,000 tests

Apple M3 Pro, 500 test files

1
howth139ms
fastest
2
Bun368ms
2.6x slower
3
Vitest1.4s
10x slower
4
Jest + SWC3.07s
22x slower
5
node --test4.08s
29x slower
View methodology →

Zero startup cost. Every time.

howth's persistent daemon keeps compilers, caches, and V8 warm in memory.

Traditional runtimes
Start process
Load V8/JSC
Parse TypeScript
Transpile
Execute
Cold start every time
vs
howth daemon
IPC message
Execute
Already running. Just execute.
0.1ms
Warm transpile
1
Socket round-trip
780x
Faster than tsc

Start with tests. Adopt the rest incrementally.

Drop howth test into any Node.js project today. No migration required.

$ howth run ./index.ts

JavaScript Runtime

85% Node.js compatible

Run TypeScript directly. Daemon keeps everything warm.

Node.js APIsTypeScript & JSXWatch modeWeb APIs172K req/s
$ howth install

Package Manager

30x faster than npm

Drop-in npm replacement with global cache.

package.jsonWorkspacesLifecycle scriptsSecurity audits
$ howth bundle ./app.tsx

Bundler

Smallest output size

Bundle TypeScript, JSX, CSS for browsers and servers.

TypeScript & JSXCSS bundlingCode splittingMinification
$ howth dev ./src/main.tsx

Dev Server

HMR & Fast Refresh

Development server with instant hot module replacement.

Instant HMRReact Fast RefreshCSS hot reloadZero config

Built for iterative development

In a typical dev session, you run tests hundreds of times. howth gets faster with each run.

First run
~200ms

Daemon starts, V8 initializes, compilers warm up. Still fast.

Every run after
~139ms

V8 is running. Caches are hot. Just execute.

Changed file only
~50ms

Only re-transpile what changed.

Over a day with 500 test runs, howth saves ~2 minutes vs Bun and ~30 minutes vs Jest.

The APIs you need. Baked in.

index.ts
import { createServer } from 'node:http';

const server = createServer(async (req, res) => {
  if (req.url === '/') {
    res.writeHead(200, { 'Content-Type': 'text/plain' });
    res.end('Welcome to howth!');
  }

  if (req.url === '/api/users') {
    const users = [{ id: 1, name: 'Alice' }];
    res.writeHead(200, { 'Content-Type': 'application/json' });
    res.end(JSON.stringify(users));
  }
});

server.listen(3000);
console.log('Listening on http://localhost:3000');

Everything you need to build & ship

HTTP & WebSockets

  • http.createServer() HTTP & HTTPS
  • WebSocket Client & server
  • fetch() Web standard
  • Howth.Cookie Zero-overhead

File System

  • fs.readFile() Fast reading
  • fs.writeFile() Efficient writes
  • Howth.Glob Pattern matching
  • path.* Path utilities

Testing

  • howth test Jest-compatible
  • snapshots Built-in
  • expect() Jest assertions
  • --coverage Code coverage

Build & Deploy

  • howth bundle Tree-shaking
  • --compile Single executables
  • --hot Hot reload
  • howth dev HMR server

TypeScript & DX

  • TypeScript & JSX Zero config
  • import "*.yaml" YAML & TOML
  • import "*.css" CSS imports
  • .env Environment vars

Utilities

  • Howth.hash() Fast hashing
  • Howth.semver Version compare
  • Howth.markdown() GFM parsing
  • crypto.* Crypto APIs

What's different about howth?

A unique architecture that no other runtime has

ArchitecturehowthNodeBun
Persistent daemonBackground process keeps runtime warmYesNoNo
In-memory module cacheTranspiled modules persist across runsYesNoNo
IPC-based executionCommands via Unix socket, no process spawnYesNoNo
PerformancehowthNodeBun
Test runner (10K tests)Jest-compatible execution139ms4.08s368ms
Bundler (10K modules)React JSX, minified + sourcemaps290msN/A541ms
Warm transpileTypeScript after daemon warm0.1msN/A~5ms
HTTP throughputRequests/sec (50 connections)172K111K211K
CompatibilityhowthNodeBun
Node.js API coveragePercentage implemented~85%100%~95%
Drop-in for Node.js projectsNo migration neededYesYesYes

Try it in 30 seconds

# Install howth
curl -fsSL https://howth.run/install.sh | sh

# Run your tests with howth (works with Jest syntax)
howth test

# That's it. No config changes needed.
package.json
node_modules
Jest tests
TypeScript

Learn more

Released under the MIT License.