
Security News
Federal Audit Finds NIST Wasted Funds With No Plan to Clear NVD Backlog
Federal audit finds NIST lacked a plan to clear the NVD backlog, wasted funds on duplicate work, and delayed use of CISA data.
abort-controller-lite
Advanced tools
Ultra‑small (no globals, no heavy polyfill machinery) subset of AbortController / AbortSignal for runtimes missing the standard.
Targets:
Not a drop‑in polyfill. It’s intentionally smaller and simpler. Key differences from the web standard:
No global patching: this library never defines or mutates global AbortController/AbortSignal; import what you need.
AbortController → AbortControllerLite (interface AbortControllerLike).AbortSignal → AbortSignalLite (interface AbortSignalLike).Event model
listener.call(signal) with no Event object.onabort property, no options (once, signal, capture, etc.) to addEventListener, no dispatchEvent.{ once: true } because an abort happens at most once and listeners are removed.Errors and reason
Error subclasses (AbortError, TimeoutError), not DOMException.throwIfAborted() throws the stored reason as‑is; avoid relying on instanceof DOMException. Prefer checking by name (e.g., err instanceof Error && err.name === 'AbortError').AbortSignalLite.any(iterable) memory semantics
reason.WeakSet is not iterable, we must keep strong references to sources and dependents and unlink them carefully to avoid leaks. While WeakRef and FinalizationRegistry could approximate an “iterable weak set”, they add complexity and overhead we avoid in this lightweight library, especially since those APIs are often unavailable or unreliable in our target environments.any() for short‑lived operations; avoid creating many long‑lived combined signals.AbortSignalLite.timeout(ms)
setTimeout; in Node it is not unref’d, so it can keep the event loop alive until it fires. If you need unref, prefer native AbortSignal.timeout (Node 18+) or roll your own per‑env helper.Listener error handling
setTimeout) to avoid breaking other listeners.dispatchEvent call site). Our rethrow is also non‑blocking for peers but surfaces as an async uncaught error; timing/visibility differs from browsers.Types and modules
require() isn’t supported.AbortControllerLike and AbortSignalLike — lightweight subsets of the standard API. A parameter typed AbortSignalLike is type‑compatible with the native AbortSignal; this is compile‑time only and does not guarantee identical runtime behavior or capabilities.new AbortSignalLite()) as a type error, but nothing prevents it at runtime. The web standard throws here; we rely on discipline — stick to signals from the controller or the static helpers for the intended lifecycle.If you need exact spec behavior (DOMException types, EventTarget, GC semantics of any, timer unref, etc.), use the platform’s built‑ins where available.
MIT
FAQs
Lightweight abort controller for async operations
The npm package abort-controller-lite receives a total of 32 weekly downloads. As such, abort-controller-lite popularity was classified as not popular.
We found that abort-controller-lite 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.

Security News
Federal audit finds NIST lacked a plan to clear the NVD backlog, wasted funds on duplicate work, and delayed use of CISA data.

Research
/Security News
A mini Shai-Hulud campaign compromised Red Hat Cloud Services npm packages to steal developer and CI/CD secrets during installation.

Research
/Security News
The North Korean malware loader hides in a Packagist-listed package and its GitHub branch to fetch and execute remote code in a likely Contagious Interview-style lure.