Commit Graph

2094 Commits

Author SHA1 Message Date
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