Skip to content

chore: update dependencies (2026-09) - #107

Merged
alessandrobellesia merged 1 commit into
developfrom
feature/dependencies-update-2026-09
Sep 17, 2026
Merged

alessandrobellesia merged 1 commit into
developfrom
feature/dependencies-update-2026-09

Conversation

@alessandrobellesia

@alessandrobellesia alessandrobellesia commented Sep 17, 2026 •

Copy link
Copy Markdown
Member

Summary

Routine dependency refresh driven by ncu, plus a small cleanup of the peer dependency ranges.

Major bumps

Package From To
@vueuse/core ^14.3.0 ^15.0.0
vitest ^4.1.10 ^5.0.1
packageManager pnpm@11.15.1 pnpm@12.4.2

Minor/patch bumps

@antfu/eslint-config, @types/node, @vitejs/plugin-vue, @vue/language-core, @vue/shared, @vue/test-utils, eslint, happy-dom, pinia, unplugin-dts, vite, vue, vue-tsc.

Peer dependencies

The @vueuse/core peer range is widened to ^14.3.0 || ^15.0.0. None of the composables used here (tryOnUnmounted, useIdle, debounceFilter, useDocumentVisibility, useWindowFocus, watchIgnorable, IgnoredUpdater) changed in v15, so there is no reason to force consumers onto the new major.

While touching that block, the redundant ^x.y.x form was normalized to ^x.y.z. In a caret range the trailing .x is normalized to 0, so the resolved intervals are bit for bit identical (^14.3.x and ^14.3.0 both expand to >=14.3.0 <15.0.0-0).

Breaking changes to be aware of

@vueuse/core 15 removes templateRef, drops Node 20, removes the deprecated timer options in favour of scheduler, flips the useThrottleFn trailing default to true, and changes useEventSource and useIDBKeyval. None of this touches the composables this library uses. Downstream apps that rely on useThrottleFn or templateRef should review them before moving to v15, but the doubled peer range lets them stay on v14 in the meantime.

vitest 5 requires Node >= 22.12 and Vite >= 6.4 (CI runs Node 24, Vite is on 8). The two changes most likely to bite when writing new tests are that mocks are now cleared by default before each test, and that a test fails when an asynchronous assertion is not awaited. The sequential test/suite options are gone in favour of concurrent. The existing suite passes untouched.

pnpm 12 no longer accepts pnpm install --frozen-lockfile false (use --no-frozen-lockfile) and rejects unknown keys in pnpm-workspace.yaml. Both CI workflows already use --no-frozen-lockfile and the workspace file validates cleanly, so no changes were needed.

Deliberately held back

typescript stays at 6.0.3. TypeScript 7 (the Go rewrite) does not expose the JavaScript Compiler API until 7.1, so unplugin-dts cannot emit the declaration files:

[unplugin-dts] The installed "typescript" package does not provide the JavaScript Compiler API

It was verified that adding @typescript/typescript6 as a dev dependency restores the build, but that is a temporary shim on a published library and is not worth carrying. Worth revisiting once TS 7.1 ships the stable API. vue-tsc is in the same position, though it is currently unused by any script.

Verification

pnpm type-check, pnpm lint, pnpm test (51 tests across 8 files) and pnpm build all pass.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Updated the supported package manager version.
    • Updated development tooling and framework-related packages.
    • Expanded compatibility with the latest VueUse release.
    • Standardized package compatibility ranges for clearer installation and upgrade behavior.
    • Adjusted workspace release-age handling for selected Vue packages.

Major bumps:
- @vueuse/core ^14.3.0 -> ^15.0.0
- vitest ^4.1.10 -> ^5.0.1
- packageManager pnpm@11.15.1 -> pnpm@12.4.2

Minor/patch bumps: @antfu/eslint-config, @types/node,
@vitejs/plugin-vue, @vue/language-core, @vue/shared, @vue/test-utils,
eslint, happy-dom, pinia, unplugin-dts, vite, vue and vue-tsc.

The @vueuse/core peer range is widened to `^14.3.0 || ^15.0.0`: none of
the composables used here (tryOnUnmounted, useIdle, debounceFilter,
useDocumentVisibility, useWindowFocus, watchIgnorable) changed in v15,
so consumers are free to stay on v14. While touching that block, the
redundant `^x.y.x` form is normalized to `^x.y.z`; the resolved
intervals are unchanged.

TypeScript is deliberately held back at 6.0.3: TS 7 drops the
JavaScript Compiler API until 7.1, which breaks declaration emit in
unplugin-dts.

Type-check, lint, the 51 unit tests and the build all pass.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Sep 17, 2026 •

Copy link
Copy Markdown

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: d0d3536d-9b56-44b7-94f3-cac201d0865b

📥 Commits

Reviewing files that changed from the base of the PR and between 7f103d7 and dc54247.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (3)
  • CHANGELOG.md
  • package.json
  • pnpm-workspace.yaml

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


Walkthrough

The pull request updates package manager and dependency versions, adjusts peer dependency ranges, excludes Vue 3.5.43 packages from release-age checks, and documents the changes in the changelog.

Changes

Dependency Updates

Layer / File(s) Summary
Dependency metadata and release policy
package.json, pnpm-workspace.yaml, CHANGELOG.md
The project now requires pnpm 12.4.2. Peer and development dependency ranges were updated. Vue 3.5.43 packages were added to minimumReleaseAgeExclude. The changelog records the updates.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Other

Merge Risk: ⚪ Minimal · up to dc542

The dependency and tooling updates are internally consistent in the supplied context, with no identified merge-blocking risk.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: dependency updates for September 2026. It is concise and clear.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

A rabbit checks the version trail
Fresh Vue packages join the rail
pnpm hops to twelve point four
Peer ranges open one door more
The changelog marks each careful change

Comment @coderabbitai help to get the list of available commands.

@sonarqubecloud

Copy link
Copy Markdown

@alessandrobellesia
alessandrobellesia merged commit b379154 into develop Sep 17, 2026
9 checks passed
@alessandrobellesia
alessandrobellesia deleted the feature/dependencies-update-2026-09 branch September 17, 2026 15:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant