TypeScript API Utils (ts-api-utils) provides utility functions for working with the TypeScript API, including helpers for tasks like iterating tokens. It is useful for developers building tools that need to work with TypeScript types and abstract syntax tree structures. It supports TypeScript 5.5.2 and above, and Node 20.19.0 and above.
Project status
- Actively maintained: GitHub upstream shows a recent push on 2026-05-31, and the project has continued major work after v3.0.0-rc.1.
- Apparent update cadence: a tight cluster in March 2026 (v2.5.0 on 2026-03-19, v3.0.0-rc.1 on 2026-03-21), with the previous recorded major version bump much earlier (v2.0.0 on 2024-12-01), suggesting intermittent but currently active development.
AI summary generated
Recent updates
v3.0.0-rc.1
v3.0.0-rc.1 is a major release that updates tooling and dependency versions, and it also establishes a new supported versions baseline (TypeScript 5.5.2+, Node 20.19.0+). The code diff shows substantial changes to the published package format (ESM-only) and removal of multiple deprecated exports and type guards.
v2.5.0
Release v2.5.0 focuses on tooling and dependency updates, with a documented change to `isStrictCompilerOptionEnabled` defaulting to `strict: true` behavior for TypeScript 6. However, the code diff shows additional runtime changes and multiple new public exports (including comment and token iterators) plus a naming migration from `*TypeParts` to `*Constituents` that are not reflected in the provided release notes.
Featuresv2.0.0
v2.0.0 primarily documents a breaking toolchain upgrade: the library raises its minimum Node version to 18.12 and bumps TypeScript to 4.8.4. The release notes also include multiple dependency version bumps for linting, formatting, and tooling.
Breakingv1.4.3
Release v1.4.3 makes the `isTypeParameter` helper no longer act as a TypeScript type guard. This changes its TypeScript signature, so consumers will no longer get compile-time type narrowing from the function.
Breakingv1.4.2
v1.4.2 primarily ships a type-level bug fix for boolean literal types by removing the `.value` field from the exported type declarations. In addition, it includes substantial build and tooling churn (TypeScript and lint tooling bumps, bundle size reduction, CI/workflow updates) that could affect how the package is built and consumed.
Breakingv1.4.0
v1.4.0 adds a new AST utility, getAccessKind (and its AccessKind enum), plus multiple internal fixes related to TypeScript const type parameters and falsy bigint literal detection. The release notes also list extensive tooling and dependency updates. However, the code diff reveals additional API surface and internal behavior changes that are not explicitly documented.
Featuresv1.2.1
Release v1.2.1 updates the package metadata to relax the supported Node.js runtime requirement. The change aligns the published package.json with an engine constraint of Node >=16.
v1.2.0
Release v1.2.0 adds new public utility APIs, collectVariableUsage and typeParts. Alongside these, the repo includes extensive CI, linting, and developer-tooling configuration changes, plus many dependency updates (notably pnpm, ESLint/TypeScript ESLint, and Node toolchain updates).
Featuresv1.0.2
Release v1.0.2 primarily updates dev tooling dependencies and expands unit test coverage for TypeScript type-guard utilities. The code diff shows widespread edits that are largely formatting-related (trailing commas, JSDoc/comment whitespace) plus additional tests, with no clear runtime logic changes surfaced in the provided diff.
v1.0.1
Release v1.0.1 adds a new TypeScript intrinsic type guard for the compiler-generated "error" intrinsic type. It also updates several documentation examples to use corrected function names.
Features