
Company News
Socket Named Top Sales Organization by RepVue
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.
An extended Error class that envelops a parent error, such that the stack trace contains the causation
An extended Error class that envelops a parent error, such that the stack trace contains the causation
// const Errlop = require('errlop').default
import Errlop from 'errlop'
const a = new Errlop('AError')
const b = new Errlop('BError', a)
const c = Errlop.create('CError', b)
console.log(c.stack)
/*
Error: CError
at Function.create (/Users/balupton/Projects/active/errlop/source/index.js:92:10)
at Object.<anonymous> (/Users/balupton/Projects/active/errlop/example.js:6:18)
at Module._compile (internal/modules/cjs/loader.js:689:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
at Module.load (internal/modules/cjs/loader.js:599:32)
at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
at Function.Module._load (internal/modules/cjs/loader.js:530:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)
at startup (internal/bootstrap/node.js:266:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:596:3)
↳ Error: BError
at Object.<anonymous> (/Users/balupton/Projects/active/errlop/example.js:5:11)
at Module._compile (internal/modules/cjs/loader.js:689:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
at Module.load (internal/modules/cjs/loader.js:599:32)
at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
at Function.Module._load (internal/modules/cjs/loader.js:530:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)
at startup (internal/bootstrap/node.js:266:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:596:3)
↳ Error: AError
at Object.<anonymous> (/Users/balupton/Projects/active/errlop/example.js:4:11)
at Module._compile (internal/modules/cjs/loader.js:689:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
at Module.load (internal/modules/cjs/loader.js:599:32)
at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
at Function.Module._load (internal/modules/cjs/loader.js:530:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)
at startup (internal/bootstrap/node.js:266:19)
*/
console.log(c.orphanStack)
/*
Error: CError
at Function.create (/Users/balupton/Projects/active/errlop/source/index.js:92:10)
at Object.<anonymous> (/Users/balupton/Projects/active/errlop/example.js:6:18)
at Module._compile (internal/modules/cjs/loader.js:689:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
at Module.load (internal/modules/cjs/loader.js:599:32)
at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
at Function.Module._load (internal/modules/cjs/loader.js:530:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)
at startup (internal/bootstrap/node.js:266:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:596:3)
*/
npm install --save errlopimport pkg from ('errlop')const pkg = require('errlop').defaultimport pkg from 'https://unpkg.com/errlop@^8.5.0/edition-deno/index.ts'
<script type="module">
import pkg from '//cdn.skypack.dev/errlop@^8.5.0'
</script>
<script type="module">
import pkg from '//unpkg.com/errlop@^8.5.0'
</script>
<script type="module">
import pkg from '//dev.jspm.io/errlop@8.5.0'
</script>
This package is published with the following editions:
errlop aliases errlop/index.cjs which uses the Editions Autoloader to automatically select the correct edition for the consumer's environmenterrlop/source/index.ts is TypeScript source code with Import for moduleserrlop/edition-browsers/index.js is TypeScript compiled against ES2024 for web browsers with Import for moduleserrlop/edition-es2024/index.js is TypeScript compiled against ES2024 for Node.js 14 || 16 || 18 || 20 || 22 || 24 with Require for moduleserrlop/edition-es2017/index.js is TypeScript compiled against ES2017 for Node.js 6 || 8 || 10 || 12 || 14 || 16 || 18 || 20 || 22 || 24 with Require for moduleserrlop/edition-es5/index.js is TypeScript compiled against ES5 for Node.js 4 || 6 || 8 || 10 || 12 || 14 || 16 || 18 || 20 || 22 || 24 with Require for moduleserrlop/edition-es2017-esm/index.js is TypeScript compiled against ES2017 for Node.js 12 || 14 || 16 || 18 || 20 || 22 || 24 with Import for moduleserrlop/edition-types/index.d.ts is TypeScript compiled Types with Import for moduleserrlop/edition-deno/index.ts is TypeScript source code made to be compatible with DenoDiscover the release history by heading on over to the HISTORY.md file.
Discover how to contribute via the CONTRIBUTING.md file.
Unless stated otherwise all works are:
and licensed under:
VError is a library for creating and managing nested errors in JavaScript. It allows you to wrap errors and add additional context, similar to Errlop. However, VError provides more advanced features for error handling, such as error codes and multi-error support.
Error Stack Parser is a library for parsing and extracting information from error stack traces. While it does not provide the same error wrapping functionality as Errlop, it is useful for analyzing and debugging errors by extracting meaningful information from stack traces.
Stacktrace.js is a library for generating, parsing, and analyzing stack traces in JavaScript. It provides more advanced stack trace manipulation capabilities compared to Errlop, but does not focus on error wrapping and context management.
FAQs
An extended Error class that envelops a parent error, such that the stack trace contains the causation
The npm package errlop receives a total of 715,806 weekly downloads. As such, errlop popularity was classified as popular.
We found that errlop demonstrated a healthy version release cadence and project activity because the last version was released less than 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.

Company News
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.

Security News
NIST will stop enriching most CVEs under a new risk-based model, narrowing the NVD's scope as vulnerability submissions continue to surge.

Company News
/Security News
Socket is an initial recipient of OpenAI's Cybersecurity Grant Program, which commits $10M in API credits to defenders securing open source software.