Skip to content

Conversation

@yinyihui
Copy link
Contributor

@yinyihui yinyihui commented Nov 7, 2025

Removed duplicated ReactiveEffectRunner interface from effect.ts.

Summary by CodeRabbit

  • Breaking Changes
    • Removed a public type definition for reactive effect functions. Applications that explicitly reference this type in their code may require updates to continue functioning properly.

Removed duplicated ReactiveEffectRunner interface from effect.ts.
@coderabbitai
Copy link

coderabbitai bot commented Nov 7, 2025

Walkthrough

The ReactiveEffectRunner interface was removed from effect.ts, but the effect function still declares ReactiveEffectRunner as its return type. This creates an inconsistency where the return type annotation references an interface that is no longer defined.

Changes

Cohort / File(s) Summary
Type removal
packages/reactivity/src/effect.ts
Deleted exported interface ReactiveEffectRunner<T = any> with callable signature () => T and effect: ReactiveEffect member. The effect() function return type annotation still references the now-undefined ReactiveEffectRunner<T> type.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Critical attention point: Verify whether the effect() function's return type annotation should also be removed or updated, as it now references an undefined interface, creating a public API inconsistency.
  • Confirm this is an intentional breaking change and not an incomplete refactoring.
  • Check that all internal and external usages of ReactiveEffectRunner have been addressed.

Poem

🐰 A runner once stood tall and proud,
With types and effects worn loud,
But now it's gone—no trace remains,
Leaving function signatures with orphaned chains,
Did we mean to break this dance so free?

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Title check ✅ Passed The title 'chore(reactivity): remove duplicated ReactiveEffectRunner interface' accurately summarizes the main change - removing the ReactiveEffectRunner interface.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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

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

@edison1105 edison1105 changed the title Remove duplicated ReactiveEffectRunner interface chore(reactivity): remove duplicated ReactiveEffectRunner interface Nov 7, 2025
@github-actions
Copy link

github-actions bot commented Nov 7, 2025

Size Report

Bundles

File Size Gzip Brotli
runtime-dom.global.prod.js 103 kB 38.9 kB 35 kB
vue.global.prod.js 161 kB 58.8 kB 52.3 kB

Usages

Name Size Gzip Brotli
createApp (CAPI only) 46.9 kB 18.3 kB 16.8 kB
createApp 55 kB 21.4 kB 19.6 kB
createSSRApp 59.3 kB 23.1 kB 21.1 kB
defineCustomElement 60.6 kB 23.1 kB 21.1 kB
overall 69.3 kB 26.6 kB 24.3 kB

@pkg-pr-new
Copy link

pkg-pr-new bot commented Nov 7, 2025

Open in StackBlitz

@vue/compiler-core

npm i https://pkg.pr.new/@vue/compiler-core@14063

@vue/compiler-dom

npm i https://pkg.pr.new/@vue/compiler-dom@14063

@vue/compiler-sfc

npm i https://pkg.pr.new/@vue/compiler-sfc@14063

@vue/compiler-ssr

npm i https://pkg.pr.new/@vue/compiler-ssr@14063

@vue/reactivity

npm i https://pkg.pr.new/@vue/reactivity@14063

@vue/runtime-core

npm i https://pkg.pr.new/@vue/runtime-core@14063

@vue/runtime-dom

npm i https://pkg.pr.new/@vue/runtime-dom@14063

@vue/server-renderer

npm i https://pkg.pr.new/@vue/server-renderer@14063

@vue/shared

npm i https://pkg.pr.new/@vue/shared@14063

vue

npm i https://pkg.pr.new/vue@14063

@vue/compat

npm i https://pkg.pr.new/@vue/compat@14063

commit: 29bf646

@edison1105 edison1105 merged commit 90ce838 into vuejs:main Nov 7, 2025
14 checks passed
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.

2 participants