Commit Graph

976 Commits

Author SHA1 Message Date
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
Evan You fb8e83f0c2 chore: update link for the feature flag warning [ci skip] 2020-07-21 10:26:16 -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
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 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
Stanislav fa5ddf8d06
chore(types): convert type literals to records (#1615) 2020-07-18 22:56:28 -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
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 5ed73cd874 release: v3.0.0-beta.24 2020-07-16 13:51:52 -04:00
Evan You 8b5d153d7f release: v3.0.0-beta.23 2020-07-16 12:48:56 -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 fcbefdb769 release: v3.0.0-beta.22 2020-07-15 12:43:41 -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
春去春又来 379a8af288
test(runtime-core): add test for rendererComponent (#1393) 2020-07-15 09:34:23 -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 9188e9ea74 release: v3.0.0-beta.21 2020-07-14 17:18:07 -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 20df2f3817 release: v3.0.0-beta.20 2020-07-08 12:45:30 -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
Evan You 00f6031fbf test: assert vnode invalid key warning for NaN 2020-07-08 11:48:12 -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