vfile-message is a utility that creates vfile messages, using a (lint) message format with fields like line and column, ruleId, and source. It is useful when you need to emit warnings or errors even when you do not have a vfile-backed file object.
Project status
- Maintenance status (evidence-based): The source shows recent activity with an update on 2025-07-26 (v4.0.3), but given today is 2026-09-10, there has been no further update for about 14 months, so it appears quiet/dormant rather than actively maintained.
- Update cadence (evidence-based): Updates are relatively infrequent, with 4.0.3 in 2025, then a long gap since 4.0.2 in 2023, and even earlier major work around 2023-06 (4.0.0) and 2021-12 (3.1.0). Overall cadence looks episodic.
AI summary generated
Recent updates
4.0.4
Version 4.0.4 fixes how VFileMessage initializes default properties on its prototype and adds declaration maps to the published type declarations. The API surface and constructor signatures appear unchanged; the diff also updates development tooling and CI configuration.
Features4.0.3
Release 4.0.3 is described as a small internal refactor to support TypeScript 7. The code diff shows mostly maintenance changes, but there is also a runtime-visible change to how `VFileMessage` initializes some instance fields.
4.0.2
Release 4.0.2 updates TypeScript-related typings and build configuration, along with dependency version bumps. The release notes only mention updating @types/unist, but the code diff shows additional major dependency upgrades and tsconfig target/lib changes that could affect runtime behavior and/or generated type definitions.
Breaking4.0.1
Release 4.0.1 is a small packaging fix. It adds the missing `files` field to `package.json` so the intended build and type artifacts are included in the published npm package.
4.0.0
vfile-message 4.0.0 is a major release that formalizes a new `VFileMessage(reason[, options])` API, changes message location handling from `position` to `place`, and switches nullable fields from `null` to `undefined`. It also updates packaging to use an `exports` map and requires Node.js 16.
BreakingFeatures3.1.4
Release 3.1.4 is described in the notes as documentation improvements and a code-style refactor. The actual diff shows a structural change to the package entry implementation, plus related build/test configuration updates.
3.1.3
vfile-message 3.1.3 adds support for passing a VFileMessage instance as the `reason` argument to `new VFileMessage(reason, place, origin)`. The release notes also mention improved documentation, and the diff shows broader doc updates plus some tooling, test, and CI configuration changes.
Features3.1.2
Release 3.1.2 is a small patch focused on TypeScript/JSDoc typing. It updates the `VFileMessage` type definitions to again accept `Node` instances (from `unist`) as the `place` argument.
3.1.1
Release 3.1.1 is a small patch primarily focused on TypeScript typing adjustments for vfile-message. The code diff also includes several repository and tooling configuration changes, plus minor test robustness tweaks.
3.1.0
Release 3.1.0 introduces the well known `actual` and `expected` fields on `VFileMessage`, aligning the API with common message semantics (source value vs suggested/acceptable values). The README and inline JSDoc were updated to document these new properties.
Features3.0.2
Release 3.0.2 makes vfile-message more robust when creating a VFileMessage from a Node-like value that does not have a position field. The primary code change prevents position assignment when place.position is missing, and the test suite was updated to cover this scenario.