Node.js utilities and TypeScript definitions for reading, writing, and updating common project configuration files like package.json and tsconfig.json, including helpers to find nearest package/TS config files and resolve lockfile paths. It also provides functions for sorting and normalizing package.json contents (and related git config parsing and formatting) with format detection across JSON, JSON5, and YAML.
Project status
- Actively maintained: Recent
updatesinclude feature expansion (v2.3.0) and a tooling/build-system migration (v2.3.1), with an upstream push on 2026-06-05 indicating ongoing activity. - Apparent update cadence: Notable updates occurred at v2.2.0 (2025-06-30), v2.3.0 (2025-08-19), and v2.3.1 (2026-04-27), suggesting a period of faster change in mid 2025, then a longer gap before the next update.
AI summary generated Today
Recent updates
v2.3.1
1 month agov2.3.1 is primarily a tooling and build-system update (migrating to obuild, oxlint, and oxfmt), along with a small TypeScript type export fix. The diff also shows documentation updates and at least one new/changed package.json entrypoint export mapping.
v2.3.0
9 months agov2.3.0 expands pkg-types beyond plain package.json to support additional package manifest formats (package.json5, package.yaml) and adds higher-level utilities for locating, reading, writing, updating, and sorting package files. It also extends workspace type support to accept the object form of workspaces and recognizes deno.lock as a known lockfile.
Featuresv2.2.0
11 months agov2.2.0 adds Deno workspace detection to the existing findWorkspaceDir logic. The implementation also updates tooling versions (dev dependencies, pnpm, and lockfile) and extends documentation/tests to cover the new behavior.
Featuresv2.1.1
11 months agov2.1.1 expands the TypeScript types for `package.json`, adding autocompletion for common script names and introducing the `funding` field typing. It also updates some README git-config examples and bumps several dependencies and dev tooling versions.
Featuresv2.1.0
3/3/2025v2.1.0 adds utilities for working with `.git/config` and improves `findWorkspaceDir` by detecting workspace markers and allowing a configurable strategy. It also tweaks `findFile` behavior for better matching and includes a fix to avoid fallback resolution when the starting point cannot be resolved. The codebase was refactored into new module files for resolve/package/tsconfig/gitconfig helpers.
Featuresv2.0.1
3/1/2025v2.0.1 is described as a small fix to improve how resolving paths works, specifically by switching to exsolve. The code change, however, replaces the previous custom import.meta.resolve based logic in the internal _resolvePath helper with exsolve's resolveModulePath, which can subtly change resolution behavior beyond what is described.
v2.0.0
2/25/2025v2.0.0 refactors the package and tsconfig resolution logic, and changes the published build to be ESM-only. The release notes are minimal, but the code diff shows multiple API surface and behavior changes around path resolution and option typing.
Breakingv1.3.1
1/14/2025v1.3.1 is primarily a small fix to recognize additional Bun lockfile naming. The release also bumps several dependencies and updates CI tooling configuration.
v1.3.0
12/27/2024Release v1.3.0 adds a new optional `packageManager` field to the exported `PackageJson` TypeScript interface. It also updates CI to run tests on Windows and modernizes the code coverage action. No runtime API surface changes are described beyond the new type field.
Featuresv1.2.1
10/8/2024Release v1.2.1 adds type coverage improvements for npm package metadata and tsconfig. The release notes highlight optional `publishConfig` fields and adding `tsconfig.references` support, plus a small increase in type tests for partial objects.
Features