Evan You
467e113b95
feat(compiler-sfc): <script setup>
defineProps destructure transform ( #4690 )
2021-09-27 14:24:21 -04:00
Evan You
87c86e4cc2
refactor: ensure ssr branches are included in esm-bundler build
2021-09-23 15:02:19 -04:00
Evan You
c1cf26d207
chore: improve feature flag warning
2021-09-23 14:04:52 -04:00
Evan You
1e5a0db4d4
refactor: use getGlobalThis when attachting hmr runtime
2021-09-23 11:53:00 -04:00
Evan You
2476eaad6e
fix(devtools): fix prod devtools detection + handle late devtools hook injection ( #4653 )
2021-09-22 09:07:08 -04:00
skirtle
5aa4255808
fix(runtime-core): return the exposeProxy from mount ( #4606 )
2021-09-21 12:55:08 -04:00
Amour1688
140f089917
fix(types): incorrect type inference of array ( #4578 )
2021-09-21 12:41:10 -04:00
ygj6
58b1fa5ed1
fix(hydration): ensure hydrated event listeners have bound instance ( #4529 )
...
fix #4479
2021-09-21 12:39:21 -04:00
tryag
f31a6c105d
chore: fix type in compatConfig.ts ( #4604 ) [ci skip]
2021-09-21 12:35:42 -04:00
Yang Mingshan
11a2098a69
fix(watch): remove redundant parameter default value ( #4565 )
2021-09-21 12:32:12 -04:00
Evan You
71f22061a6
chore: improve component resolution failure message
2021-09-17 10:01:04 -04:00
Evan You
141a5e188c
fix(suspense): fix suspense slot inside deoptimized slot call
...
fix #4556
2021-09-16 12:14:33 -04:00
ygj6
14fcced281
fix(runtime-core): avoid script setup bindings overwriting reserved ctx properties ( #4570 )
2021-09-16 11:16:07 -04:00
Evan You
a31303f835
build: generate more treeshaking friendly code
2021-09-16 10:56:34 -04:00
Evan You
aa8908a854
fix(hmr): handle possible duplicate component definitions with same id
...
fixes regression in vitepress
2021-09-08 18:36:21 -04:00
fishDog
4178d5d7d9
fix(type): fix prop type infer ( #4530 )
...
fix #4525
2021-09-06 15:24:15 -04:00
Husam Ibrahim
4645a42b79
types(runtime-core): fix for multiple possible prop types including Date ( #4518 )
...
fix #4517
2021-09-05 18:16:44 -04:00
edison
5594643d7b
fix(compiler-sfc): fix script setup ref assignment codegen edge case ( #4520 )
...
fix #4514
2021-09-05 18:02:50 -04:00
dependabot[bot]
305883a12f
build(deps-dev): bump typescript from 4.3.5 to 4.4.2 ( #4482 )
...
* build(deps-dev): bump typescript from 4.3.5 to 4.4.2
Bumps [typescript](https://github.com/Microsoft/TypeScript ) from 4.3.5 to 4.4.2.
- [Release notes](https://github.com/Microsoft/TypeScript/releases )
- [Commits](https://github.com/Microsoft/TypeScript/compare/v4.3.5...v4.4.2 )
---
updated-dependencies:
- dependency-name: typescript
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* build(deps-dev): bump typescript from 4.3.5 to 4.4.2
* test: fix nodeOps types
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Carlos Rodrigues <carlos@hypermob.co.uk>
Co-authored-by: Evan You <yyx990803@gmail.com>
2021-09-02 09:53:57 -04:00
X.L
ef5b73159d
fix(suspense): misusing DOM Comment element constructor as a vnode type ( #4451 )
2021-09-01 16:57:56 -04:00
zhangenming
a6e6253319
types(reactivity): adjust type exports ( #4407 )
2021-09-01 16:49:12 -04:00
laineus
741d3b36f2
fix(runtime-core): properly merge unmounted and beforeUnmount options ( #4447 )
2021-09-01 16:41:57 -04:00
ShroXd
6f555cf98c
refactor(runtime-core): improve the type of defineAsyncComponent ( #4441 )
2021-09-01 16:41:08 -04:00
Evan You
b40845153c
feat(experimental): expose ref macro types using separate d.ts file
2021-08-23 20:35:12 -04:00
Carlos Rodrigues
afd49b3e88
types(PropType): Allow undefined
function to be used on PropType
( #4405 )
2021-08-23 19:04:03 -04:00
HcySunYang
ebd0baca98
fix(types): improve the type of createElementBlock ( #4406 )
...
fix #4391
2021-08-23 18:28:52 -04:00
Evan You
62f752552a
refactor(compiler): extract shared ast transform utils
...
Also improve referenced identifier check using isReferenced from @babel/types
2021-08-22 13:24:16 -04:00
Evan You
4adc5042f9
types: improve ref sugar $computed typing
2021-08-20 00:07:16 -04:00
Evan You
644971ec06
fix(runtime-core): ensure consistent arguments for tempalte and render funtion slot usage
...
fix #4367
2021-08-17 11:15:53 -04:00
Evan You
c1f564e1dc
fix(runtime-core): fix child component double update on props change
...
fix #4365
2021-08-17 10:57:28 -04:00
webfansplz
0627765b36
chore(types): remove unnecessary type assertions ( #4336 )
2021-08-16 18:19:44 -04:00
鱼
5b3f1e8424
fix(runtime-core): patchChildren first in patchElement ( #4313 )
2021-08-16 15:46:27 -04:00
HcySunYang
cd2d98499e
fix(runtime-core): vnode hooks should not be called on async wrapper ( #4349 )
...
fix #4346
2021-08-16 15:35:50 -04:00
Hazlank
6db15a27cf
refactor: merge bitwise flag checks ( #4324 )
2021-08-16 15:13:04 -04:00
webfansplz
1ce34e25d5
fix(types): fix tsx emit-mapped handler return type ( #4290 )
...
fix #4288
2021-08-11 10:52:36 -04:00
edison
380608bd44
fix(types): fix forceUpdate type ( #4302 )
2021-08-11 10:46:18 -04:00
Evan You
00b76d3dc1
feat(sfc): support $shallowRef ref sugar
2021-08-11 10:19:58 -04:00
lidlanca
6779bff537
feat(runtime-core): support dynamic / external array in v-memo ( #4255 )
2021-08-09 15:39:22 -04:00
WoodyJang
f258f5d2c2
chore: delete useless props type ( #4271 )
2021-08-09 12:36:34 -04:00
edison
a211e271ee
fix(v-memo): ensure track block when returning cached vnode ( #4270 )
...
fix #4253
2021-08-06 21:44:45 -04:00
edison
3b60358d0e
fix(v-memo): should work on v-for with constant expression ( #4272 )
...
fix #4246
2021-08-06 21:37:09 -04:00
Evan You
c421fb91b2
feat(runtime-dom): support async component in defineCustomElement
...
close #4261
2021-08-06 19:15:55 -04:00
AlexandraCaragata
d045055b47
fix(core): typing of key in VNodeProps ( #4242 )
...
close #4240
2021-08-06 11:11:26 -04:00
Evan You
bf2589b1f0
refactor(compiler-sfc): use shallowRef for ref sugar destructure
2021-08-04 15:39:32 -04:00
Evan You
6aa871e565
fix(runtime-core): component effect scopes should be detached
2021-07-29 17:15:56 -04:00
Evan You
51ee84fc6a
fix(suspense): fix dynamicChildren tracking when suspense root is a block itself
...
e.g. `<slot>` inside suspense
fix #4183 , fix #4198
2021-07-28 16:49:34 -04:00
Evan You
ee4cbaeec9
fix(runtime-core): expose ssrUtils in esm-bundler build
...
this is necessary for worker environments where Vue needs to be
bundled (instead of using cjs build via Node.js require)
fix #4199
2021-07-27 17:59:13 -04:00
Evan You
561e210157
fix(inject): should auto unwrap injected refs
...
fix #4196
2021-07-27 17:52:37 -04:00
Evan You
8681c12c0c
chore: rename method to make it more explicit it is dev only
2021-07-27 17:52:37 -04:00
Evan You
231dafd55a
refactor: adjust custom element hmr, fix tests
2021-07-22 23:18:15 -04:00
Evan You
bff4ea74c5
fix(hmr): fix custom elements hmr edge cases
2021-07-22 18:54:26 -04:00
Evan You
db3f57a392
fix(hmr): fix hmr when global mixins are used
...
fix #4174
2021-07-22 10:53:59 -04:00
Evan You
8560005601
fix(runtime-core): ensure setupContext.attrs reactivity when used in child slots
...
fix #4161
2021-07-21 17:31:00 -04:00
Evan You
ff0c810300
fix(runtime-dom): defer setting value
...
fix #2325 , fix #4024
2021-07-21 16:38:01 -04:00
王嘉欣
36ae23d27e
chore(types): remove unnecessary assertions ( #4168 )
2021-07-21 15:55:31 -04:00
Evan You
d13774b881
perf: skip patch on same vnode
2021-07-21 14:04:02 -04:00
Evan You
dd1439e711
build: reduce runtime build size
2021-07-21 11:11:40 -04:00
Evan You
d87d059ac1
feat(runtime-core): watchSyncEffect
2021-07-20 16:49:54 -04:00
Evan You
33c2fbfdc8
fix(reactivity): revert computed scheduler change
...
fix #4157
2021-07-20 16:45:29 -04:00
Evan You
bc7f9767f5
fix(watch): ensure watchers respect detached scope
...
fix #4158
2021-07-20 14:32:17 -04:00
Evan You
2bdee50a59
fix(runtime-core): fix v-bind class/style merging regression
...
fix #4155
2021-07-20 13:58:43 -04:00
Evan You
47f488350c
chore: run updated prettier
2021-07-19 18:24:18 -04:00
Amour1688
69344ff1ae
feat(types): map declared emits to onXXX props in inferred prop types ( #3926 )
2021-07-19 18:22:19 -04:00
ioslh
20b6619793
fix(ssr): update initial old value to watch callback in ssr usage ( #4103 )
2021-07-19 17:13:37 -04:00
Evan You
d810a1a569
fix(scheduler): fix insertion for id-less job
...
fix #4148
2021-07-19 13:37:38 -04:00
Evan You
bbf6ca9bca
fix(runtime-core): fix null type in required + multi-type prop declarations
...
fix #4146 (in combination with #4147 )
2021-07-19 11:20:28 -04:00
leno
84f6791e89
chore(runtime-core): use bit operations instead ( #4142 )
2021-07-19 10:32:14 -04:00
Evan You
327c8983fb
types: typing for ref macros
2021-07-16 17:35:04 -04:00
Evan You
1bab53e717
chore: remove deprecated defineEmit & useContext APIs
2021-07-16 16:56:51 -04:00
Evan You
fcc6a54ee7
chore: expose watchPostEffect
2021-07-16 14:30:49 -04:00
Evan You
2a310df753
fix(runtime-core): fix default shapeFlag for fragments
2021-07-16 14:30:49 -04:00
Evan You
f596e008ef
refactor: remove deprecated scopeId codegen
...
BREAKING CHANGE: Output of SFC using `<style scoped>` generated by 3.2+
will be incompatible w/ runtime <3.2.
2021-07-16 14:30:49 -04:00
Evan You
bf4893c17c
types: fix dts tests
2021-07-16 14:30:49 -04:00
Evan You
8610e1c9e2
feat(runtime-dom): defineCustomElement
2021-07-16 14:30:49 -04:00
Evan You
42ace9577d
feat: watchPostEffect
2021-07-16 14:30:49 -04:00
Evan You
3b64508e3b
feat: v-memo
2021-07-16 14:30:49 -04:00
Evan You
1fe2239270
refactor: sync value access for chained computed w/ scheduler
2021-07-16 14:30:49 -04:00
Evan You
eae7c247af
refactor: reduce bundle size
2021-07-16 14:30:49 -04:00
Bas van Meurs
6cf2377cd4
perf(reactivity): use bitwise dep markers to optimize re-tracking ( #4017 )
2021-07-16 14:30:49 -04:00
Evan You
ebaac9a56d
perf(reactivity): avoid triggering re-render if computed value did not change
2021-07-16 14:30:49 -04:00
Anthony Fu
f5617fc3bb
feat(reactivity): new effectScope API ( #2195 )
2021-07-16 14:30:49 -04:00
Evan You
87f69fd0bb
perf(reactivity): improve reactive effect memory usage ( #4001 )
...
Based on #2345 , but with smaller API change
- Use class implementation for `ReactiveEffect`
- Switch internal creation of effects to use the class constructor
- Avoid options object allocation
- Avoid creating bound effect runner function (used in schedulers) when not necessary.
- Consumes ~17% less memory compared to last commit
- Introduces a very minor breaking change: the `scheduler` option passed to `effect` no longer receives the runner function.
2021-07-16 14:30:49 -04:00
HcySunYang
ceff89905b
perf: improve VNode creation performance with compiler hints ( #3334 )
2021-07-16 14:30:49 -04:00
Evan You
8dbad83e7f
fix(compat): fix v3 compiled fn detection in production
2021-07-16 10:17:38 -04:00
Evan You
68365b9b2b
fix(runtime-core): enter optimized mode for component as root
...
fix #3943
2021-07-15 18:51:59 -04:00
Carlos Rodrigues
18911abb91
fix(type): infer parent as this
on nextTick
function ( #3608 )
...
fix #3599
2021-07-15 16:28:20 -04:00
Evan You
c0db807844
refactor: simplify static content insertion
2021-07-15 13:16:19 -04:00
Evan You
2937530bef
fix(v-model): handle mutations of v-model bound array/sets
...
fix #4096
2021-07-15 12:14:19 -04:00
Evan You
03e26845e2
fix(sfc): fix <script setup>
async context preservation logic
...
fix #4050
2021-07-06 14:31:53 -04:00
Austin Keener
f3e15f633e
fix(compat): fix props check for v-model compat warning ( #4056 )
2021-07-04 18:32:44 -04:00
Evan You
438754a0d1
fix(build): avoid using async/await syntax
2021-07-02 08:06:25 -04:00
Austin Keener
12cf9f4ea1
fix(runtime-core): fix instance accessed via $parent chain when using expose() ( #4048 )
2021-07-02 07:51:54 -04:00
wonderl17
735ada1507
fix(runtime-core): add useAttrs and useSlots export ( #4053 )
2021-07-02 07:51:09 -04:00
Evan You
ba89ca9eca
fix(runtime-dom): fix static node content caching edge cases
...
reverts fded1e8
fix #4023 , #4031 , #4037
2021-07-01 19:19:53 -04:00
Guillaume
347d90173b
types: export CreateComponentPublicInstance
2021-07-02 00:10:07 +02:00
Evan You
33708e8bf4
fix(ssr): ensure behavior consistency between prod/dev when mounting SSR app to empty containers
...
close #4034
2021-07-01 17:22:03 -04:00
Evan You
34d4991dd5
fix(ssr): properly hydrate non-string value bindings
...
fix #4006
2021-07-01 17:11:23 -04:00
Evan You
fded1e8dfa
fix(runtime-core): fix mouting of detached static vnode
...
fix #4023
2021-07-01 16:11:50 -04:00
Johnson Chu
81e69b29ec
feat(types): support IDE renaming for props ( #3656 )
2021-07-01 13:48:23 -04:00
Evan You
9ee41e14d2
fix: prevent withAsyncContext currentInstance leak in edge cases
2021-06-29 14:22:18 -04:00
Evan You
0240e82a38
feat(sfc): auto restore current instance after await statements in async setup()
2021-06-29 09:24:12 -04:00
LordTerabyte
d069796b8f
fix(runtime-core): add missing serverPrefetch hook error string ( #4014 )
2021-06-28 15:30:20 -04:00
Evan You
ef5c41523f
types: fix global helpers dts generation
2021-06-26 21:47:18 -04:00
Evan You
fddef8bb74
chore: remove unnecessary casting
2021-06-26 21:35:25 -04:00
Evan You
004bd18cf7
feat(sfc/types): make <script setup>
helper types available globally
2021-06-26 21:12:26 -04:00
Evan You
4c5844a9ca
feat(sfc): withDefaults helper
2021-06-26 21:11:57 -04:00
Evan You
3ffc7be864
chore(sfc-playground): ignore duplicate logs
2021-06-25 19:31:47 -04:00
Evan You
1675b6d723
fix: defineExpose type definition and runtime warning
2021-06-25 16:18:21 -04:00
Evan You
b0203a3092
feat(expose): always expose $ instance properties on child refs
2021-06-24 21:28:09 -04:00
Evan You
ac853ff4ab
test: fix script setup helpers tests
2021-06-23 10:31:32 -04:00
Evan You
0b8b576428
fix(sfc): allow variables that start with _ or $ in <script setup>
2021-06-23 10:13:23 -04:00
Evan You
63e9e2e9aa
feat(sfc): useAttrs + useSlots
...
Deprecate useContext
2021-06-22 21:07:42 -04:00
Eduardo San Martin Morote
a137da8a9f
feat(sfc): add defineEmits
and deprecate defineEmit
( #3725 )
2021-06-22 15:02:56 -04:00
Evan You
9b607fe409
fix(watch): fix watch option merging from mixins
...
fix #3966
2021-06-22 13:54:43 -04:00
Eduardo San Martin Morote
ab6e927041
fix(Suspense): emit initial fallback and pending events ( #3965 )
...
Fix #3964
2021-06-21 17:03:07 -04:00
edison
43e2a72900
fix(Suspense): fallback should work with transition ( #3968 )
...
fix #3963
2021-06-21 16:58:43 -04:00
Evan You
4de5d24aa7
perf: improve static content insertion perf
...
Especially on multiple insertions of the same static node.
fix #3090
2021-06-21 14:38:29 -04:00
Evan You
056ef2a7d2
refactor: use markRaw instead of internal flag check
2021-06-11 18:46:31 -04:00
Eunjae Lee
db1dc1c630
fix(runtime-core): bind default function of inject to instance ( #3925 )
...
fix #3923
2021-06-09 12:02:05 -04:00
LYlanfeng
011dee8644
fix(runtime-core): fix multiple .once event handlers on same component ( #3904 )
...
fix #3902
2021-06-08 09:52:45 -04:00
Guillaume
2b52d5d7c5
fix(devtools): expose root instance
...
related to https://github.com/vuejs/vue-devtools/issues/1376
2021-06-07 23:23:45 +02:00
Evan You
ad844cf1e7
fix(compat): revert private properties on $options in comapt mode
...
fix #3883
2021-06-07 11:04:41 -04:00
Evan You
5bce2ae723
fix(runtime-core): fix fragment update inside de-opt slots
...
fix #3881
2021-06-04 18:03:40 -04:00
Evan You
2b5a559055
chore: avoid compat disabled error for built-in components
2021-06-02 16:06:09 -04:00
Evan You
9acc9a1fa8
fix(watch): avoid traversing objects that are marked non-reactive
...
e.g. Vue public instances
2021-06-02 15:51:27 -04:00
Evan You
51d2be2038
perf: avoid deopt for props/emits normalization when global mixins are used
2021-06-02 15:22:52 -04:00
Evan You
e2ca67b59a
fix(runtime-core): align option merge behavior with Vue 2
...
fix #3566 , #2791
2021-06-02 15:19:56 -04:00
Evan You
1e35a860b9
refactor: adjust component options merge cache strategy
...
BREAKING CHANGE: optionMergeStrategies functions no longer receive
the component instance as the 3rd argument. The argument was technically
internal in Vue 2 and only used for generating warnings, and should not
be needed in userland code. This removal enables much more efficient
caching of option merging.
2021-06-02 10:42:52 -04:00
Evan You
44996d1a0a
fix(suspense): fix suspense regression for errored template component
...
fix #3857
2021-05-31 17:19:03 -04:00
Evan You
c7efb967ca
fix(compat): fix deep data merge with extended constructor
...
fix #3852
2021-05-31 16:48:18 -04:00
Evan You
071986a2c6
fix(transition): fix higher order transition components with merged listeners
...
fix #3227
2021-05-28 15:42:08 -04:00
edison
d6607c9864
fix(runtime-core): fix resolving inheritAttrs from mixins ( #3742 )
...
fix #3741
2021-05-27 21:53:41 -04:00
Evan You
1ff06376ff
chore: type fix
2021-05-27 20:58:27 -04:00
Evan You
03a7a73148
fix(reactivity): ensure computed always expose value
...
fix #3099
Also changes the original fix for #910 by moving the fix from
reactivity to the scheduler
2021-05-27 20:53:21 -04:00
Evan You
32e21333dd
fix(runtime-core): stricter compat root mount check
2021-05-27 20:47:46 -04:00
HcySunYang
a641eb201f
fix(runtime-core): fix cases of reused children arrays in render functions ( #3670 )
...
fix #3666
2021-05-27 17:06:55 -04:00
HcySunYang
ff50e8d78c
fix(runtime-core): should disable tracking inside directive lifecycle hooks ( #3699 )
2021-05-27 16:53:19 -04:00
Evan You
9f24195d2c
fix(suspense): fix suspense patching in optimized mode
...
fix #3828
2021-05-27 16:32:31 -04:00
Evan You
b46a4dccf6
fix(ssr): handle hydrated async component unmounted before resolve
...
fix #3787
2021-05-26 15:26:18 -04:00
Evan You
b57e995edd
fix(scheduler): handle preFlush cb queued inside postFlush cb
...
fix #3806
2021-05-26 14:21:49 -04:00
HcySunYang
e8ddf86080
fix(runtime-core): properly check forwarded slots type ( #3781 )
...
fix #3779
2021-05-26 11:52:03 -04:00
edison
4e3f82f683
fix(runtime-core/teleport): ensure the nested teleport can be unmounted correctly ( #3629 )
...
fix #3623
2021-05-26 10:51:55 -04:00
HcySunYang
201060717d
fix(runtime-core): should not track dynamic children when the user calls a compiled slot inside template expression ( #3554 )
...
fix #3548 , partial fix for #3569
2021-05-25 13:33:41 -04:00
Evan You
1526f94edf
fix(watch): should not leak this context to setup watch getters
...
ref #3603
2021-05-25 11:10:11 -04:00
HcySunYang
9e3708ca75
fix(keep-alive): include/exclude should work with async component ( #3531 )
...
fix #3529
2021-05-25 10:50:00 -04:00
Evan You
b76c453507
refactor: adjust absent prop casting logic
2021-05-24 19:09:18 -04:00
Evan You
0255be2f4b
fix(runtime-core): avoid double-setting props when casting
...
fix #3371 , close #3384
2021-05-24 18:48:33 -04:00
HcySunYang
4ce0df6ef1
fix(runtime-core): avoid the proxy object polluting the slots of the internal instance ( #3698 )
...
fix #3695
2021-05-24 18:17:37 -04:00
Guillaume Chau
f7c54caeb1
feat(devtools): performance events
2021-05-19 20:48:35 +02:00
Guillaume Chau
1355ee27a6
fix(devtools): send update to component owning the slot
...
https://github.com/vuejs/vue-devtools/issues/1404
2021-05-19 18:19:28 +02:00