Commit Graph

555 Commits

Author SHA1 Message Date
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
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