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
HcySunYang
ecd97ee6e4
fix(runtime-dom/v-model): only set selectedIndex when the value changes ( #3845 )
2021-05-29 20:42:13 -04:00
Evan You
8b94464a3b
fix(compiler-sfc): fix style injection when using normal script + setup
...
fix #3688
2021-05-28 18:40:45 -04:00
edison
2c7bd42801
fix(compiler-sfc): fix template expression assignment codegen for script setup let refs ( #3626 )
...
fix #3625
2021-05-28 17:58:46 -04:00
Evan You
aa96a0e88a
release: v3.1.0-beta.6
2021-05-28 16:58:54 -04:00
HcySunYang
6bfb50aff9
fix(compiler-sfc): correctly remove parens used for wrapping ( #3582 )
...
fix #3581
2021-05-28 16:02:31 -04:00
Evan You
6fbf0dd315
chore: use variable instead of literal
2021-05-28 15:56:07 -04:00
GU Yiling
e3f5dcb99b
fix(runtime-dom): should remove attribute when binding null
to value
( #3564 )
2021-05-28 15:48:22 -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
HcySunYang
9b2e894017
fix(compiler-core): improve the isMemberExpression function ( #3675 )
2021-05-27 21:07:26 -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
Evan You
669037277b
fix(compiler-dom): fix in-browser attribute value decoding w/ html tags
...
fix #3001
2021-05-27 17:25:34 -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
HcySunYang
7c74feb3dc
fix(compiler-dom): comments in the v-if branchs should be ignored when used in Transition ( #3622 )
...
fix #3619
2021-05-24 17:10:29 -04:00
Evan You
3ef1fcc859
fix(compiler-ssr): disable hoisting in compiler-ssr
...
fix #3536
2021-05-24 16:48:31 -04:00
Lo Leon
90aa835812
fix(types/reactivity): error TS4058 caused by RefSymbol
( #2548 )
2021-05-24 16:36:08 -04:00
Carlos Rodrigues
a0c57936f8
types(jsx): improve type for number attributes ( #3776 )
...
fix #3788
2021-05-24 12:15:45 -04:00
Jason
01e8ba8f87
fix(compiler-sfc): support tsx in setup script ( #3825 )
...
close #3808
2021-05-24 12:13: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
HcySunYang
47da92146c
fix(compiler-core): fix whitespace management for slots with whitespace: 'preserve' ( #3767 )
...
fix #3766
2021-05-13 18:24:43 -04:00
Yunfei He
49fd1696c9
chore(types): remove unnecessary type assertion ( #3724 )
2021-05-12 17:47:52 -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
edtam
15450dc685
chore: fix package link ( #3750 ) [skip ci]
2021-05-12 17:44:02 -04:00
Evan You
b663aa8a81
release: v3.1.0-beta.3
2021-05-12 17:37:04 -04:00
Evan You
fa3f8e44ed
chore: improve transition test stability
2021-05-12 17:28:18 -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
HcySunYang
a56ab148fd
fix(compiler-core): bail out to array children when the element has custom directives + only one text child node ( #3757 )
2021-05-12 16:12:32 -04:00
Cédric Exbrayat
0e3bbd0626
chore: fix typos in compat document
2021-05-11 10:44:36 +08: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
Evan You
f2fb8a51a9
build: fix compat build type treatment
2021-05-08 16:21:06 -04:00
Evan You
341fa38f9b
chore: document ts and alt strategy for compat build
2021-05-08 16:20:50 -04:00
Evan You
fb96a85ee7
chore: migration build docs [ci skip]
2021-05-08 00:46:25 -04:00
HcySunYang
5036c51cb7
fix(reactivity): fix tracking for readonly + reactive Map ( #3604 )
...
fix #3602
2021-05-07 18:49:11 -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
372f152d23
ci: improve transition tests ci stability
2021-05-07 09:56:31 -04:00
Evan You
28eb314d87
chore: bump more
2021-05-07 09:28:14 -04:00
Evan You
21edc18ac3
chore: bump transition test duration on CI
2021-05-07 09:08:10 -04:00
Evan You
5db594f0e5
chore: remove markdown spec debounce assertion for ci stability
2021-05-07 09:08:10 -04:00
Evan You
80c7ac7d37
chore: bump e2e test debounce
2021-05-06 18:49:04 -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
293b41ba3b
wip: expose configureCompat via named export
2021-05-05 19:31:06 -04:00
Evan You
f2a5a3ee55
wip: make singleton mutations affect all app instances
2021-05-05 17:56:09 -04:00
Evan You
61edb700d7
wip: only generate non-scope slot flag when compatConfig is present
2021-05-05 16:36:16 -04:00
Evan You
7a8cee8688
wip: remove v-if key warning as there are legit use cases
2021-05-05 16:35:44 -04:00
Evan You
c32760147c
wip: relay compiler-core warnings in compiler-sfc with codeframe
2021-05-05 14:24:46 -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
ae0fb14305
wip: fix native template compat
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
e486254431
fix(compiler-core): preserve comment content in production when comments option is enabled
2021-04-28 11:22: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
Evan You
b047a0864c
refactor(compiler): improve whitespace: 'preserve' behavior from #1600
...
- discard leading/ending whitespace inside an element
- condense preserved whitesapce into single space
2021-04-26 11:46:17 -04:00
CodeDaraW
dee3d6ab8b
feat(compiler-core): whitespace handling strategy
2021-04-26 09:44:27 -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
467076361a
wip: warn against <template functional>
2021-04-17 23:51:40 -04:00
Evan You
3ea68691e2
wip: inline-template compat
2021-04-17 23:19:40 -04:00
Evan You
1390ece04f
wip: refactor
2021-04-17 22:50:16 -04:00
Evan You
505269405e
wip: plain template tag compat
2021-04-17 22:16:48 -04:00
Evan You
048ac299f3
perf(compiler): skip unncessary checks when parsing end tag
2021-04-17 22:05:18 -04:00
Evan You
2c31227e7c
wip: warn v-bind object ordering
2021-04-17 20:53:55 -04:00
Evan You
bf41354abd
wip: remove unncessary deprecation messages
2021-04-17 16:13:57 -04:00
Evan You
810fe4d583
wip: default mode for compat build
2021-04-17 16:05:27 -04:00
Evan You
c5c304af14
wip: compiler should default to v3 behavior
2021-04-17 15:55:14 -04:00
Evan You
3528ced0b4
wip: warn key usage of v-if branches
2021-04-17 15:35:44 -04:00
Evan You
ab21468982
wip: warn v-if/v-for co-usage
2021-04-17 14:38:30 -04:00
Evan You
7ceb873783
wip: v-bind.sync compat
2021-04-16 17:11:44 -04:00
Evan You
ad97bbab85
wip: invert compiler compat behavior default during tests
2021-04-16 12:26:17 -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
79cbf21c3e
wip: generate codeframe for compiler deprecations
2021-04-16 11:51:47 -04:00
Evan You
d974adb327
wip: is usage compat
2021-04-16 11:43:05 -04:00
kiyon
7a8bac73e1
chore: fix typo in test case description
2021-04-16 10:43:56 +08:00
Evan You
e130c7db23
wip: compiler deprecation config
2021-04-12 19:43:53 -04:00
Evan You
115372dd5b
wip: refactor deprecations into a single file
2021-04-12 18:47:50 -04:00
Evan You
af9e6999e1
feat: support casting plain element to component via is="vue:xxx"
...
In Vue 3's custom elements interop, we no longer process `is` usage on
known native elements as component casting. (ref:
https://v3.vuejs.org/guide/migration/custom-elements-interop.html )
This introduced the need for `v-is`. However, since it is a directive,
its value is considered a JavaScript expression. This makes it awkward
to use (e.g. `v-is="'foo'"`) when majority of casting is non-dynamic,
and also hinders static analysis when casting to built-in Vue
components, e.g. transition-group.
This commit adds the ability to cast a native element to a Vue component
by simply adding a `vue:` prefix:
```html
<button is="vue:my-button"></button>
<ul is="vue:transition-group" tag="ul"></ul>
```
2021-04-12 13:08:07 -04:00
Evan You
422b13e798
wip: testing compiler deprecation warnings
2021-04-12 09:09:00 -04:00
edison
7db8c9c19a
chore: use isArray to keep the code consistency
2021-04-12 18:31:11 +08: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