HcySunYang
5d8a64d53a
feat(types): deny unknown attributes on component by default ( #1614 )
...
close #1519
2020-07-17 11:43:28 -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
Guillaume Chau
568b6db12b
feat: Initial devtools support ( #1125 )
2020-07-16 18:18:52 -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
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
Pick
09f61b4049
types(runtime-core): adjust Renderer's type declaration ( #1566 )
2020-07-13 12:44:37 -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
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
4e8e689572
fix: ensure vnode hooks are called consistently regardless of keep-alive
2020-07-01 19:50:13 -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
b3536d87a5
fix(runtime-dom): allow force updating value bindings for controlled inputs
...
fix #1471
2020-06-30 11:23:09 -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
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
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
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
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
Evan You
66c5a556dc
fix(hmr): ensure static nodes inherit DOM element in hmr mode
...
fix #1156
2020-05-11 11:34:42 -04:00
underfin
8b85aaeea9
fix(runtime-core): should call Suspense fallback unmount hook ( #1061 )
...
fix #1059
2020-05-01 16:20:16 -04:00
Evan You
08bf7e3607
fix(runtime-core): cloned vnodes with extra props should de-opt
2020-05-01 14:55:27 -04:00
Evan You
ac6a6f11ac
fix(runtime-core): fix slot fragment bail check
2020-05-01 14:16:55 -04:00
Carlos Rodrigues
239270c38a
fix(keep-alive): do not invoke onVnodeBeforeUnmount if is KeepAlive component ( #1079 )
2020-04-30 14:52:03 -04:00
Evan You
386b093554
fix(hmr): support hmr for static nodes
2020-04-30 14:45:25 -04:00
Evan You
171cfa404f
fix(runtime-core): should not cast prop value if prop did not change
...
fix #999
2020-04-20 14:16:25 -04:00
Evan You
19223f5462
build: remove __BUNLDER__ flag so that HMR is available for all builds
2020-04-20 13:39:47 -04:00
Evan You
370fc820cc
refactor(runtime-core): refactor instance public proxy context object
2020-04-16 12:49:50 -04:00
Evan You
b2662a62c5
wip: separate setupState
2020-04-16 11:50:33 -04:00
Evan You
24e5ab33f5
refactor(runtime-core): remove need for internal instance sink
2020-04-16 10:09:20 -04:00
Evan You
cda50ea788
refactor(runtime-core): move updateCompnent into separate function
2020-04-10 10:19:26 -04:00
Evan You
cb504c287f
refactor(runtime-core): refactor slots resolution
...
Get rid of need for setup proxy in production mode and improve console
inspection in dev mode
2020-04-06 21:06:53 -04:00
Evan You
ec4a4c1e06
refactor(runtime-core): refactor props resolution
...
Improve performance in optimized mode + tests
2020-04-06 17:37:47 -04:00
Evan You
f42d11e8e1
fix(v-model): handle dynamic assigners and array assigners
...
close #923
2020-04-04 20:51:42 -04:00
Evan You
bf473a64ea
feat(runtime-core): type and attr fallthrough support for emits option
2020-04-03 12:05:52 -04:00
Evan You
eee5095692
refactor: rename <portal>
to <teleport>
...
BREAKING CHANGE: `<portal>` has been renamed to `<teleport>`.
`target` prop is also renmaed to `to`, so the new usage will be:
```html
<Teleport to="#modal-layer" :disabled="isMobile">
<div class="modal">
hello
</div>
</Teleport>
```
The primary reason for the renaming is to avoid potential naming
conflict with [native portals](https://wicg.github.io/portals/ ).
2020-04-01 21:55:19 -04:00
Evan You
e93e426bfa
feat(runtime-core): config.performance tracing support
2020-04-01 21:36:50 -04:00
Evan You
449ab039fe
feat(templateRef): should work with direct reactive property
...
close #901
2020-03-31 10:35:49 -04:00
Evan You
55b364decc
feat(templateRef): support template ref for all vnode types
2020-03-31 10:30:12 -04:00
Evan You
573bcb2e11
refactor(runtime-core): remove the need for currentSuspense
2020-03-30 11:49:51 -04:00
Evan You
8ce3da0104
feat(portal): support disabled prop
2020-03-30 11:24:28 -04:00
Evan You
aafb880a0a
feat(portal): support multiple portal appending to same target
2020-03-27 18:42:57 -04:00
Evan You
b1d0b046af
fix(runtome-dom): properly support creating customized built-in element
2020-03-27 12:39:00 -04:00
Evan You
16cd8eee78
fix(portal): portal should always remove its children when unmounted
2020-03-25 17:27:55 -04:00
Evan You
123738727a
fix(keep-alive): should update re-activated component with latest props
2020-03-24 10:28:00 -04:00
Evan You
4c1a193617
fix: do not drop SFC runtime behavior code in global builds
...
fix #873
2020-03-23 15:10:35 -04:00
Evan You
b8c1be18f3
refactor(types): use stricter settings
...
fix #847
2020-03-23 11:08:22 -04:00
Evan You
ba9a91c48c
refactor: remove null comparisons
2020-03-18 18:14:51 -04:00
Evan You
811f28a7d1
test(runtime-core): tests for vnode hooks
2020-03-18 16:35:04 -04:00
Evan You
aa4ab39c1a
refactor: separate vnode hooks and directive hooks
2020-03-18 12:30:26 -04:00
Evan You
6679799540
refactor: refactor vnode hooks invocation
2020-03-18 12:30:26 -04:00
Evan You
9ad65b1653
refactor(template-ref): improve template ref handling
...
close #836 , close #839
2020-03-16 13:06:46 -04:00
Evan You
a3cc970030
feat(ssr/suspense): suspense hydration
...
In order to support hydration of async components, server-rendered
fragments must be explicitly marked with comment nodes.
2020-03-13 13:05:05 -04:00
Evan You
ca5f39ee35
refactor(runtime-core): adjust patchProp value arguments order
...
BREAKING CHANGE: `RendererOptions.patchProp` arguments order has changed
The `prevValue` and `nextValue` position has been swapped to keep it
consistent with other functions in the renderer implementation. This
only affects custom renderers using the `createRenderer` API.
2020-03-09 16:15:49 -04:00
hareku
cd34603864
fix(runtime-core): pass prev value to hostPatchProp ( #809 )
...
fix #808
2020-03-09 16:08:10 -04:00
Evan You
11d2fb2594
refactor(fragments): remove visible anchors for fragments
2020-02-26 16:32:06 -05:00
Evan You
3eab143843
fix(template-ref): fix string template refs inside slots
2020-02-25 18:29:51 -05:00
djy0
c11905fe36
chore: fix typo ( #764 ) [ci skip]
2020-02-24 18:01:26 +01:00
Evan You
9d2ac6675a
refactor: make portal tree-shakeable
2020-02-15 17:44:37 -05:00
Evan You
96605b79a3
types: avoid duplicate type declarations for renderer closure functions
2020-02-14 16:25:41 -05:00
Evan You
80904e92b8
types: cleanup renderer & hydration typing
2020-02-14 12:33:32 -05:00
Evan You
629ee75588
perf: prevent renderer hot functions being inlined by minifiers
...
Terser will aggressively inline hot functions in renderer.ts in order
to reduce "function" declarations, but the inlining leads to performance
overhead (small, but noticeable in benchmarks).
Since we cannot control user's minifier options, we have to avoid the
deopt in the source code by using arrow functions in hot paths.
2020-02-14 03:27:27 -05:00
Evan You
6df2aca070
refactor(types): move shapeFlags to shared
2020-02-14 01:36:42 -05:00
Evan You
167f8241bd
refactor(ssr): make hydration logic tree-shakeable
2020-02-14 01:30:08 -05:00
Evan You
42d80b5888
wip(ssr): component hydration
2020-02-13 23:31:03 -05:00
Evan You
6b505dcd23
wip(ssr): basic element hydration
2020-02-13 17:47:00 -05:00
Evan You
175f8aae8d
feat(compiler): mark hoisted trees with patchFlag
2020-02-12 13:31:29 -05:00
Evan You
27913e661a
feat(compiler-dom/runtime-dom): stringify eligible static trees
2020-02-12 11:56:42 -05:00
Evan You
8a87074df0
fix(runtime-core/scheduler): avoid duplicate updates of child component
2020-02-10 13:09:15 -05:00
Evan You
778f3a5e88
fix(runtime-core): should not return early on text patchFlag
...
fix vnode updated hook on elements with dynamic text children
2020-02-10 12:06:36 -05:00
Evan You
6b1ce00621
wip(ssr): renderer support for optimized and manual slots
2020-01-28 22:58:02 -05:00
Evan You
6f43c4b516
wip(ssr): vdom serialization
2020-01-28 18:48:27 -05:00
Evan You
cee36ad028
wip(ssr): render real components
2020-01-27 16:00:17 -05:00
Evan You
da25517377
wip(ssr): initial work on server-renderer
2020-01-27 16:00:17 -05:00
Evan You
c07751fd36
refactor: adjust createApp
related API signatures
...
BREAKING CHANGE: `createApp` API has been adjusted.
- `createApp()` now accepts the root component, and optionally a props
object to pass to the root component.
- `app.mount()` now accepts a single argument (the root container)
- `app.unmount()` no longer requires arguments.
New behavior looks like the following:
``` js
const app = createApp(RootComponent)
app.mount('#app')
app.unmount()
```
2020-01-27 16:00:17 -05:00
Evan You
4f06eebc1c
fix(dom): fix <svg> and <foreignObject> mount and updates
2020-01-21 11:32:33 -05:00
Evan You
035b6560f7
fix(runtime-core): isSVG check should also apply for patch branch
...
fix #639
2020-01-20 11:55:18 -05:00
Evan You
c35fea3d60
fix(runtime-core): condition for parent node check should be any different nodes
...
fix #622
2020-01-16 16:21:37 -05:00
Evan You
2e9726e6a2
fix(runtime-core/renderer): fix v-if toggle inside blocks
...
Should check both branches for parent container access.
Fix #604 . Close #607 .
2020-01-13 17:31:22 -05:00
Evan You
7d436ab59a
fix: mounting new children
2019-12-22 16:24:24 -05:00
Evan You
2fdb499bd9
fix(fragment): perform direct remove when removing fragments
...
This avoids trying to grab .el from hoisted child nodes (which can
be created by another instance), and also skips transition check
since fragment children cannot have transitions.
2019-12-22 16:15:16 -05:00
Evan You
47a6a84631
fix(core): clone mounted hoisted vnodes on patch
...
...since they may need to be checked as fragment child
2019-12-22 13:31:13 -05:00
Evan You
eda495efd8
feat(hmr): root instance reload
2019-12-22 12:25:04 -05:00
Evan You
c9b9ae3941
refactor: rename apiApp.ts -> apiCreateApp.ts
2019-12-22 11:27:40 -05:00
Chris Fritz
1c4cdd841d
refactor(createComponent): rename to defineComponent ( #549 )
2019-12-22 10:58:12 -05:00
Evan You
9f52dce0d5
fix(renderer): should also use latest parent node when patching block child components
2019-12-18 17:09:28 -05:00
Evan You
8ea2101553
test: test hot module replacement
2019-12-17 12:31:38 -05:00
Evan You
f194aa0eea
feat(sfc): ::slotted selector support
2019-12-17 12:31:38 -05:00
Evan You
69c9dbc825
feat(sfc): scopeId runtime support
2019-12-17 12:31:38 -05:00
Evan You
d6acb9c073
fix(hmr): force full diff on HMR
2019-12-13 17:57:21 -05:00
Evan You
fa5390fb6f
fix(fragment): properly remove compiler generated fragments
2019-12-13 10:31:40 -05:00
Cr
6797e35703
chore: fix typos ( #541 )
2019-12-13 11:49:01 +01:00