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.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.