🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Book a DemoInstallSign in
Socket

nats-memory-server

Package Overview
Dependencies
Maintainers
0
Versions
27
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

nats-memory-server

Node.js package for an in-memory NATS server

2.0.21
latest
Source
npm
Version published
Weekly downloads
117
31.46%
Maintainers
0
Weekly downloads
 
Created
Source

NATS In-Memory Server

GitHub license GitHub issues GitHub stars

Table of Contents

Description

nats-memory-server is a Node.js package that provides an in-memory NATS server for testing and other purposes. It allows you to quickly set up and tear down a NATS server instance within your Node.js applications, making it easier to write tests and perform other operations that require a NATS server.

Requirements

  • Go (Optional. Only if you build from source) (version 1.19 or later)

Installation

You can install nats-memory-server using npm or yarn:

npm install nats-memory-server

or

yarn add nats-memory-server

Configuration

Default configuration is:

  • download: true
  • downloadDir: 'node_modules/.cache/nats-memory-server'
  • version: 'v2.9.16'
  • buildFromSource: false
  • binPath: 'node_modules/.cache/nats-memory-server/nats-server'

For configuration, you can create one of the files:

  • nats-memory-server.json
  • nats-memory-server.js
  • nats-memory-server.ts

nats-memory-server.json

{
  "download": true,
  "downloadDir": "node_modules/.cache/nats-memory-server",
  "version": "v2.9.16",
  "buildFromSource": false,
  "binPath": "node_modules/.cache/nats-memory-server/nats-server"
}

nats-memory-server.js

/**
 * @type {import('nats-memory-server').NatsMemoryServerConfig}
 */
const config = {
  download: true,
  downloadDir: 'node_modules/.cache/nats-memory-server',
  version: 'v2.9.16',
  buildFromSource: false,
  binPath: 'node_modules/.cache/nats-memory-server/nats-server',
};

module.exports = config;

nats-memory-server.ts

import type { NatsMemoryServerConfig } from 'nats-memory-server';

const config: NatsMemoryServerConfig = {
  download: true,
  downloadDir: 'node_modules/.cache/nats-memory-server',
  version: 'v2.9.16',
  buildFromSource: false,
  binPath: 'node_modules/.cache/nats-memory-server/nats-server',
};

export default config;

Configuration in package.json

You can declare the configurations in package.json in the natsMemoryServer field

{
  "natsMemoryServer": {
    "download": true,
    "downloadDir": "node_modules/.cache/nats-memory-server",
    "version": "v2.9.16",
    "buildFromSource": false,
    "binPath": "node_modules/.cache/nats-memory-server/nats-server"
  },
}

NATS Jetstream

You may use a method in the builder setArgs to pass the parameters

await NatsServerBuilder
      .create()
      .setArgs([`--jetstream`, `--store_dir`, os.tmpdir()])
      .build()
      .start();

Or you can pass it through the constructor

new NatsServer({
  ...DEFAULT_NATS_SERVER_OPTIONS,
  args: [`--jetstream`, `--store_dir`, os.tmpdir()],
});

Example

example.js

Contributing

Contributions are welcome! If you find any issues or have suggestions for improvement, please feel free to open an issue or submit a pull request on the GitHub repository.

When contributing, please ensure to follow the code of conduct.

Keywords

nats

FAQs

Package last updated on 15 Feb 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts