Skip to content

deps: bump the minor group across 1 directory with 2 updates - #114

Merged
Shinrai merged 1 commit into
nextfrom
dependabot/npm_and_yarn/next/minor-85b3f9dbd4
Oct 2, 2026
Merged

Shinrai merged 1 commit into
nextfrom
dependabot/npm_and_yarn/next/minor-85b3f9dbd4

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 2, 2026

Copy link
Copy Markdown

Bumps the minor group with 2 updates in the / directory: @cldmv/prettier-plugin-jsonv and @cldmv/vitest-runner.

Updates @cldmv/prettier-plugin-jsonv from 1.0.6 to 1.1.0

Release notes

Sourced from @​cldmv/prettier-plugin-jsonv's releases.

v1.1.0

release: v1.1.0 - honour prettier's trailingComma option

@​cldmv/prettier-plugin-jsonv v1.1.0 Changelog

Release Date: September 2026 Release Type: Minor Branch: release/1.1.0


Overview

A critical correctness fix plus a new formatting option. Every published version through v1.0.6 — the printer's key- and literal-handling code was unchanged since the v1.0.0 initial release — could silently corrupt a .jsonv file on format: unquoted (identifier) keys were printed as the literal string "[object Object]", collapsing every key in an object to the same name; every comment, line and block, was dropped; and numbers were printed from their evaluated value rather than their source text, so numeric separators and non-decimal forms were rewritten (1_000_000 → 1000000, 0b1111_0000 → 240, 0xFF → 255). Because every repo on the canonical CLDMV lint/format config registers this plugin for *.jsonv, and the v4 post-merge lint-format job runs npm run format on next and commits the result, any repo with .jsonv files was one merge away from having them corrupted; a scan of CLDMV's own checkouts at the time the bug was reported found none yet corrupted.

The printer is rewritten around @cldmv/jsonv 1.1.0's parseToAst(), which returns a positioned AST carrying raw text on every literal and identifier key, plus the full comment and token list. Printing is now lossless: keys, strings, numbers and BigInts are printed from their source text rather than their evaluated value, and every comment is attached through Prettier's own comment API so it prints exactly once, in place. Only layout — indentation, line breaks, blank-line runs between entries, and spacing inside template interpolations — is normalized, along with unquoting a quoted key whose content is a plain identifier with no escapes.

The published types are also fixed: the plugin now ships a real, type-checked JsonvPlugin declaration instead of a loosely typed one. On top of the fixes, the plugin now honours Prettier's trailingComma option for object and array literals, matching Prettier's default behavior for JavaScript instead of silently ignoring the setting.


🐛 Bug Fixes

