vue3-yuanma/packages/runtime-core
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
..
__tests__ refactor(fragments): remove visible anchors for fragments 2020-02-26 16:32:06 -05:00
src refactor(runtime-core): revert setup() result reactive conversion 2020-02-26 19:01:42 -05:00
api-extractor.json build: use api-extractor for type rollup 2019-09-03 12:16:22 -04:00
index.js refactor: rename packages 2018-10-26 15:44:50 -04:00
LICENSE chore: license 2019-10-28 11:15:17 -04:00
package.json release: v3.0.0-alpha.7 2020-02-26 14:36:38 -05:00
README.md chore: update readme 2019-12-09 14:06:31 -05:00

@vue/runtime-core

This package is published only for typing and building custom renderers. It is NOT meant to be used in applications.

For full exposed APIs, see src/index.ts. You can also run yarn build runtime-core --types from repo root, which will generate an API report at temp/runtime-core.api.md.

Building a Custom Renderer

import { createRenderer } from '@vue/runtime-core'

const { render, createApp } = createRenderer({
  patchProp,
  insert,
  remove,
  createElement,
  // ...
})

// `render` is the low-level API
// `createApp` returns an app instance with configurable context shared
// by the entire app tree.
export { render, createApp }

export * from '@vue/runtime-core'

See @vue/runtime-dom for how a DOM-targeting renderer is implemented.