Skip to content

Repository files navigation

Simnaril

Simnaril is a TypeScript library for simulating third-party HTTP services in a Node.js process. Application code keeps its production URLs and HTTP clients. Simnaril intercepts those requests and sends them to stateful service objects in memory.

import { SimApi, SimEnvironment } from "@kensio/simnaril";

interface Widget {
  id: string;
  name: string;
}

const api = new SimApi();
const widgets = api.resource<Widget>({ path: "/widgets" });
widgets.seed({ id: "widget-1", name: "First widget" });

using environment = new SimEnvironment();
environment.register("https://api.example.com", api);

const response = await fetch("https://api.example.com/widgets/widget-1");
const widget = (await response.json()) as Widget;

Simnaril requires Node.js 24 or later.

Documentation

About

In-process third-party API simulator

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Contributors

Languages