Back to Explore

ljharb/internal-slot

GitHub
2 watchersOpen source

Last release:

internal-slot is a JavaScript utility that provides truly private per-object storage similar to the JS spec’s internal slots. It uses WeakMap when available, otherwise falls back to Map or an object, which helps modules store hidden values with environment-dependent performance and garbage collection behavior.

Project status

  • The upstream GitHub push and latest tagged update (v1.1.0 on 2024-12-13) are now about 18 months old (as of 2026-06-09), so this source looks quiet or in maintenance mode rather than actively maintained.
  • Update cadence appears irregular, with several updates between 2019-2023 and then a more recent bump series in early 2024 (v1.0.7 on 2024-02-06) followed by v1.1.0 in 2024-12; since then, no further updates are evident in the provided history.

AI summary generated

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

Recent updates

  • v1.1.0

    v1.1.0 introduces TypeScript type definitions for the `internal-slot` module and updates several dependencies and development/CI tooling. The runtime logic in `index.js` appears effectively unchanged, with modifications largely limited to type-directed indexing.

  • v1.0.7

    Release v1.0.7 includes a small refactor in index.js to replace get-intrinsic usage with es-errors for retrieving the TypeError intrinsic, plus minor dev dependency version bumps. The provided release notes section is empty, so consumers should rely on the code diff and changelog changes to understand what actually shipped.

  • v1.0.6

    Release v1.0.6 was published on 2023-10-21, but no release notes or changelog details were provided by the publisher. As a result, there is no documented information about new features, fixes, breaking changes, or dependency updates in this release.

  • v1.0.5

    This release (v1.0.5) includes a small runtime change to the error message thrown when a requested slot is missing, plus several dependency version bumps. The provided release notes are empty, so the changelog entries present in the repo are not reflected in the release-note text you supplied.

  • v1.0.4

    Release v1.0.4 updates the internal-slot package behavior around SLOT.assert and modernizes the repo build/test and publish workflow. The only runtime-relevant code change is that SLOT.assert now actively verifies slot presence and throws when a requested slot is missing.

  • v1.0.3

    v1.0.3 primarily refactors internal implementation dependencies and modernizes the project's CI and test setup. The release notes provided by the publisher are missing (none provided), so the actual behavior-impacting changes need to be inferred from the code and manifest diff.

  • v1.0.2

    v1.0.2 is a release primarily driven by dependency updates, plus the package version bump from 1.0.1 to 1.0.2. The only codebase changes in the diff are in configuration metadata (package.json) and the changelog (CHANGELOG.md).

  • v1.0.1

    v1.0.1 refactors internal slot storage to use the `side-channel` dependency instead of the previous WeakMap/Map-based backing. The changelog also notes developer tooling updates (eslint/dev deps) and adds a CI workflow to automatically rebase PRs.

  • v1.0.0

    This release is v1.0.0, but no publisher release notes were provided. As a result, there is no documented information here about new features, bug fixes, security fixes, or migration steps. You should review the actual tag diff from the prior version (or commit history if this is a first release) to identify potential API or behavioral changes.