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
Evan You
066ba82c7f
wip(ssr): escape helpers
2020-01-27 16:00:18 -05:00
Evan You
297282a812
perf(ssr): avoid unnecessary async overhead
2020-01-27 16:00:17 -05:00
Evan You
25a0d4a65f
wip(ssr): reduce reactivity overhead during ssr
2020-01-27 16:00:17 -05:00
Evan You
cee36ad028
wip(ssr): render real components
2020-01-27 16:00:17 -05:00
Evan You
da25517377
wip(ssr): initial work on server-renderer
2020-01-27 16:00:17 -05:00
Evan You
c07751fd36
refactor: adjust createApp
related API signatures
...
BREAKING CHANGE: `createApp` API has been adjusted.
- `createApp()` now accepts the root component, and optionally a props
object to pass to the root component.
- `app.mount()` now accepts a single argument (the root container)
- `app.unmount()` no longer requires arguments.
New behavior looks like the following:
``` js
const app = createApp(RootComponent)
app.mount('#app')
app.unmount()
```
2020-01-27 16:00:17 -05:00
Evan You
2837ce8428
fix(v-model/emit): update:camelCase events should trigger kebab case equivalent
...
close #656
2020-01-26 14:14:03 -05:00
Evan You
b41677bf42
release: v3.0.0-alpha.3
2020-01-22 11:10:30 -05:00
likui
ec63623fe8
fix: Suspense should include into dynamic children ( #653 )
...
fix #649
2020-01-22 10:45:27 -05:00
Evan You
2569890e31
refactor: move mockWarn utility to @vue/shared
...
close #652
2020-01-22 09:29:45 -05:00
Evan You
4f06eebc1c
fix(dom): fix <svg> and <foreignObject> mount and updates
2020-01-21 11:32:33 -05:00
Evan You
035b6560f7
fix(runtime-core): isSVG check should also apply for patch branch
...
fix #639
2020-01-20 11:55:18 -05:00
Evan You
e81c8a32c7
feat(runtime-core): emit now returns array of return values from all triggered handlers
...
close #635
2020-01-20 11:24:08 -05:00
Rustin
787ac5f74e
test(runtime-core): modify test case to set different value ( #620 )
2020-01-20 09:43:58 -05:00
Evan You
751d838fb9
fix(runtime-core): should not warn unused attrs when accessed via setup context
...
close #625
2020-01-16 17:45:08 -05:00
Evan You
c35fea3d60
fix(runtime-core): condition for parent node check should be any different nodes
...
fix #622
2020-01-16 16:21:37 -05:00
likui
04ac6c467a
feat(runtime-core): support app.unmount(container) ( #601 )
...
close #593
2020-01-16 12:23:47 -05:00
Sören Schwert
1081ef8089
chore: fix error reporting URL to point to vue-next ( #624 ) [ci skip]
2020-01-15 21:50:06 -05:00
Evan You
9f65d811af
release: v3.0.0-alpha.2
2020-01-13 17:44:30 -05:00
Evan You
2e9726e6a2
fix(runtime-core/renderer): fix v-if toggle inside blocks
...
Should check both branches for parent container access.
Fix #604 . Close #607 .
2020-01-13 17:31:22 -05:00
Cédric Exbrayat
74baea108a
fix(types): components options should accept components defined with defineComponent ( #602 )
2020-01-13 17:12:45 -05:00
Yang Mingshan
f465199946
types: fix setup this type ( #605 )
2020-01-10 11:46:34 -05:00
Kael
8f616a89c5
fix(runtime-core): allow classes to be passed as plugins ( #588 )
2020-01-08 12:40:24 -05:00
Yang Mingshan
453e6889da
fix(watch): remove recorded effect on manual stop ( #590 )
2020-01-08 12:06:16 -05:00
Evan You
bb6a346996
fix(runtime-core): should preserve props casing when component has no declared props
...
close #583
2020-01-06 15:05:57 -05:00
Evan You
84dc5a6862
fix(runtime-core/vnode): should not render boolean values in vnode children ( close #574 )
2020-01-06 11:57:19 -05:00
pikax
9edc4fa1fe
types: fix failed typings?
2020-01-04 14:24:34 +00:00
Evan You
1bb1271b5e
release: v3.0.0-alpha.1
2020-01-02 18:25:17 -05:00
Evan You
bfb0ad5a5e
types: refactor watcher types naming
2019-12-30 11:30:12 -05:00
likui
a7ef59c4c3
test(vnode): add test for dynamic children ( #563 )
2019-12-30 11:25:44 -05:00
Yang Mingshan
3980ad65de
types: exports watch api types ( #562 )
2019-12-30 11:19:57 -05:00
Evan You
7df5e70c83
types: accept defineComponent return types in app.mount
2019-12-24 11:04:44 -05:00
宋铄运
4d20981eb0
fix(runtime-core): pass options to plugins ( #561 )
2019-12-24 10:33:47 -05:00
Evan You
7d436ab59a
fix: mounting new children
2019-12-22 16:24:24 -05:00
Evan You
2fdb499bd9
fix(fragment): perform direct remove when removing fragments
...
This avoids trying to grab .el from hoisted child nodes (which can
be created by another instance), and also skips transition check
since fragment children cannot have transitions.
2019-12-22 16:15:16 -05:00
Evan You
47a6a84631
fix(core): clone mounted hoisted vnodes on patch
...
...since they may need to be checked as fragment child
2019-12-22 13:31:13 -05:00
Evan You
eda495efd8
feat(hmr): root instance reload
2019-12-22 12:25:04 -05:00
Evan You
c9b9ae3941
refactor: rename apiApp.ts -> apiCreateApp.ts
2019-12-22 11:27:40 -05:00
Chris Fritz
1c4cdd841d
refactor(createComponent): rename to defineComponent ( #549 )
2019-12-22 10:58:12 -05:00
Evan You
d6da48a33f
perf: optimize public properties access on componentProxy
2019-12-19 14:19:58 -05:00
Evan You
bdbfead1e0
chore: adjust package.json
2019-12-19 14:19:58 -05:00
Evan You
9f52dce0d5
fix(renderer): should also use latest parent node when patching block child components
2019-12-18 17:09:28 -05:00
Evan You
3deb20df63
feat(watch): warn when using lazy with simple callback
2019-12-18 11:54:12 -05:00
Yang Mingshan
c2c9c2b57e
fix(watch): ignore lazy option in simple watch ( #546 )
...
* fix(watch): ignore lazy option in simple watch
* test: ignore lazy option in simple watch
2019-12-18 11:46:59 -05:00
Evan You
d84cf3a538
feat(sfc): css modules support
2019-12-18 10:00:49 -05:00
Evan You
b689ca6e85
test: test scopeId support
2019-12-17 12:31:38 -05:00
Evan You
8ea2101553
test: test hot module replacement
2019-12-17 12:31:38 -05:00
Evan You
f194aa0eea
feat(sfc): ::slotted selector support
2019-12-17 12:31:38 -05:00
Evan You
69c9dbc825
feat(sfc): scopeId runtime support
2019-12-17 12:31:38 -05:00
Evan You
b2c2d0590e
refactor: extract SFCInternalOptions inteface
2019-12-17 12:31:38 -05:00
Evan You
35858cec8c
build: adjust global names + allow inline overrides of build flags
2019-12-15 15:37:43 -05:00
Evan You
2b178981bc
refactor: move isRuntimeCompiled flag into component.ts
2019-12-14 22:15:38 -05:00
Evan You
d6acb9c073
fix(hmr): force full diff on HMR
2019-12-13 17:57:21 -05:00
Evan You
fa5390fb6f
fix(fragment): properly remove compiler generated fragments
2019-12-13 10:31:40 -05:00
Cr
6797e35703
chore: fix typos ( #541 )
2019-12-13 11:49:01 +01:00
Evan You
7431c2e46e
fix(runtime-core): ensure $forceUpdate behavior consistency with 2.x
2019-12-12 22:12:45 -05:00
Evan You
2c3c65772b
perf: optimize props resolution
...
Store the keys for props that need default or boolean casting
during normalization, so that later we only need to iterate
through this array instead of the entire props object.
2019-12-12 22:07:48 -05:00
Evan You
8ffd79c754
fix(compiler-core): handle template root and template v-if as stable fragments
2019-12-12 21:09:47 -05:00
Evan You
f77ae132e5
feat(hmr): reload and force slot update on re-render
2019-12-12 21:09:47 -05:00
Evan You
ef50c333ce
fix(core): generate fragment root with patchFlag + optimize fragment w/ patchFlag
2019-12-12 21:09:47 -05:00
Evan You
efe39db023
feat(runtime-core): hot module replacement
2019-12-12 21:09:47 -05:00
Evan You
3116b5d6c3
fix(runtime-core): initialize renderCache if not present
2019-12-12 21:09:47 -05:00
Evan You
5ecc77df5a
chore: fix missed save
2019-12-11 10:39:29 -05:00
Evan You
4d730f464d
refactor: move runtime compile error handling to vue
2019-12-11 10:25:34 -05:00
Evan You
d3d4fe84cd
fix(vue): properly cache runtime compilation
2019-12-11 09:46:42 -05:00
Evan You
136ab753b3
build: adjust esm formats
2019-12-10 22:14:02 -05:00
Evan You
8ed04ed503
build: release script
2019-12-10 21:29:52 -05:00
Evan You
cd5ba7cfcc
build: remove lerna
2019-12-10 18:24:59 -05:00
Evan You
c97d83aff2
refactor(runtime-core): tweak component proxy implementation
2019-12-10 11:14:29 -05:00
GCA
2383b45e32
chore: fix typo ( #530 ) [ci skip]
2019-12-09 14:23:57 -05:00
Evan You
e7e1314ccc
test: fix warning
2019-12-09 14:23:01 -05:00
Evan You
c53fae987d
feat(runtime-core): warn incorrect root props value ( close #375 )
2019-12-09 14:06:31 -05:00
Evan You
83428fb844
chore: update readme
2019-12-09 14:06:31 -05:00
meteorlxy
f3007a6b4f
fix(core): use String to convert primitive types ( #518 )
2019-12-04 18:28:52 +01:00
Evan You
89a187b895
refactor(reactivity): separate track and trigger operation types
2019-12-03 11:30:24 -05:00
Evan You
a58da63f16
fix(core): should not warn extraneous props when root is toggled
2019-12-02 15:17:30 -05:00
Evan You
57bbbb227c
fix(core): propsProxy should not convert non-reactive nested values
2019-12-02 14:11:12 -05:00
hujiulong
08a1de5e29
chore: remove jsx.d.ts from package.files ( #512 )
2019-12-02 09:40:42 -05:00
Evan You
24f6d63c6a
fix(core): use correct parent for v-if toggle
2019-12-01 23:42:14 -05:00
Evan You
f5f2dca132
feat(core): support recursively resolving self component by name
2019-12-01 23:17:00 -05:00
JiZhi
ec2feeafad
chore: typo ( #488 ) [ci skip]
2019-12-01 12:03:26 -05:00
Evan You
800b0f0e7a
feat(transition): TransitionGroup
2019-11-28 18:41:01 -05:00
Evan You
a758540b6a
test(transition): test usage with KeepAlive
2019-11-28 12:16:42 -05:00
fisker Cheung
b87c05159b
style(runtime-core): remove a unnecessary continue ( #505 )
2019-11-28 10:45:48 -05:00
fisker Cheung
92b02dc48f
chore: comment typo ( #506 )
2019-11-28 10:01:53 +01:00
Evan You
32602ccee1
test(transition): in-out, appear & persisted
2019-11-27 17:54:41 -05:00
Evan You
7aac3418c0
test(transition): test for mode: out-in
2019-11-27 15:25:18 -05:00
Evan You
7209fb66c2
test: wip more tests for BaseTransition
2019-11-27 12:17:16 -05:00
Gabriel Loiácono
fbcc47841b
fix(runtime-core): fix error when passed plugin is undefined ( #502 )
2019-11-27 09:18:03 -05:00
Gabriel Loiácono
d4f4c7c4d4
fix(runtime-core): renderList with default value when source is undefined ( #498 )
2019-11-26 21:00:32 -05:00
Evan You
bb39910e8e
test: wip tests for BaseTransition
2019-11-26 18:07:05 -05:00
Evan You
43097987cf
feat(core): respect $stable slots flag per RFC
2019-11-26 10:03:36 -05:00
JiZhi
fc28a677bc
chore: fix warn typo ( #496 )
2019-11-26 09:27:51 +01:00
Rustin
d5f4cc9c42
chore: fix comment typo ( #499 )
...
* chore(typo): fix comment typo
* chore(typo): fix comment typo of KeepAlive
2019-11-26 09:26:03 +01:00
Evan You
c6fb506fc0
feat(transition): compat with keep-alive
2019-11-25 17:35:15 -05:00
Evan You
16ea2993d6
test: fix resolveDyanmicComponent test
2019-11-25 12:51:57 -05:00
Evan You
08a3d95e52
fix: resolveDynamicComponent should use context instance
2019-11-25 11:41:28 -05:00
Evan You
01eb3c12e9
feat(transition): warn non-animatable component root node
2019-11-25 11:41:28 -05:00
Evan You
1765985ec2
feat(transition): support in templates
2019-11-24 18:37:59 -05:00
Evan You
a834807942
refactor: rename transition components
2019-11-24 16:00:46 -05:00
Evan You
bdafa1dfc4
refactor: adjust warning for fn props and component with many props
2019-11-23 22:17:46 -05:00
Evan You
a6aa64b0cc
refactor: tweaks
2019-11-22 23:32:53 -05:00
Evan You
1b8236615e
feat(transition): handle persisted mode
2019-11-22 23:21:53 -05:00
Evan You
24b4120c21
types: fix dts
2019-11-22 18:09:26 -05:00
Evan You
5c691aebfd
feat(transition): handle cancel hooks
2019-11-22 17:10:17 -05:00
Evan You
7859e4bce3
feat(transition): CSS transition for runtime-dom
2019-11-22 15:35:41 -05:00
Evan You
21c41b3228
types: fix Transition exported typing
2019-11-21 10:21:09 -05:00
Evan You
79f23a2f77
feat(transition): support component child
2019-11-20 22:46:32 -05:00
Evan You
93561b080e
feat(transition): base transition component
2019-11-20 22:46:32 -05:00
JiZhi
f838715b7c
test(runtime-core): add tests for scheduler ( #462 )
2019-11-16 16:32:06 -05:00
JiZhi
aa6c67ee2e
fix(scheduler): warn recursive updates in postFlushCbs as well ( #456 )
2019-11-14 12:06:23 -05:00
ztplz
8e8397374c
chore: remove useless code ( #447 )
2019-11-14 11:23:04 -05:00
Evan You
08bf9976ae
types: ensure props are readonly
2019-11-09 18:40:25 -05:00
张晨成
f2cdc82be3
chore: fix typo ( #439 )
2019-11-08 22:41:55 -05:00
Evan You
acbbe3298c
refactor: move codeframe to @vue/shared
2019-11-06 15:13:15 -05:00
Evan You
d9c6ff372c
feat(core): allow passing explicit refs via props
2019-11-06 12:51:26 -05:00
Evan You
e79c918676
feat(inject): allow usage in functional components
2019-11-06 12:51:26 -05:00
Evan You
c61e5463fa
feat: warn duplicate plugin installations
2019-11-05 10:49:15 -05:00
Chester
2d5f9b58ac
refactor: skip destructuring when use with ( #425 )
2019-11-05 10:45:04 -05:00
Evan You
dfc7c0f12a
refactor: adjust internal vnode types + more dts tests
2019-11-04 18:38:55 -05:00
Evan You
957d3a0547
refactor: portal should not expect ref target
2019-11-04 14:42:47 -05:00
sh7dm
1a361e2e71
test(createRenderer): add tests for portal and fix found bugs
2019-11-04 14:37:50 -05:00
Evan You
e1d25e3537
feat: show fragment ids in dev
2019-11-04 14:28:01 -05:00
Evan You
300a705221
refactor: use __TEST__ flag
2019-11-04 14:28:01 -05:00
Evan You
25af8dc73b
refactor: improve warning output
2019-11-02 23:21:02 -04:00
Evan You
7f054782ad
feat: warn ref usage on functional components
2019-11-02 21:33:37 -04:00
Evan You
a651fc44f6
refactor: adjust shapeFlag naming
2019-11-02 21:26:25 -04:00
Evan You
90b9884eb4
refactor: rename/re-organize files
2019-11-02 12:18:35 -04:00
Evan You
abdaf10d88
chore: comments regarding Readonly usage
2019-11-02 10:40:08 -04:00
Evan You
26c859aedd
chore: simplify check
2019-11-02 10:38:25 -04:00
Evan You
5cdeeaa702
types: fix types
2019-11-01 23:04:28 -04:00
Evan You
66ecd8b47f
types: setup tests for built d.ts files
2019-11-01 22:54:01 -04:00
Evan You
7b7b8ef221
types: improve h inference + infer required props without need for as const
2019-11-01 17:06:19 -04:00
Evan You
b5c501c0b4
fix: fix shapeflags export
2019-11-01 17:05:38 -04:00
Evan You
492c1306f6
types: fix suspense exported type
2019-11-01 12:43:27 -04:00
Evan You
fc5b2964de
types: fix dts reliance on @vue/shared
2019-11-01 12:24:33 -04:00
Evan You
5eee1152ca
types: (wip) improve dts output
2019-11-01 11:32:53 -04:00
Evan You
06c5b0a861
types: refactor VNodeProps type
2019-11-01 09:58:27 -04:00
Evan You
3a6dcd3aba
types: improve h() and TSX type inference
...
- Should allow extraneous props as attrs in TSX
- Should check props when using constructor type returned by
createComponent() in h()
2019-10-31 12:43:05 -04:00
Evan You
b114cdf6ee
chore: comments explaining keep-alive implementation details [ci skip]
2019-10-31 12:41:28 -04:00
Evan You
4631f5323b
test: more tests for keep-alive
2019-10-30 23:32:29 -04:00
Evan You
5fcb81050a
test: tests for keep-alive
2019-10-30 21:41:28 -04:00
Evan You
a42d165285
chore: rename
2019-10-30 15:43:12 -04:00
Dmitry Sharshakov
d3d2353eac
feat(suspense): replace errors with warnings ( #412 )
2019-10-30 11:37:05 -04:00
Evan You
e98c558bf3
chore: fix types
2019-10-30 11:29:08 -04:00
Evan You
247c53672d
refactor(reactivity): simplify effect options
2019-10-30 11:11:23 -04:00
Evan You
c6cbca25fe
feat(core): keep-alive
2019-10-29 22:28:38 -04:00
Evan You
083296ead6
fix: fix h signature for suspense
2019-10-29 14:04:53 -04:00
Evan You
4dd5d2cb74
refactor(suspense): move more suspense details into suspense.ts
2019-10-29 12:40:54 -04:00
Evan You
17d71fa407
refactor(suspense): make suspense tree-shakeable
2019-10-29 12:30:09 -04:00
Dmitry Sharshakov
5cce23f4c6
feat(apiApp): add more warnings ( #394 )
2019-10-28 16:22:03 -04:00
Dmitry Sharshakov
325e15ef41
feat(createRenderer): handle errors in function refs ( #403 )
2019-10-28 12:03:30 -04:00
Evan You
34989ef7fe
chore: license
2019-10-28 11:15:17 -04:00
likui
8454e7e004
refactor: remove unnecessary variable ( #401 )
2019-10-28 10:13:26 -04:00
Dmitry Sharshakov
db7666d0f3
fix(warning): handle errors in warn handler ( #396 )
2019-10-27 20:55:50 -04:00
Dmitry Sharshakov
e7e3eb8662
refactor(VNode): improve helper types ( #392 )
2019-10-27 20:54:54 -04:00
Dmitry Sharshakov
e581b14dff
feat(apiApp): return app from provide method for chaining ( #393 )
2019-10-27 20:54:33 -04:00
Evan You
a8aa328907
chore: comment on cloneVNode implementation [ci skip]
2019-10-27 20:45:59 -04:00
Evan You
43f4bd3aaa
chore: fix typing for withDirectives
2019-10-26 16:32:27 -04:00
Evan You
07ce2c5fa7
perf: improve directive runtime performance
2019-10-26 16:00:07 -04:00
Dmitry Sharshakov
7394f7ec42
fix(apiInject): fix stringifying of symbol injection key ( #383 )
2019-10-26 10:52:29 -04:00
Dmitry Sharshakov
134e932322
fix(types): fix VNodeTypes unique symbols ( #387 )
2019-10-26 10:51:55 -04:00
Dmitry Sharshakov
49914efc9e
fix(Portal): add ability to use element as target ( #380 )
2019-10-26 10:32:16 -04:00
Evan You
b788c03992
test: fix context.attrs test case
2019-10-26 10:31:36 -04:00
Evan You
b3282028bb
chore: remove it.only
2019-10-26 10:27:49 -04:00
Evan You
8edfbf9df9
feat(core): adjust attrs fallthrough behavior
2019-10-25 12:12:17 -04:00
Junyan
d76cfba7fb
refactor(reactivity): reduce code of type check ( #377 )
2019-10-25 11:15:04 -04:00
likui
532b5eebd7
feat(runtime-core): support array in watch option ( #376 )
2019-10-25 10:25:52 -04:00
Evan You
8c1638da33
feat(runtime-core): warn access of undefined property during render
2019-10-25 10:12:58 -04:00
Evan You
6a92bbd9c0
feat(runtime-dom): support using mount target innerHTML as template
2019-10-24 21:58:34 -04:00
Evan You
ed29af7bea
fix: generate v-if fallback comment as block
2019-10-24 21:19:02 -04:00
Evan You
7b637319a8
fix: export missing createCommentVNode fn
2019-10-24 21:08:28 -04:00
Evan You
1c0a2c6d41
refactor(compiler): use shorter helpers for text and comment nodes
2019-10-24 17:55:00 -04:00
Evan You
42bf9ca3e5
feat(props): enable case conversion in all builds, preserve casing for attrs
2019-10-24 10:59:57 -04:00
Evan You
e2917fef96
feat(props): kebab -> camel prop case support in full build
2019-10-23 21:51:01 -04:00
Evan You
af5a8e1154
feat(compiler-core): re-implement v-once to use cache mechanism
2019-10-23 17:57:40 -04:00
Evan You
9291011456
chore: comments [ci skip]
2019-10-23 15:19:55 -04:00
Dmitry Sharshakov
3b613cbecd
test(template-refs): add tests for function refs ( #359 )
2019-10-23 11:54:50 -04:00
Mayness
18a349ce8c
fix(reactivity): account for NaN in value change checks ( #361 )
2019-10-23 11:53:43 -04:00
edison
9dcbf17f3a
perf(runtime-core): use makeMap
instead of RE
( #350 )
2019-10-23 10:34:58 -04:00
likui
e34d2bd853
types: improve slots type ( #366 )
2019-10-23 09:29:09 -04:00
Evan You
af57ad110f
chore: revert prettier
2019-10-22 11:53:32 -04:00
Evan You
b5886189ba
types: massive refactor
2019-10-22 11:53:32 -04:00
Cr
a23e03f01e
feat(apiOptions): add warning for duplicated properties declared by options ( #329 )
2019-10-21 23:47:16 -04:00
Evan You
a25b1371ab
types: improve types
2019-10-21 23:37:03 -04:00
Evan You
052febc127
feat(compiler): convert text mixed with elements into createVNode calls
...
This ensures they are tracked as dynamic children when inside blocks.
Also guaruntees compiled vnodes always have vnode children in arrays
so that they can skip normalizeVNode safely in optimized mode.
2019-10-21 15:52:29 -04:00
likui
f85ba092ce
types: improve emit type ( #345 )
2019-10-21 14:04:42 -04:00
Jooger
67eb29f63b
refactor(errorHandlling): handle array in callWithAsyncErrorHandling ( #332 )
2019-10-21 13:59:10 -04:00
Dmitry Sharshakov
74d8c5919d
types: improve computed types ( #343 )
2019-10-21 13:57:20 -04:00
Dmitry Sharshakov
1f4937c2fd
types: use RenderFunction type ( #342 )
2019-10-21 13:44:01 -04:00
Evan You
520af9787b
perf: skip normalizeVNode in optimized mode
2019-10-21 12:24:19 -04:00
Evan You
8be578b6b6
perf: micro optimizations for vnode creation
2019-10-21 11:30:45 -04:00
Evan You
40ccbdeaac
chore: remove refs from setupContext
...
explicit refs should be preferred
2019-10-21 10:36:38 -04:00
Dmitry Sharshakov
27f3c2d751
chore: fix typo ( #339 )
2019-10-21 10:04:34 -04:00
Evan You
f241c92917
chore: remove todo
2019-10-21 10:04:02 -04:00
HcySunYang
71f3826f99
chore: rename & property missing ( #335 )
2019-10-21 10:00:23 -04:00
Evan You
869ae19c41
fix(compiler): cache handlers should be per-instance, fix hoist w/ cached handlers
2019-10-20 17:00:11 -04:00
Evan You
e98a85f3cb
refactor: applyDirectives -> withDirectives
2019-10-18 16:35:01 -04:00
Dmitry Sharshakov
068902abec
types: fix createComponent type when using simple function ( #334 )
2019-10-18 14:58:15 -04:00
Evan You
b5194b16bf
refactor: rename vnode hooks
...
So that they can be used as @vnodeMounted="..." in templates
2019-10-18 14:54:35 -04:00
Dmitry Sharshakov
2238925fbe
feat(core): validate directives names ( #326 )
2019-10-18 12:34:45 -04:00
宋铄运
7f23eaf661
feat(core): support dynamic component via <component :is> ( #320 )
2019-10-18 12:09:04 -04:00
Evan You
d179918001
perf: further tweak accessCache
2019-10-17 22:29:51 -04:00
Dmitry Sharshakov
7305f693b1
refactor(runtime-core): extract promise check into shared ( #325 )
2019-10-17 15:47:26 -04:00
Evan You
4771319a15
perf(core): cache property access types on renderProxy
2019-10-17 15:02:15 -04:00
Evan You
1722dc05c5
fix(runtime-core): handle dynamicChildren when portal is used as a block
2019-10-16 17:43:41 -04:00
Carlos Rodrigues
48b79d02e8
perf(runtime-core): use faster diff map population ( #319 )
2019-10-16 15:34:51 -04:00
Evan You
b20b922d99
perf(v-for): use faster array population in renderList
2019-10-16 10:42:25 -04:00
Ruijia Tang
3e51200bae
chore: Remove unnecessary console.log ( #312 )
2019-10-16 10:11:13 -04:00
Dmitry Sharshakov
0bac763f5a
feat(directives): add support for function directives ( #252 )
2019-10-16 02:12:26 -04:00
Evan You
65a0207c7b
test: test runtime compilation error warning
2019-10-15 22:19:19 -04:00
Jian Zhang
cf12d18b4b
refactor(runtime-core): isBuiltInTag -> use makeMap instead of Set ( #307 )
2019-10-15 22:18:55 -04:00
月迷津渡
f71bf2f1d3
feat: add isCustomElement option ( #299 )
2019-10-15 17:30:47 -04:00
Adam Lewkowicz
555e3be69d
types(watch): allow readonly arrays for watching multiple sources ( #281 )
2019-10-15 16:44:14 -04:00
Ayush Goyal
58fffcb987
refactor(core): use makeMap for faster string match checks ( #282 )
2019-10-15 12:11:08 -04:00
fisker Cheung
1fbb4d22fa
chore: use const
instead of let
( #283 )
2019-10-14 23:15:36 -04:00
fisker Cheung
e5d60a0f7a
types: use hook type in options ( #284 )
2019-10-14 23:15:09 -04:00
月迷津渡
66023a8886
feat: runtime component name validation ( #217 )
2019-10-14 15:36:29 -04:00
Dmitry Sharshakov
fd209f5a66
feat(core): export version ( #254 )
2019-10-14 15:31:43 -04:00
Evan You
37cbd0098d
chore: lint + include tsx files for lint
2019-10-14 15:07:43 -04:00
Evan You
6b3ad95fa4
fix(watch): type inference for computed refs
2019-10-14 12:15:09 -04:00
Cr
6bd26636c3
test: add test for resolveAsset ( #273 )
2019-10-14 11:56:02 -04:00
Cr
d2bcedb213
feat(apiOptions): warn invalid computed options ( #225 )
2019-10-14 02:15:31 -04:00
Evan You
82b5978e9c
build: further shave off runtime compile only code
2019-10-14 01:08:00 -04:00
Jooger
312907c9d8
refactor(scheduler): replace try catch with callWithErrorHandling ( #264 )
2019-10-14 00:32:01 -04:00
fisker Cheung
70a142c203
refactor(runtime-core): programmatically create lifecycle APIs for DRYness ( #246 )
2019-10-13 23:18:34 -04:00
Dmitry Sharshakov
7fd1fdde28
refactor(scheduler): minor refactors ( #240 )
2019-10-13 22:41:23 -04:00
Dmitry Sharshakov
374a85b861
types: improve directive typing ( #253 )
2019-10-13 22:40:29 -04:00
Evan You
8e5ea98ccd
Revert "chore: remove useless else ( #245 )" ( #257 )
...
This reverts commit 971cebc61c
.
2019-10-12 22:52:11 -04:00
fisker Cheung
971cebc61c
chore: remove useless else ( #245 )
2019-10-12 20:12:09 -04:00
likui
46e64b257c
feat(compiler-core/runtime-core): show codeframe in runtime compile errors ( #220 )
2019-10-12 19:49:23 -04:00
Dmitry Sharshakov
78d1821e24
refactor(componentProxy): simplify proxy handling ( #214 )
2019-10-12 19:44:30 -04:00
fisker Cheung
cdc143d348
refactor(runtime-core): use Array.from
instead of loop over iterable
( #250 )
2019-10-12 19:34:22 -04:00
Sharvilak
ed5a42e588
refactor(runetime-core): removed unnecessary condition check ( #237 )
2019-10-12 11:00:29 -04:00
Cr
64c7be3763
chore: remove redundant type cast ( #230 )
2019-10-12 10:46:10 -04:00
Cr
f3760f7d34
types: add missing properties to ComponentPublicInstance interface ( #218 )
2019-10-12 10:30:21 -04:00
Evan You
1b06b3c424
perf: avoid parentNode call when dynamic child is not a Fragment
2019-10-11 18:06:24 -04:00
Evan You
a42ad6cc9d
feat(runtime-dom): v-model directive runtime
2019-10-11 17:55:34 -04:00
Leonardo Piccioni de Almeida
a371b2ec0e
chore: fix typo ( #216 )
2019-10-11 15:09:57 -04:00
Illya Klymov
e32da9169b
fix(runtime-core): support object syntax for class ( #215 )
2019-10-11 15:09:37 -04:00
Evan You
5f28708cb9
test(vnode): tests for shapeFlag and cloneVNode
2019-10-11 11:48:20 -04:00
Evan You
e57d686b9a
test(vnode): tests for normlaizeVNode
2019-10-11 11:41:28 -04:00
Evan You
95d7e1f471
feat: log on the fly template compilation error
2019-10-11 11:16:20 -04:00
Evan You
9ad7ae479e
fix(compiler): export COMMENT instead EMPTY runtime helper
2019-10-11 10:47:59 -04:00
Cr
3cdefdbe2d
test: add array of objects class test case for mergeProps ( #201 )
2019-10-11 10:13:04 -04:00
Evan You
d376439167
wip(compiler-dom): v-model runtime
2019-10-10 18:02:51 -04:00
月迷津渡
78f60347dc
feat(compiler): add isNativeTag option for determining element type ( #139 )
2019-10-10 14:54:06 -04:00
Evan You
46d875f4e8
fix(runtime-core): use correct parentNode when patching dynamicChildren ( close #98 )
2019-10-10 14:49:35 -04:00
Dmitry Sharshakov
1139368dc2
types: improve writable computed types ( #192 )
2019-10-10 14:08:12 -04:00
terencez
d10b28ae0e
refactor(runtime-core): make h() support single vnode child ( #181 )
2019-10-10 10:17:16 -04:00
Cr
211f5b7a45
test: add more complete test for componentProxy ( #174 )
2019-10-10 10:02:55 -04:00
Evan You
93c6aa4c90
feat: v-once
...
Note: only compiler transform is tested - integration with runtime
still needs to be tested.
2019-10-09 17:32:58 -04:00
Tim van den Eijnden
0177355242
fix: add warnings ( #82 )
...
* fix: add warnings
- invalid watch handler path
- attempting to mutate readonly computed value
- attempt of mutating public property
- attempt of mutating prop
* fix: more descriptive warnings + details
* fix: test apiOptions warnings
* fix: update warning in componentProxy
* fix: update warnings in componentProxy & apiOptions
* fix: update warning in componentProxy
* fix: implemented tests for componentProxy
* fix: remove comment + small refactor
2019-10-09 14:03:21 -04:00
扩散性百万甜面包
def27239bd
type: improve typing ( #177 )
2019-10-09 14:01:53 -04:00
terencez
7963c01a67
types(runtime-core): simplify types in createComponentInstance() ( #170 )
2019-10-09 12:17:42 -04:00
Tim van den Eijnden
b107401e71
test(vnode): partial tests for vnode creation ( #116 )
2019-10-09 10:28:43 -04:00
扩散性百万甜面包
80e5b16f99
types: improve type 'ReactiveEffect' with generics ( #99 )
2019-10-08 13:48:13 -04:00
Evan You
8da5b007b1
types: improve typing
2019-10-08 12:43:13 -04:00
Evan You
1393ee52ca
types: improve typing
2019-10-08 10:50:10 -04:00
扩散性百万甜面包
016231d09f
types: improve type for WatchHandler ( #160 )
2019-10-08 10:48:24 -04:00
Kyle Hall
fd1d7833e2
test(runtime-core): createSlots method ( #119 )
2019-10-06 20:19:44 -04:00
扩散性百万甜面包
d2d32d3810
refactor: rename param on function watch ( #134 )
2019-10-06 11:27:09 -04:00
Jordan Pittman
a8c82909fa
test: Add tests for some runtime helpers ( #87 )
...
* test for `renderList`
* test for `toHandlers`
2019-10-05 23:22:42 -04:00
Carlos Rodrigues
8133b3867a
test: improve tests and typing for runtime-core ( #100 )
...
* test: add test case for declaring Array prop type with constructor casting in `createComponent`
* test: add test case for `setup(props)` with explicit props declaration
2019-10-05 15:37:55 -04:00
Vladimir
f48a2ffc76
chore: fix typos ( #103 )
2019-10-05 10:48:54 -04:00
扩散性百万甜面包
ec8f7c6375
chore: simplify code in apiWatch.ts ( #101 )
2019-10-05 10:44:02 -04:00
Carlos Rodrigues
fbabae0c0a
chore: replace some type casts and fix variable and filename typos ( #93 )
2019-10-05 10:38:02 -04:00
月迷津渡
9d6783053c
types: simplify types ( #104 )
2019-10-05 10:09:34 -04:00
Evan You
227ad034f0
feat(compiler/slot): bail out of optimization mode for non-compiled slots
2019-10-03 15:09:09 -04:00
Evan You
05db2a9c6c
wip(compiler): adjust renderSlot() signature
2019-10-03 14:29:12 -04:00
Evan You
306c22efe1
feat(compiler): mark compiler-generated slots for runtime
2019-10-03 14:08:14 -04:00
Evan You
aa9245d55c
feat(compiler): render <slot/> as block fragments
2019-10-03 12:03:14 -04:00
Evan You
fc47029ed3
feat(compiler): support v-for on named slots
2019-10-02 23:10:41 -04:00