
Product
Introducing Supply Chain Attack Campaigns Tracking in the Socket Dashboard
Campaign-level threat intelligence in Socket now shows when active supply chain attacks affect your repositories and packages.
Remove circular references from objects
Circular references occur in JavaScript when an object references itself or creates a loop of references involving other objects. This can lead to issues like infinite loops and errors during serialization (e.g., with JSON.stringify). This package replaces circular references in objects or arrays with clear path notations (e.g., [Circular *a.1.b]). Ideal for data serialization, debugging, and logging.
npm install decircular
import decircular from 'decircular';
const object = {
a: 1,
b: {
c: 2
}
};
object.b.d = object.b; // Creates a circular reference
console.log(decircular(object));
/*
{
a: 1,
b: {
c: 2,
d: '[Circular *b]'
}
}
*/
Returns a deep copy of the given object or array with circular references removed.
FAQs
Remove circular references from objects
We found that decircular demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

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.

Product
Campaign-level threat intelligence in Socket now shows when active supply chain attacks affect your repositories and packages.

Research
Malicious PyPI package sympy-dev targets SymPy users, a Python symbolic math library with 85 million monthly downloads.

Security News
Node.js 25.4.0 makes require(esm) stable, formalizing CommonJS and ESM compatibility across supported Node versions.