Commit Graph

890 Commits

Author SHA1 Message Date
underfin
a8966457d3
refactor(devtools): extract same logic into createDevtoolsHook (#1608) 2020-07-17 11:25:33 -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
Guillaume Chau
568b6db12b
feat: Initial devtools support (#1125) 2020-07-16 18:18:52 -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
4535b1bde8 chore: remove outdated options 2020-07-15 17:05:00 -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
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
Carlos Rodrigues
d78a6821f5
types(runtime-core): default SetupContext generic argument to EmitsOptions (#1584) 2020-07-15 09:19:20 -04:00
Evan You
f49f95344b chore: fix types 2020-07-14 17:07:36 -04:00
underfin
583a1c7b45
fix(runtime-core): avoid scopeId as attr for slot nodes with same scopeId (#1561)
fix vitejs/vite#536
2020-07-14 17:06:39 -04:00
Pick
2b60870f8a
refactor(types): improve code readability & friendly to type hints (#1560) 2020-07-14 16:33:30 -04:00
Evan You
00ab9e2e85 refactor: adjust event options handling to be JSX friendly 2020-07-14 13:20:59 -04:00
Evan You
380c6792d8 fix(v-on): refactor DOM event options modifer handling
fix #1567

Previously multiple `v-on` handlers with different event attach option
modifers (`.once`, `.capture` and `.passive`) are generated as an array
of objects in the form of `[{ handler, options }]` - however, this
makes it pretty complex for `runtime-dom` to properly handle all
possible value permutations, as each handler may need to be attached
with different options.

With this commit, they are now generated as event props with different
keys - e.g. `v-on:click.capture` is now generated as a prop named
`onClick.capture`. This allows them to be patched as separate props
which makes the runtime handling much simpler.
2020-07-14 11:48:05 -04:00
Evan You
9152a89016 fix(v-on): capitalize dynamic event names 2020-07-13 17:36:46 -04:00
Pick
09f61b4049
types(runtime-core): adjust Renderer's type declaration (#1566) 2020-07-13 12:44:37 -04:00
Evan You
65beba98fe fix(slots): differentiate dynamic/static compiled slots
fix #1557
2020-07-13 12:36:41 -04:00
Evan You
ba3b3cdda9 fix(runtime-core/emits): merge emits options from mixins/extends
fix #1562
2020-07-13 11:55:46 -04:00
Evan You
b6cdd5621e wip: template binding optimization 2020-07-10 22:12:25 -04:00
Evan You
9f706a9f5e feat(runtime-dom): useCssVars 2020-07-09 16:25:29 -04:00
Evan You
903e8f697e fix(runtime-core): should allow v-model listeners to fallthrough, but ignore for warning
fix #1543
2020-07-08 11:56:47 -04:00
Carlos Rodrigues
1e90605c15
types(runtime-core): provide valid type for default $emit (#1498) 2020-07-08 11:51:03 -04:00
meteorlxy
220db9bcda
feat(types): expose WritableComputedRef (#1500) 2020-07-08 11:49:07 -04:00
Felix Rilling
829b35e426
chore: typo fixes (#1546)
* chore: fix typos in comments/JSDoc.

* chore: fix typo in internal function name.

* chore: fix typos in test comments/descriptions/variable names.
2020-07-08 12:32:42 +02:00
Evan You
fe9e227ae4 types: adjust resolveDynamicComponent return type 2020-07-07 12:43:05 -04:00
Evan You
58b07069ad fix(watch): stop instance-bound watchers in post render queue
so that changes triggered in beforeUnmount get correct value in callback

fix #1525
2020-07-06 21:50:56 -04:00
Evan You
d7184c99e6 refactor(types): add VNode to VNodeTypes 2020-07-06 21:12:15 -04:00
Evan You
31e37b417b chore: warn NaN vnode key 2020-07-06 18:56:21 -04:00
Evan You
d86b01ba3a fix(keep-alive): fix keep-alive with scopeId/fallthrough attrs
fix #1511
2020-07-06 18:17:40 -04:00
Evan You
6dd59ee301 fix(v-model): should ignore compiled v-model listeners in attr fallthrough
fix #1510
2020-07-06 17:00:34 -04:00
Evan You
36b6b4f022 fix(runtime-core/template-ref): template ref used in the same template should trigger update
fix #1505
2020-07-06 16:40:00 -04:00
Evan You
f3e9c1b59d fix(runtime-core): avoid accidental access of Object.prototype properties 2020-07-01 20:13:02 -04:00
Evan You
4e8e689572 fix: ensure vnode hooks are called consistently regardless of keep-alive 2020-07-01 19:50:13 -04:00
Evan You
c9629f2692 feat(runtime-core): support creating vnode from existing vnode
This allows passing vnode around with curried props and use it in
places where VNodeType is expected, e.g. `<component :is=""/>`
2020-07-01 19:48:01 -04:00
Evan You
2bdb5c1464 fix(runtime-core): pass unmount into inital mount patch prop 2020-07-01 16:01:46 -04:00
Evan You
7886c267f7 refactor: remove unused inheritRef option
This is technically a breaking change, but the option was not meant for public use
and ended up not solving the problem it was introduced for.
2020-07-01 15:40:11 -04:00
Evan You
6b23216e6d chore: comment on slot optimization hint [ci skip] 2020-06-30 12:01:05 -04:00
Evan You
d2bf3cc4a8 chore: remove unnecessary loop 2020-06-30 11:43:15 -04:00
Evan You
b3536d87a5 fix(runtime-dom): allow force updating value bindings for controlled inputs
fix #1471
2020-06-30 11:23:09 -04:00
Evan You
062835d45a fix(slots): make compiled slot marker non-enumerable
fix #1470
2020-06-30 09:27:06 -04:00
Jian Zhang
0017caf68b
chore: avoid unnecessary function call (#1464) 2020-06-29 18:52:44 -04:00
Evan You
86d3972855 fix(transition-group): vue 2 compatible handling of transition-group w/ multiple v-for children
fix #1126
2020-06-29 18:16:10 -04:00
underfin
d4cd12887e
fix(BaseTransition): collect correct children with slot passthrough in Transition (#1456)
fix #1455
2020-06-29 12:04:28 -04:00
Evan You
afe13e0584 fix(ssr): fix ssr scopeId on component root 2020-06-27 00:27:44 -04:00
Evan You
978d9522e8 fix(runtime-core): fix scopeId inheritance for component inside slots 2020-06-26 22:28:55 -04:00
Evan You
0dd5cde861 fix(runtime-core): handle patch flag de-op from cloned vnode
close #1426
2020-06-26 18:05:53 -04:00
Evan You
f3f94e4deb fix(runtime-core): component root should inherit scopeId from vnode
fix #1399
2020-06-26 17:54:44 -04:00
Evan You
70ea76ae0c fix(slots): filter out compiler marker from resolved slots
fix #1451
2020-06-26 17:18:39 -04:00
Evan You
d5dbd27193 fix(ssr): handle fallthrough attrs in ssr compile output 2020-06-26 16:55:37 -04:00
Evan You
e0d19a6953 fix(runtime-core): always check props presence in public instance proxy
When the there are props merged from mixins or extends, the component itself
may not have a props property.

fix #1236 where merged props are not exposed in production
2020-06-26 10:19:07 -04:00
Evan You
5453e791ae chore: fix types 2020-06-26 10:07:07 -04:00
edison
178e89305d
chore(reactivity): use consistent naming for ReactiveFlags enum (#1428) 2020-06-26 09:32:09 -04:00
Evan You
e765d81404 fix(runtime-core): fix component name inference in warnings
Should not pollute component definition name property
fix #1418
2020-06-26 09:28:15 -04:00
underfin
1c4e1b6792
fix(runtime-core): should remove no longer present camelCase props (#1413)
fix #1412
2020-06-26 09:16:06 -04:00
Evan You
056cac9185 feat(runtime-core): expose version on app instance
close #1449
2020-06-26 09:03:55 -04:00
Evan You
9edbc27f45 fix(transition): fix css:false with hooks with no explicit done callback
close #1149
2020-06-25 17:40:49 -04:00
underfin
2ff8dcab0a
fix(BaseTransition): fix BaseTransition delayed leave with mode in-out (#1404)
fix #1400
2020-06-25 17:00:19 -04:00
Evan You
7ae70ea44c fix(transition): fix appear hooks handling 2020-06-25 16:02:28 -04:00
Albert Liu
a60f3b1430
refactor(types): remove unnecessary as any (#1411) 2020-06-25 11:05:39 -04:00
Evan You
2961e149c9 fix(types): ensure correct public props interface for defineComponent instance type
fix #1385
2020-06-16 12:00:18 -04:00
underfin
6c8bfa1018
fix(runtime-core): fix parent el update on nested HOC self-update (#1360)
fix #1357
2020-06-15 16:46:29 -04:00
Evan You
be69beed5e fix(runtime-core): cloneVNode should preserve correct ctx instance when normalizing ref
fix #1311
2020-06-15 15:57:37 -04:00
Cédric Exbrayat
68e2d6c68a
fix(types): export ComponentOptionsMixin (#1361)
The newly introduced `ComponentOptionsMixin` was not re-exported.
2020-06-15 11:13:00 -04:00
Cathrine Vaage
250eb4a5bc
fix(runtime-core): properly capitalize v-on object keys (#1358) 2020-06-15 11:12:08 -04:00
Evan You
6abac87b3d fix(runtime-core): track access to $attrs
fix #1346
2020-06-12 16:59:15 -04:00
Evan You
91fa52850a chore: lint for unused arguments 2020-06-12 16:31:31 -04:00
Evan You
e76ed4c269 refactor(hmr): simplify hmr force update check 2020-06-12 14:53:48 -04:00
Carlos Rodrigues
8f2a7489b7
fix(hmr): force full update on nested child components (#1312) 2020-06-12 14:31:56 -04:00
Evan You
8084156f4d fix(runtime-core): mount children before setting element props
fix #1318, close #1320
2020-06-12 12:14:39 -04:00
underfin
aac9b03c11
fix(runtime-core): should pass instance to patchProp on mount for event error handling (#1337)
fix #1336
2020-06-12 11:59:55 -04:00
Albert Liu
47c4ffbdbe
refactor(types): improve typing (#1317) 2020-06-12 10:46:44 -04:00
Cédric Exbrayat
cab769f174
fix(types): add RawSlots in h signature (#1293) 2020-06-12 10:38:56 -04:00
underfin
c463a71bb3
fix(ssr): fix unintended error on Teleport hydration mismatch (#1271)
fix #1235
2020-06-12 10:01:56 -04:00
tangjinzhou
d437a0145d
fix(runtime-core): default value for function type prop (#1349)
fix #1348
2020-06-12 09:06:28 -04:00
Carlos Rodrigues
4c4f39b6ea
types(props): fix typo on prototype (#1334) 2020-06-11 17:34:21 -04:00
ysj16
1f2926a33c
perf: optimize LRU access in keep-alive (#1316) 2020-06-11 17:24:50 -04:00
underfin
0b93440146
chore: better warning when remounting a mounted app (#1297) 2020-06-11 17:20:38 -04:00
Evan You
3fafc3b3ac
types(runtime-core): improve types for transition hook (#1009)
* types(runtime-core): improve types for transition hook

fix #1000

* Update packages/runtime-core/src/components/BaseTransition.ts

Co-Authored-By: Carlos Rodrigues <david-181@hotmail.com>

* fix: run ci

Co-authored-by: Carlos Rodrigues <david-181@hotmail.com>
2020-06-11 16:39:18 -04:00
underfin
419b86d190
feat(types): support typing directive value via generic argument (#1007)
close #998
2020-06-11 16:37:14 -04:00
Evan You
80c868aefe workflow: setup eslint for prohibited syntax and globals
fix #1285
2020-06-10 16:54:23 -04:00
Evan You
e4dc03a8b1 feat(types): adjust type exports for manual render function and tooling usage
- v-model and v-show directives are now exposed as public
- compiler-used runtime helpers are now exposed for TS tooling, but marked as @private

close #1329
2020-06-10 14:57:21 -04:00
Evan You
2417a0cb30 fix(runtime-core): respect props from mixins and extends
fix #1236, close #1250
2020-06-09 11:27:40 -04:00
doly mood
d3c436ae2e
feat(types): mixins/extends support in TypeScript (#626) 2020-06-09 10:37:00 -04:00
Carlos Rodrigues
97dedebd80
feat(types): update to Typescript 3.9 (#1106) 2020-06-09 10:17:42 -04:00
Alexandre Bonaventure Geissmann
4a5021e763
fix(runtime-core): use array destructuring instead of object for edge compat (#1302)
fix #1294
2020-06-05 10:57:44 -04:00
Evan You
2408a65662 fix(hmr): force full update in child component on slot update 2020-05-29 10:50:01 -04:00
Evan You
38f2d23a60 feat(runtime-core): add inheritRef option + make <transition> & <keep-alive> inherit refs 2020-05-22 10:26:17 -04:00
Evan You
0a7932c6b3 fix(ssr): should set ref on hydration 2020-05-21 17:37:23 -04:00
Evan You
24168bbb33 chore: improve comments 2020-05-18 11:17:57 -04:00
Yang Mingshan
ba62ccd55d
feat(watch): support directly watching reactive object in multiple sources with deep default (#1201) 2020-05-18 11:02:51 -04:00
Evan You
b26976b6d8 wip: fix tests 2020-05-15 17:05:26 -04:00
Evan You
dc229bcda4 wip(hydration): hydrate multi-element static nodes 2020-05-15 16:30:20 -04:00
Evan You
1184118d23 wip(runtime): test for static vnode handling 2020-05-15 16:11:53 -04:00
Evan You
dbf627f136 wip(runtime): support multi-element static vnode in renderer 2020-05-15 15:12:26 -04:00
Evan You
2bc6a8c1cf fix(hmr): static child traversal should only affect elements 2020-05-11 15:46:30 -04:00
Evan You
1b946c85df fix(hmr): always force full child component props update in HMR mode 2020-05-11 14:17:35 -04:00
Evan You
5b8883a846 fix(runtime-core): should not take unmount children fast path for v-for fragments
fix #1153
2020-05-11 13:53:28 -04:00