Vibeleaderboard
Index / tool
Visit emulate.dev
Category
Developer Tools
Rank
Pricing
Open Source
Type
TOOL
Latest release
v0.11.1
Date

About

Local API emulation for CI and no-network sandboxes — replay third-party APIs without hitting them.

What it does

Emulate runs stateful stand-ins for fourteen external services on your machine. Start everything with one command, select individual services, or launch one from TypeScript. Optional YAML or JSON seed data creates users, repositories, messages, calendars, buckets, queues and other test fixtures. Instances can reset their stored state between tests and shut down cleanly afterward.

Why it's ranked here

The breadth is unusually useful for applications that combine identity, collaboration, payments and cloud APIs. Sensible defaults reduce setup, while configurable seed data supports repeatable scenarios. OAuth applications, scoped tokens, webhooks, rate-limit headers and service-specific state make it more capable than fixed response stubs. The main caution is that fidelity depends on the implemented routes, not merely the service name.

What's good

It supports both command-line use and direct TypeScript integration, including reset and shutdown controls suited to test suites. Fourteen services share one startup model and predictable port assignment. Seed configuration covers meaningful linked data, such as repositories with initial commits, Slack applications and tokens, Google mail and calendar records, AWS resources, and Linear issues. Custom base URLs and optional trusted local HTTPS help test callback-heavy flows.

Tradeoffs

Each provider exposes a selected surface rather than an automatic copy of every upstream capability. The supplied code shows different depths: Apple focuses on OAuth, while GitHub, Slack and Google register many resource areas. Stateful processes also require lifecycle management and isolated ports in parallel test runs. Trusted local HTTPS needs the separate portless tool, and the repository requires a recent Node and pnpm toolchain for development.

How to use it well

Use it for integration tests, CI jobs and restricted environments where deterministic third-party state matters. Seed the smallest scenario needed, start only the required services, reset state after each test, and close instances after the suite. It fits authentication, webhook and CRUD workflow testing especially well. It does not replace final compatibility checks against live providers or cover unimplemented vendor endpoints.

Technical notes+

The root package.json defines an Apache-2.0 private pnpm monorepo using Turbo, TypeScript, ESLint, Prettier and Vitest, with Node >=24 and pnpm 11 required for repository development. packages/emulate/tsup.config.ts produces separate ESM command-line and library bundles, emits declarations for the library build, bundles internal emulator packages, copies shared fonts and adds a Node shebang to the command-line artifact. packages/emulate/vitest.config.ts enables Vitest globals. README.md documents npm installation, npx execution, YAML or JSON seed discovery, per-service ports, custom advertised URLs and portless HTTPS integration.

Observed

License
Apache-2.0
Primary language
TypeScript
Packaging
npm package with npx execution; repository managed as a pnpm monorepo
Interfaces
Command-line interface and TypeScript library API
Runtime support
Repository development requires Node.js 24 or newer and pnpm 11
Service coverage
Fourteen named emulators: Vercel, GitHub, Google, Slack, Apple, Microsoft, Okta, AWS, Resend, Stripe, MongoDB Atlas, Clerk, Linear and Twilio

Read from README.md, package.json, packages/emulate/tsup.config.ts, packages/emulate/vitest.config.ts, packages/emulate/src/index.ts, packages/@emulators/aws/src/index.ts, packages/@emulators/core/src/index.ts, packages/@emulators/okta/src/index.ts, packages/@emulators/apple/src/index.ts, packages/@emulators/clerk/src/index.ts, packages/@emulators/core/src/server.ts, packages/@emulators/slack/src/index.ts, packages/@emulators/github/src/index.ts, packages/@emulators/google/src/index.ts, packages/@emulators/linear/src/index.ts.

What it can do

  • Replay third-party API responses locally

    Recorded API responses and requestsEmulated API responses without network calls

  • Create local API mock server

    API endpoint definitions and response dataRunning local server that mimics external APIs

  • Record API interactions for later replay

    Live API requests and responsesStored API interaction data for emulation

  • Enable CI testing without external dependencies

    Test suite requiring third-party API callsTest execution using emulated API responses

  • Provide offline development environment

    Application code that calls external APIsFunctional development environment without internet connection

Tags

testingcimockapigo

Tech Stack

Node.jsTypeScript

Media

Emulate

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.