feat(ci): onboard vitest-runner onto CLDMV v4 release flow - #1
Merged
Conversation
Thread two new coverage-mode options through run(): - blobsDir: caller-chosen directory for per-file coverage blobs (default <cwd>/.vitest-coverage-blobs, resolved against cwd). - mergeReports (default true): when false, stop after producing the per-file blobs — skip the internal vitest --mergeReports call and the coverage summary, and leave blobsDir intact so an external step can merge these blobs with a separately-produced blob set. blobsDir is still cleared at the start of every coverage run. Enables merging a second (e.g. browser-mode) coverage blob set into the node coverage via one external --mergeReports step. Default behavior is unchanged. CLI flags --blobs-dir <path> and --no-merge-reports map to the new options. Docs, types, and tests updated.
The `lint` script referenced ESLint but the repo had no dependency and no
config, so `npm run lint` only fell through to a stale global ESLint 6 and
errored. Wire it up the same way as @cldmv/slothlet:
- Add eslint@10 + @eslint/{js,json,markdown,css} + globals as devDeps.
- Add .configs/eslint.config.mjs (flat config): js/recommended with the
_ / ___ unused-binding escape hatch, plus the JSON/Markdown/CSS language
plugins; ignores build artifacts and the untracked reference/ copy.
- Point the script at the config: eslint --config .configs/eslint.config.mjs .
Fix the issues the new lint surfaced:
- runner.mjs: drop unused formatDuration/colourPct imports (still re-exported).
- discover.mjs: attach { cause } to the test-list read error.
- progress.mjs: rename unused onComplete param to ___failedRun.
- cli/help.mjs: escape the regex shown in --file-pattern help.
- README.md: add a language to two fenced code blocks.
- tests: drop unused vitest imports (beforeAll/afterAll, vi).
Round out the lint setup to match @cldmv/slothlet's tooling and gate it in CI. Prettier: - Add prettier@latest + .configs/.prettierrc (CLDMV style: tabs, width 140, no trailing commas; *.md proseWrap: preserve so prose isn't re-wrapped). - Add .prettierignore (build artifacts, the untracked reference/ copy, and *.yml/*.yaml — workflows are deliberately 4-space and YAML disallows tabs). - Add format / format:check scripts. Only README.md needed reformatting (table alignment, emphasis style, code-block quotes/tabs); the rest of the tree already conformed. CI: - Run npm run lint and npm run format:check before the existing type check and tests. Audit / dependency hygiene: - Bump vitest + @vitest/coverage-v8 to ^4.1.9 (in-range): clears all 6 advisories, which all traced to vitest -> vite (vite, postcss, picomatch, esbuild). npm audit now reports 0 vulnerabilities. - Drop @eslint/css and its config block — this repo has no CSS files.
The dev toolchain (ESLint 10 + @eslint/* requiring ^20.19.0 || ^22.13.0 || >=24, vitest 4 requiring >=20.0.0) can't run on the previously-declared Node 18 floor. Raise engines.node to >=20.19.0 to match the actual floor and the CLDMV default, and widen the CI matrix from [20] to [20, 22, 24] so the supported range is actually exercised rather than only the latest 20.x.
Bump for the blobsDir + mergeReports coverage options added this cycle (minor, backward-compatible). Tooling/CI changes ride along but don't drive the version.
Replace the standalone ci.yml with thin callers of the CLDMV/.github @v4 reusable workflows and install the full v4 release-flow + core-cicd + security entry callers. Workflows added/replaced (.github/workflows/): ci.yml (replaces standalone), feature-pr.yml, hotfix-redirector.yml, next-release.yml, next-reset.yml, hotfixes-release.yml, pr-title-normalizer.yml, publish.yml, codeql.yml, scorecard.yml, master-commit-audit.yml, update-major-version-tags.yml, v4-bootstrap.yml Per-repo customizations: package_name=@cldmv/vitest-runner; type_check_command=npm run types:check; max_node_major=24 (keeps Node 24 LTS in the matrix, matching old CI). package.json: add build:ci = lint && format:check && types:build, so the lint + format gates the old standalone CI ran are preserved (workflow-ci@v4 does not run lint/format itself) and publish/CI regenerate types from source.
|
You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool. What Enabling Code Scanning Means:
For more information about GitHub Code Scanning, check out the documentation. |
Shinrai
approved these changes
Jul 29, 2026
Shinrai
added a commit
that referenced
this pull request
Jul 30, 2026
## 🚀 What's Changed ### 💥 Breaking Changes _No breaking changes_ ### ✨ Features - #1 - feat(ci): onboard vitest-runner onto CLDMV v4 release flow (93d694b) ### 🐛 Bug Fixes _No bug fixes_ ### 📦 Dependencies _No dependency updates_ ### 🔧 Other Changes - ci: add no-op build script so the coverage-badge leg passes (e703701) <details> <summary>👥 Contributors</summary> - @Shinrai </details> --- <!-- coverage-start -->  | Metric | Coverage | |--------|----------| | Statements | 100.0% | | Branches | 100.0% | | Functions | 100.0% | | Lines | 100.0% | *Avg: **100.0%** · `c2b409d` · Node lts/** <!-- coverage-end --> --------- Co-authored-by: Shinrai <Shinrai@users.noreply.github.com> Co-authored-by: Nathaniel H <7722267+Shinrai@users.noreply.github.com> Co-authored-by: cldmv-bot[bot] <230771808+cldmv-bot[bot]@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🚀 What's Changed
💥 Breaking Changes
No breaking changes
✨ Features
🐛 Bug Fixes
No bug fixes
📦 Dependencies
No dependency updates
🔧 Other Changes
👥 Contributors