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.
- Go (Optional. Only if you build from source) (version 1.19 or later)
You can install nats-memory-server
using npm or yarn:
npm install nats-memory-server
or
yarn add nats-memory-server
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
{
"download": true,
"downloadDir": "node_modules/.cache/nats-memory-server",
"version": "v2.9.16",
"buildFromSource": false,
"binPath": "node_modules/.cache/nats-memory-server/nats-server"
}
/**
* @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;
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;
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"
},
...
}
- Write tests
- Remove dependencies (Removed download dependency)
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.