Commit Graph

1713 Commits

Author SHA1 Message Date
Evan You
8610e1c9e2 feat(runtime-dom): defineCustomElement 2021-07-16 14:30:49 -04:00
Evan You
42ace9577d feat: watchPostEffect 2021-07-16 14:30:49 -04:00
Evan You
3b64508e3b feat: v-memo 2021-07-16 14:30:49 -04:00
Evan You
1fe2239270 refactor: sync value access for chained computed w/ scheduler 2021-07-16 14:30:49 -04:00
Evan You
eae7c247af refactor: reduce bundle size 2021-07-16 14:30:49 -04:00
Bas van Meurs
6cf2377cd4 perf(reactivity): use bitwise dep markers to optimize re-tracking (#4017) 2021-07-16 14:30:49 -04:00
Evan You
bde855e017 test: test for computed optimization 2021-07-16 14:30:49 -04:00
Evan You
ebaac9a56d perf(reactivity): avoid triggering re-render if computed value did not change 2021-07-16 14:30:49 -04:00
Anthony Fu
f5617fc3bb feat(reactivity): new effectScope API (#2195) 2021-07-16 14:30:49 -04:00
Evan You
87f69fd0bb perf(reactivity): improve reactive effect memory usage (#4001)
Based on #2345 , but with smaller API change

- Use class implementation for `ReactiveEffect`
- Switch internal creation of effects to use the class constructor
- Avoid options object allocation
- Avoid creating bound effect runner function (used in schedulers) when not necessary.
- Consumes ~17% less memory compared to last commit
- Introduces a very minor breaking change: the `scheduler` option passed to `effect` no longer receives the runner function.
2021-07-16 14:30:49 -04:00
HcySunYang
ceff89905b perf: improve VNode creation performance with compiler hints (#3334) 2021-07-16 14:30:49 -04:00
Evan You
31abdc8ada release: v3.1.5 2021-07-16 12:38:01 -04:00
Evan You
8dbad83e7f fix(compat): fix v3 compiled fn detection in production 2021-07-16 10:17:38 -04:00
Evan You
68365b9b2b fix(runtime-core): enter optimized mode for component as root
fix #3943
2021-07-15 18:51:59 -04:00
b31712ecc5
test(teleport): fix meaningless test case (#2872) 2021-07-15 16:36:36 -04:00
Carlos Rodrigues
18911abb91
fix(type): infer parent as this on nextTick function (#3608)
fix #3599
2021-07-15 16:28:20 -04:00
Evan You
c0db807844 refactor: simplify static content insertion 2021-07-15 13:16:19 -04:00
Evan You
2937530bef fix(v-model): handle mutations of v-model bound array/sets
fix #4096
2021-07-15 12:14:19 -04:00
Evan You
03e26845e2 fix(sfc): fix <script setup> async context preservation logic
fix #4050
2021-07-06 14:31:53 -04:00
Evan You
d12206db8e test: add test case for proper effect teardown w/ withAsyncContext 2021-07-06 11:39:27 -04:00
Austin Keener
f3e15f633e
fix(compat): fix props check for v-model compat warning (#4056) 2021-07-04 18:32:44 -04:00
Evan You
348c3b01e5 release: v3.1.4 2021-07-02 08:37:50 -04:00
Evan You
438754a0d1 fix(build): avoid using async/await syntax 2021-07-02 08:06:25 -04:00
Austin Keener
12cf9f4ea1
fix(runtime-core): fix instance accessed via $parent chain when using expose() (#4048) 2021-07-02 07:51:54 -04:00
wonderl17
735ada1507
fix(runtime-core): add useAttrs and useSlots export (#4053) 2021-07-02 07:51:09 -04:00
Evan You
fc7b640041 release: v3.1.3 2021-07-01 19:28:06 -04:00
Evan You
ba89ca9eca fix(runtime-dom): fix static node content caching edge cases
reverts fded1e8

fix #4023, #4031, #4037
2021-07-01 19:19:53 -04:00
Guillaume
347d90173b types: export CreateComponentPublicInstance 2021-07-02 00:10:07 +02:00
Evan You
33708e8bf4 fix(ssr): ensure behavior consistency between prod/dev when mounting SSR app to empty containers
close #4034
2021-07-01 17:22:03 -04:00
Evan You
34d4991dd5 fix(ssr): properly hydrate non-string value bindings
fix #4006
2021-07-01 17:11:23 -04:00
Evan You
fded1e8dfa fix(runtime-core): fix mouting of detached static vnode
fix #4023
2021-07-01 16:11:50 -04:00
Johnson Chu
81e69b29ec
feat(types): support IDE renaming for props (#3656) 2021-07-01 13:48:23 -04:00
Evan You
9ee41e14d2 fix: prevent withAsyncContext currentInstance leak in edge cases 2021-06-29 14:22:18 -04:00
Evan You
0240e82a38 feat(sfc): auto restore current instance after await statements in async setup() 2021-06-29 09:24:12 -04:00
LordTerabyte
d069796b8f
fix(runtime-core): add missing serverPrefetch hook error string (#4014) 2021-06-28 15:30:20 -04:00
Evan You
ef5c41523f types: fix global helpers dts generation 2021-06-26 21:47:18 -04:00
Evan You
fddef8bb74 chore: remove unnecessary casting 2021-06-26 21:35:25 -04:00
Evan You
004bd18cf7 feat(sfc/types): make <script setup> helper types available globally 2021-06-26 21:12:26 -04:00
Evan You
4c5844a9ca feat(sfc): withDefaults helper 2021-06-26 21:11:57 -04:00
Evan You
3ffc7be864 chore(sfc-playground): ignore duplicate logs 2021-06-25 19:31:47 -04:00
Evan You
1675b6d723 fix: defineExpose type definition and runtime warning 2021-06-25 16:18:21 -04:00
Evan You
b0203a3092 feat(expose): always expose $ instance properties on child refs 2021-06-24 21:28:09 -04:00
Evan You
ac853ff4ab test: fix script setup helpers tests 2021-06-23 10:31:32 -04:00
Evan You
0b8b576428 fix(sfc): allow variables that start with _ or $ in <script setup> 2021-06-23 10:13:23 -04:00
Evan You
63e9e2e9aa feat(sfc): useAttrs + useSlots
Deprecate useContext
2021-06-22 21:07:42 -04:00
Eduardo San Martin Morote
a137da8a9f
feat(sfc): add defineEmits and deprecate defineEmit (#3725) 2021-06-22 15:02:56 -04:00
Evan You
6b6d566861 release: v3.1.2 2021-06-22 14:24:50 -04:00
Evan You
9b607fe409 fix(watch): fix watch option merging from mixins
fix #3966
2021-06-22 13:54:43 -04:00
Eduardo San Martin Morote
ab6e927041
fix(Suspense): emit initial fallback and pending events (#3965)
Fix #3964
2021-06-21 17:03:07 -04:00
edison
43e2a72900
fix(Suspense): fallback should work with transition (#3968)
fix #3963
2021-06-21 16:58:43 -04:00
Evan You
4de5d24aa7 perf: improve static content insertion perf
Especially on multiple insertions of the same static node.

fix #3090
2021-06-21 14:38:29 -04:00
Evan You
056ef2a7d2 refactor: use markRaw instead of internal flag check 2021-06-11 18:46:31 -04:00
Eunjae Lee
db1dc1c630
fix(runtime-core): bind default function of inject to instance (#3925)
fix #3923
2021-06-09 12:02:05 -04:00
LYlanfeng
011dee8644
fix(runtime-core): fix multiple .once event handlers on same component (#3904)
fix #3902
2021-06-08 09:52:45 -04:00
Guillaume
2b52d5d7c5 fix(devtools): expose root instance
related to https://github.com/vuejs/vue-devtools/issues/1376
2021-06-07 23:23:45 +02:00
Evan You
ade9bd9daa release: v3.1.1 2021-06-07 16:26:54 -04:00
Evan You
ac15df46c5 release: v3.1.0 2021-06-07 12:38:42 -04:00
Evan You
ad844cf1e7 fix(compat): revert private properties on $options in comapt mode
fix #3883
2021-06-07 11:04:41 -04:00
Evan You
5bce2ae723 fix(runtime-core): fix fragment update inside de-opt slots
fix #3881
2021-06-04 18:03:40 -04:00
Evan You
71f7c25fbe release: v3.1.0-beta.7 2021-06-02 16:12:54 -04:00
Evan You
2b5a559055 chore: avoid compat disabled error for built-in components 2021-06-02 16:06:09 -04:00
Evan You
9acc9a1fa8 fix(watch): avoid traversing objects that are marked non-reactive
e.g. Vue public instances
2021-06-02 15:51:27 -04:00
Evan You
51d2be2038 perf: avoid deopt for props/emits normalization when global mixins are used 2021-06-02 15:22:52 -04:00
Evan You
e2ca67b59a fix(runtime-core): align option merge behavior with Vue 2
fix #3566, #2791
2021-06-02 15:19:56 -04:00
Evan You
1e35a860b9 refactor: adjust component options merge cache strategy
BREAKING CHANGE: optionMergeStrategies functions no longer receive
the component instance as the 3rd argument. The argument was technically
internal in Vue 2 and only used for generating warnings, and should not
be needed in userland code. This removal enables much more efficient
caching of option merging.
2021-06-02 10:42:52 -04:00
Evan You
44996d1a0a fix(suspense): fix suspense regression for errored template component
fix #3857
2021-05-31 17:19:03 -04:00
Evan You
c7efb967ca fix(compat): fix deep data merge with extended constructor
fix #3852
2021-05-31 16:48:18 -04:00
Evan You
aa96a0e88a release: v3.1.0-beta.6 2021-05-28 16:58:54 -04:00
Evan You
071986a2c6 fix(transition): fix higher order transition components with merged listeners
fix #3227
2021-05-28 15:42:08 -04:00
edison
d6607c9864
fix(runtime-core): fix resolving inheritAttrs from mixins (#3742)
fix #3741
2021-05-27 21:53:41 -04:00
Evan You
1ff06376ff chore: type fix 2021-05-27 20:58:27 -04:00
Evan You
03a7a73148 fix(reactivity): ensure computed always expose value
fix #3099

Also changes the original fix for #910 by moving the fix from
reactivity to the scheduler
2021-05-27 20:53:21 -04:00
Evan You
32e21333dd fix(runtime-core): stricter compat root mount check 2021-05-27 20:47:46 -04:00
HcySunYang
a641eb201f
fix(runtime-core): fix cases of reused children arrays in render functions (#3670)
fix #3666
2021-05-27 17:06:55 -04:00
HcySunYang
ff50e8d78c
fix(runtime-core): should disable tracking inside directive lifecycle hooks (#3699) 2021-05-27 16:53:19 -04:00
Evan You
9f24195d2c fix(suspense): fix suspense patching in optimized mode
fix #3828
2021-05-27 16:32:31 -04:00
Evan You
f0eb1978b2 release: v3.1.0-beta.5 2021-05-26 16:06:51 -04:00
Evan You
b46a4dccf6 fix(ssr): handle hydrated async component unmounted before resolve
fix #3787
2021-05-26 15:26:18 -04:00
Evan You
b57e995edd fix(scheduler): handle preFlush cb queued inside postFlush cb
fix #3806
2021-05-26 14:21:49 -04:00
HcySunYang
e8ddf86080
fix(runtime-core): properly check forwarded slots type (#3781)
fix #3779
2021-05-26 11:52:03 -04:00
edison
4e3f82f683
fix(runtime-core/teleport): ensure the nested teleport can be unmounted correctly (#3629)
fix #3623
2021-05-26 10:51:55 -04:00
HcySunYang
201060717d
fix(runtime-core): should not track dynamic children when the user calls a compiled slot inside template expression (#3554)
fix #3548, partial fix for #3569
2021-05-25 13:33:41 -04:00
Evan You
1526f94edf fix(watch): should not leak this context to setup watch getters
ref #3603
2021-05-25 11:10:11 -04:00
HcySunYang
9e3708ca75
fix(keep-alive): include/exclude should work with async component (#3531)
fix #3529
2021-05-25 10:50:00 -04:00
Evan You
f1f52300e6 release: v3.1.0-beta.4 2021-05-24 19:16:44 -04:00
Evan You
b76c453507 refactor: adjust absent prop casting logic 2021-05-24 19:09:18 -04:00
Evan You
0255be2f4b fix(runtime-core): avoid double-setting props when casting
fix #3371, close #3384
2021-05-24 18:48:33 -04:00
HcySunYang
4ce0df6ef1
fix(runtime-core): avoid the proxy object polluting the slots of the internal instance (#3698)
fix #3695
2021-05-24 18:17:37 -04:00
Guillaume Chau
f7c54caeb1 feat(devtools): performance events 2021-05-19 20:48:35 +02:00
Guillaume Chau
1355ee27a6 fix(devtools): send update to component owning the slot
https://github.com/vuejs/vue-devtools/issues/1404
2021-05-19 18:19:28 +02:00
HcySunYang
4f17be7b1c
fix(compat): avoid accidentally delete the modelValue prop (#3772) 2021-05-17 14:07:53 -04:00
Carlos Rodrigues
92e7330385
types(props): Support undefined as default (#3783) 2021-05-17 14:04:31 -04:00
GU Yiling
9b160b9405
fix(types): declared prop keys should always exist in props argument (#3726) 2021-05-12 17:47:31 -04:00
Cédric Exbrayat
f01aadf2a1
fix(compat): enum coercion warning (#3755) 2021-05-12 17:47:00 -04:00
Evan You
b663aa8a81 release: v3.1.0-beta.3 2021-05-12 17:37:04 -04:00
Stanislav Lashmanov
2bfb8b574d
fix(compat): correctly merge lifecycle hooks when using Vue.extend (#3762)
fix #3761
2021-05-12 17:13:44 -04:00
Cédric Exbrayat
808ccf0963
chore: fix typo in compat warning 2021-05-11 10:41:51 +08:00
Evan You
99a5ccf6b2 release: v3.1.0-beta.2 2021-05-08 16:59:12 -04:00
Evan You
94e69fd389 fix(compat): handle and warn config.optionMergeStrategies 2021-05-08 16:48:59 -04:00
Evan You
ed6c5fe903 release: v3.1.0-beta.1 2021-05-08 16:24:34 -04:00
HcySunYang
c8d96837b8
fix(hydration): fix update before async component is hydrated (#3563)
fix #3560
2021-05-07 18:42:58 -04:00
HcySunYang
43f78151bf
fix(Teleport): avoid changing the reference of vnode.dynamicChildren (#3642)
fix #3641
2021-05-07 18:04:36 -04:00
AbaAba~
e7300eb479
fix(runtime-core): watching multiple sources: computed (#3066)
fix #3068
2021-05-07 18:03:35 -04:00
Guillaume Chau
349eb0f0ad
feat: onServerPrefetch (#3070)
Support equivalent of `serverPrefetch` option via Composition API.
2021-05-07 12:00:52 -04:00
Evan You
b10db86711 wip: make legacy global apis available on app instance as well 2021-05-06 17:15:11 -04:00
Evan You
fa48722441 wip: fix v3 render fn detection regex 2021-05-06 16:18:00 -04:00
Evan You
5a0bab0bd2 wip: defineReactive on instance with keys starting with $ 2021-05-06 16:17:32 -04:00
Evan You
37ee2959fc wip: allow compatConfig mode to be a function 2021-05-06 10:57:34 -04:00
Guillaume Chau
9db3cbbfc1 fix(hmr): don't remove __file key from component type 2021-05-06 14:21:54 +02:00
Evan You
f2a5a3ee55 wip: make singleton mutations affect all app instances 2021-05-05 17:56:09 -04:00
Evan You
7f93c76b96 wip: exclude legacy slots from $scopedSlots 2021-05-05 11:06:15 -04:00
Evan You
5278e0622a wip: more private properties 2021-05-05 09:47:14 -04:00
Evan You
7e6a76e587 wip: enable private vnode properties even for built-ins 2021-05-04 18:26:28 -04:00
Evan You
7c1e665215 wip: root instance $destroy before $mount 2021-05-04 18:26:28 -04:00
Evan You
4d62670d3d wip: vm._data for vuex compat 2021-05-04 18:26:28 -04:00
Evan You
80303bcf5a wip: compat test coverage 2021-04-30 18:05:03 -04:00
Evan You
324a00c85d wip: test for global filter registration 2021-04-30 17:16:47 -04:00
Evan You
bd3cc4d2c7 wip: tests for compiler compat 2021-04-30 15:50:32 -04:00
Evan You
b4c92ccf6b wip: move compat test cases + filter tests 2021-04-29 16:58:14 -04:00
Evan You
bb76cfae12 wip: test for v-model compat 2021-04-29 16:22:39 -04:00
Evan You
6db7c00b42 wip: test for legacy component compat 2021-04-29 15:51:37 -04:00
Evan You
3963f2e963 wip: more tests for v2 compat 2021-04-29 14:45:22 -04:00
Evan You
d3d9355c5a wip: test for instance and options compat 2021-04-28 17:21:05 -04:00
Evan You
d0dd6674bb wip: fix isCustomElement 2021-04-28 12:36:08 -04:00
Evan You
cd33714935 chore: Merge branch 'v2-compat' 2021-04-28 12:30:57 -04:00
Evan You
c27f01bc74 wip: tests for global config compat 2021-04-28 12:29:51 -04:00
Evan You
ce0bbe053a feat: support component-level compilerOptions when using runtime compiler
- The `delimiters` component option is deprecated.
  Use `compilerOptions.delimiters` instead.
2021-04-28 11:40:16 -04:00
Evan You
1d1af403ca wip: tests for global api compat 2021-04-27 17:34:19 -04:00
Evan You
86703c23a6 wip: ref v-for compat 2021-04-26 17:35:41 -04:00
Evan You
3e815be24e wip: fix tests 2021-04-26 17:35:30 -04:00
Evan You
5913e01d6b wip: whitespace behavior compat 2021-04-26 12:21:36 -04:00
Evan You
091e6d67bf feat(config): support configuring runtime compiler via app.config.compilerOptions
- `config.isCustomElement` is deprecated - use `app.config.compilerOptions.isCustomElement` instead.
2021-04-26 11:46:29 -04:00
sallycn
b46d8578fd
chore: fix typo in assertion 2021-04-26 17:57:15 +08:00
Guillaume Chau
03ae3006e1 feat(devtools): improved KeepAlive support
This change allows the devtools to access the cached vnodes from the KeepAlive component in order to display them as inactive in the components tree
2021-04-23 16:52:28 +02:00
Evan You
7b37f78dc9 wip: add private api compat flag 2021-04-22 17:50:49 -04:00
Evan You
6f8fe4eac9 wip: more compat tweaks 2021-04-22 17:30:54 -04:00
Evan You
7e0224aa8c wip: more compat tweaks 2021-04-22 14:59:54 -04:00
Evan You
98bc9a26e9 wip: more compat tweaks 2021-04-22 09:49:25 -04:00
Evan You
12abd4af85 wip: class/style fallthrough compat 2021-04-21 22:04:26 -04:00
Evan You
a75b00c558 wip: treat compat model listener as already declared 2021-04-21 19:13:26 -04:00
Evan You
5566d39d46 perf: only trigger $attrs update when it has actually changed 2021-04-21 19:05:20 -04:00
Evan You
66b6b4226b chore: include component info in recursive update warning 2021-04-21 15:20:15 -04:00
Evan You
1b8f14ee76 wip: more compat progress 2021-04-21 15:09:18 -04:00
Evan You
62b8f4a39c fix(watch): avoid traversing non-plain objects 2021-04-20 17:13:58 -04:00
Evan You
f6dee53270 wip: compat integration progress 2021-04-20 09:25:12 -04:00
zhaozhao
060c5f1d0a
chore: adjust the parameter order of the mountChildren function 2021-04-20 13:43:19 +08:00
Evan You
7dc681c196 wip: filters compat 2021-04-19 12:29:55 -04:00
Evan You
3ea68691e2 wip: inline-template compat 2021-04-17 23:19:40 -04:00
Evan You
810fe4d583 wip: default mode for compat build 2021-04-17 16:05:27 -04:00
Evan You
bbf708dbe9 wip: support configuring compiler deprecations at runtime + warn invalid deprecation configs 2021-04-16 12:19:12 -04:00
Evan You
115372dd5b wip: refactor deprecations into a single file 2021-04-12 18:47:50 -04:00
Evan You
24bab94a72 wip: staticStyle and staticClass 2021-04-11 22:21:10 -04:00
Evan You
62bfdae043 wip: Vue.util compat 2021-04-11 16:53:43 -04:00
Evan You
c55f3ed0e8 wip: fix render fn compat detection 2021-04-11 11:15:40 -04:00
Evan You
a2f441dc0e wip: refactor compat check utils 2021-04-09 23:51:50 -04:00
Evan You
7a25cbb7a7 wip: fix compat utils usage 2021-04-09 23:21:54 -04:00
Evan You
183f9b0013 wip: component v-model compat 2021-04-09 23:10:29 -04:00
Evan You
f05d6dfd98 wip: render function compat 2021-04-09 18:56:31 -04:00
Evan You
457a56e331 wip: compat for legacy functional component 2021-04-09 15:14:14 -04:00
Evan You
d71c488540 chore: fix dts 2021-04-08 17:15:02 -04:00
Evan You
3db29eb773 wip: support per-component compatConfig 2021-04-08 17:11:05 -04:00
Evan You
f8e2361d83 wip: make tests pass again 2021-04-08 16:33:53 -04:00
Evan You
18cf63ff05 wip: async component compat 2021-04-08 16:11:28 -04:00
Evan You
d7957a7440 wip: tweak warning dedupe logic 2021-04-08 11:09:40 -04:00
Evan You
d4af747a50 wip: $attrs class/style warning 2021-04-08 10:41:25 -04:00
Evan You
c9a93a5c4c wip: $scopedSlots compat 2021-04-08 10:21:14 -04:00
Evan You
960e9deaed wip: vm.$listeners compat 2021-04-08 10:06:12 -04:00
Evan You
c1e5cfe7d6 wip: attr coersion compat 2021-04-07 17:42:03 -04:00
Evan You
cf6bcdf895 wip: transition group root compat 2021-04-07 16:19:25 -04:00
Evan You
1c2c77eb9f wip: apply compat enabled flags to currently implemented features 2021-04-07 16:19:25 -04:00
Evan You
208bef5d97 wip: watch array compat 2021-04-07 16:19:25 -04:00
Evan You
e2fc84c773 wip: compat configuration 2021-04-07 16:19:24 -04:00
Evan You
068d93b9e5 wip: keyCode compat 2021-04-07 16:19:24 -04:00
Evan You
2784d6615d wip: $children compat 2021-04-07 16:19:24 -04:00
Evan You
db09805688 wip: instance event emitter api compat 2021-04-07 16:19:24 -04:00
Evan You
926e12862b wip: fix root data option compat 2021-04-07 16:19:24 -04:00
Evan You
3d810eb422 wip: basic compat test 2021-04-07 16:19:24 -04:00
Evan You
47b765d63a wip: custom directive compat 2021-04-07 16:19:24 -04:00
Evan You
d619a770a8 wip: props default this compat 2021-04-07 16:19:24 -04:00
Evan You
65cc649559 wip: beforeDestroy & destroyed compat 2021-04-07 16:19:24 -04:00
Evan You
960e0943f7 wip: config.ignoredElements compat 2021-04-07 16:19:24 -04:00
Evan You
d0da0028f2 wip: data option compat 2021-04-07 16:19:24 -04:00
Evan You
53b8127a9c wip: progress 2021-04-07 16:19:24 -04:00
Evan You
40e3dd28e1 wip: restructure compat code + global api alignment 2021-04-07 16:19:24 -04:00
Evan You
e2d6ff845b wip: root mount api compat 2021-04-07 16:19:24 -04:00
Evan You
870f2a7ba3 fix(watch): this.$watch should support watching keypath 2021-04-07 16:19:04 -04:00
Eduardo San Martin Morote
0f2d8f3244
test: typo in spy (#3556) 2021-04-07 14:19:12 +02:00
Evan You
4fe4de0a49 fix(runtime-core): ensure declare prop keys are always present
fix #3288
2021-04-01 20:25:12 -04:00
Evan You
f0cf14bcc5 release: v3.0.11 2021-04-01 19:52:45 -04:00
Evan You
c1cd42e627 fix(runtime-core): fix v-on object kebab-case event emit matching
fix #3527
2021-04-01 19:47:58 -04:00
HcySunYang
995d76bd12
fix(runtime-core): fix render function + optimized slot edge case (#3523)
fix #2893

Manually rendering the optimized slots should allow subsequent updates to exit the optimization mode correctly
2021-04-01 19:28:58 -04:00
Evan You
ad6c124e6c release: v3.0.10 2021-03-30 20:05:45 -04:00
Evan You
9cf75258c8 fix(runtime-core): fix dev fragment root flag check 2021-03-30 19:55:05 -04:00
edison
2e50acfbb8
perf(runtime-core): optimize the performance of getTypeIndex (#3206) 2021-03-30 10:53:14 -04:00
HcySunYang
5db2b141dc
fix(types): add a type-only differentiator to assist Mixin's type infer (#3481)
fix #3468
2021-03-29 18:07:36 -04:00
Kael
4f26835dac
fix(types/tsx): make JSX.Element extend VNode (#3171) 2021-03-29 17:38:25 -04:00
HcySunYang
3736496006
fix(runtime-core): avoid unmount teleport's children multiple times (#3499)
fix #3497
2021-03-29 15:15:08 -04:00
Evan You
67039b3434 release: v3.0.9 2021-03-27 11:30:12 -04:00
Richard Cooke
4549e65bae
fix(runtime-core): remove dev-only props property from setup context for consistency (#3492) 2021-03-27 11:23:10 -04:00
Evan You
2121c32e22 fix(runtime-core): fix kebab-case prop required warning
fix #3495
ref #3363
2021-03-27 11:16:39 -04:00
Evan You
37c17091fd fix: ensure backwards compat for pre-compiled sfc components
fix #3493
2021-03-27 10:53:45 -04:00
Evan You
9ff70be2b3 release: v3.0.8 2021-03-26 17:35:44 -04:00
Evan You
60d777d228 fix(runtime-core): fix erraneous emits warnings w/ mixins
fix #2651
2021-03-26 16:29:40 -04:00
Evan You
d5824b97c5 fix(runtime-core): should not track deps in pre flush watcher callbacks
fix #2728
2021-03-26 15:52:49 -04:00
HcySunYang
9cb21d088e
fix(Teleport): fallback to non-optimized mode when HRM performing updates (#3311)
fix #3302
2021-03-26 14:02:44 -04:00
Evan You
8c3c14a0ff fix(ssr): properly update currentRenderingInstance state during ssr
fix #2863
2021-03-26 14:00:03 -04:00
HcySunYang
9036f88d83
fix(hydration): handle camel-case tag name when performing match assertion (#3247)
fix #3243
2021-03-26 11:59:50 -04:00
HcySunYang
420c8f4580
fix(ssr/hydration): handle ending empty text node (#3246)
fix #3245
2021-03-26 11:45:28 -04:00
Evan You
2e71f07bc1 fix(ssr): ensure async setup error handling work with suspense during ssr 2021-03-26 11:00:30 -04:00
edison
d668d48e9e
fix(runtime-core): handle error in async setup (#2881) 2021-03-26 10:26:30 -04:00
Evan You
abd129d845 fix(component): prioritize registered component over implicit self-reference via filename
ref: #2827
2021-03-26 10:04:36 -04:00
Evan You
da944cb379 fix(ssr): fix memory leak when vnode component render throws error
fix #3100
2021-03-25 18:04:21 -04:00
HcySunYang
2b588cf1bc
fix(types): unwrap refs on public instance data (#3319)
fix #3315
2021-03-25 17:30:10 -04:00
HcySunYang
44166b43d9
fix(runtime-core): cache props default values to avoid unnecessary watcher trigger (#3474)
fix #3471
2021-03-25 17:26:58 -04:00
HcySunYang
2451dd8ae6
fix(runtime-core): the select tag's multiple prop should be set before the children mounting (#3202)
fix #3199
2021-03-25 16:49:34 -04:00
Evan You
084e932e85 refactor: simplify lifecycle hook call logic 2021-03-25 16:48:51 -04:00
HcySunYang
b58bb16959
fix(runtime-core): should call chained mixins and extends (#3040)
fix #3038
2021-03-25 16:39:57 -04:00
HcySunYang
86ceef4352
fix(runtime-core): fix warning for absent props (#3363)
fix #3362
2021-03-25 16:22:43 -04:00
Evan You
7cf143dd4f chore: fix test 2021-03-25 16:06:02 -04:00
HcySunYang
6e88156934
fix(runtime-core): should not cache property access during data() invocation (#3299)
fix #3297
2021-03-25 15:48:12 -04:00
07akioni
3755e60c52
fix(types): union function prop (#3119)
fix #3357
2021-03-25 11:27:54 -04:00
TJ Koblentz
e4b5fccd0c
fix(ssr): watchEffect onInvalidate runner initialization (#3323)
close #3322
2021-03-25 11:17:57 -04:00
edison
bf34e33c90
fix(runtime-core): ensure only skip unflushed job (#3406) 2021-03-25 11:13:35 -04:00
HcySunYang
776951315d
fix(Teleport): component with multi roots should be removed when unmounted (#3157)
fix #3156
2021-03-25 11:02:50 -04:00
HcySunYang
0a583d5ca2
fix(ssr): respect render function from extends/mixins in ssr (#3006)
fix #3004
2021-03-25 10:32:17 -04:00
edison
eb1fae63f9
fix(runtime-core): handle error in async watchEffect (#3129) 2021-03-23 10:20:52 +01:00
21d1288133
fix(teleport): targetAnchor should also be removed when unmounted (#2870)
* fix(teleport): targetAnchor should also be removed when unmounted

* fix(teleport): targetAnchor should also be removed when unmounted
2021-03-23 10:19:09 +01:00
Cédric Exbrayat
3b3a9a1f52
fix: add display name for suspense component (#3312) 2021-03-23 10:17:15 +01:00
HcySunYang
67a0290c0a
fix(transition): toggling branches with in-out mode should be transitioned correctly (#3109)
fix #3104
2021-03-22 16:56:24 -04:00
HcySunYang
e8e9b00f81
fix(KeepAlive): adapt keepalive for ssr (#3259)
fix #3255
2021-03-22 16:49:07 -04:00
Evan You
ff4d4ec249 chore: fix all test cases 2021-03-05 18:28:12 -05:00
Evan You
68416e988f chore: fix types 2021-03-05 18:28:12 -05:00
Evan You
02cbbb718c perf: support only attaching slot scope ids when necessary
This is done by adding the `slotted: false` option to:

- compiler-dom
- compiler-ssr
- compiler-sfc (forwarded to template compiler)

At runtime, only slotted component will render slot fragments with
slot scope Ids. For SSR, only slotted component will add slot scope Ids
to rendered slot content. This should improve both runtime performance
and reduce SSR rendered markup size.

Note: requires SFC tooling (e.g. `vue-loader` and `vite`) to pass on
the `slotted` option from the SFC descriptoer to the `compileTemplate`
call.
2021-03-05 18:28:12 -05:00
Evan You
aea88c3280 refactor: fix implementation of SFC :slotted id handling
fix #2892
2021-03-05 18:28:12 -05:00
Evan You
69304cf166 refactor: adjust logic branches 2021-03-01 15:45:55 -05:00
HcySunYang
7562e72c2b
fix(runtime-core): fix async component ref handling (#3191)
fix #3188
2021-03-01 15:00:32 -05:00
Evan You
75fdcd85ce chore: rename test to match src filename 2021-03-01 12:30:04 -05:00
HcySunYang
8ffcde2836
fix(runtime-dom): support mounting app to svg container (#2929)
fix #2926
2021-03-01 11:51:32 -05:00
Evan You
1a955e2278 release: v3.0.7 2021-03-01 10:59:29 -05:00
HcySunYang
45fae9d308
fix(scheduler): ensure updates are always inserted in ascending id order (#3184)
fix #2768, fix #2829
2021-02-25 09:37:25 -05:00
Evan You
75964aba03 test: test case for #3300, #3301 2021-02-25 09:07:49 -05:00
HcySunYang
e3568bae27
fix(runtime-core): properties in methods should be writable and enumerable in DEV (#3301)
fix #3300
2021-02-25 09:04:28 -05:00
HcySunYang
4a965802e8
types: support object as props type (#3165) 2021-02-24 16:20:41 -05:00
HcySunYang
354966204e
dx(runtime-dom): warn config.isCustomElement usage in runtime-only build (#2945) 2021-02-24 16:18:55 -05:00
Evan You
d0ea74556f fix: init devtools after feature flag checks 2021-02-24 15:59:38 -05:00
Evan You
d9f91e26f9 release: v3.0.6 2021-02-24 15:19:31 -05:00
Evan You
5a7a1b8293 fix(hmr): deep clone reused hoisted trees during dev
fix vitejs/vite#2022
2021-02-15 15:09:27 -05:00
edison
ec8fd10cec
fix(runtime-core): instanceWatch should pass this.proxy to source as the first argument (#2753) 2021-02-09 08:00:32 +01:00
JokcyLou
bd1240c127
feat: remove useless option in KeepAlive (#3170) 2021-02-09 07:58:53 +01:00
HcySunYang
f43a3b0beb
fix(runtime-core): align $parent/$root with the template ref when using expose (#3158) 2021-02-07 14:39:52 +01:00
edison
3efa2aff13
chore(runtime-core): remove unnecessary variables (#2680) 2021-02-05 20:06:50 +01:00
Alan Wang
1f567264a7
test: fix typo in expect message (#2678) 2021-02-05 20:06:21 +01:00
Cédric Exbrayat
73117f6b5b
fix(runtime-core): allow overriding properties other than props (#3105)
This is useful for testing, as Jest can't spy on an object without `hasOwnProperty`.
VTU can add it, but this commit is needed first.
2021-02-05 19:59:46 +01:00
HcySunYang
48f0d2944f
fix(types): extract the correct props type for the DateConstructor (#2676) 2021-02-05 19:56:23 +01:00
Thorsten Lünborg
288ae0a8d9
feat(runtime-core): improve render context warning (#2496)
Co-authored-by: Thorsten Luenborg <t.luneborg@googlemail.com>
2021-02-05 19:55:45 +01:00
Yang Mingshan
01fdbf4b06
types: use non-null assertion instead of explicit type cast (#2974) 2021-02-05 19:55:23 +01:00
HcySunYang
347a8798a4
fix(runtime-core): check the DEV_ROOT_FRAGMENT flag correctly in the dev environment (#2750) 2021-02-05 19:54:59 +01:00
HcySunYang
2587f36fe3
fix(runtime-core): component methods should override global properties in DEV (#3074) 2021-02-05 19:52:40 +01:00
Yang Mingshan
e109f7b898
chore: remove overloads numbers in comments (#2976) 2021-02-04 14:34:40 +08:00
edison
ffd5288545
feat(runtime-core): props type support BigInt (#2891) 2021-02-03 19:25:45 +01:00
hiroki
18b0c9a011
docs(type): remove unmount parameters (#2601) 2021-02-03 19:09:59 +01:00
Thorsten Lünborg
60e05eff23
fix(runtime-core): ensure app instance can be garbage collected after unmount (close #2907) (#2909)
close #2907

Co-authored-by: Thorsten Luenborg <t.luneborg@googlemail.com>
2021-02-03 19:09:20 +01:00
Evan You
310cb8cfab chore: fix useSSRContext casing in warning message 2021-01-29 15:03:52 -05:00
Guillaume Chau
4fecb27f86 fix(devtools): send instance to devtools when it's mounted instead of created 2021-01-29 16:48:37 +01:00
Godpu
f2228a87d4
chore: typo (#2953) 2021-01-06 10:46:51 +01:00
Bruno P. Kinoshita
ee266af42a
chore: typo "depdendency" (#2920) 2020-12-31 11:15:57 +01:00
Evan You
5a5d037dbb release: v3.0.5 2020-12-30 15:50:28 -05:00
Guillaume Chau
3626ff07fe feat(devtools): send instance 2020-12-18 18:24:01 +01:00
Bas van Meurs
3867bb4c14
fix(runtime-core): component mount anchor memory leak (#2459)
fix #2458
2020-12-04 18:03:10 -05:00
edison
82bf7ebf36
refactor(runtime-core): extract common getComponentName function (#2454) 2020-12-04 17:03:03 -05:00
Zcating
d2d27b2e66
types(watch): better typing when watching multiple sources (#2425) 2020-12-04 16:32:26 -05:00
Carlos Rodrigues
6684c6334d
types: mixin and extends typing on data and setup (#2404)
close #2350
2020-12-04 16:06:34 -05:00
edison
c59897c7b0
fix(runtime-core): skip patchBlockChildren if n1.dynamicChildren is null (#2717)
fix #2715 

The bug was introduced by #2485 where a compiled slot may result in a bailed Fragment
which then gets its dynamicChildren set to `null` by the renderer.
2020-12-03 12:17:04 -05:00
Evan You
d067fb2dbb release: v3.0.4 2020-12-02 17:23:43 -05:00
Evan You
3523f743e5 build(deps-dev): handle @types/jest bump 2020-12-02 17:05:30 -05:00
Evan You
4307610c35 chore: fix setRef usage 2020-11-30 20:07:06 -05:00
Evan You
64d4681e4b fix(async-component): forward refs on async component wrapper
fix #2671
2020-11-30 18:59:14 -05:00
Yasser Lahbibi
cd92836223
fix(teleport): Teleport into SVG elements (#2648)
fix #2652
2020-11-30 17:30:41 -05:00
hiroki
7a1a782642
fix(provide): support symbols in applyOptions (#2616)
fix #2615
2020-11-30 16:36:02 -05:00
Evan You
bf16a57fc3 fix(runtime-core): handle static node move in production 2020-11-30 14:42:02 -05:00
underfin
2a9ba0c8e9
fix(runtime-core): remove static node in production mode (#2556)
fix #2553
2020-11-30 14:07:43 -05:00
Thorsten Lünborg
421205d0ad
fix(runtime-core): ensure keep-alive deep-watches include/explude props (#2551)
fix #2550
2020-11-30 14:04:45 -05:00
Evan You
67d1aac6ae feat(sfc): allow sfcs to recursively self-reference in template via name inferred from filename
e.g. A file named `FooBar.vue` can refer to itself as `<FooBar/>`. This gets rid of the need for the `name` option.
2020-11-30 12:30:51 -05:00
Evan You
3bc2914e32 fix(attr-fallthrough): ensure consistent attr fallthrough for root fragments with comments
fix #2549
2020-11-27 18:04:26 -05:00
shadowings-zy
3532b2b021
fix(runtime-core): fix emit listener check on kebab-case events (#2542)
fix #2540
2020-11-27 15:24:29 -05:00
Evan You
2ab8c41a1a fix(slots): dynamically named slots should be keyed by name
fix #2535
2020-11-27 14:35:46 -05:00
HcySunYang
0ff2a4f1c1
fix(runtime-core): should pause tracking when initializing legacy options (#2524)
fix #2521
2020-11-27 14:01:01 -05:00
Evan You
a5d6f8091e fix(compiler-ssr): generate correct children for transition-group
fix #2510
2020-11-27 12:22:14 -05:00
Evan You
46d80f4d58 fix: allow hmr in all builds
close #2571
2020-11-27 10:36:09 -05:00
Evan You
53f4885d9e fix(runtime-core): skip functional components in public $parent chain traversal
fix #2437
2020-11-27 10:10:25 -05:00
Thorsten Lünborg
735af1c7b7
fix(runtime-core): ensure watchers are always registered to correct instance owner (#2495)
close: #2381
2020-11-27 09:31:50 -05:00
HcySunYang
ce4915d8be
fix(slots): should render fallback content when slot content contains no valid nodes (#2485)
fix #2347, fix #2461
2020-11-26 11:35:45 -05:00
Evan You
cf7f1dbc9b fix(suspense): fix nested async child toggle inside already resovled suspense
fix #2215
2020-11-26 11:06:55 -05:00
Evan You
426a6c996e test: tests for script setup helpers 2020-11-26 10:01:36 -05:00
Evan You
73cdb9d420 fix(script-setup): ensure useContext() return valid context 2020-11-26 09:25:56 -05:00
Evan You
bd6e211287 release: v3.0.3 2020-11-25 11:16:21 -05:00
Evan You
bdc66c7ea4 wip: revert helpers to compiler-only 2020-11-24 19:04:21 -05:00
Evan You
47d73c23e1 wip: defineOptions -> defineProps + defineEmit + useContext 2020-11-24 19:04:21 -05:00
Evan You
ac80ea2c19 chore: warning for outdated hmr api usage 2020-11-21 16:06:50 -05:00
Evan You
8ac2241b22 wip: more consistent compiler-sfc usage + inline mode for ssr 2020-11-20 14:23:09 -05:00