Back to Explore

webpack/tapable

GitHub
1 updates · last 90 days1 watchersOpen source

Last release:

Tapable is a small JavaScript module that provides many Hook classes for building plugin systems, letting you define sync and async hooks (including bail, waterfall, and loop behaviors). Developers can register plugin callbacks on named hooks and then trigger those hooks, with Tapable managing argument passing and optimized execution order based on the registered taps.

Project status

  • Active maintenance: Evidence from the upstream push on 2026-06-05 and tagged updates through 2026-04-21 (v2.3.3) indicates webpack/tapable is actively maintained, not dormant.
  • Update cadence: Recent patch updates landed in close succession (v2.3.1 and v2.3.2 both dated 2026-03-23, followed by v2.3.3 on 2026-04-21). Earlier in 2025 there were fewer updates (for example, v2.3.0 on 2025-10-02 after v2.2.3 on 2025-08-22).

AI summary generated

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

Recent updates

  • v2.3.3

    v2.3.3 is presented as a patch release focused on performance improvements. The diff shows multiple runtime fast paths in tap registration, hook compilation, and hook-map/multi-hook hot loops, plus benchmark and workflow updates.

  • v2.3.2

    v2.3.2 is a patch release that changes how tap ordering constraints handle `before` entries that do not match any registered tap name. It reverts prior behavior so invalid `before` values are no longer ignored during hook scheduling.

  • v2.3.1

    v2.3.1 makes targeted fixes to tap option handling in the Hook implementation, specifically around trimming tap names and ignoring invalid `before` constraints. The release notes only mention those behavioral tweaks, but the actual diff also includes substantial repository tooling and dev-dependency changes (yarn to npm, Jest upgrades, changesets/CI workflow additions).

  • v2.3.0

    v2.3.0 primarily updates the TypeScript type definitions for tapable. Release notes mention adding a new `TypedHookMap` type, and the diff confirms new exported typings, but it also changes existing generic and callback signatures used by hook map factories and interceptors.

    Features
  • v2.2.3

    v2.2.3 includes a fix for promise-based hook taps so that falsy rejected values are treated as errors, instead of being mishandled. The diff also shows a number of mechanical refactors (function declaration style, minor variable renames) plus some additional test coverage for waterfall hooks with undefined and null results.

  • v2.2.2

    v2.2.2 primarily updates the TypeScript typings to add proper interceptor typing on the Hook class. The JavaScript code changes in this diff are largely non-functional formatting adjustments, while the repo tooling and CI setup were also updated (linting, prettier, and removal of codecov).

    Features
  • v2.2.1

    Release v2.2.1 claims only a typings fix for tapable. The code diff, however, shows specific TypeScript declaration changes to the Hook class, which can affect how developers type-check calls, especially around withOptions chaining.

  • v2.2.0

    v2.2.0 adds basic browser support and adjusts the hook code generation to avoid arrow functions. It also introduces internal codegen tweaks intended to improve parsing behavior and execution shape in common paths.

    Features
  • v2.1.1

    v2.1.1 is a small patch release. The only code changes are in TypeScript declaration files (tapable.d.ts) plus a package.json version bump, described as a workaround for a JSDoc-related TypeScript issue.

  • v2.1.0

    v2.1.0 updates tapable's TypeScript type definitions to support custom options on taps. It also adjusts the typing for interceptor.register. The changes in the diff are type-level only (tapable.d.ts), there is no runtime code change shown.

    Features