Back to Explore

othiym23/shimmer

GitHub
1 watchersOpen source

Last release:

Shimmer is a Node.js utility for safer monkeypatching, letting you wrap existing methods on objects or required modules with your own wrapper functions. It’s useful when you need to add behavior around built-in or third-party functions without fully replacing them, and includes helpers to wrap or unwrap single or multiple methods (for restoring the original behavior later).

Project status

  • Maintenance status: The repository appears quiet/dormant in terms of published updates. The most recent tagged update shown is v1.2.0 from 2017-11-20, and there is a large gap until today (2026-08-12).
  • Update cadence: Historically, updates were sparse, with tags in 2015-10-31 (v1.1.0) and 2017-11-20 (v1.1.1, v1.2.0). The provided “last upstream push” timestamp is 2024-05-31, but no corresponding tagged update details are included after 2017.

AI summary generated

AI-generated from public sources. May be inaccurate. Report

Recent updates

  • v1.2.0

    This release (v1.2.0) introduces a new helper, shimmer.massUnwrap, to unwrap multiple patched methods across one or more modules. The change is accompanied by new README documentation, a new test file, and updates to development tooling (notably the standard linter).

    Features
  • v1.1.1

    Release v1.1.1 has no published release notes in the provided data. The code changes focus on how shimmer wraps methods, specifically preserving property descriptors and enumerability when patching objects.

  • v1.1.0

    Release v1.1.0 was published on 2015-10-31, but no release notes were provided by the publisher. As a result, there is no documented information about new features, fixes, breaking changes, or migration steps for developers in this release.

  • v1.0.0

    Release v1.0.0 bumps the package version from 0.9.2 to 1.0.0 but provides no release notes. The code diff shows a major API surface change: the `wrapEmitter` implementation and its export were removed, along with its dedicated test file.

  • v0.9.2

    Release v0.9.2 updates shimmer's wrapping behavior to support calling wrapEmitter multiple times on the same EventEmitter. The core EventEmitter methods are wrapped only once, while multiple onAddListener callbacks are stacked and invoked for each newly added listener.

    Features
  • v0.9.1

    Release v0.9.1 contains a small internal refactor around the shimmer emitter monkeypatching wrapper. The release notes are empty, so the only observable changes come from the code diff and related test expectation updates.

  • v0.9.0

    Release v0.9.0 includes internal changes to shimmer.wrapEmitter listener wrapping behavior and updates to README and tests. The code change is significant: wrapEmitter now normalizes how it passes listeners to the user-provided prepare function, handling both single-listener and array-listener cases directly.

    Breaking
  • v0.8.1

    This release (v0.8.1) contains no provided release notes. The only changes in the diff are a version bump in package.json and an addition to README.md documenting shimmer.wrapEmitter.

  • v0.8.0

    Release v0.8.0 introduces a new helper, shimmer.wrapEmitter, intended for safe monkeypatching of Node.js EventEmitter instances. No release notes were provided for this version, so the main changes should be inferred directly from the code diff.

    Features
  • v0.7.3

    Release v0.7.3 was published on 2013-10-03, but no release notes or change log details were provided in the supplied data. Because the publisher notes are missing, this release cannot be reliably analyzed for API changes, fixes, or migrations based on the provided information.