Print jsonv losslessly from the source AST (#26, fixes #25)

  • Keys: an unquoted (identifier) key is printed from its name, not stringified from the key node — fixing the "[object Object]" corruption. A quoted key is printed verbatim, including its quote character, unless its content is a plain identifier with no escapes, in which case it is unquoted ("host" → host); every other quoted key — one with a space, an escape, a leading digit, or content that reads as a reserved word — is kept exactly as written. This replaces the previous behavior of normalizing every quoted key's quote character to match the singleQuote option.
  • Numbers and BigInts: printed from their source text, not their evaluated value — numeric separators, binary/octal/hex literals and their casing, and BigInt's n suffix all survive formatting unchanged.
  • Comments: every line and block comment is attached to the AST and printed, including comments in previously-unsupported positions (between a key and its value, inside a member-expression, inside a template interpolation). A line comment's spacing after // is now taken from the source when the comment doesn't start with a letter or digit (a divider like //--- is kept as written); a comment that does start with a letter or digit is still normalized to a single space after //.
  • Blank lines: at most one blank line between object/array entries is now preserved when the source had one. Previously every blank line between entries was removed, corruption bug or not.
  • Templates: interpolated template literals are now sliced verbatim from the source text between their delimiters, rather than rebuilt from the parser's quasi nodes.

Round-trip tests were added covering every jsonv feature (identifier, numeric and quoted keys; every number form; comments in every position; templates; internal references; trailing commas) across the full @cldmv/jsonv fixture corpus, asserting that parsing the formatted output reproduces the original value, that comments survive, and that formatting is idempotent (format(format(x)) === format(x)).

Publish a typed plugin and type-check the JSDoc (#32, fixes #5)

The published declarations previously typed the plugin only as a generic Prettier Plugin, with no detail about its parser, printer or options. The JSDoc in src/index.mjs is now complete and type-checked, and the generated .d.mts exports a real JsonvPlugin type (parser, printer, language and option definitions) alongside JsonvOptions, JsonvParserOptions, JsonvNode, JsonvProgram, JsonvComment and JsonvYear. The plugin satisfies Prettier's own Plugin type directly, and it is exported both as the default export and by name. A new test:types check compiles a consumer file against the published types and now runs as part of build:ci.

✨ Features

Honour prettier's trailingComma option (#31, fixes #27)

The printer previously never added a trailing comma and ignored Prettier's trailingComma option entirely, even though Prettier 3 defaults to "all" and jsonv allows trailing commas in every year. It now follows Prettier's own JavaScript behavior for object and array literals:

  • "all" (Prettier's default) and "es5" add a comma after the last entry of every object or array that breaks across lines. A non-empty object or array is always printed one entry per line, so only an empty one ({ }, []) stays on a single line, and it never gets a comma.
  • "none" never adds one.

A trailing comma already in the source is not kept as written — the option normalizes it, adding or removing the comma after the last entry — and the change stays lossless: the parsed value never changes, and a comment next to the last entry stays in place (a: 1, // note keeps the comment after the comma; a: 1 /* note */, keeps it before). Round-trip and idempotency tests cover every trailingComma value across the jsonv fixture corpus, plus every comment placement around a document's last entry.

🔧 CI & tooling

... (truncated)

Commits
  • 0a57039 release: v1.1.0 - honour prettier's trailingComma option
  • See full diff in compare view
Install script changes

This version adds prepare script that runs during installation. Review the package contents before updating.


Updates @cldmv/vitest-runner from 1.4.2 to 1.5.1

Release notes

Sourced from @​cldmv/vitest-runner's releases.

v1.5.1

release: v1.5.1 - backfill the missing v1.5.0 changelog

vitest-runner v1.5.1 Changelog

Release Date: September 2026 Release Type: Patch Branch: release/1.5.1


Overview

A documentation-only release: v1.5.0 shipped through the automated release-merge gate before its changelog and README What's New update had landed on next, so it released with the raw auto-generated PR-title dump instead of curated notes. This backfills v1.5.0's changelog and promotes the README. No code changes.


📚 Documentation

Backfilled the missing v1.5.0 changelog

docs/changelog/v1/v1.5.0.md — the curated release notes for the exclude option (#57, #58) that v1.5.0 shipped without. The README ✨ What's New block is promoted to match.


Upgrade notes

No breaking changes — drop-in for v1.5.0. No runtime code changed.


coverage

Metric Coverage
Statements 99.6%
Branches 100.0%
Functions 100.0%
Lines 99.6%

Avg: 99.8% · d915e7d · Node lts/*

... (truncated)

Commits
  • 7aedb32 release: v1.5.1 - backfill the missing v1.5.0 changelog
  • 9e0f31c release: v1.5.0 - add an exclude option for test discovery
  • 1241f7f release: v1.4.4 - drop the tsup-availability guard in prepack (#41)
  • fade67f release: v1.4.3 - enable minification for the tsup build
  • See full diff in compare view

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
  • @dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
  • @dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
  • @dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
  • @dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions

Bumps the minor group with 2 updates in the / directory: [@cldmv/prettier-plugin-jsonv](https://github.com/CLDMV/jsonv-prettier-plugin-jsonv) and [@cldmv/vitest-runner](https://github.com/CLDMV/vitest-runner).


Updates `@cldmv/prettier-plugin-jsonv` from 1.0.6 to 1.1.0
- [Release notes](https://github.com/CLDMV/jsonv-prettier-plugin-jsonv/releases)
- [Commits](CLDMV/jsonv-prettier-plugin-jsonv@v1.0.6...v1.1)

Updates `@cldmv/vitest-runner` from 1.4.2 to 1.5.1
- [Release notes](https://github.com/CLDMV/vitest-runner/releases)
- [Commits](CLDMV/vitest-runner@v1.4.2...v1.5.1)

---
updated-dependencies:
- dependency-name: "@cldmv/prettier-plugin-jsonv"
  dependency-version: 1.1.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: minor
- dependency-name: "@cldmv/vitest-runner"
  dependency-version: 1.5.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@cldmv-bot cldmv-bot Bot added the type: dependencies Relates to dependency updates, version bumps, or package management label Oct 2, 2026
@Shinrai
Shinrai merged commit 6b5a256 into next Oct 2, 2026
30 checks passed
@cldmv-bot
cldmv-bot Bot deleted the dependabot/npm_and_yarn/next/minor-85b3f9dbd4 branch October 2, 2026 21:51
cldmv-bot Bot added a commit that referenced this pull request Oct 3, 2026
# @cldmv/fix-headers v2.1.3 Changelog

**Release Date**: October 2026
**Release Type**: Patch
**Branch**: `release/2.1.3`

---

## Overview

Version 2.1.3 is a CI and tooling release with no runtime change. The `✅ Required PR Check` mirror job in `ci.yml` no longer satisfies the branch ruleset while it is skipped, which closes a window in which an in-repo pull request could be merged before its tests had finished. Four development dependencies move to their current releases through the lockfile; `ignore`, the only runtime dependency, is unchanged.

No source file changes, so `dist/`, `bin/` and the `fixHeaders` API are the same as in v2.1.2. The two patch releases before this one, [v2.1.1](https://github.com/CLDMV/fix-headers/releases/tag/v2.1.1) (a header-only file ends with the header instead of trailing margin lines; `esbuild` 0.28.2) and [v2.1.2](https://github.com/CLDMV/fix-headers/releases/tag/v2.1.2) (the repository adopts the shared CLDMV fix-headers config and stamps uniform file headers), shipped without a changelog file; their notes are on their GitHub Releases.

---

## 🔧 CI & tooling

### The skipped PR-run mirror no longer satisfies `✅ Required PR Check` ([#111](#111))

An in-repo feature PR gets two `ci.yml` runs on the same commit: a `push` run on the head branch and a `pull_request` run. The `pull_request` run skips the `required-check` job, because the push run owns the status on that SHA, but a skipped job still posts a check run under its name, and GitHub treats a skipped required check as satisfied. The push run's real mirror is only created once `ci` finishes, so for the whole test window the only `✅ Required PR Check` on the head SHA was the skipped one: the ruleset read green, and a PR with auto-merge enabled could merge while its tests were still running, or over a red result.

The job's `name:` is now an expression. On every path that actually runs (push events, fork PRs, and the `next` and `hotfixes` release PRs) it evaluates to `✅ Required PR Check`; on the skipped path it does not carry the required name, so the check stays pending until the push run reports. The condition in the name is written out to match the job's `if:` exactly. Synced from the `CLDMV/.github` template change in [CLDMV/.github#346](CLDMV/.github#346).

## 📚 Documentation

- **NEW:** [docs/changelog/v2/v2.1.3.md](./v2.1.3.md) — this changelog.
- README **What's New**: v2.1.3 is the new Latest, and the v2.1.1 and v2.1.2 releases, which shipped without a README entry, are listed under Recent Releases.

## 🔧 Dependencies

Development dependencies only; each PR moves the resolved versions in `package-lock.json` and leaves the `package.json` ranges unchanged.

- `@cldmv/eslint-plugin-jsonv` 1.0.10 → 1.0.13 and `@cldmv/jsonv` 1.0.9 → 1.1.1 ([#109](#109)).
- `@cldmv/prettier-plugin-jsonv` 1.0.6 → 1.1.0 and `@cldmv/vitest-runner` 1.4.2 → 1.5.1 ([#114](#114)). The prettier plugin's 1.1.0 fixes lossy `.jsonv` formatting (identifier keys printed as `[object Object]`, comments dropped); this repository has no `.jsonv` files, so the bump only keeps the lint and format toolchain current.
- `ignore`, the only runtime dependency, is unchanged.

---

## Upgrade notes

- No breaking changes: drop-in for v2.1.2. No runtime code changed and no option was added or removed.



<details>
<summary>👥 Contributors</summary>

- @Shinrai

</details>

---

<!-- coverage-start -->

![coverage](https://img.shields.io/badge/coverage-100.0%25-brightgreen?style=for-the-badge&logo=vitest&logoColor=white)

| Metric | Coverage |
|--------|----------|
| Statements | 100.0% |
| Branches   | 100.0% |
| Functions  | 100.0% |
| Lines      | 100.0% |

*Avg: **100.0%** · `7d71608` · Node lts/**

<!-- coverage-end -->

<!-- co-authors -->

Co-authored-by: Shinrai <Shinrai@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type: dependencies Relates to dependency updates, version bumps, or package management

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant