Commit Graph

3435 Commits

Author SHA1 Message Date
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
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
9828ef0845 wip: transition class 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
24850a99c6 wip: initial compat build setup 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
Cédric Exbrayat
c90fb945f4
refactor(sfc-playground): modes declaration (#3522) 2021-04-01 18:37:50 -04:00
Evan You
7f7dcc9f7d fix(compiler-sfc): fix wrong scopeId for nested <script setup> components 2021-04-01 18:11:04 -04:00
edison
8c57b9131d
chore(types): use NormalizedStyle for consistency (#2590) 2021-04-01 11:29:24 +08:00
Evan You
4dc457dae5 workflow(sfc-playground): make it work in safari and ff 2021-03-31 15:23:01 -04:00
Evan You
5ee7e6bc70 workflow(sfc-playground): support import map 2021-03-31 13:31:00 -04:00
Evan You
e097bd4dd5 chore(sfc-playground): use svg logo 2021-03-31 12:36:45 -04:00
Evan You
7bc5fd9a04 chore(sfc-playground): teardown preview update watcher 2021-03-31 12:22:25 -04:00
Evan You
ebf396251c chore(sfc-playground): responsive 2021-03-30 22:10:18 -04:00
Evan You
9d39cd46e9 workflow(sfc-playground): support selecting versions 2021-03-30 22:00:46 -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
Evan You
66b94dc5e1 chore: use alias instead of module field
...before we figure out what is the ideal behavior when adding exports field
2021-03-30 19:51:55 -04:00
Evan You
58e2376c4d refactor(ssr): adjust ssr scope id logic for client-compiled render functions 2021-03-30 19:30:05 -04:00
Evan You
5e54081d5b fix(ssr): fix scopeId inheritance across mixed parent chain
fix #3513
2021-03-30 18:39:42 -04:00
Evan You
6cab91dfe8 workflow(sfc-playground): clear errors in edge cases 2021-03-30 12:49:50 -04:00
Evan You
b6298dbd01 workflow(sfc-playground): warn on <style module> usage 2021-03-30 12:39:08 -04:00
Evan You
c771b1dc80 workflow(sfc-playground): add ssr compile output 2021-03-30 12:36:59 -04:00
edison
2e50acfbb8
perf(runtime-core): optimize the performance of getTypeIndex (#3206) 2021-03-30 10:53:14 -04:00
Evan You
c8df6185fe chore: bump vite 2021-03-29 21:44:12 -04:00
Evan You
b39208cf06 perf(compiler-sfc): skip srcset transform if all candidates are external 2021-03-29 19:15:57 -04:00
HcySunYang
33ba0e3229
fix(runtime-dom): fix event listeners call in firefox <= 53 (#3501)
fix #3485
2021-03-29 19:15:12 -04:00
Jonas Kruckenberg
42b68c773d
fix(compiler-sfc): fix missing whitespace issue in srcsets (#3132)
fix #3069
2021-03-29 18:28:22 -04:00
Calvin Liang
0fe567abfc
fix(compiler-core): properly transform replaced nodes (#2927) 2021-03-29 18:08:10 -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
liaoliao666
c61e767422
fix(reactivity): should not trigger when setting value to same proxy (#2904) 2021-03-29 17:52:57 -04:00
Kael
4f26835dac
fix(types/tsx): make JSX.Element extend VNode (#3171) 2021-03-29 17:38:25 -04:00
Evan You
bb8cdcad9f fix(compiler-sfc): support proper type arguments for defineEmit helper
fix #2874
2021-03-29 16:38:07 -04:00
Evan You
2793bc0918 chore(sfc-playground): use type defineEmit 2021-03-29 16:36:40 -04:00
Evan You
f5827fdf78 fix(compiler-sfc): do not resolve assets from setup bindings
when not using script setup

fix #3270, fix #3275
2021-03-29 16:11:38 -04:00
Evan You
4d9f9fdf9d workflow(sfc-playground): make warnings dismissable 2021-03-29 16:11:38 -04:00
Evan You
7ab519cc96 workflow(sfc-playground): pass along analyzed bindings when compiling template 2021-03-29 16:11:38 -04:00
Evan You
4d2853ef57 workflow(sfc-playground): display analyzed bindings in js output 2021-03-29 16:11:38 -04:00
HcySunYang
555b016dcb
fix(compiler-core): allow PascalCase dynamic component tag usage (#3508)
fix #3507
2021-03-29 15:18: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
117a61bc17 chore(sfc-playground): fix clipboard usage 2021-03-29 10:54:32 -04:00
Evan You
24a90abeda chore(sfc-playground): logo, responsive 2021-03-29 10:33:19 -04:00
Evan You
3aaa53748b workflow(sfc-playground): tweaks and commit links 2021-03-29 02:07:04 -04:00
Evan You
69b4727204 fix(compiler-sfc): fix function scope variable declaration marking 2021-03-29 00:32:46 -04:00
Evan You
bb937e9033 workflow(sfc-playground): attach filename 2021-03-29 00:32:28 -04:00
Evan You
ce5e0b67a9 workflow(sfc-playground): fix download 2021-03-28 23:48:01 -04:00
Evan You
9613969ffc workflow(sfc-playground): share and download buttons 2021-03-28 23:36:36 -04:00
Evan You
aa8bf1b7a3 workflow(sfc-playground): improve module rewrite 2021-03-28 21:55:22 -04:00
Evan You
3ac661b896 chore: force refresh playground editor on startup 2021-03-28 18:50:12 -04:00
Evan You
d1bf35c8b8 workflow(sfc-playground): support multiple files 2021-03-28 18:41:33 -04:00
Evan You
2e3984fd5b chore: default code for sfc playground 2021-03-28 02:24:25 -04:00
Evan You
16e8f45199 workflow(sfc-playground): fix newline 2021-03-28 02:17:55 -04:00
Evan You
f76ddc5ac3 workflow: sfc playground 2021-03-28 01:35:45 -04:00
Evan You
2424768808 build: make compiler-sfc global build work 2021-03-27 12:33:52 -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
Johnson Chu
e752bddb33
fix(compiler-core): fix slot source location (#3494) 2021-03-27 11:20:39 -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
Thorsten Lünborg
22cc4a7659
fix(reactivity): ensure that shallow and normal proxies are tracked seperately (close #2843) (#2851)
fix #2843
2021-03-26 15:39:56 -04:00
HcySunYang
68de9f408a
fix(reactivity): fix shallow readonly behavior for collections (#3003)
fix #3007
2021-03-26 15:10:21 -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
ebedcccdc0
fix(compiler-core): allow unicode to appear in identifiers (#3443)
fix #3440
2021-03-25 17:24:18 -04:00
HcySunYang
7715c49af9
fix(compiler-core): avoid generating useless createVNode helper (#2938)
close #2739
2021-03-25 17:01:50 -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
bartenra
e4a5712a33
fix(types/jsx): llow tabindex to be a string (#3476) 2021-03-25 16:20:38 -04:00
funkyfun
c8aed13711
chore(types): remove redundant 'undefined' type (#3484) 2021-03-25 16:19:02 -04:00
edison
bbc5fe6a97
fix(compiler-sfc): should not rewrite scope variable (#3449)
fix #3445
2021-03-25 16:16:48 -04:00
GU Yiling
ca6aa01181
fix(compiler-dom): stringifyStatic should remove attribute bindings with null value (#3477)
fix #3475
2021-03-25 16:14:06 -04:00
Evan You
7cf143dd4f chore: fix test 2021-03-25 16:06:02 -04:00
HcySunYang
b4b82159e2
fix(compiler-core): should not condense whitespace in RCDATA text mode (#3482)
fix #3479
2021-03-25 15:53:03 -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
HcySunYang
4bf7ba19bf
fix(compiler-core): detect v-if branch root with comment as dev fragment (#2785)
fix #2780
2021-03-25 15:43:44 -04:00
07akioni
3755e60c52
fix(types): union function prop (#3119)
fix #3357
2021-03-25 11:27:54 -04:00
Evan You
41e02f0fac fix(reactivity): ensure computed can be wrapped by readonly
fix #3376
2021-03-25 11:23:34 -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
49f4072c83
fix(compiler-ssr): keep the order of imports expression for the fallback branch of SSR (#3448)
fix #3447
2021-03-25 11:10:25 -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
HcySunYang
5dbe834858
fix(rumtime-core): custom dom props should be cloned when cloning a hoisted DOM (#3080)
fix #3072
2021-03-25 10:21:57 -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
Evan You
b2e00f011a test(ssr): test render function Transition usage in SSR 2021-03-22 16:51:51 -04:00
HcySunYang
e8e9b00f81
fix(KeepAlive): adapt keepalive for ssr (#3259)
fix #3255
2021-03-22 16:49:07 -04:00
HcySunYang
602b58ebd1
fix(compiler-core): fix the detection of forwarded slots with v-if or v-for (#3353)
fix #3347
2021-03-22 16:34:46 -04:00
HcySunYang
6cb94752b0
fix(compiler-sfc): scope Id should not be attached to @keyframe breakpoint rules (#3308)
fix #3304
2021-03-19 10:32:30 -04:00
Evan You
540e26f49c chore: only set slotted flag on sfc descriptor if style is scoped 2021-03-05 18:28:12 -05: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
f74b16ccfe fix(compiler): properly bail stringfication for nested slot elements 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
Cédric Exbrayat
57e1aa815b
chore: fix ownKeys signature (#3313) 2021-03-03 11:26:49 -05:00
Evan You
3e4c3ac66d build(deps): bump @babel/parser and @babel/types 2021-03-03 11:25:13 -05:00
dependabot[bot]
9fd66d8edc
build(deps-dev): bump pug from 2.0.4 to 3.0.1 (#3344)
Bumps [pug](https://github.com/pugjs/pug) from 2.0.4 to 3.0.1.
- [Release notes](https://github.com/pugjs/pug/releases)
- [Commits](https://github.com/pugjs/pug/compare/pug@2.0.4...pug@3.0.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-03 11:19:33 -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
Kadir Yazıcı
13c9d2ca82
fix(types): allow style to be an array in JSX (#2947) 2021-03-01 12:29:13 -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
Evan You
24b35237a0 test: improve e2e test stability 2021-03-01 10:49:23 -05:00
Evan You
1dedc19e1f fix(compiler-sfc): handle more edge cases in default rewrite 2021-02-26 11:05:20 -05:00
lidlanca
012dc5a303
fix(compiler-ssr) ensure that ssrHelpers are unique after merge from parent context (#3269)
fix #3268
2021-02-25 18:25:39 -05:00
zhufengzhufeng
9cd988342c
perf(reactivity): only call Set.add if doesn't already have value (#3307) 2021-02-25 14:57:35 -05:00
HcySunYang
5ad4036e29
fix(v-show): v-show takes higher priority than style attribute (#3230)
fix #2757
2021-02-25 10:26:54 -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
180310cbe9 refactor(runtime-dom): avoid form attribtue tag check
the tag check while technically stricter, is not really necessary
and introduces too much weight
2021-02-24 15:06:51 -05:00
Thorsten Lünborg
c5d147c57f
fix(runtime-dom): ensure readonly type prop on textarea is handled patched as attribute (#2888)
close #2766

Co-authored-by: Thorsten Luenborg <t.luneborg@googlemail.com>
2021-02-24 14:51:19 -05:00
Evan You
fcb6c8920c fix(compiler-dom): fix cdn entries
ref #3181 #3185
2021-02-23 10:00:48 -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
Evan You
c69f4ea857 fix(compiler-ssr): avoid duplicated asset imports merged from component slot client branch
fix vitejs/vite#2034
2021-02-15 12:12:50 -05:00
Matias Capeletto
6d762a84ca
fix(compiler-sfc): removeSpecifier issue when removing initial imports (script-setup) (#2729) 2021-02-13 10:06:34 +01:00
Evan You
03360cefa1 fix(compiler-sfc): treat const reactive() bindings as mutable 2021-02-10 11:39:07 -05:00
Evan You
734c65badd fix(compiler-core): do not mark v-for as stable on const bindings
since the source value may be a reactive array

fix vitejs/vite#1956
2021-02-09 11:57:09 -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
shadowings-zy
b302cbbbd3
fix: kebab-case events are attached correctly on web components, see #2841 (#2847) 2021-02-09 07:58:36 +01:00
xiejiahe
1cc8712235
chore: comment initial space (#3192) [skip ci]
fix(typo): Comment add spaces.
2021-02-08 12:32:12 +01:00
Thorsten Lünborg
96b6433524
fix(compiler-dom): ensure global build filename matches the one defined in package.json (close #3181) (#3185)
Co-authored-by: Thorsten Luenborg <t.luneborg@googlemail.com>
2021-02-07 14:40:14 +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
Albert Kaaman
4b551420fc
fix: remove superfluous spaces when normalizing class (#3083)
Co-authored-by: Jacek Karczmarczyk <jkarczm@gmail.com>
2021-02-04 14:41:46 +01:00
Evan You
49bc2e4db5
feat(compiler-sfc): upgrade to postcss 8 (#2710) 2021-02-04 14:37:55 +01:00
07akioni
a89d985375
types: focusin & out events (#3136) 2021-02-04 14:05:24 +01:00
Yang Mingshan
e109f7b898
chore: remove overloads numbers in comments (#2976) 2021-02-04 14:34:40 +08:00
edison
c9f94fa3cf
feat(compiler-core): support BigInt in template (#2900) 2021-02-03 19:28:46 +01:00
HcySunYang
dd02cf37d5
perf(reactivity): should not track __isVue (#2940) 2021-02-03 19:28:07 +01:00
underfin
9dc816d634
fix(compiler-sfc): compiler blank srcset (#3005)
fix https://github.com/vitejs/vite/issues/1523
2021-02-03 19:27:34 +01:00
edison
ffd5288545
feat(runtime-core): props type support BigInt (#2891) 2021-02-03 19:25:45 +01:00
Thorsten Lünborg
6a48d23749
fix: ensure all published packages contan a LICENCE file (close #2650) (#2857)
close #2650

Co-authored-by: Thorsten Luenborg <t.luneborg@googlemail.com>
2021-02-03 19:24:47 +01:00
07akioni
4ca4666d58
fix(toRef): ref created from union typed prop can't be used in watch (#3048) 2021-02-03 19:12:51 +01:00
HcySunYang
6d5b623512
fix(compiler-sfc): the empty lang attribute should be treated as no lang specified (#3051) 2021-02-03 19:11:45 +01:00
luwuer
f262438073
fix(runtime-dom): enable set form attr to null on form-elements (#2840) (#2849)
Co-authored-by: Eduardo San Martin Morote <posva@users.noreply.github.com>
Co-authored-by: Thorsten Lünborg <t.luenborg@googlemail.com>
2021-02-03 19:11:09 +01:00
Haoqun Jiang
97d6f1a716
fix: should prefix ShadowRoot with window. (#2943)
Otherwise this expression would throw in environments that does not
support `ShadowRoot` which includes the common mocha testing environment
setup that uses `jsdom` and `jsdom-global`.

It is because `ShadowRoot` is not an enumerable property on `window`,
`jsdom-global` fails to expose it on the `global` object.

See the error message at: https://app.circleci.com/pipelines/github/vuejs/vue-cli/779/workflows/17d7d7c4-7605-4588-878a-ddb3a6d37102/jobs/24147
2021-02-03 19:10:27 +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
Evan You
fd16f2bd78 refactor: avoid global scope parentStack 2021-01-15 16:28:55 -05:00
Godpu
f2228a87d4
chore: typo (#2953) 2021-01-06 10:46:51 +01:00
underfin
4d9bcb768d
fix(devtools): init devtools in production (#2906) 2021-01-05 12:54:43 -05:00
Evan You
2ea9867398 fix(compiler-sfc): transformAssetUrls.base should not affect known module requests
fix https://github.com/vitejs/vite/issues/1343
2021-01-04 15:10:51 -05: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
Evan You
8ad1aab068 test(ssr): refactor ssr render tests
Merge renderToString and renderToStream to run the same tests
2020-12-30 15:40:55 -05:00
Evan You
88f6b33d05 fix(ssr): properly handle ssr empty slot and fallback 2020-12-30 15:40:28 -05:00
Guillaume Chau
3626ff07fe feat(devtools): send instance 2020-12-18 18:24:01 +01:00
Cédric Exbrayat
dbe22ba356
dx(runtime-core): add selector in mount warning (#2563) 2020-12-04 18:25:13 -05:00
meteorlxy
5b9b37fc9b
fix(compiler-sfc): should keep template nodes with no content (#2468)
close #2463
2020-12-04 18:23:01 -05:00
Joel Denning
db786b1afe
fix(compiler-sfc): support transforming asset urls with full base url. (#2477) 2020-12-04 18:20:25 -05: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
ᴜɴвʏтᴇ
b2189ba2f3
fix(runtime-dom): support mounting app on ShadowRoot (#2447)
fix #2399
2020-12-04 16:51:38 -05:00
Evan You
338d869c70 test(compiler-core): test expression transform w/ bindingMetadata 2020-12-04 16:46:00 -05:00
Zcating
d2d27b2e66
types(watch): better typing when watching multiple sources (#2425) 2020-12-04 16:32:26 -05:00
edison
47b3652ecd
chore(compiler-core): improve types (#2428) 2020-12-04 16:28: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
Evan You
cbaa380506 fix(transition): ensure manual style manipulation in transition leave hooks work
ref #2720
2020-12-03 16:10:22 -05:00
童欧巴
df48fc225a
chore: fix file path in comments (#2709) [ci skip] 2020-12-03 12:27:03 -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
a8352506f6 refactor: cache constant check result on transform context
also fix edge case for missed createVNode import on static svg nodes
2020-12-03 11:10:40 -05:00
Evan You
ad4d3915d3 fix(compiler-core): fix missing createVNode import on nested v-for
fix #2718
2020-12-03 11:03:06 -05:00
luwuer
3f8f9b67b3
fix(transition): ensure styles from *-leave-active trigger transition (#2716)
fix #2712
2020-12-03 10:37:47 -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
e315d84936 fix(types): fix ToRefs type on union value types
fix #2687
2020-12-02 14:58:03 -05:00
luwuer
e2618a632d
fix(transition): respect rules in *-leave-from transition class (#2597)
fix #2593
2020-12-02 14:41:20 -05:00
Evan You
eaf8a67c72 fix(transition): avoid invoking stale transition end callbacks
fix #2482
2020-12-02 12:15:57 -05:00
Evan You
fe5428db12 fix(compiler-ssr): handle v-model checkbox with true-value binding 2020-12-01 12:43:59 -05:00
Evan You
48f00c0f1b fix(v-model): respect checkbox true-value/false-value on initial render
fix #2694
2020-12-01 12:02:37 -05:00
Evan You
085bbd5fe0 fix(compiler-sfc): named imports from .vue file should not be treated as constant
fix #2699
2020-12-01 11:52:29 -05:00
Evan You
f2b0a8e81d fix(v-model): avoid mutation when using Set models + fix multi select Set model update 2020-12-01 11:40:14 -05:00
Evan You
83a79a829c Revert "fix(v-model): mutate original array for v-model multi checkbox (#2663)"
This reverts commit 87581cd266.

ref: #2700
2020-12-01 11:16:40 -05:00
Evan You
11a76ebd94 chore: fix snapshot 2020-12-01 09:21:39 -05:00
Evan You
4307610c35 chore: fix setRef usage 2020-11-30 20:07:06 -05:00
Evan You
5a19bb5320 refactor(runtime-dom): avoid unnecessary typeof checks during props patching 2020-11-30 20:05:02 -05:00
edison
fb6b9f8e8f
fix(runtime-dom): attribute should be removed with nullish values (#2679)
fix #2677
2020-11-30 19:28:03 -05:00
Evan You
64d4681e4b fix(async-component): forward refs on async component wrapper
fix #2671
2020-11-30 18:59:14 -05:00
HcySunYang
87581cd266
fix(v-model): mutate original array for v-model multi checkbox (#2663)
Note: this change will break non-deep `watch` on the `v-model` bound array since the array is no longer replaced. This can be considered part of the Array watch changes in v3 as detailed at https://v3.vuejs.org/guide/migration/watch.html

This is unfortunate but unavoidable since the issue that it fixes is more important: `v-model` should definitely work with a non-ref reactive array.

fix #2662
2020-11-30 17:48:51 -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
e4f09c1419 fix(compiler-core/v-on): handle falsy values when caching v-on handlers
fix #2605
2020-11-30 16:30:36 -05:00
Evan You
3cd30c5245 fix(v-show): ensure v-show conflict with inline string style binding
fix #2583
2020-11-30 15:48:34 -05:00
Evan You
9db7095962 fix(compiler-core): fix scope var reference check for v-on expressions
fix #2564
2020-11-30 15:19:32 -05:00
Evan You
e41b46c396 chore: annotate generated slot flag 2020-11-30 15:19:32 -05:00
edison
5f2a8533ac
fix(compiler-sfc): fix parsing error when lang="" is used on plain element (#2569)
fix #2566
2020-11-30 14:45:26 -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
43eab923ea fix(compiler-sfc): should not remove import statements with no specifier when compiling script setup 2020-11-28 13:51:32 -05:00
Evan You
a76e58e5fd build: avoid shipping patch flag name strings in prod 2020-11-27 18:13:04 -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
Thorsten Lünborg
6e46a574ed
fix(reactivity): ensure add/set on reactive collections return the proxy (#2534)
fix #2530
2020-11-27 14:16:00 -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
5b6266284d fix(compiler-ssr): should not render key/ref bindings in ssr 2020-11-27 12:37:26 -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
55d99d729e fix(compiler-core): fix unintended imports in esm-bundler builds
fix #2258, fix #2515
2020-11-27 11:04:15 -05:00
Evan You
46d80f4d58 fix: allow hmr in all builds
close #2571
2020-11-27 10:36:09 -05:00
Thorsten Lünborg
34703082fd
fix(reactivity): ensure readonly on plain arrays doesn't track array methods. (#2506)
fix #2493
2020-11-27 10:24:31 -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
Evan You
7cd85be2db refactor(compiler-core): reduce slot props check iterations
ref: #2490
2020-11-27 10:00:43 -05:00
edison
ef59a30cab
fix(compiler-core): transform kebab case props to camelcase on slots (#2490)
fix #2488
2020-11-27 09:48:30 -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
6e8482e8d9 chore: fix snapshots 2020-11-25 10:30:29 -05:00
Evan You
69d5c6887e wip: update directive scope variable mapping 2020-11-24 19:04:21 -05:00
Evan You
bdc66c7ea4 wip: revert helpers to compiler-only 2020-11-24 19:04:21 -05:00
Evan You
faed98972c wip: support inherit-attrs="false" on sfc <tempalte> 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
ae2caad740 wip: support resolving directives from setup scope variables by naming convention
v-my-dir can be resovled from setup scope variable named "vMyDir".
2020-11-24 19:04:21 -05:00
Evan You
9cb74960ac chore: move style vars deprecation warning to a parse error 2020-11-21 23:53:32 -05:00
Evan You
ac80ea2c19 chore: warning for outdated hmr api usage 2020-11-21 16:06:50 -05:00
Evan You
90bdf59f4c refactor(compiler): better constant hoist/stringify checks 2020-11-20 19:26:07 -05:00
Evan You
acba86ef45 workflow: log options in template-explorer 2020-11-20 17:16:28 -05:00
Evan You
8ac2241b22 wip: more consistent compiler-sfc usage + inline mode for ssr 2020-11-20 14:23:09 -05:00
Evan You
58227e88e9 chore: more readme info for compiler-sfc 2020-11-20 14:23:09 -05:00
Evan You
62830f8fa4 wip: better experimental feature warnings 2020-11-19 20:36:15 -05:00
Evan You
9db42889e6 Revert "wip: allow scriptCompiled to be cached on sfc descriptor"
This reverts commit 737ef424a0.
2020-11-19 20:02:27 -05:00
Evan You
6806facfa1 wip: fix default export side effect handling 2020-11-19 16:58:07 -05:00
Evan You
08879cc3b5 wip: fix compileScript script/script-setup co-usage 2020-11-19 16:17:54 -05:00
Evan You
a9424354b0 wip: fix cssVars option warning check 2020-11-19 15:32:32 -05:00
Evan You
0e86cbfcf2 wip: fix default export codegen 2020-11-19 15:30:33 -05:00
Evan You
737ef424a0 wip: allow scriptCompiled to be cached on sfc descriptor 2020-11-19 13:08:27 -05:00
Evan You
6541e70acb wip: return empty string if no cssVars are present 2020-11-19 13:08:27 -05:00
Evan You
03b2bfff09 wip: do not return type imports 2020-11-19 13:08:26 -05:00
Evan You
4c6078ce25 fix(compiler-core/compiler-sfc): handle destructure assignment expressions 2020-11-18 22:39:08 -05:00
Evan You
4d5242128e chore: fix tests 2020-11-18 22:34:55 -05:00
Evan You
64160e89cc wip: ignore non-ref const mutation cases in codegen 2020-11-18 21:16:09 -05:00
Evan You
8567feb2aa wip: properly handle assignment/update expressions in inline mode 2020-11-18 19:38:38 -05:00
Evan You
4449fc3b9e refactor: finer grained binding types for setup 2020-11-18 19:38:38 -05:00
Evan You
760443dca6 wip: ensure string template refs work in inline mode 2020-11-18 19:38:38 -05:00
Evan You
27fca66c89 workflow: add inline option to template explorer 2020-11-18 19:38:38 -05:00
Evan You
bb343383f2 refactor(compiler-sfc): parse css vars directly as part of sfc descriptor 2020-11-18 19:38:38 -05:00
Evan You
cdc9f336fd wip: new cssVars SSR integration + fix cssVars SSR injection for suspense 2020-11-17 18:54:47 -05:00
Evan You
9297410569 chore: remove non-working esm-browser build for compiler-sfc for now 2020-11-17 18:31:49 -05:00
Evan You
a67325140b wip: test case for v-model + inline mode codegen 2020-11-17 15:59:09 -05:00
Evan You
94736f7729 wip: css var injection production mode 2020-11-17 15:58:46 -05:00
Evan You
f92bc5a19a wip: simplify useCssVars 2020-11-17 13:03:47 -05:00
Evan You
dfac6eee99 wip: fix defineOptions specifier removal 2020-11-17 12:50:10 -05:00
Evan You
c15bd6235e wip: generate valid v-model and TS code in script setup inline mode 2020-11-17 12:42:58 -05:00
Evan You
6e870f5b30 wip: update sfc style var injection syntax
ref: https://github.com/vuejs/rfcs/pull/231#issuecomment-728993116
2020-11-17 11:43:29 -05:00
Evan You
41bb7fa330 feat(compiler-sfc): new SFC css varaible injection implementation
ref: https://github.com/vuejs/rfcs/pull/231
2020-11-16 18:27:25 -05:00
Evan You
62372e9943 chore: remove unused dep from compiler-sfc 2020-11-16 17:22:59 -05:00
Evan You
e521de1663 Merge branch 'script-setup-2' 2020-11-16 15:42:39 -05:00
Evan You
3a6b1207fa fix(style-vars): apply css vars in post flush effect 2020-11-16 15:40:16 -05:00
Evan You
cea8b25fed wip: fix useCssVars helper call + tests 2020-11-16 11:35:38 -05:00
Evan You
b79a06c605 wip: optimize expose 2020-11-16 11:28:37 -05:00
Evan You
a603d56970 wip: make <script setup> closed by default 2020-11-14 12:55:21 -05:00
Evan You
468e0d95cf chore: Merge branch 'feat/expose' into script-setup-2 2020-11-14 12:50:32 -05:00
Evan You
0e59770b92 feat(runtime-core): explicit expose API 2020-11-14 12:49:35 -05:00
Evan You
1ff5960971 wip: useOptions -> defineOptions 2020-11-13 17:38:28 -05:00
Evan You
8ba3a7de40 wip: fix dts tests 2020-11-13 00:12:04 -05:00
Evan You
6fc8d5d0ba wip: type inference for useOptions 2020-11-13 00:01:44 -05:00
Evan You
001f8ce993 wip: defineContext -> useOptions 2020-11-12 22:51:40 -05:00
Evan You
292a657861 wip: fix runtimeConstant marking 2020-11-12 22:44:18 -05:00
Evan You
0ca9137188 wip: tests for defineContext() 2020-11-12 18:11:25 -05:00
Evan You
128621d6a0 wip: further optimize bindings 2020-11-12 16:11:14 -05:00
Evan You
6a9b56ca60 wip: defineContext() 2020-11-12 14:10:39 -05:00
Evan You
dc098c7f81 wip: defineContext 2020-11-11 19:40:27 -05:00
Evan You
2a4fc32d15 wip: remove unnecessary inlinePropsIdentifier option 2020-11-11 10:36:59 -05:00
Evan You
4e8ef55237 wip: optimize binding access to known imported components 2020-11-10 18:06:38 -05:00
Evan You
4977526a2b wip: correctly resolve component in setup inline mode 2020-11-10 17:36:06 -05:00
Evan You
3019508e75 wip: fix binding type fallback 2020-11-10 17:31:09 -05:00
Evan You
886ed7681d feat(compiler-sfc): compileScript inline render function mode 2020-11-10 16:28:34 -05:00
Evan You
3f99e239e0 feat(compiler-sfc): support kebab-case components in <script setup> sfc template 2020-11-09 17:22:58 -05:00
Evan You
8cf0a40d5b chore: update warning and error messages 2020-11-09 17:00:58 -05:00
underfin
af9560455d
fix(runtime-core): ensure scheduler queue is always non-null (#2567)
fix https://github.com/vitejs/vite/issues/1021
2020-11-09 09:19:32 -05:00
Evan You
7a3b964a1b chore: only log prod tip in non-bundler builds 2020-11-06 15:07:35 -05:00
Evan You
f28ca55692 fix(runtime-dom): use correct import source 2020-11-03 09:54:22 -05:00
Evan You
3cca6bc3a8 chore: fix snapshots 2020-10-30 17:12:15 -04:00
Evan You
6e3abc8605 fix(compiler-sfc): fix script setup ts helpers 2020-10-30 16:56:12 -04:00
Evan You
8485cd4843 fix: handle case of ref declaration without initial value 2020-10-30 15:29:38 -04:00
Evan You
ed2eb81317 refactor(compiler-sfc): always parse explicit script setup signature 2020-10-30 12:03:14 -04:00
Evan You
941b645d58 refactor(compiler-sfc): improve compileScript error messages 2020-10-30 11:52:46 -04:00
Evan You
556560fae3 feat(compiler-sfc): new script setup implementation
- now exposes all top level bindings to template
- support `ref:` syntax sugar
2020-10-29 15:03:39 -04:00
Evan You
8e20375372 fix(types): ensure correct type for toRef and toRefs on existing refs 2020-10-27 18:50:34 -04:00
Evan You
9c23ddf9c5 fix(hmr): fix updates for imported but not yet rendered components 2020-10-26 17:52:27 -04:00
Evan You
118502a4b8 chore: comments [ci skip] 2020-10-23 14:37:09 -04:00
Evan You
51e43e0799 fix(runtime-core): components with static props and slots should not be force updated 2020-10-22 17:50:05 -04:00
Evan You
f2d03a59c6 release: v3.0.2 2020-10-20 16:24:12 -04:00
Carlos Rodrigues
1f2a652a9d
fix(types): h support for resolveComponent (#2402)
close #2357
2020-10-20 15:56:29 -04:00
HcySunYang
fff62e2ee8
fix(runtime-core): non-stable Fragment should always unmount its children (#2445)
fix #2444
2020-10-20 14:59:55 -04:00
Evan You
0227b4a697 fix(suspense): fix suspense nested child updates in template mode
fix #2214
2020-10-20 12:28:02 -04:00
Hunter
128ec460ec
fix(v-model): built in modifiers support on component (#2348)
close #2326
2020-10-20 09:59:27 -04:00
Evan You
4bbb2b2ee6 fix(runtime-core): fix component .once listener logic 2020-10-20 09:50:18 -04:00
Hunter
6d2a1cb64d
fix(compiler-core): fix multiline member expression check (#2436)
fix #2426
2020-10-20 09:31:08 -04:00
ShaoDamao
288c764e52
chore(runtime-core): fix typo (#2442)
Co-authored-by: shaoziwei <ziwei.shao@cloudchef.io>
2020-10-20 08:51:05 +02:00
Hunter
111d04f119
fix(runtime-core): prevent self-injection (#2424)
fix #2400
2020-10-19 20:45:48 -04:00
Eduardo San Martin Morote
314ab2c7c5
fix(compiler): stringify values on v-text (#2432)
fix #2430
2020-10-19 18:12:09 -04:00
被雨水过滤的空气
edd49dcab4
fix(runtime-core): avoid mutating EMPTY_ARR when setting dev root (#2419)
also freeze EMPTY_ARR in dev

fix #2413
2020-10-19 18:08:54 -04:00
neverland
e894caf731
types(tsx): svg xmlns attribute typing (#2344) 2020-10-19 17:40:21 -04:00
Evan You
0e5a3c47a7 fix(reactivity): track length on for in iteration on Array
fix #2427
2020-10-19 17:37:35 -04:00
Carlos Rodrigues
d9ad45ad6c
types(defineComponent): fix optional Boolean prop types (#2401)
fix #2338
2020-10-19 17:25:55 -04:00
ᴜɴвʏтᴇ
052a621762
feat(compile-core): handle falsy dynamic args for v-on and v-bind (#2393)
fix #2388
2020-10-19 17:15:53 -04:00
龙腾道
ba881f9190
fix(runtime-core): avoid object prototype keys in property access cache (#2416) 2020-10-19 17:11:28 -04:00
Evan You
f17f0ddf68 release: v3.0.1 2020-10-15 12:37:21 -04:00
Evan You
9664267793 chore: fix missed type guard from dbc29c32 2020-10-15 12:10:25 -04:00
Evan You
dbc29c32e3 build(deps): bump @babel/types from 7.11.5 to 7.12.0 2020-10-15 12:02:20 -04:00
Evan You
3aabd59de1 build(deps): bump postcss-selector-parser from 6.0.2 to 6.0.4 2020-10-15 11:52:30 -04:00
underfin
e78915a740
fix(hmr): full diff props for non-sfc component (#2359)
close #https://github.com/vitejs/vite/issues/872
2020-10-15 11:05:12 -04:00
Hunter
962af85220
test(runtime-core): inject from closest ancestor (#2329) 2020-10-13 16:31:13 -04:00
ᴜɴвʏтᴇ
6df3675548
test(runtime-core): improve test for #2295 (#2309) 2020-10-13 16:29:23 -04:00
underfin
02f355eb69
fix(v-for): handle and warn when v-for receives non-integer range number (#2247)
close #2245
2020-10-13 16:28:24 -04:00
Mathieu TUDISCO
8539c0bf32
fix(compiler-ssr): fix SSR issue when dynamic and static class co-exist (#2354) 2020-10-13 16:25:15 -04:00
Pick
6a554feb13
perf(runtime-dom/vModel): remove looseHas if model is Set (#2236) 2020-10-13 16:20:05 -04:00
Lory Lee
6b8cf998c4
chore: add missing space in warning message (#2266) [ci skip] 2020-10-13 16:18:22 -04:00
edison
af1f5d33aa
refactor(reactivity): remove keyIsSymbol (#2262) 2020-10-13 16:17:52 -04:00
Pick
9b34f915ab
refactor(runtime-core): simplify deep watch traverse (#2212) 2020-10-13 16:06:36 -04:00
meteorlxy
e2c9ab1991
test(compiler-core): more test cases for baseParse (#2211) 2020-10-13 16:03:33 -04:00
Pick
e4a5387435
refactor(runtime-core): refactor watch typing (#2191) 2020-10-13 15:45:17 -04:00
underfin
408a8cad48
fix(sfc/style-vars): should attach css vars while subtree changed (#2178)
* fix(cssVars): should attach css vars while `subtree` changed

fix #2177

* fix: fix test
2020-10-13 15:37:45 -04:00
izayl
bac4d22614
chore: add magic number comment (#2198) [ci skip] 2020-10-13 15:33:16 -04:00
Yang Mingshan
7cc09ca8a5
fix(reactivity): use resetTracking instead of enableTracking (#2174) 2020-10-13 15:32:46 -04:00
Ben Sheedy
aa2b4f4873
chore: heading for npm readme (#2158) [ci skip] 2020-10-13 15:30:56 -04:00
edison
1cc8cd60a1
test(runtime-core): show warn when create with invalid type (#2128) 2020-10-13 15:27:21 -04:00
ᴜɴвʏтᴇ
692197be33
fix(compiler-core): fix v-if key injection with v-on object syntax (#2368)
fix #2366
2020-10-13 12:04:52 -04:00
Evan You
6ba7ba47d5 feat: custom formatters 2020-10-13 11:50:24 -04:00
Evan You
2ae3b26679 fix(teleport): proper children traversal when teleport is block root
fix #2324
2020-10-10 16:07:30 -04:00
Evan You
b0931dcaba fix(teleport): should only force remove teleport when not disabled
fix #2323
2020-10-09 09:08:59 -04:00
Evan You
54ed7592e4 fix(v-model): ensure initial value is set after other attributes
fix #2325
2020-10-08 16:41:45 -04:00
ᴜɴвʏтᴇ
fbd198fbfe
fix(v-model): avoid clearing IME compose state on updates (#2304)
fix #2302
2020-10-07 22:34:53 -04:00
Evan You
4d1ebb5deb fix(runtime-core): fix directive merging on component root
fix #2298
2020-10-07 22:02:32 -04:00
Evan You
f06518a8c9 fix(runtime-core): fix provide function data access in extends/mixins
fix #2300
2020-10-07 21:47:01 -04:00
ᴜɴвʏтᴇ
89c5909a6f
fix(compiler-core): allow spaces between if-else branches (#2305)
fix #2299
2020-10-07 20:57:17 -04:00
Evan You
25d53f09bb fix(runtime-core/template-refs): do not reset refs object before updates
fix #2283
2020-10-07 17:49:03 -04:00
Evan You
b392fe419c fix(runtime-core): error handling for created/beforeCreate hooks
fix #2268
2020-10-07 16:58:19 -04:00
edison
d744b8a2dc
fix(runtime-dom): v-model should support number modifier with select tag (#2308)
close #2252
2020-10-07 15:06:41 -04:00
Evan You
f9566f00df test(compiler-core): add test case for v-on event case conversion 2020-10-06 18:31:04 -04:00
shadowings-zy
62f26173ba
fix(runtime-core): use consistent camelCase event casing for render functions (#2278)
close #2249
2020-10-06 18:28:56 -04:00
Evan You
390589ec6d fix(reactivity): should not trigger watch on computed ref when value is unchanged
fix #2231
2020-10-06 18:16:20 -04:00
Evan You
a66e53a24f fix(runtime-core): fix SSR memoery leak due to props normalization cache
fix #2225

The previous props/emits normlaization was caching normalized result per
app instance, but during SSR there is a new app instance created for
every request.

The fix now de-opts props/emits normlaization caching when there are
props/emits declared in global mixins - which is a very rare use case.
2020-10-06 15:31:29 -04:00
Evan You
cf2c9f6faa perf: do not enable hmr in non-browser envs 2020-10-06 11:51:55 -04:00
Evan You
5c3e8e9840 fix(runtime-core): ensure this context for $nextTick callback
fix #2282
2020-10-05 18:18:38 -04:00
Evan You
f4119249f2 fix(compiler-core): consistently remove comment nodes for pre tags in production
close #2217
2020-10-05 17:53:34 -04:00
ᴜɴвʏтᴇ
4d20ac8173
fix(runtime-core): make errorCaptured return value handling consistent with Vue 2 (#2289)
fix #2267
2020-10-05 17:37:26 -04:00
HcySunYang
ea1f87eabf
fix(reactivity): should add allowRecurse to the effect (#2213)
So that the scheduler also respects effect's allowRecurse option.

fix #2200
2020-10-05 16:36:02 -04:00
Philipp Rudloff
28d5fd7a28
fix(runtime-core): vnode.el is null in watcher after rerendering (#2295)
fix #2170
2020-10-05 16:05:43 -04:00
HcySunYang
9499871582
fix(compiler-core): make v-once work with v-if/else-if/else (#2182)
Partial fix for #2035
2020-10-05 11:58:37 -04:00
Nathan Shively-Sanders
d52d139b85
types: fix Typescript 4.1 compile error (#2219)
close #2218
2020-09-28 12:39:14 -04:00
meteorlxy
64f44c671a
chore(compiler-core): fix typo in tests (#2209) 2020-09-23 12:25:52 +02:00
Evan You
376883d1cf fix(runtime-core): fix duplicated unmount traversal in optimized mode
fix #2169
2020-09-22 11:38:15 -04:00
wonderful-panda
5dbd6b36a0
fix(types): fix using tuple type as EmitsOptions (#2160)
fix #2159
2020-09-22 10:05:37 -04:00
Evan You
6aa2256913 fix(types): avoid DefineComponent defaulting to any
fix #2192
2020-09-22 10:02:19 -04:00
Evan You
d8c1536ead release: v3.0.0 2020-09-18 11:28:05 -04:00
Evan You
876ecc8672 release: v3.0.0-rc.13 2020-09-18 01:39:30 -04:00
ᴜɴвʏтᴇ
f316a332b0
fix(reactivity): avoid length mutating array methods causing infinite updates (#2138)
fix #2137

Co-authored-by: Evan You <yyx990803@gmail.com>
2020-09-18 01:01:36 -04:00
Katashin
422f05e085
fix(hmr): make hmr working with class components (#2144) 2020-09-18 00:14:59 -04:00
Anthony Fu
57bdaa2220
fix(types): component instance inference without props (#2145) 2020-09-18 00:13:47 -04:00
Evan You
1c9a0b3e19 feat(watch): support dot-delimited path in watch option 2020-09-18 00:00:39 -04:00
Evan You
5bfcad155b fix(suspense): should discard unmount effects of invalidated pending branch 2020-09-17 23:49:06 -04:00
Evan You
49bb44756f refactor: watch APIs default to trigger pre-flush
BREAKING CHANGE: watch APIs now default to use `flush: 'pre'` instead of
`flush: 'post'`.

  - This change affects `watch`, `watchEffect`, the `watch` component
    option, and `this.$watch`.

  - As pointed out by @skirtles-code in
    [this comment](https://github.com/vuejs/vue-next/issues/1706#issuecomment-666258948),
    Vue 2's watch behavior is pre-flush, and the ecosystem has many uses
    of watch that assumes the pre-flush behavior. Defaulting to post-flush
    can result in unnecessary re-renders without the users being aware of
    it.

  - With this change, watchers need to specify `{ flush: 'post' }` via
    options to trigger callback after Vue render updates. Note that
    specifying `{ flush: 'post' }` will also defer `watchEffect`'s
    initial run to wait for the component's initial render.
2020-09-17 23:17:21 -04:00
Evan You
58c31e3699 feat(runtime-core): support using inject() inside props default functions 2020-09-17 15:59:01 -04:00
Evan You
985bd2bcb5 release: v3.0.0-rc.12 2020-09-16 13:50:13 -04:00
Evan You
df954dc90f chore: do not log warned error during tests 2020-09-16 13:37:12 -04:00
Evan You
dd40ad8fca fix(runtime-core): should still do full traverse of stable fragment children in dev + hmr 2020-09-16 13:01:53 -04:00
Evan You
bebd44f793 fix(runtime-core): ensure root stable fragments inherit elements for moving
fix #2134
2020-09-16 12:18:03 -04:00
Evan You
c7b4a379cf fix(runtime-core/async-component): fix error component when there are no error handlers
fix #2129
2020-09-16 11:10:16 -04:00
Evan You
3810de7d6b fix(reactivity): effect shoud only recursively self trigger with explicit options
fix #2125
2020-09-16 10:52:31 -04:00
wonderful-panda
89e9ab8a2a
fix(types/tsx): optional props from Mixin/Extends are treated as required (#2048) 2020-09-16 10:09:35 -04:00
Cédric Exbrayat
7e68ddd354
chore: typos in suspense events (#2131)
Removes the mention of the recede event that has been replaced.
2020-09-16 09:30:47 -04:00
Carlos Rodrigues
be27bbc5ad
types(defineComponent): fix missing exported types (#2124) 2020-09-16 09:29:42 -04:00
underfin
066d514d75
feat(compiler-sfc): additionalData support for css preprocessors (#2126)
close https://github.com/vitejs/vite/issues/520
2020-09-16 09:28:31 -04:00
Evan You
f2ef7d7c8e release: v3.0.0-rc.11 2020-09-15 13:15:42 -04:00
Evan You
87ca99e396 chore: bump deps 2020-09-15 13:04:28 -04:00
Evan You
5ae7380b4a
feat: update Suspense usage (#2099)
See https://github.com/vuejs/vue-next/pull/2099 for details.
2020-09-15 12:45:06 -04:00
Evan You
37e686f25e chore: remove wip code 2020-09-15 12:41:56 -04:00
Carlos Rodrigues
4fd468aced
types(runtime-core): refactor defineComponent (#1883) 2020-09-15 11:46:11 -04:00
izayl
848ccf56fb
test(reactive): add test case of mutation in original reflecting in observed value (#2118) 2020-09-15 10:49:59 -04:00
underfin
05df696a2b
fix(compiler-sfc): should extract comment for import or type declarations (#2107)
fix #2102
2020-09-15 10:39:27 -04:00
HuangYi
98cc1f9d84
fix(KeepAlive): when exclude prop change, it should prune cache that not matched (#2111) 2020-09-15 10:33:50 -04:00
Carlos Rodrigues
d4bf9bcbb4
fix(reactivity): toRef should not wrap a ref (#2103) 2020-09-15 10:29:38 -04:00
HcySunYang
aa8dc9a507
fix(compiler-ssr): correct the variable name generated by the generator (#2065) 2020-09-15 10:00:14 -04:00
HcySunYang
7455dca11c
fix(compiler-ssr/teleport): correct the target prop of teleport (#2053) 2020-09-15 09:59:36 -04:00
Jonathan Wood
cdd849a09c
chore: fix tests (#2120) 2020-09-15 09:36:27 -04:00
Evan You
c67e78ab6f chore(compiler-sfc): gracefully handle failed parse when analyzing bindings 2020-09-14 22:10:23 -04:00
Haoqun Jiang
273d19ad46
fix: should be able to parse decorators in script lang="ts" & jsx (#2088)
* fix: should be able to parse decorators in script lang="ts"

* fix: should also support parsing jsx

Added to `compileScript` instead of `babelParserDefaultPlugins` because
it's not needed for template expression parsing
2020-09-14 21:51:15 -04:00
edison
0cddde6aa4
test(runtime-core): test app API warnings (#2079) 2020-09-14 21:48:38 -04:00
Haoqun Jiang
c65d6def84
polish: warn deprecated beforeDestroy/destroyed lifecycle hooks (#1999) 2020-09-14 21:47:58 -04:00
Pick
fcf9b2cf19
fix(reactivity): should trigger collection's write-function correctly on non-reactive keys (#1992) 2020-09-14 21:31:04 -04:00
Evan You
b2dc95378d types: fix + test inject API typing
ref: #2052
2020-09-14 21:26:28 -04:00
edison
b29bc0d694
chore(compiler-core): define child if necessary. (#2033) 2020-09-14 20:56:53 -04:00
Pick
09a939d37c
Revert "refactor(runtime-core): add @internal for instance.proxy (#1849)" (#2024)
This reverts commit 4d51be73d3.
2020-09-14 20:56:04 -04:00
satotake
937735251c
feat(compiler-sfc): support additionalData option in compileStyle when processing sass (#1952) 2020-09-14 20:53:06 -04:00
被雨水过滤的空气
890ca8aa34
fix(keep-alive): should use onMounted and onUpdated to invoke cacheSubtree (#1984) 2020-09-14 20:50:06 -04:00
Hefty
0d4910a211
fix(reactivity): add NaN prop on Array should not trigger length dependency. (#1998) 2020-09-14 20:40:09 -04:00
Evan You
124c385baf perf: should not trigger child update if changed prop is declared emit listener
close #2072
2020-09-14 18:58:30 -04:00
Evan You
4de5b111ee test: fix cloneVNode ref tests 2020-09-14 18:55:00 -04:00
Evan You
be946ea549 fix(compiler-core): fix prefixing for <template v-for> key expressions
fix #2085
2020-09-14 17:04:27 -04:00
underfin
a32870a8f6
fix: inherit el for static nodes inside keyed template fragment (#2089)
fix #2080
2020-09-14 16:02:29 -04:00
Evan You
612eb6712a fix(runtime-core/refs): handle multiple merged refs for dynamic component with vnode
fix #2078
2020-09-14 15:33:38 -04:00
Stanislav Lashmanov
313dd06065
fix(runtime-core/inject): handle optional from option in inject object config (#2073) 2020-09-14 12:52:19 -04:00
Evan You
a096a58e41 fix(compiler-core): fix v-if block handling for components that fail to resolve
fix #2058
2020-09-14 12:41:35 -04:00
HcySunYang
24fcf6ae7c
fix(types): properly infer return type from async setup (#2051)
fix #2049
2020-09-14 11:28:56 -04:00
Evan You
0124eacc91 refactor(reactivity): refactor iteration key trigger logic + use more robust Map/Set check 2020-09-14 11:26:34 -04:00
Pick
cf1b6c666f
feat(runtime-dom): allow native Set as v-model checkbox source (#1957) 2020-09-14 11:16:50 -04:00
Evan You
d4724619fc fix(inject): fix support for inject option default function
fix #2050
2020-09-04 12:07:30 -04:00
Evan You
6dbc6c4cd0 fix(sfc): fix scoped style regression for child component with single root + comment
fix #2046
2020-09-04 11:36:55 -04:00
Evan You
5f4053967c fix(reactivity): revert ac81dcf
fix #2043
2020-09-04 11:10:26 -04:00
Evan You
fa7ab0a7f7 fix(runtime-core): warn reserved prefix for setup return properties and ensure consistent dev/prod behavior
close #2042
2020-09-03 11:21:14 -04:00
ᴜɴвʏтᴇ
95c07d8c36
fix(runtime-core): fix priority of option merging (#2041) 2020-09-03 10:35:43 -04:00
Evan You
4386653e76 release: v3.0.0-rc.10 2020-09-02 12:41:54 -04:00
Evan You
52e45a9850 fix(v-once): fix v-once usage with v-if and v-for
fix #2035
2020-09-02 12:30:37 -04:00
Evan You
ad93fa42fc fix(runtime-core): openBlock() should not be tracked when block tracking is disabled 2020-09-02 12:30:37 -04:00
Evan You
c73b4a0e10 feat(ssr): serverPrefetch 2020-09-01 22:52:46 -04:00
HcySunYang
63f1f18064
fix(runtime-core): v-model listeners that already exists on the component should not be merged (#2011)
fix #1989
2020-09-01 22:24:20 -04:00
Carter Li
aa757e8e6d
fix(types): fix this type of this.$watch (#2022) 2020-09-01 21:08:01 -04:00
HcySunYang
93b8ff94a4
polish(teleport): do not warn missing target when teleport is disabled (#2021) 2020-09-01 21:05:51 -04:00
zhangzhonghe
0d0970f9cd
refactor(runtime-core): remove the deactivated branch in unmountComponent method (#2012) 2020-09-01 21:03:50 -04:00
Evan You
691a4b9530 perf(reactivity): no need to proxy has/ownKeys for readonly objects 2020-09-01 20:52:48 -04:00
Evan You
c0427b45ff fix(sfc/scoped-style): inherit scopeId through nested HOCs with inheritAttrs: false
fix #1988
2020-09-01 18:56:02 -04:00
HcySunYang
5b82c48c7b
fix(runtime-core): enable block tracking when normalizing plain element with slot children (#1987)
fix #1980
2020-09-01 12:38:47 -04:00
ᴜɴвʏтᴇ
706b52aadd
fix(runtime-core): ensure consistent $options merge behavior with 2.x (#1986)
close #1978 , close #1979
2020-08-31 21:04:06 -04:00
Evan You
8ed0b342d4 fix(runtime-core): fix props/emits resolving with global mixins
fix #1975
2020-08-31 18:32:07 -04:00
Guillaume Chau
5df71b739d chore: add repository directories 2020-08-30 15:06:06 +02:00
Guillaume Chau
7fd3436290 fix(devtools): make el extra properties non-enumerable 2020-08-29 05:00:38 +02:00
Guillaume Chau
38ca7e8e4e feat(devtools): expose vnode and component on elements 2020-08-29 04:53:25 +02:00
Stanislav Lashmanov
4421c00903
feat(compiler-sfc): analyze script bindings (#1962)
Also expose `scriptAst` and `scriptSetupAst` on returned script block
2020-08-28 16:21:03 -04:00
Evan You
94d94bafc5 release: v3.0.0-rc.9 2020-08-26 18:21:18 -04:00
Evan You
0cb7f7f880 fix(runtime-core): fix resolving assets from mixins and extends
fix #1963
2020-08-26 18:09:54 -04:00
meteorlxy
bc64c60c7e
style(compiler-sfc): tweak api and types export (#1976) 2020-08-26 15:22:11 -04:00
Pick
d0cc4b37d0
test(runtime-core): add tests for componentSlots (#1940) 2020-08-26 12:17:21 -04:00
Pick
97bc30edad
perf(reactivity): avoid triggering Map.has twice on non-reactive keys (#1972) 2020-08-26 11:41:18 -04:00
xxgjzftd
d5c4f6ed4d
perf(reactivity): add existing index or non-integer prop on Array should not trigger length dependency (#1969) 2020-08-26 11:28:58 -04:00
HcySunYang
6df0e738cb
fix(runtime-core): properly call lifecycle hooks in chained mixins & extends (#1974)
fix #1973
2020-08-26 10:31:23 -04:00
HcySunYang
9153fc2d8a
fix(runtime-core): class and style should be properly normalized in cloneVNode (#1967)
fix #1964
2020-08-26 09:37:28 -04:00
Evan You
ede2e0d1b5 release: v3.0.0-rc.8 2020-08-25 10:31:52 -04:00
zhangzhonghe
1ea24000c8
fix(keep-alive): should remove wrapped version of injected keep alive hooks (#1959) 2020-08-25 10:02:39 -04:00
Amour1688
a47626a4a3
types(jsx): make HTMLAttributes and SVGAttributes extend Events (#1941) 2020-08-25 09:50:33 -04:00
ᴜɴвʏтᴇ
1d55454e61
fix(runtime-dom): avoid setting unchanged input value (#1937)
fix #1935 (fix v-model usage with HTML5 validation)
2020-08-25 09:47:55 -04:00
Katashin
67b6e0f894
fix(types): relax ComponentPublicInstanceConstructor type for class components (#1943) 2020-08-24 21:53:30 -04:00
HcySunYang
955450f539
types(runtime-core): improve the extracted instance types (#1936) 2020-08-24 21:37:22 -04:00
Evan You
c15311cfe8 fix(runtime-core): fix data merge order for mixins/extends
fix #1953
2020-08-24 21:30:04 -04:00
Evan You
59e58cd4a5 chore: remove console.log [ci skip] 2020-08-24 21:16:13 -04:00
Evan You
36fa42a88c fix(runtime-core/scheduler): handle nested flushPostFlushCbs calls
fix #1947
2020-08-24 18:47:15 -04:00
Evan You
499bc0bfc4 fix(hmr): properly force hmr full component props update
fix #1942
2020-08-24 18:13:29 -04:00
Evan You
57642fac8f fix(ssr): invoke directive created hook during hydration 2020-08-24 17:24:54 -04:00
Evan You
11804fe93f feat(directives): introduce created custom directive hook and ensure
`v-model` event listener fire before template/props listeners

fix #1931
2020-08-24 17:12:16 -04:00
Evan You
016ba116a8 fix(reactivity): fix iOS 12 JSON.stringify error on reactive objects
- Use WeakMap for raw -> reactive/readonly storage. This is slightly
  more expensive than using a field on the taget object but avoids
  polluting the original.

- also fix Collection.forEach callback value

fix #1916
2020-08-24 15:34:04 -04:00
Guillaume Chau
410e7abbbb refactor(devtools): emit needs to send the instance in args 2020-08-24 20:27:40 +02:00
Guillaume Chau
23233dc8b8 feat(devtools): catch events 2020-08-24 01:33:12 +02:00
Yang Mingshan
10293c7a18
fix(watch): traverse refs in deep watch (#1939)
ref #1900
2020-08-23 14:41:11 -04:00
Guillaume Chau
31b99a9139 feat(devtools): expose setupState target object 2020-08-22 16:40:04 +02:00
Guillaume Chau
6eb7fd8333 fix(devtools): unmountApp not behind compile flag 2020-08-22 16:34:18 +02:00
Guillaume Chau
3138f4b42f chore: rename createDevtoolsHook to createDevtoolsComponentHook 2020-08-22 15:53:21 +02:00
Evan You
54d06ec495 feat(runtime-core): support variadic children in h for simple JSX compat
ref: #1917
2020-08-21 21:54:33 -04:00
Evan You
6602d6dbff release: v3.0.0-rc.7 2020-08-21 14:13:05 -04:00
Robbin Baauw
07919e0065
perf(reactivity): improve ref performance by using class-based implementation (#1900) 2020-08-21 13:47:41 -04:00
Li Chen
0f8c9917f8
chore(runtime-core): use ReactiveFlags.SKIP in vnode for consistency (#1901) 2020-08-21 13:45:42 -04:00
ᴜɴвʏтᴇ
3c05f8bbd6
fix(reactivity): unwrap non-index accessed refs on reactive arrays (#1859)
close #1846
2020-08-21 13:36:41 -04:00
XRenSiu
bb54a84cd1
chore: use '@vue/shared' instead of '@vue/shared/src' (#1915) 2020-08-21 12:50:06 -04:00
Evan You
f02e2f99d9 fix(runtime-core): disable block tracking when calling compiled slot function in tempalte expressions
fix #1745, fix #1918
2020-08-21 12:47:45 -04:00
Evan You
7454e2a52b build(deps): upgrade to TypeScript 4 2020-08-20 17:48:28 -04:00
Evan You
91700fbec2 refactor(compiler-core): simplify hoistStatic check for nodes without patchFlag
close #1912
2020-08-20 11:43:34 -04:00
HcySunYang
255a2bd178
test(runtime-core): add tests for the optimized mode (#1884) 2020-08-20 10:56:31 -04:00
Evan You
a74f8d7891 test: use polling for more stable markdown e2e tests
close #1908
2020-08-20 10:52:45 -04:00
Evan You
d4cc7b2496 fix(teleport): only inherit el for non-patched nodes
fix #1903
2020-08-20 10:44:28 -04:00
underfin
69cfed6b31
fix(compiler-core): should attach key to single element child of <template v-for> (#1910) 2020-08-20 10:09:57 -04:00
HcySunYang
7ffb79c563
fix(runtime-core): correctly track dynamic nodes in renderSlot (#1911) 2020-08-20 09:37:26 -04:00
Evan You
91c4735416 release: v3.0.0-rc.6 2020-08-19 18:17:42 -04:00
Evan You
cfa7636bbe chore: comments 2020-08-19 18:02:17 -04:00
Evan You
1eb6067a85 fix(runtime-core): fix beforeUpdate call timing to allow state mutation
fix #1899
2020-08-19 17:57:51 -04:00
Evan You
24041b7ac1 fix(compiler-core): generate NEED_PATCH flag for element with vnode hooks 2020-08-19 17:30:44 -04:00
Carlos Rodrigues
c2913d57d1
fix(types): handling PropType<Function> with default value (#1896)
fix #1891
2020-08-19 16:36:42 -04:00
Pick
02dcc68c24
test(reactivity): improve built-in Collection subclass test cases (#1885) 2020-08-19 16:22:31 -04:00
Evan You
eb2ae44d94 refactor(types): widen Component type to include consutructor types
returned from `defineComponent`

ref: https://github.com/vuejs/vue-router-next/pull/421
also close #1880

Previous `Component` type is now exported as `ConcreteComponent`.

This introduces a minor breaking change when calling `h(comp, { ... })`
will now fail if `comp` is a of generic `Component` type, since it does
not specify what props it expects.
2020-08-19 16:19:25 -04:00
Carlos Rodrigues
4baf852a34
types(runtime-core): make FunctionalComponent with emit string[] to be Component (#1879)
fix #1847
2020-08-19 10:00:48 -04:00
HcySunYang
7f82428680
types(runtime-core): tweak the type of KeepAlive (#1871) 2020-08-19 10:00:01 -04:00
edison
075d769e0b
chore: fix typo for babelParserDefautPlugins (#1897) 2020-08-19 09:53:09 -04:00
edison
7dd067206c
chore: remove unused type VNodeDirectiveData (#1893) 2020-08-19 09:51:44 -04:00
Carlos Rodrigues
c86e7ad11b
types(reactivity): improve typings for shallowRef (#1780) 2020-08-18 23:34:29 -04:00
Jordan Pittman
4172fdb90c
feat(reactivity): return array when calling toRefs on array (#1768)
close #1764
2020-08-18 12:11:13 -04:00
小妍妍
fdb2f418cf
chore: remove deprecated <content> tag (#1647)
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/content
2020-08-18 11:47:38 -04:00
wxy
3892ea884b
chore(runtime-dom): remove deprecated tags from jsx typing (#1627) 2020-08-18 11:43:14 -04:00
Evan You
9f92871c80 types(runtime-core): argument for props validator
Unfortunately it requires explicit annotation for now
2020-08-18 11:37:34 -04:00
Aurelius333
a88895b5da
types(runtime-core): make this void in prop validators and prop default factories (#1867) 2020-08-18 11:25:55 -04:00
HcySunYang
9d36c61796
types(runtime-core): improve PropType inference precision (#1863) 2020-08-18 11:23:18 -04:00
Pick
4d51be73d3
refactor(runtime-core): add @internal for instance.proxy (#1849) 2020-08-18 11:12:26 -04:00
Evan You
0d508e9f51 feat(runtime-core): pass current props to prop default value functions
close #1886
2020-08-18 10:52:50 -04:00
ᴜɴвʏтᴇ
d005b578b1
fix(reactivity): accept subtypes of collections (#1864) 2020-08-17 12:17:46 -04:00
Evan You
6ccd9ac2bc fix(runtime-core): fix Object props validation for objects with custom toStringTag
fix #1872
2020-08-17 11:25:38 -04:00
Barthélémy Ledoux
62b9d02f6f
feat(compiler-core): add comments parser option (#1858) 2020-08-17 11:20:28 -04:00
kazuya kawaguchi
619efd9ac5
fix(compiler-sfc): custom blocks sourcemap (#1812) 2020-08-14 17:47:28 -04:00
susiwen8
a2c6f0c8c7
chore: remove unecessary 'export' (#1785) 2020-08-14 17:38:32 -04:00
Pick
44448fdd22
types(reactivity): add dts for proxyRefs & improve typings (#1786) 2020-08-14 17:37:36 -04:00
Aurelius333
5002ab53d6
types(runtime-core): make this void in emits validator (#1842) 2020-08-14 17:36:26 -04:00
Evan You
223f180529 test(watch): add same value skipping trigger test 2020-08-14 17:35:49 -04:00
zhangzhonghe
517c2b8bdb
fix(teleport): always inherit root DOM nodes on patch (#1836)
fix #1813
2020-08-14 17:26:32 -04:00
Evan You
9fb84187f0 chore: bump markdown e2e test wait period 2020-08-14 17:07:42 -04:00
Necmettin Karakaya
86187ca907
chore: typos (#1670) 2020-08-14 17:05:12 -04:00
edison
2a1b0fc6d7
chore: use value instead of n.value (#1770) 2020-08-14 17:00:49 -04:00
Evan You
86a4f2a6b3 chore: remove unnecessary wrap 2020-08-14 09:52:30 -04:00
HcySunYang
caccec3f78
fix(runtime-core/scheduler): sort postFlushCbs to ensure refs are set before lifecycle hooks (#1854)
fix #1852
2020-08-14 09:50:23 -04:00
Evan You
ac81dcf0cc fix(reactivity): effect should still check sync self-trigger 2020-08-13 17:45:21 -04:00
Evan You
611437a3fe fix(runtime-core/scheduler): allow component render functions to trigger itself
fix #1801
2020-08-13 17:42:47 -04:00
underfin
bc6f252c4a
fix(runtime-core): should correctly call beforeEnter inside Suspense (#1805)
fix #1795
2020-08-13 12:36:30 -04:00
HcySunYang
3991ff03ce
fix(runtime-core): separate null vs. non-null ref value updates (#1835)
fix #1789, fix #1834
2020-08-13 12:27:17 -04:00
Jacob Smith
b14f4a505b
fix(codeframe): Added Math.max to prevent RangeError (#1807)
fix #1806
2020-08-12 15:52:28 -04:00
beary
b984d47ac4
fix(types/jsx): update innerHTML property in jsx typing (#1814) 2020-08-12 15:50:11 -04:00
Evan You
50adc014f5 refactor(reactivity): readonly collections should not track 2020-08-06 12:10:03 -04:00
Evan You
ed4381020f fix(reactivity): readonly+reactive collection should also expose readonly+reactive values
fix #1772
2020-08-06 11:18:16 -04:00
Evan You
48576e582c fix(transition): transition should accept multiple handlers on same event
fix #1746
2020-08-06 10:28:03 -04:00
Evan You
791eff3dfb fix(runtime-core): avoid manual slot invocation in template expressions interfering with block tracking
fix #1745
2020-08-06 10:16:13 -04:00
zhangzhonghe
233d191d0d
fix(keep-alive): fix activated hook invocation on nested components (#1743)
fix #1742
2020-08-06 09:42:52 -04:00
Eduardo San Martin Morote
00683fce9a
fix(runtime-dom): patch form as an attribute (#1788)
Close #1787
2020-08-06 09:32:28 -04:00
wujieZ
2787c34cd4
fix(reactivity): use isExtensible instead of isFrozen (#1753)
close #1784
2020-08-05 11:53:50 -04:00
Evan You
3692f2738f refactor(runtime-core/scheduler): dedicated preFlush queue
properly fix #1763, #1777, #1781
2020-08-05 10:55:23 -04:00
Evan You
74a1265fea chore: remove debugger 2020-08-05 09:32:18 -04:00
Evan You
a0e34cee4a fix(watch): exhaust pre-flush watchers + avoid duplicate render by pre-flush watchers
close #1777
2020-08-04 13:20:23 -04:00
Eduardo San Martin Morote
b5f91ff570
fix(watch): allow handler to be a string (#1775)
fix #1774
2020-08-04 12:42:47 -04:00
Evan You
b0d01e9db9 dx(compiler-core): warn on <template v-for> key misplacement
Note: the behavior is different from Vue 2. `<template v-for>` are compiled
into an array of Fragment vnodes so the key should be placed the `<template>`
for v-for to use it for diffing.
2020-08-04 12:20:32 -04:00
Evan You
de0c8a7e3e fix(compiler-core): v-if key error should only be checking same key on different branches 2020-08-04 12:01:18 -04:00
Evan You
11ed210391 chore: fix tests 2020-08-03 18:01:07 -04:00
Evan You
8d4abc3814 chore: unset removed invokers 2020-08-03 17:56:55 -04:00
Evan You
1c967fc44b fix(runtime-dom): fix v-on same computed handler on multiple elements
fix #1747
2020-08-03 17:55:22 -04:00
Yang Mingshan
b2a91429ed
fix(runtime-core/scheduler): prevent duplicate queue (#1767) 2020-08-03 17:19:06 -04:00
Aurelius333
86cdf6694d
chore(compiler-core): improve X_V_IF_KEY error message (#1757) 2020-08-03 17:14:14 -04:00
Evan You
0cd98c3040 fix(runtime-dom): style binding multi value support
fix #1759
2020-08-03 17:13:17 -04:00
Evan You
f6afe7000e fix(runtome-core): do not cache property access in beforeCreate hook
fix #1756
2020-08-03 17:04:45 -04:00
Evan You
d4c17fb48b fix(watch): pre-flush watcher watching props should trigger before component update
fix #1763
2020-08-03 16:49:30 -04:00
Evan You
fce2689ff1 fix(watch): should trigger watcher callback on triggerRef when watching ref source
fix #1736
2020-07-30 18:29:38 -04:00
Evan You
09702e95b9 fix(runtime-core/scheduler): only allow watch callbacks to be self-triggering
fix #1740

Previous fix for #1727 caused `watchEffect` to also recursively trigger
itself on reactive array mutations which implicitly registers array
`.length` as dependencies and mutates it at the same time.

This fix limits recursive trigger behavior to only `watch()` callbacks
since code inside the callback do not register dependencies and
mutations are always explicitly intended.
2020-07-30 17:57:20 -04:00
Carlos Rodrigues
ce78eac8e9
fix(runtime-core): check if the key is string on undefined property warning (#1731) 2020-07-29 10:06:36 -04:00
Evan You
848d9ce2ea release: v3.0.0-rc.5 2020-07-28 17:42:05 -04:00
Evan You
6f5d840612 feat(sfc): support resolving template components from <script setup> exports 2020-07-28 17:31:46 -04:00
Evan You
aa06b1034d
feat(reactivity): proxyRefs method and ShallowUnwrapRefs type (#1682)
* feat(reactivity): `proxyRefs` method and `ShallowUnwrapRefs` type

BREAKING CHANGE: template auto ref unwrapping are now applied shallowly,
i.e. only at the root level. See https://github.com/vuejs/vue-next/pull/1682 for
more details.
2020-07-28 16:30:56 -04:00
underfin
de62cc040c
fix(hmr): should update el for HYDRATE_EVENTS patchFlags node (#1707)
fix https://github.com/vitejs/vite/issues/613
2020-07-28 15:52:20 -04:00
Che Guevara
06cad62ee8
test(transition): add invalid durations test case (#1702) 2020-07-28 15:36:36 -04:00
underfin
07ece2e926
fix(style-vars): fix css vars on component with suspense as root (#1718) 2020-07-28 15:30:18 -04:00
Evan You
58b4a382f9 refactor(compiler-core): emit error on v-if key usage 2020-07-28 15:18:41 -04:00
Evan You
355c052622 fix(runtime-core): dev root resolution should differentiate user comments vs v-if comments
fix #1704
2020-07-28 14:16:09 -04:00
underfin
578f25c34e
fix(compiler-sfc): less and stylus output deps path is absolute p… (#1685) 2020-07-28 13:45:24 -04:00
Evan You
4ef5c8d424 fix(runtime-core): fix scheduler dedupe when not flushing 2020-07-28 13:23:09 -04:00
Evan You
c27dfe1d09 fix(runtime-core): scheduler should allow intentional self triggering effects
fix #1727
2020-07-28 12:29:43 -04:00
Evan You
730e39eb76 refactor: remove unnecessary conditions and test case 2020-07-28 12:26:14 -04:00
Evan You
b7ef38b773 fix(reactivity): fix ref mutation debugger event values 2020-07-28 12:01:34 -04:00
Evan You
0b3b1cfa48 fix(v-model): enable v-model type detection on custom elements 2020-07-28 11:44:39 -04:00
underfin
04a4ebaaeb
fix(runtime-core): use correct container for moving Teleport content (#1703) 2020-07-28 11:23:39 -04:00
Evan You
fbf865d9d4 fix(compiler-core): always compile Teleport and Suspense as blocks 2020-07-28 11:12:43 -04:00
Evan You
b3b65b4058 fix: runtime compilation marker should be applied in exposed compile function 2020-07-28 11:11:26 -04:00
Evan You
7e8b26eba8 refactor(runtime-core): make nextTick() promise reject on scheduler flush error 2020-07-28 10:40:25 -04:00
Evan You
3cc768f9f2 refactor(runtime-core): adjust error handling behavior
- Crash in dev to make the errors more noticeable
- Recover in prod to reduce impact on end users
2020-07-28 10:40:25 -04:00
Evan You
5c74243211 test: move mockWarn into setup files 2020-07-27 22:58:51 -04:00
underfin
d4527230e4
fix(compiler-core): prevent generating invalid code for v-bind with empty expression (#1720) 2020-07-27 18:31:08 -04:00
Evan You
5fbd1f4ccb fix(compiler-core/v-on): only cache empty handler when the option is used
fix #1716

The original idea is that the empty handler can be cached in all cases,
but this contradicts with the assumption that `hasCachedProps` check in
the static hoist transform can simply return `false` in the browser
build.
2020-07-27 18:28:39 -04:00
Evan You
c930f2ee8a chore: update snapshot 2020-07-27 17:45:30 -04:00
Evan You
354d79c42b fix(runtime-core): respect render function from mixins
fix #1630
2020-07-27 17:44:17 -04:00
Evan You
71c3c6e2a0 fix(v-model): allow v-model usage on declared custom elements
fix #1699
2020-07-27 17:09:30 -04:00
underfin
2a633c84ff
fix(transition): should call transition hooks inside already resolved suspense (#1698)
fix #1689
2020-07-27 16:47:07 -04:00
Evan You
3d2bdafd2f chore: revert accidentally commented line 2020-07-23 14:53:09 -04:00
Evan You
a75b8a268f fix(build): fix component resolution when disabling options API
fix #1688
2020-07-23 14:33:15 -04:00
Evan You
ba17c871d8 feat: support delimiters option for runtime compilation
close #1679
2020-07-23 14:27:17 -04:00
Evan You
7edfdf7e23 fix(reactivity): avoid tracking internal symbols in has trap
fix #1683
2020-07-22 21:23:32 -04:00
underfin
452edb73cb
fix(compiler-sfc): fix rewrite named export default (#1675) 2020-07-22 21:00:41 -04:00
Evan You
d63daaf9b6 release: v3.0.0-rc.4 2020-07-21 15:40:46 -04:00
Evan You
11c2ad4a04 fix(deps): move @babel/types back to dependencies 2020-07-21 15:39:54 -04:00
Evan You
7753485baa release: v3.0.0-rc.3 2020-07-21 15:27:26 -04:00
Rahul Kadyan
615dccd00e
feat(compiler-core/internal): add onContextCreated option to generate (#1672) 2020-07-21 15:16:20 -04:00
Evan You
4951d43526 fix(compiler-sfc): <style vars scoped> prefixing should only apply to pre-transform source
fix #1623
2020-07-21 15:05:28 -04:00
Evan You
a28a11ef22 chore: make app root attribute consistent with scopeId attributes 2020-07-21 14:56:28 -04:00
Evan You
c852bf18d7 fix(v-model): v-model listeners should not fallthrough to plain element root
fix #1643
2020-07-21 14:17:48 -04:00
Bjarki Hall
304830a764
feat(runtime-core): respect function name when using defineComponent function shorthand (#1661) 2020-07-21 13:15:26 -04:00
Evan You
1af3531719 fix(runtime-core): fix attr fallthrough on compiled framgent w/ single static element + comments 2020-07-21 13:11:19 -04:00
Evan You
6390ddfb7d fix(runtime-core): do not use bail patchFlag on cloned vnodes
fix #1665

- cloned vnodes with extra props will receive only the full props flag
- this commit affects `cloneVNode` behavior when used in manual render
  functions.
  - ok for normal elements since elements only use patchFlags for own
    props optimization
  - full props flag is skipped for fragments because fragments use
    patchFlags only for children optimization
  - this also affects `shouldUpdateComponent` where it should now only
    respect patchFlags in optimized mode, since component vnodes use
    the patchFlag for both props and slots optimization checks.
2020-07-21 13:11:19 -04:00
learningMaster
324167d3d2
test(runtime-dom): add test for vModel composition session (#1631) 2020-07-21 10:34:08 -04:00
Zardddddd60
3e412c10e0
refactor(reactive): reduce code size by assigning to a local variable (#1634) 2020-07-21 10:33:09 -04:00
Evan You
fb8e83f0c2 chore: update link for the feature flag warning [ci skip] 2020-07-21 10:26:16 -04:00
Evan You
7ae07f718d docs: details on esm-bundler feature flags [ci skip] 2020-07-21 10:11:33 -04:00
Evan You
be4df124e6 refactor: move @babel/types to dev deps, reduce install size 2020-07-20 22:14:05 -04:00
Evan You
54727f9874 feat: provide ability to overwrite feature flags in esm-bundler builds
e.g. by replacing `__VUE_OPTIONS_API__` to `false` using webpack's
`DefinePlugin`, the final bundle will drop all code supporting the
options API.

This does not break existing usage, but requires the user to explicitly
configure the feature flags via bundlers to properly tree-shake the
disabled branches. As a result, users will see a console warning if
the flags have not been properly configured.
2020-07-20 21:51:30 -04:00
Carlos Rodrigues
dabdc5e115
feat(computed): add readonly flag if no setter is provided (#1654) 2020-07-20 17:35:31 -04:00
Evan You
ad199e1a25 fix(build): make transition tree-shakeable again 2020-07-20 16:17:14 -04:00
underfin
6f148d0b9a
fix(compiler-sfc): use correct importer with useCssVars (#1658)
fix #https://github.com/vitejs/vite/issues/578
2020-07-20 12:46:33 -04:00
Liaogming
19e41eaddc
chore(compiler-sfc): delete empty file in fixture (#1649) 2020-07-20 12:43:58 -04:00
Tan Li Hau
288b4eab9e
fix(watch): fix watching reactive array (#1656)
fixes #1655
2020-07-20 12:39:22 -04:00
Evan You
1f4045a086 release: v3.0.0-rc.2 2020-07-19 14:52:42 -04:00
Evan You
af7e100ef2 fix(compiler-core): fix v-if + v-for on <template>
fix #1637
2020-07-19 14:36:01 -04:00
underfin
0526e5d7fa
fix(compiler-sfc): use filename from options when compile styl preprocessor (#1635)
fix #https://github.com/vitejs/vite/issues/577
2020-07-19 14:17:31 -04:00
Evan You
03c681e396 refactor(types): move component props interfaces + expose AllowedComponentProps
fix #1632
2020-07-19 14:09:53 -04:00
zhangzhonghe
2deb0c7a74
fix(keep-alive): handle "0" as cache key (#1622)
fix #1621
2020-07-19 13:31:07 -04:00
Carlos Rodrigues
8facaefcc3
fix(watch): callback not called when using flush:sync (#1633) 2020-07-19 13:30:24 -04:00
Evan You
4655d69983 fix(runtime-core/hmr): only use cloneNode mount optimization in prod
fix #1626
2020-07-19 13:22:58 -04:00
Evan You
b3af5dbe5d chore: more detailed teleport target warning
close #1629
2020-07-19 11:52:03 -04:00
HcySunYang
f9826fa963
fix(compiler-core/v-on): fix codegen for event handler with newlines (#1640) 2020-07-19 11:48:26 -04:00
Stanislav
fa5ddf8d06
chore(types): convert type literals to records (#1615) 2020-07-18 22:56:28 -04:00
motao
b8db7ab889
test(runtime-dom): improve v-on system key modifiers test (#1597) 2020-07-18 22:55:39 -04:00
Evan You
0ea14cade9 release: v3.0.0-rc.1 2020-07-17 15:30:17 -04:00
HcySunYang
5d8a64d53a
feat(types): deny unknown attributes on component by default (#1614)
close #1519
2020-07-17 11:43:28 -04:00
leyale
e626caa4d1
chore(shared): menuitem tag has been deprecated (#1613) 2020-07-17 11:26:12 -04:00
underfin
a8966457d3
refactor(devtools): extract same logic into createDevtoolsHook (#1608) 2020-07-17 11:25:33 -04:00
ezshine
2c3427413d
chore: typo [ci skip] (#1604) 2020-07-17 11:24:53 -04:00
lawvs
a935998b33
chore: better comment hovers preview [ci skip] (#1612) 2020-07-17 11:24:12 -04:00
Evan You
341b30c961 fix(watch): post flush watchers should not fire when component is unmounted
fix #1603
2020-07-17 11:17:29 -04:00
Evan You
024a8f10f5 chore: also expose DeepReadonly in runtime-core 2020-07-17 09:29:44 -04:00
Pick
527c2c8bbb
feat(types): expose DeepReadonly type (#1606) 2020-07-17 09:28:50 -04:00
Guillaume Chau
568b6db12b
feat: Initial devtools support (#1125) 2020-07-16 18:18:52 -04:00
Evan You
5ed73cd874 release: v3.0.0-beta.24 2020-07-16 13:51:52 -04:00
Evan You
d5055cd8dd refactor(compiler-sfc): simplify style preprocessors 2020-07-16 13:38:46 -04:00
Evan You
9cb29eea3a fix(compiler-sfc): fix preprocessor filename access 2020-07-16 13:36:31 -04:00
Sohaib Alam
6136cf874e
chore: fix error message (#1602)
make the error message in `compiler-dom` and `compiler-ssr` a bit
cleaner and fix grammar
2020-07-16 13:36:16 -04:00
Evan You
8b5d153d7f release: v3.0.0-beta.23 2020-07-16 12:48:56 -04:00
underfin
e41d8310de
feat(compiler-sfc): export dependencies for css and css preprocessors (#1278) 2020-07-16 12:33:37 -04:00
Zardddddd60
ecf872fc95
refactor(reactive): remove unnecessary args handling in reactiveEffect (#1593) 2020-07-15 23:19:15 -04:00
无忧
22973b418b
chore: remove deprecated elements from dom tag config (#1596) 2020-07-15 23:16:28 -04:00
Evan You
165068dbc2 perf(runtime-core): avoid duplicate postFlushCb invocation
Also improve flush performance by using for loop instead of shift()

fix #1595
2020-07-15 22:36:41 -04:00
Evan You
aab99abd28 fix(slots): properly force update on forwarded slots
fix #1594
2020-07-15 20:12:49 -04:00
Evan You
44e6da1402 fix(runtime-dom): unref when setting useCssVars 2020-07-15 18:31:10 -04:00
Evan You
9b5ff2b567 fix(compiler-sfc): fix useCssVars codegen 2020-07-15 18:05:35 -04:00
Evan You
af4b0c2cf1 fix(compiler-sfc): prohibit src usage for <script setup> + do not
process non js/ts blocks in compileScript
2020-07-15 17:44:02 -04:00
Evan You
4535b1bde8 chore: remove outdated options 2020-07-15 17:05:00 -04:00
Evan You
11727b9e1e refactor(compiler-sfc): adjust sfc compileScript usage 2020-07-15 16:27:21 -04:00
Evan You
03f924e48a refactor(compiler-sfc): move sfc parse errors into return result
Also warn against `<script setup src>` usage
2020-07-15 16:00:53 -04:00
Evan You
fcbefdb769 release: v3.0.0-beta.22 2020-07-15 12:43:41 -04:00
cexbrayat
9146cc485e fix(compiler-sfc): <script setup> warning
The warning was showing even if the component is only using a classic `<script>`
2020-07-15 12:32:11 -04:00
Evan You
5f61aa0f71 fix(hmr): fix hmr updates for reused hoisted trees
fix https://github.com/vitejs/vite/issues/514
2020-07-15 12:26:44 -04:00
Evan You
32a4cb804b test: improve coverage 2020-07-15 10:38:45 -04:00
Evan You
056a13142f test: fix fragment unkeyed fragment test flag 2020-07-15 10:10:38 -04:00
Jacob Müller
fe1b27b7f8
fix(v-model): handle more edge cases in looseEqual() (#379) 2020-07-15 09:37:51 -04:00
春去春又来
379a8af288
test(runtime-core): add test for rendererComponent (#1393) 2020-07-15 09:34:23 -04:00
Pick
b772bba558
feat(types/reactivity): use DeepReadonly type for readonly return type (#1462)
close #1452
2020-07-15 09:27:21 -04:00
underfin
246ec5c594
fix(runtime-core): do not call transition enter hooks when mounting in suspense (#1588)
fix #1583
2020-07-15 09:24:16 -04:00
HcySunYang
64c7b2f9ce
fix(compiler-core): generate incremental keys for v-if/else-if/else chains (#1589)
fix #1587
2020-07-15 09:21:40 -04:00
Carlos Rodrigues
d78a6821f5
types(runtime-core): default SetupContext generic argument to EmitsOptions (#1584) 2020-07-15 09:19:20 -04:00
Evan You
9188e9ea74 release: v3.0.0-beta.21 2020-07-14 17:18:07 -04:00