Sign In

memcheck-node

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

memcheck-node

Automated memory leak regression testing for Node.js — detect growing object graphs in CI

latest
Source
npmnpm
Version
1.0.0
Version published
Weekly downloads
1
-66.67%
Maintainers
1
Weekly downloads
 
Created
Source

memcheck-node

Automated memory leak regression testing for Node.js — detect growing object graphs in CI

Install

npm install memcheck-node

Usage

import memcheck, {assertNoLeaks, formatReport} from 'memcheck-node';

// Check a scenario for memory leaks
const result = await memcheck(async () => {
	// Your scenario: e.g., handle an HTTP request
	const data = processRequest({id: 1});
	return data;
}, {
	iterations: 5,
	allowedGrowth: 0.1, // Allow up to 10% heap growth
});

console.log(result.leaked);
// => false

console.log(formatReport(result));

// Or use assertNoLeaks in your tests
await assertNoLeaks(async () => {
	// This will throw if a leak is detected
	processRequest({id: 1});
});

API

memcheck(scenario, options?)

Returns: Promise<{leaked, snapshots, growth}>

Run a scenario function multiple times and detect memory leaks by monitoring heap growth.

scenario

Type: () => Promise<void> | void

A function that performs the operation to test.

options

iterations

Type: number
Default: 5

Number of snapshot cycles to run.

gcBetweenIterations

Type: boolean
Default: true

Force garbage collection between iterations. Requires --expose-gc flag or global.gc to be available.

allowedGrowth

Type: number
Default: 0.1

Maximum allowed heap growth as a decimal (0.1 = 10%).

Return value

  • leakedtrue if a memory leak was detected
  • snapshots — Array of {usedHeapSize, totalHeapSize, iteration} objects
  • growth — Percentage growth as a decimal

formatReport(result)

Returns: string

Format a memcheck result as a human-readable report.

assertNoLeaks(scenario, options?)

Returns: Promise<MemcheckResult>

Run memcheck and throw an error if a memory leak is detected. Useful in test suites.

  • v8 — Node.js V8 engine API

License

MIT

Keywords

memory

FAQs

Package last updated on 16 Feb 2026

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