chore: apply npm audit fix, drop unused ts-jest, and typecheck in CI - #56
Merged
Conversation
Runs `npm audit fix` (no --force, no breaking changes) and removes the unused ts-jest devDependency. The audit fix resolves 12 of 18 distinct root advisories, notably: - vitest 3.2.4 -> 3.2.7 (GHSA-5xrq-8626-4rwp, critical: arbitrary file read/exec when the Vitest UI server is listening) - vite 6.4.2 -> 6.4.3 (server.fs.deny bypass) - ws -> 8.21.1, undici, esbuild, postcss, js-yaml, @babel/core ts-jest was left over from before the migration to vitest and is referenced nowhere in the codebase. It was the sole root of the entire jest dependency chain, which accounted for ~16 further advisory entries. Remaining advisories are release-time-only tooling: the npm CLI vendored inside semantic-release (tar, sigstore, brace-expansion). Clearing those requires `npm audit fix --force`, which would *downgrade* @semantic-release/npm from ^13.1.5 to 4.0.2 — not worth it for tooling that never reaches published output. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The test job ran only `npm run test:coverage`, so vue-tsc never ran in CI. `npm run build` (which does emit declarations) runs only in the release job, i.e. after tests pass on a push to a release branch — so a PR that broke types went green and only failed at release time. Adds a `typecheck` script and runs it before the test suite. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. 🚀 New features to boost your workflow:
|
|
🎉 This PR is included in version 1.1.0-beta.1 🎉 The release is available on:
Your semantic-release bot 📦🚀 |
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.
Two independent maintenance fixes found during a repository health review.
1. Dependency security (
9f7dd0b)Runs
npm audit fix— no--force, no breaking changes — and removes the unusedts-jestdevDependency.Notable fixes:
server.fs.denybypass)This advisory was previously addressed by Dependabot PR #47 (
vitest 3.2.6 → 4.1.8), which was closed unmerged — presumably to avoid the v4 major. That left the patch unapplied, and is why the Dependabot Updates workflow has been re-firing daily on the same ever-growing package list without ever landing anything. The patch-level bump to 3.2.7 fixes the advisory without the major.ts-jestwas left over from before the migration to vitest — it is referenced nowhere in the codebase and there is no jest config. It was the sole root of the entire jest dependency chain, worth ~16 further advisory entries.On the audit numbers
The raw
npm audittotal goes up (31 → 50), which is misleading. npm reports one entry per affected package node, not per advisory, so the few remaining roots fan out across many dependents once the tree is re-resolved. Measured like-for-like on the lockfile:The remaining critical is
tarinside the npm CLI vendored within semantic-release. Clearing it requiresnpm audit fix --force, which would downgrade@semantic-release/npmfrom^13.1.5to4.0.2— not worth it for release-time tooling that never reaches publisheddist.2. Typecheck in CI (
4378b69)The
testjob ran onlynpm run test:coverage, sovue-tscnever ran in CI.npm run build(which does emit declarations) runs only in thereleasejob — i.e. after tests pass, on a push to a release branch. A PR that broke types went green and only failed at release time.Adds a
typecheckscript and runs it before the test suite.Verification
Locally, against the updated dependency tree:
npm run typecheck— exit 0npm test— 180/180 passing, 20 filesnpm run build— exit 0🤖 Generated with Claude Code