Evan You
c27dfe1d09
fix(runtime-core): scheduler should allow intentional self triggering effects
...
fix #1727
2020-07-28 12:29:43 -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
Evan You
354d79c42b
fix(runtime-core): respect render function from mixins
...
fix #1630
2020-07-27 17:44:17 -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
d63daaf9b6
release: v3.0.0-rc.4
2020-07-21 15:40:46 -04:00
Evan You
7753485baa
release: v3.0.0-rc.3
2020-07-21 15:27:26 -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
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
Evan You
fe9e227ae4
types: adjust resolveDynamicComponent return type
2020-07-07 12:43:05 -04:00
Evan You
d5ab70ba66
release: v3.0.0-beta.19
2020-07-07 10:04:31 -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
7f83856f34
release: v3.0.0-beta.18
2020-07-01 21:06:25 -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
f6da6bf999
release: v3.0.0-beta.17
2020-06-30 12:10:15 -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
ec3c12ee10
release: v3.0.0-beta.16
2020-06-29 18:34:50 -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
Stanislav Lashmanov
6bc0e0a31a
feat(ssr): renderToStream ( #1197 )
2020-06-26 11:09:47 -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
e68209bfdb
test: bump jest
2020-06-16 12:11:51 -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
Carlos Rodrigues
6e9789cef1
test(runtime-core): test multi-root ref assignment ( #1374 )
2020-06-15 09:31:14 -04:00
Evan You
cf2f278f48
release: v3.0.0-beta.15
2020-06-12 18:09:05 -04:00
Evan You
51510adacb
test: fix hmr test
2020-06-12 17:17:01 -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
215c106297
test: test for mixin/extends props merging
2020-06-09 16:20:33 -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
32b3f78a36
release: v3.0.0-beta.14
2020-05-18 14:42:11 -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
underfin
520cad7d4d
test(runtime-core): add test case for createBlock
with disableTracking ( #1169 )
2020-05-18 10:20:05 -04:00
underfin
efa3214866
test(runtime-core): add test for renderSlot
( #1160 )
2020-05-18 10:14:09 -04:00
Evan You
449fd05ad6
release: v3.0.0-beta.13
2020-05-16 21:53:47 -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
3c88299f6a
release: v3.0.0-beta.12
2020-05-11 15:52:37 -04:00
Evan You
2bc6a8c1cf
fix(hmr): static child traversal should only affect elements
2020-05-11 15:46:30 -04:00
Evan You
aa1672a8bd
test: fix hmr test id
2020-05-11 15:44:13 -04:00
Evan You
7887c54dfe
release: v3.0.0-beta.11
2020-05-11 14:25:36 -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
Evan You
a165d8293d
feat(runtime-core): expose isVNode
2020-05-11 11:09:36 -04:00
Evan You
13acb9134e
release: v3.0.0-beta.10
2020-05-07 11:21:18 -04:00
Evan You
8df6bc0132
refactor: reuse parseStringStyle across compiler and runtime
2020-05-06 11:22:49 -04:00
t-zzzzzzzzz
2d9f136077
fix(runtime-dom/style): normalize string when merging styles ( #1127 )
2020-05-06 11:14:07 -04:00
susiwen8
df4150dc4c
chore: LegacyOptions doesn't need to be exported ( #1134 )
2020-05-06 11:07:11 -04:00
Evan You
40166a8637
feat(types): re-expose trasnformVNodeArgs
2020-05-05 10:45:33 -04:00
Evan You
c32ed52b97
release: v3.0.0-beta.9
2020-05-04 17:14:42 -04:00
Evan You
3c3fe88c64
release: v3.0.0-beta.8
2020-05-04 10:49:23 -04:00
Evan You
ff97be15c3
chore: ensure warn is dev only
2020-05-04 10:17:40 -04:00
Evan You
6b33cc4229
feat(watch): support directly watching reactive object with deep default
...
Also warn invalid watch sources
close #1110
2020-05-04 09:27:28 -04:00
Evan You
64ef7c76bf
feat(types): re-expose resolve asset utitlies and registerRuntimeCompiler in type definitions
...
close #1109
2020-05-04 08:52:59 -04:00
Evan You
01b7e90eac
fix(hmr): handle cases where instances with same id having different definitions
2020-05-03 13:52:09 -04:00
Evan You
0dc44a6a86
release: v3.0.0-beta.7
2020-05-02 17:06:16 -04:00
Evan You
d901b6bea8
refactor(reactivity): use more efficient reactive checks
...
WeakSets and WeakMaps shows degrading performance as the amount of
observed objects increases. Using hidden keys result in better
performance especially when repeatedly creating large amounts of
reactive proxies.
This also makes it possible to more efficiently declare non-reactive
objects in userland.
2020-05-02 16:58:17 -04:00
Eduardo San Martin Morote
71a942b25a
fix(warn): cast symbols to strings ( #1103 )
2020-05-02 10:26:32 -04:00
Evan You
583ba0c172
feat(types): re-expose withDirectives
as public type
2020-05-02 10:19:40 -04:00
Evan You
b570287dfe
release: v3.0.0-beta.6
2020-05-01 18:56:53 -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
b40fcbc4c6
fix(types): augment ref unwrap bail types in appropriate packages
...
Packages can now augment the ref unwrap bail types in their own `d.ts`.
Also updated the build script to auto concat any files in a package's
`types` directory to the final generated `d.ts`.
- `@vue/reactivity` should no longer require `libs: ["DOM"]` in tsconfig
- Properly bail on `VNode` and `ComponentPublicInstance` in runtime-core
2020-05-01 16:14:30 -04:00
Evan You
7f23555356
fix(teleport): teleport should always be tracked as dynamic child for unmount
...
fix #1088
2020-05-01 15:12:07 -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
Evan You
11f38d8a85
perf: instance public proxy should never be observed
2020-05-01 13:24:38 -04:00
Evan You
62336085f4
fix(runtime-core): avoid infinite warning loop for isRef check on component public proxy
...
fix #1091
2020-05-01 13:23:59 -04:00
Evan You
1bddeea247
feat(runtime-core): warn against user properties with reserved prefixes
2020-05-01 11:23:22 -04:00
Evan You
68e1ce8b66
refactor(types): mark more internal APIs
2020-05-01 10:37:40 -04:00
HiiTea
22717772dd
chore: fix typos ( #1090 )
2020-05-01 09:42:58 -04:00
Evan You
127e96a993
types: fix internal exports from @vue/shared
2020-05-01 09:19:30 -04:00
Evan You
c9bf7ded2e
refactor(types): mark internal API exports and exclude from d.ts
...
BREAKING CHANGE: Internal APIs are now excluded from type decalrations.
2020-04-30 17:04:35 -04:00
Evan You
a5bb1d02b7
release: v3.0.0-beta.5
2020-04-30 16:20:25 -04:00
Bas van Meurs
ba240eb497
feat(runtime-core): export queuePostFlushCb ( #1078 )
2020-04-30 14:58:50 -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
352c369704
chore: remove stale _isVue checks
2020-04-30 14:45:25 -04:00
Evan You
386b093554
fix(hmr): support hmr for static nodes
2020-04-30 14:45:25 -04:00
Evan You
e087b4e024
fix(hydration): fix text mismatch warning
2020-04-29 17:07:41 -04:00
Evan You
a0e2c12874
fix(warning): always check for component instance presence when formatting traces
2020-04-29 14:41:22 -04:00
Evan You
892fb6d229
types: use more consistent naming for apiWatch type exports
...
BREAKING CHANGE: Some watch API types are renamed.
- `BaseWatchOptions` -> `WatchOptionsBase`
- `StopHandle` -> `WatchStopHandle`
2020-04-27 13:33:57 -04:00
Evan You
8ab44e1f80
types: expose ComponentOptionsBase
2020-04-27 13:31:40 -04:00
Evan You
d29aefcf99
release: v3.0.0-beta.4
2020-04-24 16:20:20 -04:00
Evan You
ca84f46cd0
chore: add tip about Suspense being experimental
2020-04-24 16:13:44 -04:00
Evan You
ded92f93b4
fix(runtime-core): dynamic component should support falsy values without warning
2020-04-24 15:32:47 -04:00
Carlos Rodrigues
f3a9b516bd
fix(types): make return type of defineComponent
assignable to Component
type ( #1032 )
...
fix #993
2020-04-24 13:22:58 -04:00
Carlos Rodrigues
28b4c317b4
feat(types): expose ToRefs
type ( #1037 )
2020-04-24 13:10:16 -04:00
Evan You
c9f10be9de
refactor(runtime-core): extract key/ref normalization logic
2020-04-24 13:06:56 -04:00
Evan You
d7379c7647
fix(runtime-core): fix key/ref resolution for cloneVNode
...
fix #1041
2020-04-24 12:42:46 -04:00
Evan You
dcf2458fa8
fix(runtime-core): fix dynamic node tracking in dynamic component that resolves to plain elements
...
fix #1039
2020-04-24 12:18:51 -04:00
underfin
63c8444d4a
Update packages/runtime-core/src/components/BaseTransition.ts
...
Co-Authored-By: Carlos Rodrigues <david-181@hotmail.com>
2020-04-23 06:53:46 +08:00
Evan You
2acf3e84b9
feat(reactivity): add triggerRef API
...
Also make shallowRef assignment behavior consistent with normal ref
2020-04-22 18:00:10 -04:00
underfin
2b19965bcf
fix(slots): compiled slot fallback should be functions ( #1030 )
...
This avoids it being collected as dynamic children when it's not used.
fix #1021
2020-04-22 16:52:41 -04:00
Evan You
ff4d1fcd81
fix(runtime-core): mixin options that rely on this context should be deferred
...
Also ensure consistent option apply order with Vue 2, close #1016 , close #1029
2020-04-22 16:36:18 -04:00
Evan You
e422b8b082
fix(runtime-core): only infer component name for object components
...
close #1023
2020-04-22 04:39:12 -04:00
likui
9bddf3820e
types(runtime-core): improve types for transition hook
...
fix #1000
2020-04-21 12:06:10 +08:00
Evan You
6fefeafe98
release: v3.0.0-beta.3
2020-04-20 17:00:26 -04:00
Andrew Talbot
cebad64d22
feat(runtime-core): improve warning for extraneous event listeners ( #1005 )
...
fix #1001
2020-04-20 16:40:59 -04:00
Evan You
dece6102aa
feat(warn): infer anonymous component named based on resolve name
2020-04-20 16:17:29 -04:00
Evan You
0278992f78
fix(warn): fix component name inference in warning trace
2020-04-20 16:06:51 -04:00
Andrew Talbot
054ccecd58
perf(core): use startsWith
instead of indexOf
( #989 )
2020-04-20 15:44:20 -04:00
Evan You
ab844fd169
feat(runtime-core): more specific warning for failed v-on fallthrough
...
close #1001
2020-04-20 15:32:21 -04:00
Evan You
e954ba21f0
feat(build): provide more specific warnings for runtime compilation
...
close #1004
2020-04-20 15:23:26 -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
36d77f9a9e
refactor(hmr): simplify usage
2020-04-20 13:39:47 -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
Jian Zhang
a51b052672
chore: remove a dead if branch ( #986 )
2020-04-17 18:41:33 -04:00
Evan You
c1a85cb124
release: v3.0.0-beta.2
2020-04-17 11:01:01 -04:00
Evan You
d7ca1c5c6e
fix(runtime-core): fix user attched public instance properties that start with "$"
2020-04-17 10:23:10 -04:00
Carlos Rodrigues
99fd158d09
fix(watch): fix deep watchers on refs containing primitives ( #984 )
2020-04-17 09:55:41 -04:00
Evan You
c0adb67c2e
feat(types): expose ComponentCustomOptions for declaring custom options
2020-04-17 09:41:36 -04:00
Evan You
be21cfb1db
feat(types): feat(types): add ComponentCustomProperties
interface ( #982 )
2020-04-17 09:12:50 -04:00
Cédric Exbrayat
4cf5e07608
feat(types): expose ExtractPropTypes ( #983 )
2020-04-17 09:00:25 -04:00
Evan You
ca6912554c
release: v3.0.0-beta.1
2020-04-16 15:45:04 -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
0709380c5f
feat(runtime-core): skip emit warn if has equivalent onXXX prop
2020-04-16 11:27:52 -04:00
Evan You
bfd6744fb1
perf(runtime-core): use raw context on component options init
2020-04-16 10:39:51 -04:00
Evan You
24e5ab33f5
refactor(runtime-core): remove need for internal instance sink
2020-04-16 10:09:20 -04:00
Evan You
09b4202a22
refactor(reactivity): adjust APIs
...
BREAKING CHANGE: Reactivity APIs adjustments:
- `readonly` is now non-tracking if called on plain objects.
`lock` and `unlock` have been removed. A `readonly` proxy can no
longer be directly mutated. However, it can still wrap an already
reactive object and track changes to the source reactive object.
- `isReactive` now only returns true for proxies created by `reactive`,
or a `readonly` proxy that wraps a `reactive` proxy.
- A new utility `isProxy` is introduced, which returns true for both
reactive or readonly proxies.
- `markNonReactive` has been renamed to `markRaw`.
2020-04-15 16:45:20 -04:00
Evan You
11654a6e50
release: v3.0.0-alpha.13
2020-04-15 12:46:26 -04:00
pikax
dcb5985c00
Merge remote-tracking branch 'github/master' into changing_unwrap_ref
2020-04-15 15:54:26 +01:00
Evan You
3178504273
refactor(reactivity): make readonly non-tracking
2020-04-14 23:49:46 -04:00
Evan You
486dc188fe
feat(reactivity): add support for toRef
API
2020-04-14 20:49:18 -04:00
Evan You
b83c580131
feat(reactivity): add support for customRef
API
2020-04-14 20:45:46 -04:00
Evan You
4046f0bc03
chore: revert debugging dev flag
2020-04-14 18:32:27 -04:00
Evan You
8ae362400e
types: fix public instance $root and $parent type
2020-04-14 18:13:53 -04:00
Evan You
2e06f5bbe8
feat(runtime-core): detect and warn against components made reactive
...
close #962
2020-04-14 18:07:47 -04:00
Evan You
3e7bb7d110
feat(runtime-core): warn async data()
2020-04-14 17:40:41 -04:00
Evan You
78977c3997
fix(scheduler): sort jobs before flushing
...
This fixes the case where a child component is added to the queue before
its parent, but should be invalidated by its parent's update. Same logic
was present in Vue 2.
Properly fixes #910
ref: https://github.com/vuejs/vue-next/issues/910#issuecomment-613097539
2020-04-14 17:31:35 -04:00
Evan You
c80b857eb5
fix(runtime-core): should resolve value instead of delete for dynamic props with options
2020-04-14 16:17:35 -04:00
Evan You
e8a866ec99
refactor(reactivity): remove stale API markReadonly
...
BREAKING CHANGE: `markReadonly` has been removed.
2020-04-13 17:39:48 -04:00
Evan You
9e9d264412
Revert "feat(reactivity): add effect to public api ( #909 )" ( #961 )
...
This reverts commit 6fba241850
.
2020-04-13 17:13:06 -04:00
pikax
6a66b7b60a
Merge remote-tracking branch 'github/master' into changing_unwrap_ref
2020-04-13 18:32:14 +01:00
Evan You
7cbf684611
fix(runtime-core): fix kebab-case props update
...
fix #955
2020-04-13 12:37:31 -04:00
Evan You
5968cff3a8
refactor: make sure setupContext.emit always reference current emit on instance
...
This is dev only and for internal use by vue-test-utils.
2020-04-13 10:06:51 -04:00
Evan You
6eb3399311
fix(runtime-dom): fix patching for attributes starting with on
...
fix #949
BREAKING CHANGE: Only props starting with `on` followed by an uppercase
letter or a non-letter character are considered event listeners.
2020-04-10 11:57:07 -04:00
Evan You
55566e8f52
refactor(runtime-core): remove emit return value
...
BREAKING CHANGE: this.$emit() and setupContext.emit() no longer
return values. For logic that relies on return value of listeners,
the listener should be declared as an `onXXX` prop and be called
directly. This still allows the parent component to pass in
a handler using `v-on`, since `v-on:foo` internally compiles
to `onFoo`.
ref: https://github.com/vuejs/rfcs/pull/16
2020-04-10 10:59:46 -04:00
Evan You
a6e2b1052a
fix(compiler-core): should not generate CLASS/STYLE patch flags on components
...
ref #677
2020-04-10 10:19:26 -04:00
Evan You
cda50ea788
refactor(runtime-core): move updateCompnent into separate function
2020-04-10 10:19:26 -04:00
Evan You
1d9f8fc979
release: v3.0.0-alpha.12
2020-04-08 18:59:49 -04:00
pikax
ab9add4f78
types: bring back my changes
2020-04-08 21:34:00 +01:00
pikax
5ae74144f2
Merge remote-tracking branch 'github/master' into changing_unwrap_ref
...
# Conflicts:
# packages/reactivity/src/ref.ts
# packages/runtime-core/__tests__/apiTemplateRef.spec.ts
# packages/runtime-core/src/apiWatch.ts
2020-04-08 21:21:04 +01:00
Evan You
84440780f9
fix(slots): should update compiled dynamic slots
2020-04-08 12:23:44 -04:00
likui
a27e9ee9ae
fix(runtime-core): set fragment root children should also update dynamicChildren ( #944 )
...
fix #943
2020-04-08 09:32:09 -04:00
Evan You
42278317e1
fix(transition): should ship props declarations in production
2020-04-07 17:19:37 -04:00
Evan You
b8da8b2dfa
fix(transition): fix dynamic transition update on nested HOCs
2020-04-07 16:08:15 -04:00
Evan You
e804463492
feat(asyncComponent): add onError
option for defineAsyncComponent
...
BREAKING CHANGE: `retryWhen` and `maxRetries` options for
`defineAsyncComponent` has been replaced by the more flexible `onError`
option, per https://github.com/vuejs/rfcs/pull/148
2020-04-07 14:34:42 -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
c5f0f63b91
refactor(runtime-core): make setup attrs proxy dev only
2020-04-06 17:57:27 -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
c28a9196b2
fix(runtime-core): fix globalProperties in check on instance render proxy
2020-04-06 11:41:28 -04:00
Rahul Kadyan
4d196366c8
types(runtime-core): Adds type signature for renderList helper ( #924 )
2020-04-06 09:57:32 -04:00
Evan You
899287ad35
feat(runtime-core): improve component public instance proxy inspection
2020-04-05 18:39:22 -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
c1d5928f3b
fix(types): accept generic Component type in h()
...
fix #922
2020-04-04 13:29:29 -04:00
Evan You
7402951d94
release: v3.0.0-alpha.11
2020-04-03 21:45:50 -04:00
Evan You
e42cb54394
fix(runtime-core): support attr merging on child with root level comments
...
fix #904
2020-04-03 21:37:58 -04:00
Evan You
c7c3a6a3be
feat(runtime-core): emits validation and warnings
2020-04-03 20:40:34 -04:00
Evan You
24e9efcc21
refactor(runtime-core): extract component emit related logic into dedicated file
2020-04-03 19:08:17 -04:00
Evan You
bf473a64ea
feat(runtime-core): type and attr fallthrough support for emits option
2020-04-03 12:05:52 -04:00
Robbin Baauw
6fba241850
feat(reactivity): add effect to public api ( #909 )
2020-04-03 09:30:58 -04:00
Carlos Rodrigues
026eb729f3
fix(types): allow use PropType with Function ( #915 )
...
close #748
2020-04-03 09:28:13 -04:00
Evan You
4b03b922e2
chore: remove debugger
2020-04-03 09:21:21 -04:00
Evan You
21bcdec943
refactor(runtime-core): adjust attr fallthrough behavior
...
BREAKING CHANGE: attribute fallthrough behavior has been adjusted
according to https://github.com/vuejs/rfcs/pull/154
2020-04-03 09:20:37 -04:00
Cédric Exbrayat
2103a485d7
refactor(runtime-core): remove unnecessary tracing check ( #912 )
...
The check for `config.performance` is already done inside `endMeasure` and is not done anywhere else `endMeasure` is called.
2020-04-03 09:19:53 -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
Eduardo San Martin Morote
94562daea7
fix(inject): allow default value to be undefined
( #894 )
...
Close #892
2020-03-30 15:24:55 -04:00
Evan You
573bcb2e11
refactor(runtime-core): remove the need for currentSuspense
2020-03-30 11:49:51 -04:00
Evan You
b74bab216c
feat(portal): hydration support for portal disabled mode
2020-03-30 11:24:29 -04:00
Evan You
9ed9bf3687
feat(portal): SSR support for portal disabled prop
2020-03-30 11:24:29 -04:00
Evan You
8ce3da0104
feat(portal): support disabled prop
2020-03-30 11:24:28 -04:00
Evan You
e866434f0c
feat(portal): SSR support for multi portal shared target
2020-03-27 20:49:01 -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
Eduardo San Martin Morote
412ec86128
fix(types): export missing types from runtime-core ( #889 )
2020-03-27 09:30:49 -04:00
Evan You
c01930e60b
feat(asyncComponent): retry support
...
BREAKING CHANGE: async component `error` and `loading` options have been
renamed to `errorComponent` and `loadingComponent` respectively.
2020-03-26 20:58:31 -04:00
Cédric Exbrayat
ebc587376c
refactor(runtime-core): rename createAsyncComponent
to defineAsyncComponent
( #888 )
...
BREAKING CHANGE: `createAsyncComponent` has been renamed to `defineAsyncComponent` for consistency with `defineComponent`.
2020-03-26 11:59:54 -04:00
Evan You
925ba6bb7b
chore: fix tests
2020-03-25 17:55:09 -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
cb31eb4d0a
feat(runtime-core): failed component resolution should fallback to native element
2020-03-25 15:08:15 -04:00
Evan You
c5beb9fb4c
chore: remove unused import
2020-03-25 09:48:24 -04:00
Evan You
27873dbe1c
feat(runtime-core): support app.config.globalProperties
...
per https://github.com/vuejs/rfcs/pull/117/
2020-03-25 09:28:43 -04:00
Evan You
de81faf00a
release: v3.0.0-alpha.10
2020-03-24 18:33:40 -04:00
Evan You
d99437f870
chore: rmeove debugger [ci skip]
2020-03-24 18:18:59 -04:00
Evan You
76a83857c1
chore: fix resolveAsset test typing
2020-03-24 13:02:17 -04:00
Evan You
10ad965100
fix: fix option merge global mixins presence check
2020-03-24 12:59:33 -04:00
Evan You
dbbd9990e0
chore: fix Portal test types
2020-03-24 12:58:12 -04:00
Evan You
4cb3c5c49a
test: improve $options test to use beforeCreate hook
2020-03-24 12:03:21 -04:00
Evan You
528621ba41
feat(runtime-core): support config.optionMergeStrategies
...
Note the behavior is different from Vue 2:
- merge strategies no longer apply to built-in options.
- the default value is now an empty object and no longer exposes merge
strategies for built-in options.
2020-03-24 11:59:00 -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
bfae9b2e55
types: fix createVNode dts generation
2020-03-23 17:36:19 -04:00
Evan You
455a1534c9
refactor: transformHArgs -> transformVNodeArgs
2020-03-23 16:54:28 -04:00
Evan You
cba2f1aadb
feat(asyncComponent): SSR/hydration support for async component
2020-03-23 16:14:56 -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
f529dbde23
fix: dynamic component fallback to native element
...
fix #870
2020-03-23 14:47:04 -04:00
Yang Mingshan
dff2fbab93
types(watch): export watchEffect types ( #866 )
2020-03-23 11:11:27 -04:00
Yang Mingshan
14908f2734
chore: prefer const ( #865 )
2020-03-23 11:11:00 -04:00
Evan You
b8c1be18f3
refactor(types): use stricter settings
...
fix #847
2020-03-23 11:08:22 -04:00
Evan You
b3890a93e3
fix(runtime-core): fix component proxy props presence check
...
fix #864
2020-03-21 16:25:33 -04:00
Evan You
c3bb3169f4
feat(runtime-core): async component support
2020-03-21 16:01:08 -04:00
Jessica Sachs
b7d1e0fa2f
feat: add hook for transforming h's arguments ( #851 )
...
Note: this is for internal use (e.g. `@vue/test-utils`) only
2020-03-19 10:54:03 -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
ebc1ca8eff
fix(suspense): clear effects on suspense resolve
2020-03-18 15:40:20 -04:00
Evan You
be91b43564
types: improve directive hook argument types
2020-03-18 12:30:26 -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
3b282e7e3c
fix(runtime-core): fix boolean props validation
2020-03-17 10:35:32 -04:00
Evan You
5282ff0edb
release: v3.0.0-alpha.9
2020-03-16 18:56:44 -04:00
yang
3d38e6faf3
refactor(componentProps): extract validate prop name logic ( #825 )
2020-03-16 18:45:08 -04:00
yang
703c9bc61f
types(ComponentInternalInstance): ComponentInternalInstance.type could reuse Component type ( #824 )
2020-03-16 18:41:11 -04:00
Evan You
c450ede12d
feat(ssr): support getSSRProps for vnode directives
2020-03-16 18:36:19 -04:00
Evan You
38f0269765
refactor: simplify suspense ssr + adjust behavior
2020-03-16 15:38:35 -04:00
Evan You
eb5b32fead
test: fix resolveAssets test + test resolveDynamicComponent in slots
2020-03-16 13:17:57 -04:00
Evan You
4dc8ffc378
fix: simplify and use correct ctx in withCtx
2020-03-16 13:06:46 -04:00
Evan You
23701666cb
Revert "refactor(directives): remove binding.instance"
...
This reverts commit 52cc7e8231
.
2020-03-16 13:06:46 -04:00
Evan You
19228a469a
refactor: simplify resolveDyanmicComponent
2020-03-16 13:06:46 -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
8a58dce603
feat(runtime-core): set context for manual slot functions as well
2020-03-16 13:06:46 -04:00
Evan You
ecd7ce60d5
feat(compiler-core): wrap slot functions with render context
2020-03-16 13:06:46 -04:00
djy0
bcb750bb3a
test(runtime-core): fix test for vnode key ( #846 )
2020-03-16 13:06:03 -04:00
sqal
d9dd1d8a0a
fix(runtime-core): pass instance proxy as data() argument ( #828 )
...
Match current behaviour of vue 2
2020-03-16 10:28:17 -04:00
jods
c7ae269972
fix(runtime-core): empty boolean props ( #844 )
...
close #843
2020-03-16 10:19:06 -04:00
likui
760c3e0fd6
feat(types): export ErrorTypes
( #840 )
2020-03-15 11:40:58 -04:00
djy0
58bc51991e
chore(runtime-core): fix typo in warning ( #841 ) [ci skip]
2020-03-15 11:29:21 -04:00
Evan You
60ed4e7e08
feat(ssr): improve fragment mismatch handling
2020-03-13 18:02:53 -04:00
Evan You
eb1d538ea2
test(ssr): hydration suspense tests
2020-03-13 13:05:05 -04:00
Evan You
1f9c9c14ae
chore: move hydration tests
2020-03-13 13:05:05 -04:00
Evan You
a05d41c940
refactor(ssr): adjust ssr fragment anchor content
2020-03-13 13:05:05 -04:00
Evan You
cad5bcce40
feat(ssr): hide comment anchors during hydration in dev mode
2020-03-13 13:05:05 -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
bb7fa3dabc
feat(runtime-core): implement RFC-0020
...
BREAKING CHANGE: data no longer supports object format (per RFC-0020)
2020-03-12 16:13:12 -04:00
Katashin
dd17fa1c90
feat(runtime-core): add special property to get class component options ( #821 )
2020-03-12 11:46:32 -04:00
hareku
1e9d1319c3
fix(types): app.component should accept defineComponent return type ( #822 )
...
fix #730
2020-03-12 10:19:30 -04:00
Cédric Exbrayat
28a9beed16
fix(runtime-core): always set invalid vnode type ( #820 )
...
Currently, when a component used is not properly registered, we have a warning and the vnode type is set to a Comment type in DEV mode. But in prod mode, we have no default value, making such an application broken and throw a strange error (`can not read _isSuspense of undefined`).
This commit avoids such an error in prod mode (as it is currently the case in Vue 2.x).
2020-03-11 16:44:14 -04:00
Evan You
206640a2d8
fix(build): remove __RUNTIME_COMPILE__ flag
...
behavior should be consistent in all builds. fix #817
2020-03-11 16:39:26 -04:00
Cédric Exbrayat
f59779706b
refactor(Suspense): remove unnecessary casts ( #819 )
2020-03-11 11:17:10 -04:00
Evan You
47ead3b33a
refactor(ssr): improve ssr async setup / suspense error handling
2020-03-10 16:52:31 -04:00
Dmitry Sharshakov
589aeb402c
feat(server-renderer): render suspense in vnode mode ( #727 )
2020-03-09 18:20:30 -04:00
hareku
e12ddd96ba
test(runtime-core/renderer): tests for rendering elements ( #699 )
2020-03-09 17:08: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
djy0
54a0e93c27
fix(runtime-core): should allow empty string and 0 as valid vnode key ( #807 )
2020-03-09 16:03:57 -04:00
hareku
257727569a
types(runtime-core): update error type to unknown ( #798 )
2020-03-09 15:58:52 -04:00
Evan You
c75388d538
release: v3.0.0-alpha.8
2020-03-06 15:58:40 -05:00
Evan You
dd2d25fee1
test(ssr): test for hydration mismatch handling
2020-03-06 15:39:54 -05:00
Evan You
3be3785f94
fix(ssr): fix ssr on-the-fly compilation + slot fallback branch helper injection
2020-03-06 14:52:15 -05:00
Evan You
08bba093af
test(ssr): more hydration tests
2020-03-05 10:29:50 -06:00
Evan You
fb4856b363
test(ssr): hydratioon tests (wip)
2020-03-04 17:06:50 -06:00
Evan You
91269da52c
feat(ssr): hydration mismatch handling
2020-03-03 15:12:38 -06:00
Evan You
7971b0468c
fix(directives): ignore invalid directive hooks
...
fix #795
2020-03-03 12:26:48 -06:00
火石
27afbaf02d
chore: fix componentRenderUtils.ts comment typo ( #790 ) [ci skip]
2020-03-03 10:05:07 -06:00
Evan You
bcb2a9b4a6
build: make @vue/shared public
...
This avoids it being inlined multiple times in esm bundler builds
2020-02-29 22:04:42 -05:00
Evan You
e1660f4338
refactor(runtime-core): adjust attr fallthrough behavior
...
BREAKING CHANGE: adjust attr fallthrough behavior
Updated per pending RFC https://github.com/vuejs/rfcs/pull/137
- Implicit fallthrough now by default only applies for a whitelist
of attributes (class, style, event listeners, a11y attributes, and
data attributes).
- Fallthrough is now applied regardless of whether the component has
explicitly declared props. (close #749 )
2020-02-28 17:53:26 -05:00
Evan You
6810d1402e
fix(runtime-core): ensure inhertied attrs update on optimized child root
...
fix #677 , close #784
2020-02-27 21:51:57 -05:00
Evan You
4809325c07
refactor(hydration): move fragment to seaprate function + skip normalization in optimized mode
2020-02-27 11:26:39 -05:00
Evan You
3357ff438c
fix(slots): fix conditional slot
...
fix #787
2020-02-26 21:43:27 -05:00
Evan You
5d952cc051
test: fix options usage of reactive
2020-02-26 21:29:41 -05:00
Evan You
e67f655b26
refactor(runtime-core): revert setup() result reactive conversion
...
BREAKING CHANGE: revert setup() result reactive conversion
Revert 6b10f0c
& a840e7d
. The motivation of the original change was
avoiding unnecessary deep conversions, but that can be achieved by
explicitly marking values non-reactive via `markNonReactive`.
Removing the reactive conversion behavior leads to an usability
issue in that plain objects containing refs (which is what most
composition functions will return), when exposed as a nested
property from `setup()`, will not unwrap the refs in templates. This
goes against the "no .value in template" intuition and the only
workaround requires users to manually wrap it again with `reactive()`.
So in this commit we are reverting to the previous behavior where
objects returned from `setup()` are implicitly wrapped with
`reactive()` for deep ref unwrapping.
2020-02-26 19:01:42 -05:00
Evan You
11d2fb2594
refactor(fragments): remove visible anchors for fragments
2020-02-26 16:32:06 -05:00
Evan You
439752822c
fix(portal): fix portal placeholder text
2020-02-26 16:07:00 -05:00
Evan You
312513d255
release: v3.0.0-alpha.7
2020-02-26 14:36:38 -05:00
Evan You
e42d6b0712
refactor: use consistent name for watch invalidation register function
2020-02-26 10:20:30 -05:00
djy0
04f83fa681
fix(runtime-core): set appContext.provides to Object.create(null) ( #781 )
2020-02-26 10:20:10 -05:00
Evan You
711d16cc65
refactor: remove old watch signature support
2020-02-25 19:39:49 -05:00
Evan You
52cc7e8231
refactor(directives): remove binding.instance
...
BREAKING CHANGE: custom directive bindings no longer expose instance
This is a rarely used property that creates extra complexity in
ensuring it points to the correct instance. From a design
perspective, a custom directive should be scoped to the element and
data it is bound to and should not have access to the entire
instance in the first place.
2020-02-25 19:35:48 -05:00
Evan You
3eab143843
fix(template-ref): fix string template refs inside slots
2020-02-25 18:29:51 -05:00
ysj16
8cb0b83088
fix(renderSlot): set slot render as a STABLE_FRAGMENT ( #776 )
...
fix #766
2020-02-25 16:41:44 +01:00
Evan You
4a5b91bd1f
fix(runtime-core): fix slot fallback + slots typing
...
fix #773
2020-02-25 09:41:07 -05:00
djy0
19a799c28b
fix(runtime-core): make watchEffect ignore deep option ( #765 )
2020-02-24 18:03:02 +01:00
djy0
c11905fe36
chore: fix typo ( #764 ) [ci skip]
2020-02-24 18:01:26 +01:00
Evan You
9ab22c7ae6
release: v3.0.0-alpha.6
2020-02-22 08:25:32 +01:00
Evan You
99a2e18c97
feat(runtime-core): add watchEffect API
...
BREAKING CHANGE: replae `watch(fn, options?)` with `watchEffect`
The `watch(fn, options?)` signature has been replaced by the new
`watchEffect` API, which has the same usage and behavior. `watch`
now only supports the `watch(source, cb, options?)` signautre.
2020-02-22 08:19:10 +01:00
Evan You
e9024bf1b7
feat(reactivity): expose unref and shallowRef
2020-02-22 04:39:32 +01:00
Evan You
0c67201942
chore: fix test type
2020-02-22 03:54:20 +01:00
hareku
9547c2b93d
fix(sfc): inherit parent scopeId on child rooot ( #756 )
2020-02-21 14:44:13 +01:00
Evan You
a840e7ddf0
fix(types): update setup binding unwrap types for 6b10f0c
...
close #738
2020-02-19 18:29:18 +01:00
Evan You
478b4cfb2c
release: v3.0.0-alpha.5
2020-02-18 15:00:55 -05:00
Evan You
8383e5450e
fix(runtime-core): ensure renderCache always exists
2020-02-18 14:43:12 -05:00
Evan You
583f9468fa
refactor: extract remove util
2020-02-18 13:52:59 -05:00
Evan You
fd031490fb
feat(ssr): useSSRContext
2020-02-18 13:26:15 -05:00
Evan You
86464e8c04
refactor: only run useCssModule code in non-global builds
2020-02-18 13:23:30 -05:00
Evan You
2fb7a63943
fix(computed): support arrow function usage for computed option
...
fix #733
2020-02-17 23:22:25 -05:00
Evan You
9571ede84b
refactor(watch): adjsut watch API behavior
...
BREAKING CHANGE: `watch` behavior has been adjusted.
- When using the `watch(source, callback, options?)` signature, the
callback now fires lazily by default (consistent with 2.x
behavior).
Note that the `watch(effect, options?)` signature is still eager,
since it must invoke the `effect` immediately to collect
dependencies.
- The `lazy` option has been replaced by the opposite `immediate`
option, which defaults to `false`. (It's ignored when using the
effect signature)
- Due to the above changes, the `watch` option in Options API now
behaves exactly the same as 2.x.
- When using the effect signature or `{ immediate: true }`, the
intital execution is now performed synchronously instead of
deferred until the component is mounted. This is necessary for
certain use cases to work properly with `async setup()` and
Suspense.
The side effect of this is the immediate watcher invocation will
no longer have access to the mounted DOM. However, the watcher can
be initiated inside `onMounted` to retain previous behavior.
2020-02-17 23:16:58 -05:00
Evan You
d9d63f21b1
fix(reactivity): avoid cross-component dependency leaks in setup()
2020-02-17 23:14:07 -05:00
Evan You
0c1fe72dcf
build: make watch tree-shakable in lean build
2020-02-17 11:02:15 -05:00
Evan You
77103e1fd7
types: fix tsx dts tests
2020-02-15 21:48:45 -05:00
Evan You
57ee5df364
fix(types): app.component should accept defineComponent return type
...
fix #730
2020-02-15 21:04:29 -05:00
Evan You
9d2ac6675a
refactor: make portal tree-shakeable
2020-02-15 17:44:37 -05:00
夜宴
8a4412077c
chore: remove redundant Non-Null Assertion ( #728 )
2020-02-15 11:33:22 -05:00
Evan You
70dc3e3ae7
feat(ssr): support portal hydration
2020-02-14 21:04:08 -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
112d8f7d86
refactor: use explicit exports for runtime-core
2020-02-14 00:13:54 -05:00
Evan You
42d80b5888
wip(ssr): component hydration
2020-02-13 23:31:03 -05:00
Evan You
9aaef60ad2
wip(ssr): adjust event hydration flag
2020-02-13 18:28:40 -05:00
Evan You
6b505dcd23
wip(ssr): basic element hydration
2020-02-13 17:47:00 -05:00
Evan You
35d91f4e18
fix(runtime-core): handle component updates with only class/style bindings
2020-02-13 17:27:52 -05:00
Evan You
c6a9787941
fix(types): ensure correct oldValue typing based on lazy option
...
close #719
2020-02-13 12:09:13 -05:00
Evan You
1389d7b88c
refactor(compiler-core): use more concise marker for compiled slots
2020-02-12 13:45:35 -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
e3988b40d8
refactor(compiler-core): use dedicated node type for element codegen
...
Previously codegen node for elements and components used raw expressions,
which leads to multiple permutations of AST shapes based on whether the
node is a block or has directives. The complexity is spread across the
entire compiler and occurs whenever a transform needs to deal with
element codegen nodes.
This refactor centralizes the handling of all possible permutations
into the codegen phase, so that all elements/components will have a
consistent node type throughout the transform phase.
The refactor is split into two commits (with test updates in a separate
one) so changes can be easier to inspect.
2020-02-11 18:40:42 -05:00
Yang Mingshan
fe9da2d0e4
fix(runtime-core/scheduler): invalidate job ( #717 )
2020-02-11 07:30:25 -05:00
Evan You
12fcf9ab95
fix(compiler): fix v-for fragment openBlock argument
2020-02-10 18:19:49 -05:00
Evan You
47e984d31f
refactor(compiler): provide _ctx and _cache via arguments
2020-02-10 17:29:12 -05:00
Evan You
cfadb98011
fix(runtime-core): rework vnode hooks handling
...
- peroperly support directive on components (e.g. <foo v-show="x">)
- consistently invoke raw vnode hooks on component vnodes (fix #684 )
2020-02-10 13:15:36 -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
e308ad99e9
refactor: ensure setup context.emit always point to intenral emit
2020-02-09 21:47:16 -05:00
Evan You
4bc4cb970f
fix: remove effect from public API
...
close #712
2020-02-09 21:43:54 -05:00
jods
21944c4a42
feat(runtime-core/reactivity): expose shallowReactive ( #711 )
2020-02-09 21:42:34 -05:00
Evan You
0f67aa7da5
fix(runtime-core): fix ShapeFlags tree shaking
2020-02-07 17:18:12 -05:00
Evan You
5b43764eac
fix(runtime-core): fix keep-alive tree-shaking
2020-02-07 17:00:39 -05:00
Evan You
b7a74d0439
wip(ssr): ssr slot vnode fallback
2020-02-07 01:06:51 -05:00
Evan You
ee5ed73361
wip(ssr): basic components
2020-02-05 23:07:23 -05:00
Eduardo San Martin Morote
5742a0b826
fix(runtime-core/watch): trigger watcher with undefined as initial value ( #687 )
...
Fix #683
2020-02-04 09:59:04 -05:00
Evan You
bd9b690a51
chore: rmeove unused export
2020-01-31 11:07:10 -05:00
Evan You
c02e7bc7d6
wip(ssr): should apply app context when rendering app instance
2020-01-30 12:20:23 -05:00
Evan You
eaf414f063
test(ssr): test rendering vnode elements
2020-01-29 17:36:06 -05:00
Evan You
8cdaf28515
test(ssr): test for rendering components
2020-01-29 16:46:18 -05:00
Evan You
6e06810add
test(ssr): tests for utils and props rendering
2020-01-29 15:10:45 -05:00
Evan You
bc07e95ca8
fix(ssr): avoid hard-coded ssr checks in cjs builds
2020-01-29 09:49:17 -05:00
Evan You
6b1ce00621
wip(ssr): renderer support for optimized and manual slots
2020-01-28 22:58:02 -05:00
Evan You
a7b0954f14
wip(ssr): move ssr only utils to conditional export
2020-01-28 22:14:43 -05:00
Evan You
6f43c4b516
wip(ssr): vdom serialization
2020-01-28 18:48:27 -05:00
Evan You
27fbfbdb8b
fix(runtime-core): render context set should not unwrap reactive values
2020-01-27 18:05:30 -05:00
Evan You
012bc5df9d
wip(ssr): restructure
2020-01-27 17:23:42 -05:00
Evan You
d293876c34
release: v3.0.0-alpha.4
2020-01-27 16:20:00 -05:00
Evan You
6b10f0cd1d
refactor: remove implicit reactive() call on renderContext
...
reference: https://github.com/vuejs/rfcs/issues/121
BREAKING CHANGE: object returned from `setup()` are no longer implicitly
passed to `reactive()`.
The renderContext is the object returned by `setup()` (or a new object
if no setup() is present). Before this change, it was implicitly passed
to `reactive()` for ref unwrapping. But this has the side effect of
unnecessary deep reactive conversion on properties that should not be
made reactive (e.g. computed return values and injected non-reactive
objects), and can lead to performance issues.
This change removes the `reactive()` call and instead performs a
shallow ref unwrapping at the render proxy level. The breaking part is
when the user returns an object with a plain property from `setup()`,
e.g. `return { count: 0 }`, this property will no longer trigger
updates when mutated by a in-template event handler. Instead, explicit
refs are required.
This also means that any objects not explicitly made reactive in
`setup()` will remain non-reactive. This can be desirable when
exposing heavy external stateful objects on `this`.
2020-01-27 16:00:18 -05:00
Evan You
2884831065
fix(runtime-core): instance should not expose non-declared props
2020-01-27 16:00:18 -05:00