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
f87d6b501e
test: fix runtime-dom v-on test
2020-04-07 11:41:48 -04:00
Evan You
2302dea162
fix(runtime-dom): support native onxxx handlers
...
close #927
2020-04-07 11:34:54 -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
Jian Zhang
da1fb7afef
fix(runtime-dom): fix getModelAssigner order in vModelCheckbox ( #926 )
2020-04-06 09:55:19 -04:00
ysj16
667e42065d
chore: typo ( #928 )
2020-04-06 09:09:44 -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
5dcc645fc0
fix(reactivity): track reactive keys in raw collection types
...
Also warn against presence of both raw and reactive versions of the
same object in a collection as keys.
fix #919
2020-04-04 12:57:22 -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
5bf72517ce
refactor(compiler-sfc): make more explicit regarding template pad behavior
2020-04-03 21:11:26 -04:00
Rahul Kadyan
db50009353
fix(compiler-sfc): always use offset for template block sourcemaps ( #911 )
2020-04-03 21:10:22 -04:00
Evan You
f3b6559408
fix(types/reactivity): add generics constraint for markNonReactive
...
fix #917
2020-04-03 21:06:03 -04:00
Evan You
7f30cb5772
fix(compiler): fix pre tag whitespace handling
...
- should preserve whitespace even in nested elements
- should remove leading newline per spec
fix #908
2020-04-03 21:02:20 -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
0764c33d3d
fix(reactivity): scheduled effect should not execute if stopped
...
fix #910
2020-04-02 19:50:48 -04:00
Evan You
835789532c
test: make events test more stable
2020-04-01 21:59:42 -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
8080c38323
chore: avoid v-cloak test warning
2020-04-01 21:39:47 -04:00
Evan You
e93e426bfa
feat(runtime-core): config.performance tracing support
2020-04-01 21:36:50 -04:00
Evan You
a022b63605
fix(compiler-core/slots): should support on-component named slots
2020-04-01 20:44:53 -04:00
Igor Randjelovic
20f4965b45
feat(compiler-core): export transformElement
from compiler-core ( #907 )
2020-04-01 11:25:05 -04:00
likui
0ed147d336
fix(runtime-dom): v-cloak should be removed after compile on the root element ( #893 )
...
fix #890
2020-03-31 18:13:59 -04:00
Eduardo San Martin Morote
37b1dc8242
fix(transition): warn only when there is more than one rendered child ( #903 )
2020-03-31 18:12:51 -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
b8ffbffaf7
feat(compiler-core): support v-is
...
see https://github.com/vuejs/rfcs/pull/149 for details
2020-03-27 16:38:31 -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
Cédric Exbrayat
6a65739f61
chore: readme typos ( #885 )
...
[ci skip]
2020-03-26 09:31: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
c403c39126
chore: improve parser option comments [ci skip]
2020-03-24 18:29:15 -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
45ba06ac5f
fix(reactivity): should not trigger map keys iteration when keys did not change
...
fix #877
2020-03-24 12:43:06 -04:00
ysj16
0dba5d44e6
fix(TransitionGroup): ignore comment node when warn (fix#869) ( #875 )
2020-03-24 12:09:42 -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
0831b98eac
fix(compiler-core): support interpolation in RCDATA mode (e.g. textarea)
2020-03-23 17:25:29 -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
9fc8ade884
chore: update dist file readme
2020-03-23 15:26:16 -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
4126a9dd51
build: add runtime-global build for vue
2020-03-23 15:09:29 -04:00
Evan You
f529dbde23
fix: dynamic component fallback to native element
...
fix #870
2020-03-23 14:47:04 -04:00
Evan You
1b2149dbb2
fix(reactivity): should not observe frozen objects
...
fix #867
2020-03-23 11:28:20 -04:00
Evan You
0dc2478569
fix(transition): fix duration prop validation
...
fix #868
2020-03-23 11:13:37 -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
Igor Randjelovic
d425818901
fix(runtime-dom): invalid lineGradient svg tag ( #863 )
...
close #862
2020-03-21 15:11:04 -04:00
ysj16
a3601e9fa7
perf(transform-vif): don't need to createBlock for a component ( #853 )
2020-03-20 11:29:44 -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
a1da9c28a0
fix(compiler-core): assign patchFlag for template v-if fragment
...
fix #850
2020-03-17 11:36:56 -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
likui
d318576d74
fix(runtime-dom): patch xlink attribute ( #842 )
2020-03-16 18:46:01 -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
a46f3b354d
fix(compiler-ssr): should pass necessary tag names for dynamic v-bind
2020-03-16 18:24:26 -04:00
Evan You
3b40fc56db
fix(compiler-ssr): fix input w/ v-bind="obj" codegen
2020-03-16 18:14:49 -04:00
Evan You
9eef37fa32
refactor(compiler): remove modelValue from generated code for native v-model
2020-03-16 17:51:56 -04:00
Evan You
3b2d236714
feat(compiler-sfc): add ssr option
2020-03-16 16:24:49 -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
fd3418d79d
chore: fix snapshot
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
Evan You
586e5bb800
fix(compiler-core): fix property shorthand detection
...
fix #845
2020-03-16 10:27:03 -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
7af089d429
test: fix & improve ssr warning assertion
2020-03-10 17:13:27 -04:00
Evan You
80c625dce3
feat(ssr): compiler-ssr support for Suspense
2020-03-10 16:52:31 -04:00
Evan You
47ead3b33a
refactor(ssr): improve ssr async setup / suspense error handling
2020-03-10 16:52:31 -04:00
Evan You
9c4de7b9ed
test(srr): group portal tests
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
djy0
b13886b1ba
types(reactivity): remove this in get accessor, fix #800 ( #806 )
2020-03-09 16:01:49 -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
f7a026109d
test(ssr): ssr + hydration integration test
2020-03-06 15:14:12 -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
274f81c5db
fix(reactivity): allow effect trigger inside no-track execution contexts
...
fix #804
2020-03-06 12:11:37 -05:00
Evan You
d6bf9ffdc6
chore(template-explorer): bump monaco version for live deployed page
2020-03-06 12:02:38 -05:00
Cédric Exbrayat
6fad2efb8c
chore(template-explorer): update monaco dependency ( #793 )
2020-03-06 12:01:13 -05:00
hareku
643ff233af
types(reactivity): add undefined type to ref/shallowRef when no args ( #791 )
2020-03-06 11:32:39 -05:00
Evan You
a3066581f3
fix(reactivity): should not trigger length dependency on Array delete
...
close #774
2020-03-06 11:31:10 -05:00
Evan You
cc69fd72e3
fix(reactivity): Map/Set identity methods should work even if raw value contains reactive entries
...
fix #799
2020-03-06 11:10:02 -05:00
Evan You
16f9e63951
types: remove 'this' annotation from 'get' accessor ( #801 )
...
The next version of Typescript disallows 'this' parameter annotations on
accessors, which causes vue-next to fail to compile.
This PR removes the annotation and adds a cast instead.
Fixes #800
2020-03-05 16:57:52 -06: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
11e6fba78c
chore: update @vue/shared readme [ci skip]
2020-02-29 22:05:41 -05: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
33ab0f8e0f
chore: fix snapshot
2020-02-27 17:15:51 -05:00
Evan You
8449a9727c
feat(compiler-core): switch to @babel/parser for expression parsing
...
This enables default support for parsing bigInt, optional chaining
and nullish coalescing, and also adds the `expressionPlugins`
compiler option for enabling additional parsing plugins listed at
https://babeljs.io/docs/en/next/babel-parser#plugins .
2020-02-27 16:53:51 -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
d52ffaa202
refactor(compiler-ssr): extract portal processing + emit errors
2020-02-26 15:05:11 -05:00
Dmitry Sharshakov
d8ed0e7fbf
feat(compiler-ssr): compile portal ( #775 )
2020-02-26 14:59:53 -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
djy0
59393dd757
fix(template-explorer): rename watch -> watchEffect ( #780 )
2020-02-26 10:13:07 -05:00
Evan You
3206e5dfe5
fix(types): shallowRef should not unwrap value type
2020-02-25 20:43:01 -05:00
Evan You
d4c6957e2d
fix(types): ref value type unwrapping should happen at creation time
2020-02-25 19:44:06 -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
Xin Du (Clark)
047844cfb8
refactor(ssr): extract buffer resolving and resolvePortals ( #771 )
2020-02-24 17:23:35 +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
b36a76fe23
chore: remove debugger [ci skip]
2020-02-22 05:19:22 +01:00
guaijie
76c7f54269
perf(effect): optimize effect trigger for array length mutation ( #761 )
2020-02-22 05:17:30 +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
Evan You
775a7c2b41
refactor: preserve refs in reactive arrays
...
BREAKING CHANGE: reactive arrays no longer unwraps contained refs
When reactive arrays contain refs, especially a mix of refs and
plain values, Array prototype methods will fail to function
properly - e.g. sort() or reverse() will overwrite the ref's value
instead of moving it (see #737 ).
Ensuring correct behavior for all possible Array methods while
retaining the ref unwrapping behavior is exceedinly complicated; In
addition, even if Vue handles the built-in methods internally, it
would still break when the user attempts to use a 3rd party utility
functioon (e.g. lodash) on a reactive array containing refs.
After this commit, similar to other collection types like Map and
Set, Arrays will no longer automatically unwrap contained refs.
The usage of mixed refs and plain values in Arrays should be rare in
practice. In cases where this is necessary, the user can create a
computed property that performs the unwrapping.
2020-02-21 17:48:39 +01:00
Evan You
627b9df4a2
fix(types): improve ref typing, close #759
2020-02-21 17:45:42 +01:00
Evan You
33622d6360
perf(reactivity): only trigger all effects on Array length mutation if new length is shorter than old length
2020-02-21 15:05:16 +01:00
hareku
014acc13e9
test(reactivity): test for ref without init value ( #746 )
2020-02-21 14:44:41 +01:00
hareku
9547c2b93d
fix(sfc): inherit parent scopeId on child rooot ( #756 )
2020-02-21 14:44:13 +01:00
Evan You
1b9b235663
fix(compiler-dom): properly stringify class/style bindings when hoisting static strings
2020-02-21 13:10:13 +01:00
Evan You
189a0a3b19
chore: use undefined for TS 3.8 compat
2020-02-21 11:38:41 +01:00
guaijie
5fac65589b
fix(reactivity): should trigger all effects when array length is mutated ( #754 )
2020-02-21 11:38:07 +01:00
Luxiaosong
c54aa43fa7
chore: use 'const' instead of 'let' ( #755 ) [ci skip]
2020-02-21 11:21:24 +01:00
Evan You
a840e7ddf0
fix(types): update setup binding unwrap types for 6b10f0c
...
close #738
2020-02-19 18:29:18 +01:00
basvanmeurs
8d817bb446
build: use buildOption to determine runtime compile build ( #742 )
...
This makes it possible to create a separate package that uses runtime compilation.
2020-02-19 09:50:24 -05:00
likui
7b987d9450
fix(compiler-core): should alias name in helperString ( #743 )
...
fix #740
2020-02-19 09:49:46 -05:00
Evan You
478b4cfb2c
release: v3.0.0-alpha.5
2020-02-18 15:00:55 -05:00
Evan You
8f463b3859
chore: readme
2020-02-18 14:56:53 -05:00
Evan You
8383e5450e
fix(runtime-core): ensure renderCache always exists
2020-02-18 14:43:12 -05:00
Evan You
028f748c32
fix(v-on): transform click.right and click.middle modifiers
...
fix #735
2020-02-18 14:32:06 -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
e8e67729cb
fix(reactivity): effect should handle self dependency mutations
2020-02-18 13:22:09 -05:00
Evan You
e1c9153b9e
fix(reactivity): trigger iteration effect on Map.set
...
fix #709
2020-02-18 00:09:24 -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
202532c301
chore: use consistent signature for shared utilities
2020-02-17 14:43:16 -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
Dmitry Sharshakov
e495fa4a18
feat(ssr): render portals ( #714 )
2020-02-15 17:41:20 -05:00
Evan You
aa09f01a1e
chore: mark main package side-effects free
2020-02-15 12:02:00 -05:00
hareku
66e7d7f28e
test(server-renderer): implement ssrRenderList tests ( #726 )
2020-02-15 11:42:38 -05:00
夜宴
8a4412077c
chore: remove redundant Non-Null Assertion ( #728 )
2020-02-15 11:33:22 -05:00
Dmitry Sharshakov
4669215ca2
fix(ssr): render components returning render function from setup ( #720 )
2020-02-15 11:11:55 -05:00
Evan You
a0163f1aa8
chore: fix snapshots
2020-02-15 11:10:52 -05:00
Evan You
70dc3e3ae7
feat(ssr): support portal hydration
2020-02-14 21:04:08 -05:00
Evan You
688ad92391
fix(ssr): fix class/style rendering + ssrRenderComponent export name
2020-02-14 20:48:06 -05:00
Evan You
66b5f0b480
chore: fix hoistStatic exhaustive check
2020-02-14 16:41:55 -05:00
Evan You
96605b79a3
types: avoid duplicate type declarations for renderer closure functions
2020-02-14 16:25:41 -05:00
Evan You
e0f3c6b352
fix(compiler-core): should apply text transform to if branches
...
fix #725
2020-02-14 15:57:14 -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
32d6a46474
build: avoid runtime wildcard import in global build
2020-02-13 18:50:36 -05:00
Evan You
5455e8e69a
fix(compiler-core): should not hoist element with cached + merged event handlers
2020-02-13 18:34:08 -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
8e19424c04
refactor(security): mark potential unsafe code paths
2020-02-12 15:00:32 -05:00
Evan You
8b7c162125
feat(compiler-dom): handle constant expressions when stringifying static content
2020-02-12 15:00:00 -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
d866d389f3
chore: fix import path + comment
2020-02-12 12:12:53 -05:00
Evan You
27913e661a
feat(compiler-dom/runtime-dom): stringify eligible static trees
2020-02-12 11:56:42 -05:00
Evan You
e861c6da90
test: test updates for d40c642
2020-02-11 18:40: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
f4c54a888b
refactor(compiler-core): hoist static text calls between elements
2020-02-10 18:32:11 -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
ade07c64a1
fix(compiler-core): fix keep-alive when used in templates
...
fix #715
2020-02-10 16:49:37 -05:00
Dmitry Sharshakov
6d10a6c772
feat(server-renderer): support on-the-fly template compilation ( #707 )
2020-02-10 14:37:35 -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
571ed4226b
feat(compiler-core/v-on): support @vnode-xxx usage for vnode hooks
2020-02-10 11:00:37 -05:00
Jonas
5495c70c4a
fix(transition-group): handle multiple move-classes ( #679 )
...
fix #678
2020-02-10 09:36:19 -05:00
Dmitry Sharshakov
430d4e10bb
test(compiler-sfc): add real tests for source maps ( #704 )
2020-02-10 09:34:13 -05:00
djy0
782db6d7f5
chore(compiler-core/codegen): avoid generate indent spaces of empty lines. ( #701 )
2020-02-10 09:33:04 -05:00
djy0
42db2fef9d
test(compiler-ssr): fix typo ( #713 )
2020-02-10 09:20:07 -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
03680399f2
wip(ssr): use consistent attr key behavior in compiler
2020-02-09 15:32:33 -05:00
jods
8874b21a7e
perf(reactivity): better computed tracking ( #710 )
2020-02-09 15:25:17 -05:00
hareku
fc7bcca1b3
chore(shared): fix comment ( #705 ) [ci skip]
2020-02-09 13:12:16 -05:00
Evan You
8b2d6a35d0
test: update tests and snapshots for helper prefixing
2020-02-07 19:04:55 -05:00
Evan You
51317af6e8
refactor(compiler): prefix all imported helpers to avoid scope collision
2020-02-07 18:53:39 -05:00
Evan You
c44d9fbe3d
build: drop unnecessary codegen branch for global build
2020-02-07 18:00:30 -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
9e51297702
fix(compiler-dom): fix duplicated transforms
2020-02-07 14:24:56 -05:00
Evan You
a51e710396
wip(ssr): proper scope analysis for ssr vnode slot fallback
2020-02-07 13:56:18 -05:00
Evan You
b7a74d0439
wip(ssr): ssr slot vnode fallback
2020-02-07 01:06:51 -05:00
Evan You
31f3383a02
workflow: log compile time in template explorer
2020-02-06 21:47:07 -05:00
Evan You
f1d579932e
chore: comment typo
2020-02-06 18:31:55 -05:00
Evan You
4659c366e0
wip(ssr): generate correct component code
2020-02-06 18:03:14 -05:00
Evan You
7984a135ca
wip(ssr): scopeId in slots
2020-02-06 17:45:46 -05:00
Evan You
797cc18967
wip(ssr): element scopeId
2020-02-06 17:45:46 -05:00
Evan You
4cc39e14a2
feat(compiler): warn invalid children for transition and keep-alive
2020-02-06 17:45:46 -05:00
Evan You
3c27bf6133
wip(compiler-ssr): built-in component fallthrough
2020-02-06 17:45:46 -05:00
Evan You
ae8fc9297d
test: update snapshots
2020-02-06 12:09:09 -05:00
Evan You
bc8f91d181
refactor(ssr): prefix ssr helpers
2020-02-06 12:07:25 -05:00
Evan You
f3e70b3733
wip(compiler-ssr): component slots
2020-02-06 12:05:53 -05:00
Evan You
39d1acf417
workflow: improve template-explorer local load speed
2020-02-06 10:22:16 -05:00
Evan You
ee5ed73361
wip(ssr): basic components
2020-02-05 23:07:23 -05:00
Evan You
0b90baec28
test: increase e2e tests timeout
2020-02-05 21:10:43 -05:00
Evan You
9b3b6962df
wip(srr): slot outlet
2020-02-05 21:04:40 -05:00
Evan You
7a63103a11
chore: fix snapshot
2020-02-05 17:29:41 -05:00
Evan You
201f18b58b
wip(ssr): v-model w/ dynamic type & props
2020-02-05 17:01:00 -05:00
Evan You
1f2de9e232
fix(v-model): should use dynamic directive on input with dynamic v-bind
2020-02-05 15:21:47 -05:00
Evan You
ae92925011
wip(ssr): should only render renderable values
2020-02-05 15:21:20 -05:00
Evan You
8f9e85afb1
test: fix tests w/ nested CompoundExpressions
2020-02-05 14:30:34 -05:00
Evan You
c952321fcf
wip(compiler-ssr): v-model static types + textarea
2020-02-05 14:23:03 -05:00