Back to Explore

ljharb/es-abstract

GitHub
4 watchersOpen source

Last release:

Provides ECMAScript specification abstract operations as a JavaScript module, with access by edition and name (for example, `es-abstract/2020/Call` or `es-abstract/5/Type`). Useful if you need standardized spec-level operation implementations, and it also offers `es5` through `es2021` entry points, with deep imports encouraged for bundle size and performance.

Project status

  • Actively maintained: The repo shows ongoing work, with an upstream push on 2026-06-26 and the most recent published package update being v1.24.2 on 2026-04-07, indicating it is not currently in maintenance mode.
  • Update cadence: Prior updates appear to land roughly every 3 to 6 months (for example, v1.24.1 on 2025-12-13, v1.24.2 on 2026-04-07), with no long multi-year gaps visible in the provided history.

AI summary generated

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

Recent updates

  • v1.24.2

    Release v1.24.2 includes a set of small internal runtime changes (mostly replacing `undefined` with `void undefined`), plus a more substantial behavioral change in the BigInt absolute value implementation. No release notes were provided, so all changes below are effectively undocumented from the publisher’s perspective.

  • v1.24.1

    Release v1.24.1 contains no publisher-provided release notes. The code diff indicates mostly lint/config cleanup plus a meaningful runtime behavior change in generator abrupt-resume handling.

  • v1.24.0

    Release v1.24.0 was published on 2025-05-29, but the publisher provided no release notes. As a result, this analysis cannot determine new features, breaking changes, bug fixes, security, or dependency updates from the release notes alone.

  • v1.23.10

    No release notes were provided for v1.23.10. The code diff shows a large internal refactor across many ECMAScript-abstract-operation modules (notably swapping object-type helpers, adjusting some algorithm details), plus a CI update to test Node.js 24.

    Breaking
  • v1.23.9

    v1.23.9 primarily performs a refactor around prototype handling by switching internal helpers and algorithms to use the external `get-proto` and `set-proto` packages. The release notes field is empty, so these changes are not explicitly documented there.

    Breaking
  • v1.23.8

    v1.23.8 is a small refactor release with no publisher-provided release notes. The code changes primarily swap internal helpers to use new dependencies, replacing an older OwnPropertyKeys helper implementation with the `own-keys` package and replacing an intrinsic-based push.apply call with `safe-push-apply`.

  • v1.23.7

    v1.23.7 does not include any publisher-provided release notes. The code diff indicates a large internal refactor focused on centralizing “property key” and Date “getTime” checks via shared helpers, with many assertion error messages adjusted accordingly.

    Breaking
  • v1.23.6

    Release v1.23.6 has no published release notes, while the code diff shows a broad internal refactor across the ECMAScript abstract-algorithm implementation files. Most changes are import/source swaps (math-intrinsics, call-bound) and assertion logic updates (Type to isObject), with a few potential behavior changes in typed-array handling and buffer float conversions.

    Breaking
  • v1.23.5

    This patch release (v1.23.5) updates the `CompletionRecord` implementation for ES2015+ to change the behavior of the `?` operator. Instead of only supporting `normal` and `throw`, `?` now returns the completion value for any non-`throw` completion type, and still throws the value for `throw` completions.

  • v1.23.4

    Release v1.23.4 was published on 2024-11-13. No release notes were provided by the publisher, so there is no documented information about new features, fixes, breaking changes, or security updates in this release.